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

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

[elpa] master 8c093c3 2/4: Fix combining process-file with ggtags-projec


From: Leo Liu
Subject: [elpa] master 8c093c3 2/4: Fix combining process-file with ggtags-project-relative-file
Date: Wed, 03 Dec 2014 02:08:11 +0000

branch: master
commit 8c093c3d4ba66170034e53a63356e6bf66a5bcf6
Author: Leo Liu <address@hidden>
Date:   Sun Nov 30 15:32:33 2014 +0800

    Fix combining process-file with ggtags-project-relative-file
    
    Without also binding default-directory the result of
    ggtags-project-relative-file may not make sense to process-file.
---
 ggtags.el |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/ggtags.el b/ggtags.el
index 6f22617..b8bcb1c 100644
--- a/ggtags.el
+++ b/ggtags.el
@@ -654,8 +654,11 @@ Value is new modtime if updated."
   (when (ggtags-find-project)
     (with-temp-buffer
       (ggtags-with-current-project
-        (process-file (ggtags-program-path "global") nil t nil
-                      "-vP" (concat "^" (ggtags-project-relative-file file) 
"$")))
+        ;; NOTE: `process-file' requires all files in ARGS be relative
+        ;; to `default-directory'; see its doc string for details.
+        (let ((default-directory (ggtags-current-project-root)))
+          (process-file (ggtags-program-path "global") nil t nil
+                        "-vP" (concat "^" (ggtags-project-relative-file file) 
"$"))))
       (goto-char (point-min))
       (not (re-search-forward "^file not found" nil t)))))
 
@@ -746,8 +749,10 @@ Do nothing if GTAGS exceeds the oversize limit unless 
FORCE."
   (cl-check-type file string)
   (let ((nowait (unless (file-remote-p file) nowait)))
     (ggtags-with-current-project
-      (process-file (ggtags-program-path "global") nil (and nowait 0) nil
-                    "--single-update" (ggtags-project-relative-file file)))))
+      ;; See comment in `ggtags-project-file-p'.
+      (let ((default-directory (ggtags-current-project-root)))
+        (process-file (ggtags-program-path "global") nil (and nowait 0) nil
+                      "--single-update" (ggtags-project-relative-file 
file))))))
 
 (defun ggtags-delete-tags ()
   "Delete file GTAGS, GRTAGS, GPATH, ID etc. generated by gtags."



reply via email to

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