100 lines
9.7 KiB
Plaintext
100 lines
9.7 KiB
Plaintext
Testing the programmatic interface to INSPECTW
|
||
(assuming in Interlisp package)
|
||
|
||
type:
|
||
(CL:IN-PACKAGE "INTERLISP")
|
||
|
||
type:
|
||
(DEFINEQ (FETCHFROMLIST (AL PRP)
|
||
(COND ((EQUAL PRP (QUOTE FIRST))
|
||
(CAR (EVAL AL)))
|
||
((EQUAL PRP (QUOTE SECOND))
|
||
(CADR (EVAL AL)))
|
||
((EQUAL PRP (QUOTE THIRD))
|
||
(CADDR (EVAL AL)))
|
||
((EQUAL PRP (QUOTE FOURTH))
|
||
(CADDDR (EVAL AL))))))
|
||
|
||
(DEFINEQ (STOREINLIST (AL PRP NV)
|
||
(SET AL
|
||
(COND ((EQUAL PRP (QUOTE FIRST))
|
||
(CONS NV (CDR (EVAL AL))))
|
||
((EQUAL PRP (QUOTE SECOND))
|
||
(CONS (CAR (EVAL AL))
|
||
(CONS NV (CDDR (EVAL AL)))))
|
||
((EQUAL PRP (QUOTE THIRD))
|
||
(CONS (CAR (EVAL AL))
|
||
(CONS (CADR (EVAL AL))
|
||
(CONS NV
|
||
(CDDDR (EVAL AL))))))
|
||
((EQUAL PRP (QUOTE FOURTH))
|
||
(CONS (CAR (EVAL AL))
|
||
(CONS (CADR (EVAL AL))
|
||
(CONS (CADDR (EVAL AL))
|
||
(CONS NV NIL)))))))))
|
||
|
||
(DEFINEQ (PROPCOM (PRP AL INS)
|
||
(SET AL (REVERSE (EVAL AL)))))
|
||
|
||
(DEFINEQ (VALCOM (VAL PRP AL INS)
|
||
(SET AL (REVERSE (EVAL AL)))
|
||
(INSPECTW.REDISPLAY INS NIL)))
|
||
|
||
(DEFINEQ (TITLECOM (INS AL)
|
||
(SET AL (QUOTE (X Y Z A)))
|
||
(INSPECTW.REDISPLAY INS NIL)))
|
||
|
||
(DEFINEQ (SELECTF (PRP VF INS)
|
||
(PRINTOUT T T "YOU PICKED " PRP)
|
||
(if VF then
|
||
(PRINTOUT T " OR RATHER, THE VALUE OF " PRP T)
|
||
else (PRINTOUT T " IT IS A PROPERTY" T))))
|
||
|
||
(DEFINEQ (PROPP (PRP AL)
|
||
(LIST AL PRP)))
|
||
|
||
(SETQ ALIST '(A B C D))
|
||
|
||
(SETQ WIND (INSPECTW.CREATE 'ALIST '(FIRST SECOND THIRD FOURTH) 'FETCHFROMLIST 'STOREINLIST))
|
||
|
||
-- an inspect window appears
|
||
|