Function: woman0-roff-buffer
woman0-roff-buffer is a byte-compiled function defined in woman.el.gz.
Signature
(woman0-roff-buffer FROM)
Documentation
Process conditional-type requests and user-defined macros.
Start at FROM and re-scan new text as appropriate.
Source Code
;; Defined in /usr/src/emacs/lisp/woman.el.gz
(defun woman0-roff-buffer (from)
"Process conditional-type requests and user-defined macros.
Start at FROM and re-scan new text as appropriate."
(goto-char from)
(let ((woman0-if-to (make-marker))
woman-request woman0-macro-alist
(woman0-search-regex-start woman0-search-regex-start)
(woman0-search-regex
(concat woman0-search-regex-start woman0-search-regex-end))
processed-first-hunk
woman0-rename-alist)
(set-marker-insertion-type woman0-if-to t)
(while (re-search-forward woman0-search-regex nil t)
(setq woman-request (match-string 1))
;; Process escape sequences prior to first request (Bug#7843).
(unless processed-first-hunk
(setq processed-first-hunk t)
(let ((process-escapes-to-marker (point-marker)))
(set-marker-insertion-type process-escapes-to-marker t)
(save-match-data
(save-excursion
(goto-char from)
(woman2-process-escapes process-escapes-to-marker)))))
(cond ((string= woman-request "ig") (woman0-ig))
((string= woman-request "if") (woman0-if "if"))
((string= woman-request "ie") (woman0-if "ie"))
((string= woman-request "el") (woman0-el))
((string= woman-request "so") (woman0-so))
((string= woman-request "rn") (woman0-rn))
((string= woman-request "de") (woman0-de))
((string= woman-request "am") (woman0-de 'append))
(t (woman0-macro woman-request))))
(set-marker woman0-if-to nil)
(woman0-rename)
;; Should now re-run `woman0-roff-buffer' if any renaming was
;; done, but let's just hope this is not necessary for now!
))