summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Allow -c scripts to not have a trailing newline.Kaz Kylheku2009-11-134-7/+37
| | | | | | | | | | | | | Test suite exercises -c now. txr.c (txr_main): If the script specified with -c is not terminated by a newline, just add a newline. On the shell command line, it's a nuisance to have to add the extra line before closing the quote. It's also awkward in scripting, because the shell (or at least Bash 3.0) does not produce a final terminating newline in command substitution syntax like -c "$(cat file)". The last newline in the file is trimmed, and has to be explicitly added in the script itself, which is wrong in the case when the file is empty.
* Previous commit broke UTF-8 lexing, by changing the get_charKaz Kylheku2009-11-135-3/+102
| | | | | | | | semantics on the input stream to wide character input. Also, reading a query the command line (-c) must read bytes from a UTF-8 encoding of the string. We introduce a new get_byte function which can extract bytes from streams which provide it.
* Continuing wchar_t conversion. Making sure all stdio callsKaz Kylheku2009-11-1211-164/+189
| | | | | use wide character functions so that there is no illicit mixing. (But the goal is to replace this usage with txr streams).
* Fixed broken utf8_from.Kaz Kylheku2009-11-123-21/+151
| | | | Added utf8_encode, utf8_decoder_init, utf8_decode.
* Documenting extended characters in man page.Kaz Kylheku2009-11-125-14/+107
| | | | Cleaned up some more issues related to extended characters.
* Whitespace.Kaz Kylheku2009-11-121-0/+1
|
* Regular expression module updated to do unicode character sets.Kaz Kylheku2009-11-123-61/+544
| | | | | | | | | | | Most of the changes are in the area of representing sets. Also, a bug was found in the compilation of regex character sets: ranges straddling two adjacent blocks of 32 characters were not being added to the character set. However, ranges falling within a single 32 block, or spanning three or more such blocks, worked properly. This bug is not tickled by common ranges such as A-Z, or 0-9, which land within a 32 block.
* * txr.c (main): call setlocale to set the LC_CTYPE to en_US.UTF-8,Kaz Kylheku2009-11-112-0/+8
| | | | | so that the C library streams do the encoding. Once the program is weaned from C library wide character stream I/O, this can go away.
* Big conversion to wide characters and UTF-8 support.Kaz Kylheku2009-11-1120-432/+750
| | | | | | | | | 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.
* hash.c (hash_grow): Rewritten to avoid resizing the vectorKaz Kylheku2009-11-102-16/+27
| | | | | | | in place, and thus having to pulling all conses into a big list. TODO: avoid recomputing the hash function over the keys. We could enhance cons cells with two more fields without using additional storage.
* Changing representation of objects to allow for unboxed characters.Kaz Kylheku2009-11-094-46/+64
| | | | | Now numbers and characters fit into a cell. We lose one more bit from the range of numbers.
* Add hash removal.Kaz Kylheku2009-11-093-0/+19
|
* Add hash table growth.Kaz Kylheku2009-11-093-3/+43
|
* Changing representation of objects to allow the NUM type to beKaz Kylheku2009-11-096-66/+104
| | | | | | | | 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-099-3/+397
| | | | due to use of boxed numbers for vector access.
* Formatting.Kaz Kylheku2009-11-091-26/+26
|
* Throw exception on stream error during close, or I/O operations. ThisKaz Kylheku2009-11-068-58/+190
| | | | | | is needed for pipes that terminate abnormally or return failed termination. Pipe and stdio streams have an extra description field so they are printed in a readable way.
* Version 020.txr-020Kaz Kylheku2009-11-013-2/+18
|
* Bug ID 27898: Directory order dependencies in test case.Kaz Kylheku2009-11-01198-108/+124
| | | | Converted some directories to text files.
* Bug ID 27895: Calls to protect have an argument list terminatedKaz Kylheku2009-11-015-5/+19
| | | | by the integer constant 0 rather than a proper null pointer constant.
* Bug ID 27899: Garbage collection problem: method of locating stackKaz Kylheku2009-11-014-21/+35
| | | | | bottom is unreliable due to the unpredictable allocation order of local variables.
* Fix broken LSTR and FUN cases in equal.Kaz Kylheku2009-11-042-7/+13
|
* Get rid of accidentally commited debug $(warning ...).Kaz Kylheku2009-11-041-2/+0
|
* Don't lie to the user; make install doesn't work withoutKaz Kylheku2009-11-041-2/+14
| | | | permissions to the installation directories.
* distclean must remove config.log too.Kaz Kylheku2009-11-041-1/+1
|
* Got "make tests" working in separate build directory,Kaz Kylheku2009-11-043-12/+26
| | | | with .out files going to local tests/ tree.
* Got "make install" working.Kaz Kylheku2009-11-043-3/+38
|
* Got build to work in separate build directory.Kaz Kylheku2009-11-045-16/+47
|
* Build configuration via configure script, with cross compiling support.Kaz Kylheku2009-11-043-8/+466
| | | | | (Tested by cross-compiling txr on an x86 GNU/Linux system to run on a MIPS-based GNU/Linux system).
* Kill tabs with spaces (how did they sneak in?).Kaz Kylheku2009-11-042-14/+19
| | | | Fix possible use of uninitialized ch.
* Fixed misleading wording (separation versus termination).Kaz Kylheku2009-11-032-18/+27
| | | | | Added Introduction headings to some major sections. Improved exception handling intro.
* Fix misleading wording (separation versus termination).Kaz Kylheku2009-11-032-1/+5
|
* Version 019txr-019Kaz Kylheku2009-11-038-24/+38
| | | | | | Regexps can be bound to variables. New freeform directive.
* Documented freeform.Kaz Kylheku2009-11-032-1/+60
|
* Change the freeform line catenation semantics to terminationKaz Kylheku2009-11-034-22/+34
| | | | rather than separation.
* Bugfix: recurse over recently addedKaz Kylheku2009-11-032-0/+6
| | | | member, opts, in the lazy_string structure.
* Wording.Kaz Kylheku2009-11-031-1/+1
|
* Got regex working over lazy strings from freeform.Kaz Kylheku2009-11-025-36/+119
| | | | Bugfixes.
* Implement custom separator and limit in freeform.Kaz Kylheku2009-11-024-10/+55
|
* Lazy string fix.Kaz Kylheku2009-11-022-1/+7
|
* Start of implementation for freestyle matching.Kaz Kylheku2009-11-0210-175/+592
| | | | | | | | | | | 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.
* Trivial change allows regexps to be bound to variables,Kaz Kylheku2009-10-305-2/+22
| | | | | and used for matching. This Just Works because of the way match_line treats variables.
* Update make dependencies.Kaz Kylheku2009-10-302-3/+7
|
* Starting txr git.graftedtxr-018Kaz Kylheku2009-10-307-14/+120
|
* txr-017 2009-10-17txr-017Kaz Kylheku2017-07-318-55/+321
| | | | Note: Version 016 ChangeLog message incorrect.
* txr-016 2009-10-16txr-016Kaz Kylheku2017-07-319-72/+320
|
* txr-015 2009-10-15txr-015Kaz Kylheku2017-07-3121-1417/+3712
|
* txr-014 2009-10-05txr-014Kaz Kylheku2017-07-318-149/+1011
|
* txr-013 2009-09-30txr-013Kaz Kylheku2017-07-319-22/+184
|
* txr-012 2009-09-28txr-012Kaz Kylheku2017-07-318-118/+300
|