From 2e2eead345f7ab3e4ac81916f2d6b415fc54daf0 Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Sun, 22 Jul 2007 19:59:30 +0000 Subject: * progmodes/grep.el (grep-compute-defaults): Keep default values. --- lisp/ChangeLog | 4 ++++ lisp/progmodes/grep.el | 56 ++++++++++++++++++++++++++++---------------------- 2 files changed, 35 insertions(+), 25 deletions(-) (limited to 'lisp') diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 65274cc29e..0135fd6acc 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2007-07-22 Michael Albinus + + * progmodes/grep.el (grep-compute-defaults): Keep default values. + 2007-07-22 Ralf Angeli * textmodes/reftex.el (reftex-access-parse-file): Create parse diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el index 669b469cde..fd93015ab2 100644 --- a/lisp/progmodes/grep.el +++ b/lisp/progmodes/grep.el @@ -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 -- cgit v1.2.3