EmacsWiki: Info Plus (original) (raw)

Library info+.el extends the standard Emacs library info.el in many ways. Info+ provides:

Links shown; mouseover with definitions

DrewsEmacsInfoGlossLinksFace+Def

Links hidden; mouseover with definitions

DrewsEmacsInfoGlossLinksNOFace+Def

DrewsEmacsInfoImage

DrewsEmacsInfoCrumbsInHeaderImage

Use ‘Info-merge-subnodes’ 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 options that govern just how subnodes are treated (recursively or not, for instance). There are a few user variables that let you customize the report appearance.

Here is a screenshot of a report. I removed most of the text in each node (replacing it by a narrow band of white with “**. . .**”) so that I could show more than one node in the screenshot; the real report is a buffer 322 lines long.

DrewsEmacsInfoMerged

You can convert such a report to HTML using menu Tools > HTMLize Buffer (‘mkhtml-any-buffer’) from library Lisp:mkhtml.el. For more information, see SaveAsHtml. (That code is quite old, however.)

See Also: Icicles - Info Enhancements.


Spacemacs Use of Info+

From user emacs18, 2021-08-25 00:07 UTC:

Spacemacs uses Info+ by default for all users. Aside from loading info+.el, Spacemacs has these two lines to configure it:

  (spacemacs/set-leader-keys "hj" 'info-display-manual)
  (setq Info-fontify-angle-bracketed-flag nil)

First line binds ‘SPC h j’ and/or ‘M-m h j’ key sequences to info-display-manual.

Following are the key sequences that follow ‘SPC h’ or ‘M-m h’ prefix keys. If you can suggest other commands in Info+ that we can add key bindings for, then please do. I can submit pull request to have the bindings added. Whether my PR request is approved or not is not up to me to say.

RET → helm-enable-minor-mode SPC → helm-spacemacs-help . → helm-spacemacs-help-dotspacemacs f → helm-spacemacs-help-faq i → helm-info-at-point j → info-display-manual k → which-key-show-top-level l → helm-spacemacs-help-layers m → helm-man-woman n → view-emacs-news p → helm-spacemacs-help-packages r → helm-spacemacs-help-docs t → helm-spacemacs-help-toggles I → report-issue M → helm-switch-major-mode b → +prefix d → browse-docs-online-at-point d → +help-describe a → helm-apropos b → describe-bindings c → describe-char f → describe-function k → describe-key l → describe-last-keys m → describe-mode p → describe-package s → describe-system-info t → describe-theme v → describe-variable x → describe-ex-command F → helm-faces K → describe-keymap P → configuration-layer/describe-pac.. T → describe-theme P → +profiler k → profiler-stop r → profiler-report s → profiler-start w → profiler-report-write-profile T → +tutorials e → emacs-tutorial v → evil-tutor-start

– emacs18 2021-08-25 06:51 UTC


Discussion and Issues

Your recognition of info-quoted-name seems like is not right, e.g. `(a list of (+ 2 3) elements) info-quoted-name highlight it. – ahei

Only if it is followed (by default on the same line) by a normal single-quote char: '. But yes, otherwise, you are correct.

Highlighting ‘...’ or `...', and "..." strings is problematic. In general, the results are good, but there are several things that can throw it off. Fortunately, these things do not occur that commonly in manuals – but they do occur. The more typical problem is an isolated " character referred to as such in the manual (e.g. ?"). You’ll just have to live with it or, if you think it’s not worth it, customize ‘Info-fontify-quotations’ to nil. – DrewAdams


Hi! A quick question: how to prevent info+ to split my window. I want the original info behavior, if i type M-x info, i want a full window to read. Thanks! --PasJa

Should be OK now. I had some hard-coded cruft leftover from 1999. Thx – DrewAdams


Hi! Version info in current update is inconsistent with previous one. We had Version 21.1 Update #: 4855 while currently Version is 0 with Update #: 4857 Could you correct this? Thanks! --Marcin

Hi Marcin. It is correct as is. I don’t use version information for info+.el (or for most of my other libraries either). package.el needs header field ‘Package-Requires’ to include a version number, however. (Pseudo) version ‘0’ allows any package requiring the given package to use any version of the required one.

Each of my library files has a ‘Last-Updated’ field that has the date and last ` Update #’ (which is incremented each time I save the file). This is the best info to use for reporting/communicating (e.g. about bugs). Users can ignore the ‘Version’ field for most of my libraries.

Thx – DrewAdams


Typo introduced in latest mod at line 3145 results in unbalanced parens, so lib won’t compile. – PhilHudson

Hey would it be possible that the format that Info-breadcrumbs-in-mode-line-mode uses? I don’t like that it removes the * around the mode-line-buffer-identification similar as info has by default and what other modes uses which contain buffers that are not backend by plain files. I also noticed that using nfo-breadcrumbs-in-mode-line-mode breaks doom-modeline-mode.

Thaodan – Björn

It sounds like you don’t want to put the breadcrumbs in the mode line, and you want to see the buffer name (as usual) instead.

For that, just turn off minor mode ‘Info-breadcrumbs-in-mode-line-mode’ or customize that user option.

If you still want to see and use breadcrumbs, you can customize option ‘Info-breadcrumbs-in-header-flag’ to non-‘nil’.

You can easily toggle the use of breadcrumbs in either location interactively, using the Info menubar menu, submenu Toggle/Cycle, items Breadcrumbs in Mode Line and Breadcrumbs in Node Header.

HTH. – DrewAdams


Lisp:info+.el

CategoryDocumentation CategoryHelp CategoryHypermedia CategoryModes