;;; -*- Mode:Lisp; Readtable:ZL; Package:USER; Base:8; Patch-File:T -*-
;;; Patch file for System version 123.247
;;; Reason:
;;;  ZWEI:READ-SYSTEM-NAME was returning a system instance instead of a string
;;;   when user takes the default (<return> returning a null string).
;;;   This causes lossage with corruption in *zmacs-tag-table-alist*
;;;   such that later, selecting the corresponding tag table -- e.g.
;;;   'sel tag tab' -- aborts with STRING-LENGTH error.
;;; Written 28-Apr-88 18:42:00 by keith at site Gigamos Cambridge
;;; while running on Azathoth from band 3
;;; with Experimental System 123.246, 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 Tape 22.2, Experimental Serial-IP 1.0, Experimental Tiger 27.1, microcode 1756, SDU Boot Tape 3.14, SDU ROM 8, the old ones.



; From modified file DJ: L.ZWEI; SECTIO.LISP#288 at 28-Apr-88 18:42:01
#8R ZWEI#: 
(COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "ZWEI")))
  (COMPILER::PATCH-SOURCE-FILE "SYS: ZWEI; SECTIO  "

(DEFUN READ-SYSTEM-NAME (PROMPT
			 &OPTIONAL (DEFAULT (SYSTEM-OF-PATHNAME
					      (BUFFER-GENERIC-PATHNAME *INTERVAL*) T)))
  "Read a system name in the mini buffer, defaulting to DEFAULT.
Prompts with PROMPT (which should end with a colon and not mention the default).
DEFAULT defaults to a guess based on the current buffer."
  (LET ((SYSTEM-NAME (COMPLETING-READ-FROM-MINI-BUFFER
		       (IF DEFAULT
			   (FORMAT NIL "~A (Default ~A)" PROMPT (SI:SYSTEM-NAME DEFAULT))
			 PROMPT)
		       (SI:ALL-SYSTEMS-NAME-ALIST)
		       T)))
    (COND ((CONSP SYSTEM-NAME)
	   (SETQ SYSTEM-NAME (CAR SYSTEM-NAME)))
	  ((STRING-EQUAL SYSTEM-NAME "")
	   (OR (SETQ SYSTEM-NAME (si:system-name DEFAULT)) (BARF)))
	  ((STRINGP SYSTEM-NAME)
	   (CONDITION-CASE (SYSTEM) (SI:FIND-SYSTEM-NAMED SYSTEM-NAME NIL NIL)
	     (ERROR (BARF "~A" SYSTEM))
	     (:NO-ERROR (SETQ SYSTEM-NAME (SI:SYSTEM-NAME SYSTEM))))))
    SYSTEM-NAME))

))
