1
0
mirror of synced 2026-02-13 11:44:28 +00:00

Rmk37 prc menu shows superset relations (#764)

* PSEUDOHOSTS: GETHOSTINFO of pseudohost goes to true host

* CMLPATHNAME:  Remove unused PARSE-NAMESTRING1

Avoid stumbling on it in future maintenance.  Also, remake filemap for functions and defmacros

* SAMEDIR, COMPAREDIRECTORIES: FILENAMEFIELD → FILENAMEFIELD.STRING

in a few places.  No need to hash atoms

* LLCHAR:  expose $$READONLY in inpname I.s.opr

* GITFNS: prc menu shows superset relations

* GITFNS:  Sort the prc menu

* EDITINTERFACE:  Better edit-date management

* PRETTYFILEINDEX: Destination can be any imagestream, not just display

* TEDIT-PF-SEE:  Use SEE instead of COPYTO IMAGESTREAM

to get better formatting of PRETTYFILEINDEX
This commit is contained in:
rmkaplan
2022-05-11 18:40:13 -07:00
committed by GitHub
parent dcba1a2d60
commit b796727165
18 changed files with 883 additions and 911 deletions

View File

@@ -1,10 +1,13 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "30-Nov-2021 22:12:37" {DSK}<home>larry>medley>lispusers>PRETTYFILEINDEX.;2 94399
(FILECREATED " 5-May-2022 23:33:03" 
{DSK}<Users>kaplan>Local>medley3.5>my-medley>lispusers>PRETTYFILEINDEX.;10 96446
:CHANGES-TO (FNS PFI.PRINT.FILECREATED)
:CHANGES-TO (FNS PFI.PRINT.COMMENTS PFI.MAYBE.NEW.PAGE PFI.MAYBE.PP.DEFINITION
PFI.PRINT.FILECREATED PFI.MAYBE.SEE.PRETTY PRETTYFILEINDEX PFI.PRINT.TO.TAB)
:PREVIOUS-DATE " 9-Jul-2021 21:55:15" {DSK}<home>larry>medley>lispusers>PRETTYFILEINDEX.;1)
:PREVIOUS-DATE "30-Nov-2021 22:12:37"
{DSK}<Users>kaplan>Local>medley3.5>my-medley>lispusers>PRETTYFILEINDEX.;6)
(* ; "
@@ -39,7 +42,7 @@ Copyright (c) 1988, 1992-1993, 1999, 2021 by Xerox Corporation.
(FNS MULTIFILEINDEX MULTIFILEINDEX1 PFI.PRINT.MULTI.INDEX PFI.CHOOSE.BEST
PFI.MERGE.INDICES))
(COMS (* ;
 "Hooks for seeing files pretty elsewhere")
 "Hooks for seeing files pretty elsewhere")
(FNS PFI.MAYBE.SEE.PRETTY PFI.MAYBE.PP.DEFINITION)
(INITVARS (*PRINT-PRETTY-FROM-FILES* T)))
(COMS (* ; "Bitmap hack")
@@ -57,7 +60,7 @@ Copyright (c) 1988, 1992-1993, 1999, 2021 by Xerox Corporation.
*KEYWORD-PACKAGE*)))
(* ;;
 "Properties of definers changed between Lyric and Medley (yech).")
 "Properties of definers changed between Lyric and Medley (yech).")
(MAPCAR '("DEFINER-FOR" "DEFINED-BY" "DEFINITION-NAME")
(FUNCTION CL:INTERN]
@@ -102,7 +105,7 @@ Copyright (c) 1988, 1992-1993, 1999, 2021 by Xerox Corporation.
(READVICE ADVICE))
(*PFI-FILTERS* (VARIABLES . CONSTANTS)))
(COMS (* ;
 "Prettyprint augmentation to mimic system makefile dumping")
 "Prettyprint augmentation to mimic system makefile dumping")
(FNS PUTPROPS.PRETTYPRINT RPAQX.PRETTYPRINT COURIERPROGRAM.PRETTYPRINT
MAYBE.PRETTYPRINT.BOLD)
(ALISTS (PRETTYPRINTMACROS RPAQ RPAQQ RPAQ? ADDTOVAR PUTPROPS COURIERPROGRAM)))
@@ -119,7 +122,7 @@ Copyright (c) 1988, 1992-1993, 1999, 2021 by Xerox Corporation.
MACROPROPS CLISPRECORDTYPES PROMPTWINDOW *PFI-DEFINER-PROPS*
*COMMON-LISP-READ-ENVIRONMENT*))
[DECLARE%: EVAL@COMPILE DOCOPY (* ;
 "Public variables to declare special")
 "Public variables to declare special")
(P (CL:PROCLAIM '(CL:SPECIAL *PFI-TYPES* *PFI-HANDLERS* *PFI-PREVIEWERS*
*PFI-DONT-SPAWN* *PFI-PROPERTIES* *PFI-FILTERS*
*PRINT-PRETTY-FROM-FILES* *PRINT-PRETTY-BITMAPS*
@@ -130,11 +133,11 @@ Copyright (c) 1988, 1992-1993, 1999, 2021 by Xerox Corporation.
(FILESLOAD (SYSLOAD)
DEFINERPRINT))
(* ;
 "Get prettyprinter fixes if running in old sysout")
 "Get prettyprinter fixes if running in old sysout")
