Commit 854b5f17 authored by Gail Zacharias's avatar Gail Zacharias

patch decoded-arglist-to-string to print only the message names -- no other...

patch decoded-arglist-to-string to print only the message names -- no other lambda list details -- when in THE/THE-OBJECT/THE-CHILD
parent b3a89137
......@@ -163,6 +163,11 @@
(*arglist-show-packages* nil))
(punt raw-form :print-right-margin print-right-margin)))
(def-wrap decoded-arglist-to-string (arglist &key operator highlight print-right-margin)
(if (message-list-arglist-p operator arglist)
(print-message-list-for-autodoc arglist print-right-margin)
(punt arglist :operator operator :highlight highlight)))
(def-wrap form-path-to-arglist-path (form-path form arglist)
(when *autodoc-highlighting*
(punt form-path form arglist)))
......@@ -769,6 +774,28 @@ in one of the *internal-packages*), otherwise filter for non-nil message-remarks
(when (eq (this-the-functionp this-the) :evaluate)
(list (make-arglist :required-args '(expression)))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defvar +message-list-operators+ '(gendl:the gendl:the-object gendl:the-child))
(defun message-list-arglist-p (operator arglist)
(and (member operator +message-list-operators+)
(arglist.key-p arglist)
(eql (+ (length (arglist.required-args arglist)) (length (arglist.optional-args arglist)))
(length (arglist.provided-args arglist)))))
(defun print-message-list-for-autodoc (arglist print-right-margin)
(with-output-to-string (*standard-output*)
(with-arglist-io-syntax
(let ((*print-right-margin* print-right-margin))
(pprint-logical-block (nil nil)
(loop for first = t then nil
for keyarg in (arglist.keyword-args arglist)
do (unless first
(write-char #\space)
(pprint-newline :fill))
do (princ (keyword-arg.keyword keyarg))))))))
;; 10. UTILITIES
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment