file: EDITREC purpose: See/Edit random non-list structures. to use: (EDITX OBJECT TYPE) ; to edit (SHOWX OBJECT TYPE) ; to just generate a listified representation EDITX and SHOWX let you examine and modify any structure known to the record package, file package, or defined as a data type. Each field associated with the object is unpacked and cons'd into a list with its field name. In SHOWX, the resulting list structure is returned and (presumably) printed by lispx. This is especially pleasant when SYSPRETTYFLG is set to T, and especially pleasant when PRINTOPT has been loaded and SYSPRETTYFLG is set to PRINTCAUTIOUSLY. In EDITX, the result of this unpacking operation is edited and any changes made to the values are undoably incorporated into the original object if you exit normally. OBJECT may be any object, thought some objects may not be meaningfully expanded in the process. TYPE is optional. If type is unspecified, the DATATYPE of the object is used as a starting point, and "reasonable" record alternatives are suggested. If all else fails, a BLOCKRECORD or ACCESSFNS with the same name as the TYPENAME of the object is used. If otherwise reasonable, EDITX will use the same arguments as last time you used it on either the same object or an object of the same type. If there seeem to be multiple reasonable alternatives, or if TYPE is specified as the atom "?", ASKUSER will be called to allow you to select among the alternatives. The algorithm for selecting appropriate records includes looking for similarly cons'd list records, or for appropriate size and type ARRAYBLOCK records. The default display for arrays and hash arrays includes an exploded list structure for their contents. EXAMPLES: NIL 85_(CREATE FOO A _ 1 B _ 2 C _ 3 D _ 4) (1 (2 3) 4) 86_) NIL 86_(SHOWX IT) ((1 (2 3) 4) FOO ((D 4) (C 3) (B 2) (A 1))) 87_(CREATE BAR A _ 1 B _ 2 C _ 3 D _ 4) (1 2 3 (4 NIL)) 89_(SHOWX IT) ((1 2 3 (4 NIL)) BAR ((E NIL) (D 4) (C 3) (B 2) (A 1))) 90_(CREATE MUMBLE A _ 1 B _ 2 C _ 3 D _ 4) {ARRAYP}#003f6710 91_(SHOWX IT) ({ARRAYP}#003f6710 MUMBLE ((A 1) (B 2) (C 3) (D 4))) 92_(SHOWX 'A) which type in (VARS FIELDS ATOM) should I use ? FIELDS (PROGN (ARRAYBLOCK MUMBLE (A B C D)) (RECORD BAR (A B C (D E))) (RECORD FOO (A (B C) D))) 94_(SHOWX 'B) which type in (FIELDS ATOM) should I use ? ATOM (B ATOM ((TOPVAL NOBIND) (PLIST NIL) (FUNDEF NIL) (PNAME "B") (applicator {VMSPACE}#0000b89b) (nextatom LOC)))