Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
f0a8a3f1
Commit
f0a8a3f1
authored
Jul 28, 1991
by
Roland McGrath
Browse files
*** empty log message ***
parent
43bad991
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
69 additions
and
0 deletions
+69
-0
lisp/info.el
lisp/info.el
+69
-0
No files found.
lisp/info.el
View file @
f0a8a3f1
...
...
@@ -923,3 +923,72 @@ Allowed only if variable `Info-enable-edit' is non-nil."
(
and
(
marker-position
Info-tag-table-marker
)
(
buffer-modified-p
)
(
message
"Tags may have changed. Use Info-tagify if necessary"
)))
(
defun
Info-find-emacs-command-nodes
(
command
)
"Return a list of locations documenting COMMAND in the Emacs Info manual.
The locations are of the format used in Info-history, i.e.
\(FILENAME NODENAME BUFFERPOS\)."
(
require
'info
)
(
let
((
where
'
())
(
cmd-desc
(
concat
"^\\* "
(
regexp-quote
(
symbol-name
command
))
":\\s *\\(.*\\)\\.$"
)))
(
save-excursion
(
Info-find-node
"emacs"
"Command Index"
)
;; Take the index node off the Info history.
(
setq
Info-history
(
cdr
Info-history
))
(
goto-char
(
point-max
))
(
while
(
re-search-backward
cmd-desc
nil
t
)
(
setq
where
(
cons
(
list
Info-current-file
(
buffer-substring
(
match-beginning
1
)
(
match-end
1
))
0
)
where
)))
where
)))
;;;###autoload
(
defun
Info-goto-emacs-command-node
(
command
)
"Go to the Info node in the Emacs manual for command COMMAND."
(
interactive
"CFind documentation for command: "
)
(
or
(
commandp
command
)
(
signal
'wrong-type-argument
(
list
'commandp
command
)))
(
let
((
where
(
Info-find-emacs-command-nodes
command
)))
(
if
where
(
let
((
num-matches
(
length
where
)))
;; Get Info running, and pop to it in another window.
(
save-window-excursion
(
info
))
(
pop-to-buffer
"*info*"
)
(
Info-find-node
(
car
(
car
where
))
(
car
(
cdr
(
car
where
))))
(
if
(
>
num-matches
1
)
(
progn
;; Info-find-node already pushed (car where) onto
;; Info-history. Put the other nodes that were found on
;; the history.
(
setq
Info-history
(
nconc
(
cdr
where
)
Info-history
))
(
message
(
substitute-command-keys
"Found %d other entr%. Use \\[Info-last] to see %s."
(
1-
num-matches
)
(
if
(
>
num-matches
2
)
"ies"
"y"
)
(
if
(
>
num-matches
2
)
"them"
"it"
))))))
(
error
"Couldn't find documentation for %s."
command
))))
;;;###autoload
(
define-key
help-map
"\C-f"
'Info-goto-emacs-command-node
)
;;;###autoload
(
defun
Info-goto-emacs-key-command-node
(
key
)
"Go to the Info node in the Emacs manual the command bound to KEY, a string.
Interactively, if the binding is execute-extended-command, a command is read."
(
interactive
"kFind documentation for key:"
)
(
let
((
command
(
key-binding
key
)))
(
cond
((
null
command
)
(
message
"%s is undefined"
(
key-description
keys
)))
((
and
(
interactive-p
)
(
eq
command
'execute-extended-command
))
(
Info-goto-emacs-command-node
(
read-command
"Find documentation for command: "
)))
(
t
(
Info-goto-emacs-command-node
command
)))))
;;;###autoload
(
define-key
help-map
"\C-k"
'Info-goto-emacs-key-command-node
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment