;;; -*- Mode:Lisp; Readtable:ZL; Package:USER; Base:8; Patch-File:T -*- ;;; Patch file for System version 123.222 ;;; Reason: ;;; Fix Dired's Copy (C), Rename (R), and Srccom () commands to really use ;;; the defaults they say they will use, rather than always using .LISP#> ;;; Written 7-Apr-88 13:21:55 by pld at site LMI ;;; while running on Opus from band 2 ;;; with Experimental System 123.221, Experimental Local-File 73.4, Experimental FILE-Server 22.2, Experimental Unix-Interface 11.0, Experimental KERMIT 34.3, Experimental ZMail 71.0, Experimental Lambda-Diag 15.0, Experimental Tiger 27.0, Experimental Site Data Editor 9.0, Experimental Tape 22.0, microcode 1755, SDU Boot Tape 3.14, SDU ROM 8, Beta II/site/patch. ; From modified file OPUS: L.ZWEI; DIRED.LISP#329 at 7-Apr-88 13:22:18 #8R ZWEI#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "ZWEI"))) (COMPILER::PATCH-SOURCE-FILE "SYS: ZWEI; DIRED  " (DEFCOM COM-DIRED-COPY "Copy the file on this line" () (WHEN (GETF (LINE-PLIST (BP-LINE (POINT))) ':DELETED) (BARF)) (LET ((FILE (DIRED-LINE-PATHNAME-OR-BARF (BP-LINE (POINT))))) (LET ((NEWFILE (READ-DEFAULTED-PATHNAME (FORMAT NIL "Pathname to copy ~A to" FILE) FILE)) RESULT FILE-PLIST) (SETQ RESULT (MULTIPLE-VALUE-LIST (COPY-FILE FILE NEWFILE :ERROR NIL))) (COND ((ERRORP (THIRD RESULT)) (FORMAT *QUERY-IO* "~&Not copied: ~A" (THIRD RESULT))) (T (FORMAT *QUERY-IO* "~&File copied to ~A" (THIRD RESULT)) ;; Save a copy of this file's directory list entry. (SETQ FILE-PLIST (COPY-LIST (LINE-PLIST (BP-LINE (POINT))))) (SETF (GETF FILE-PLIST ':PATHNAME) (THIRD RESULT)) ;; insert a line for the new file. (WITH-READ-ONLY-SUPPRESSED (*INTERVAL*) (MULTIPLE-VALUE-BIND (BP LEVEL) (DIRED-PATHNAME-INSERTION-BP (THIRD RESULT)) (COND (BP (WITH-BP (SAVE-BP BP :NORMAL) (INSERT BP #/NEWLINE) (SETF (LINE-PLIST (BP-LINE SAVE-BP)) FILE-PLIST) (SETF (DIRED-LINE-LEVEL (BP-LINE SAVE-BP)) (OR LEVEL 0)) (DIRED-REGENERATE-LINE (BP-LINE SAVE-BP)))) (T (FORMAT *QUERY-IO* ", in a directory not in this display."))))))))) DIS-TEXT) )) ; From modified file OPUS: L.ZWEI; DIRED.LISP#329 at 7-Apr-88 13:22:21 #8R ZWEI#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "ZWEI"))) (COMPILER::PATCH-SOURCE-FILE "SYS: ZWEI; DIRED  " (DEFCOM COM-DIRED-RENAME "Rename the file on this line" () (WHEN (GETF (LINE-PLIST (BP-LINE (POINT))) ':DELETED) (BARF)) (LET* ((LINE (BP-LINE (POINT))) (DIR-P (GETF (LINE-PLIST LINE) ':DIRECTORY)) ;is this a directory? (FILE (DIRED-LINE-PATHNAME-OR-BARF LINE))) (WHEN DIR-P (BARF "~A is a directory. Command not applicable!" FILE)) (LET ((NEWFILE (READ-DEFAULTED-PATHNAME (FORMAT NIL "Pathname to rename ~A to" FILE) FILE (send file :type) (send file :version))) FILE-PLIST) (WITH-OPEN-FILE (STREAM FILE) (FILE-RETRY-NEW-PATHNAME (NEWFILE FS:RENAME-FAILURE) (SEND STREAM :RENAME NEWFILE)) (CLOSE STREAM) (SETQ NEWFILE (SEND STREAM :TRUENAME)) (SETF (GETF (LINE-PLIST (BP-LINE (POINT))) ':PATHNAME) NEWFILE) (FORMAT *QUERY-IO* "~&File renamed to ~A" NEWFILE) ;; Save a copy of this file's directory list entry. (SETQ FILE-PLIST (LINE-PLIST (BP-LINE (POINT)))) ;; Delete this line. (WITH-READ-ONLY-SUPPRESSED (*INTERVAL*) (DELETE-INTERVAL (BEG-LINE (POINT)) (BEG-LINE (POINT) 1) T) (MULTIPLE-VALUE-BIND (BP LEVEL) (DIRED-PATHNAME-INSERTION-BP NEWFILE) (COND (BP (WITH-BP (SAVE-BP BP :NORMAL) (INSERT BP #/NEWLINE) (SETF (LINE-PLIST (BP-LINE SAVE-BP)) FILE-PLIST) (SETF (DIRED-LINE-LEVEL (BP-LINE SAVE-BP)) (OR LEVEL 0)) (DIRED-REGENERATE-LINE (BP-LINE SAVE-BP)))) (T (FORMAT *QUERY-IO* ", in a directory not in this display.")))))))) DIS-TEXT) )) ; From modified file OPUS: L.ZWEI; DIRED.LISP#329 at 7-Apr-88 13:22:23 #8R ZWEI#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "ZWEI"))) (COMPILER::PATCH-SOURCE-FILE "SYS: ZWEI; DIRED  " (DEFCOM COM-DIRED-SRCCOM-FILE "Compare the current file against another file" () (WHEN (GETF (LINE-PLIST (BP-LINE (POINT))) ':DELETED) (BARF)) (LET* ((FILE (DIRED-LINE-PATHNAME-OR-BARF (BP-LINE (POINT)))) (NEWFILE (READ-DEFAULTED-PATHNAME (FORMAT NIL "Pathname to compare ~A to" FILE) (send FILE :new-version :newest) (send file :type)))) (srccom-file file newfile)) DIS-NONE) ))