Mercurial > emacs
changeset 15864:c21d455f162f
(message-y-or-n-p, message-talkative-question, message-flatten-list,
message-flatten-list-1): Move utility functions up so macro is defined
before first invocation.
author | Erik Naggum <erik@naggum.no> |
---|---|
date | Wed, 14 Aug 1996 02:09:54 +0000 |
parents | f11b2bfc1275 |
children | 9f99285bb635 |
files | lisp/message.el |
diffstat | 1 files changed, 26 insertions(+), 29 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/message.el Wed Aug 14 01:59:41 1996 +0000 +++ b/lisp/message.el Wed Aug 14 02:09:54 1996 +0000 @@ -679,6 +679,32 @@ (1+ max))))) (message-sort-headers-1)))) +(defmacro message-y-or-n-p (question show &rest text) + "Ask QUESTION, displaying the rest of the arguments in a temporary buffer." + `(message-talkative-question 'y-or-n-p ,question ,show ,@text)) + +(defun message-talkative-question (ask question show &rest text) + "Call FUNCTION with argument QUESTION, displaying the rest of the arguments in a temporary buffer if SHOW. +The following arguments may contain lists of values." + (if (and show + (setq text (message-flatten-list text))) + (save-window-excursion + (save-excursion + (with-output-to-temp-buffer " *MESSAGE information message*" + (set-buffer " *MESSAGE information message*") + (mapcar 'princ text) + (goto-char (point-min)))) + (funcall ask question)) + (funcall ask question))) + +(defun message-flatten-list (&rest list) + (message-flatten-list-1 list)) + +(defun message-flatten-list-1 (list) + (cond ((consp list) + (apply 'nconc (mapcar 'message-flatten-list-1 list))) + (list + (list list)))) ;;; @@ -2964,35 +2990,6 @@ (goto-char (point-min)) (pop-to-buffer cur))))))) -;;; Help stuff. - -(defmacro message-y-or-n-p (question show &rest text) - "Ask QUESTION, displaying the rest of the arguments in a temporary buffer." - `(message-talkative-question 'y-or-n-p ,question ,show ,@text)) - -(defun message-talkative-question (ask question show &rest text) - "Call FUNCTION with argument QUESTION, displaying the rest of the arguments in a temporary buffer if SHOW. -The following arguments may contain lists of values." - (if (and show - (setq text (message-flatten-list text))) - (save-window-excursion - (save-excursion - (with-output-to-temp-buffer " *MESSAGE information message*" - (set-buffer " *MESSAGE information message*") - (mapcar 'princ text) - (goto-char (point-min)))) - (funcall ask question)) - (funcall ask question))) - -(defun message-flatten-list (&rest list) - (message-flatten-list-1 list)) - -(defun message-flatten-list-1 (list) - (cond ((consp list) - (apply 'append (mapcar 'message-flatten-list-1 list))) - (list - (list list)))) - (run-hooks 'message-load-hook) (provide 'message)