(Info-toc): Narrow buffer before Info-fontify-node.
(Info-build-toc): Don't check for special Info file names.
Set main-file to nil if Info-find-file returns a symbol.
(Info-search): Add new optional arguments for the sake of isearch.
Replace whitespace in Info-search-whitespace-regexp literally.
Add backward search. Don't call `Info-select-node' if regexp is
found in the same Info node. Don't add node to Info-history for
wrapped isearch.
(Info-search-backward, Info-isearch-search, Info-isearch-wrap)
(Info-isearch-push-state, Info-isearch-pop-state): New funs.
(Info-mode): Set local variables `isearch-search-fun-function',
`isearch-wrap-function', `isearch-push-state-function',
`search-whitespace-regexp'.
(Info-toc): Add substring-no-properties on Info file name.
(Info-mode, info, Info-toc, Info-mode-menu): Doc fix.
(Info-mode-map): Bind L to Info-history, T to Info-toc.
about virtual files.
(Info-restore-desktop-buffer): Restore Info buffers in prepared
buffers with names obtained from the desktop file instead of the
default *info* buffer.
(Info-index-nodes): Enclose code in condition-case to catch errors.
(Info-index-node): Don't search all index nodes if request is only
for the current node and file is not in the cache of index nodes.
(Info-mode-map): Bind Info-copy-current-node-name to `w'
for consistency with dired-copy-filename-as-kill.
Bind `S' to Info-search-case-sensitively.
(Info-copy-current-node-name): New arg. With zero prefix arg put
the name inside a function call to `info'. Display copied text in
the echo area.
(Info-goto-index, Info-index, info-apropos)
(Info-find-emacs-command-nodes): Rewrite to use Info-index-nodes.
(Info-index): Fix docstring. Store and restore Info-history-list.
(Info-complete-nodes): New var.
(Info-complete-menu-item): Use it.
(Info-index-node): New fun.
(Info-final-node, Info-forward-node, Info-backward-node)
(Info-build-toc, Info-try-follow-nearest-node, Info-fontify-node):
Use Info-index-node.
(Info-extract-menu-item, Info-extract-menu-counting): Set second
arg of `Info-extract-menu-node-name' to non-nil for index nodes.
(Info-find-node-2): If a node with period in its name not found,
try to find a node without the name part after period.
(Info-select-node): Call Info-fontify-node only if
Info-fontify-maximum-menu-size is not nil.
(info-apropos): Set Info-fontify-maximum-menu-size to nil.
(Info-find-emacs-command-nodes, Info-goto-emacs-command-node):
Preserve Info-history-list.
(Info-toc): Set Info-current-file.
(Info-build-toc): Move point to the beginning of the buffer.
Add main-file variable.
(Info-dir-remove-duplicates, Info-history, Info-toc, info-apropos):
Use backslashed representation of the control character ^_.
same-window-buffer-names.
(info): New arg `buffer'. Use it. Doc fix. Read file name for
non-numeric prefix argument, append the number to the buffer name
for numeric prefix argument.
(info-other-window): Bind same-window-regexps to nil.
(Info-reference-name): Rename to Info-point-loc.
(Info-find-node-2): Call forward-line for numeric Info-point-loc,
and Info-find-index-name for stringy Info-point-loc.
(Info-extract-menu-node-name): New arg `index-node'. Use regexp
without middle `.', but with final `.' and optional line number
for it. Set Info-point-loc for index nodes.
(Info-index): Remove middle `.' from index entry regexp.
Modify line number regexp.
(Info-index-next): Decrement line number.
(info-apropos): Remove middle `.' from index entry regexp.
Add optional line number regexp at the end. Add matched value
for line number to the result list and insert it to the buffer.
(Info-fontify-node): Hide index line numbers.
(Info-goto-node): Replace "\\s *\\'" by "\\s +\\'" to not trim
empty matches.
(Info-follow-reference): Use `str' instead of
Info-following-node-name-re.
(Info-toc): Use full file names. Set Info-current-node to "Top".
(Info-fontify-node): Compare file names without directory name.
(Info-try-follow-nearest-node): Don't set Info-reference-name.
Set second arg of Info-extract-menu-node-name for index nodes.
(info-xref-visited): Use magenta3 instead of magenta4.
(Info-mode): Add info-apropos to docstring.
(Info-find-node-2): Simplify error message.
(Info-insert-dir): Use Info-following-node-name.
(Info-goto-node): Remove *info-history* and *info-toc*.
(Info-history): Create a node of the virtual history file.
(Info-toc): Create a node of the virtual toc file.
(Info-insert-toc): New arg `curr-file' for reference file names.
(info-apropos): Remove redundant var binding for temp-file.
(Info-index, Info-index-next, Info-mode): Doc fix.
(Info-goto-emacs-command-node): Don't jump to *info* from
non-*info* Info buffers.
(Info-fontify-node): Don't show the file name of external
references if `Info-hide-note-references' is `hide'. Don't hide
newlines at the end of paragraphs.
(Info-history-list): New var.
(info-xref): Change magenta4 to blue, remove bold for dark and
light backgrounds, change bold to underline for non-color classes.
(info-xref-visited): New face.
(Info-fontify-visited-nodes): New custom.
(Info-hide-note-references): Add new value `hide'. Doc fix.
(Info-reference-name): New var.
(Info-selection-hook): New custom.
(Info-edit-mode-hook): New var.
(Info-find-file): New fun.
(Info-find-node): Move part of code to Info-find-file.
(Info-find-node-2): Add anchors to Info-history-list. Move point
to the place with the reference name if name is defined.
(Info-select-node): Add current node to Info-history-list.
(Info-goto-node): Switch to *info* from *info-history* *info-toc*.
(Info-search-whitespace-regexp): New custom.
(Info-search-case-fold): New var.
(Info-search): Add "case-sensitively" to the prompt. Use
Info-search-whitespace-regexp. Set Info-search-case-fold.
(Info-search-case-sensitively, Info-search-next): New fun.
(Info-up): Move point to the menu item of the current node.
(Info-history): New fun. Add *info-history* to same-window-buffer-names.
(Info-toc): New fun. Add *info-toc* to same-window-buffer-names.
(Info-insert-toc): New fun.
(Info-build-toc): New fun.
(Info-follow-reference): Add new arg `fork'. Doc fix.
Replace [ \n\t]* by [ \n\t]+ in the *Note regexp. For references
with the same name prefer the reference closest to point.
(Info-next-reference): Replace * by + in the *Note regexp.
Add regexp for http:// and ftp://. Skip the *Note prefix.
(Info-prev-reference): Replace * by + in the *Note regexp.
Add regexp for http:// and ftp://. Skip the *Note prefix.
(Info-follow-nearest-node): Add new arg `fork'.
(Info-try-follow-nearest-node): Add new arg `fork'.
Call browse-url for http:// and ftp:// references.
Set Info-reference-name for index entries.
(Info-mode-menu): Add menu items for Info-search-case-sensitively,
Info-search-next, Info-history, Info-toc, clone-buffer.
(Info-menu-update): Replace * by + in the *Note regexp.
(Info-mode): Add documentation for Info-history, Info-toc,
Info-search-case-sensitively, Info-search-next, clone-buffer.
(Info-fontify-menu-headers): Remove fun. Move code to
Info-fontify-node.
(Info-fontify-node): Add docstring. Add local vars
fontify-visited-p and not-fontified-p. If not-fontified-p is t
then fontify header line, titles, menu headers, http and ftp
references, refill paragraphs. If not-fontified-p is t or
fontify-visited-p is t then fontify cross references, menu items.
Fontify menu headers. Fontify http and ftp references. Change
regexp for cross references to require whitespace after *Note, add
matching groups for file and node names. Remove hack for quote.
Use display property for Info-hide-note-references=t. Use fifth
or fourth match for help-echo. Display visited nodes in a
different face. Unhide file names of external references. Unhide
newlines. Display visited menu items in a different face.
(Info-following-node-name): Remove.
(Info-insert-dir): Use the new fun.
(Info-extract-pointer): Don't save restriction; use new fun.
(Info-menu-entry-name-re): New const.
(Info-menu-entry-name-re): Use it along with new fun.
(Info-node-spec-re): Use new fun.
(Info-complete-menu-item, Info-fontify-node): Use new const.
(Info-goto-node, Info-follow-reference, Info-menu-update):
Use match-string.
(Info-follow-reference): Use assoc-string.
Use a list of strings for the completion table.
(Info-fontify-node): Use match-string, line-end-position.
Limit the search for `node:' to the first line.
non-sticky so that whitespace added by filling stays visible.
Make refilling less agressive by starting at beginning of current
line rather than beginning of current paragraph.