(MOVD? [PROG ((SYMS '("OLDLISTFILES1" "LISTFILES1-ORIGINAL"))
S)
(* ;
 "Look for LISTFILES1. These two names are where SINGLEFILEINDEX and PP-CODE-FILE stash it.")
 "Look for LISTFILES1. These two names are where SINGLEFILEINDEX and PP-CODE-FILE stash it.")
LP
(COND [(AND (SETQ S (CL:FIND-SYMBOL (CAR SYMS)))
(GETD S))
@@ -145,8 +148,7 @@ Copyright (c) 1988, 1992-1993, 1999, 2021 by Xerox Corporation.
(MOVD 'PFI.MAYBE.SEE.PRETTY S NIL T))))]
((SETQ SYMS (CDR SYMS))
(GO LP))
(T (* ;
 "Neither one loaded, take original")
(T (* ; "Neither one loaded, take original")
(RETURN 'LISTFILES1]
'PFI.ORIGINAL.LISTFILES1 NIL T)
(MOVD 'PFI.NEW.LISTFILES1 'LISTFILES1 NIL T)
@@ -182,11 +184,12 @@ Copyright (c) 1988, 1992-1993, 1999, 2021 by Xerox Corporation.
(DEFINEQ
(PRETTYFILEINDEX
[LAMBDA (FILENAME PRINTOPTIONS OUTSTREAM DONTINDEX) (* ; "Edited 9-Jul-2021 21:35 by rmk:")
(* ; "Edited 11-Apr-95 00:02 by rmk:")
(* ; "Edited 11-Jun-92 15:58 by cat")
[LAMBDA (FILENAME PRINTOPTIONS OUTSTREAM DONTINDEX) (* ; "Edited 5-May-2022 14:38 by rmk")
(* ; "Edited 9-Jul-2021 21:35 by rmk:")
(* ; "Edited 11-Apr-95 00:02 by rmk:")
(* ; "Edited 11-Jun-92 15:58 by cat")
(* ;; "Makes an indexed file (default is the line printer pseudo-file). The index file will have a number of indices, one for each indexable type. Each type index will list all the items of that type in alphabetical order and the page number of where that item's definition is in the file. The indices will be printed last, so that this can be one-pass.")
(* ;; "Makes an indexed file (default is the line printer pseudo-file). The index file will have a number of indices, one for each indexable type. Each type index will list all the items of that type in alphabetical order and the page number of where that item's definition is in the file. The indices will be printed last, so that this can be one-pass.")
(RESETLST
[PROG ((*STANDARD-OUTPUT* *STANDARD-OUTPUT*)
@@ -215,146 +218,140 @@ Copyright (c) 1988, 1992-1993, 1999, 2021 by Xerox Corporation.
(*PFI-PENDING-COMMENTS*)
FILECREATED ENV WASOPEN MULTIFILEINDEX CRDATE INDICES PART# FIRSTPAGE LASTPAGE CRDATE)
(* ;; "Specials are as follows:")
(* ;; "Specials are as follows:")
(* ;; "*PRINT-PRETTY-BITMAPS* -- tells prettyprinter to render bitmap as its image")
(* ;; "*PRINT-PRETTY-BITMAPS* -- tells prettyprinter to render bitmap as its image")
(* ;; "*PFI-PAGE-COUNT* -- number of current page")
(* ;; "*PFI-PAGE-COUNT* -- number of current page")
(* ;; "*PFI-TWO-SIDED* -- true if preparing two-sided listing")
(* ;; "*PFI-TWO-SIDED* -- true if preparing two-sided listing")
(* ;; "*PFI-TITLE* -- the file name, NIL to suppress headers")
(* ;; "*PFI-TITLE* -- the file name, NIL to suppress headers")
(* ;; "*PFI-ITEM* -- function, etc currently being printed")
(* ;; "*PFI-ITEM* -- function, etc currently being printed")
(* ;; "*PFI-TYPES* -- list specifying the type associated with an expression")
(* ;; "*PFI-TYPES* -- list specifying the type associated with an expression")
(* ;; "*PFI-FILEVARS* -- alist of filevars we have discovered, along with their values. The first one is always mumbleCOMS. Use this in computing *PFI-FNSLST*")
(* ;; "*PFI-FILEVARS* -- alist of filevars we have discovered, along with their values. The first one is always mumbleCOMS. Use this in computing *PFI-FNSLST*")
(* ;;
 "*PFI-FNSLST* -- list of functions known on this file. Used as the FNSLST arg to PRINTDEF")
(* ;;
 "*PFI-FNSLST* -- list of functions known on this file. Used as the FNSLST arg to PRINTDEF")
(* ;;
 "*PFI-LOCATIONS* -- list of (name type page#) constituting the actual index occurrences")
(* ;;
 "*PFI-LOCATIONS* -- list of (name type page#) constituting the actual index occurrences")
(* ;; "*PFI-MAX-WASTED-LINES* -- the maximum number of lines we're willing to waste in order to get an expression all on one page.")
(* ;; "*PFI-MAX-WASTED-LINES* -- the maximum number of lines we're willing to waste in order to get an expression all on one page.")
(* ;; "*PFI-FUNNY-CHARS* -- alist of chars to translate to other chars")
(* ;; "*PFI-FUNNY-CHARS* -- alist of chars to translate to other chars")
(* ;; "*PFI-BITMAP-BASELINE* -- kludge for printing bitmaps--set to baseline of bitmap we have printed below default")
(* ;; "*PFI-BITMAP-BASELINE* -- kludge for printing bitmaps--set to baseline of bitmap we have printed below default")
(* ;;
 "*PFI-PENDING-COMMENTS* -- (lineguess . bodies) of comments we have read but not yet printed")
(* ;;
 "*PFI-PENDING-COMMENTS* -- (lineguess . bodies) of comments we have read but not yet printed")
(* ;; "PRETTYFLG is bound here to insulate us from parallel (MAKEFILE & 'FAST) calls.")
(* ;; "PRETTYFLG is bound here to insulate us from parallel (MAKEFILE & 'FAST) calls.")
[if (TYPENAMEP FILENAME 'STREAM)
then (* ; "Already have input stream")
[SETQ *STANDARD-INPUT* (SETQ WASOPEN (GETSTREAM FILENAME 'INPUT]
then (* ; "Already have input stream")
[SETQ *STANDARD-INPUT* (SETQ WASOPEN (GETSTREAM FILENAME 'INPUT]
else (RESETSAVE NIL (LIST (FUNCTION CLOSEF?)
(SETQ *STANDARD-INPUT* (OPENSTREAM
FILENAME
'INPUT
'OLD
'((SEQUENTIAL T]
(SETQ *STANDARD-INPUT* (OPENSTREAM FILENAME 'INPUT
'OLD
'((SEQUENTIAL T]
(SETQ FILENAME (FULLNAME *STANDARD-INPUT*))
[if (LISTGET PRINTOPTIONS :COMMON)
then (* ; "Common Lisp file")
(SETQ ENV *COMMON-LISP-READ-ENVIRONMENT*)
else (* ;
 "Figure out if this is a file manager file, and if so get environment")
(CL:MULTIPLE-VALUE-SETQ (ENV FILECREATED)
(\PARSE-FILE-HEADER *STANDARD-INPUT* 'RETURN T))
(if (NULL FILECREATED)
then (* ; "Not a File Manager file")
(RETURN NIL)
elseif (NEQ (CAR (LISTP FILECREATED))
'FILECREATED)
then (* ;
 "File started with open paren, but isn't file manager file.")
(RETURN (if WASOPEN
then (* ; "We have already read the first expression, so can't just return now (file may not be randaccessp). So dump what we read and then finish the copy")
(PRINTDEF FILECREATED T T NIL NIL OUTSTREAM)
(PFCOPYBYTES *STANDARD-INPUT* OUTSTREAM)
(* ; "non-nil return says we did it")
FILENAME))
elseif (LISTP (CADDR FILECREATED))
then (* ;
 "A compiled file--just use COPYBYTES to avoid binary hassles.")
(RETURN (if WASOPEN
then (* ;
 "Print environment and filecreated before copying rest")
(PRINT-READER-ENVIRONMENT ENV OUTSTREAM)
(WITH-READER-ENVIRONMENT ENV (PRINT FILECREATED
OUTSTREAM))
(COPYBYTES *STANDARD-INPUT* OUTSTREAM)
(* ; "non-nil return says we did it")
FILENAME]
then (* ; "Common Lisp file")
(SETQ ENV *COMMON-LISP-READ-ENVIRONMENT*)
else (* ;
 "Figure out if this is a file manager file, and if so get environment")
(CL:MULTIPLE-VALUE-SETQ (ENV FILECREATED)
(\PARSE-FILE-HEADER *STANDARD-INPUT* 'RETURN T))
(if (NULL FILECREATED)
then (* ; "Not a File Manager file")
(RETURN NIL)
elseif (NEQ (CAR (LISTP FILECREATED))
'FILECREATED)
then (* ;
 "File started with open paren, but isn't file manager file.")
(RETURN (if WASOPEN
then (* ; "We have already read the first expression, so can't just return now (file may not be randaccessp). So dump what we read and then finish the copy")
(PRINTDEF FILECREATED T T NIL NIL OUTSTREAM)
(PFCOPYBYTES *STANDARD-INPUT* OUTSTREAM)
(* ; "non-nil return says we did it")
FILENAME))
elseif (LISTP (CADDR FILECREATED))
then (* ;
 "A compiled file--just use COPYBYTES to avoid binary hassles.")
(RETURN (if WASOPEN
then (* ;
 "Print environment and filecreated before copying rest")
(PRINT-READER-ENVIRONMENT ENV OUTSTREAM)
(WITH-READER-ENVIRONMENT ENV (PRINT FILECREATED
OUTSTREAM))
(COPYBYTES *STANDARD-INPUT* OUTSTREAM)
(* ; "non-nil return says we did it")
FILENAME]
(CL:UNLESS DONTINDEX (CL:FORMAT PROMPTWINDOW "~%%Starting index of ~A." FILENAME))
[if OUTSTREAM
then (SETQ *PFI-TITLE* FILENAME)
(SETQ *STANDARD-OUTPUT* (GETSTREAM OUTSTREAM 'OUTPUT))
(SETQ *STANDARD-OUTPUT* (GETSTREAM OUTSTREAM 'OUTPUT))
else (OR (SETQ *PFI-TITLE* (LISTGET PRINTOPTIONS 'DOCUMENT.NAME))
(push PRINTOPTIONS 'DOCUMENT.NAME (SETQ *PFI-TITLE* FILENAME)))
(SETQ *STANDARD-OUTPUT* (PFI.MAKE.LPT.STREAM PRINTOPTIONS))
(RESETSAVE NIL (LIST [FUNCTION (LAMBDA (STREAM NOPRINT)
(if NOPRINT
then
(* ; "We only did this for the index (hack for MULTIFILEINDEX), so keep it from printing. Kludge: do it by closing the stream manually")
(\CORE.CLOSEFILE STREAM)
(replace (STREAM ACCESS)
of STREAM with NIL)
(\GENERIC-UNREGISTER-STREAM
(fetch (STREAM DEVICE)
of STREAM)
STREAM)
(\CORE.DELETEFILE
(FULLNAME STREAM)
(fetch (STREAM DEVICE)
of STREAM))
else (CLOSEF? STREAM]
*STANDARD-OUTPUT*
(LISTGET PRINTOPTIONS :DONTPRINT]
(* ;
 "Make sure printer knows original name of file")
(push PRINTOPTIONS 'DOCUMENT.NAME (SETQ *PFI-TITLE* FILENAME)))
(SETQ *STANDARD-OUTPUT* (PFI.MAKE.LPT.STREAM PRINTOPTIONS))
(RESETSAVE NIL (LIST [FUNCTION (LAMBDA (STREAM NOPRINT)
(if NOPRINT
then
(* ; "We only did this for the index (hack for MULTIFILEINDEX), so keep it from printing. Kludge: do it by closing the stream manually")
(\CORE.CLOSEFILE STREAM)
(replace (STREAM ACCESS) of STREAM
with NIL)
(\GENERIC-UNREGISTER-STREAM
(fetch (STREAM DEVICE) of STREAM)
STREAM)
(\CORE.DELETEFILE (FULLNAME STREAM)
(fetch (STREAM DEVICE)
of STREAM))
else (CLOSEF? STREAM]
*STANDARD-OUTPUT*
(LISTGET PRINTOPTIONS :DONTPRINT]
(* ;
 "Make sure printer knows original name of file")
(RESETSAVE (LINELENGTH (IQUOTIENT (- (DSPRIGHTMARGIN)
(DSPLEFTMARGIN))
(CHARWIDTH (CHARCODE X)
*STANDARD-OUTPUT*))
*STANDARD-OUTPUT*))
(if (NOT (DISPLAYSTREAMP *STANDARD-OUTPUT*))
(if (NOT (IMAGESTREAMP *STANDARD-OUTPUT*))
then (PFI.SETUP.TRANSLATIONS))
[if DONTINDEX
then (* ; "This is for SEE etc")
(SETQ *PFI-MAX-WASTED-LINES* 0)
(SETQ *PFI-TYPES* NIL) (* ; "Tell add.to.index not to bother")
(SETQ *PFI-LOCATIONS* :NONE)
else (STREAMPROP *STANDARD-OUTPUT* 'AFTERNEWPAGEFN (FUNCTION PFI.AFTER.NEW.PAGE))
(* ; "Enable header printing")
then (* ; "This is for SEE etc")
(SETQ *PFI-MAX-WASTED-LINES* 0)
(SETQ *PFI-TYPES* NIL) (* ; "Tell add.to.index not to bother")
(SETQ *PFI-LOCATIONS* :NONE)
else (STREAMPROP *STANDARD-OUTPUT* 'AFTERNEWPAGEFN (FUNCTION PFI.AFTER.NEW.PAGE))
(* ; "Enable header printing")
(* ;; "RMK: NOBIND here seems to be deliberate, it seems somehow to match the NOBIND that appears in PFI.HANDLE.RPAQQ.")
(* ;; "RMK: NOBIND here seems to be deliberate, it seems somehow to match the NOBIND that appears in PFI.HANDLE.RPAQQ.")
[SETQ *PFI-FILEVARS* `((,(FILECOMS FILENAME) . NOBIND]
(* ; "Says to do something with coms")
[if (NOT (FIXP *PFI-MAX-WASTED-LINES*))
then (* ;
 "a parameter expressed as a fraction of page")
(SETQ *PFI-MAX-WASTED-LINES* (FIXR (TIMES *PFI-MAX-WASTED-LINES*
(- (PFI.LINES.REMAINING
)
2]
[SETQ *PFI-TYPES* (APPEND *PFI-TYPES* (CONS `(RECORD ,CLISPRECORDTYPES)
(PFI.COLLECT.DEFINERS
*PFI-TYPES*]
(* ;
 "Add known record types and definers to the list.")
(SETQ CRDATE (GETFILEINFO *STANDARD-INPUT* 'CREATIONDATE]
[SETQ *PFI-FILEVARS* `((,(FILECOMS FILENAME) . NOBIND]
(* ; "Says to do something with coms")
[if (NOT (FIXP *PFI-MAX-WASTED-LINES*))
then (* ;
 "a parameter expressed as a fraction of page")
(SETQ *PFI-MAX-WASTED-LINES* (FIXR (TIMES *PFI-MAX-WASTED-LINES*
(- (PFI.LINES.REMAINING)
2]
[SETQ *PFI-TYPES* (APPEND *PFI-TYPES* (CONS `(RECORD ,CLISPRECORDTYPES)
(PFI.COLLECT.DEFINERS *PFI-TYPES*]
(* ;
 "Add known record types and definers to the list.")
(SETQ CRDATE (GETFILEINFO *STANDARD-INPUT* 'CREATIONDATE]
[SETQ *PFI-PAGE-COUNT* (SETQ FIRSTPAGE (LOGOR (OR (LISTGET PRINTOPTIONS :FIRSTPAGE)
1)
(if *PFI-TWO-SIDED*
then
(* ; "Make first page odd")
1
(* ; "Make first page odd")
1
else 0]
(if (SETQ PART# (LISTGET PRINTOPTIONS :PART))
then (SETQ *PFI-PAGE-PREFIX* (CONCAT *PFI-PAGE-PREFIX* PART# "-")))
@@ -363,30 +360,29 @@ Copyright (c) 1988, 1992-1993, 1999, 2021 by Xerox Corporation.
then (PFI.PRINT.FILECREATED FILECREATED ENV))
(PFI.PROCESS.FILE DONTINDEX)
(if (NOT WASOPEN)
then (* ;
 "We're through with input file now, so release it")
(CLOSEF *STANDARD-INPUT*))
then (* ;
 "We're through with input file now, so release it")
(CLOSEF *STANDARD-INPUT*))
(if (SETQ MULTIFILEINDEX (LISTGET PRINTOPTIONS 'MULTIFILEINDEX))
then (* ;
 "True on calls from multifileindex-remember the date and last page#")
(SETQ LASTPAGE *PFI-PAGE-COUNT*))
then (* ;
 "True on calls from multifileindex-remember the date and last page#")
(SETQ LASTPAGE *PFI-PAGE-COUNT*))
(if (NOT DONTINDEX)
then (* ;
 "Now that we've scanned whole file, print the index")
(SETQ INDICES (PFI.PRINT.INDEX CRDATE)))
then (* ;
 "Now that we've scanned whole file, print the index")
(SETQ INDICES (PFI.PRINT.INDEX CRDATE)))
[if (NULL OUTSTREAM)
then (CL:FORMAT PROMPTWINDOW "~%%Finished indexing ~A (~D pages)"
FILENAME (ADD1 (- *PFI-PAGE-COUNT* FIRSTPAGE]
FILENAME (ADD1 (- *PFI-PAGE-COUNT* FIRSTPAGE]
(if (NULL MULTIFILEINDEX)
then FILENAME
else (push INDICES (LIST FILENAME CRDATE LASTPAGE ENV))
(if (NLISTP MULTIFILEINDEX)
then (* ;
 "More to do yet, so just return this index")
INDICES
else (PFI.PRINT.MULTI.INDEX (NCONC1 MULTIFILEINDEX
INDICES)
PRINTOPTIONS))))])])
(if (NLISTP MULTIFILEINDEX)
then (* ;
 "More to do yet, so just return this index")
INDICES
else (PFI.PRINT.MULTI.INDEX (NCONC1 MULTIFILEINDEX INDICES)
PRINTOPTIONS))))])])
(PFI.MAKE.LPT.STREAM
[LAMBDA (PRINTOPTIONS) (* ; "Edited 12-Nov-93 09:53 by rmk:")
@@ -458,22 +454,20 @@ Copyright (c) 1988, 1992-1993, 1999, 2021 by Xerox Corporation.
(DEFINEQ
(PFI.PRINT.FILECREATED
[LAMBDA (EXPR ENV) (* ;
 "Edited 30-Nov-2021 22:08 by larry")
(* ;
 "Edited 30-Nov-2021 21:40 by larry")
(* ;
 "Edited 9-Jul-2021 07:59 by rmk:")
[LAMBDA (EXPR ENV) (* ; "Edited 5-May-2022 21:53 by rmk")
(* ; "Edited 30-Nov-2021 22:08 by larry")
(* ; "Edited 30-Nov-2021 21:40 by larry")
(* ; "Edited 9-Jul-2021 07:59 by rmk:")
(* ;; "Display the FILECREATED expression and environment prettily")
(* ;;
 "Form is (FILECREATED date filename filemaploc changes to: changes previous date: date filename)")
 "Form is (FILECREATED date filename filemaploc changes to: changes previous date: date filename)")
(pop EXPR)
(CHANGEFONT ITALICFONT)
(LET* [(STRINGS '("File created:" "changes to:" "previous date:" "Read Table:" "Package:" "Base:"
"Format:"))
(LET* [(STRINGS '("File created: " "changes to: " "previous date: " "Read Table: "
"Package: " "Base: " "Format: "))
(FONT (DSPFONT))
(STRWIDTHS (for STR in STRINGS collect (STRINGWIDTH STR FONT)))
(TABSTOP (+ (DSPLEFTMARGIN)
@@ -486,42 +480,42 @@ Copyright (c) 1988, 1992-1993, 1999, 2021 by Xerox Corporation.
" " .FONT LAMBDAFONT (pop EXPR)
T T) (* ; "date and file name")
(if (OR (NULL (CAR EXPR))
(FIXP (CAR EXPR)))
then (* ; "Skip over filemaploc")
(pop EXPR))
(FIXP (CAR EXPR)))
then (* ; "Skip over filemaploc")
(pop EXPR))
(if (SELECTQ (CAR EXPR)
(changes (SETQ EXPR (CDR EXPR))
T)
(:CHANGES-TO T)
NIL)
then (* ; "handle %"Changes to:%"")
(PFI.PRINT.TO.TAB (pop STRINGS)
(pop STRWIDTHS)
TABSTOP)
(SETQ EXPR (CDR EXPR))
(PRINTDEF (while (LISTP (CAR EXPR)) collect (pop EXPR))
T NIL T)
(TERPRI)
(TERPRI)
else (pop STRINGS)
(pop STRWIDTHS))
(if (SELECTQ (CAR EXPR)
(previous (SETQ EXPR (CDR EXPR))
T)
(:PREVIOUS-DATE
(changes (SETQ EXPR (CDR EXPR))
T)
NIL)
then (* ; "Handle %"Previous date:%"")
(PFI.PRINT.TO.TAB (pop STRINGS)
(pop STRWIDTHS)
TABSTOP)
(SETQ EXPR (CDR EXPR))
(PRINTOUT NIL (pop EXPR)
" "
(pop EXPR)
T T)
(:CHANGES-TO T)
NIL)
then (* ; "handle %"Changes to:%"")
(PFI.PRINT.TO.TAB (pop STRINGS)
(pop STRWIDTHS)
TABSTOP)
(SETQ EXPR (CDR EXPR))
(PRINTDEF (while (LISTP (CAR EXPR)) collect (pop EXPR))
T NIL T)
(TERPRI)
(TERPRI)
else (pop STRINGS)
(pop STRWIDTHS))
(pop STRWIDTHS))
(if (SELECTQ (CAR EXPR)
(previous (SETQ EXPR (CDR EXPR))
T)
(:PREVIOUS-DATE
T)
NIL)
then (* ; "Handle %"Previous date:%"")
(PFI.PRINT.TO.TAB (pop STRINGS)
(pop STRWIDTHS)
TABSTOP)
(SETQ EXPR (CDR EXPR))
(PRINTOUT NIL (pop EXPR)
" "
(pop EXPR)
T T)
else (pop STRINGS)
(pop STRWIDTHS))
(* ;; "Show environment")
@@ -535,9 +529,9 @@ Copyright (c) 1988, 1992-1993, 1999, 2021 by Xerox Corporation.
(PFI.PRINT.ENVIRONMENT ENV :PACKAGE)
(if (NEQ *PRINT-BASE* 10)
then (PFI.PRINT.TO.TAB (pop STRINGS)
(pop STRWIDTHS)
TABSTOP)
(PFI.PRINT.ENVIRONMENT ENV :BASE)
(pop STRWIDTHS)
TABSTOP)
(PFI.PRINT.ENVIRONMENT ENV :BASE)
else (pop STRINGS))
(PFI.PRINT.TO.TAB (pop STRINGS)
(pop STRWIDTHS)
@@ -545,8 +539,16 @@ Copyright (c) 1988, 1992-1993, 1999, 2021 by Xerox Corporation.
(PFI.PRINT.ENVIRONMENT ENV :FORMAT])
(PFI.PRINT.TO.TAB
(LAMBDA (STR WIDTH TABSTOP) (* ; "Edited 29-Mar-88 12:44 by bvm") (* ;; "Print STR of specified WIDTH right-justified to xpos TABSTOP in italic font, leave a couple of spaces, then switch back to defaultfont.") (CHANGEFONT ITALICFONT) (DSPXPOSITION (- TABSTOP WIDTH)) (PRIN3 STR) (RELMOVETO (TIMES 12 (DSPSCALE)) 0) (CHANGEFONT DEFAULTFONT))
)
[LAMBDA (STR WIDTH TABSTOP) (* ; "Edited 29-Mar-88 12:44 by bvm")
(* ;; "Print STR of specified WIDTH right-justified to xpos TABSTOP in italic font, leave a couple of spaces, then switch back to defaultfont.")
(CHANGEFONT ITALICFONT)
(DSPXPOSITION (- TABSTOP WIDTH))
(PRIN3 STR)
(RELMOVETO (TIMES 12 (DSPSCALE))
0)
(CHANGEFONT DEFAULTFONT])
(PFI.PRINT.ENVIRONMENT
[LAMBDA (ENV KEYWORD) (* ; "Edited 9-Jul-2021 08:03 by rmk:")
@@ -614,8 +616,19 @@ Copyright (c) 1988, 1992-1993, 1999, 2021 by Xerox Corporation.
)
(PFI.MAYBE.NEW.PAGE
(LAMBDA (EXPR MINLINES) (* ; "Edited 13-Apr-88 14:32 by bvm") (* ;; "Maybe start a new page if it looks like EXPR will overflow the page and we're near the end of the page. MINLINES is optional size estimate; else we guess") (LET (REMAINING) (if (OR (DISPLAYSTREAMP *STANDARD-OUTPUT*) (> (SETQ REMAINING (SUB1 (PFI.LINES.REMAINING))) *PFI-MAX-WASTED-LINES*) (>= REMAINING (OR MINLINES (PFI.ESTIMATE.SIZE EXPR)))) then (TERPRI) else (* ; "put it on a new page") (DSPNEWPAGE))))
)
[LAMBDA (EXPR MINLINES) (* ; "Edited 5-May-2022 23:31 by rmk")
(* ; "Edited 13-Apr-88 14:32 by bvm")
(* ;; "Maybe start a new page if it looks like EXPR will overflow the page and we're near the end of the page. MINLINES is optional size estimate; else we guess")
(LET (REMAINING)
(if [OR (IMAGESTREAMP *STANDARD-OUTPUT*)
(> (SETQ REMAINING (SUB1 (PFI.LINES.REMAINING)))
*PFI-MAX-WASTED-LINES*)
(>= REMAINING (OR MINLINES (PFI.ESTIMATE.SIZE EXPR]
then (TERPRI)
else (* ; "put it on a new page")
(DSPNEWPAGE])
(PFI.ESTIMATE.SIZE
(LAMBDA (EXPR) (* ; "Edited 11-Apr-88 17:37 by bvm") (* ;; "Guess how many lines EXPR will take, so that we can try getting it all on one page if we're near the bottom. Heuristic is that after the first list element in any element, each subsequent element gets its own line") (+ (LET ((TEMPLATE (AND (LITATOM (CAR EXPR)) (GET (CAR EXPR) :DEFINITION-PRINT-TEMPLATE)))) (if (AND TEMPLATE (MEMB :BODY TEMPLATE)) then (* ; "Make extra space for things that have body") 2 else 1)) (PFI.ESTIMATE.SIZE1 EXPR 0)))
@@ -677,8 +690,29 @@ Copyright (c) 1988, 1992-1993, 1999, 2021 by Xerox Corporation.
)
(PFI.PRINT.COMMENTS
(LAMBDA (EXPR) (* ; "Edited 7-Apr-88 12:27 by bvm") (* ;; "Print any pending comments we have in preparation of printing EXPR. We want to print comments on same page as EXPR, so guess EXPR's size first. This is not perfect, since a handler might end up printing things differently, but it's probably not worse than default handling.") (TERPRI) (DESTRUCTURING-BIND (LINES . BODIES) *PFI-PENDING-COMMENTS* (if (NOT (DISPLAYSTREAMP *STANDARD-OUTPUT*)) then (LET ((REMAINING (PFI.LINES.REMAINING))) (if (OR (>= LINES REMAINING) (AND (< REMAINING *PFI-MAX-WASTED-LINES*) (< REMAINING (+ (PFI.ESTIMATE.SIZE EXPR) LINES)))) then (* ; "put it on a new page") (DSPNEWPAGE)))) (for B in BODIES do (PRINTDEF B T T) (if (> (DSPXPOSITION) (DSPLEFTMARGIN)) then (* ; "Go to new line for next comment. Usually this has already been done") (TERPRI))) (SETQ *PFI-PENDING-COMMENTS* NIL)))
)
[LAMBDA (EXPR) (* ; "Edited 5-May-2022 23:27 by rmk")
(* ; "Edited 7-Apr-88 12:27 by bvm")
(* ;; "Print any pending comments we have in preparation of printing EXPR. We want to print comments on same page as EXPR, so guess EXPR's size first. This is not perfect, since a handler might end up printing things differently, but it's probably not worse than default handling.")
(TERPRI)
(DESTRUCTURING-BIND (LINES . BODIES)
*PFI-PENDING-COMMENTS*
[if (NOT (IMAGESTREAMP *STANDARD-OUTPUT*))
then (LET ((REMAINING (PFI.LINES.REMAINING)))
(if [OR (>= LINES REMAINING)
(AND (< REMAINING *PFI-MAX-WASTED-LINES*)
(< REMAINING (+ (PFI.ESTIMATE.SIZE EXPR)
LINES]
then (* ; "put it on a new page")
(DSPNEWPAGE]
(for B in BODIES do (PRINTDEF B T T)
(if (> (DSPXPOSITION)
(DSPLEFTMARGIN))
then (* ;
 "Go to new line for next comment. Usually this has already been done")
(TERPRI)))
(SETQ *PFI-PENDING-COMMENTS* NIL])
(PFI.HANDLE.FILEMAP
(LAMBDA (EXPR) (* ; "Edited 31-Mar-88 15:28 by bvm") (* ;; "Only get here from declare: previewer (during SEE), since declare: expression handler filters out the whole thing.") (PFI.PRETTYPRINT (LIST (QUOTE *) (QUOTE ;;) "---Filemap elided by lister---") NIL T))
@@ -791,12 +825,57 @@ Copyright (c) 1988, 1992-1993, 1999, 2021 by Xerox Corporation.
(DEFINEQ
(PFI.MAYBE.SEE.PRETTY
(LAMBDA (FROMFILE TOFILE) (* ; "Edited 1-Apr-88 11:23 by bvm") (* ;; "Replaces COPYALLBYTES and PFCOPYBYTES in various forms of SEE that want to see a whole file") (RESETLST (LET ((*UPPER-CASE-FILE-NAMES* NIL) OUTSTREAM INSTREAM) (if (OR (NULL *PRINT-PRETTY-FROM-FILES*) (NULL (SETQ OUTSTREAM (DISPLAYP TOFILE)))) then (* ; "Not a display window, or don't want prettyprinting") (if (STREAMP FROMFILE) then (* ; "Wanted PFCOPYBYTES") (PFCOPYBYTES FROMFILE TOFILE) else (COPYALLBYTES FROMFILE TOFILE)) else (if (NOT (SETQ INSTREAM (STREAMP FROMFILE))) then (RESETSAVE NIL (LIST (QUOTE CLOSEF) (SETQ INSTREAM (OPENSTREAM FROMFILE (QUOTE INPUT) NIL (QUOTE ((SEQUENTIAL T)))))))) (* ;; "Open the file, try to prettyprint it. We get NIL back from PRETTYFILEINDEX if it's not a file manager file") (if (PRETTYFILEINDEX INSTREAM NIL OUTSTREAM T) else (PFCOPYBYTES INSTREAM OUTSTREAM) (FULLNAME INSTREAM))))))
)
[LAMBDA (FROMFILE TOFILE) (* ; "Edited 5-May-2022 14:29 by rmk")
(* ; "Edited 1-Apr-88 11:23 by bvm")
(* ;;
 "Replaces COPYALLBYTES and PFCOPYBYTES in various forms of SEE that want to see a whole file")
(RESETLST
[LET ((*UPPER-CASE-FILE-NAMES* NIL)
OUTSTREAM INSTREAM)
(if [OR (NULL *PRINT-PRETTY-FROM-FILES*)
(NULL (SETQ OUTSTREAM (IMAGESTREAMP TOFILE]
then (* ;
 "Not a display window, or don't want prettyprinting")
(if (STREAMP FROMFILE)
then (* ; "Wanted PFCOPYBYTES")
(PFCOPYBYTES FROMFILE TOFILE)
else (COPYALLBYTES FROMFILE TOFILE))
else [if (NOT (SETQ INSTREAM (STREAMP FROMFILE)))
then (RESETSAVE NIL (LIST 'CLOSEF (SETQ INSTREAM (OPENSTREAM
FROMFILE
'INPUT NIL
'((SEQUENTIAL T]
(* ;; "Open the file, try to prettyprint it. We get NIL back from PRETTYFILEINDEX if it's not a file manager file")
(if (PRETTYFILEINDEX INSTREAM NIL OUTSTREAM T)
else (PFCOPYBYTES INSTREAM OUTSTREAM)
(FULLNAME INSTREAM])])
(PFI.MAYBE.PP.DEFINITION
(LAMBDA (INSTREAM OUTSTREAM START END) (* ; "Edited 1-Apr-88 11:22 by bvm") (LET (ENV) (if (OR (NULL *PRINT-PRETTY-FROM-FILES*) (NOT (DISPLAYP OUTSTREAM)) (NULL (SETQ ENV (GET-ENVIRONMENT-AND-FILEMAP INSTREAM))) (WITH-READER-ENVIRONMENT ENV (SETFILEPTR INSTREAM START) (CL:MULTIPLE-VALUE-BIND (DEF CONDITION) (IGNORE-ERRORS (READ INSTREAM)) (LET ((*STANDARD-OUTPUT* (GETSTREAM OUTSTREAM (QUOTE OUTPUT)))) (if CONDITION then (CL:FORMAT T "[Failed to read because: ~A]" CONDITION) T else (PFI.PRINT.LAMBDA.BODY DEF) (TERPRI) NIL))))) then (* ;; "Punt to what we were called for in the first place") (PFCOPYBYTES INSTREAM OUTSTREAM START END))))
)
[LAMBDA (INSTREAM OUTSTREAM START END) (* ; "Edited 5-May-2022 23:14 by rmk")
(* ; "Edited 1-Apr-88 11:22 by bvm")
(LET (ENV)
(if [OR (NULL *PRINT-PRETTY-FROM-FILES*)
(NOT (IMAGESTREAMP OUTSTREAM))
(NULL (SETQ ENV (GET-ENVIRONMENT-AND-FILEMAP INSTREAM)))
(WITH-READER-ENVIRONMENT ENV
(SETFILEPTR INSTREAM START)
(CL:MULTIPLE-VALUE-BIND (DEF CONDITION)
(IGNORE-ERRORS (READ INSTREAM))
(LET [(*STANDARD-OUTPUT* (GETSTREAM OUTSTREAM 'OUTPUT]
(if CONDITION
then (CL:FORMAT T "[Failed to read because: ~A]" CONDITION)
T
else (PFI.PRINT.LAMBDA.BODY DEF)
(TERPRI)
NIL))))]
then
(* ;; "Punt to what we were called for in the first place")
(PFCOPYBYTES INSTREAM OUTSTREAM START END])
)
(RPAQ? *PRINT-PRETTY-FROM-FILES* T)
@@ -821,20 +900,19 @@ Copyright (c) 1988, 1992-1993, 1999, 2021 by Xerox Corporation.
(RPAQ? *PFI-MAX-WASTED-LINES* 12)
(RPAQ? *PFI-CHARACTER-TRANSLATIONS* '((INTERPRESS (95 172)
(96 169 FAMILY CLASSIC)
(39 185 FAMILY CLASSIC))))
(96 169 FAMILY CLASSIC)
(39 185 FAMILY CLASSIC))))
(RPAQ? *PFI-INDEX-ORDER* '(FUNCTIONS))
(RPAQ? *PFI-DEFINER-PROPS* (LET ((*PACKAGE* (if (EQ MAKESYSNAME :LYRIC)
then *INTERLISP-PACKAGE* else *KEYWORD-PACKAGE*))
)
(* ;;
 "Properties of definers changed between Lyric and Medley (yech).")
then *INTERLISP-PACKAGE* else *KEYWORD-PACKAGE*)))
(* ;;
 "Properties of definers changed between Lyric and Medley (yech).")
(MAPCAR '("DEFINER-FOR" "DEFINED-BY" "DEFINITION-NAME")
(FUNCTION CL:INTERN))))
(MAPCAR '("DEFINER-FOR" "DEFINED-BY" "DEFINITION-NAME")
(FUNCTION CL:INTERN))))
(RPAQ? \PFI.PROCESS.COMMANDS )
@@ -885,10 +963,10 @@ Copyright (c) 1988, 1992-1993, 1999, 2021 by Xerox Corporation.
(CL:EVAL-WHEN . PFI.HANDLE.EVAL-WHEN))
(ADDTOVAR *PFI-PREVIEWERS* (DECLARE%: . PFI.PREVIEW.DECLARE)
(DEFINEQ . PFI.PREVIEW.DEFINEQ))
(DEFINEQ . PFI.PREVIEW.DEFINEQ))
(ADDTOVAR *PFI-PROPERTIES* (COPYRIGHT)
(READVICE ADVICE))
(READVICE ADVICE))
(ADDTOVAR *PFI-FILTERS* (VARIABLES . CONSTANTS))
@@ -916,11 +994,11 @@ Copyright (c) 1988, 1992-1993, 1999, 2021 by Xerox Corporation.
)
(ADDTOVAR PRETTYPRINTMACROS (RPAQ . RPAQX.PRETTYPRINT)
(RPAQQ . RPAQX.PRETTYPRINT)
(RPAQ? . RPAQX.PRETTYPRINT)
(ADDTOVAR . RPAQX.PRETTYPRINT)
(PUTPROPS . PUTPROPS.PRETTYPRINT)
(COURIERPROGRAM . COURIERPROGRAM.PRETTYPRINT))
(RPAQQ . RPAQX.PRETTYPRINT)
(RPAQ? . RPAQX.PRETTYPRINT)
(ADDTOVAR . RPAQX.PRETTYPRINT)
(PUTPROPS . PUTPROPS.PRETTYPRINT)
(COURIERPROGRAM . COURIERPROGRAM.PRETTYPRINT))
(DECLARE%: EVAL@COMPILE DONTCOPY
(DECLARE%: DOEVAL@COMPILE DONTCOPY
@@ -960,11 +1038,11 @@ Copyright (c) 1988, 1992-1993, 1999, 2021 by Xerox Corporation.
DEFINERPRINT))
(* ;
 "Get prettyprinter fixes if running in old sysout")
 "Get prettyprinter fixes if running in old sysout")
(MOVD? [PROG ((SYMS '("OLDLISTFILES1" "LISTFILES1-ORIGINAL"))
S) (* ;
 "Look for LISTFILES1. These two names are where SINGLEFILEINDEX and PP-CODE-FILE stash it.")
 "Look for LISTFILES1. These two names are where SINGLEFILEINDEX and PP-CODE-FILE stash it.")
LP (COND
[(AND (SETQ S (CL:FIND-SYMBOL (CAR SYMS)))
(GETD S))
@@ -975,8 +1053,7 @@ Copyright (c) 1988, 1992-1993, 1999, 2021 by Xerox Corporation.
(MOVD 'PFI.MAYBE.SEE.PRETTY S NIL T))))]
((SETQ SYMS (CDR SYMS))
(GO LP))
(T (* ;
 "Neither one loaded, take original")
(T (* ; "Neither one loaded, take original")
(RETURN 'LISTFILES1]
'PFI.ORIGINAL.LISTFILES1 NIL T)
@@ -994,28 +1071,28 @@ Copyright (c) 1988, 1992-1993, 1999, 2021 by Xerox Corporation.
)
(PUTPROPS PRETTYFILEINDEX COPYRIGHT ("Xerox Corporation" 1988 1992 1993 1999 2021))
(DECLARE%: DONTCOPY
(FILEMAP (NIL (10070 12305 (PFI.NEW.LISTFILES1 10080 . 10574) (PFI.ENQUEUE 10576 . 11200) (
\PFI.DO.HARDCOPY 11202 . 11788) (MAYBE.PRETTYFILEINDEX 11790 . 12303)) (12306 35220 (PRETTYFILEINDEX
12316 . 26748) (PFI.MAKE.LPT.STREAM 26750 . 29801) (PFI.SETUP.TRANSLATIONS 29803 . 31317) (
PFI.OUTCHARFN 31319 . 33293) (PFI.COLLECT.DEFINERS 33295 . 34107) (PFI.AFTER.NEW.PAGE 34109 . 35218))
(35221 41169 (PFI.PRINT.FILECREATED 35231 . 39436) (PFI.PRINT.TO.TAB 39438 . 39803) (
PFI.PRINT.ENVIRONMENT 39805 . 41167)) (41170 48354 (PFI.PROCESS.FILE 41180 . 42410) (PFI.PASS.COMMENT
42412 . 43382) (PFI.HANDLE.EXPR 43384 . 44051) (PFI.DEFAULT.HANDLER 44053 . 46106) (PFI.PRETTYPRINT
46108 . 46443) (PFI.LINES.REMAINING 46445 . 46772) (PFI.MAYBE.NEW.PAGE 46774 . 47277) (
PFI.ESTIMATE.SIZE 47279 . 47810) (PFI.ESTIMATE.SIZE1 47812 . 48352)) (48391 57878 (PFI.HANDLE.RPAQQ
48401 . 49809) (PFI.HANDLE.DECLARE 49811 . 50750) (PFI.HANDLE.EVAL-WHEN 50752 . 51235) (
PFI.HANDLE.DEFDEFINER 51237 . 52527) (PFI.HANDLE.DEFINEQ 52529 . 52773) (PFI.PRINT.LAMBDA 52775 .
53113) (PFI.PRINT.LAMBDA.BODY 53115 . 53450) (PFI.HANDLE.PUTDEF 53452 . 53949) (PFI.HANDLE.PUTPROPS
53951 . 54566) (PFI.HANDLE./DECLAREDATATYPE 54568 . 55115) (PFI.HANDLE.* 55117 . 56379) (
PFI.PRINT.COMMENTS 56381 . 57281) (PFI.HANDLE.FILEMAP 57283 . 57571) (PFI.HANDLE.PACKAGE 57573 . 57876
)) (57906 58898 (PFI.PREVIEW.DECLARE 57916 . 58578) (PFI.PREVIEW.DEFINEQ 58580 . 58896)) (58934 69922
(PFI.PRINT.INDEX 58944 . 59795) (PFI.CONDENSE.INDEX 59797 . 61604) (PFI.SORT.INDICES 61606 . 62745) (
PFI.COMPUTE.INDEX.SHAPE 62747 . 64211) (PFI.PRINT.INDICES 64213 . 68755) (PFI.CENTER.PRINT 68757 .
69327) (PFI.INDEX.BREAK 69329 . 69787) (PFI.LOOKUP.NAME 69789 . 69920)) (69923 71154 (PFI.ADD.TO.INDEX
69933 . 70443) (PFI.VARNAME 70445 . 70855) (PFI.CONSTANTNAMES 70857 . 71152)) (71189 79502 (
MULTIFILEINDEX 71199 . 71995) (MULTIFILEINDEX1 71997 . 73453) (PFI.PRINT.MULTI.INDEX 73455 . 78558) (
PFI.CHOOSE.BEST 78560 . 78787) (PFI.MERGE.INDICES 78789 . 79500)) (79559 81177 (PFI.MAYBE.SEE.PRETTY
79569 . 80499) (PFI.MAYBE.PP.DEFINITION 80501 . 81175)) (81247 85082 (PFI.PRINT.BITMAP 81257 . 85080))
(87927 91041 (PUTPROPS.PRETTYPRINT 87937 . 89348) (RPAQX.PRETTYPRINT 89350 . 90075) (
COURIERPROGRAM.PRETTYPRINT 90077 . 90777) (MAYBE.PRETTYPRINT.BOLD 90779 . 91039)))))
(FILEMAP (NIL (10203 12438 (PFI.NEW.LISTFILES1 10213 . 10707) (PFI.ENQUEUE 10709 . 11333) (
\PFI.DO.HARDCOPY 11335 . 11921) (MAYBE.PRETTYFILEINDEX 11923 . 12436)) (12439 34954 (PRETTYFILEINDEX
12449 . 26482) (PFI.MAKE.LPT.STREAM 26484 . 29535) (PFI.SETUP.TRANSLATIONS 29537 . 31051) (
PFI.OUTCHARFN 31053 . 33027) (PFI.COLLECT.DEFINERS 33029 . 33841) (PFI.AFTER.NEW.PAGE 33843 . 34952))
(34955 40868 (PFI.PRINT.FILECREATED 34965 . 39055) (PFI.PRINT.TO.TAB 39057 . 39502) (
PFI.PRINT.ENVIRONMENT 39504 . 40866)) (40869 48384 (PFI.PROCESS.FILE 40879 . 42109) (PFI.PASS.COMMENT
42111 . 43081) (PFI.HANDLE.EXPR 43083 . 43750) (PFI.DEFAULT.HANDLER 43752 . 45805) (PFI.PRETTYPRINT
45807 . 46142) (PFI.LINES.REMAINING 46144 . 46471) (PFI.MAYBE.NEW.PAGE 46473 . 47307) (
PFI.ESTIMATE.SIZE 47309 . 47840) (PFI.ESTIMATE.SIZE1 47842 . 48382)) (48421 58630 (PFI.HANDLE.RPAQQ
48431 . 49839) (PFI.HANDLE.DECLARE 49841 . 50780) (PFI.HANDLE.EVAL-WHEN 50782 . 51265) (
PFI.HANDLE.DEFDEFINER 51267 . 52557) (PFI.HANDLE.DEFINEQ 52559 . 52803) (PFI.PRINT.LAMBDA 52805 .
53143) (PFI.PRINT.LAMBDA.BODY 53145 . 53480) (PFI.HANDLE.PUTDEF 53482 . 53979) (PFI.HANDLE.PUTPROPS
53981 . 54596) (PFI.HANDLE./DECLAREDATATYPE 54598 . 55145) (PFI.HANDLE.* 55147 . 56409) (
PFI.PRINT.COMMENTS 56411 . 58033) (PFI.HANDLE.FILEMAP 58035 . 58323) (PFI.HANDLE.PACKAGE 58325 . 58628
)) (58658 59650 (PFI.PREVIEW.DECLARE 58668 . 59330) (PFI.PREVIEW.DEFINEQ 59332 . 59648)) (59686 70674
(PFI.PRINT.INDEX 59696 . 60547) (PFI.CONDENSE.INDEX 60549 . 62356) (PFI.SORT.INDICES 62358 . 63497) (
PFI.COMPUTE.INDEX.SHAPE 63499 . 64963) (PFI.PRINT.INDICES 64965 . 69507) (PFI.CENTER.PRINT 69509 .
70079) (PFI.INDEX.BREAK 70081 . 70539) (PFI.LOOKUP.NAME 70541 . 70672)) (70675 71906 (PFI.ADD.TO.INDEX
70685 . 71195) (PFI.VARNAME 71197 . 71607) (PFI.CONSTANTNAMES 71609 . 71904)) (71941 80254 (
MULTIFILEINDEX 71951 . 72747) (MULTIFILEINDEX1 72749 . 74205) (PFI.PRINT.MULTI.INDEX 74207 . 79310) (
PFI.CHOOSE.BEST 79312 . 79539) (PFI.MERGE.INDICES 79541 . 80252)) (80311 83380 (PFI.MAYBE.SEE.PRETTY
80321 . 82104) (PFI.MAYBE.PP.DEFINITION 82106 . 83378)) (83450 87285 (PFI.PRINT.BITMAP 83460 . 87283))
(90054 93168 (PUTPROPS.PRETTYPRINT 90064 . 91475) (RPAQX.PRETTYPRINT 91477 . 92202) (
COURIERPROGRAM.PRETTYPRINT 92204 . 92904) (MAYBE.PRETTYPRINT.BOLD 92906 . 93166)))))
STOP