]> code.delx.au - gnu-emacs-elpa/commitdiff
Wrap `company-call-backend' in `condition-case'
authorDmitry Gutov <dgutov@yandex.ru>
Mon, 24 Feb 2014 06:09:50 +0000 (08:09 +0200)
committerDmitry Gutov <dgutov@yandex.ru>
Mon, 24 Feb 2014 06:09:50 +0000 (08:09 +0200)
company.el

index a3bac0ee8aca62b978e0f9651cf535f0a0212d90..8482035c09449242996c3dca52db49ccefc96a4a 100644 (file)
@@ -762,9 +762,12 @@ means that `company-mode' is always turned on except in `message-mode' buffers."
                 dir (file-name-directory (directory-file-name dir))))))))
 
 (defun company-call-backend (&rest args)
-  (if (functionp company-backend)
-      (apply company-backend args)
-    (apply 'company--multi-backend-adapter company-backend args)))
+  (condition-case err
+      (if (functionp company-backend)
+          (apply company-backend args)
+        (apply 'company--multi-backend-adapter company-backend args))
+    (error (error "Company: Back-end %s error \"%s\" with args %s"
+                    company-backend (error-message-string err) args))))
 
 (defun company--multi-backend-adapter (backends command &rest args)
   (let ((backends (loop for b in backends