;;; -*- Mode:Lisp; Readtable:ZL; Package:USER; Base:8; Patch-File:T -*-
;;; Patch file for System version 123.17
;;; Reason:
;;;  Couldn't print a negative bignum
;;; Reason:
;;;  Couldn't print a negative bignum
;;; Written 21-Sep-87 17:29:15 by erRic at site LMI Cambridge
;;; while running on Death from band 2
;;; with Experimental System 123.16, Experimental Local-File 73.0, Experimental FILE-Server 22.0, Experimental Unix-Interface 11.0, Experimental Tape 18.0, Experimental KERMIT 34.0, Experimental ZMail 71.0, Experimental Lambda-Diag 15.0, microcode 1754, SDU Boot Tape 3.13, SDU ROM 102.



; From modified file DJ: L.IO; PRINT.LISP#220 at 21-Sep-87 17:29:27
#8R SYSTEM-INTERNALS#: 
(COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "SYSTEM-INTERNALS")))
  (COMPILER::PATCH-SOURCE-FILE "SYS: IO; PRINT  "

(DEFUN PRINT-BIGNUM (BIGNUM STREAM &AUX (base (current-print-base)))
  (declare (unspecial base))
  (when *print-radix*
    (print-print-radix-prefix base stream))
  (WHEN (MINUSP BIGNUM)
    (SEND STREAM :TYO (PTTBL-MINUS-SIGN *READTABLE*))
    (setq bignum (minus bignum)))	;old thing with bignum-to-array ignored sign.
  (IF (FIXNUMP BASE)
      (PRINT-RAW-BIGNUM BIGNUM BASE STREAM)
    (FUNCALL (GET BASE 'PRINC-FUNCTION) (- BIGNUM) STREAM))
  (WHEN (AND (OR *PRINT-RADIX* (NOT *NOPOINT))
	     (EQ BASE 10.))
    (SEND STREAM :TYO (PTTBL-DECIMAL-POINT *READTABLE*)))
  BIGNUM)

))
