emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] 15/30: company-files: Fix cache behavior for when we're backspaci


From: Dmitry Gutov
Subject: [elpa] 15/30: company-files: Fix cache behavior for when we're backspacing
Date: Tue, 14 Oct 2014 22:22:49 +0000

dgutov pushed a commit to branch master
in repository elpa.

commit 9d39b74346631432f4a76b9ef4f6a06e80f0e168
Author: Dmitry Gutov <address@hidden>
Date:   Mon Sep 29 00:14:25 2014 +0400

    company-files: Fix cache behavior for when we're backspacing
    
    As discussed
    in 
https://github.com/Lompik/company-mode/commit/528cd1b4c94e1d6b0009068be618bde2b27ec583#commitcomment-7953472.
---
 company-files.el |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/company-files.el b/company-files.el
index 5a77699..0e2ab4d 100644
--- a/company-files.el
+++ b/company-files.el
@@ -60,11 +60,12 @@
 
 (defun company-files--complete (prefix)
   (let* ((dir (file-name-directory prefix))
-         (key (cons (expand-file-name dir)
+         (key (list (file-name-nondirectory prefix)
+                    (expand-file-name dir)
                     (nth 5 (file-attributes dir))))
          (file (file-name-nondirectory prefix))
          candidates directories)
-    (unless (equal key (car company-files--completion-cache))
+    (unless (company-file--keys-match-p key (car 
company-files--completion-cache))
       (dolist (file (company-files--directory-files dir file))
         (setq file (concat dir file))
         (push file candidates)
@@ -80,6 +81,10 @@
     (all-completions prefix
                      (cdr company-files--completion-cache))))
 
+(defun company-file--keys-match-p (new old)
+  (and (string-prefix-p (car old) (car new))
+       (equal (cdr old) (cdr new))))
+
 ;;;###autoload
 (defun company-files (command &optional arg &rest ignored)
   "`company-mode' completion back-end existing file names.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]