server.el (server-visit-files): Run pre-command-hook and
authorDavid Reitter <david.reitter@gmail.com>
Thu, 26 Aug 2010 13:46:19 +0000 (09:46 -0400)
committerDavid Reitter <david.reitter@gmail.com>
Thu, 26 Aug 2010 13:46:19 +0000 (09:46 -0400)
post-command-hook for each buffer while it is current
(Bug#6910).
(server-execute): Do not run hooks here.

lisp/ChangeLog
lisp/server.el

index cb2ea81..78e5c32 100644 (file)
@@ -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.
index b2cb829..f0e88d0 100644 (file)
@@ -1093,9 +1093,7 @@ The following commands are accepted by the client:
     (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 @@ so don't mark these buffers specially, just visit them normally."
               (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 @@ so don't mark these buffers specially, just visit them normally."
             (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)