]> git.eshelyaron.com Git - emacs.git/commitdiff
* progmodes/grep.el (grep-compute-defaults): Keep default values.
authorMichael Albinus <michael.albinus@gmx.de>
Sun, 22 Jul 2007 19:59:30 +0000 (19:59 +0000)
committerMichael Albinus <michael.albinus@gmx.de>
Sun, 22 Jul 2007 19:59:30 +0000 (19:59 +0000)
lisp/ChangeLog
lisp/progmodes/grep.el

index 65274cc29e612959480e4dfe3eb70cfb6a31a982..0135fd6accd78fc44320f806e14f576c5df4e259 100644 (file)
@@ -1,3 +1,7 @@
+2007-07-22  Michael Albinus  <michael.albinus@gmx.de>
+
+       * progmodes/grep.el (grep-compute-defaults): Keep default values.
+
 2007-07-22  Ralf Angeli  <angeli@caeruleus.net>
 
        * textmodes/reftex.el (reftex-access-parse-file): Create parse
index 669b469cdedde71fc035f19ab4c3c7eae5d5171d..fd93015ab2c1b5c0e8b2a006da95271c369f54b0 100644 (file)
@@ -383,45 +383,51 @@ Set up `compilation-exit-message-function' and run `grep-setup-hook'."
 
 ;;;###autoload
 (defun grep-compute-defaults ()
-  (let ((host-id
-        (intern (or (file-remote-p default-directory 'host) "localhost"))))
+  ;; Keep default values.
+  (unless grep-host-defaults-alist
+    (add-to-list
+     'grep-host-defaults-alist
+     (cons nil
+          `((grep-command ,grep-command)
+            (grep-template ,grep-template)
+            (grep-use-null-device ,grep-use-null-device)
+            (grep-find-command ,grep-find-command)
+            (grep-find-template ,grep-find-template)
+            (grep-find-use-xargs ,grep-find-use-xargs)
+            (grep-highlight-matches ,grep-highlight-matches)))))
+  (let* ((host-id
+         (intern (or (file-remote-p default-directory 'host) "localhost")))
+        (host-defaults (assq host-id grep-host-defaults-alist))
+        (defaults (assq nil grep-host-defaults-alist)))
     ;; There are different defaults on different hosts.  They must be
-    ;; computed for every host once, then they are kept in the
-    ;; variables' property host-id for reuse.
+    ;; computed for every host once.
     (setq grep-command
-         (or (cadr (assq 'grep-command
-                         (assq host-id grep-host-defaults-alist)))
-             (eval (car (get 'grep-command 'standard-value))))
+         (or (cadr (assq 'grep-command host-defaults))
+             (cadr (assq 'grep-command defaults)))
 
          grep-template
-          (or (cadr (assq 'grep-template
-                         (assq host-id grep-host-defaults-alist)))
-             (eval (car (get 'grep-template 'standard-value))))
+          (or (cadr (assq 'grep-template host-defaults))
+             (cadr (assq 'grep-template defaults)))
 
          grep-use-null-device
-         (or (cadr (assq 'grep-use-null-device
-                         (assq host-id grep-host-defaults-alist)))
-             (eval (car (get 'grep-use-null-device 'standard-value))))
+         (or (cadr (assq 'grep-use-null-device host-defaults))
+             (cadr (assq 'grep-use-null-device defaults)))
 
          grep-find-command
-         (or (cadr (assq 'grep-find-command
-                         (assq host-id grep-host-defaults-alist)))
-             (eval (car (get 'grep-find-command 'standard-value))))
+         (or (cadr (assq 'grep-find-command host-defaults))
+             (cadr (assq 'grep-find-command defaults)))
 
          grep-find-template
-         (or (cadr (assq 'grep-find-template
-                         (assq host-id grep-host-defaults-alist)))
-             (eval (car (get 'grep-find-template 'standard-value))))
+         (or (cadr (assq 'grep-find-template host-defaults))
+             (cadr (assq 'grep-find-template defaults)))
 
          grep-find-use-xargs
-         (or (cadr (assq 'grep-find-use-xargs
-                         (assq host-id grep-host-defaults-alist)))
-             (eval (car (get 'grep-find-use-xargs 'standard-value))))
+         (or (cadr (assq 'grep-find-use-xargs host-defaults))
+             (cadr (assq 'grep-find-use-xargs defaults)))
 
          grep-highlight-matches
-         (or (cadr (assq 'grep-highlight-matches
-                         (assq host-id grep-host-defaults-alist)))
-             (eval (car (get 'grep-highlight-matches 'standard-value)))))
+         (or (cadr (assq 'grep-highlight-matches host-defaults))
+             (cadr (assq 'grep-highlight-matches defaults))))
 
     (unless (or (not grep-use-null-device) (eq grep-use-null-device t))
       (setq grep-use-null-device