summaryrefslogtreecommitdiffstats
path: root/txr.1
Commit message (Collapse)AuthorAgeFilesLines
...
* * txr.1: Starte dodcumenting the forgotten merge directive.Kaz Kylheku2011-10-031-0/+24
|
* Implemented new last clause for collect and coll.Kaz Kylheku2011-10-031-11/+52
| | | | | | | | | | | | | | | | | | | | Bugfix in cases inside coll: was not collecting bindings. Bugfix for until inside coll: was not seeing bindings from main clause. * lib.c (ldiff): New function. * lib.h (ldiff): Declared. * match.c (match_line): Implemented last clause. Fixed cases handling by moving misplaced termination check. (match_files): Implemented last clause. * parser.y (until_last): New nonterminal symbol. (collect_clause): Refactored syntax to support until and last. (elem): Likewise. * txr.1: Updated.
* Version 038Kaz Kylheku2011-10-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New eof directive. Fixes in skip directive to work very well with eof. Consecutive variable matching semantics improved; concept of double variable match introduced for unbound variable followed by regex variable. Directives collect and coll have keyword arguments for more control over their behavior. Paralle directives (all, some, none, ...) are available in horizontal mode. New choose directive for selecting one of numerous alternatives GC bugfix in new filtering code. The code has an issue compling with GNU C++ instead of C, which is something that is supported by this project. Not a release-blocking issue. Not easy to fix without restructuring some code. * txr.c (version): Bumped. * txr.1: Bumped version and set date. * configure (txr_ver): Bumped.
* * txr.1: Documented choose and horizontal mode for paralleKaz Kylheku2011-10-011-17/+56
| | | | constructs.
* * txr.1: Clarified consecutive variables and documented doubleKaz Kylheku2011-09-301-10/+24
| | | | variable match.
* * parser.l: Implemented backslash continuations in SPECIALKaz Kylheku2011-09-301-0/+32
| | | | | | state, regexes and string literals. * txr.1: Documented.
* * match.c (chars_k): New variable.Kaz Kylheku2011-09-291-0/+9
| | | | | | | | | | | | (match_line): Keyword arguments in coll implemented. (match_init): chars_k variable initialized. * parser.l (COLL): Lexical syntax changed to allow for argument material. * parser.y (elem): Coll syntax rewritten for arguments. * txr.1: Updated.
* * match.c (mingap_k, maxgap_k, gap_k, times_k, lines_k): NewKaz Kylheku2011-09-291-0/+38
| | | | | | | | | | | | | | | | | symbol variables. (match_lines): Keyword arguments in collect implemented. (match_init): New function. * match.h (match_init): Declared. * parser.l (COLLECT): Lexical syntax changed for COLLECT to allow for argument material. * parser.y (%union): obj renamed to val. (exprs_opt): New nonterminal. (collect_clause): Rewritten for arguments. * txr.c (main): Call to match_init introduced.
* * lib.c (eof_s): New symbol variable.Kaz Kylheku2011-09-271-0/+4
| | | | | | | | | | | (obj_init): New variable initialized. * lib.h (eof_s): Declared. * match.c (match_files): New @(eof) directive explicitly matches end of data. * txr.1: Updated.
* Version 037.Kaz Kylheku2011-09-261-2/+2
|
* New feature: @(deffilter)Kaz Kylheku2011-09-261-1/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | Bugfix in @(throw) when non-symbol is thrown: exception message referred to the symbol throw rather than the erroneous object. * filter.c (build_filter_from_list, register_filter): New functions. * filter.h (register_filter): New function declared. * lib.c (deffilter_s): New variable defined. (chain): Function changed from single list argument to variable argument list to reduce the complexity of use. (do_and, and): New functions. (obj_init): deffilter_s initializatio added. * lib.h (deffilter_s, and): New declarations. (chain): Declaration updated to new function signature. (eq): Changed from macro to inline function. * match.c (do_output_line): Simplified expression involving chain. (do_output): Likewise. (match_files): Bugfix in error handling of throw. Implementation of deffilter. * txr.1: Documented deffilter.
* Documented :from_html.Kaz Kylheku2011-09-251-2/+2
|
* Filtering feature for variable substitution in output.Kaz Kylheku2011-09-251-1/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * filter.c, filter.h: New files. * Makefile (OBJS): filter.o added. * gc.c (mark_obj): Mark new alloc field of string objets. * hash.c (struct hash): New member, userdata. (hash_mark): Mark new userdata member of hash. (make_hash): Initialize userdata. (get_hash_userdata, set_hash_userdata, hashp): New functions. * hash.h (get_hash_userdata, set_hash_userdata, hashp): New functions declared. * lib.c (getplist, string_extend, cobjp): New functions. (string_own, string, string_utf8): Initialize new alloc field to nil. (mkstring, mkustring): Initialize new alloc field to actual size. (length_str): When length is computed and cached, also compute and cache alloc. (init): Call filter_init. * lib.h (string string): New member, alloc. (num_fast): Macro converted to inline function. (getplist, string_extend, cobjp): New functions declared. * match.c (match_line): Follows change of modifier s-exp syntax. (format_field): New parameter, filter. New modifier syntax parsed. Filter retrieved, and applied. (subst_vars): New parameter, filter. Filter is either applied in this function or passed to format_field, as needed. (eval_form): Pass nil to new parameter of subst_vars. (do_output_line): New parameter, filter. Passed down to subst_vars. (do_output): New parameter, filter. Passed down to do_output_line. (match_files): Pass nil filter to subst_vars in cat directive. Output directive refactored to parse keywords, extract the filter and pass down to do_output. * parser.y (regex): Generate (sys:regex regex syntax ...) instead of (regex syntax ...). (elem, expr): Updated w.r.t. regex syntax change. (var): Cases '{' IDENT regex '}' and '{' IDENT NUMBER '}' are removed. new syntax '{' IDENT exprs '}' to handle these more generally and allow for keywords. * txr.1: Updated.
* * LICENSE, Makefile, configure, gc.c, gc.h, hash.c, hash.h, lib.c,Kaz Kylheku2011-09-231-1/+1
| | | | | | lib.h, match.c, match.h, parser.h, parser.l, parser.y, regex.c, regex.h, stream.c, stream.h, txr.1, txr.c, txr.h, unwind.c, unwind.h, utf8.c, utf8.h: Updated copyright year.
* * match.c, parser.y: Support for old output syntax removed.Kaz Kylheku2011-09-231-12/+6
| | | | | | Leading :nothrow with trailing material is an error now. * txr.1: Updated. Made note of errors in pipes being asynchronous.
* Semantics tweak: short circuiting behavior for @(all) and @(none).Kaz Kylheku2011-09-231-34/+53
| | | | | | * match.c (match_files): Added a couple of break statements. * txr.1: Updated.
* Version 036.txr-036Kaz Kylheku2011-09-221-1/+1
|
* Useful second argument in skip directive for skippingKaz Kylheku2011-09-221-0/+22
| | | | | | | | a minimum number of lines. * match.c (match_files): New behavior in skip_s case. * txr.1: Documented.
* Fix date.Kaz Kylheku2010-10-051-1/+1
|
* Version 035.Kaz Kylheku2010-10-051-1/+1
|
* Bump copyrights to 2010.Kaz Kylheku2010-10-051-1/+1
|
* * txr.1: Fix formatting problem.Kaz Kylheku2010-09-301-1/+3
|
* Regex cleanup.Kaz Kylheku2010-03-011-18/+29
|
* * txr.1: Fix inaccuracies: files are not read into memory all atKaz Kylheku2010-03-011-4/+4
| | | | once, and a query doesn't execute if it had errors.
* Version 034.txr-034Kaz Kylheku2010-02-281-2/+2
|
* Whitespace.Kaz Kylheku2010-02-281-1/+1
|
* Improved freeform documentation.Kaz Kylheku2010-02-281-1/+52
|
* Version 033.Kaz Kylheku2010-01-261-2/+2
|
* Version 032.Kaz Kylheku2010-01-251-1/+1
|
* Version 031.txr-031Kaz Kylheku2010-01-251-2/+2
|
* 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-191-1/+1
|
* More regex grammar work.Kaz Kylheku2010-01-191-4/+3
|
* Oops.txr-029Kaz Kylheku2010-01-181-1/+1
|
* Version 029.Kaz Kylheku2010-01-181-1/+1
|
* Adjust semantics of non-greedy operator R%S, to avoid the brokenKaz Kylheku2010-01-181-18/+17
| | | | | | | | 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-171-1/+1
|
* 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
|
* Regex syntactic tweaks: support the [] syntaxKaz Kylheku2010-01-161-6/+23
| | | | | to match no character and [^] as its complement, being synonymous with the wildcard dot.
* Fix man page date.txr-028Kaz Kylheku2010-01-161-1/+1
|