Function: forms--make-parser

forms--make-parser is a byte-compiled function defined in forms.el.gz.

Signature

(forms--make-parser)

Documentation

Generate forms--parser from the information in forms-format-list.

Source Code

;; Defined in /usr/src/emacs/lisp/forms.el.gz
(defun forms--make-parser ()
  "Generate `forms--parser' from the information in `forms-format-list'."

  ;; If we can use text properties, we simply set it to
  ;; `forms--parser-using-text-properties'.
  ;; Otherwise, the function is constructed using a mapcar of
  ;; `forms--make-parser-elt on `forms-format-list'.

  (setq
   forms--parser
   (if forms-use-text-properties
       (function forms--parser-using-text-properties)
     (let ((forms--field nil)
	   (forms--seen-text nil)
	   (forms--dyntext 0))

       ;; Note: we add a nil element to the list passed to `mapcar',
       ;; see `forms--make-parser-elt' for details.
       `(lambda nil
	  (let (here)
	    (goto-char (point-min))
	    ,@(apply #'append
		     (mapcar
		      #'forms--make-parser-elt
		      (append forms-format-list (list nil)))))))))

  (forms--debug 'forms--parser))