📄 changelog
字号:
(simple_compile): print the error string if the compile failed. * regex.c (DO_RANGE): rewrite as a function, `compile_range', so we can debug it. Change pattern characters to unsigned char *'s, and change the range variable to an unsigned. (regex_compile): change calls.Sat Sep 5 17:40:49 1992 Karl Berry (karl@hayley) * regex.h (_RE_ARGS): new macro to put in argument lists (if ANSI) or omit them (if K&R); don't declare routines twice. * many files (obscure_syntax): rename to `re_default_syntax'.Fri Sep 4 09:06:53 1992 Karl Berry (karl@hayley) * GNUmakefile (extraclean): new target. (realclean): delete the info files.Wed Sep 2 08:14:42 1992 Karl Berry (karl@hayley) * regex.h: doc fix.Sun Aug 23 06:53:15 1992 Karl Berry (karl@hayley) * regex.[ch] (re_comp): no const in the return type (from djm).Fri Aug 14 07:25:46 1992 Karl Berry (karl@hayley) * regex.c (DO_RANGE): declare variables as unsigned chars, not signed chars (from jimb).Wed Jul 29 18:33:53 1992 Karl Berry (karl@claude.cs.umb.edu) * Version 0.9. * GNUmakefile (distclean): do not remove regex.texinfo. (realclean): remove it here. * tregress.c (simple_test): initialize buf.buffer.Sun Jul 26 08:59:38 1992 Karl Berry (karl@hayley) * regex.c (push_dummy_failure): new opcode and corresponding case in the various routines. Pushed at the end of alternatives. * regex.c (jump_past_next_alt): rename to `jump_past_alt', for brevity. (no_pop_jump): rename to `jump'. * regex.c (regex_compile) [DEBUG]: terminate printing of pattern with a newline. * NEWS: new file. * tregress.c (simple_{compile,match,test}): routines to simplify all these little tests. * tregress.c: test for matching as much as possible.Fri Jul 10 06:53:32 1992 Karl Berry (karl@hayley) * Version 0.8.Wed Jul 8 06:39:31 1992 Karl Berry (karl@hayley) * regex.c (SIGN_EXTEND_CHAR): #undef any previous definition, as ours should always work properly.Mon Jul 6 07:10:50 1992 Karl Berry (karl@hayley) * iregex.c (main) [DEBUG]: conditionalize the call to print_compiled_pattern. * iregex.c (main): initialize buf.buffer to NULL. * tregress (test_regress): likewise. * regex.c (alloca) [sparc]: #if on HAVE_ALLOCA_H instead. * tregress.c (test_regress): didn't have jla's test quite right.Sat Jul 4 09:02:12 1992 Karl Berry (karl@hayley) * regex.c (re_match_2): only REGEX_ALLOCATE all the register vectors if the pattern actually has registers. (match_end): new variable to avoid having to use best_regend[0]. * regex.c (IS_IN_FIRST_STRING): rename to FIRST_STRING_P. * regex.c: doc fixes. * tregess.c (test_regress): new fastmap test forwarded by rms. * tregress.c (test_regress): initialize the fastmap field. * tregress.c (test_regress): new test from jla that aborted in re_search_2.Fri Jul 3 09:10:05 1992 Karl Berry (karl@hayley) * tregress.c (test_regress): add tests for translating charsets, from kaoru. * GNUmakefile (common): add alloca.o. * alloca.c: new file, copied from bison. * other.c (test_others): remove var `buf', since it's no longer used. * Below changes from ro@TechFak.Uni-Bielefeld.DE. * tregress.c (test_regress): initialize buf.allocated. * regex.c (re_compile_fastmap): initialize `succeed_n_p'. * GNUmakefile (regex): depend on $(common).Wed Jul 1 07:12:46 1992 Karl Berry (karl@hayley) * Version 0.7. * regex.c: doc fixes.Mon Jun 29 08:09:47 1992 Karl Berry (karl@fosse) * regex.c (pop_failure_point): change string vars to `const char *' from `unsigned char *'. * regex.c: consolidate debugging stuff. (print_partial_compiled_pattern): avoid enum clash.Mon Jun 29 07:50:27 1992 Karl Berry (karl@hayley) * xmalloc.c: new file. * GNUmakefile (common): add it. * iregex.c (print_regs): new routine (from jimb). (main): call it.Sat Jun 27 10:50:59 1992 Jim Blandy (jimb@pogo.cs.oberlin.edu) * xregex.c (re_match_2): When we have accepted a match and restored d from best_regend[0], we need to set dend appropriately as well.Sun Jun 28 08:48:41 1992 Karl Berry (karl@hayley) * tregress.c: rename from regress.c. * regex.c (print_compiled_pattern): improve charset case to ease byte-counting. Also, don't distinguish between Emacs and non-Emacs {not,}wordchar opcodes. * regex.c (print_fastmap): move here. * test.c: from here. * regex.c (print_{{partial,}compiled_pattern,double_string}): rename from ..._printer. Change calls here and in test.c. * regex.c: create from xregex.c and regexinc.c for once and for all, and change the debug fns to be extern, instead of static. * GNUmakefile: remove traces of xregex.c. * test.c: put in externs, instead of including regexinc.c. * xregex.c: move interactive main program and scanstring to iregex.c. * iregex.c: new file. * upcase.c, printchar.c: new files. * various doc fixes and other cosmetic changes throughout. * regexinc.c (compiled_pattern_printer): change variable name, for consistency. (partial_compiled_pattern_printer): print other info about the compiled pattern, besides just the opcodes. * xregex.c (regex_compile) [DEBUG]: print the compiled pattern when we're done. * xregex.c (re_compile_fastmap): in the duplicate case, set `can_be_null' and return. Also, set `bufp->can_be_null' according to a new variable, `path_can_be_null'. Also, rewrite main while loop to not test `p != NULL', since we never set it that way. Also, eliminate special `can_be_null' value for the endline case. (re_search_2): don't test for the special value. * regex.h (struct re_pattern_buffer): remove the definition.Sat Jun 27 15:00:40 1992 Karl Berry (karl@hayley) * xregex.c (re_compile_fastmap): remove the `RE_' from `REG_RE_MATCH_NULL_AT_END'. Also, assert the fastmap in the pattern buffer is non-null. Also, reset `succeed_n_p' after we've paid attention to it, instead of every time through the loop. Also, in the `anychar' case, only clear fastmap['\n'] if the syntax says to, and don't return prematurely. Also, rearrange cases in some semblance of a rational order. * regex.h (REG_RE_MATCH_NULL_AT_END): remove the `RE_' from the name. * other.c: take bug reports from here. * regress.c: new file for them. * GNUmakefile (test): add it. * main.c (main): new possible test. * test.h (test_type): new value in enum.Thu Jun 25 17:37:43 1992 Karl Berry (karl@hayley) * xregex.c (scanstring) [test]: new function from jimb to allow some escapes. (main) [test]: call it (on the string, not the pattern). * xregex.c (main): make return type `int'.Wed Jun 24 10:43:03 1992 Karl Berry (karl@hayley) * xregex.c (pattern_offset_t): change to `int', for the benefit of patterns which compile to more than 2^15 bytes. * xregex.c (GET_BUFFER_SPACE): remove spurious braces. * xregex.texinfo (Using Registers): put in a stub to ``document'' the new function. * regex.h (re_set_registers) [!__STDC__]: declare. * xregex.c (re_set_registers): declare K&R style (also move to a different place in the file).Mon Jun 8 18:03:28 1992 Jim Blandy (jimb@pogo.cs.oberlin.edu) * regex.h (RE_NREGS): Doc fix. * xregex.c (re_set_registers): New function. * regex.h (re_set_registers): Declaration for new function.Fri Jun 5 06:55:18 1992 Karl Berry (karl@hayley) * main.c (main): `return 0' instead of `exit (0)'. (From Paul Eggert) * regexinc.c (SIGN_EXTEND_CHAR): cast to unsigned char. (extract_number, EXTRACT_NUMBER): don't bother to cast here.Tue Jun 2 07:37:53 1992 Karl Berry (karl@hayley) * Version 0.6. * Change copyrights to `1985, 89, ...'. * regex.h (REG_RE_MATCH_NULL_AT_END): new macro. * xregex.c (re_compile_fastmap): initialize `can_be_null' to `p==pend', instead of in the test at the top of the loop (as it was, it was always being set). Also, set `can_be_null'=1 if we would jump to the end of the pattern in the `on_failure_jump' cases. (re_search_2): check if `can_be_null' is 1, not nonzero. This was the original test in rms' regex; why did we change this? * xregex.c (re_compile_fastmap): rename `is_a_succeed_n' to `succeed_n_p'.Sat May 30 08:09:08 1992 Karl Berry (karl@hayley) * xregex.c (re_compile_pattern): declare `regnum' as `unsigned', not `regnum_t', for the benefit of those patterns with more than 255 groups. * xregex.c: rename `failure_stack' to `fail_stack', for brevity; likewise for `match_nothing' to `match_null'. * regexinc.c (REGEX_REALLOCATE): take both the new and old sizes, and copy only the old bytes. * xregex.c (DOUBLE_FAILURE_STACK): pass both old and new. * This change from Thorsten Ohl.Fri May 29 11:45:22 1992 Karl Berry (karl@hayley) * regexinc.c (SIGN_EXTEND_CHAR): define as `(signed char) c' instead of relying on __CHAR_UNSIGNED__, to work with compilers other than GCC. From Per Bothner. * main.c (main): change return type to `int'.Mon May 18 06:37:08 1992 Karl Berry (karl@hayley) * regex.h (RE_SYNTAX_AWK): typo in RE_RE_UNMATCHED...Fri May 15 10:44:46 1992 Karl Berry (karl@hayley) * Version 0.5.Sun May 3 13:54:00 1992 Karl Berry (karl@hayley) * regex.h (struct re_pattern_buffer): now it's just `regs_allocated'. (REGS_UNALLOCATED, REGS_REALLOCATE, REGS_FIXED): new constants. * xregex.c (regexec, re_compile_pattern): set the field appropriately. (re_match_2): and use it. bufp can't be const any more.Fri May 1 15:43:09 1992 Karl Berry (karl@hayley) * regexinc.c: unconditionally include <sys/types.h>, first. * regex.h (struct re_pattern_buffer): rename `caller_allocated_regs' to `regs_allocated_p'. * xregex.c (re_compile_pattern): same change here. (regexec): and here. (re_match_2): reallocate registers if necessary.Fri Apr 10 07:46:50 1992 Karl Berry (karl@hayley) * regex.h (RE_SYNTAX{_POSIX,}_AWK): new definitions from Arnold.Sun Mar 15 07:34:30 1992 Karl Berry (karl at hayley) * GNUmakefile (dist): versionize regex.{c,h,texinfo}.Tue Mar 10 07:05:38 1992 Karl Berry (karl at hayley) * Version 0.4. * xregex.c (PUSH_FAILURE_POINT): always increment the failure id. (DEBUG_STATEMENT) [DEBUG]: execute the statement even if `debug'==0. * xregex.c (pop_failure_point): if the saved string location is null, keep the current value.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -