new sbcl breaks make
- Subject: new sbcl breaks make
- From: Andreas Eder
- Date: Mon, 16 Aug 2004 20:59:20 +0200
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.