Using C-h R elisp
brings up the Emacs Lisp Reference Manual in Info mode.
How can I show the manual entirely on one page?
Something akin to https://www.gnu.org/software/emacs/manual/html_mono/elisp.html?
Using C-h R elisp
brings up the Emacs Lisp Reference Manual in Info mode.
How can I show the manual entirely on one page?
Something akin to https://www.gnu.org/software/emacs/manual/html_mono/elisp.html?
If you use Info+ then you can easily get a whole manual, or any node together with its subnodes, in a single, fully functional Info buffer.
Command Info-merge-subnodes
, bound to +
in Info-mode
, integrates the current Info node with
its subnodes (the nodes in its Menu), perhaps recursively.
Use it to extract a self-contained report (possibly the whole manual) from an Info manual. The report is itself an Info buffer, with hyperlinks and normal Info behavior.
There are various prefix-argument possibilities that govern
just how subnodes are treated (recursively or not, for
instance). There are a few user options that let you
customize the report appearance. Here's what C-h k +
tells you:
+
runs the commandInfo-merge-subnodes
(found inInfo-mode-map
), which is an interactive compiled Lisp function ininfo+.el
.It is bound to
+
,menu-bar Info Merge Subnodes
.
(Info-merge-subnodes &optional RECURSIVE-DISPLAY-P RECURSIVE-CALL-P)
Integrate current node with nodes referred to in its Menu.
Displays the current Info node, together with the nodes in its Menu. Buffer
*Info: NODE*
is used for the display, whereNODE
is the name of the current node. The contents of this node's subnodes (the nodes named in this node's Menu) are included in the buffer, following the contents of the current node.Optional arg
RECURSIVE-DISPLAY-P
(prefix arg if interactive) governs the way menus of subnodes are treated:
If
nil
, nothing additional happens. Subnode menus are not explored. Only the current node and its immediate subnodes are documented, in the single display buffer*Info: NODE*
.If non-
nil
, then the subnodes of a node are treated in the same way as the parent node, recursively: If any of them has, itself, a Menu, then that menu's subnodes are also explored, and so on.
If
RECURSIVE-DISPLAY-P
is zero, then a single display buffer is used for all of the nodes explored. Otherwise, a separate display buffer is used for each subnode that has a Menu (see next).Use this when you want a single, flat compilation of the current node and all of its subnodes. It is less appropriate when the current node has several levels of subnodes: The flattened result can be difficult to read.
If
RECURSIVE-DISPLAY-P
is positive, then the contents of each subnode are displayed twice: once in the parent node's display, and once in the subnode's own display.Use this when the current node has several levels of subnodes and you want each display buffer to be self-contained.
If
RECURSIVE-DISPLAY-P
is negative, then there is no redundancy: A subnode's contents are only displayed in its parent's buffer. The subnode's own display buffer only contains the contents of its own subnodes.Use this when the current node has several levels of subnodes and you want no redundancy between the display buffers.
The user option (variable)
Info-subtree-separator
is a string to be inserted byInfo-merge-subnodes
just before the title of each node (preceding its description). By default it is"\n* "
, producing a node title resembling a menu item. Setting this to"\f\n* "
will cause a page break before each node description. For more on setting this variable, typeC-h v Info-subtree-separator
.
Optional second arg
RECURSIVE-CALL-P
is only for internal use. It is used to indicate whether (non-nil
) or not (nil
) this is a recursive (i.e. not a top-level) call toInfo-merge-subnodes
. Non-nil
means that this is a subnode, and that its contents should only be included in the present display ifRECURSIVE-DISPLAY-P
is also non-nil
. For proper operation whenRECURSIVE-DISPLAY-P
is zero, the non-nil
value ofRECURSIVE-CALL-P
should be the node name of the top-level call toInfo-merge-subnodes
.
info+.el
, back in 1996! It's hardly changed since then - see the Change log in the file.
The info buffers already contain the whole manual. They just use narrowing to show one section at a time.
If you want to see the whole thing, just do C-x n w
to widen the buffer.
No need for packages.
EDIT: Since Info-mode re-narrows the buffer when following links, one can use an advice to keep the buffer wide:
(defun widen-after-info-follow (&rest _)
(widen))
(advice-add 'Info-follow-nearest-node :after 'widen-after-info-follow)
info
itself! Take a look at the following commands:Info-search
(bound tos
) andinfo-apropos
. Take the opportunity to read the info manual that teaches you how to use info :)M-x Info-help
; evaluate(info "(info) Advanced")
.