]> code.delx.au - gnu-emacs-elpa/commitdiff
Handle uninitialized back-ends.
authorNikolaj Schumacher <git@nschum.de>
Sat, 18 Apr 2009 22:14:02 +0000 (00:14 +0200)
committerNikolaj Schumacher <git@nschum.de>
Sat, 18 Apr 2009 22:14:02 +0000 (00:14 +0200)
company.el

index 6884bd5867b81ee001493fcba3e5502450b4aed9..f17d7a7406f0eae95f46e12b62df63acc7159663 100644 (file)
@@ -493,8 +493,10 @@ The work-around consists of adding a newline.")
           (functionp backend))
       (if (ignore-errors (funcall backend 'init) t)
           (put backend 'company-init t)
+        (put backend 'company-init 'failed)
         (message "Company back-end '%s' could not be initialized"
-                 backend))
+                 backend)
+        nil)
     (mapc 'company-init-backend backend)))
 
 ;;;###autoload
@@ -901,7 +903,9 @@ keymap during active completions (`company-active-map'):
             (if (or (symbolp backend)
                     (functionp backend))
                 (when (or (not (symbolp backend))
-                          (get backend 'company-init))
+                          (eq t (get backend 'company-init))
+                          (unless (get backend 'company-init)
+                            (company-init-backend backend)))
                   (funcall backend 'prefix))
               (company--multi-backend-adapter backend 'prefix)))
       (when prefix