Rmk27 GITFNS for renaming, minor other convenience adjustments (#728)
* GITFNS, COMPAREDIRECTORIES: more on renaming and copying * MODERNIZE: use Wborder for the top for windows without titles * DIRECTORY: DEPTH as a parameter * FILEPKG: EDITCALLERS does FILDIR if FILES contains * * GITFNS: Don't error on a non-existent "deleted" file
This commit is contained in:
@@ -1,13 +1,15 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
(FILECREATED "30-Apr-92 15:04:56" |{PELE:MV:ENVOS}<LISPCORE>SOURCES>DIRECTORY.;5| 26134
|
||||
|
||||
changes to%: (FNS DIRECTORY DODIRCOMMANDS)
|
||||
(FILECREATED " 5-Mar-2022 09:04:27" {DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>DIRECTORY.;8 27503
|
||||
|
||||
previous date%: "31-May-90 12:25:29" |{PELE:MV:ENVOS}<LISPCORE>SOURCES>DIRECTORY.;4|)
|
||||
:CHANGES-TO (FNS DIRECTORY FILDIR)
|
||||
|
||||
:PREVIOUS-DATE " 5-Mar-2022 08:46:23"
|
||||
{DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>DIRECTORY.;7)
|
||||
|
||||
|
||||
(* ; "
|
||||
Copyright (c) 1986, 1987, 1988, 1990, 1992 by Venue & Xerox Corporation. All rights reserved.
|
||||
Copyright (c) 1986-1988, 1990, 1992 by Venue & Xerox Corporation.
|
||||
")
|
||||
|
||||
(PRETTYCOMPRINT DIRECTORYCOMS)
|
||||
@@ -31,9 +33,9 @@ Copyright (c) 1986, 1987, 1988, 1990, 1992 by Venue & Xerox Corporation. All ri
|
||||
|
||||
|
||||
(ADDTOVAR LISPXMACROS (DIR (DODIR (NLAMBDA.ARGS LISPXLINE)))
|
||||
(NDIR (DODIR (NLAMBDA.ARGS LISPXLINE)
|
||||
'(P COLUMNS 20)
|
||||
'* "")))
|
||||
(NDIR (DODIR (NLAMBDA.ARGS LISPXLINE)
|
||||
'(P COLUMNS 20)
|
||||
'* "")))
|
||||
(DEFINEQ
|
||||
|
||||
(DODIR
|
||||
@@ -41,15 +43,19 @@ Copyright (c) 1986, 1987, 1988, 1990, 1992 by Venue & Xerox Corporation. All ri
|
||||
)
|
||||
|
||||
(FILDIR
|
||||
(LAMBDA (FILEGROUP) (* lmm " 4-OCT-83 03:27") (DIRECTORY FILEGROUP)))
|
||||
[LAMBDA (FILEGROUP DEPTH) (* ; "Edited 5-Mar-2022 09:03 by rmk")
|
||||
(* lmm " 4-OCT-83 03:27")
|
||||
(DIRECTORY FILEGROUP (AND DEPTH `(COLLECT DEPTH ,DEPTH])
|
||||
|
||||
(DIRECTORY
|
||||
[LAMBDA (FILES COMMANDS DEFAULTEXT DEFAULTVERS)
|
||||
(DECLARE (SPECVARS COMMANDS DEFAULTEXT DEFAULTVERS))
|
||||
(DECLARE (SPECVARS COMMANDS DEFAULTEXT DEFAULTVERS)) (* ; "Edited 4-Mar-2022 23:17 by rmk")
|
||||
(* ; "Edited 30-Apr-92 14:55 by jds")
|
||||
(PROG (VALUE COLUMNS NAMEFLG DELETEDONLY FILEGROUP PRINTFLG OUTFILE PROMPTFLG LASTHOST&DIR
|
||||
DESIREDPROPS PFLG HEADINGS VALUES-WANTED)
|
||||
(DECLARE (SPECVARS VALUE COLUMNS NAMEFLG FILEGROUP DESIREDPROPS LASTHOST&DIR))
|
||||
DESIREDPROPS PFLG HEADINGS VALUES-WANTED (FILING.ENUMERATION.DEPTH
|
||||
FILING.ENUMERATION.DEPTH))
|
||||
(DECLARE (SPECVARS VALUE COLUMNS NAMEFLG FILEGROUP DESIREDPROPS LASTHOST&DIR
|
||||
FILING.ENUMERATION.DEPTH))
|
||||
(PROG ([COMTAIL (SETQ COMMANDS (COND
|
||||
((LISTP COMMANDS)
|
||||
(APPEND COMMANDS))
|
||||
@@ -78,7 +84,7 @@ Copyright (c) 1986, 1987, 1988, 1990, 1992 by Venue & Xerox Corporation. All ri
|
||||
(@ (SETQ COMTAIL (CDR COMTAIL))
|
||||
(if (FNTYP (SETQ COM (CAR COMTAIL)))
|
||||
then [RPLACA COMTAIL (CONS COM '(FILENAME]
|
||||
(SETQ NAMEFLG T)
|
||||
(SETQ NAMEFLG T)
|
||||
elseif (FMEMB 'FILENAME (FREEVARS COM))
|
||||
then (SETQ NAMEFLG T)))
|
||||
(COLUMNS (SETQ COLUMNS (CADR COMTAIL))
|
||||
@@ -95,17 +101,26 @@ Copyright (c) 1986, 1987, 1988, 1990, 1992 by Venue & Xerox Corporation. All ri
|
||||
then (push DESIREDPROPS 'IREADDATE))
|
||||
(RPLACA (SETQ COMTAIL (CDR COMTAIL))
|
||||
(if (NUMBERP (SETQ COM (CAR COMTAIL)))
|
||||
then (* ; "A number of days")
|
||||
[IDIFFERENCE (IDATE)
|
||||
(TIMES COM (DEFERREDCONSTANT (IDIFFERENCE
|
||||
(IDATE
|
||||
"2-JAN-77 00:00"
|
||||
)
|
||||
(IDATE
|
||||
"1-JAN-77 00:00"
|
||||
]
|
||||
then (* ; "A number of days")
|
||||
[IDIFFERENCE (IDATE)
|
||||
(TIMES COM (DEFERREDCONSTANT (IDIFFERENCE
|
||||
(IDATE "2-JAN-77 00:00"
|
||||
)
|
||||
(IDATE "1-JAN-77 00:00"
|
||||
]
|
||||
elseif (IDATE COM)
|
||||
else (\ILLEGAL.ARG COM))))
|
||||
(DEPTH [SETQ FILING.ENUMERATION.DEPTH (IF (AND (SMALLP (CADR COMTAIL))
|
||||
(IGEQ (CADR COMTAIL)
|
||||
0))
|
||||
THEN (CADR COMTAIL)
|
||||
ELSEIF (EQ T (CADR COMTAIL))
|
||||
THEN MAX.SMALLP
|
||||
ELSE (\ILLEGAL.ARG (CADR COMTAIL]
|
||||
|
||||
(* ;; "We remove the depth number from the list, leaving just the DEPTH, to be removed below. Otherwise we have to have a trailing pointer.")
|
||||
|
||||
(RPLACD COMTAIL (CDDR COMTAIL)))
|
||||
(COND
|
||||
((STRINGP COM)
|
||||
(RPLNODE COMTAIL 'PRINT (CONS (MKSTRING COM)
|
||||
@@ -128,6 +143,7 @@ Copyright (c) 1986, 1987, 1988, 1990, 1992 by Venue & Xerox Corporation. All ri
|
||||
(T (ERROR "invalid DIRECTORY command" COM]
|
||||
(AND (SETQ COMTAIL (CDR COMTAIL))
|
||||
(GO COMLP)))
|
||||
(SETQ COMMANDS (DREMOVE 'DEPTH COMMANDS))
|
||||
(RESETLST
|
||||
|
||||
(* ;; "RESETLST is here, among other reasons, to clean up after any file generators that worry about the DIR being aborted")
|
||||
@@ -136,12 +152,12 @@ Copyright (c) 1986, 1987, 1988, 1990, 1992 by Venue & Xerox Corporation. All ri
|
||||
PATTERN _ (DIRECTORY.PARSE FILES)
|
||||
FILEGENERATORS _ FILEGROUP))
|
||||
(* ;
|
||||
"DIRECTORY.PARSE smashes generators on FILEGROUP for each atomic file specification it finds.")
|
||||
"DIRECTORY.PARSE smashes generators on FILEGROUP for each atomic file specification it finds.")
|
||||
[COND
|
||||
((EQL \MACHINETYPE \MAIKO)
|
||||
(RESETSAVE NIL '(AND RESETSTATE (\UFS.ABORT.DIRECTORY]
|
||||
(* ;
|
||||
"Make sure all instances of UFSGENFILESTATE will be released.")
|
||||
"Make sure all instances of UFSGENFILESTATE will be released.")
|
||||
(COND
|
||||
((OR PRINTFLG OUTFILE PROMPTFLG)
|
||||
[COND
|
||||
@@ -157,39 +173,36 @@ Copyright (c) 1986, 1987, 1988, 1990, 1992 by Venue & Xerox Corporation. All ri
|
||||
[COND
|
||||
((AND PFLG (NEQ (CAR PFLG)
|
||||
'PAUSE)) (* ;
|
||||
"Postpone print commands until after predicate commands")
|
||||
"Postpone print commands until after predicate commands")
|
||||
(SETQ COMTAIL COMMANDS)
|
||||
(bind SEENP PREVTAIL
|
||||
do (SELECTQ (CAR COMTAIL)
|
||||
((P PP)
|
||||
(SETQ SEENP (OR PREVTAIL T)))
|
||||
((BY COLUMNS @ OUT OLDERTHAN NEWERTHAN)
|
||||
(pop COMTAIL))
|
||||
(PROGN [COND
|
||||
((AND SEENP (NEQ COMTAIL (CDR PFLG)))
|
||||
(bind SEENP PREVTAIL do (SELECTQ (CAR COMTAIL)
|
||||
((P PP)
|
||||
(SETQ SEENP (OR PREVTAIL T)))
|
||||
((BY COLUMNS @ OUT OLDERTHAN NEWERTHAN)
|
||||
(pop COMTAIL))
|
||||
(PROGN [COND
|
||||
((AND SEENP (NEQ COMTAIL (CDR PFLG)))
|
||||
(* ;
|
||||
"Move the P or PP to before COMTAIL")
|
||||
(RPLACD PREVTAIL (CONS (CAR PFLG)
|
||||
COMTAIL))
|
||||
(COND
|
||||
((NEQ SEENP T)
|
||||
(RPLACD SEENP (CDDR SEENP)))
|
||||
(T (pop COMMANDS]
|
||||
(RETURN)))
|
||||
(SETQ COMTAIL (CDR (SETQ PREVTAIL COMTAIL]
|
||||
"Move the P or PP to before COMTAIL")
|
||||
(RPLACD PREVTAIL (CONS (CAR PFLG)
|
||||
COMTAIL))
|
||||
(COND
|
||||
((NEQ SEENP T)
|
||||
(RPLACD SEENP (CDDR SEENP)))
|
||||
(T (pop COMMANDS]
|
||||
(RETURN)))
|
||||
(SETQ COMTAIL (CDR (SETQ PREVTAIL COMTAIL]
|
||||
[COND
|
||||
((AND HEADINGS (for X in HEADINGS thereis (CAR X)))
|
||||
(TERPRI)
|
||||
(for X in (REVERSE HEADINGS) bind (I _ 22)
|
||||
do (TAB I)
|
||||
[COND
|
||||
((CAR X)
|
||||
(PRIN1 (CAR X]
|
||||
(add I (CADR X]
|
||||
(for X in (REVERSE HEADINGS) bind (I _ 22) do (TAB I)
|
||||
[COND
|
||||
((CAR X)
|
||||
(PRIN1 (CAR X]
|
||||
(add I (CADR X]
|
||||
(SETQ PRINTFLG T)
|
||||
(TAB 0 0)))
|
||||
(while (DIRECTORY.NEXTFILE FILEGROUP) do (DODIRCOMMANDS COMMANDS
|
||||
FILEGROUP))
|
||||
(while (DIRECTORY.NEXTFILE FILEGROUP) do (DODIRCOMMANDS COMMANDS FILEGROUP))
|
||||
(COND
|
||||
(PRINTFLG (TAB 0 0))))
|
||||
(RETURN (OR VALUE (COND
|
||||
@@ -370,7 +383,8 @@ Copyright (c) 1986, 1987, 1988, 1990, 1992 by Venue & Xerox Corporation. All ri
|
||||
UNDELETE
|
||||
(VERBOSE AUTHOR CREATIONDATE SIZE READDATE WRITEDATE)
|
||||
TRIMTO
|
||||
(DELVER OLDVERSIONS DELETE)))
|
||||
(DELVER OLDVERSIONS DELETE)
|
||||
DEPTH))
|
||||
|
||||
(RPAQQ FILEINFOTYPES
|
||||
((WRITEDATE 22)
|
||||
@@ -393,8 +407,8 @@ Copyright (c) 1986, 1987, 1988, 1990, 1992 by Venue & Xerox Corporation. All ri
|
||||
(DECLARE%: EVAL@COMPILE
|
||||
|
||||
(PUTPROPS DTAB DMACRO ((N)
|
||||
(TAB (PROG1 I (add I N 1))
|
||||
0)))
|
||||
(TAB (PROG1 I (add I N 1))
|
||||
0)))
|
||||
)
|
||||
|
||||
(DECLARE%: DOEVAL@COMPILE DONTCOPY
|
||||
@@ -404,10 +418,10 @@ Copyright (c) 1986, 1987, 1988, 1990, 1992 by Venue & Xerox Corporation. All ri
|
||||
)
|
||||
(PUTPROPS DIRECTORY COPYRIGHT ("Venue & Xerox Corporation" 1986 1987 1988 1990 1992))
|
||||
(DECLARE%: DONTCOPY
|
||||
(FILEMAP (NIL (1339 24611 (DODIR 1349 . 1896) (FILDIR 1898 . 1979) (DIRECTORY 1981 . 11071) (
|
||||
DIRECTORY.PARSE 11073 . 11781) (DIRECTORY.FILL.PATTERN 11783 . 12167) (DIRCONJ 12169 . 12389) (
|
||||
DIRECTORY.NEXTFILE 12391 . 12984) (DMATCH 12986 . 13361) (DIRECTORY.MATCH.SETUP 13363 . 13897) (
|
||||
DIRECTORY.MATCH 13899 . 14316) (DIRECTORY.MATCH1 14318 . 16431) (DODIRCOMMANDS 16433 . 22206) (
|
||||
DIRPRINTNAME 22208 . 23624) (DPRIN1 23626 . 23711) (DIRFILENAME 23713 . 24142) (DIRGETFILEINFO 24144
|
||||
. 24296) (DREAD 24298 . 24609)))))
|
||||
(FILEMAP (NIL (1330 25982 (DODIR 1340 . 1887) (FILDIR 1889 . 2169) (DIRECTORY 2171 . 12442) (
|
||||
DIRECTORY.PARSE 12444 . 13152) (DIRECTORY.FILL.PATTERN 13154 . 13538) (DIRCONJ 13540 . 13760) (
|
||||
DIRECTORY.NEXTFILE 13762 . 14355) (DMATCH 14357 . 14732) (DIRECTORY.MATCH.SETUP 14734 . 15268) (
|
||||
DIRECTORY.MATCH 15270 . 15687) (DIRECTORY.MATCH1 15689 . 17802) (DODIRCOMMANDS 17804 . 23577) (
|
||||
DIRPRINTNAME 23579 . 24995) (DPRIN1 24997 . 25082) (DIRFILENAME 25084 . 25513) (DIRGETFILEINFO 25515
|
||||
. 25667) (DREAD 25669 . 25980)))))
|
||||
STOP
|
||||
|
||||
Reference in New Issue
Block a user