CVSROOT:        /home/x-cvs
Module name:    xc
Changes by:     [EMAIL PROTECTED]       02/11/10 08:29:11

Log message:
  o Renamed all macros in the format ERROR_CHECK_... to CHECK_...
  o Renamed all macros in the format ..._P to ...P.
  o Now not all objects are pointers to a LispObj structure, so
    there are several new macros to get/check the type or value of
    an object. macros in the format X...P assume that basic error
    checking was already done and that the value is a real pointer,
    for example:
    #define XSTRINGP(object)    ((object)->type == LispString_t)
    #define STRINGP(object)     (POINTERP(object) && XSTRINGP(object))
  o Now there is 3 types of integers (in a 32 bits computer):
        o fixnum        => values that fit in 28 bits
        o longint       => values that fit in 32 bits
        o bignum        => values that don't fit in 32 bits
  o Type LispCharacter_t was renamed to LispSChar_t, to clarify that
    currently only simple 8 bit characters are supported.
  o Type LispReal_t was renamed to the more proper name LispDFloat_t.
  o Type LispBigInteger_t was renamed to LispBignum_t and LispBigRatio_t
    to LispBigratio_t.
  o Type LispTrue_t was removed, as now NIL, T and #<DOT> are constants,
    and all of them have type LispNil_t.
  o All ocurrences of the macro STRPTR were replaced by the equivalent
    macro ATOMID.
  o New math driver, now almost everything is done in mathimp.c, and only
    very simple functions are implemented directly in math.c.
    Note that mathimp.c was rewritten from scratch, with very few cut&paste
    from the old version. Now it uses an intermediate structure, that must
    be allocated in the stack, and this structure can hold any supported
    number type, so the number type can change freely during the
    calculations.
    There is also a major cleanup in the math code, now only a few
    "integer binop integer" functions are inline.
  o Code that uses integer math extensively should now show a significant
    better performance since integers don't trigger gc.
  
    This patch is the integration of the new math driver and the code to
  allow different sized objects. It is not yet what should be called the
  final version as there is a lot of optimizations that can be done.
    One major change still missing is true vectors, as well as a cleanup
  in the current buggy vector/array code.
    String handling should also be optmized, and cleaned. All strings must
  end with a '\0' characters, to be safe to use with libc functions, and
  even then, should check all code that handles strings internally to
  properly handle strings with embeded nuls.
    Due to the large size of the changes, probably there are still bugs in
  the new math driver, and there may be unsafe code that will crash when
  trying to deference NIL or a fixnum to check the object type.
    I hope this is the last "huge patch".

Modified files:
      xc/programs/xedit/lisp/:
        README bytecode.c compile.c core.c debugger.c format.c 
        hash.c helper.c helper.h internal.h io.c io.h lisp.c 
        math.c mathimp.c package.c pathname.c private.h read.c 
        regex.c require.c stream.c string.c struct.c struct.h 
        write.c xedit.c 
      xc/programs/xedit/lisp/modules/:
        indent.lsp psql.c x11.c xaw.c xt.c 
  
  Revision      Changes    Path
  1.11          +18 -34    xc/programs/xedit/lisp/README
  1.10          +65 -80    xc/programs/xedit/lisp/bytecode.c
  1.6           +150 -149  xc/programs/xedit/lisp/compile.c
  1.55          +469 -504  xc/programs/xedit/lisp/core.c
  1.23          +42 -40    xc/programs/xedit/lisp/debugger.c
  1.25          +67 -72    xc/programs/xedit/lisp/format.c
  1.3           +43 -44    xc/programs/xedit/lisp/hash.c
  1.41          +169 -166  xc/programs/xedit/lisp/helper.c
  1.13          +5 -5      xc/programs/xedit/lisp/helper.h
  1.36          +287 -199  xc/programs/xedit/lisp/internal.h
  1.11          +12 -14    xc/programs/xedit/lisp/io.c
  1.5           +3 -3      xc/programs/xedit/lisp/io.h
  1.67          +361 -395  xc/programs/xedit/lisp/lisp.c
  1.17          +498 -617  xc/programs/xedit/lisp/math.c
  1.10          +4225 -3903xc/programs/xedit/lisp/mathimp.c
  1.16          +42 -45    xc/programs/xedit/lisp/package.c
  1.14          +51 -34    xc/programs/xedit/lisp/pathname.c
  1.33          +2 -6      xc/programs/xedit/lisp/private.h
  1.24          +300 -306  xc/programs/xedit/lisp/read.c
  1.7           +15 -14    xc/programs/xedit/lisp/regex.c
  1.15          +11 -7     xc/programs/xedit/lisp/require.c
  1.15          +43 -46    xc/programs/xedit/lisp/stream.c
  1.16          +86 -102   xc/programs/xedit/lisp/string.c
  1.18          +40 -40    xc/programs/xedit/lisp/struct.c
  1.6           +3 -1      xc/programs/xedit/lisp/struct.h
  1.16          +47 -44    xc/programs/xedit/lisp/write.c
  1.8           +69 -74    xc/programs/xedit/lisp/xedit.c
  1.2           +4 -3      xc/programs/xedit/lisp/modules/indent.lsp
  1.11          +28 -28    xc/programs/xedit/lisp/modules/psql.c
  1.9           +39 -36    xc/programs/xedit/lisp/modules/x11.c
  1.13          +31 -34    xc/programs/xedit/lisp/modules/xaw.c
  1.18          +40 -41    xc/programs/xedit/lisp/modules/xt.c

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

Reply via email to