CVSROOT:        /home/x-cvs
Module name:    xc
Changes by:     [EMAIL PROTECTED]       02/11/24 18:35:32

Log message:
   o Better handling of multiple values, if a function/macro uses
     multiple values, the counter is reset before calling it, else
     reset after calling it.
   o Extended a bit the SeqInfo structure and added an initial
     macro to initialize it. This should be extended and generalized
     more, and will be mandatory as soon as more complete vector
     data start being supported/required.
   o Added a few new lisp functions, including defparameter,
     nset-exclusive-or, psetq and psetf.
   o Setf rewritten for slightly faster performance, but it the bytecode
     compiler should soon compile it, for true reasonable performance,
     and for interpreted code, LispFuncall should be extended to accept
     an extra argument, so that Lisp_Setf does not need to allocate
     a list to build function arguments, and this way, avoiding
     unnecessary gc time.
   o Changed way hash-tables are marked, if a hash table key or value
     was the hash-table itself, it would enter an infinite loop.
   o Progv reimplemented to follow the specification, and bind the
     symbols dynamically, and reset the state once the progv block is
     finished.
   o Search reimplemented as a model for the use of the SeqInfo structure
     and to make only one vector copy when :from-end != nil.
   o Removed the internal function lisp::set-symbol-value, just lisp::set
     is enough as now it has the correct behavior.
   o String*-trim reimplemented to work properly with strings containing
     nuls and this new implementation should be slightly faster/cleaner.
   o Made all string comparison functions be implemented in a single
     function called LispStringCompare, and also this new implementation
     should correctly handle strings with nuls.
   o String-{upcase,downcase,capitalize} reimplemented, as well as the
     inplace version of the functions added, this new version should
     be slightly faster and properly handle strings with nuls.
   o Added several new tests to test/list.lsp, these new tests allowed
     triggering several problems in the interpreter, and the problems
     are now fixed.
  
    The last patches are not optimization patches, but correctness
  updates, some incorrect optimizations were removed, but they can be
  readded, as they only do not work in a few cases, that are known
  and can be a flag set in the LispBuiltin structure.

Modified files:
      xc/programs/xedit/lisp/:
        bytecode.c core.c core.h helper.c helper.h lisp.c 
        string.c string.h 
      xc/programs/xedit/lisp/modules/:
        lisp.lsp 
      xc/programs/xedit/lisp/modules/progmodes/:
        c.lsp 
      xc/programs/xedit/lisp/re/:
        rep.h 
      xc/programs/xedit/lisp/test/:
        list.lsp 
  
  Revision      Changes    Path
  1.14          +15 -5     xc/programs/xedit/lisp/bytecode.c
  1.63          +556 -227  xc/programs/xedit/lisp/core.c
  1.32          +5 -2      xc/programs/xedit/lisp/core.h
  1.46          +2 -94     xc/programs/xedit/lisp/helper.c
  1.15          +1 -8      xc/programs/xedit/lisp/helper.h
  1.77          +53 -39    xc/programs/xedit/lisp/lisp.c
  1.20          +357 -259  xc/programs/xedit/lisp/string.c
  1.11          +7 -1      xc/programs/xedit/lisp/string.h
  1.6           +2 -2      xc/programs/xedit/lisp/modules/lisp.lsp
  1.21          +6 -1      xc/programs/xedit/lisp/modules/progmodes/c.lsp
  1.3           +2 -2      xc/programs/xedit/lisp/re/rep.h
  1.4           +400 -1    xc/programs/xedit/lisp/test/list.lsp

_______________________________________________
Cvs-commit mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/cvs-commit

Reply via email to