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

Reply via email to