CVSROOT: /home/x-cvs
Module name: xc
Changes by: [EMAIL PROTECTED] 02/11/25 20:06:30
Log message:
o Default values for macro arguments must be evaluated. Fixed in
this patch.
o Added a new macro APPLY3 and changed setf to use APPLY1, APPLY2 or
APPLY3 whenever possible, to avoid allocating conses to build the
setf macro call.
o Changed setf to expand macros before applying the setf method.
o Implemented a few lisp functions including list-length, tree-equal
and remprop.
o Added a setf method for symbol-plist, and rewrote the symbol property
list internal code to check for errors as the symbol plist may be
changed, and the code was assuming it was always correct, i.e. was
a proper list with an even length.
o Changed unwind-protect to work correctly with stacked unwind-protects
and return to the toplevel if there was an error and cleanup code;
was only returning if there wasn't cleanup code.
o Changed LispCheckSequenceStartEnd to accept both UNSPEC and NIL as
a sign of either unspecified or use-default value argument. This
reduces a bit "stronger" type checking but makes life easier, i.e.
instead of needing to write something like:
(defsetf subseq (sequence start &optional end) (value)
`(progn
(if ,end
(replace ,sequence ,value :start1 ,start :end1 ,end) ,value)
(replace ,sequence ,value :start1 ,start) ,value))
just writing:
(defsetf subseq (sequence start &optional end) (value)
`(progn (replace ,sequence ,value :start1 ,start :end1 ,end) ,value))
is enough, and does what is expected.
o Added several new tests to test/list.lsp.
Modified files:
xc/programs/xedit/lisp/:
compile.c core.c core.h helper.c internal.h lisp.c
package.c package.h private.h string.c write.c
xc/programs/xedit/lisp/modules/:
lisp.lsp
xc/programs/xedit/lisp/test/:
list.lsp
Revision Changes Path
1.10 +5 -3 xc/programs/xedit/lisp/compile.c
1.64 +272 -103 xc/programs/xedit/lisp/core.c
1.33 +5 -1 xc/programs/xedit/lisp/core.h
1.47 +3 -3 xc/programs/xedit/lisp/helper.c
1.46 +3 -1 xc/programs/xedit/lisp/internal.h
1.79 +155 -48 xc/programs/xedit/lisp/lisp.c
1.19 +108 -75 xc/programs/xedit/lisp/package.c
1.7 +2 -1 xc/programs/xedit/lisp/package.h
1.37 +5 -1 xc/programs/xedit/lisp/private.h
1.21 +5 -5 xc/programs/xedit/lisp/string.c
1.27 +3 -1 xc/programs/xedit/lisp/write.c
1.7 +3 -1 xc/programs/xedit/lisp/modules/lisp.lsp
1.5 +408 -20 xc/programs/xedit/lisp/test/list.lsp
_______________________________________________
Cvs-commit mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/cvs-commit