Function: woman-mode

woman-mode is an interactive and byte-compiled function defined in woman.el.gz.

Signature

(woman-mode)

Documentation

Turn on (most of) Man mode to browse a buffer formatted by WoMan.

WoMan is an Elisp emulation of much of the functionality of the Emacs man command running the standard UN*X man and ?roff programs. WoMan author: F.J.Wright@Maths.QMW.ac.uk See Man-mode for additional details.
                woman
                woman-follow
- negative-argument
- negative-argument
. beginning-of-buffer
0 digit-argument
0 digit-argument
1 digit-argument
1 digit-argument
2 digit-argument
2 digit-argument
3 digit-argument
3 digit-argument
4 digit-argument
4 digit-argument
5 digit-argument
5 digit-argument
6 digit-argument
6 digit-argument
7 digit-argument
7 digit-argument
8 digit-argument
8 digit-argument
9 digit-argument
9 digit-argument
< beginning-of-buffer
<keymap> C-M-i backward-button
<keymap> TAB forward-button
> end-of-buffer
? describe-mode
DEL scroll-down-command
M-<mouse-2> woman-follow-word
M-n Man-next-manpage
M-n WoMan-next-manpage
M-p Man-previous-manpage
M-p WoMan-previous-manpage
R woman-reformat-last-file
RET man-follow
S-SPC scroll-down-command
SPC scroll-up-command
SPC..~ undefined
SPC..~ undefined
g Man-goto-section
g revert-buffer
h describe-mode
k Man-kill
m man
n Man-next-section
p Man-previous-section
q quit-window
r Man-follow-manual-reference
s Man-goto-see-also-section
u Man-update-manpage
w woman

In addition to any hooks its parent mode man-common might have run, this mode runs the hook woman-mode-hook, as the final or penultimate step during initialization.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/woman.el.gz
(define-derived-mode woman-mode man-common "WoMan"
  "Turn on (most of) Man mode to browse a buffer formatted by WoMan.
WoMan is an Elisp emulation of much of the functionality of the Emacs
`man' command running the standard UN*X man and ?roff programs.
WoMan author: F.J.Wright@Maths.QMW.ac.uk
See `Man-mode' for additional details.
\\{woman-mode-map}"
  ;; FIXME: Should all this just be re-arranged so that this can just
  ;; inherit `man-common' and be done with it?
  (cl-letf (((symbol-function 'Man-build-page-list) #'ignore)
	    ((symbol-function 'Man-strip-page-headers) #'ignore)
	    ((symbol-function 'Man-unindent) #'ignore)
	    ((symbol-function 'Man-goto-page) #'ignore))
    ;; Prevent inappropriate operations:
    (delay-mode-hooks (Man-mode)))
  (setq tab-width woman-tab-width)
  (setq major-mode 'woman-mode
	mode-name "WoMan")
  ;; Don't show page numbers like Man-mode does.  (Online documents do
  ;; not have pages)
  (kill-local-variable 'mode-line-buffer-identification)
  (use-local-map woman-mode-map)
  ;; Imenu support:
  (setq imenu-generic-expression woman-imenu-generic-expression)
  (setq-local imenu-space-replacement " ")
  ;; Bookmark support.
  (setq-local bookmark-make-record-function #'woman-bookmark-make-record)
  ;; For reformat ...
  ;; necessary when reformatting a file in its old buffer:
  (setq imenu--last-menubar-index-alist nil)
  ;; necessary to avoid re-installing the same imenu:
  (setq woman-imenu-done nil)
  (if woman-imenu (woman-imenu))
  (let ((inhibit-read-only t))
    (Man-highlight-references 'WoMan-xref-man-page)))