Function: hif-get-argument-list

hif-get-argument-list is a byte-compiled function defined in hideif.el.gz.

Signature

(hif-get-argument-list &optional KEEP-SPACE)

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/hideif.el.gz
(defun hif-get-argument-list (&optional keep-space)
  (let ((nest 0)
        (parmlist nil) ; A "token" list of parameters, will later be parsed
        (parm nil))

    (while (or (not (eq (hif-nexttoken keep-space) 'hif-rparen))
               (/= nest 0))
      (if (eq (car (last parm)) 'hif-comma)
          (setq parm nil))
      (cond
       ((eq hif-token 'hif-lparen)
        (setq nest (1+ nest)))
       ((eq hif-token 'hif-rparen)
        (setq nest (1- nest)))
       ((and (eq hif-token 'hif-comma)
             (= nest 0))
        (push (nreverse parm) parmlist)
        (setq parm nil)))
      (push hif-token parm))

    (push (nreverse parm) parmlist) ; Okay even if PARM is nil
    (hif-nexttoken keep-space) ; Drop the `hif-rparen', get next token
    (nreverse parmlist)))