Mercurial > emacs
changeset 81972:7447c9b7efeb
* progmodes/grep.el (grep-host-defaults-alist): New defvar.
(grep-compute-defaults): Use it.
author | Michael Albinus <michael.albinus@gmx.de> |
---|---|
date | Wed, 18 Jul 2007 21:02:29 +0000 |
parents | 4c7de50bc365 |
children | 761ac74a9c02 a1be62cbd32a |
files | lisp/ChangeLog lisp/progmodes/grep.el |
diffstat | 2 files changed, 38 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Wed Jul 18 20:11:28 2007 +0000 +++ b/lisp/ChangeLog Wed Jul 18 21:02:29 2007 +0000 @@ -1,3 +1,8 @@ +2007-07-18 Michael Albinus <michael.albinus@gmx.de> + + * progmodes/grep.el (grep-host-defaults-alist): New defvar. + (grep-compute-defaults): Use it. + 2007-07-18 Stefan Monnier <monnier@iro.umontreal.ca> * uniquify.el: Docstring fixes.
--- a/lisp/progmodes/grep.el Wed Jul 18 20:11:28 2007 +0000 +++ b/lisp/progmodes/grep.el Wed Jul 18 21:02:29 2007 +0000 @@ -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