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

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

[elpa] 15/18: Revert "Don't reply on excution order of filter and sentin


From: Leo Liu
Subject: [elpa] 15/18: Revert "Don't reply on excution order of filter and sentinel functions"
Date: Sat, 05 Apr 2014 01:25:17 +0000

leoliu pushed a commit to branch master
in repository elpa.

commit 7a6cc7f8065e33fe95bc6600099a761f494852c6
Author: Leo Liu <address@hidden>
Date:   Fri Apr 4 11:58:23 2014 +0800

    Revert "Don't reply on excution order of filter and sentinel functions"
    
    This reverts commit 03345fb9a25bc2cf09bebc2b96bd867d1c979cc2.
    
    The commit appears to fix the bug because the idle timer does not run
    in the *ggtags-global* buffer.
---
 ggtags.el |   21 ++++++---------------
 1 files changed, 6 insertions(+), 15 deletions(-)

diff --git a/ggtags.el b/ggtags.el
index 2710e5e..1bf994a 100644
--- a/ggtags.el
+++ b/ggtags.el
@@ -748,7 +748,7 @@ Do nothing if GTAGS exceeds the oversize limit unless 
FORCE."
     (ggtags-update-tags)
     (ggtags-with-current-project
      (with-current-buffer (with-display-buffer-no-window
-                            (compilation-start command 'ggtags-global-mode))
+                           (compilation-start command 'ggtags-global-mode))
        (setq-local ggtags-process-environment env)
        (setq ggtags-global-last-buffer (current-buffer))))))
 
@@ -1313,12 +1313,6 @@ commands `next-error' and `previous-error'.
        (compilation-set-window-height w)
        (and desired-point (goto-char desired-point))))))
 
-(defun ggtags-auto-jump-to-match-target ()
-  (when (functionp ggtags-auto-jump-to-match-target)
-    (funcall (prog1 ggtags-auto-jump-to-match-target
-               (setq-local ggtags-auto-jump-to-match-target nil)))
-    t))
-
 (defun ggtags-global-filter ()
   "Called from `compilation-filter-hook' (which see)."
   (let ((ansi-color-apply-face-function
@@ -1348,17 +1342,15 @@ commands `next-error' and `previous-error'.
              (> (line-number-at-pos (point-max))
                 ggtags-auto-jump-to-match-target))
     (ggtags-forward-to-line ggtags-auto-jump-to-match-target)
+    (setq-local ggtags-auto-jump-to-match-target nil)
+    ;;
     ;; Can't call `compile-goto-error' here becuase
     ;; `compilation-filter' restores point and as a result commands
     ;; dependent on point such as `ggtags-navigation-next-file' and
     ;; `ggtags-navigation-previous-file' fail to work.
-    (setq-local ggtags-auto-jump-to-match-target
-                (apply-partially
-                 (lambda (buf pt)
-                   (let ((compilation-auto-jump-to-first-error t))
-                     (with-display-buffer-no-window (compilation-auto-jump buf 
pt))))
-                 (current-buffer) (point)))
-    (run-with-idle-timer 0 nil #'ggtags-auto-jump-to-match-target))
+    (with-display-buffer-no-window
+     (with-demoted-errors (compile-goto-error)))
+    (run-with-idle-timer 0 nil #'compilation-auto-jump (current-buffer) 
(point)))
   (make-local-variable 'ggtags-global-large-output)
   (when (> ggtags-global-output-lines ggtags-global-large-output)
     (cl-incf ggtags-global-large-output 500)
@@ -1372,7 +1364,6 @@ commands `next-error' and `previous-error'.
     ;; If exit abnormally display the buffer for inspection.
     (ggtags-global--display-buffer))
    (ggtags-auto-jump-to-match
-    (ggtags-auto-jump-to-match-target)
     (if (pcase (compilation-next-single-property-change
                 (point-min) 'compilation-message)
           ((and pt (guard pt))



reply via email to

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