;;; -*- Mode:Lisp; Readtable:T; Package:USER; Base:8; Patch-File:T -*-
;;; Patch file for System version 123.261
;;; Reason:
;;;  Various ZMacs clean-ups.
;;;  
;;;  1. Two places to create anonymous buffer names have been standardized.
;;;  2. Fix documentation strings.
;;;  3. Promote selected commands to standard extended commands:
;;;       Evaluate and Print Into Buffer
;;;       Create One Buffer To Go
;;;       Long Documentation
;;; Written 6-May-88 22:48:58 by keith at site Gigamos Cambridge
;;; while running on Fish food from band 3
;;; with Experimental System 123.259, Experimental Local-File 73.5, Experimental FILE-Server 22.4, 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 103.



; From modified file DJ: L.ZWEI; COMC.LISP#224 at 6-May-88 22:48:59
#8R ZWEI#: 
(COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "ZWEI")))
  (COMPILER::PATCH-SOURCE-FILE "SYS: ZWEI; COMC  "

(DEFCOM COM-EVALUATE-AND-PRINT-INTO-BUFFER
	"Evaluate the next s-expression and print standard output into the buffer.
The original expression is deleted and the output replaces it."
	()
  (LET* ((POINT (POINT)) (MARK (MARK))
	 (STREAM (REST-OF-INTERVAL-STREAM POINT))
	 (FORM (READ-OR-BARF STREAM))
	 ;(VALUE (SI:EVAL-SPECIAL-OK FORM))
	 )
    (MOVE-BP MARK (SEND STREAM :READ-BP))
    (WITH-UNDO-SAVE ("replacement" POINT MARK T)
      ;(FUNCALL (OR PRIN1 'PRIN1) VALUE STREAM)
      (LET ((*STANDARD-OUTPUT* STREAM))
	(SI:EVAL-SPECIAL-OK FORM))
      (WITH-BP (END (SEND STREAM :READ-BP) :NORMAL)
	(DELETE-INTERVAL POINT MARK T)
	(MOVE-BP POINT END))))
  DIS-TEXT)

))

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


(defcom com-create-one-buffer-to-go "Creates a new empty buffer." ()
  (make-buffer-current (create-one-buffer-to-go))
  dis-text)

))

; From modified file DJ: L.ZWEI; DEFS.LISP#167 at 6-May-88 23:23:53
#8R ZWEI#: 
(COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "ZWEI")))
  (COMPILER::PATCH-SOURCE-FILE "SYS: ZWEI; DEFS  "


(DEFMETHOD (ZMACS-BUFFER :BEFORE :INIT) (IGNORE)
  (UNLESS (VARIABLE-BOUNDP NAME)
    (setq name (generate-buffer-name))))

;; As of system 123, there is only one place where anonymous buffer names
;; are computed, and they'll all look alike.

))

; From modified file DJ: L.ZWEI; DEFS.LISP#167 at 6-May-88 23:23:58
#8R ZWEI#: 
(COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "ZWEI")))
  (COMPILER::PATCH-SOURCE-FILE "SYS: ZWEI; DEFS  "


(DEFUN GENERATE-BUFFER-NAME ()
  "Generate a new Buffer-n name."
    (LOOP AS POSSIBLE-NAME =
	     (FORMAT:OUTPUT NIL
	       "*Buffer-"
	       (LET ((*PRINT-BASE* 10.) (*NOPOINT T) (*PRINT-RADIX* NIL))
		 (PRIN1 (INCF *ZMACS-BUFFER-COUNTER*)))
	       "*")
	  WHEN (NULL (FIND-BUFFER-NAMED POSSIBLE-NAME))
	  RETURN POSSIBLE-NAME))

))

;Added to make standard extended commands by KmC 5-6-88

zwei:(set-comtab *standard-comtab*
		 nil
		 (make-command-alist
		   '(
		     COM-EVALUATE-AND-PRINT-INTO-BUFFER
		     com-create-one-buffer-to-go
		     com-long-documentation)))
