2003-11-30 Per Abrahamsen <abraham@dina.kvl.dk>

* cus-edit.el (custom-add-parent-links): Add documentation links
	for parent, if the item has none of its own.
This commit is contained in:
Per Abrahamsen 2003-12-02 15:01:52 +00:00
parent 3999c70516
commit ac00d71ca6
2 changed files with 28 additions and 6 deletions

View file

@ -1956,7 +1956,7 @@ If INITIAL-STRING is non-nil, use that rather than \"Parent groups:\"."
(type (widget-type widget))
(buttons (widget-get widget :buttons))
(start (point))
found)
(parents nil))
(insert (or initial-string "Parent groups:"))
(mapatoms (lambda (symbol)
(let ((entry (assq name (get symbol 'custom-group))))
@ -1967,12 +1967,29 @@ If INITIAL-STRING is non-nil, use that rather than \"Parent groups:\"."
:tag (custom-unlispify-tag-name symbol)
symbol)
buttons)
(setq found t)))))
(widget-put widget :buttons buttons)
(if found
(insert "\n")
(setq parents (cons symbol parents))))))
(and (null (get symbol 'custom-links)) ;No links of its own.
(= (length parents) 1) ;A single parent.
(let ((links (get (car parents) 'custom-links)))
(when links
(insert "\nParent documentation: ")
(while links
(push (widget-create-child-and-convert widget (car links))
buttons)
(setq links (cdr links))
(cond ((null links)
(insert ".\n"))
((null (cdr links))
(if many
(insert ", and ")
(insert " and ")))
(t
(insert ", ")))))))
(if parents
(insert "\n")
(delete-region start (point)))
found))
(widget-put widget :buttons buttons)
parents))
;;; The `custom-comment' Widget.