summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoah Friedman <friedman@splode.com>1995-11-25 03:45:25 +0000
committerNoah Friedman <friedman@splode.com>1995-11-25 03:45:25 +0000
commit8818c4f7c0e98361ff33ebdd040743695fc26d9b (patch)
treeb39f9d8f26777c3f7597746b919e989b334c1255
parent736c467fb4bb1a8f44f7664cd338e2115bd255bb (diff)
downloademacs-8818c4f7c0e98361ff33ebdd040743695fc26d9b.tar.gz
(eldoc-message): New macro.
(eldoc-print-var-docstring, eldoc-print-fnsym-args): Use it.
-rw-r--r--lisp/emacs-lisp/eldoc.el25
1 files changed, 16 insertions, 9 deletions
diff --git a/lisp/emacs-lisp/eldoc.el b/lisp/emacs-lisp/eldoc.el
index 68bb9b6d4de..26f6ce751ff 100644
--- a/lisp/emacs-lisp/eldoc.el
+++ b/lisp/emacs-lisp/eldoc.el
@@ -11,9 +11,9 @@
;; LCD Archive Entry:
;; eldoc|Noah Friedman|friedman@prep.ai.mit.edu|
;; show function arglist or variable docstring in echo area|
-;; $Date: 1995/11/18 22:32:07 $|$Revision: 1.3 $|~/misc/eldoc.el.gz|
+;; $Date: 1995/11/21 15:21:34 $|$Revision: 1.4 $|~/misc/eldoc.el.gz|
-;; $Id: eldoc.el,v 1.3 1995/11/18 22:32:07 friedman Exp friedman $
+;; $Id: eldoc.el,v 1.4 1995/11/21 15:21:34 friedman Exp friedman $
;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
@@ -124,6 +124,16 @@ It is probably best to manipulate this data structure with the commands
(append (default-value 'minor-mode-alist)
'((eldoc-mode eldoc-minor-mode-string)))))
+;; In emacs 19.29 and later, and XEmacs 19.13 and later, all messages are
+;; recorded in a log. Do not put eldoc messages in that log since
+;; they are Legion.
+(defmacro eldoc-message (&rest args)
+ (if (fboundp 'display-message)
+ ;; XEmacs 19.13 way of preventing log messages.
+ (list 'display-message '(quote no-log) (apply 'list 'format args))
+ (list 'let (list (list 'message-log-max 'nil))
+ (apply 'list 'message args))))
+
;;;###autoload
(defun eldoc-mode (&optional prefix)
@@ -229,12 +239,12 @@ option) is not printed."
(cond ((> strip 0)
(let* ((len (length name)))
(cond ((>= strip len)
- (message "%s" doc))
+ (eldoc-message "%s" doc))
(t
(setq name (substring name 0 (- len strip)))
- (message "%s: %s" name doc)))))
+ (eldoc-message "%s: %s" name doc)))))
(t
- (message "%s: %s" s doc))))
+ (eldoc-message "%s: %s" s doc))))
t))))
@@ -264,10 +274,7 @@ documentation string if possible."
(setcdr eldoc-last-data args)))
(and args
printit
- ;; In emacs 19.29 and later, all messages are recorded in a log.
- ;; Do not put eldoc messages in the log since they are Legion.
- (let ((message-log-max nil))
- (message "%s: %s" sym args)))))
+ (eldoc-message "%s: %s" sym args))))
(defun eldoc-fnsym-in-current-sexp ()
(let* ((p (point))