From: <cli...@li...> - 2005-01-21 17:38:02
|
Send clisp-cvs mailing list submissions to cli...@li... To subscribe or unsubscribe via the World Wide Web, visit https://lists.sourceforge.net/lists/listinfo/clisp-cvs or, via email, send a message with subject or body 'help' to cli...@li... You can reach the person managing the list at cli...@li... When replying, please edit your Subject line so it is more specific than "Re: Contents of clisp-cvs digest..." CLISP CVS commits for today Today's Topics: 1. clisp/src condition.lisp,1.72,1.73 ChangeLog,1.4103,1.4104 (Bruno Haible) 2. clisp/src clos-class1.lisp,1.29,1.30 ChangeLog,1.4104,1.4105 (Bruno Haible) 3. clisp/modules/clx/mit-clx dependent.lisp,1.9,1.10 (Bruno Haible) 4. clisp/src ChangeLog,1.4105,1.4106 (Bruno Haible) 5. clisp/src format.lisp,1.42,1.43 ChangeLog,1.4106,1.4107 (Bruno Haible) 6. clisp/src stream.d,1.495,1.496 ChangeLog,1.4107,1.4108 (Bruno Haible) 7. clisp/src defmacro.lisp,1.32,1.33 defstruct.lisp,1.68,1.69 foreign1.lisp,1.76,1.77 init.lisp,1.212,1.213 lambdalist.lisp,1.9,1.10 type.lisp,1.70,1.71 ChangeLog,1.4108,1.4109 (Bruno Haible) 8. clisp/src stream.d,1.496,1.497 makemake.in,1.500,1.501 NEWS,1.226,1.227 ChangeLog,1.4109,1.4110 (Bruno Haible) 9. clisp/src constobj.d,1.166,1.167 (Bruno Haible) 10. clisp/src clisp-link.in,1.19,1.20 ChangeLog,1.4110,1.4111 (Sam Steingold) 11. clisp/src init.lisp,1.213,1.214 condition.lisp,1.73,1.74 compiler.lisp,1.239,1.240 clos-methcomb2.lisp,1.62,1.63 clos-genfun4.lisp,1.42,1.43 clos-class3.lisp,1.78,1.79 TODO,1.58,1.59 NEWS,1.227,1.228 ChangeLog,1.4111,1.4112 (Sam Steingold) --__--__-- Message: 1 From: Bruno Haible <ha...@us...> To: cli...@li... Subject: clisp/src condition.lisp,1.72,1.73 ChangeLog,1.4103,1.4104 Date: Fri, 21 Jan 2005 11:37:26 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20108/src Modified Files: condition.lisp ChangeLog Log Message: Inline maybe-continue. Index: condition.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/src/condition.lisp,v retrieving revision 1.72 retrieving revision 1.73 diff -u -d -r1.72 -r1.73 --- condition.lisp 19 Jan 2005 11:38:39 -0000 1.72 +++ condition.lisp 21 Jan 2005 11:37:18 -0000 1.73 @@ -1609,19 +1609,10 @@ (eq (restart-interactive restart) #'default-restart-interactive) restart))) -(defun maybe-continue (condition report-p) +(defun muffle-cerror (condition) ; ABI (let ((restart (find-noninteractively-invokable-continue-restart condition))) (when restart - (when report-p - (warn "~A" (with-output-to-string (stream) - (print-condition condition stream) - (let ((report-function (restart-report restart))) - (when report-function - (terpri stream) - (funcall report-function stream)))))) (invoke-restart restart)))) - -(defun muffle-cerror (condition) (maybe-continue condition nil)) ; ABI (defmacro muffle-cerrors (&body body) "(MUFFLE-CERRORS {form}*) executes the forms, but when a continuable error occurs, the CONTINUE restart is silently invoked." @@ -1639,7 +1630,16 @@ (PROGN ,@body)))) ||# -(defun appease-cerror (condition) (maybe-continue condition t)) ; ABI +(defun appease-cerror (condition) ; ABI + (let ((restart (find-noninteractively-invokable-continue-restart condition))) + (when restart + (warn "~A" (with-output-to-string (stream) + (print-condition condition stream) + (let ((report-function (restart-report restart))) + (when report-function + (terpri stream) + (funcall report-function stream))))) + (invoke-restart restart)))) (defmacro appease-cerrors (&body body) "(APPEASE-CERRORS {form}*) executes the forms, but turns continuable errors into warnings. A continuable error is signalled again as a warning, then Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.4103 retrieving revision 1.4104 diff -u -d -r1.4103 -r1.4104 --- ChangeLog 20 Jan 2005 22:06:37 -0000 1.4103 +++ ChangeLog 21 Jan 2005 11:37:18 -0000 1.4104 @@ -1,3 +1,8 @@ +2005-01-02 Bruno Haible <br...@cl...> + + * condition.lisp (maybe-continue): Remove function. + (muffle-cerror, appease-cerror): Inline maybe-continue. + 2005-01-20 Sam Steingold <sd...@gn...> * control.d (activate_bindings): new function (extracted from LET) @@ -7,28 +12,28 @@ * control.d (LET, LET*, MULTIPLE-VALUE-BIND): simplified control flow -2004-01-20 Bruno Haible <br...@cl...> +2005-01-20 Bruno Haible <br...@cl...> * eval.d (symbol_env_search): Fix definition of binds_sym_p. -2004-01-20 Bruno Haible <br...@cl...> +2005-01-20 Bruno Haible <br...@cl...> * stream.d (listen_handle): Use 'var'. -2004-01-20 Bruno Haible <br...@cl...> +2005-01-20 Bruno Haible <br...@cl...> * makemake.in (cflags.h.stamp): Use $(MV), not $(CP). -2004-01-20 Bruno Haible <br...@cl...> +2005-01-20 Bruno Haible <br...@cl...> * io.d (structure_reader): Accept also strings and characters as slot names, and use test_stringsymchar_arg for converting them to a string. -2004-01-20 Bruno Haible <br...@cl...> +2005-01-20 Bruno Haible <br...@cl...> * charstrg.d (test_stringsymchar_arg): Remove redundant code. -2004-01-20 Bruno Haible <br...@cl...> +2005-01-20 Bruno Haible <br...@cl...> * utils/clispload.lsp (*expected-failures*): Update. --__--__-- Message: 2 From: Bruno Haible <ha...@us...> To: cli...@li... Subject: clisp/src clos-class1.lisp,1.29,1.30 ChangeLog,1.4104,1.4105 Date: Fri, 21 Jan 2005 11:38:42 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20332/src Modified Files: clos-class1.lisp ChangeLog Log Message: Print the #<standard-class string> nicely in case-inverted mode. Index: clos-class1.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/src/clos-class1.lisp,v retrieving revision 1.29 retrieving revision 1.30 diff -u -d -r1.29 -r1.30 --- clos-class1.lisp 4 Jan 2005 18:18:46 -0000 1.29 +++ clos-class1.lisp 21 Jan 2005 11:38:39 -0000 1.30 @@ -699,7 +699,13 @@ (write (sys::make-load-time-eval `(FIND-CLASS ',(class-classname object))) :stream stream) (print-unreadable-object (object stream :type t) - (write (class-classname object) :stream stream) + (let ((name (class-classname object))) + ;; The class <string> has two names: cl:string and cs-cl:string. + ;; Which one we show, depends on *package*. + (when (and (eq name 'string) + (eq (find-symbol "STRING" *package*) 'cs-cl:string)) + (setq name 'cs-cl:string)) + (write name :stream stream)) (when (semi-standard-class-p object) (if (and (slot-boundp object '$current-version) (class-version-p (class-current-version object)) Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.4104 retrieving revision 1.4105 diff -u -d -r1.4104 -r1.4105 --- ChangeLog 21 Jan 2005 11:37:18 -0000 1.4104 +++ ChangeLog 21 Jan 2005 11:38:39 -0000 1.4105 @@ -1,3 +1,8 @@ +2005-01-15 Bruno Haible <br...@cl...> + + * clos-class1.lisp (print-object-<potential-class>): Improve + output when *package* is a case-sensitive package. + 2005-01-02 Bruno Haible <br...@cl...> * condition.lisp (maybe-continue): Remove function. --__--__-- Message: 3 From: Bruno Haible <ha...@us...> To: cli...@li... Subject: clisp/modules/clx/mit-clx dependent.lisp,1.9,1.10 Date: Fri, 21 Jan 2005 11:39:48 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/modules/clx/mit-clx In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20583/modules/clx/mit-clx Modified Files: dependent.lisp Log Message: Make it work also work display :1 etc. Index: dependent.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/modules/clx/mit-clx/dependent.lisp,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- dependent.lisp 18 Dec 2004 13:59:13 -0000 1.9 +++ dependent.lisp 21 Jan 2005 11:39:45 -0000 1.10 @@ -596,9 +596,6 @@ (when (or (string= host "") (string= host "unix")) ;; ok, try to connect to a AF_UNIX domain socket - ;; - ;; clisp doesn't have sockets, but special code for - ;; X connections: #-clisp (port::open-unix-socket (format nil "~A~D" @@ -606,9 +603,9 @@ display) :kind :stream :bin t) - ;; clisp doesn't have this... + ;; clisp has special code for X connections: #+clisp - (sys::make-socket-stream "" 0))))) + (sys::make-socket-stream "" display))))) (if socket socket ;; try to connect by hand --__--__-- Message: 4 From: Bruno Haible <ha...@us...> To: cli...@li... Subject: clisp/src ChangeLog,1.4105,1.4106 Date: Fri, 21 Jan 2005 11:39:49 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20583/src Modified Files: ChangeLog Log Message: Make it work also work display :1 etc. Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.4105 retrieving revision 1.4106 diff -u -d -r1.4105 -r1.4106 --- ChangeLog 21 Jan 2005 11:38:39 -0000 1.4105 +++ ChangeLog 21 Jan 2005 11:39:46 -0000 1.4106 @@ -1,3 +1,7 @@ +2004-12-24 Bruno Haible <br...@cl...> + + * clx/mit-clx/dependent.lisp (open-x-stream): Fix when display /= 0. + 2005-01-15 Bruno Haible <br...@cl...> * clos-class1.lisp (print-object-<potential-class>): Improve --__--__-- Message: 5 From: Bruno Haible <ha...@us...> To: cli...@li... Subject: clisp/src format.lisp,1.42,1.43 ChangeLog,1.4106,1.4107 Date: Fri, 21 Jan 2005 11:42:20 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21154/src Modified Files: format.lisp ChangeLog Log Message: Fix a recently introduced bug. Index: format.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/src/format.lisp,v retrieving revision 1.42 retrieving revision 1.43 diff -u -d -r1.42 -r1.43 --- format.lisp 5 Jan 2005 14:47:31 -0000 1.42 +++ format.lisp 21 Jan 2005 11:42:16 -0000 1.43 @@ -1227,7 +1227,7 @@ (defformat-simple format-character (stream colon-modifier atsign-modifier) (arg) (unless (characterp arg) - (format-error 'type-error :datum arg :type 'CHARACTER + (format-error 'type-error :datum arg :expected-type 'CHARACTER *FORMAT-CS* nil (TEXT "The ~~C format directive requires a character argument, not ~S") arg)) Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.4106 retrieving revision 1.4107 diff -u -d -r1.4106 -r1.4107 --- ChangeLog 21 Jan 2005 11:39:46 -0000 1.4106 +++ ChangeLog 21 Jan 2005 11:42:17 -0000 1.4107 @@ -1,3 +1,7 @@ +2005-01-20 Bruno Haible <br...@cl...> + + * format.lisp (format-character): Fix bug introduced on 2004-12-21. + 2004-12-24 Bruno Haible <br...@cl...> * clx/mit-clx/dependent.lisp (open-x-stream): Fix when display /= 0. --__--__-- Message: 6 From: Bruno Haible <ha...@us...> To: cli...@li... Subject: clisp/src stream.d,1.495,1.496 ChangeLog,1.4107,1.4108 Date: Fri, 21 Jan 2005 11:43:52 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21349/src Modified Files: stream.d ChangeLog Log Message: Fix possible crash in terminal_stream_p. Index: stream.d =================================================================== RCS file: /cvsroot/clisp/clisp/src/stream.d,v retrieving revision 1.495 retrieving revision 1.496 diff -u -d -r1.495 -r1.496 --- stream.d 20 Jan 2005 16:01:39 -0000 1.495 +++ stream.d 21 Jan 2005 11:43:23 -0000 1.496 @@ -394,6 +394,7 @@ global bool terminal_stream_p (object stream) { if (!streamp(stream)) return false; if (eq(stream,Symbol_value(S(terminal_read_stream)))) return true; + if (!builtin_stream_p(stream)) return false; if (TheStream(stream)->strmtype == strmtype_terminal) return true; if (TheStream(stream)->strmtype == strmtype_synonym) return terminal_stream_p(Symbol_value # get_synonym_stream Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.4107 retrieving revision 1.4108 diff -u -d -r1.4107 -r1.4108 --- ChangeLog 21 Jan 2005 11:42:17 -0000 1.4107 +++ ChangeLog 21 Jan 2005 11:43:49 -0000 1.4108 @@ -1,5 +1,10 @@ 2005-01-20 Bruno Haible <br...@cl...> + * stream.d (terminal_stream_p): Avoid crash when the stream is a + Gray stream. + +2005-01-20 Bruno Haible <br...@cl...> + * format.lisp (format-character): Fix bug introduced on 2004-12-21. 2004-12-24 Bruno Haible <br...@cl...> --__--__-- Message: 7 From: Bruno Haible <ha...@us...> To: cli...@li... Subject: clisp/src defmacro.lisp,1.32,1.33 defstruct.lisp,1.68,1.69 foreign1.lisp,1.76,1.77 init.lisp,1.212,1.213 lambdalist.lisp,1.9,1.10 type.lisp,1.70,1.71 ChangeLog,1.4108,1.4109 Date: Fri, 21 Jan 2005 11:46:05 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21957/src Modified Files: defmacro.lisp defstruct.lisp foreign1.lisp init.lisp lambdalist.lisp type.lisp ChangeLog Log Message: Rename symbol-keyword to symbol-to-keyword. The naming convention A-B is used for accessors: it indicates that every A contains a B, which is not the case here. Index: foreign1.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/src/foreign1.lisp,v retrieving revision 1.76 retrieving revision 1.77 diff -u -d -r1.76 -r1.77 --- foreign1.lisp 11 Jan 2005 11:36:48 -0000 1.76 +++ foreign1.lisp 21 Jan 2005 11:46:02 -0000 1.77 @@ -35,7 +35,7 @@ (import (intern "*FFI-MODULE*" "COMPILER")) (import (intern "FINALIZE-COUTPUT-FILE" "COMPILER")) (import (intern "TEXT" "SYSTEM")) ; messages - (import (intern "SYMBOL-KEYWORD" "SYSTEM")) + (import (intern "SYMBOL-TO-KEYWORD" "SYSTEM")) (import (intern "CHECK-SYMBOL" "SYSTEM")) ; error checking (import (intern "FOREIGN-FUNCTION-IN-ARG-COUNT" "SYSTEM")) ; called by SYS::FUNCTION-SIGNATURE ) @@ -159,7 +159,7 @@ (setq h (clos::class-kconstructor h))) ;; h is the keyword constructor for the structure `(,h ,@(mapcan #'(lambda (s v) - (list (symbol-keyword s) v)) + (list (symbol-to-keyword s) v)) slots vars)) ;; no keyword constructor found -> ;; use CLOS:SLOT-VALUE instead Index: defmacro.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/src/defmacro.lisp,v retrieving revision 1.32 retrieving revision 1.33 diff -u -d -r1.32 -r1.33 --- defmacro.lisp 3 Jan 2005 21:56:52 -0000 1.32 +++ defmacro.lisp 21 Jan 2005 11:46:01 -0000 1.33 @@ -178,7 +178,7 @@ ((and (consp next) (eql (length next) 1)) (setq next (list (car next) %default-form))))) (cond ((symbolp next) ; foo - (setq kw (symbol-keyword next)) + (setq kw (symbol-to-keyword next)) (setq %let-list (cons `(,next (GETF ,restvar ',kw NIL)) %let-list)) (setq kwlist (cons kw kwlist))) @@ -187,7 +187,7 @@ (TEXT "The lambda list of macro ~S contains the invalid element ~S") name next)) ((symbolp (car next)) ; (foo ...) - (setq kw (symbol-keyword (car next))) + (setq kw (symbol-to-keyword (car next))) (when (setq svar (get-supplied-p name next)) (setq %let-list (cons `(,svar t) %let-list))) (setq %let-list Index: type.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/src/type.lisp,v retrieving revision 1.70 retrieving revision 1.71 diff -u -d -r1.70 -r1.71 --- type.lisp 3 Jan 2005 21:56:51 -0000 1.70 +++ type.lisp 21 Jan 2005 11:46:02 -0000 1.71 @@ -743,7 +743,7 @@ (unless (and (listp item) (eql (length item) 2) (symbolp (first item))) (typespec-error 'the type)) - (let ((kw (symbol-keyword (first item)))) + (let ((kw (symbol-to-keyword (first item)))) (unless (near-typep (getf vals kw) (second item)) (return-from %the nil)) (push kw keywords)))) Index: init.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/src/init.lisp,v retrieving revision 1.212 retrieving revision 1.213 diff -u -d -r1.212 -r1.213 --- init.lisp 12 Jan 2005 19:52:51 -0000 1.212 +++ init.lisp 21 Jan 2005 11:46:02 -0000 1.213 @@ -670,7 +670,7 @@ (proclaim '(special *keyword-package*)) (setq *keyword-package* (find-package "KEYWORD")) -(defun symbol-keyword (s) (intern (symbol-name s) *keyword-package*)) +(defun symbol-to-keyword (s) (intern (symbol-name s) *keyword-package*)) (proclaim '(special *fenv*)) ;; *FENV* = the current function environment during expansion of a form. Index: defstruct.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/src/defstruct.lisp,v retrieving revision 1.68 retrieving revision 1.69 diff -u -d -r1.68 -r1.69 --- defstruct.lisp 5 Jan 2005 00:15:03 -0000 1.68 +++ defstruct.lisp 21 Jan 2005 11:46:02 -0000 1.69 @@ -991,7 +991,7 @@ (setq initfunction nil ; FIXME initfunctionform variable))) (let ((initer (cons initform initfunction)) - (initargs (list (symbol-keyword slotname))) + (initargs (list (symbol-to-keyword slotname))) (accessorname (ds-accessor-name slotname conc-name-option))) (when (eq predicate-option accessorname) (warn Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.4108 retrieving revision 1.4109 diff -u -d -r1.4108 -r1.4109 --- ChangeLog 21 Jan 2005 11:43:49 -0000 1.4108 +++ ChangeLog 21 Jan 2005 11:46:02 -0000 1.4109 @@ -1,5 +1,16 @@ 2005-01-20 Bruno Haible <br...@cl...> + * init.lisp (symbol-to-keyword): Renamed from symbol-keyword. + * defmacro.lisp (analyze-key): Update. + * lambdalist.lisp (analyze-lambdalist, + analyze-generic-function-lambdalist, analyze-defsetf-lambdalist): + Update. + * type.lisp (%the): Update. + * defstruct.lisp (defstruct): Update. + * foreign1.lisp (c-struct-constructor): Update. + +2005-01-20 Bruno Haible <br...@cl...> + * stream.d (terminal_stream_p): Avoid crash when the stream is a Gray stream. Index: lambdalist.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/src/lambdalist.lisp,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- lambdalist.lisp 3 Jan 2005 21:56:51 -0000 1.9 +++ lambdalist.lisp 21 Jan 2005 11:46:02 -0000 1.10 @@ -138,7 +138,7 @@ (if (memq item lambda-list-keywords) (check-item item '(&allow-other-keys &aux)) (progn - (push (symbol-keyword item) keyword) + (push (symbol-to-keyword item) keyword) (push item keyvar) (push nil keyinit) (push 0 keysvar))) (if (and (consp item) (or (symbolp (car item)) @@ -159,7 +159,7 @@ (push (caar item) keyword) (push (cadar item) keyvar)) (progn - (push (symbol-keyword (car item)) keyword) + (push (symbol-to-keyword (car item)) keyword) (push (car item) keyvar))) (if (consp (cdr item)) (progn @@ -294,7 +294,7 @@ (if (memq item lambda-list-keywords) (check-item item '(&allow-other-keys)) (progn - (push (symbol-keyword item) keyword) + (push (symbol-to-keyword item) keyword) (push item keyvar))) (if (and (consp item) (or (symbolp (car item)) @@ -309,7 +309,7 @@ (push (caar item) keyword) (push (cadar item) keyvar)) (progn - (push (symbol-keyword (car item)) keyword) + (push (symbol-to-keyword (car item)) keyword) (push (car item) keyvar))) (funcall errfunc item (TEXT "Invalid lambda list element ~S. Keyword parameters cannot have default value forms in generic function lambda lists.") @@ -436,7 +436,7 @@ (if (memq item lambda-list-keywords) (check-item item '(&allow-other-keys &environment)) (progn - (push (symbol-keyword item) keyword) + (push (symbol-to-keyword item) keyword) (push item keyvar) (push nil keyinit) (push 0 keysvar))) (if (and (consp item) (or (symbolp (car item)) @@ -457,7 +457,7 @@ (push (caar item) keyword) (push (cadar item) keyvar)) (progn - (push (symbol-keyword (car item)) keyword) + (push (symbol-to-keyword (car item)) keyword) (push (car item) keyvar))) (if (consp (cdr item)) (progn --__--__-- Message: 8 From: Bruno Haible <ha...@us...> To: cli...@li... Subject: clisp/src stream.d,1.496,1.497 makemake.in,1.500,1.501 NEWS,1.226,1.227 ChangeLog,1.4109,1.4110 Date: Fri, 21 Jan 2005 11:48:32 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22612/src Modified Files: stream.d makemake.in NEWS ChangeLog Log Message: Fix one more case of FRESH-LINE failure. Add a test against it. Index: NEWS =================================================================== RCS file: /cvsroot/clisp/clisp/src/NEWS,v retrieving revision 1.226 retrieving revision 1.227 diff -u -d -r1.226 -r1.227 --- NEWS 17 Jan 2005 11:53:41 -0000 1.226 +++ NEWS 21 Jan 2005 11:48:29 -0000 1.227 @@ -306,6 +306,7 @@ unjustified error. + Passing a displaced vector as argument to REVERSE could lead to an unjustified error. + + FRESH-LINE didn't work in some situations. + Fixed ATANH on complex numbers. + The macros EXT:LETF and EXT:LETF* now work correctly on symbol-macros. + Fixed a spurious crash of MULTIPLE-VALUE-SETQ in interpreted code. Index: makemake.in =================================================================== RCS file: /cvsroot/clisp/clisp/src/makemake.in,v retrieving revision 1.500 retrieving revision 1.501 diff -u -d -r1.500 -r1.501 --- makemake.in 20 Jan 2005 22:19:02 -0000 1.500 +++ makemake.in 21 Jan 2005 11:48:28 -0000 1.501 @@ -2994,7 +2994,7 @@ if [ $CROSS = false ] ; then echol "# Perform self-tests." - echol "check : check-recompile check-tests check-sacla-tests check-ansi-tests" + echol "check : check-recompile check-fresh-line check-tests check-sacla-tests check-ansi-tests" echodummyrule check echol @@ -3082,6 +3082,22 @@ echol + # Check that fresh-line works, when clisp is used in batch mode (option -x) + # and when the stdout and stderr are the same (2>&1), even when this output + # is a pipe. + echol "check-fresh-line : lisp${LEXE} lispinit.mem" + OBSOLETE="$OBSOLETE fresh-line.out" + echotab "-\$(RM) fresh-line.out" + echotab "\$(RUN) -q -M lispinit.mem -x '(progn (dolist (s (quote (*terminal-io* *standard-output* *error-output* *query-io* *debug-io* *trace-output*))) (format t \"~S = ~S~%\" s (symbol-value s))) (values))' 2>&1 | cat > fresh-line.out" + for stream1 in '*terminal-io*' '*standard-output*' '*error-output*' '*query-io*' '*debug-io*' '*trace-output*'; do + for stream2 in '*terminal-io*' '*standard-output*' '*error-output*' '*query-io*' '*debug-io*' '*trace-output*'; do + echotab "\$(RUN) -q -M lispinit.mem -x '(progn (format ${stream1} \"~&Line1 to ${stream1}\") (format ${stream2} \"~&Line2 to ${stream2}\") (values))' 2>&1 | cat >> fresh-line.out" + done + done + echotab "if grep 'Line1.*Line2' fresh-line.out > /dev/null; then exit 1; fi" + echotab "\$(RM) fresh-line.out" + echol + echol "check-tests : ${TESTSDIR} lisp${LEXE} lispinit.mem" echotab "cd ${TESTSDIR} && \$(MAKE) SHELL='\$(SHELL)' LEXE=${LEXE}" echol Index: stream.d =================================================================== RCS file: /cvsroot/clisp/clisp/src/stream.d,v retrieving revision 1.496 retrieving revision 1.497 diff -u -d -r1.496 -r1.497 --- stream.d 21 Jan 2005 11:43:23 -0000 1.496 +++ stream.d 21 Jan 2005 11:48:26 -0000 1.497 @@ -14852,6 +14852,17 @@ /* Returns the equivalent of the C stream stdout. can trigger GC */ local maygc object get_standard_output_file_stream (void) { + #if (defined(UNIX) && !defined(NEXTAPP)) || defined(WIN32_NATIVE) + # On these systems make_terminal_stream() uses stdout_handle. + var object terminal_stream = Symbol_value(S(terminal_io)); # *TERMINAL-IO* + if (builtin_stream_p(terminal_stream) + && TheStream(terminal_stream)->strmtype == strmtype_terminal) { + # For FRESH-LINE to work correctly, we must avoid that *TERMINAL-IO* and + # the stream returned by this function have a different wr_ch_lpos field. + # Therefore we just return *TERMINAL-IO*. + return terminal_stream; + } + #endif if (nullp(O(standard_output_file_stream))) O(standard_output_file_stream) = make_standard_output_file_stream(); return O(standard_output_file_stream); @@ -14860,6 +14871,17 @@ /* Returns the equivalent of the C stream stderr. can trigger GC */ local maygc object get_standard_error_file_stream (void) { + #if 0 + # On these systems make_terminal_stream() uses stderr_handle. + var object terminal_stream = Symbol_value(S(terminal_io)); # *TERMINAL-IO* + if (builtin_stream_p(terminal_stream) + && TheStream(terminal_stream)->strmtype == strmtype_terminal) { + # For FRESH-LINE to work correctly, we must avoid that *TERMINAL-IO* and + # the stream returned by this function have a different wr_ch_lpos field. + # Therefore we just return *TERMINAL-IO*. + return terminal_stream; + } + #endif if (nullp(O(standard_error_file_stream))) O(standard_error_file_stream) = (same_handle_p(stderr_handle,stdout_handle) Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.4109 retrieving revision 1.4110 diff -u -d -r1.4109 -r1.4110 --- ChangeLog 21 Jan 2005 11:46:02 -0000 1.4109 +++ ChangeLog 21 Jan 2005 11:48:30 -0000 1.4110 @@ -1,5 +1,13 @@ 2005-01-20 Bruno Haible <br...@cl...> + * stream.d (get_standard_output_file_stream, + get_standard_error_file_stream): Return *terminal-io* if this is + needed to avoid a FRESH-LINE bug. + * makemake.in (check-fresh-line): New rule. + (check): Depend on it. + +2005-01-20 Bruno Haible <br...@cl...> + * init.lisp (symbol-to-keyword): Renamed from symbol-keyword. * defmacro.lisp (analyze-key): Update. * lambdalist.lisp (analyze-lambdalist, --__--__-- Message: 9 From: Bruno Haible <ha...@us...> To: cli...@li... Subject: clisp/src constobj.d,1.166,1.167 Date: Fri, 21 Jan 2005 13:34:17 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13366 Modified Files: constobj.d Log Message: Bump version number. Index: constobj.d =================================================================== RCS file: /cvsroot/clisp/clisp/src/constobj.d,v retrieving revision 1.166 retrieving revision 1.167 diff -u -d -r1.166 -r1.167 --- constobj.d 7 Jan 2005 14:11:29 -0000 1.166 +++ constobj.d 21 Jan 2005 13:34:14 -0000 1.167 @@ -329,7 +329,7 @@ LISPOBJ(memory_image_host,"NIL") # the host on which this image was dumped /* The date of the last change of the bytecode interpreter or the arglist of any built-in function in FUNTAB */ - LISPOBJ(version,"(20050106)") + LISPOBJ(version,"(20050121)") #ifdef MACHINE_KNOWN LISPOBJ(machine_type_string,"NIL") LISPOBJ(machine_version_string,"NIL") --__--__-- Message: 10 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/src clisp-link.in,1.19,1.20 ChangeLog,1.4110,1.4111 Date: Fri, 21 Jan 2005 17:29:40 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4033/src Modified Files: clisp-link.in ChangeLog Log Message: (CDPATH): unset Index: clisp-link.in =================================================================== RCS file: /cvsroot/clisp/clisp/src/clisp-link.in,v retrieving revision 1.19 retrieving revision 1.20 diff -u -d -r1.19 -r1.20 --- clisp-link.in 10 Jan 2005 12:18:27 -0000 1.19 +++ clisp-link.in 21 Jan 2005 17:29:20 -0000 1.20 @@ -5,11 +5,14 @@ # For more usage information, see <doc/impnotes.html#modules>. # Or <http://clisp.cons.org/impnotes.html#modules>. # Bruno Haible 19.10.1994 -# Sam Steingold 2002-08-11 +# Sam Steingold 2002-2005 # This could as well be written in Lisp, for portability. But I don't like # the idea to have one Lisp process running while the next one is built. +# Nuisances. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + usage () { echo "Usage: $0 [ link | create-module-set | add-module-set | add-module-sets | run ] ..." 1>&2 exit 1 Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.4110 retrieving revision 1.4111 diff -u -d -r1.4110 -r1.4111 --- ChangeLog 21 Jan 2005 11:48:30 -0000 1.4110 +++ ChangeLog 21 Jan 2005 17:29:25 -0000 1.4111 @@ -1,7 +1,11 @@ +2005-01-21 Sam Steingold <sd...@gn...> + + * clisp-link.in (CDPATH): unset + 2005-01-20 Bruno Haible <br...@cl...> - * stream.d (get_standard_output_file_stream, - get_standard_error_file_stream): Return *terminal-io* if this is + * stream.d (get_standard_output_file_stream) + (get_standard_error_file_stream): Return *terminal-io* if this is needed to avoid a FRESH-LINE bug. * makemake.in (check-fresh-line): New rule. (check): Depend on it. @@ -10,8 +14,8 @@ * init.lisp (symbol-to-keyword): Renamed from symbol-keyword. * defmacro.lisp (analyze-key): Update. - * lambdalist.lisp (analyze-lambdalist, - analyze-generic-function-lambdalist, analyze-defsetf-lambdalist): + * lambdalist.lisp (analyze-lambdalist) + (analyze-generic-function-lambdalist, analyze-defsetf-lambdalist): Update. * type.lisp (%the): Update. * defstruct.lisp (defstruct): Update. --__--__-- Message: 11 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/src init.lisp,1.213,1.214 condition.lisp,1.73,1.74 compiler.lisp,1.239,1.240 clos-methcomb2.lisp,1.62,1.63 clos-genfun4.lisp,1.42,1.43 clos-class3.lisp,1.78,1.79 TODO,1.58,1.59 NEWS,1.227,1.228 ChangeLog,1.4111,1.4112 Date: Fri, 21 Jan 2005 17:36:06 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5559/src Modified Files: init.lisp condition.lisp compiler.lisp clos-methcomb2.lisp clos-genfun4.lisp clos-class3.lisp TODO NEWS ChangeLog Log Message: use the function syntax for %HANDLER-BIND Index: condition.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/src/condition.lisp,v retrieving revision 1.73 retrieving revision 1.74 diff -u -d -r1.73 -r1.74 --- condition.lisp 21 Jan 2005 11:37:18 -0000 1.73 +++ condition.lisp 21 Jan 2005 17:35:51 -0000 1.74 @@ -561,12 +561,12 @@ handlers)) (LOCALLY (DECLARE (COMPILE)) (SYS::%HANDLER-BIND - ,(mapcar #'(lambda (typespec handler-var) - `(,typespec #'(LAMBDA (CONDITION) - (FUNCALL (FUNCALL ,handler-var) - CONDITION)))) - typespecs handler-vars) - (FUNCALL ,(car (last handler-vars)))))))) + ,(car (last handler-vars)) + ,@(mapcan #'(lambda (typespec handler-var) + `(',typespec #'(LAMBDA (CONDITION) + (FUNCALL (FUNCALL ,handler-var) + CONDITION)))) + typespecs handler-vars)))))) ;; SIGNAL, CLtL2 p. 888 ;; is in error.d Index: compiler.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/src/compiler.lisp,v retrieving revision 1.239 retrieving revision 1.240 diff -u -d -r1.239 -r1.240 --- compiler.lisp 13 Jan 2005 20:14:03 -0000 1.239 +++ compiler.lisp 21 Jan 2005 17:35:52 -0000 1.240 @@ -1802,6 +1802,10 @@ (defmacro eval-when-compile (&body body) `(eval-when (compile) (c-eval-and-write-lib '(progn ,@body)))) +;; check whether FORM is a (QUOTE FOO) +(defun quote-p (form) + (and (eq (first form) 'QUOTE) (consp (cdr form)) (null (cddr form)))) + ;; (l-constantp form) determines, if form may be handled in the compiler ;; as load-time-constant. (defun l-constantp (form) @@ -1812,7 +1816,7 @@ ((eq (symbol-package form) *lisp-package*) (constantp form)) (t (not (null (assoc form *constant-special-vars*))))))) - (and (eq (first form) 'QUOTE) (consp (cdr form)) (null (cddr form))))) + (quote-p form))) ;; (c-constantp form) determines, if form may be handled in the compiler ;; as compile-time-constant, and if the value is known and may be inserted @@ -1829,7 +1833,7 @@ ((eq (symbol-package form) *lisp-package*) (constantp form)) (t (not (null (assoc form *constant-special-vars*))))))) - (and (eq (first form) 'QUOTE) (consp (cdr form)) (null (cddr form))))) + (quote-p form))) ;; (c-constant-value form) returns the value of a constant. ;; (c-constantp form) is required. @@ -1958,7 +1962,6 @@ (%OPTIMIZE-FUNCTION-LAMBDA . c-%OPTIMIZE-FUNCTION-LAMBDA) (CLOS:GENERIC-FLET . c-GENERIC-FLET) (CLOS:GENERIC-LABELS . c-GENERIC-LABELS) - (HANDLER-BIND . c-HANDLER-BIND) (SYS::%HANDLER-BIND . c-HANDLER-BIND) (SYS::CONSTANT-EQL . c-CONSTANT-EQL) (WITHOUT-PACKAGE-LOCK . c-WITHOUT-PACKAGE-LOCK) @@ -5711,22 +5714,19 @@ ;;;;**** FIRST PASS : MACROS -;;; compile (HANDLER-BIND ({(typespec handler)}*) {form}*) -;;; and (SYS::%HANDLER-BIND ({(typespec handler)}*) {form}*) +;;; (SYS::%HANDLER-BIND body-function 'typespec1 handler1 ...) (defun c-HANDLER-BIND () - (test-list *form* 2) - (test-list (second *form*) 0) - (let ((body (cddr *form*)) + (test-list *form* 1) + (let ((body-f (second *form*)) (types '()) (handler-labels '()) (handler-anodes '())) - (dolist (clause (second *form*)) - (test-list clause 2 2) - (let ((type (first clause)) - (handler (second clause))) + (do ((tail (cddr *form*))) ((endp tail)) + (let ((type (pop tail)) (handler (pop tail))) + (unless (quote-p type) (compiler-error 'c-HANDLER-BIND type)) ;; the handler is a function with dynamic extent. (let ((label (make-label 'ONE))) - (push type types) + (push (second type) types) (push label handler-labels) (push (let* ((*stackz* (cons 'ANYTHING *stackz*)) @@ -5768,7 +5768,7 @@ anode)))) handler-anodes)))) (if (null types) - (c-form `(PROGN ,@body)) + (c-form `(FUNCALL ,body-f)) (progn (setq types (nreverse types)) (setq handler-labels (nreverse handler-labels)) @@ -5776,7 +5776,7 @@ (let* ((label (make-label 'NIL)) (oldstackz *stackz*) (*stackz* (cons 4 *stackz*)) ; HANDLER-Frame - (body-anode (c-form `(PROGN ,@body)))) + (body-anode (c-form `(FUNCALL ,body-f)))) (make-anode :type 'HANDLER-BIND :sub-anodes `(,body-anode ,@handler-anodes) Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.4111 retrieving revision 1.4112 diff -u -d -r1.4111 -r1.4112 --- ChangeLog 21 Jan 2005 17:29:25 -0000 1.4111 +++ ChangeLog 21 Jan 2005 17:36:00 -0000 1.4112 @@ -1,5 +1,19 @@ 2005-01-21 Sam Steingold <sd...@gn...> + * condition.lisp (handler-bind): use the function syntax for + %HANDLER-BIND + * compiler.lisp (quote-p): new function + (l-constantp, c-constantp): use it + (c-form-table): do not handle HANDLER-BIND specially + (c-HANDLER-BIND): handle HANDLER-BIND in function syntax + * init.lisp (%expand-form): do not handle %HANDLER-BIND specially + * clos-class3.lisp (reinitialize-instance-<defined-class>): + use use the function syntax for %HANDLER-BIND + * clos-genfun4.lisp (generic-function-undeterminedp): ditto + * clos-methcomb2.lisp (any-method-combination-check-options): ditto + +2005-01-21 Sam Steingold <sd...@gn...> + * clisp-link.in (CDPATH): unset 2005-01-20 Bruno Haible <br...@cl...> Index: init.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/src/init.lisp,v retrieving revision 1.213 retrieving revision 1.214 diff -u -d -r1.213 -r1.214 --- init.lisp 21 Jan 2005 11:46:02 -0000 1.213 +++ init.lisp 21 Jan 2005 17:35:39 -0000 1.214 @@ -1042,12 +1042,6 @@ :detail symdef (TEXT "illegal syntax in SYMBOL-MACROLET: ~S") symdef))))) - ((%HANDLER-BIND) ; expand handler-list and body - (multiple-value-call #'%expand-cons form - (first form) nil - (multiple-value-call #'%expand-cons (rest form) - (%expand-handlers (second form)) - (%expand-list (cddr form))))) (t (cond ((and (symbolp f) (special-operator-p f)) ;; other Special-forms, ;; e.g. IF, CATCH, THROW, PROGV, UNWIND-PROTECT, PROGN, Index: NEWS =================================================================== RCS file: /cvsroot/clisp/clisp/src/NEWS,v retrieving revision 1.227 retrieving revision 1.228 diff -u -d -r1.227 -r1.228 --- NEWS 21 Jan 2005 11:48:29 -0000 1.227 +++ NEWS 21 Jan 2005 17:35:59 -0000 1.228 @@ -306,7 +306,7 @@ unjustified error. + Passing a displaced vector as argument to REVERSE could lead to an unjustified error. - + FRESH-LINE didn't work in some situations. + + FRESH-LINE did not work in some situations. + Fixed ATANH on complex numbers. + The macros EXT:LETF and EXT:LETF* now work correctly on symbol-macros. + Fixed a spurious crash of MULTIPLE-VALUE-SETQ in interpreted code. @@ -316,6 +316,7 @@ element type ([UN]SIGNED-BYTE n), 24 < n < 32, on big-endian platforms. + An invalid bignum could be returned by GET-INTERNAL-RUN-TIME on 64-bit platforms. + + Third party code walkers can now handle HANDLER-BIND et al. Modules ------- Index: clos-genfun4.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/src/clos-genfun4.lisp,v retrieving revision 1.42 retrieving revision 1.43 diff -u -d -r1.42 -r1.43 --- clos-genfun4.lisp 26 Nov 2004 12:06:45 -0000 1.42 +++ clos-genfun4.lisp 21 Jan 2005 17:35:57 -0000 1.43 @@ -231,7 +231,7 @@ ;; (Note: "override" means a method that does not (call-next-method).) ;; ;; "Portable programs may define methods that extend specified methods -;; unless the description of the specified method explicitly prohibits this. +;; unless the description of the specified method explicitly prohibits this. ;; Unless there is a specific statement to the contrary, these extending ;; methods must return whatever value was returned by the call to ;; call-next-method." @@ -420,11 +420,8 @@ ;; in order to peek into the state of a generic function. (block nil (sys::%handler-bind - ((ERROR #'(lambda (condition) - (declare (ignore condition)) - (return t)))) - (generic-function-lambda-list gf) - nil))) + #'(lambda () (generic-function-lambda-list gf) nil) 'ERROR + #'(lambda (condition) (declare (ignore condition)) (return t))))) (:method ((gf standard-generic-function)) (check-generic-function-initialized gf) (std-gf-undeterminedp gf)))) Index: clos-class3.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/src/clos-class3.lisp,v retrieving revision 1.78 retrieving revision 1.79 diff -u -d -r1.78 -r1.79 --- clos-class3.lisp 4 Jan 2005 18:18:27 -0000 1.78 +++ clos-class3.lisp 21 Jan 2005 17:35:57 -0000 1.79 @@ -672,46 +672,49 @@ (setq old-class (cv-class old-version))) (locally (declare (compile)) (sys::%handler-bind - ;; If an error occurs during the class redefinition, switch back - ;; to the old definition, so that existing instances can continue - ;; to be used. - ((ERROR #'(lambda (condition) - (declare (ignore condition)) - (let ((tmp-direct-superclasses (class-direct-superclasses class))) - ;; Restore the class using the backup copy. - (let ((new-version (class-current-version class))) - (dotimes (i (sys::%record-length class)) - (setf (sys::%record-ref class i) (sys::%record-ref old-class i))) - (setf (class-current-version class) new-version)) - ;; Restore the direct-subclasses pointers. - (dolist (super tmp-direct-superclasses) - (remove-direct-subclass-internal super class)) - (dolist (super old-direct-superclasses) - (add-direct-subclass-internal super class)) - ;; Restore the finalized-direct-subclasses pointers. - (dolist (super tmp-direct-superclasses) - (when (semi-standard-class-p super) - (remove-finalized-direct-subclass super class))) - (when (>= (class-initialized class) 6) - (dolist (super old-direct-superclasses) - (when (semi-standard-class-p super) - (add-finalized-direct-subclass super class)))) - ;; Restore the accessor methods. - (add-accessor-methods old-direct-accessors) - (setf (class-direct-accessors class) old-direct-accessors))))) - (apply #'shared-initialize ; => #'shared-initialize-<built-in-class> - ; #'shared-initialize-<standard-class> - ; #'shared-initialize-<structure-class> - class - nil - `(,@(if direct-slots-p (list 'direct-slots direct-slots) '()) - ,@all-keys)) - ;; If the class could be finalized (although not a "must"), - ;; keep it finalized and don't unfinalize it. - (when (>= (class-initialized class) 6) - (setq must-be-finalized t)) - (update-subclasses-for-redefined-class class - was-finalized must-be-finalized old-direct-superclasses))) + #'(lambda () + (apply #'shared-initialize + ; => #'shared-initialize-<built-in-class> + ; #'shared-initialize-<standard-class> + ; #'shared-initialize-<structure-class> + class nil + `(,@(if direct-slots-p + (list 'direct-slots direct-slots) '()) + ,@all-keys)) + ;; If the class could be finalized (although not a "must"), + ;; keep it finalized and don't unfinalize it. + (when (>= (class-initialized class) 6) + (setq must-be-finalized t)) + (update-subclasses-for-redefined-class + class was-finalized must-be-finalized + old-direct-superclasses)) + ;; If an error occurs during the class redefinition, + ;; switch back to the old definition, so that existing + ;; instances can continue to be used. + 'ERROR #'(lambda (condition) + (declare (ignore condition)) + (let ((tmp-direct-superclasses (class-direct-superclasses class))) + ;; Restore the class using the backup copy. + (let ((new-version (class-current-version class))) + (dotimes (i (sys::%record-length class)) + (setf (sys::%record-ref class i) (sys::%record-ref old-class i))) + (setf (class-current-version class) new-version)) + ;; Restore the direct-subclasses pointers. + (dolist (super tmp-direct-superclasses) + (remove-direct-subclass-internal super class)) + (dolist (super old-direct-superclasses) + (add-direct-subclass-internal super class)) + ;; Restore the finalized-direct-subclasses pointers. + (dolist (super tmp-direct-superclasses) + (when (semi-standard-class-p super) + (remove-finalized-direct-subclass super class))) + (when (>= (class-initialized class) 6) + (dolist (super old-direct-superclasses) + (when (semi-standard-class-p super) + (add-finalized-direct-subclass super class)))) + ;; Restore the accessor methods. + (add-accessor-methods old-direct-accessors) + (setf (class-direct-accessors class) old-direct-accessors))))) (let ((new-class-precedence-list (and (>= (class-initialized class) 6) (class-precedence-list class)))) (unless (equal old-class-precedence-list new-class-precedence-list) Index: TODO =================================================================== RCS file: /cvsroot/clisp/clisp/src/TODO,v retrieving revision 1.58 retrieving revision 1.59 diff -u -d -r1.58 -r1.59 --- TODO 20 Jan 2005 20:49:58 -0000 1.58 +++ TODO 21 Jan 2005 17:35:59 -0000 1.59 @@ -6,8 +6,6 @@ :modern declaration in DEFPACKAGE -Fix the %HANDLER-BIND walker problem by using a function syntax for it. - Contagion warnings emitted by many floating-point operations. Even though the warnings are off by default now, the user who enables them will report bug @@ -20,7 +18,7 @@ Passing --with-...-prefix=... configure argument to modules/.../configure <http://article.gmane.org/gmane.lisp.clisp.devel:13286> how do I add options like "--with-libpari-prefix" to configure? -I tried putting +I tried putting AC_LIB_LINKFLAGS_BODY([pari]) into pari/configure.in and it would have worked if pari/configure were passed @@ -244,7 +242,7 @@ 2. "return-from" restart that will return the specified values from the given function on the stack. we already have that in interpreted functions, but we must -also have it in compiled functions. +also have it in compiled functions. <http://thread.gmane.org/gmane.lisp.clisp.devel/11448> Index: clos-methcomb2.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/src/clos-methcomb2.lisp,v retrieving revision 1.62 retrieving revision 1.63 diff -u -d -r1.62 -r1.63 --- clos-methcomb2.lisp 10 Nov 2004 11:42:45 -0000 1.62 +++ clos-methcomb2.lisp 21 Jan 2005 17:35:57 -0000 1.63 @@ -161,12 +161,12 @@ (defun any-method-combination-check-options (gf-name combination options checker) ; ABI (locally (declare (compile)) (sys::%handler-bind - ((program-error - #'(lambda (err) - (error-of-type 'program-error - (TEXT "~S ~S: Invalid method-combination options ~S for ~S: ~A") - 'defgeneric gf-name options combination err)))) - (apply checker options)))) + #'(lambda () (apply checker options)) + 'program-error + #'(lambda (err) + (error-of-type 'program-error + (TEXT "~S ~S: Invalid method-combination options ~S for ~S: ~A") + 'defgeneric gf-name options combination err))))) ; Check the effective-method option (:ARGUMENTS ...). ; Returns two values: --__--__-- _______________________________________________ clisp-cvs mailing list cli...@li... https://lists.sourceforge.net/lists/listinfo/clisp-cvs End of clisp-cvs Digest |