emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/lisp/progmodes/grep.el,v


From: Michael Albinus
Subject: [Emacs-diffs] Changes to emacs/lisp/progmodes/grep.el,v
Date: Wed, 18 Jul 2007 21:02:29 +0000

CVSROOT:        /cvsroot/emacs
Module name:    emacs
Changes by:     Michael Albinus <albinus>       07/07/18 21:02:29

Index: progmodes/grep.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/progmodes/grep.el,v
retrieving revision 1.73
retrieving revision 1.74
diff -u -b -r1.73 -r1.74
--- progmodes/grep.el   17 Jul 2007 21:08:49 -0000      1.73
+++ progmodes/grep.el   18 Jul 2007 21:02:29 -0000      1.74
@@ -343,6 +343,12 @@
 (defvar grep-regexp-history nil)
 (defvar grep-files-history '("ch" "el"))
 
+(defvar grep-host-defaults-alist nil
+  "Default values depending on target host.
+`grep-compute-defaults' returns default values for every local or
+remote host `grep' runs.  These values can differ from host to
+host.  Once computed, the default values are kept here in order
+to avoid computing them again.")
 
 ;;;###autoload
 (defun grep-process-setup ()
@@ -383,31 +389,38 @@
     ;; computed for every host once, then they are kept in the
     ;; variables' property host-id for reuse.
     (setq grep-command
-         (or (get 'grep-command host-id)
+         (or (cadr (assq 'grep-command
+                         (assq host-id grep-host-defaults-alist)))
              (eval (car (get 'grep-command 'standard-value))))
 
          grep-template
-          (or (get 'grep-template host-id)
+          (or (cadr (assq 'grep-template
+                         (assq host-id grep-host-defaults-alist)))
              (eval (car (get 'grep-template 'standard-value))))
 
          grep-use-null-device
-         (or (get 'grep-use-null-device host-id)
+         (or (cadr (assq 'grep-use-null-device
+                         (assq host-id grep-host-defaults-alist)))
              (eval (car (get 'grep-use-null-device 'standard-value))))
 
          grep-find-command
-         (or (get 'grep-find-command host-id)
+         (or (cadr (assq 'grep-find-command
+                         (assq host-id grep-host-defaults-alist)))
              (eval (car (get 'grep-find-command 'standard-value))))
 
          grep-find-template
-         (or (get 'grep-find-template host-id)
+         (or (cadr (assq 'grep-find-template
+                         (assq host-id grep-host-defaults-alist)))
              (eval (car (get 'grep-find-template 'standard-value))))
 
          grep-find-use-xargs
-         (or (get 'grep-find-use-xargs host-id)
+         (or (cadr (assq 'grep-find-use-xargs
+                         (assq host-id grep-host-defaults-alist)))
              (eval (car (get 'grep-find-use-xargs 'standard-value))))
 
          grep-highlight-matches
-         (or (get 'grep-highlight-matches host-id)
+         (or (cadr (assq 'grep-highlight-matches
+                         (assq host-id grep-host-defaults-alist)))
              (eval (car (get 'grep-highlight-matches 'standard-value)))))
 
     (unless (or (not grep-use-null-device) (eq grep-use-null-device t))
@@ -492,13 +505,19 @@
                   t))))
 
     ;; Save defaults for this host.
-    (put 'grep-command host-id grep-command)
-    (put 'grep-template host-id grep-template)
-    (put 'grep-use-null-device host-id grep-use-null-device)
-    (put 'grep-find-command host-id grep-find-command)
-    (put 'grep-find-template host-id grep-find-template)
-    (put 'grep-find-use-xargs host-id grep-find-use-xargs)
-    (put 'grep-highlight-matches host-id grep-highlight-matches)))
+    (setq grep-host-defaults-alist
+         (delete (assq host-id grep-host-defaults-alist)
+                 grep-host-defaults-alist))
+    (add-to-list
+     'grep-host-defaults-alist
+     (cons host-id
+          `((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))))))
 
 (defun grep-tag-default ()
   (or (and transient-mark-mode mark-active




reply via email to

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