[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/emacs-lisp/eldoc.el
From: |
Miles Bader |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/emacs-lisp/eldoc.el |
Date: |
Fri, 04 Apr 2003 01:21:59 -0500 |
Index: emacs/lisp/emacs-lisp/eldoc.el
diff -c emacs/lisp/emacs-lisp/eldoc.el:1.23 emacs/lisp/emacs-lisp/eldoc.el:1.24
*** emacs/lisp/emacs-lisp/eldoc.el:1.23 Fri Jan 3 06:53:46 2003
--- emacs/lisp/emacs-lisp/eldoc.el Mon Feb 10 19:11:55 2003
***************
*** 7,13 ****
;; Keywords: extensions
;; Created: 1995-10-06
! ;; $Id: eldoc.el,v 1.23 2003/01/03 11:53:46 jpw Exp $
;; This file is part of GNU Emacs.
--- 7,13 ----
;; Keywords: extensions
;; Created: 1995-10-06
! ;; $Id: eldoc.el,v 1.24 2003/02/11 00:11:55 monnier Exp $
;; This file is part of GNU Emacs.
***************
*** 49,61 ****
(require 'help-fns) ;For fundoc-usage handling functions.
- ;; Use idle timers if available in the version of emacs running.
- ;; Please don't change this to use `require'; this package works
- ;; as-is in XEmacs 19.14 and later and I am striving to maintain
- ;; compatibility between emacs variants.
- (or (featurep 'timer)
- (load "timer" t))
-
(defgroup eldoc nil
"Show function arglist or variable docstring in echo area."
:group 'lisp
--- 49,54 ----
***************
*** 99,108 ****
If value is nil, messages are always truncated to fit in a single line of
display in the echo area. Function or variable symbol name may be
! truncated to make more of the arglist or documentation string visible.
!
! Non-nil values for this variable have no effect unless
! `eldoc-echo-area-multiline-supported-p' is non-nil."
:type '(radio (const :tag "Always" t)
(const :tag "Never" nil)
(const :tag "Yes, but truncate symbol names if it will\
--- 92,98 ----
If value is nil, messages are always truncated to fit in a single line of
display in the echo area. Function or variable symbol name may be
! truncated to make more of the arglist or documentation string visible."
:type '(radio (const :tag "Always" t)
(const :tag "Never" nil)
(const :tag "Yes, but truncate symbol names if it will\
***************
*** 111,122 ****
;;; No user options below here.
- ;; Non-nil if this version of emacs supports dynamically resizable echo areas.
- (defvar eldoc-echo-area-multiline-supported-p
- (and (string-lessp "21" emacs-version)
- (save-match-data
- (numberp (string-match "^GNU Emacs" (emacs-version))))))
-
;; Commands after which it is appropriate to print in the echo area.
;; Eldoc does not try to print function arglists, etc. after just any command,
;; because some commands print their own messages in the echo area and these
--- 101,106 ----
***************
*** 142,151 ****
(defvar eldoc-last-data (make-vector 3 nil))
(defvar eldoc-last-message nil)
! ;; Idle timers are supported in Emacs 19.31 and later.
! (defvar eldoc-use-idle-timer-p (fboundp 'run-with-idle-timer))
!
! ;; eldoc's timer object, if using idle timers
(defvar eldoc-timer nil)
;; idle time delay currently in use by timer.
--- 126,132 ----
(defvar eldoc-last-data (make-vector 3 nil))
(defvar eldoc-last-message nil)
! ;; eldoc's timer object.
(defvar eldoc-timer nil)
;; idle time delay currently in use by timer.
***************
*** 170,191 ****
With prefix ARG, turn ElDoc mode on if and only if ARG is positive."
nil eldoc-minor-mode-string nil
(setq eldoc-last-message nil)
! (cond (eldoc-use-idle-timer-p
! (add-hook 'post-command-hook 'eldoc-schedule-timer)
! (add-hook 'pre-command-hook 'eldoc-pre-command-refresh-echo-area))
! (t
! ;; Use post-command-idle-hook if defined, otherwise use
! ;; post-command-hook. The former is only proper to use in Emacs
! ;; 19.30; that is the first version in which it appeared, but it
! ;; was obsolesced by idle timers in Emacs 19.31.
! (add-hook (if (boundp 'post-command-idle-hook)
! 'post-command-idle-hook
! 'post-command-hook)
! 'eldoc-print-current-symbol-info t t)
! ;; quick and dirty hack for seeing if this is XEmacs
! (and (fboundp 'display-message)
! (add-hook 'pre-command-hook
! 'eldoc-pre-command-refresh-echo-area t t)))))
;;;###autoload
(defun turn-on-eldoc-mode ()
--- 151,162 ----
With prefix ARG, turn ElDoc mode on if and only if ARG is positive."
nil eldoc-minor-mode-string nil
(setq eldoc-last-message nil)
! (if eldoc-mode
! (progn
! (add-hook 'post-command-hook 'eldoc-schedule-timer nil t)
! (add-hook 'pre-command-hook 'eldoc-pre-command-refresh-echo-area t))
! (remove-hook 'post-command-hook 'eldoc-schedule-timer)
! (remove-hook 'pre-command-hook 'eldoc-pre-command-refresh-echo-area)))
;;;###autoload
(defun turn-on-eldoc-mode ()
***************
*** 209,241 ****
(defun eldoc-message (&rest args)
(let ((omessage eldoc-last-message))
! (cond ((eq (car args) eldoc-last-message))
! ((or (null args)
! (null (car args)))
! (setq eldoc-last-message nil))
! ;; If only one arg, no formatting to do so put it in
! ;; eldoc-last-message so eq test above might succeed on
! ;; subsequent calls.
! ((null (cdr args))
! (setq eldoc-last-message (car args)))
! (t
! (setq eldoc-last-message (apply 'format args))))
;; 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.
! (cond ((fboundp 'display-message)
! ;; XEmacs 19.13 way of preventing log messages.
! (cond (eldoc-last-message
! (display-message 'no-log eldoc-last-message))
! (omessage
! (clear-message 'no-log))))
! (t
! ;; Emacs way of preventing log messages.
! (let ((message-log-max nil))
! (cond (eldoc-last-message
! (message "%s" eldoc-last-message))
! (omessage
! (message nil)))))))
eldoc-last-message)
;; This function goes on pre-command-hook for XEmacs or when using idle
--- 180,200 ----
(defun eldoc-message (&rest args)
(let ((omessage eldoc-last-message))
! (setq eldoc-last-message
! (cond ((eq (car args) eldoc-last-message) eldoc-last-message)
! ((null (car args)) nil)
! ;; If only one arg, no formatting to do, so put it in
! ;; eldoc-last-message so eq test above might succeed on
! ;; subsequent calls.
! ((null (cdr args)) (car args))
! (t (apply 'format args))))
;; 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.
! ;; Emacs way of preventing log messages.
! (let ((message-log-max nil))
! (cond (eldoc-last-message (message "%s" eldoc-last-message))
! (omessage (message nil)))))
eldoc-last-message)
;; This function goes on pre-command-hook for XEmacs or when using idle
***************
*** 253,276 ****
;; Decide whether now is a good time to display a message.
(defun eldoc-display-message-p ()
(and (eldoc-display-message-no-interference-p)
! (cond (eldoc-use-idle-timer-p
! ;; If this-command is non-nil while running via an idle
! ;; timer, we're still in the middle of executing a command,
! ;; e.g. a query-replace where it would be annoying to
! ;; overwrite the echo area.
! (and (not this-command)
! (symbolp last-command)
! (intern-soft (symbol-name last-command)
! eldoc-message-commands)))
! (t
! ;; If we don't have idle timers, this function is
! ;; running on post-command-hook directly; that means the
! ;; user's last command is still on `this-command', and we
! ;; must wait briefly for input to see whether to do display.
! (and (symbolp this-command)
! (intern-soft (symbol-name this-command)
! eldoc-message-commands)
! (sit-for eldoc-idle-delay))))))
;; Check various conditions about the current environment that might make
;; it undesirable to print eldoc messages right this instant.
--- 212,225 ----
;; Decide whether now is a good time to display a message.
(defun eldoc-display-message-p ()
(and (eldoc-display-message-no-interference-p)
! ;; If this-command is non-nil while running via an idle
! ;; timer, we're still in the middle of executing a command,
! ;; e.g. a query-replace where it would be annoying to
! ;; overwrite the echo area.
! (and (not this-command)
! (symbolp last-command)
! (intern-soft (symbol-name last-command)
! eldoc-message-commands))))
;; Check various conditions about the current environment that might make
;; it undesirable to print eldoc messages right this instant.
***************
*** 307,315 ****
(defun eldoc-get-fnsym-args-string (sym)
(let ((args nil)
(doc nil))
! (cond ((not (and sym
! (symbolp sym)
! (fboundp sym))))
((and (eq sym (aref eldoc-last-data 0))
(eq 'function (aref eldoc-last-data 2)))
(setq doc (aref eldoc-last-data 1)))
--- 256,262 ----
(defun eldoc-get-fnsym-args-string (sym)
(let ((args nil)
(doc nil))
! (cond ((not (and sym (symbolp sym) (fboundp sym))))
((and (eq sym (aref eldoc-last-data 0))
(eq 'function (aref eldoc-last-data 2)))
(setq doc (aref eldoc-last-data 1)))
***************
*** 362,369 ****
(defun eldoc-docstring-format-sym-doc (sym doc)
(save-match-data
(let* ((name (symbol-name sym))
! (ea-multi (and eldoc-echo-area-multiline-supported-p
! eldoc-echo-area-use-multiline-p))
;; Subtract 1 from window width since emacs will not write
;; any chars to the last column, or in later versions, will
;; cause a wraparound and resize of the echo area.
--- 309,315 ----
(defun eldoc-docstring-format-sym-doc (sym doc)
(save-match-data
(let* ((name (symbol-name sym))
! (ea-multi eldoc-echo-area-use-multiline-p)
;; Subtract 1 from window width since emacs will not write
;; any chars to the last column, or in later versions, will
;; cause a wraparound and resize of the echo area.
***************
*** 473,481 ****
(defun eldoc-add-command-completions (&rest names)
(while names
! (apply 'eldoc-add-command
! (all-completions (car names) obarray 'fboundp))
! (setq names (cdr names))))
(defun eldoc-remove-command (&rest cmds)
(let (name)
--- 419,427 ----
(defun eldoc-add-command-completions (&rest names)
(while names
! (apply 'eldoc-add-command
! (all-completions (car names) obarray 'fboundp))
! (setq names (cdr names))))
(defun eldoc-remove-command (&rest cmds)
(let (name)
***************
*** 486,496 ****
(and (symbolp name)
(setq name (symbol-name name)))
! (if (fboundp 'unintern)
! (unintern name eldoc-message-commands)
! (let ((s (intern-soft name eldoc-message-commands)))
! (and s
! (makunbound s)))))))
(defun eldoc-remove-command-completions (&rest names)
(while names
--- 432,438 ----
(and (symbolp name)
(setq name (symbol-name name)))
! (unintern name eldoc-message-commands))))
(defun eldoc-remove-command-completions (&rest names)
(while names
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] Changes to emacs/lisp/emacs-lisp/eldoc.el,
Miles Bader <=