;;; -*- Mode:Lisp; Readtable:CL; Package:OBJ; Base:10; Patch-File:T -*- ;;; Patch file for Object Lisp version 3.4 ;;; Reason: ;;; Fixes bug with SPECIALIZATIONS of global object. ;;; Written 26-Apr-86 12:01:17 by GLD (Gary L. Drescher) at site LMI Cambridge ;;; while running on Larry from band 4 ;;; with Experimental System 110.228, Experimental Lambda-Diag 7.13, Experimental Local-File 68.7, Experimental FILE-Server 18.4, Experimental Unix-Interface 9.1, Experimental ZMail 65.14, Experimental Object Lisp 3.3, Experimental Tape 6.38, Experimental Site Data Editor 3.3, Experimental Tiger 24.0, Experimental KERMIT 31.3, Experimental Window-Maker 1.1, Experimental Gateway 4.8, Experimental TCP-Kernel 39.7, Experimental TCP-User 62.7, Experimental TCP-Server 45.5, Experimental MEDIUM-RESOLUTION-COLOR 3.4, Experimental MICRO-COMPILATION-TOOLS 3.2, microcode 1508, SDU ROM 103, pace's band, patched to 110.228. ; From modified file DJ: L.OBJECTLISP; OBJ.LISP#154 at 26-Apr-86 12:01:28 #10R OBJ#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "OBJ"))) (COMPILER::PATCH-SOURCE-FILE "SYS: OBJECTLISP; OBJ  " (defun TALKTO (&optional obj) (iff (not (null obj)) (set-obj obj) (set-obj obj) nil)) )) ; From modified file DJ: L.OBJECTLISP; PRIMS.LISP#14 at 26-Apr-86 12:03:02 #10R OBJ#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "OBJ"))) (COMPILER::PATCH-SOURCE-FILE "SYS: OBJECTLISP; PRIMS  " (defun SPECIALIZATIONS (&optional (obj *object)) (unless (global-obj? obj) (remq obj (append (copy-list (env-class-objs (own-env obj))) (copy-list (env-instance-objs (own-env obj))))))) )) ; From modified file DJ: L.OBJECTLISP; GLOBAL.LISP#9 at 26-Apr-86 12:04:05 #10R OBJ#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "OBJ"))) (COMPILER::PATCH-SOURCE-FILE "SYS: OBJECTLISP; GLOBAL  " (defobfun print-self (&aux (ptr (if *%pointer? (%pointer (current-obj)) (obj-index (current-obj))))) (if (AND *objs-print-self? (NOT (GLOBAL-OBJ? (CURRENT-OBJ)))) (cond ;((null (current-obj)) (prin1 nil)) ((own? 'class-name) (format t "#" class-name ptr)) ((own? 'obj-name) (if (own? 'class-name) (format t "#<~a, a ~a ~o>" obj-name class-name ptr) (format t "#<~a ~o>" obj-name ptr))) ((there? 'class-name) (format t "#" class-name ptr)) (t (format t "#" ptr))) (format t "#" ptr))) ))