1 Sat Dec 2 17:01:59 2006 Ben Pfaff <blp@gnu.org>
3 Significant cleanup to DO REPEAT.
5 * repeat.c: (struct line_list) Rename struct repeat_line. Use
6 struct ll instead of explicit "next" pointer. Make "file_name"
7 const. Change "const char *line" to "struct substring text". Add
8 `syntax' member. Update all references.
9 (enum repeat_entry_type) Rename repeat_macro_type, update all
11 (struct repeat_entry) Rename struct repeat_macro. Use struct ll
12 instead of explicit "next" pointer. Change "char[] id" to "struct
13 substring name". Change "char **replacement" to "struct substring
14 *replacements". Update all references.
15 (struct repeat_block) Use struct ll_list for lists of lines,
16 macros. Change "cur_line" to struct ll *.
17 (cmd_do_repeat) Don't bother adding an empty getl source at all.
18 This saves special-casing an empty source in repeat_read.
19 (parse_specification) Use new find_macro function.
20 (find_macro) New function.
21 (skip_indentor) Removed.
22 (recognize_keyword) Change interface, update callers.
23 (recognize_do_repeat) Ditto.
24 (recognize_end_repeat) Ditto.
25 (parse_lines) Use lex_preprocess_line to preprocess the input line
26 to check for DO REPEAT and END REPEAT, instead of coding it
28 (parse_ids) Need to make a copy of the array parsed by
29 parse_mixed_vars_pool, instead of using it verbatim, because we're
30 using struct substring now.
31 (add_replacement) Use struct substring in interface, instead of
32 const char *, and update all callers.
33 (find_substitution) Rewrite using substring, in terms of
35 (do_repeat_filter) Use struct substring to simplify code.
36 (current_line) New function.
38 Sat Dec 2 16:40:12 2006 Ben Pfaff <blp@gnu.org>
40 Fix lack of ->name and ->location in DO REPEAT's getl_interface.
43 * repeat.c: (cmd_do_repeat) Initialize name, location in
45 (do_repeat_read) Adjust semantics of cur_line so that, after the
46 call, it points to the line just returned, instead of to the next
47 line to be returned. Thus, do_repeat_name and do_repeat_location
48 can use cur_line to obtain the info they need.
49 (do_repeat_name) New function.
50 (do_repeat_location) New function.
52 Thu Nov 30 22:01:27 2006 Ben Pfaff <blp@gnu.org>
54 * repeat.c (do_repeat_read): Properly handle empty DO REPEAT...END
55 REPEAT block. Fixes bug #18407. Thanks to John Darrington for
58 Sat Oct 28 16:18:48 WST 2006 John Darrington <john@darrington.wattle.id.au>
60 * repeat.c: Eliminated references to extern variable getl_buf.
62 Sun May 7 18:18:33 2006 Ben Pfaff <blp@gnu.org>
66 * repeat.c: (parse_ids) Take pool parameter and allocate all
67 memory from pool. Reduce implementation from loop to single call
68 to parse_mixed_vars_pool().
69 (store_numeric) Removed.
70 (add_replacement) New function.
71 (parse_numbers) Take pool parameter and allocate all memory from
72 pool. Require ranges to be in increasing order.
73 (parse_strings) Take pool parameter and allocate all memory from
76 Wed May 3 22:45:41 2006 Ben Pfaff <blp@gnu.org>
78 Continue reforming procedure execution. In this phase, get rid of
79 many global variables, consolidating procedure execution in
80 procedure.c. Encapsulate transformations in new "struct
81 trns_chain". Also, change implementation of N OF CASES, FILTER,
82 and PROCESS IF from special cases to transformations.
84 * do-if.c: (cmd_do_if) Use finalizer to ensure control stack gets
86 (do_if_finalize_func) New function.
88 * loop.c: (create_loop_trns) Use finalizer to ensure control stack gets
90 (loop_trns_finalize) New function.
92 * temporary.c: (global var temporary) Removed. Changed references
93 to use proc_make_temporary_transformations_permanent() or
94 proc_in_temporary_transformations().
95 (global var temp_dict) Removed.
96 (global var temp_trns) Removed.
97 (cmd_temporary) Reimplement in terms of
98 proc_in_temporary_transformations() and
99 proc_start_temporary_transformations().
100 (cancel_temporary) Moved to procedure.c, renamed
101 proc_cancel_temporary_transformations().
103 Thu Mar 2 08:40:33 WST 2006 John Darrington <john@darrington.wattle.id.au>
105 * Moved files from src directory