|
View:
New views
1 Messages
—
Rating Filter:
Alert me
|
|
|
clisp-cvs Digest, Vol 43, Issue 2Send clisp-cvs mailing list submissions to
clisp-cvs@... 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 clisp-cvs-request@... You can reach the person managing the list at clisp-cvs-owner@... 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 ChangeLog,1.7186,1.7187 error.d,1.172,1.173 (Sam Steingold) 2. clisp/src ChangeLog, 1.7187, 1.7188 compiler.lisp, 1.351, 1.352 condition.lisp, 1.100, 1.101 (Sam Steingold) 3. clisp/src ChangeLog, 1.7188, 1.7189 compiler.lisp, 1.352, 1.353 condition.lisp, 1.101, 1.102 (Sam Steingold) 4. clisp/doc Symbol-Table.text, 1.31, 1.32 impbody.xml, 1.578, 1.579 impent.xml, 1.359, 1.360 (Sam Steingold) ---------------------------------------------------------------------- Message: 1 Date: Sun, 01 Nov 2009 15:02:31 +0000 From: Sam Steingold <sds@...> Subject: clisp/src ChangeLog,1.7186,1.7187 error.d,1.172,1.173 To: clisp-cvs@... Message-ID: <E1N4bwt-0001Zi-Jo@...> Update of /cvsroot/clisp/clisp/src In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv6039/src Modified Files: ChangeLog error.d Log Message: (begin_error): ensure *ERROR-OUTPUT* is valid first thing Index: error.d =================================================================== RCS file: /cvsroot/clisp/clisp/src/error.d,v retrieving revision 1.172 retrieving revision 1.173 diff -u -d -r1.172 -r1.173 --- error.d 9 Oct 2009 15:24:38 -0000 1.172 +++ error.d 1 Nov 2009 15:02:28 -0000 1.173 @@ -38,6 +38,8 @@ end_system_call(); /* there is no system call running anymore */ cancel_interrupts(); STOP_WRITING_TO_SUBPROCESS; + /* make sure *ERROR-OUTPUT* is valid */ + var_stream(S(error_output),strmflags_wr_ch_B); if (!posfixnump(Symbol_value(S(recursive_error_count)))) /* should be a fixnum >=0 */ Symbol_value(S(recursive_error_count)) = Fixnum_0; /* otherwise emergency correction */ /* increase error-count, if >3 abort output: */ Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.7186 retrieving revision 1.7187 diff -u -d -r1.7186 -r1.7187 --- ChangeLog 1 Nov 2009 03:32:30 -0000 1.7186 +++ ChangeLog 1 Nov 2009 15:02:28 -0000 1.7187 @@ -1,3 +1,7 @@ +2009-11-01 Sam Steingold <sds@...> + + * error.d (begin_error): ensure *ERROR-OUTPUT* is valid first thing + 2009-10-31 Sam Steingold <sds@...> * makemake.in (fsstnd): infer based on TSYSOS instead of HSYSOS ------------------------------ Message: 2 Date: Sun, 01 Nov 2009 21:07:20 +0000 From: Sam Steingold <sds@...> Subject: clisp/src ChangeLog, 1.7187, 1.7188 compiler.lisp, 1.351, 1.352 condition.lisp, 1.100, 1.101 To: clisp-cvs@... Message-ID: <E1N4hdw-0008FL-NM@...> Update of /cvsroot/clisp/clisp/src In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv31648/src Modified Files: ChangeLog compiler.lisp condition.lisp Log Message: * compiler.lisp (c-current-location): when returning a non-empty value, terminate it with ": " (c-warning, c-error): C-CURRENT-LOCATION is either empty or is terminated by ": ", so adjust its use * condition.lisp (c-warning): ditto; also bind *ERROR-OUTPUT* to *C-ERROR-OUTPUT*, never to *C-LISTING-OUTPUT* which may be NIL, because *COMPILE-VERBOSE* does not affect condition handling Index: condition.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/src/condition.lisp,v retrieving revision 1.100 retrieving revision 1.101 diff -u -d -r1.100 -r1.101 --- condition.lisp 28 Oct 2009 19:44:59 -0000 1.100 +++ condition.lisp 1 Nov 2009 21:07:18 -0000 1.101 @@ -1668,10 +1668,9 @@ ;; for X3J13 Issue COMPILER-DIAGNOSTICS:USE-HANDLER (defun c-warning (type format-string &rest args) - (let ((*error-output* - (if *compile-verbose* *c-error-output* *c-listing-output*))) + (let ((*error-output* *c-error-output*)) (apply #'warn-of-type type - (string-concat (c-current-location) ": " format-string) + (string-concat (c-current-location) format-string) args))) ;; WARN, CLtL2 p. 912 Index: compiler.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/src/compiler.lisp,v retrieving revision 1.351 retrieving revision 1.352 diff -u -d -r1.351 -r1.352 --- compiler.lisp 29 Oct 2009 21:41:24 -0000 1.351 +++ compiler.lisp 1 Nov 2009 21:07:18 -0000 1.352 @@ -1915,13 +1915,17 @@ (defun in-defun-p (fun) (and (equal fun (current-function)) (defining-p fun))) -(defun c-current-location () - (format nil (TEXT "~@[in ~S ~]~A") (current-function) (c-source-location))) +(defun c-current-location (&optional (in-function (current-function))) + (let ((f (if in-function (format nil (TEXT "in ~S ") in-function) #1="")) + (l (c-source-location))) + (if (and (string= f #1#) (string= l #1#)) + #1# + (string-concat f l ": ")))) (predefun c-warning (type cstring &rest args) (declare (ignore type)) (apply #'c-comment - (string-concat (TEXT "WARNING ~A:") "~%" cstring) + (string-concat (TEXT "WARNING: ~A") "~%" cstring) (c-current-location) args)) (defvar *warning-count*) @@ -1949,8 +1953,8 @@ (when *compiling-from-file* (pushnew in-function *functions-with-errors*))) (fresh-line *c-error-output*) - (format *c-error-output* (TEXT "ERROR~@[ in ~S~]~A :") - in-function (c-source-location)) + (format *c-error-output* (TEXT "ERROR: ~A") + (c-current-location in-function)) (terpri *c-error-output*) (apply #'format *c-error-output* cstring args) (elastic-newline *c-error-output*)) Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.7187 retrieving revision 1.7188 diff -u -d -r1.7187 -r1.7188 --- ChangeLog 1 Nov 2009 15:02:28 -0000 1.7187 +++ ChangeLog 1 Nov 2009 21:07:18 -0000 1.7188 @@ -1,5 +1,15 @@ 2009-11-01 Sam Steingold <sds@...> + * compiler.lisp (c-current-location): when returning a non-empty + value, terminate it with ": " + (c-warning, c-error): C-CURRENT-LOCATION is either empty or is + terminated by ": ", so adjust its use + * condition.lisp (c-warning): ditto; also bind *ERROR-OUTPUT* to + *C-ERROR-OUTPUT*, never to *C-LISTING-OUTPUT* which may be NIL, + beause *COMPILE-VERBOSE* does not affect condition handling + +2009-11-01 Sam Steingold <sds@...> + * error.d (begin_error): ensure *ERROR-OUTPUT* is valid first thing 2009-10-31 Sam Steingold <sds@...> ------------------------------ Message: 3 Date: Mon, 02 Nov 2009 02:56:46 +0000 From: Sam Steingold <sds@...> Subject: clisp/src ChangeLog, 1.7188, 1.7189 compiler.lisp, 1.352, 1.353 condition.lisp, 1.101, 1.102 To: clisp-cvs@... Message-ID: <E1N4n66-00049G-Sp@...> Update of /cvsroot/clisp/clisp/src In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv15934/src Modified Files: ChangeLog compiler.lisp condition.lisp Log Message: * compiler.lisp (c-cerror): extract predefun from ... (c-error): use it; accept DETAIL as the 1st argument (test-list, c-form, test-argument-syntax, c-illegal-syntax) (c-analyze-lambdalist, bind-fixed-var-1, bind-movable-var) (bind-movable-var, c-DECLARE, c-SETQ, c-PSETQ) (c-MULTIPLE-VALUE-SETQ, c-MULTIPLE-VALUE-BIND, check-blockname) (c-RETURN-FROM, c-TAGBODY, c-GO, c-FUNCTION, err-syntax) (c-SYMBOL-MACROLET, c-EVAL-WHEN, c-COND, c-CASE, c-FUNCALL-INLINE): pass DETAIL to C-ERROR * condition.lisp (c-cerror): defun here: signal source-program-error Index: condition.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/src/condition.lisp,v retrieving revision 1.101 retrieving revision 1.102 diff -u -d -r1.101 -r1.102 --- condition.lisp 1 Nov 2009 21:07:18 -0000 1.101 +++ condition.lisp 2 Nov 2009 02:56:44 -0000 1.102 @@ -1673,6 +1673,14 @@ (string-concat (c-current-location) format-string) args))) +(defun c-cerror (location detail format-string &rest args) + (let ((*error-output* *c-error-output*)) + (apply #'cerror-of-type (TEXT "Ignore the error and proceed") + 'simple-source-program-error + :form *form* :detail detail + (string-concat location format-string) + args))) + ;; WARN, CLtL2 p. 912 ;; (WARN format-string {arg}*) (defun warn (format-string &rest args) Index: compiler.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/src/compiler.lisp,v retrieving revision 1.352 retrieving revision 1.353 diff -u -d -r1.352 -r1.353 --- compiler.lisp 1 Nov 2009 21:07:18 -0000 1.352 +++ compiler.lisp 2 Nov 2009 02:56:44 -0000 1.353 @@ -1941,23 +1941,27 @@ (defun c-style-warn (cstring &rest args) (incf *style-warning-count*) (incf *warning-count*) - (apply #'c-warning 'sys::simple-style-warning cstring args)) + (apply 'c-warning 'sys::simple-style-warning cstring args)) + +;; continuable compiler error +(predefun c-cerror (location detail cstring &rest args) + (declare (ignore detail)) + (fresh-line *c-error-output*) + (format *c-error-output* (TEXT "ERROR: ~A") location) + (terpri *c-error-output*) + (apply #'format *c-error-output* cstring args) + (elastic-newline *c-error-output*)) (defvar *error-count*) ;; (C-ERROR controlstring . args) ;; issue a compiler error (via FORMAT) and terminate the current C-FORM. -(defun c-error (cstring &rest args) +(defun c-error (detail cstring &rest args) (incf *error-count*) (let ((in-function (current-function))) (when in-function (when *compiling-from-file* (pushnew in-function *functions-with-errors*))) - (fresh-line *c-error-output*) - (format *c-error-output* (TEXT "ERROR: ~A") - (c-current-location in-function)) - (terpri *c-error-output*) - (apply #'format *c-error-output* cstring args) - (elastic-newline *c-error-output*)) + (apply 'c-cerror (c-current-location in-function) detail cstring args)) (throw 'c-error (make-anode :source NIL :type 'ERROR @@ -2097,12 +2101,12 @@ ;; and has at least l1, but at most l2 elements. Else: Error. (defun test-list (L &optional (l1 0) (l2 nil)) (unless (and (listp L) (null (cdr (last L)))) - (c-error (TEXT "Code contains dotted list ~S") L)) + (c-error L (TEXT "Code contains dotted list ~S") L)) (unless (>= (length L) l1) - (c-error (TEXT "Form too short, too few arguments: ~S") L)) + (c-error L (TEXT "Form too short, too few arguments: ~S") L)) (when l2 (unless (<= (length L) l2) - (c-error (TEXT "Form too long, too many arguments: ~S") L)))) + (c-error L (TEXT "Form too long, too many arguments: ~S") L)))) ;; c-form-table contains the handler function (to be called without arguments) ;; for all functions/specialforms/macros, that have to be treated specially. @@ -2358,7 +2362,7 @@ (if (lambda-form-p fun) (c-form `(FUNCALL (FUNCTION ,fun) ,@(cdr *form*))) #| not: (c-LAMBDA-FUNCTION-CALL fun (cdr *form*)) |# - (c-error (TEXT "Not the name of a function: ~S") fun)))))))) + (c-error fun (TEXT "Not the name of a function: ~S") fun)))))))) #+CLISP-DEBUG (setf (anode-source anode) *form*) ;; If no values are needed and no side effects are produced, ;; the appendant code can be discarded completely: @@ -2756,7 +2760,7 @@ (defun test-argument-syntax (args applyargs fun req opt rest-p key-p keylist allow-p) (unless (and (listp args) (null (cdr (last args)))) - (c-error (TEXT "argument list to function ~S is dotted: ~S") + (c-error args (TEXT "argument list to function ~S is dotted: ~S") fun args)) (let ((n (length args)) (reqopt (+ req opt))) @@ -3448,7 +3452,7 @@ ;; Syntax-Analysis: (defun c-illegal-syntax (form caller) - (c-error-c (TEXT "Illegal syntax in ~A: ~S") caller form)) + (c-error-c form (TEXT "Illegal syntax in ~A: ~S") caller form)) ;; analyzes a parameter-list of LET/LET*, returns: ;; the List of Symbols, @@ -3485,7 +3489,7 @@ #'(lambda (form errorstring &rest arguments) (declare (ignore form)) (catch 'c-error - (apply #'c-error errorstring arguments))))) + (apply #'c-error lambdalist errorstring arguments))))) (defun lambda-list-to-signature (lambda-list) (multiple-value-bind (req opt opt-i opt-p rest @@ -3640,7 +3644,7 @@ ;; must bind symbol dynamically: (progn (when (l-constantp symbol) - (c-error-c (TEXT "Constant ~S cannot be bound.") + (c-error-c symbol (TEXT "Constant ~S cannot be bound.") symbol)) (make-special-var symbol)) ;; must bind symbol lexically : @@ -3755,7 +3759,7 @@ (progn (if (l-constantp symbol) (progn - (c-error-c (TEXT "Constant ~S cannot be bound.") symbol) + (c-error-c symbol (TEXT "Constant ~S cannot be bound.") symbol) (push 0 *stackz*)) (push '(BIND 1) *stackz*)) (make-special-var symbol)) @@ -4459,7 +4463,7 @@ ;; compile (DECLARE {declspec}*) (defun c-DECLARE () (test-list *form* 1) - (c-error (TEXT "Misplaced declaration: ~S") *form*)) + (c-error *form* (TEXT "Misplaced declaration: ~S") *form*)) ;; compile (LOAD-TIME-VALUE form [read-only-p]) (defun c-LOAD-TIME-VALUE () @@ -4677,7 +4681,7 @@ (defun c-SETQ () (test-list *form* 1) (when (evenp (length *form*)) - (c-error (TEXT "Odd number of arguments to SETQ: ~S") *form*)) + (c-error *form* (TEXT "Odd number of arguments to SETQ: ~S") *form*)) (if (null (cdr *form*)) (c-NIL) ; (SETQ) == (PROGN) == NIL (if (setqlist-macrop (cdr *form*)) @@ -4707,7 +4711,7 @@ (push setteri codelist) (seclass-or-f seclass setteri))) (progn - (c-error-c (TEXT "Cannot assign to non-symbol ~S.") + (c-error-c symboli (TEXT "Cannot assign to non-symbol ~S.") symboli) (push '(VALUES1) codelist)))))))) @@ -4716,7 +4720,7 @@ (defun c-PSETQ () (test-list *form* 1) (when (evenp (length *form*)) - (c-error (TEXT "Odd number of arguments to PSETQ: ~S") *form*)) + (c-error *form* (TEXT "Odd number of arguments to PSETQ: ~S") *form*)) (if (null (cdr *form*)) (c-NIL) ; (PSETQ) == (PROGN) == NIL (if (setqlist-macrop (cdr *form*)) @@ -4736,7 +4740,7 @@ (push anodei anodelist) (push (c-VARSET symboli anodei nil) setterlist) (push 0 *stackz*)) - (c-error-c (TEXT "Cannot assign to non-symbol ~S.") + (c-error-c symboli (TEXT "Cannot assign to non-symbol ~S.") symboli)))) ;; try to reorganize them in a fashion, that as few (PUSH)'s and ;; (POP)'s as possible are necessary: @@ -4828,7 +4832,7 @@ (set-check-lock 'multiple-value-setq symbol) (push setter codelist) (seclass-or-f seclass setter))) - (c-error-c (TEXT "Cannot assign to non-symbol ~S.") + (c-error-c symbol (TEXT "Cannot assign to non-symbol ~S.") symbol))) (push '(POP) codelist) (push 1 *stackz*)))))) @@ -4953,7 +4957,7 @@ (let ((symbols (second *form*))) (dolist (sym symbols) (unless (symbolp sym) - (c-error (TEXT "Only symbols may be used as variables, not ~S") + (c-error sym (TEXT "Only symbols may be used as variables, not ~S") sym))) (if (= (length symbols) 1) (c-form `(LET ((,(first symbols) ,(third *form*))) ,@(cdddr *form*))) @@ -5047,7 +5051,7 @@ (macrolet ((check-blockname (name) `(unless (symbolp ,name) - (c-error-c (TEXT "Block name must be a symbol, not ~S") + (c-error-c ,name (TEXT "Block name must be a symbol, not ~S") ,name) (setq ,name NIL)))) ; Default-Blockname @@ -5089,7 +5093,8 @@ (check-blockname name) (let ((a (benv-search name))) (cond ((null a) ; this Blockname is invisible - (c-error (TEXT "RETURN-FROM block ~S is impossible from here.") + (c-error name + (TEXT "RETURN-FROM block ~S is impossible from here.") name)) ((block-p a) ; visible in *benv* without %benv% (let ((anode (c-form (third *form*) (block-for-value a)))) @@ -5147,7 +5152,7 @@ (push item taglist) (push (make-label 'NIL) labellist)) (c-error-c - (TEXT "Only numbers and symbols are valid tags, not ~S") + item (TEXT "Only numbers and symbols are valid tags, not ~S") item))))) (let* ((*stackz* (cons 0 *stackz*)) ; poss. TAGBODY-Frame (tagbody (make-tagbody :fnode *func* :labellist labellist @@ -5219,10 +5224,10 @@ (test-list *form* 2 2) (let ((tag (second *form*))) (unless (or (symbolp tag) (numberp tag)) - (c-error (TEXT "Tag must be a symbol or a number, not ~S") tag)) + (c-error tag (TEXT "Tag must be a symbol or a number, not ~S") tag)) (multiple-value-bind (a b) (genv-search tag) (cond ((null a) ; this Tag is invisible - (c-error (TEXT "GO to tag ~S is impossible from here.") tag)) + (c-error tag (TEXT "GO to tag ~S is impossible from here.") tag)) ((tagbody-p a) ; visible in *genv* without %genv% (if (and (eq (tagbody-fnode a) *func*) (may-UNWIND *stackz* (tagbody-stackz a))) @@ -5295,8 +5300,10 @@ :code `((FCONST ,(const-value-safe f2)))) (c-VAR (var-name f2)))) (t (if (and (null f1) m) - (c-error (TEXT "~S is not a function. It is a locally defined macro.") - name) + (c-error + name + (TEXT "~S is not a function. It is a locally defined macro.") + name) (compiler-error 'c-FUNCTION name)))))) (let ((funname (car (last *form*)))) (if (lambda-form-p funname) @@ -5309,7 +5316,7 @@ (cdr funname)))) (unless *no-code* (propagate-far-used fnode)) (c-fnode-function fnode)) - (c-error (TEXT "Only symbols and lambda expressions are function names, not ~S") + (c-error funname (TEXT "Only symbols and lambda expressions are function names, not ~S") funname)))))) ;; compile (%GENERIC-FUNCTION-LAMBDA . lambdabody) @@ -5359,7 +5366,7 @@ (macrolet ((err-syntax (specform fdef) `(c-error-c - (TEXT "Illegal function definition syntax in ~S: ~S") + ,fdef (TEXT "Illegal function definition syntax in ~S: ~S") ,specform ,fdef)) (add-fenv (namelist fenvconslist) `(do ((namelistr ,namelist (cdr namelistr)) @@ -5778,7 +5785,7 @@ (progn (push (first symdef) symbols) (push (second symdef) expansions)) - (c-error-c (TEXT "~S: Illegal syntax: ~S") + (c-error-c symdef (TEXT "~S: Illegal syntax: ~S") 'symbol-macrolet symdef)))) (let ((*denv* *denv*) (*venv* @@ -5794,10 +5801,10 @@ (push-*denv* other-decls) (dolist (symbol symbols) (if (or (constantp symbol) (proclaimed-special-p symbol)) - (c-error-c (TEXT "~S: symbol ~S is declared SPECIAL and must not be declared a macro") + (c-error-c symbol (TEXT "~S: symbol ~S is declared SPECIAL and must not be declared a macro") 'symbol-macrolet symbol) (when (memq symbol *specials*) - (c-error-c (TEXT "~S: symbol ~S must not be declared SPECIAL and a macro at the same time") + (c-error-c symbol (TEXT "~S: symbol ~S must not be declared SPECIAL and a macro at the same time") 'symbol-macrolet symbol)))) (funcall c `(PROGN ,@body-rest))))))) @@ -5818,7 +5825,8 @@ (((NOT EVAL) (NOT :EXECUTE)) (setq load-p t compile-p t)) (((NOT COMPILE)) (setq load-p t eval-p t)) (((NOT :COMPILE-TOPLEVEL)) (setq load-p t execute-p t)) - (t (c-error (TEXT "~S situation must be ~S, ~S or ~S, but not ~S") + (t (c-error 'situation + (TEXT "~S situation must be ~S, ~S or ~S, but not ~S") 'eval-when :load-toplevel :compile-toplevel :execute situation)))) (let ((form `(PROGN ,@(cddr *form*)))) @@ -5835,7 +5843,7 @@ 'NIL (let ((clause (car clauses))) (if (atom clause) - (c-error (TEXT "COND clause without test: ~S") + (c-error clause (TEXT "COND clause without test: ~S") clause) (let ((test (car clause))) (if (cdr clause) @@ -5857,7 +5865,7 @@ ((endp clauses)) (let ((clause (pop clauses))) (if (atom clause) - (c-error (TEXT "CASE clause without objects: ~S") + (c-error clause (TEXT "CASE clause without objects: ~S") clause) (let ((keys (car clause))) (if default-passed ; was the Default already there? @@ -5866,7 +5874,7 @@ (progn (when clauses (c-error-c - (TEXT "~S: the ~S clause must be the last one: ~S") + keys (TEXT "~S: the ~S clause must be the last one: ~S") 'case keys *form*)) (setq keys 'T) (setq default-passed t)) @@ -6143,7 +6151,7 @@ (when (and (null restvar) (> |t| (+ r s))) ;; too many arguments specified. Is redressed by introduction ;; of several additional optional arguments: - (c-error-c (TEXT "Too many arguments to ~S") funform) + (c-error-c funform (TEXT "Too many arguments to ~S") funform) (dotimes (i (- |t| (+ r s))) (let ((var (gensym))) (setq optvar (append optvar (list var))) @@ -6154,7 +6162,7 @@ (when (and (null applyarglist) (< |t| r)) ;; too few arguments specified. Is redressed by introduction ;; of additional arguments: - (c-error-c (TEXT "Too few arguments to ~S") funform) + (c-error-c funform (TEXT "Too few arguments to ~S") funform) (setq arglist (append arglist (make-list (- r |t|) :initial-element nil))) (setq |t| r)) Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.7188 retrieving revision 1.7189 diff -u -d -r1.7188 -r1.7189 --- ChangeLog 1 Nov 2009 21:07:18 -0000 1.7188 +++ ChangeLog 2 Nov 2009 02:56:44 -0000 1.7189 @@ -1,12 +1,25 @@ 2009-11-01 Sam Steingold <sds@...> + * compiler.lisp (c-cerror): extract predefun from ... + (c-error): use it; accept DETAIL as the 1st argument + (test-list, c-form, test-argument-syntax, c-illegal-syntax) + (c-analyze-lambdalist, bind-fixed-var-1, bind-movable-var) + (bind-movable-var, c-DECLARE, c-SETQ, c-PSETQ) + (c-MULTIPLE-VALUE-SETQ, c-MULTIPLE-VALUE-BIND, check-blockname) + (c-RETURN-FROM, c-TAGBODY, c-GO, c-FUNCTION, err-syntax) + (c-SYMBOL-MACROLET, c-EVAL-WHEN, c-COND, c-CASE, c-FUNCALL-INLINE): + pass DETAIL to C-ERROR + * condition.lisp (c-cerror): defun here: signal source-program-error + +2009-11-01 Sam Steingold <sds@...> + * compiler.lisp (c-current-location): when returning a non-empty value, terminate it with ": " (c-warning, c-error): C-CURRENT-LOCATION is either empty or is terminated by ": ", so adjust its use * condition.lisp (c-warning): ditto; also bind *ERROR-OUTPUT* to *C-ERROR-OUTPUT*, never to *C-LISTING-OUTPUT* which may be NIL, - beause *COMPILE-VERBOSE* does not affect condition handling + because *COMPILE-VERBOSE* does not affect condition handling 2009-11-01 Sam Steingold <sds@...> ------------------------------ Message: 4 Date: Mon, 02 Nov 2009 02:56:46 +0000 From: Sam Steingold <sds@...> Subject: clisp/doc Symbol-Table.text, 1.31, 1.32 impbody.xml, 1.578, 1.579 impent.xml, 1.359, 1.360 To: clisp-cvs@... Message-ID: <E1N4n66-00049A-Gu@...> Update of /cvsroot/clisp/clisp/doc In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv15934/doc Modified Files: Symbol-Table.text impbody.xml impent.xml Log Message: * compiler.lisp (c-cerror): extract predefun from ... (c-error): use it; accept DETAIL as the 1st argument (test-list, c-form, test-argument-syntax, c-illegal-syntax) (c-analyze-lambdalist, bind-fixed-var-1, bind-movable-var) (bind-movable-var, c-DECLARE, c-SETQ, c-PSETQ) (c-MULTIPLE-VALUE-SETQ, c-MULTIPLE-VALUE-BIND, check-blockname) (c-RETURN-FROM, c-TAGBODY, c-GO, c-FUNCTION, err-syntax) (c-SYMBOL-MACROLET, c-EVAL-WHEN, c-COND, c-CASE, c-FUNCALL-INLINE): pass DETAIL to C-ERROR * condition.lisp (c-cerror): defun here: signal source-program-error Index: impbody.xml =================================================================== RCS file: /cvsroot/clisp/clisp/doc/impbody.xml,v retrieving revision 1.578 retrieving revision 1.579 diff -u -d -r1.578 -r1.579 --- impbody.xml 28 Oct 2009 15:38:00 -0000 1.578 +++ impbody.xml 2 Nov 2009 02:56:43 -0000 1.579 @@ -533,6 +533,23 @@ <para>Hash tables are &ext-obj;s.</para> </section> + +<section id="compile-errors"><title>Exceptional Situations in the Compiler + <ulink role="clhs" url="sec_3-2-5"/></title> + +<para>Both &compile; and &eval; may &signal; the &source-program-error; + &condition-t; which derives from &program-error-t; and which contains + additional slots with accessors <variablelist> +<varlistentry><term>&source-program-error-form;</term> + <listitem><simpara>Returns the whole form in which the &error-t; was + &signal;ed</simpara></listitem></varlistentry> +<varlistentry><term>&source-program-error-detail;</term> + <listitem><simpara>Returns the specific (usually small) part of the + above which triggered the &error-t;</simpara></listitem></varlistentry> +</variablelist></para> + +</section> + </section> <section id="declarations"><title>Declarations Index: impent.xml =================================================================== RCS file: /cvsroot/clisp/clisp/doc/impent.xml,v retrieving revision 1.359 retrieving revision 1.360 diff -u -d -r1.359 -r1.360 --- impent.xml 23 Sep 2009 13:34:54 -0000 1.359 +++ impent.xml 2 Nov 2009 02:56:44 -0000 1.360 @@ -419,6 +419,9 @@ <!ENTITY sost-peer '<link linkend="sost-peer"><function>SOCKET:SOCKET-STREAM-PEER</function></link>'> <!ENTITY sost-port '<link linkend="sost-hopo"><function>SOCKET:SOCKET-STREAM-PORT</function></link>'> <!ENTITY sost-shut '<link linkend="sost-shut"><function>SOCKET:SOCKET-STREAM-SHUTDOWN</function></link>'> +<!ENTITY source-program-error '<link linkend="compile-errors"><classname>EXT:SOURCE-PROGRAM-ERROR</classname></link>'> +<!ENTITY source-program-error-detail '<link linkend="compile-errors"><function>EXT:SOURCE-PROGRAM-ERROR-DETAIL</function></link>'> +<!ENTITY source-program-error-form '<link linkend="compile-errors"><function>EXT:SOURCE-PROGRAM-ERROR-FORM</function></link>'> <!ENTITY source-types '<link linkend="source-types"><varname>CUSTOM:*SOURCE-FILE-TYPES*</varname></link>'> <!ENTITY spacecharprint '<link linkend="spacecharprint"><varname>CUSTOM:*PRINT-SPACE-CHAR-ANSI*</varname></link>'> <!ENTITY spe-var-p '<link linkend="spe-var-p"><function>EXT:SPECIAL-VARIABLE-P</function></link>'> Index: Symbol-Table.text =================================================================== RCS file: /cvsroot/clisp/clisp/doc/Symbol-Table.text,v retrieving revision 1.31 retrieving revision 1.32 diff -u -d -r1.31 -r1.32 --- Symbol-Table.text 15 Sep 2008 22:47:53 -0000 1.31 +++ Symbol-Table.text 2 Nov 2009 02:56:43 -0000 1.32 @@ -4,6 +4,12 @@ eval-env CL:DEFINE-COMPILER-MACRO compiler-macros +EXT:SOURCE-PROGRAM-ERROR +compile-errors +EXT:SOURCE-PROGRAM-ERROR-DETAIL +compile-errors +EXT:SOURCE-PROGRAM-ERROR-FORM +compile-errors EXT:NOTSPECIAL notspec-decl CL:SPECIAL @@ -462,6 +468,8 @@ compile-file-path CL:REQUIRE require +CUSTOM:*USER-LIB-DIRECTORY* +require CL:LOAD loadfile CUSTOM:*LOAD-ECHO* ------------------------------ ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference ------------------------------ _______________________________________________ clisp-cvs mailing list clisp-cvs@... https://lists.sourceforge.net/lists/listinfo/clisp-cvs End of clisp-cvs Digest, Vol 43, Issue 2 **************************************** ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ clisp-devel mailing list clisp-devel@... https://lists.sourceforge.net/lists/listinfo/clisp-devel |
| Free embeddable forum powered by Nabble | Forum Help |