for virtual nodes. (Bug#4147)
(Info-find-node-2): Set `Info-current-node-virtual' to nil
when moving from a virtual node.
(Info-mode-menu): Add `Info-virtual-index' to the menu.
(Info-mode): Add `Info-virtual-index' to the docstring.
(add-to-list)<Info-virtual-files>: Add "\\`\\*Finder.*\\*\\'".
(Info-finder-file): New variable.
(Info-finder-find-file): New function.
(finder-known-keywords, finder-package-info)
(find-library-name, lm-commentary): Use defvar and
declare-function to silence compiler warnings.
(Info-finder-find-node): New function.
(info-finder): New command.
(set-mark): Use deactivate-mark.
* info.el (Info-search): No need to check transient-mark-mode
before calling deactivate-mark.
* select.el (x-set-selection): Doc fix.
(x-valid-simple-selection-p): Allow buffer values.
(xselect--selection-bounds): Handle buffer values. Suggested by
David De La Harpe Golden.
* mouse.el (mouse-set-region, mouse-drag-track): Call
copy-region-as-kill before setting the mark, to let
select-active-regions work.
* simple.el (deactivate-mark): If select-active-regions is
non-nil, copy the selection data into a string.
(activate-mark): If select-active-regions is non-nil, set the
selection to the current buffer.
(set-mark): Update selection if select-active-regions is non-nil.
* select.el (x-valid-simple-selection-p): Allow buffer values.
(Info-virtual-files, Info-virtual-nodes): New variables.
(Info-current-node-virtual): New variable.
(Info-virtual-file-p, Info-virtual-fun, Info-virtual-call):
New functions.
(Info-file-supports-index-cookies): Use Info-virtual-file-p
to check for a virtual file instead of checking a fixed list
of node names.
(Info-find-file): Use Info-virtual-fun and Info-virtual-call
instead of ad-hoc processing of "dir" and (apropos history toc).
(Info-find-node-2): Use Info-virtual-fun and Info-virtual-call
instead of ad-hoc processing of "dir" and (apropos history toc).
Reread a file when moving from a virtual node.
(add-to-list)<Info-virtual-files>: Add "\\`dir\\'".
(Info-directory-toc-nodes, Info-directory-find-file)
(Info-directory-find-node): New functions.
(add-to-list)<Info-virtual-files>: Add "\\`\\*History\\*\\'".
(Info-history): Move part of code to
`Info-history-find-node'.
(Info-history-toc-nodes, Info-history-find-file)
(Info-history-find-node): New functions.
(add-to-list)<Info-virtual-nodes>: Add "\\`\\*TOC\\*\\'".
(Info-toc): Move part of code to `Info-toc-find-node'.
(Info-toc-find-node): New function.
(Info-toc-insert): Renamed from `Info-insert-toc'. Don't insert
the current Info file name to references because now the node
"*TOC*" belongs to the same Info manual.
(Info-toc-build): Renamed from `Info-build-toc'.
(Info-toc-nodes): Rename input argument `file' to `filename'.
Use Info-virtual-fun, Info-virtual-call and Info-virtual-file-p
instead of ad-hoc processing of ("dir" apropos history toc).
(Info-index-nodes): Use Info-virtual-file-p
to check for a virtual file instead of checking a fixed list
of node names.
(Info-index-node): Add check for `Info-current-node-virtual'.
Raise `save-match-data' higher up the tree to contain
`search-forward' too (bug fix).
(add-to-list)<Info-virtual-nodes>: Add "\\`\\*Index.*\\*\\'".
(Info-virtual-index-nodes): New variable.
(Info-virtual-index-find-node, Info-virtual-index): New functions.
(add-to-list)<Info-virtual-files>: Add "\\`\\*Apropos\\*\\'".
(Info-apropos-file, Info-apropos-nodes): New variables.
(Info-apropos-toc-nodes, Info-apropos-find-file)
(Info-apropos-find-node, Info-apropos-matches): New functions.
(info-apropos): Move part of code to `Info-apropos-find-node' and
`Info-apropos-matches'.
(Info-mode-map): Bind "I" to `Info-virtual-index'.
(Info-desktop-buffer-misc-data): Use Info-virtual-file-p to check
for a virtual file instead of checking a fixed list of node names.
for Info-point-loc since it is more correct in all cases.
(Info-isearch-filter): Rename from
`Info-isearch-filter-predicate'. Doc fix.
(Info-mode): Replace `Info-isearch-filter-predicate' with
`Info-isearch-filter'.
incremental word search in Info.
(Info-isearch-start): Set Info-isearch-initial-node to the
current node when search is nonincremental to not stop at the
initial node in this case.
(Info-mode-map): Unbind "\M-s" from `Info-search'.
(Info-file-supports-index-cookies): New function.
(Info-find-node-2, Info-index-nodes, Info-index-node): Use it.
(Info-index-nodes): Let-bind Info-point-loc to nil for files
without an index cookie to ignore it when Info-index-nodes is
called during navigating from an index node with line numbers.
(Info-index-node): Set file to Info-current-file if nil. (Bug#1118)
* info.el (Info-breadcrumbs-depth): Move defcustom higher to the
variable definition section.
skip detailed node listings.
(Info-forward-node): New argument not-up to inhibit going up.
(Info-final-node): Call Info-extract-menu-counting and
Info-forward-node with the new arguments set to avoid infinite
looping. (Bug#1116)
used until now in bookmark.el's code.
(bookmark-get-bookmark): Accept bookmark names or bookmark records.
(bookmark-get-bookmark-record): Allow the 2 slightly different formats
used until now in bookmark.el's code.
(bookmark-set-filename): Remove special code, moved to its only caller.
(bookmark-store): Use the newer format.
(bookmark-make-record-default): Add arg `point-only'.
Rename from bookmark-make-record-for-text-file.
(bookmark--jump-via): New function.
(bookmark-jump, bookmark-jump-other-window, bookmark-bmenu-2-window)
(bookmark-bmenu-other-window, bookmark-bmenu-switch-other-window):
Use it.
(bookmark-jump-noselect, bookmark-default-handler):
Don't return an alist, instead return the data implicitly by changing
current buffer and point. Signal an error if the file doesn't exist.
* info.el (Info-bookmark-make-record):
Use bookmark-make-record-default.
(Info-bookmark-jump): Use bookmark-default-handler.
* image-mode.el (image-bookmark-make-record):
Use bookmark-make-record-default.
(image-bookmark-jump): Use bookmark-default-handler.
* doc-view.el (doc-view-bookmark-make-record):
Use bookmark-make-record-default.
(doc-view-bookmark-jump): Use bookmark-default-handler.
(Info-toc, Info-insert-toc): Increment nth's index to add PARENT
as the second element.
(Info-build-toc): Add PARENT element extracted from the Up pointer.
Don't print progress messages.
(Info-toc-nodes): New variable and function.
(Info-index-nodes): Optimize non-string file name case.
(Info-breadcrumbs-depth): Increment the default value from 3 to 4.
(Info-insert-breadcrumbs): Use the cached document structure instead
of visiting all ancestor nodes. Remove the initial `>'.
undesired search matches move code to Info-search-success-function,
and call `isearch-success-function' instead.
(Info-search-success-function): New function copied from code
in Info-search. Replace isearch-range-invisible with
text-property-not-all that checks for 'invisible and 'display
properties to skip partially invisible matches (whose display
properties were set by Info-fontify-node).
(Info-mode): Set buffer-local isearch-success-function
to Info-search-success-function.
locate-file-completion and make it use `pred' in the normal way.
(locate-file-completion): New compatibility wrapper.
(load-library): Use locate-file-completion-table.
* emacs-lisp/find-func.el (find-library): Likewise.
* info.el: Use with-current-buffer and inhibit-read-only.
(Info-read-node-name-2): Change to use `predicate' in the normal way.
(Info-read-node-name-1): Adjust uses accordingly.
(completion--some): New function.
(completion-table-with-context, completion--file-name-table):
Return the base-size if requested.
(completion-table-in-turn): Generalize to multiple arguments.
(complete-in-turn): Compatibility alias.
(completion-styles-alist): New var.
(completion-styles): New customization.
(minibuffer-try-completion, minibuffer-all-completions):
New functions.
(minibuffer--do-completion, minibuffer-complete-and-exit)
(minibuffer-try-word-completion): Use them.
(display-completion-list, minibuffer-completion-help): Use them.
Handle all-completions's new base-size info to set completion-base-size.
* info.el (Info-read-node-name-1): Use completion-table-with-context,
completion-table-with-terminator and complete-with-action.
Remove the now obsolete completion-base-size-function property.
* simple.el (completion-list-mode-map): Move init into declaration.
(completion-list-mode): Use define-derived-mode.
(completion-setup-function): Use any completion-base-size that may
have been set before. Remove handling of completion-base-size-function.
* loadup.el: Move abbrev.el up earlier.