new sbcl breaks make



James Amundson writes:
 > Thank you very much. You have taken the right approach.  I will include
 > your patches in the release.
 > 
 > Unfortunately, your patch didn't apply cleanly. Would you mind sending a
 > context diff ("diff -c")? 

OK, here are the context diffs:

diff -c defsystem.lisp.orig defsystem.lisp
*** defsystem.lisp.orig	Tue Feb 17 04:39:31 2004
--- defsystem.lisp	Mon Aug  9 19:51:25 2004
***************
*** 2033,2039 ****
    (setq absolute-dir (logical-pathname absolute-dir))
    (etypecase relative-dir
      (string (setq relative-dir (parse-namestring relative-dir)))
!     (pathname #| do nothing |#))
  
    (translate-logical-pathname
     (make-pathname
--- 2033,2039 ----
    (setq absolute-dir (logical-pathname absolute-dir))
    (etypecase relative-dir
      (string (setq relative-dir (parse-namestring relative-dir)))
!     (pathname ))
  
    (translate-logical-pathname
     (make-pathname
***************
*** 3812,3823 ****
    (unless *dont-redefine-require*
      (let (#+(or :mcl (and :CCL (not :lispworks)))
  	  (ccl:*warn-if-redefine-kernel* nil))
!       #-(or (and allegro-version>= (version>= 4 1)) :lispworks)
        (setf (symbol-function
  	     #-(or (and :excl :allegro-v4.0) :mcl :sbcl :lispworks) 'lisp:require
  	     #+(and :excl :allegro-v4.0) 'cltl1:require
  	     #+:lispworks3.1 'common-lisp::require
- 	     #+:sbcl 'cl:require
  	     #+(and :lispworks (not :lispworks3.1)) 'system::require
  	     #+:openmcl 'cl:require
  	     #+(and :mcl (not :openmcl)) 'ccl:require
--- 3812,3822 ----
    (unless *dont-redefine-require*
      (let (#+(or :mcl (and :CCL (not :lispworks)))
  	  (ccl:*warn-if-redefine-kernel* nil))
!       #-(or (and allegro-version>= (version>= 4 1)) :lispworks :sbcl)
        (setf (symbol-function
  	     #-(or (and :excl :allegro-v4.0) :mcl :sbcl :lispworks) 'lisp:require
  	     #+(and :excl :allegro-v4.0) 'cltl1:require
  	     #+:lispworks3.1 'common-lisp::require
  	     #+(and :lispworks (not :lispworks3.1)) 'system::require
  	     #+:openmcl 'cl:require
  	     #+(and :mcl (not :openmcl)) 'ccl:require
***************
*** 3836,3843 ****
        #+(and allegro-version>= (version>= 4 1))
        (excl:without-package-locks
         (setf (symbol-function 'lisp:require)
! 	 (symbol-function 'new-require))))))
! )
  
  ;;; ********************************
  ;;; Language-Dependent Characteristics
--- 3835,3845 ----
        #+(and allegro-version>= (version>= 4 1))
        (excl:without-package-locks
         (setf (symbol-function 'lisp:require)
! 	 (symbol-function 'new-require)))
!       #+:sbcl
!       (sb-ext:without-package-locks
!        (setf (symbol-function 'cl:require)
! 	     (symbol-function 'new-require)))))))
  
  ;;; ********************************
  ;;; Language-Dependent Characteristics


diff -c maxima-package.lisp.orig maxima-package.lisp

*** maxima-package.lisp.orig	Sat Jul 24 19:17:01 2004
--- maxima-package.lisp	Mon Aug 16 01:05:13 2004
***************
*** 1,12 ****
! #+(or sbcl mcl)
  (or (find-package "LISP")
      (rename-package "COMMON-LISP" "COMMON-LISP" '("LISP" "CL")))
  
! ;; SI is used for the regex info implementation. This line should be removed
! ;; when the info regex implementation no longer requires SI in all lisps.
! ;; jfa 12/12/2001
! 
! ;;(or (find-package "SI") (make-package "SI" :use '(COMMON-LISP)))
  
  ;; Create the package CL-INFO that holds the info regex routines. For
  ;; GCL, we import the necessary symbols we need from SYSTEM, since GCL
--- 1,11 ----
! #+mcl
  (or (find-package "LISP")
      (rename-package "COMMON-LISP" "COMMON-LISP" '("LISP" "CL")))
  
! #+:sbcl
! (progn
!   (sb-ext:unlock-package "COMMON-LISP")
!   (rename-package "COMMON-LISP" "COMMON-LISP" '("LISP" "CL")))
  
  ;; Create the package CL-INFO that holds the info regex routines. For
  ;; GCL, we import the necessary symbols we need from SYSTEM, since GCL
***************
*** 15,34 ****
    (:use :common-lisp)
    (:export "INFO" "*INFO-PATHS*"))
  
- #+(and gcl (not ansi-cl))
- ;; Traditional GCL may have empty CL package.  Delete it.
- (if (find-package :common-lisp)
-   (delete-package :common-lisp)) 
- 
- #+gcl
- (unless (find-package :common-lisp)
-   ;; Make the LISP package be the CL package
-   (rename-package "LISP" "COMMON-LISP" '("LISP" "CL")))
- 
  (or (find-package "SLOOP") (make-package "SLOOP" :use '(LISP)))
  
! 
! (in-package "SLOOP" )
  (shadow '(LOOP-FINISH) (find-package "SLOOP"))
  
  
--- 14,22 ----
    (:use :common-lisp)
    (:export "INFO" "*INFO-PATHS*"))
  
  (or (find-package "SLOOP") (make-package "SLOOP" :use '(LISP)))
  
! (in-package "SLOOP")
  (shadow '(LOOP-FINISH) (find-package "SLOOP"))
  
  
***************
*** 37,88 ****
  		   :nicknames '("CL-MACSYMA"  "CL-MAXIMA" "MACSYMA")
  		   :use '("LISP")))
  
! (shadowing-import '(sloop::loop-return sloop::local-finish sloop::loop-finish sloop::sloop) "MAXIMA")
! 
! (shadow '(complement continue   tan sinh cosh tanh #+ti file-position ) 'cl-maxima)
  
  
- ;;defined in polyrz
- (shadow '(signum ) 'cl-maxima)
- 
- ;;lmsup
- #+lispm
- (shadow '(namestring) 'cl-maxima)
- 
- ;;in transs
- 
- 
- #+lispm
- (import '(global::array-leader
- 	  si::arglist
- 	  global::gc-on
- 	  global::gc-off
- 	  global::user-id
- 	  global::ERROR-RESTART-LOOP
- 	  global::condition-case 
- 	  global::compile-flavor-methods
- 	  global::default-cons-area
- 	  global::errset
- 	  global::make-condition
- 	  si::signal-condition
- 	  si::set-in-instance
- 	  si::record-source-file-name
- 	  #+ti tv::define-user-option-alist
- 	  #+ti tv::font-char-height ;for plot win
- 	  #+ti tv::font-char-width ;for plot win
- 	  #-ti 	  global::define-user-option-alist
- 	  #-symbolics global::defflavor
- 	  #-symbolics global::defmethod
- 	  #-symbolics global::defun-method
- 	  global::self
- 	  global::send
- 	  global::print-herald
- 	  global::without-interrupts
- 	  global::current-process
- 	  global::working-storage-area
- 	  ) 'cl-maxima)
-  
- (shadow '(copy xor putprop) 'cl-maxima)
  (shadow '(
   ARRAY       ;;"CL-MAXIMA-SOURCE: MAXIMA; COMMAC" ;not a function in common lisp but symbol in the package
   EXP         ;;various files declare this special which is bad since it is in LISP package.
--- 25,37 ----
  		   :nicknames '("CL-MACSYMA"  "CL-MAXIMA" "MACSYMA")
  		   :use '("LISP")))
  
! (shadowing-import '(sloop::loop-return sloop::local-finish sloop::loop-finish
! 		    sloop::sloop)
! 		  "MAXIMA")
  
+ (shadow '(signum copy xor putprop complement continue tan sinh cosh tanh)
+ 	'cl-maxima)
  
  (shadow '(
   ARRAY       ;;"CL-MAXIMA-SOURCE: MAXIMA; COMMAC" ;not a function in common lisp but symbol in the package
   EXP         ;;various files declare this special which is bad since it is in LISP package.
***************
*** 114,142 ****
     'cl-maxima)
  
  #+gcl
! (import '(system::getenv) (find-package "MAXIMA"))
! #+gcl
! (import '(si::getpid) (find-package "MAXIMA"))
  
- ;;get
- #+gcl
- (import '( si::cleanup si::*info-paths*
- 	   si::get-instream  si::short-name  si::cleanup
- 	   si::instream-stream-name si::instream-line si::instream-name
- 	   si::instream-stream
- 	   si::stream-name si::complete-prop
- 	   si::*stream-alist*
- 	   si::break-call
- ) "MAXIMA")
  #+gcl
  (setf (symbol-function 'maxima::newline) (symbol-function 'si::newline))
  
  ;; *info-paths* from cl-info.lisp
  #-gcl
! (import '( cl-info::*info-paths* ) "MAXIMA" )
  
  #+gcl
! (shadowing-import '( cl-info::*info-paths* ) "MAXIMA" )
  
  
  ;; MAXIMA uses LISP package which is legacy CLtL1 for GCL.
--- 63,84 ----
     'cl-maxima)
  
  #+gcl
! (import '(si::cleanup si::*info-paths* si::get-instream  si::short-name
! 	  si::cleanup si::instream-stream-name si::instream-line
! 	  si::instream-name si::instream-stream si::stream-name
! 	  si::complete-prop si::*stream-alist* si::break-call si::getpid
! 	  system::getenv)
! 	(find-package "MAXIMA"))
  
  #+gcl
  (setf (symbol-function 'maxima::newline) (symbol-function 'si::newline))
  
  ;; *info-paths* from cl-info.lisp
  #-gcl
! (import '(cl-info::*info-paths*) "MAXIMA" )
  
  #+gcl
! (shadowing-import '(cl-info::*info-paths*) "MAXIMA" )
  
  
  ;; MAXIMA uses LISP package which is legacy CLtL1 for GCL.
***************
*** 144,180 ****
  ;; package explicitly.
  ;; REMOVE this as soon as we can get rid of LISP and SERROR packages.
  #+(and gcl ansi-cl)
! (import '( cl::*debugger-hook* cl::handler-case )
!   "MAXIMA" )
  
  ;;redefined in commac  lucid 2.1 does (functionp 'jiljay)-->t
  (if (lisp::functionp 'dotimes) (push :shadow-functionp *features*))
  (unless (lisp::functionp 'lisp::functionp)
     (pushnew :shadow-functionp *features*))
  
! #+shadow-functionp
! (shadow 'lisp::functionp 'cl-maxima)
  
! ;;;REMOVE The following two forms when the kcl reader can read
! ;;;the most-negative-double-float again.
! #+kcl ;bug fix for float not readable:
! (progn
! (shadow '( most-positive-single-float most-negative-double-float) 'cl-maxima))
! #+kcl 
! (progn ;bug fix for float not readable:
!  (defvar maxima::most-positive-single-float
!    (* .1 lisp::most-positive-single-float))
!  (defvar maxima::most-negative-double-float
!    (* .1 lisp::most-negative-double-float)))
! 
! #+(or gcl kcl)
! (in-package "SERROR"  :use '( "LISP" "SLOOP"))
  
  (shadow 'lisp::float 'maxima)
- #+lispm
- (shadow 'lisp::loop 'maxima)
  
! #+allegro
! (shadow '// 'maxima)
  (provide "MAXIMA")
  
--- 86,105 ----
  ;; package explicitly.
  ;; REMOVE this as soon as we can get rid of LISP and SERROR packages.
  #+(and gcl ansi-cl)
! (import '(cl::*debugger-hook* cl::handler-case) "MAXIMA")
  
  ;;redefined in commac  lucid 2.1 does (functionp 'jiljay)-->t
  (if (lisp::functionp 'dotimes) (push :shadow-functionp *features*))
  (unless (lisp::functionp 'lisp::functionp)
     (pushnew :shadow-functionp *features*))
  
! #+shadow-functionp (shadow 'lisp::functionp 'cl-maxima)
  
! #+(or gcl kcl) (in-package "SERROR"  :use '("LISP" "SLOOP"))
  
  (shadow 'lisp::float 'maxima)
  
! #+allegro (shadow '// 'maxima)
! 
  (provide "MAXIMA")
  

Hopefully it works this time.

Andreas
-- 
Wherever I lay my .emacs, there's my $HOME.