summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* * lib.c (init_str): Bugfix: copy only len characters, not len + 1, soKaz Kylheku2010-02-242-1/+8
| | | | | | that we don't clobber the null terminator in the target string, or try read past the end of the source data. This affects the @(freeform) directive.
* Version 033.Kaz Kylheku2010-01-264-4/+17
|
* Restoring missing ChangeLog entry.Kaz Kylheku2010-01-261-1/+14
|
* hash.c (hash_process_weak): There is no point in fixing upKaz Kylheku2010-01-262-18/+24
| | | | | | the type codes of spuriously reached nodes; reached objects will not be removed by weak processing and so it's better to just detect those situations and short-circuit.
* Fix inaccurate comment.Kaz Kylheku2010-01-261-4/+4
|
* Optimization in derivative-based regex engine.Kaz Kylheku2010-01-264-1/+91
| | | | | | | | Exponential memory consumption behavior was observed when matching the input aaaaaa.... against the regex a?a?a?a?....aaaa.... The fix is to eliminate common subexpressions from the derivative for the or operator.
* Merge branch 'master' of ssh://kkylheku@git.sv.gnu.org/srv/git/txrKaz Kylheku2010-01-255-4/+34
|\
| * Version 032.Kaz Kylheku2010-01-255-3/+19
| |
| * Version 031.txr-031Kaz Kylheku2010-01-254-4/+18
| |
* | Fixing weak hash tables.Kaz Kylheku2010-01-253-7/+16
|/
* Fix screwup in previous change: value treated as a consKaz Kylheku2010-01-252-3/+2
| | | | in a code path where it sometimes isn't.
* * match.c (match_files): Workaround for GC issueKaz Kylheku2010-01-242-0/+10
| | | | | | | discovered on Red Hat EL 4 with gcc 3.4.3. In the collect loop, set car(success) to nil. Somehow the generated code hangs on to the last matching position for a regex, preventing GC.
* * stream.c (vformat_num): Fix bad width calculation.Kaz Kylheku2010-01-242-1/+5
|
* Fix for unbounded memory growth problem reproduced with GCC 4.4.1Kaz Kylheku2010-01-214-0/+35
| | | | | | on 32 bit x86 Fedora. This happens because the lazy list variable ``data'' in the match_files function is optimized to a register, but a stale value of that variable persists in the backing storage.
* * match.c (match_files): Reduce scope, and bogus use of, datalineKaz Kylheku2010-01-212-6/+7
| | | | variable.
* Whitespace.Kaz Kylheku2010-01-201-4/+0
|
* Fix mangled bullets.Kaz Kylheku2010-01-201-7/+10
|
* Escape spaces in arguments to .IP.Kaz Kylheku2010-01-201-3/+3
|
* Remove unnecessary text.Kaz Kylheku2010-01-201-6/+3
|
* Missing word.Kaz Kylheku2010-01-201-3/+3
|
* Improved descriptions of regex syntax.Kaz Kylheku2010-01-201-80/+61
| | | | Concise precedence table replaces paragraphs.
* Version 030.txr-030Kaz Kylheku2010-01-194-3/+17
|
* More regex grammar work.Kaz Kylheku2010-01-194-5/+17
|
* Whitespace.Kaz Kylheku2010-01-191-1/+1
|
* Resolving parser conflicts.Kaz Kylheku2010-01-193-18/+37
|
* Oops.txr-029Kaz Kylheku2010-01-181-1/+1
|
* Version 029.Kaz Kylheku2010-01-184-6/+22
|
* * regex.c (reg_derivative_list, reg_derivative): RecognitionKaz Kylheku2010-01-182-6/+39
| | | | | | | | | of cases to reduce consing. In reg_derivative_list, we avoid consing the full or expression if either branch is t, and also save a cons when the first element has a null derivative. In reg_derivative the oneplus and zeroplus cases are split, since zeroplus can re-use the input expression, when it's just a one-character match, deriving nil.
* Adjust semantics of non-greedy operator R%S, to avoid the brokenKaz Kylheku2010-01-183-21/+41
| | | | | | | | case whereby R%S matches nothing at all when S is not empty but equivalent to empty, or more generally when S is nullable. A much nicer definition is ``the intersection of R* and the set of all strings that do not contain a non-empty substring that matches S, followed by S''.
* Spelling; enhanced wording.Kaz Kylheku2010-01-181-5/+8
|
* Spurious period.Kaz Kylheku2010-01-171-1/+1
|
* Reduce doubled word.Kaz Kylheku2010-01-171-1/+1
|
* Close parenthesis. De Morgan is two words.Kaz Kylheku2010-01-171-2/+2
|
* Show "git head" version in bleeding-edge document.Kaz Kylheku2010-01-172-3/+3
|
* Clarify that regexes /can/ match across multiple lines with @(freeform).Kaz Kylheku2010-01-171-4/+6
|
* Fix bizarre edit mistake.Kaz Kylheku2010-01-171-3/+3
|
* * parser.y (regterm, regclass): Relocate handlingKaz Kylheku2010-01-172-3/+8
| | | | of empty [] into regterm, via empty derivation.
* Regex syntactic tweaks: support the [] syntaxKaz Kylheku2010-01-163-6/+35
| | | | | to match no character and [^] as its complement, being synonymous with the wildcard dot.
* Fix man page date.txr-028Kaz Kylheku2010-01-162-10/+10
|
* Version 028.Kaz Kylheku2010-01-165-4/+24
|
* Whitespace.Kaz Kylheku2010-01-161-5/+5
|
* Improved wording.Kaz Kylheku2010-01-161-58/+80
|
* Restore missing text.Kaz Kylheku2010-01-161-0/+1
|
* Grammar.Kaz Kylheku2010-01-161-4/+4
|
* Wording.Kaz Kylheku2010-01-161-2/+2
|
* Wrong section type.Kaz Kylheku2010-01-161-1/+1
|
* Describe Kleene and non-greedy behavior more accurately.Kaz Kylheku2010-01-152-6/+13
|
* * txr.1: Get rid of parens from regex operator descriptions.Kaz Kylheku2010-01-152-1/+5
| | | | | Correct wrong text: all operators can take an empty regex. Clarify escaping rules within a character class.
* * txr.1: Get rid of parens from regex operator descriptions.Kaz Kylheku2010-01-152-4/+6
| | | | Correct wrong text: all operators can take an empty regex.
* * txr.1: Get rid of parens from regex operator descriptions.Kaz Kylheku2010-01-152-23/+27
|