Make sure eldoc can be turned off properly.
* emacs-lisp/eldoc.el (eldoc-schedule-timer): Conditionalize on eldoc-mode. (eldoc-display-message-p): Revert last change. (eldoc-display-message-no-interference-p) (eldoc-print-current-symbol-info): Tweak.
This commit is contained in:
parent
2167b7b28f
commit
33cef733e0
2 changed files with 22 additions and 14 deletions
|
@ -1,3 +1,12 @@
|
|||
2013-03-18 Leo Liu <sdl.web@gmail.com>
|
||||
|
||||
Make sure eldoc can be turned off properly.
|
||||
* emacs-lisp/eldoc.el (eldoc-schedule-timer): Conditionalize on
|
||||
eldoc-mode.
|
||||
(eldoc-display-message-p): Revert last change.
|
||||
(eldoc-display-message-no-interference-p)
|
||||
(eldoc-print-current-symbol-info): Tweak.
|
||||
|
||||
2013-03-18 Tassilo Horn <tsdh@gnu.org>
|
||||
|
||||
* doc-view.el (doc-view-new-window-function): Check the new window
|
||||
|
|
|
@ -198,8 +198,9 @@ expression point is on."
|
|||
(or (and eldoc-timer
|
||||
(memq eldoc-timer timer-idle-list))
|
||||
(setq eldoc-timer
|
||||
(run-with-idle-timer eldoc-idle-delay t
|
||||
'eldoc-print-current-symbol-info)))
|
||||
(run-with-idle-timer
|
||||
eldoc-idle-delay t
|
||||
(lambda () (and eldoc-mode (eldoc-print-current-symbol-info))))))
|
||||
|
||||
;; If user has changed the idle delay, update the timer.
|
||||
(cond ((not (= eldoc-idle-delay eldoc-current-idle-delay))
|
||||
|
@ -272,21 +273,19 @@ Otherwise work like `message'."
|
|||
;; Decide whether now is a good time to display a message.
|
||||
(defun eldoc-display-message-p ()
|
||||
(and (eldoc-display-message-no-interference-p)
|
||||
;; `eldoc-post-insert-mode' uses no timers.
|
||||
(or (not eldoc-mode)
|
||||
;; 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)))))
|
||||
;; 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.
|
||||
(defun eldoc-display-message-no-interference-p ()
|
||||
(and (or eldoc-mode eldoc-post-insert-mode)
|
||||
(and eldoc-mode
|
||||
(not executing-kbd-macro)
|
||||
(not (and (boundp 'edebug-active) edebug-active))))
|
||||
|
||||
|
@ -310,7 +309,7 @@ Emacs Lisp mode) that support ElDoc.")
|
|||
|
||||
(defun eldoc-print-current-symbol-info ()
|
||||
(condition-case err
|
||||
(and (eldoc-display-message-p)
|
||||
(and (or (eldoc-display-message-p) eldoc-post-insert-mode)
|
||||
(if eldoc-documentation-function
|
||||
(eldoc-message (funcall eldoc-documentation-function))
|
||||
(let* ((current-symbol (eldoc-current-symbol))
|
||||
|
|
Loading…
Add table
Reference in a new issue