CVSROOT: /home/x-cvs
Module name: xc
Changes by: [EMAIL PROTECTED] 02/12/15 19:59:28
Log message:
o Added check to just convert objects of type LispFunction_t to the
equivalent LispAtom_t object, when the object cannot be further
evaluated, so that some optmization paths can be followed.
o Make stderr unbufered, error/debug messages should be made visible
whenever generated.
o Added a default/fallback indentation function, that just uses the
indentation of the previous line. This function can be latter
extended to optionally use the indentation of the previous non blank
line and/or remove unnecessary spaces from empty lines. The default
function was added to the lisp main edit mode, and to C when
editing preprocessor, strings and comments.
o Extended some regex patterns in the lisp mode, some patterns were
not accepting '_' in identifiers, and also added a pattern for
symbols, to resolve conflicts, so that it will not highlight
numbers in identifiers for example.
There are some optimizations that I am studing, one very simple would
be to define function in the format "<name> &rest args" to
"<name> &optional arg-1 arg-2 &rest args", this makes interpreted code
more than 2 times faster in certain cases, but this is not the correct
solution, it just shows how bad is the current garbage collector
implementation, so it will be kept as is for some time, at least as a
motivation to write a better gc.
Other simple optimization is to move/copy function/macro definitions to
a different object segment (similar to what is being done to symbols), so
that data that is never/seldomly changed does not need to be traversed in
every gc call.
Modified files:
xc/programs/xedit/lisp/:
README TODO core.c io.c xedit.c
xc/programs/xedit/lisp/modules/:
indent.lsp xedit.lsp
xc/programs/xedit/lisp/modules/progmodes/:
c.lsp lisp.lsp
Revision Changes Path
1.13 +62 -97 xc/programs/xedit/lisp/README
1.9 +1 -4 xc/programs/xedit/lisp/TODO
1.68 +9 -1 xc/programs/xedit/lisp/core.c
1.16 +2 -2 xc/programs/xedit/lisp/io.c
1.22 +1 -2 xc/programs/xedit/lisp/xedit.c
1.4 +58 -1 xc/programs/xedit/lisp/modules/indent.lsp
1.8 +2 -2 xc/programs/xedit/lisp/modules/xedit.lsp
1.22 +4 -4 xc/programs/xedit/lisp/modules/progmodes/c.lsp
1.6 +8 -5 xc/programs/xedit/lisp/modules/progmodes/lisp.lsp
_______________________________________________
Cvs-commit mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/cvs-commit