Function: rx--all-string-or-args

rx--all-string-or-args is a byte-compiled function defined in rx.el.gz.

Signature

(rx--all-string-or-args BODY)

Documentation

If BODY only consists of strings or such or forms, return all the strings.

Otherwise throw rx--nonstring.

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/rx.el.gz
(defun rx--all-string-or-args (body)
  "If BODY only consists of strings or such `or' forms, return all the strings.
Otherwise throw `rx--nonstring'."
  (mapcan (lambda (form)
            (cond ((stringp form) (list form))
                  ((and (consp form) (memq (car form) '(or |)))
                   (rx--all-string-or-args (cdr form)))
                  (t (throw 'rx--nonstring nil))))
          body))