From 35a3f9a4b41845d3b99b3c3d1a3e5033403b09cb Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 18 Sep 2009 15:35:23 +0000 Subject: [PATCH] (dired-query-alist): Remove spurious backslash. (dired-query): Use read-key. --- lisp/ChangeLog | 5 +++++ lisp/dired-aux.el | 19 +++++++++---------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 1f1444340c5..76144677c87 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2009-09-18 Stefan Monnier + + * dired-aux.el (dired-query-alist): Remove spurious backslash. + (dired-query): Use read-key. + 2009-09-18 Adrian Robert * cus-start.el (ns-use-qd-smoothing): Remove. diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el index 4a7e5956751..0fcefe971b8 100644 --- a/lisp/dired-aux.el +++ b/lisp/dired-aux.el @@ -867,7 +867,7 @@ Otherwise, the rule is a compression rule, and compression is done with gzip.") failures))))) (defvar dired-query-alist - '((?\y . y) (?\040 . y) ; `y' or SPC means accept once + '((?y . y) (?\040 . y) ; `y' or SPC means accept once (?n . n) (?\177 . n) ; `n' or DEL skips once (?! . yes) ; `!' accepts rest (?q . no) (?\e . no) ; `q' or ESC skips rest @@ -876,10 +876,10 @@ Otherwise, the rule is a compression rule, and compression is done with gzip.") ;;;###autoload (defun dired-query (qs-var qs-prompt &rest qs-args) - ;; Query user and return nil or t. - ;; Store answer in symbol VAR (which must initially be bound to nil). - ;; Format PROMPT with ARGS. - ;; Binding variable help-form will help the user who types the help key. + "Query user and return nil or t. +Store answer in symbol VAR (which must initially be bound to nil). +Format PROMPT with ARGS. +Binding variable `help-form' will help the user who types the help key." (let* ((char (symbol-value qs-var)) (action (cdr (assoc char dired-query-alist)))) (cond ((eq 'yes action) @@ -897,13 +897,12 @@ Otherwise, the rule is a compression rule, and compression is done with gzip.") ;; Actually it looks nicer without cursor-in-echo-area - you can ;; look at the dired buffer instead of at the prompt to decide. (apply 'message qprompt qs-args) - (setq char (set qs-var (read-char))) - (while (not (setq elt (assoc char dired-query-alist))) - (message "Invalid char - type %c for help." help-char) + (while (progn (setq char (set qs-var (read-key))) + (not (setq elt (assoc char dired-query-alist)))) + (message "Invalid key - type %c for help." help-char) (ding) (sit-for 1) - (apply 'message qprompt qs-args) - (setq char (set qs-var (read-char)))) + (apply 'message qprompt qs-args)) ;; Display the question with the answer. (message "%s" (concat (apply 'format qprompt qs-args) (char-to-string char))) -- 2.39.5