|
1 | 1 | (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) |
2 | 2 |
|
3 | | -(FILECREATED "13-Nov-2023 20:28:57" {WMEDLEY}<sources>ADIR.;31 67473 |
| 3 | +(FILECREATED " 9-Mar-2024 10:24:39" {WMEDLEY}<sources>ADIR.;38 67777 |
4 | 4 |
|
5 | 5 | :EDIT-BY rmk |
6 | 6 |
|
7 | | - :CHANGES-TO (FNS UNPACKFILENAME.STRING) |
| 7 | + :CHANGES-TO (FNS UNPACKFILENAME.STRING FILENAMEFIELD FILENAMEFIELD.STRING \UPF.DIRECTORY) |
8 | 8 |
|
9 | | - :PREVIOUS-DATE "14-Sep-2023 23:20:17" {WMEDLEY}<sources>ADIR.;30) |
| 9 | + :PREVIOUS-DATE "13-Nov-2023 20:28:57" {WMEDLEY}<sources>ADIR.;31) |
10 | 10 |
|
11 | 11 |
|
12 | 12 | (PRETTYCOMPRINT ADIRCOMS) |
|
317 | 317 | (DEFINEQ |
318 | 318 |
|
319 | 319 | (UNPACKFILENAME.STRING |
320 | | - [LAMBDA (FILE ONEFIELDFLG DIRFLG OSTYPE PACKFLG CLFLG) (* ; "Edited 13-Nov-2023 20:28 by rmk") |
| 320 | + [LAMBDA (FILE ONEFIELDFLG DIRFLG OSTYPE PACKFLG CLFLG) (* ; "Edited 9-Mar-2024 10:23 by rmk") |
| 321 | + (* ; "Edited 13-Nov-2023 20:28 by rmk") |
321 | 322 | (* ; "Edited 28-Apr-2022 11:40 by rmk") |
322 | 323 | (* ; "Edited 24-Apr-2022 14:11 by rmk") |
323 | 324 |
|
|
367 | 368 |
|
368 | 369 | (* ;; "") |
369 | 370 |
|
| 371 | + (* ;; "These coercions were formerly in FILENAMEFIELD and FILENAMEFIELD.STRING. But they presumably should work everywhere.") |
| 372 | + |
| 373 | + (SELECTQ ONEFIELDFLG |
| 374 | + (STRUCTURE (SETQ ONEFIELDFLG 'DEVICE)) |
| 375 | + (GENERATION (SETQ ONEFIELDFLG 'VERSION)) |
| 376 | + NIL) |
370 | 377 | (PROG NIL |
371 | 378 | (COND |
372 | 379 | ((NULL FILE) |
|
386 | 393 | FILE) |
387 | 394 | (LIST 'NAME FILE))] |
388 | 395 | (T (\ILLEGAL.ARG FILE))) |
| 396 | + (CL:WHEN (EQ (NCHARS FILE) |
| 397 | + 0) |
| 398 | + (RETURN NIL)) |
389 | 399 |
|
390 | 400 | (* ;; |
391 | 401 | "Parse the string to find marker positions. The format (parens mean optional, [ ] group, | disjoins") |
|
583 | 593 |
|
584 | 594 | (* ;; "") |
585 | 595 |
|
586 | | - (* ;; " DIRFLG is RETURN on calls (\UPFDirectoryNameP CL:USER-HOMEDIR-PATHNAME) where FILE is known to have no more than a directory, but the directory might not end with / or > (e.g. %"{DSK}/Users/kaplan%". If we don't do something, %"kaplan%" would be seen as the NAME. ") |
| 596 | + (* ;; " DIRFLG is RETURN on calls (\UFSDirectoryNameP CL:USER-HOMEDIR-PATHNAME) where FILE is known to have no more than a directory, but the directory might not end with / or > (e.g. %"{DSK}/Users/kaplan%". If we don't do something, %"kaplan%" would be seen as the NAME. ") |
587 | 597 |
|
588 | 598 | (CL:WHEN [AND (EQ DIRFLG 'RETURN) |
589 | | - (NOT (FMEMB (\GETBASECHAR $$FATP $$BASE $$END) |
590 | | - (CHARCODE (> / <] |
| 599 | + (OR (ILESSP $$END $$OFFSET) |
| 600 | + (NOT (FMEMB (\GETBASECHAR $$FATP $$BASE $$END) |
| 601 | + (CHARCODE (> / <] |
591 | 602 | (SETQ DIRSTART STARTPOS) |
592 | 603 | (SETQ DIREND (ADD1 $$END)) |
593 | 604 | (SETQ DIRDIRTY T) |
|
651 | 662 | (PUSH $$VAL F FVAL]) |
652 | 663 |
|
653 | 664 | (\UPF.DIRECTORY |
654 | | - [LAMBDA (DIRSTART DIREND DIRDIRTY $$BASE $$FATP $$READONLY)(* ; "Edited 28-Apr-2022 09:15 by rmk") |
| 665 | + [LAMBDA (DIRSTART DIREND DIRDIRTY $$BASE $$FATP $$READONLY)(* ; "Edited 8-Mar-2024 23:03 by rmk") |
| 666 | + (* ; "Edited 28-Apr-2022 09:15 by rmk") |
655 | 667 | (* ; "Edited 27-Apr-2022 08:50 by rmk") |
656 | 668 | (* ; "Edited 23-Apr-2022 17:09 by rmk") |
657 | 669 |
|
|
666 | 678 | NIL))) |
667 | 679 | (IF (EQ DIREND DIRSTART) |
668 | 680 | THEN |
669 | | - (* ;; "If EQ, the directory is just the bracket, the rest is must be the name.") |
| 681 | + (* ;; "If EQ, the directory is is empty.") |
670 | 682 |
|
671 | | - BRACKET |
| 683 | + (MKSTRING "") |
672 | 684 | ELSE (CL:WHEN BRACKET (* ; "Skip the < or /") |
673 | 685 | (ADD DIRSTART 1)) |
674 | 686 |
|
|
753 | 765 | (RETURN RESULT]) |
754 | 766 |
|
755 | 767 | (FILENAMEFIELD |
756 | | - [LAMBDA (FILE FIELDNAME) (* ; "Edited 6-Mar-90 19:38 by nm") |
757 | | - (UNPACKFILENAME.STRING FILE (SELECTQ FIELDNAME |
758 | | - ((VERSION GENERATION) |
759 | | - 'VERSION) |
760 | | - ((DEVICE STRUCTURE) |
761 | | - 'DEVICE) |
762 | | - FIELDNAME) |
763 | | - 'FIELD NIL T]) |
| 768 | + [LAMBDA (FILE FIELDNAME) (* ; "Edited 9-Mar-2024 10:24 by rmk") |
| 769 | + (* ; "Edited 6-Mar-90 19:38 by nm") |
| 770 | + (UNPACKFILENAME.STRING FILE FIELDNAME 'FIELD NIL T]) |
764 | 771 |
|
765 | 772 | (FILENAMEFIELD.STRING |
766 | | - [LAMBDA (FILE FIELDNAME) (* ; "Edited 26-Mar-2022 09:38 by rmk") |
| 773 | + [LAMBDA (FILE FIELDNAME) (* ; "Edited 9-Mar-2024 10:24 by rmk") |
| 774 | + (* ; "Edited 26-Mar-2022 09:38 by rmk") |
767 | 775 | (* ; "Edited 6-Mar-90 19:38 by nm") |
768 | | - (UNPACKFILENAME.STRING FILE (SELECTQ FIELDNAME |
769 | | - ((VERSION GENERATION) |
770 | | - 'VERSION) |
771 | | - ((DEVICE STRUCTURE) |
772 | | - 'DEVICE) |
773 | | - FIELDNAME) |
774 | | - 'FIELD]) |
| 776 | + (UNPACKFILENAME.STRING FILE FIELDNAME 'FIELD]) |
775 | 777 |
|
776 | 778 | (PACKFILENAME |
777 | 779 | [LAMBDA N (* bvm%: " 5-Jul-85 15:40") |
|
1252 | 1254 | (ADDTOVAR LAMA PACKFILENAME.STRING PACKFILENAME) |
1253 | 1255 | ) |
1254 | 1256 | (DECLARE%: DONTCOPY |
1255 | | - (FILEMAP (NIL (3119 15776 (DELFILE 3129 . 3290) (FULLNAME 3292 . 3659) (INFILE 3661 . 3920) (INFILEP |
1256 | | -3922 . 4057) (IOFILE 4059 . 4310) (OPENFILE 4312 . 4615) (OPENSTREAM 4617 . 8957) (OUTFILE 8959 . 9221 |
1257 | | -) (OUTFILEP 9223 . 9359) (RENAMEFILE 9361 . 9667) (SIMPLE.FINDFILE 9669 . 10079) (VMEMSIZE 10081 . |
1258 | | -10248) (\COPYSYS 10250 . 14495) (\FLUSHVM 14497 . 15569) (\LOGOUT0 15571 . 15774)) (16234 38302 ( |
1259 | | -UNPACKFILENAME.STRING 16244 . 35681) (\UPF.DIRECTORY 35683 . 38300)) (39830 42502 (UNPACKFILENAME |
1260 | | -39840 . 40026) (LASTCHPOS 40028 . 40722) (FILENAMEFIELD 40724 . 41209) (FILENAMEFIELD.STRING 41211 . |
1261 | | -41790) (PACKFILENAME 41792 . 42135) (PACKFILENAME.STRING 42137 . 42500)) (56972 57885 ( |
1262 | | -FILEDIRCASEARRAY 56982 . 57883)) (58052 65232 (LOGOUT 58062 . 58979) (MAKESYS 58981 . 60610) (SYSOUT |
1263 | | -60612 . 62164) (SAVEVM 62166 . 62966) (HERALD 62968 . 63128) (INTERPRET.REM.CM 63130 . 64855) ( |
1264 | | -\USEREVENT 64857 . 65230)) (65414 67141 (USERNAME 65424 . 66380) (SETUSERNAME 66382 . 67139))))) |
| 1257 | + (FILEMAP (NIL (3169 15826 (DELFILE 3179 . 3340) (FULLNAME 3342 . 3709) (INFILE 3711 . 3970) (INFILEP |
| 1258 | +3972 . 4107) (IOFILE 4109 . 4360) (OPENFILE 4362 . 4665) (OPENSTREAM 4667 . 9007) (OUTFILE 9009 . 9271 |
| 1259 | +) (OUTFILEP 9273 . 9409) (RENAMEFILE 9411 . 9717) (SIMPLE.FINDFILE 9719 . 10129) (VMEMSIZE 10131 . |
| 1260 | +10298) (\COPYSYS 10300 . 14545) (\FLUSHVM 14547 . 15619) (\LOGOUT0 15621 . 15824)) (16284 38972 ( |
| 1261 | +UNPACKFILENAME.STRING 16294 . 36274) (\UPF.DIRECTORY 36276 . 38970)) (40500 42806 (UNPACKFILENAME |
| 1262 | +40510 . 40696) (LASTCHPOS 40698 . 41392) (FILENAMEFIELD 41394 . 41688) (FILENAMEFIELD.STRING 41690 . |
| 1263 | +42094) (PACKFILENAME 42096 . 42439) (PACKFILENAME.STRING 42441 . 42804)) (57276 58189 ( |
| 1264 | +FILEDIRCASEARRAY 57286 . 58187)) (58356 65536 (LOGOUT 58366 . 59283) (MAKESYS 59285 . 60914) (SYSOUT |
| 1265 | +60916 . 62468) (SAVEVM 62470 . 63270) (HERALD 63272 . 63432) (INTERPRET.REM.CM 63434 . 65159) ( |
| 1266 | +\USEREVENT 65161 . 65534)) (65718 67445 (USERNAME 65728 . 66684) (SETUSERNAME 66686 . 67443))))) |
1265 | 1267 | STOP |
0 commit comments