[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug in lisp 4.0 beta (6 July 1990)



I have found a fix for the problem reported bellow:

Just swap the call to typep and lisp-streamp in streamp like this:

(defun streamp (object)
  (or (lisp-streamp object)
       (lisp:typep object 'window)))

Felix

Felix Ingrand writes:
>
>In case you have not received this bug report.
>
>(this happens in express windows)
>
>I managed to narrow the problem to the following function: streamp
>
>(in-package :user)
>
>(defpackage ew (:shadow lisp:streamp))
>
>(in-package :ew)
>
>(defun streamp (object)
>  (or (lisp:typep object 'window)
>      (lisp-streamp object)))
>
>(defun setup-lisp-functions (&OPTIONAL (functions '(lisp:streamp)))
>  (dolist (function functions)
>    (let ((local-name (intern (concatenate 'STRING "LISP-" (symbol-name function)) (find-package "EW")))
>	  (new-function (intern (symbol-name function) (find-package "EW")))
>	  (cl-function function))
>      (unless (fboundp local-name)
>	(setf (symbol-function local-name) (symbol-function cl-function)))
>      (when (fboundp new-function)
>	(setf (symbol-function cl-function) (symbol-function new-function))))))
>
>If you then do:
>(ew::setup-lisp-functions)
>You get:
>
>Nasty recursive error in debugger.
>Expanding main stack due to overflow...
>Expanded.  Please be patient--it will take a
>few minutes to build debugger data structures.
>Expanding main stack due to overflow...
>
>Felix
>