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 (and (or (not (eq (hif-nexttoken keep-space) 'hif-rparen))
(/= nest 0))
hif-token)
(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))
(if (equal parm '(hif-comma)) ;; missing the last argument
(setq parm '(nil)))
(push (nreverse parm) parmlist) ; Okay even if PARM is nil
(hif-nexttoken keep-space) ; Drop the `hif-rparen', get next token
(nreverse parmlist)))