summaryrefslogtreecommitdiffstats
path: root/gc.c
Commit message (Collapse)AuthorAgeFilesLines
* Big round of changes to switch the code base to use the streamKaz Kylheku2009-11-161-2/+2
| | | | | | | | | | | | | | | | | abstraction instead of directly using C standard I/O, to eliminate most uses of C formatted I/O, and fix numerous bugs, such variadic argument lists which lack a terminating ``nao'' sentinel. Bug 28033 is addressed by this patch, since streams no longer provide printf-compatible formatting. The native formatter is extended with some additional capabilities to take over. The work on literal objects is expanded and they are now used throughout the code base. Fixed bad realloc in string output stream: reallocating by number of wide chars rather than bytes.
* Use the 11 tag bit pattern to denote a new type: LIT. This is aKaz Kylheku2009-11-161-0/+2
| | | | | pointer to a C static string, intended for literals. We can now treat literal strings as light-weight objects.
* Continuing wchar_t conversion. Making sure all stdio callsKaz Kylheku2009-11-121-2/+3
| | | | | use wide character functions so that there is no illicit mixing. (But the goal is to replace this usage with txr streams).
* Big conversion to wide characters and UTF-8 support.Kaz Kylheku2009-11-111-1/+1
| | | | | | | | | This is incomplete. There are too many dependencies on wide character support from the C stream I/O library, and implicit use of some encoding which may not be UTF-8. The regex code does not handle wide characters properly. Character type is still int in some places, rather than wchar_t. Test suite passes though.
* Changing representation of objects to allow the NUM type to beKaz Kylheku2009-11-091-2/+2
| | | | | | | | unboxed. If the lowest bit of the obj_t * pointer is 1, then the remaining bits are a number. A lot of assumptions are made: - the long type can be converted to and from a pointer - two's complement. - behavior of << and >> operators when the sign bit is involved.
* First cut at hash tables. One known problem is allocation during gc,Kaz Kylheku2009-11-091-0/+16
| | | | due to use of boxed numbers for vector access.
* Bugfix: recurse over recently addedKaz Kylheku2009-11-031-0/+1
| | | | member, opts, in the lazy_string structure.
* Start of implementation for freestyle matching.Kaz Kylheku2009-11-021-13/+17
| | | | | | | | | | | Lazy strings implemented, incompletely. Changed string function to implicitly strdup; non-strdup version changed to string_own. Fixed wrong uses of strdup rather than chk_strdup. Functions added to regex module to provide regex matching as a state machine to which characters are fed.
* txr-017 2009-10-17txr-017Kaz Kylheku2017-07-311-12/+14
| | | | Note: Version 016 ChangeLog message incorrect.
* txr-015 2009-10-15txr-015Kaz Kylheku2017-07-311-17/+26
|
* txr-013 2009-09-30txr-013Kaz Kylheku2017-07-311-8/+15
|
* txr-011 2009-09-25txr-011Kaz Kylheku2017-07-311-0/+368