changeset 13647:40e469e13255

(eldoc-message): New macro. (eldoc-print-var-docstring, eldoc-print-fnsym-args): Use it.
author Noah Friedman <friedman@splode.com>
date Sat, 25 Nov 1995 03:45:25 +0000
parents 7714b87119a3
children ce23ae11d3fa
files lisp/emacs-lisp/eldoc.el
diffstat 1 files changed, 16 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/emacs-lisp/eldoc.el	Sat Nov 25 03:02:09 1995 +0000
+++ b/lisp/emacs-lisp/eldoc.el	Sat Nov 25 03:45:25 1995 +0000
@@ -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 @@
                   (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 @@
              (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 @@
            (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))