Function: woman-forward-arg

woman-forward-arg is a byte-compiled function defined in woman.el.gz.

Signature

(woman-forward-arg &optional UNQUOTE CONCAT)

Documentation

Move forward over one ?roff argument, optionally unquoting and/or joining.

If optional arg UNQUOTE is non-nil then delete any argument quotes. If optional arg CONCAT is non-nil then join arguments.

Source Code

;; Defined in /usr/src/emacs/lisp/woman.el.gz
(defun woman-forward-arg (&optional unquote concat)
  "Move forward over one ?roff argument, optionally unquoting and/or joining.
If optional arg UNQUOTE is non-nil then delete any argument quotes.
If optional arg CONCAT is non-nil then join arguments."
  (if (eq (following-char) ?\")
      (progn
	(if unquote (delete-char 1) (forward-char))
	(re-search-forward "\"\\|$")
	;; Repeated double-quote represents single double-quote
	(while (eq (following-char) ?\") ; paired
	  (if unquote (delete-char 1) (forward-char))
	  (re-search-forward "\"\\|$"))
	(if (eq (preceding-char) ?\")
	    (if unquote (delete-char -1))
	  (WoMan-warn "Unpaired \" in .%s arguments." woman-request)))
    ;; (re-search-forward "[^\\\n] \\|$")	; inconsistent
    (skip-syntax-forward "^ "))
  (cond ((null concat) (skip-chars-forward " \t")) ; don't skip eol!
	((eq concat 'noskip))  ; do not skip following whitespace
	(t (woman-delete-following-space))))