Function: prolog-clause-info
prolog-clause-info is a byte-compiled function defined in
prolog.el.gz.
Signature
(prolog-clause-info)
Documentation
Return a (name arity) list for the current clause.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/prolog.el.gz
(defun prolog-clause-info ()
"Return a (name arity) list for the current clause."
(save-excursion
(goto-char (prolog-clause-start))
(let* ((op (point))
(predname
(if (looking-at prolog-atom-char-regexp)
(progn
(skip-chars-forward "^ (.")
(buffer-substring op (point)))
""))
(arity 0))
;; Retrieve the arity.
(if (looking-at prolog-left-paren)
(let ((endp (save-excursion
(forward-list) (point))))
(setq arity 1)
(forward-char 1) ; Skip the opening paren.
(while (progn
(skip-chars-forward "^[({,'\"")
(< (point) endp))
(if (looking-at ",")
(progn
(setq arity (1+ arity))
(forward-char 1) ; Skip the comma.
)
;; We found a string, list or something else we want
;; to skip over.
(forward-sexp 1))
)))
(list predname arity))))