;;; -*- Mode:Lisp; Readtable:CL; Package:USER; Base:10; Patch-File:T -*-
;;; Patch file for System version 123.203
;;; Reason:
;;;  (net:defstream) now allows you to specify a default handler ala (defselect) --
;;;  if the struct-name is a cons, it is really (struct-name default-handler)
;;; Written 11-Feb-88 14:47:55 by pld at site Gigamos Cambridge
;;; while running on Jack Flanders from band 2
;;; with Experimental System 123.199, Experimental Local-File 73.3, Experimental FILE-Server 22.1, Experimental Unix-Interface 11.0, Experimental KERMIT 34.3, Experimental ZMail 71.0, Experimental Lambda-Diag 15.0, Experimental Tape 21.1, microcode 1754, SDU Boot Tape 3.12, SDU ROM 8.



; From modified file DJ: L.NETWORK.KERNEL; DEFS.LISP#76 at 11-Feb-88 14:47:56
#10R NETWORK#: 
(COMPILER-LET ((*PACKAGE* (GLOBAL:PKG-FIND-PACKAGE "NETWORK")))
  (COMPILER::PATCH-SOURCE-FILE "SYS: NETWORK; KERNEL; DEFS  "

(defmacro defstream (struct-name components conc-name &rest instance-variables &aux (default-handler 'ignore))
  (declare (zwei:indentation 3 1))
  (when (consp struct-name)
    (setq default-handler (second struct-name))
    (setq struct-name (first struct-name)))
  `(progn
     ,(if components
	  `(defstruct (,struct-name
		       (:include ,@components)
		       (:conc-name ,conc-name))
	     ,@instance-variables)
	`(defstruct (,struct-name
		     (:conc-name ,conc-name))
	   ,@instance-variables))
     (defselect-incremental (:property ,struct-name named-structure-invoke) ,default-handler)
     (net:create-included-methods ',struct-name)))

))
