How to specify display



Sorry, I posted too early:

I fiddled around a little and got the following:

(defun $test (a b) (list (list '%test a b)))

(defun edges (g) (cadddar g))
(defun vertices (g) (caddar g))

(displa-def %test disptest)

(defun disptest (val res)
  (let ((tmp (dimension-match (vertices val) 
			      (push-string "test(" res))))
    (setq tmp (dimension-match (edges val) (push-string "," tmp)))
    (push-string ")" tmp)))

This looks ugly, but it works...

Remains one question: Is it ok to store all the information as tags? when 
are the tags erased - especially in the case

((%hypergraph props) )

i.e. empty cdr

and how can I find "my" tag in the list of tags?

I still have to think about subst, ev, and friends... Maybe there is a way 
to have the stuff which is subst'able or ev'able in the cdr. 
Are the tags *always* cleared if the cdr changes *somehow*? Then I could 
just keep edges and vertices in the cdr and in the properties. 

Unfortunately, I couldn't control which information should be kept then. 
Or could I? Is it possible to specify a function that should be called 
whenever the cdr changes?

Thanks a lot, Martin