CVSROOT: /home/x-cvs
Module name: xc
Changes by: [EMAIL PROTECTED] 02/11/19 23:44:43
Log message:
o Reimplemented lisp function append to generate the correct result with
only one argument and create dotted lists.
o Added lisp function nbutlast.
o Added lisp macro ignore-errors, it cannot yet be fully implemented, but
this version does the basic task, just leaving it's block if an error
happens.
o Changed LispXalloc functions to use a size_t instead of an unsigned
argument.
o Added a binary bit flag for streams and a line number field for file
and string stream structures, if the stream is not binary, the column
field is updated on writes and the line in reads.
o Added more calls to DISABLE_INTERRUPTS() and ENABLE_INTERRUPTS(), not
all the cases are being protected yet, but the code inside these now
should be almost enough to avoid things like recursive free and malloc.
o Added memory allocation hooks to the mp library, now it uses the
LispXalloc functions, so that if an error is generated, any memory
allocated by the library should be released.
o Changed the read code to print more meaningful error messages, for
example, if the file finishes before a list was completely read, it
will print an error message telling which line the list started.
o Changed the printed string of file streams to also print the current
line number.
o The *print-escape* behaviour is now only controled by the value of the
variable, no escape state is stored in streams (what was incorrect).
o Minor fix to the interactive callback when resolving offsets to reparse,
now should not sometimes redraw a lot more of what was changed. It is
still required some smarter code, for example, if it is not being
able to update the screen contents as fast as the user types, it should
just remember offsets to update as soon as it becomes idle.
I am writting a set of tests for most of the currently implemented
functions, but somethings that should be implemented soon include true
vectors and either a new special file stream object or add an option to
every existing stream to allow it to call a wrapper read/write/fcntl/etc
function, this would make it very easy to make read calls in
*standard-input* just call a callback that would return text typed in
some text field, etc.
Modified files:
xc/programs/xedit/lisp/:
core.c core.h internal.h io.c io.h lisp.c math.c
mathimp.c read.c write.c write.h xedit.c
xc/programs/xedit/lisp/mp/:
mp.c mp.h mpi.c
xc/programs/xedit/lisp/test/:
math.lsp
Revision Changes Path
1.59 +114 -24 xc/programs/xedit/lisp/core.c
1.28 +3 -1 xc/programs/xedit/lisp/core.h
1.41 +8 -6 xc/programs/xedit/lisp/internal.h
1.12 +84 -18 xc/programs/xedit/lisp/io.c
1.6 +7 -4 xc/programs/xedit/lisp/io.h
1.72 +49 -26 xc/programs/xedit/lisp/lisp.c
1.19 +6 -1 xc/programs/xedit/lisp/math.c
1.12 +1 -5 xc/programs/xedit/lisp/mathimp.c
1.29 +165 -60 xc/programs/xedit/lisp/read.c
1.24 +28 -47 xc/programs/xedit/lisp/write.c
1.8 +1 -11 xc/programs/xedit/lisp/write.h
1.16 +2 -3 xc/programs/xedit/lisp/xedit.c
1.3 +87 -9 xc/programs/xedit/lisp/mp/mp.c
1.5 +13 -4 xc/programs/xedit/lisp/mp/mp.h
1.12 +2 -2 xc/programs/xedit/lisp/mp/mpi.c
1.2 +54 -52 xc/programs/xedit/lisp/test/math.lsp
_______________________________________________
Cvs-commit mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/cvs-commit