Function: hif-define-operator

hif-define-operator is a byte-compiled function defined in hideif.el.gz.

Signature

(hif-define-operator TOKENS)

Documentation

"Upgrade" hif-define XXX to (hif-define XXX) so it won't be substituted.

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/hideif.el.gz
(defun hif-define-operator (tokens)
  "\"Upgrade\" hif-define XXX to `(hif-define XXX)' so it won't be substituted."
  (if (memq 'hif-defined tokens)
      (let* ((hif-token-list tokens)
             hif-token
             target
             paren)
        (setq tokens nil) ;; now it becomes the result
        (while (hif-nexttoken t) ;; keep `hif-space'
          (when (eq hif-token 'hif-defined)
            ;; defined XXX, start ignoring `hif-space'
            (hif-nexttoken)
            (if (setq paren (eq hif-token 'hif-lparen))
                (hif-nexttoken))
            (if (not (hif-if-valid-identifier-p
                      (setq target hif-token)))
                (error "`defined' followed by non-identifier: %S" target))
            (if (and paren
                     (not (eq (hif-nexttoken) 'hif-rparen)))
                (error "Missing right parenthesis for `defined'"))
            (setq hif-token
                  (list 'hif-defined 'hif-lparen target 'hif-rparen)))
          (push hif-token tokens))
        (nreverse tokens))
    tokens))