]> code.delx.au - gnu-emacs-elpa/commitdiff
Don't bother with cache, if it is empty.
authorNikolaj Schumacher <git@nschum.de>
Thu, 19 Mar 2009 12:01:13 +0000 (13:01 +0100)
committerNikolaj Schumacher <git@nschum.de>
Fri, 20 Mar 2009 11:58:29 +0000 (12:58 +0100)
company.el

index b812385d9aa3d0542dbece85cb0e3256861bfe09..e098327ca14b9261106cbc90126a26e3a5f1e8c0 100644 (file)
   (setq company-prefix prefix)
   (company-update-candidates
    (or (cdr (assoc prefix company-candidates-cache))
-       (let ((len (length prefix))
-             (completion-ignore-case (funcall company-backend 'ignore-case))
-             prev)
-         (dotimes (i len)
-           (when (setq prev (cdr (assoc (substring prefix 0 (- len i))
-                                        company-candidates-cache)))
-             (return (all-completions prefix prev)))))
+       (when company-candidates-cache
+         (let ((len (length prefix))
+               (completion-ignore-case (funcall company-backend 'ignore-case))
+               prev)
+           (dotimes (i len)
+             (when (setq prev (cdr (assoc (substring prefix 0 (- len i))
+                                          company-candidates-cache)))
+               (return (all-completions prefix prev))))))
        (let ((candidates (funcall company-backend 'candidates prefix)))
-         (and company-candidates-predicate
-              (setq candidates
-                    (company-apply-predicate candidates
-                                             company-candidates-predicate)))
+         (when company-candidates-predicate
+           (setq candidates
+                 (company-apply-predicate candidates
+                                          company-candidates-predicate)))
          (unless (funcall company-backend 'sorted)
            (setq candidates (sort candidates 'string<)))
          candidates)))