]> code.delx.au - gnu-emacs-elpa/commitdiff
company-eclim: Work when Eclim was launched late
authorDmitry Gutov <dgutov@yandex.ru>
Sat, 23 Mar 2013 04:07:42 +0000 (08:07 +0400)
committerDmitry Gutov <dgutov@yandex.ru>
Sat, 23 Mar 2013 04:07:42 +0000 (08:07 +0400)
company-eclim.el

index 6d893694c9d2d5b73de2e3429d87fd79b8c4db2a..599bf6e72e69d5522281792a05a464d1dad504fa 100644 (file)
@@ -60,7 +60,7 @@ eclim can only complete correctly when the buffer has been saved."
 (defvar company-eclim--project-dir 'unknown)
 (make-variable-buffer-local 'company-eclim--project-dir)
 
-(defvar company-eclim--project-name 'unknown)
+(defvar company-eclim--project-name nil)
 (make-variable-buffer-local 'company-eclim--project-name)
 
 (defvar company-eclim--doc nil)
@@ -93,15 +93,16 @@ eclim can only complete correctly when the buffer has been saved."
     company-eclim--project-dir))
 
 (defun company-eclim--project-name ()
-  (if (eq company-eclim--project-name 'unknown)
-      (setq company-eclim--project-name
-            (let ((project (find-if (lambda (project)
-                                      (equal (cdr (assoc 'path project))
-                                             (company-eclim--project-dir)))
-                                    (company-eclim--project-list))))
-              (when project
-                (cdr (assoc 'name project)))))
-    company-eclim--project-name))
+  (or company-eclim--project-name
+      (let ((dir (company-eclim--project-dir)))
+        (when dir
+          (setq company-eclim--project-name
+                (let ((project (find-if (lambda (project)
+                                          (equal (cdr (assoc 'path project))
+                                                 dir))
+                                        (company-eclim--project-list))))
+                  (when project
+                    (cdr (assoc 'name project)))))))))
 
 (defun company-eclim--candidates (prefix)
   (interactive "d")