emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] master 2b0459c: * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): D


From: Stefan Monnier
Subject: [Emacs-diffs] master 2b0459c: * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume CVS/Entries exists.
Date: Sat, 23 May 2015 16:06:27 +0000

branch: master
commit 2b0459cd8ed400ae9b2a993d2771055f227f9b55
Author: Stefan Monnier <address@hidden>
Commit: Stefan Monnier <address@hidden>

    * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume CVS/Entries exists.
---
 lisp/pcmpl-cvs.el |   35 ++++++++++++++++++-----------------
 1 files changed, 18 insertions(+), 17 deletions(-)

diff --git a/lisp/pcmpl-cvs.el b/lisp/pcmpl-cvs.el
index 458e420..6b63695 100644
--- a/lisp/pcmpl-cvs.el
+++ b/lisp/pcmpl-cvs.el
@@ -164,27 +164,28 @@ operation character applies, as displayed by 'cvs -n 
update'."
        (with-temp-buffer
          (and dir (cd dir))
          (call-process pcmpl-cvs-binary nil t nil
-                       "-q" "-n" "-f" "update"); "-l")
+                       "-q" "-n" "-f" "update") ; "-l")
          (goto-char (point-min))
          (while (re-search-forward "^\\(.\\) \\(.+\\)$" nil t)
            (if (memq (string-to-char (match-string 1)) opers)
                (setq entries (cons (match-string 2) entries)))))
-      (with-temp-buffer
-       (insert-file-contents (concat dir "CVS/Entries"))
-       (goto-char (point-min))
-       (while (not (eobp))
-         ;; Normal file: /NAME   -> "" "NAME"
-         ;; Directory  : D/NAME  -> "D" "NAME"
-         (let* ((fields (split-string (buffer-substring
-                                       (line-beginning-position)
-                                       (line-end-position))
-                                      "/"))
-                (text (nth 1 fields)))
-           (when text
-             (if (string= (nth 0 fields) "D")
-                 (setq text (file-name-as-directory text)))
-             (setq entries (cons text entries))))
-         (forward-line))))
+      (when (file-exists-p (expand-file-name "CVS/Entries" dir))
+        (with-temp-buffer
+          (insert-file-contents (expand-file-name "CVS/Entries" dir))
+          (goto-char (point-min))
+          (while (not (eobp))
+            ;; Normal file: /NAME   -> "" "NAME"
+            ;; Directory  : D/NAME  -> "D" "NAME"
+            (let* ((fields (split-string (buffer-substring
+                                          (line-beginning-position)
+                                          (line-end-position))
+                                         "/"))
+                   (text (nth 1 fields)))
+              (when text
+                (if (string= (nth 0 fields) "D")
+                    (setq text (file-name-as-directory text)))
+                (setq entries (cons text entries))))
+            (forward-line)))))
     (setq pcomplete-stub nondir)
     (pcomplete-uniqify-list entries)))
 



reply via email to

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