changeset 109995:c3bbd8f2439e

server.el (server-visit-files): Run pre-command-hook and post-command-hook for each buffer while it is current (Bug#6910). (server-execute): Do not run hooks here.
author David Reitter <david.reitter@gmail.com>
date Thu, 26 Aug 2010 09:46:19 -0400
parents 9ee2c87aa053
children d6074fc765a0
files lisp/ChangeLog lisp/server.el
diffstat 2 files changed, 17 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Thu Aug 26 09:39:39 2010 +0200
+++ b/lisp/ChangeLog	Thu Aug 26 09:46:19 2010 -0400
@@ -1,3 +1,10 @@
+2010-08-26  David Reitter  <david.reitter@gmail.com>
+
+	* server.el (server-visit-files): Run pre-command-hook and
+	post-command-hook for each buffer while it is current
+	(Bug#6910).
+	(server-execute): Do not run hooks here.
+
 2010-08-26  Michael Albinus  <michael.albinus@gmx.de>
 
 	Sync with Tramp 2.1.19.
--- a/lisp/server.el	Thu Aug 26 09:39:39 2010 +0200
+++ b/lisp/server.el	Thu Aug 26 09:46:19 2010 -0400
@@ -1093,9 +1093,7 @@
     (condition-case err
         (let* ((buffers
                 (when files
-                  (run-hooks 'pre-command-hook)
-                  (prog1 (server-visit-files files proc nowait)
-                    (run-hooks 'post-command-hook)))))
+                  (server-visit-files files proc nowait))))
 
           (mapc 'funcall (nreverse commands))
 
@@ -1166,8 +1164,13 @@
 	       (obuf (get-file-buffer filen)))
 	  (add-to-history 'file-name-history filen)
 	  (if (null obuf)
-              (set-buffer (find-file-noselect filen))
+	      (progn
+		(run-hooks 'pre-command-hook)  
+		(set-buffer (find-file-noselect filen)))
             (set-buffer obuf)
+	    ;; separately for each file, in sync with post-command hooks,
+	    ;; with the new buffer current:
+	    (run-hooks 'pre-command-hook)  
             (cond ((file-exists-p filen)
                    (when (not (verify-visited-file-modtime obuf))
                      (revert-buffer t nil)))
@@ -1179,7 +1182,9 @@
             (unless server-buffer-clients
               (setq server-existing-buffer t)))
           (server-goto-line-column (cdr file))
-          (run-hooks 'server-visit-hook))
+          (run-hooks 'server-visit-hook)
+	  ;; hooks may be specific to current buffer:
+	  (run-hooks 'post-command-hook)) 
 	(unless nowait
 	  ;; When the buffer is killed, inform the clients.
 	  (add-hook 'kill-buffer-hook 'server-kill-buffer nil t)