mirror of
https://github.com/masscollaborationlabs/emacs.git
synced 2025-07-18 18:00:11 +00:00
Sync to HEAD
This commit is contained in:
parent
dc6a283193
commit
6b61353c0a
1598 changed files with 121012 additions and 66709 deletions
|
@ -7,8 +7,6 @@
|
|||
;; 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.
|
||||
|
||||
;; GNU Emacs is free software; you can redistribute it and/or modify
|
||||
|
@ -40,11 +38,14 @@
|
|||
;; One useful way to enable this minor mode is to put the following in your
|
||||
;; .emacs:
|
||||
;;
|
||||
;; (autoload 'turn-on-eldoc-mode "eldoc" nil t)
|
||||
;; (add-hook 'emacs-lisp-mode-hook 'turn-on-eldoc-mode)
|
||||
;; (add-hook 'lisp-interaction-mode-hook 'turn-on-eldoc-mode)
|
||||
;; (add-hook 'ielm-mode-hook 'turn-on-eldoc-mode)
|
||||
|
||||
;; Major modes for other languages may use Eldoc by defining an
|
||||
;; appropriate function as the buffer-local value of
|
||||
;; `eldoc-print-current-symbol-info-function'.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'help-fns) ;For fundoc-usage handling functions.
|
||||
|
@ -233,19 +234,32 @@ With prefix ARG, turn ElDoc mode on if and only if ARG is positive."
|
|||
(not (eq (selected-window) (minibuffer-window)))))
|
||||
|
||||
|
||||
(defvar eldoc-print-current-symbol-info-function nil
|
||||
"If non-nil, function to call to return doc string.
|
||||
The function of no args should return a one-line string for displaying
|
||||
doc about a function etc. appropriate to the context around point.
|
||||
It should return nil if there's no doc appropriate for the context.
|
||||
Typically doc is returned if point is on a function-like name or in its
|
||||
arg list.
|
||||
|
||||
This variable is expected to be made buffer-local by modes (other than
|
||||
Emacs Lisp mode) that support Eldoc.")
|
||||
|
||||
(defun eldoc-print-current-symbol-info ()
|
||||
(condition-case err
|
||||
(and (eldoc-display-message-p)
|
||||
(let* ((current-symbol (eldoc-current-symbol))
|
||||
(current-fnsym (eldoc-fnsym-in-current-sexp))
|
||||
(doc (cond
|
||||
((eq current-symbol current-fnsym)
|
||||
(or (eldoc-get-fnsym-args-string current-fnsym)
|
||||
(eldoc-get-var-docstring current-symbol)))
|
||||
(t
|
||||
(or (eldoc-get-var-docstring current-symbol)
|
||||
(eldoc-get-fnsym-args-string current-fnsym))))))
|
||||
(eldoc-message doc)))
|
||||
(if eldoc-print-current-symbol-info-function
|
||||
(eldoc-message (funcall eldoc-print-current-symbol-info-function))
|
||||
(let* ((current-symbol (eldoc-current-symbol))
|
||||
(current-fnsym (eldoc-fnsym-in-current-sexp))
|
||||
(doc (cond
|
||||
((eq current-symbol current-fnsym)
|
||||
(or (eldoc-get-fnsym-args-string current-fnsym)
|
||||
(eldoc-get-var-docstring current-symbol)))
|
||||
(t
|
||||
(or (eldoc-get-var-docstring current-symbol)
|
||||
(eldoc-get-fnsym-args-string current-fnsym))))))
|
||||
(eldoc-message doc))))
|
||||
;; This is run from post-command-hook or some idle timer thing,
|
||||
;; so we need to be careful that errors aren't ignored.
|
||||
(error (message "eldoc error: %s" err))))
|
||||
|
@ -451,4 +465,5 @@ With prefix ARG, turn ElDoc mode on if and only if ARG is positive."
|
|||
|
||||
(provide 'eldoc)
|
||||
|
||||
;;; arch-tag: c9a58f9d-2055-46c1-9b82-7248b71a8375
|
||||
;;; eldoc.el ends here
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue