;; The WoMan menu provides an option to make a contents menu for the
;; current man page (using imenu). Alternatively, if you set the
-;; variable `woman-imenu' to `t' then WoMan will do it automatically
+;; variable `woman-imenu' to t then WoMan will do it automatically
;; for every man page. The menu title is the value of the variable
;; `woman-imenu-title', which is "CONTENTS" by default. By default,
;; the menu shows manual sections and subsections, but you can change
;; Howard Melman made (essentially) the following suggestions, which
;; are slightly different from the expression that I currently use.
;; You may prefer one of Howard's suggestions, which I think assume
-;; that `case-fold-search' is `t' (which it is by default):
+;; that `case-fold-search' is t (which it is by default):
;; (setq woman-imenu-generic-expression
;; '((nil "^\\( \\)?\\([A-Z][A-Z ]+[A-Z]\\)[ \t]*$" 2)))
;; This is modeled on the byte-compiler. It logs all files formatted
;; by WoMan, and if WoMan finds anything that it cannot handle then it
;; writes a warning to this buffer. If the variable `woman-show-log'
-;; is non-nil (by default it is `nil') then WoMan automatically
+;; is non-nil (by default it is nil) then WoMan automatically
;; displays this buffer. Many WoMan warnings can be completely
;; ignored, because they are reporting the fact that WoMan has ignored
;; requests that it is correct to ignore. In some future version this
;; Uninterpreted ?roff requests can optionally be left in the
;; formatted buffer to indicate precisely where they occur by
-;; resetting the variable `woman-ignore' to `nil' (by default it is
-;; `t').
+;; resetting the variable `woman-ignore' to nil (by default it is
+;; t).
;; Automatic initiation of woman decoding
;; CASE-DEPENDENCE OF FILENAMES. By default, WoMan ignores case in
;; file pathnames only when it seems appropriate. MS-Windows users
;; who want complete case independence should set the NTEmacs variable
-;; `w32-downcase-file-names' to `t' and use all lower case when
+;; `w32-downcase-file-names' to t and use all lower case when
;; setting WoMan file paths.
;; (1) INCOMPATIBLE CHANGE! WoMan no longer uses a persistent topic
(defcustom woman-dired-keys t
"List of `dired' mode keys to define to run WoMan on current file.
-E.g. '(\"w\" \"W\"), or any non-null atom to automatically define
+E.g. (\"w\" \"W\"), or any non-null atom to automatically define
\"w\" and \"W\" if they are unbound, or nil to do nothing.
Default is t."
:type '(choice (const :tag "None" nil)
(defvar woman-file-regexp nil
"Regexp used to select (possibly compressed) man source files, e.g.
-\"\\.\\([0-9lmnt]\\w*\\)\\(\\.\\(g?z\\|bz2\\|xz\\)\\)?\\'\".
+\"\\.\\([0-9lmnt]\\w*\\)\\(\\.\\(g?z\\|bz2\\|xz\\)\\)?\\\\='\".
Built automatically from the customizable user options
`woman-uncompressed-file-regexp' and `woman-file-compression-regexp'.")
in the ncurses package include `toe.1m', `form.3x', etc.
Note: an optional compression regexp will be appended, so this regexp
-MUST NOT end with any kind of string terminator such as $ or \\'."
+MUST NOT end with any kind of string terminator such as $ or \\\\='."
:type 'regexp
:set 'set-woman-file-regexp
:group 'woman-interface)
"Do not change this unless you are sure you know what you are doing!
Regexp used to match compressed man file extensions for which
decompressors are available and handled by auto-compression mode,
-e.g. \"\\\\.\\\\(g?z\\\\|bz2\\\\|xz\\\\)\\\\'\" for `gzip', `bzip2', or `xz'.
-Should begin with \\. and end with \\' and MUST NOT be optional."
+e.g. \"\\\\.\\\\(g?z\\\\|bz2\\\\|xz\\\\)\\\\\\='\" for `gzip', `bzip2', or `xz'.
+Should begin with \\. and end with \\\\=' and MUST NOT be optional."
;; Should be compatible with car of
;; `jka-compr-file-name-handler-entry', but that is unduly
;; complicated, includes an inappropriate extension (.tgz) and is
(defvar woman-if-conditions-true '(?n ?e ?o)
"List of one-character built-in condition names that are true.
Should include ?e, ?o (page even/odd) and either ?n (nroff) or ?t (troff).
-Default is '(?n ?e ?o). Set via `woman-emulation'.")
+Default is (?n ?e ?o). Set via `woman-emulation'.")
\f
;;; Specialized utility functions:
(setq woman-frame (make-frame)))))
(set-buffer (get-buffer-create bufname))
(condition-case nil
- (switch-to-buffer (current-buffer))
+ (display-buffer (current-buffer))
(error (pop-to-buffer (current-buffer))))
(buffer-disable-undo)
(setq buffer-read-only nil)
;; start in 19.34!
(save-excursion
(let ((case-fold-search t))
- ;; Co-operate with auto-compression mode:
+ ;; Cooperate with auto-compression mode:
(if (and compressed
(or (eq compressed t)
(string-match-p woman-file-compression-regexp filename))
(if (zerop woman-buffer-number)
(let ((buffer (get-buffer (cdr (car woman-buffer-alist)))))
(if buffer
- (switch-to-buffer buffer)
+ (display-buffer buffer)
;; Delete alist element:
(setq woman-buffer-alist (cdr woman-buffer-alist))
nil))
(let* ((prev-ptr (nthcdr (1- woman-buffer-number) woman-buffer-alist))
(buffer (get-buffer (cdr (car (cdr prev-ptr))))))
(if buffer
- (switch-to-buffer buffer)
+ (display-buffer buffer)
;; Delete alist element:
(setcdr prev-ptr (cdr (cdr prev-ptr)))
(if (>= woman-buffer-number (length woman-buffer-alist))
(defvar woman-emulate-tbl nil
"True if WoMan should emulate the tbl preprocessor.
This applies to text between .TE and .TS directives.
-Currently set only from '\" t in the first line of the source file.")
+Currently set only from \\='\\\" t in the first line of the source file.")
(defun woman-decode-region (from _to)
"Decode the region between FROM and TO in UN*X man-page source format."
(defsubst woman-unescape (macro)
"Replace escape sequences in the body of MACRO.
-Replaces || by |, but | by \, where | denotes the internal escape."
+Replaces || by |, but | by \\, where | denotes the internal escape."
(let (start)
(while (setq start (string-match woman-unescape-regex macro start))
(setq macro
(defun woman-strings (&optional to)
"Process ?roff string requests and escape sequences up to buffer position TO.
Strings are defined/updated by `.ds xx string' requests and
-interpolated by `\*x' and `\*(xx' escapes."
+interpolated by `\\*x' and `\\*(xx' escapes."
;; Add support for .as and .rm?
(while
;; Find .ds requests and \* escapes:
(if (> (woman-parse-numeric-value) 0) 1 0))
)))
))
-; (if (looking-at "[ \t\nRC\)\"]") ; R, C are tab types
+; (if (looking-at "[ \t\nRC)\"]") ; R, C are tab types
; ()
; (WoMan-warn "Unimplemented numerical operator `%c' in %s"
; (following-char)
;; string-to-number returns 0 if number not parsed.
(string-to-number (match-string 0)))
((looking-at "\\\\n\\([-+]\\)?\\(?:\
-\\[\\([^]]+\\)\\]\\|\(\\(..\\)\\|\\(.\\)\\)")
+\\[\\([^]]+\\)\\]\\|(\\(..\\)\\|\\(.\\)\\)")
;; interpolate number register, maybe auto-incremented
(let* ((pm (match-string-no-properties 1))
(name (or (match-string-no-properties 2)
"Find and return start of next control line.
PAT, if non-nil, specifies an additional component of the control
line regexp to search for, which is appended to the default
-regexp, \"\\(\\\\c\\)?\\n[.']\"."
+regexp, \"\\(\\\\c\\)?\\n[.\\=']\"."
(let ((pattern (concat "\\(\\\\c\\)?\n[.']" pat))
to)
(save-excursion
(defun woman2-TH (to)
".TH n c x v m -- Begin a man page. Format paragraphs upto TO.
-n is the name of the page in chapter c\; x is extra commentary\;
+n is the name of the page in chapter c; x is extra commentary;
v alters page foot left; m alters page head center.
\(Should set prevailing indent and tabs to 5.)"
(woman-forward-arg 'unquote 'concat)
(goto-char from)))
(defun woman-horizontal-line ()
- "\\l'Nc' -- Draw a horizontal line of length N using character c, default _."
+ "\\l\\='Nc\\=' -- Draw a horizontal line of length N using character c, default _."
(delete-char -1)
(delete-char 1)
(looking-at "\\(.\\)\\(.*\\)\\1")
(defun woman2-ta (to)
".ta Nt ... -- Set tabs, left type, unless t=R(right), C(centered).
-\(Breaks, but should not.) The tab stops are separated by spaces\;
+\(Breaks, but should not.) The tab stops are separated by spaces;
a value preceded by + represents an increment to the previous stop value.
Format paragraphs upto TO."
(setq tab-stop-list nil)
(defun WoMan-log (format &rest args)
"Log a message out of FORMAT control string and optional ARGS."
- (WoMan-log-1 (apply 'format format args)))
+ (WoMan-log-1 (apply #'format-message format args)))
(defun WoMan-warn (format &rest args)
"Log a warning message out of FORMAT control string and optional ARGS."
- (setq format (apply 'format format args))
+ (setq format (apply #'format-message format args))
(WoMan-log-1 (concat "** " format)))
;; request is not used dynamically by any callees.
(provide 'woman)
-\f
-;; Local Variables:
-;; coding: utf-8
-;; End:
-
;;; woman.el ends here