;;; -*- Mode:Lisp; Readtable:ZL; Package:USER; Base:8; Patch-File:T -*-
;;; Patch file for System version 123.271
;;; Reason:
;;;  Zwei's M-X Source Compare and M-X Source Compare Merge didn't really
;;;  take the default file name they offered.
;;; Written 11-May-88 14:20:23 by pld (Peter L. DeWolf) at site Gigamos Cambridge
;;; while running on Azathoth from band 3
;;; with Experimental System 123.270, Experimental Local-File 73.5, Experimental FILE-Server 22.5, Experimental Unix-Interface 11.0, Experimental KERMIT 34.3, Experimental ZMail 71.2, Experimental Lambda-Diag 15.0, Experimental Tape 22.4, microcode 1756, SDU Boot Tape 3.14, SDU ROM 8, the old ones.



; From modified file DJ: L.ZWEI; ZMACS.LISP#567 at 11-May-88 14:20:23
#8R ZWEI#: 
(COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "ZWEI")))
  (COMPILER::PATCH-SOURCE-FILE "SYS: ZWEI; ZMACS  "

(DEFUN GET-BUFFER-OR-FILE-FILE (PROMPT &OPTIONAL DEFAULT OLDEST-P)
  (DECLARE (VALUES FILE NAME TYPE DEFAULT BUFFER))
  (IF (FQUERY '(:CHOICES (((T "File.") #/F) ((NIL "Buffer.") #/B)))
	      "~A file or buffer: " PROMPT)
      (LET ((PATHNAME (READ-DEFAULTED-PATHNAME (FORMAT NIL "~A ~A" PROMPT "File")
					       (OR DEFAULT (PATHNAME-DEFAULTS))
					       NIL (IF OLDEST-P :OLDEST)
					       :READ NIL)))
	(FILE-RETRY-NEW-PATHNAME (PATHNAME FS:FILE-ERROR)
	  (VALUES (SRCCOM::CREATE-FILE PATHNAME) PATHNAME "File" PATHNAME)))
      (LET* ((BUFFER (READ-BUFFER-NAME (FORMAT NIL "~A ~A" PROMPT "Buffer") *INTERVAL*))
	     (NAME (BUFFER-NAME BUFFER)))
	(VALUES (SRCCOM::MAKE-FILE
		  :FILE-NAME NAME
		  :FILE-TYPE "Buffer"
		  :FILE-STREAM (INTERVAL-STREAM BUFFER)
		  :FILE-MAJOR-MODE (INTERN (STRING-UPCASE
					     (SYMBOL-VALUE (BUFFER-SAVED-MAJOR-MODE BUFFER)))
					   SI:PKG-KEYWORD-PACKAGE))
		NAME
		"Buffer"
		(AND (BUFFER-FILE-ID BUFFER) (BUFFER-PATHNAME BUFFER))
		BUFFER))))

))
