3972
|
1 2007-05-18 Francesco Potortì <pot@gnu.org>
|
|
2
|
|
3 * etags.c: Extern definitions of some more pointer functions for
|
|
4 standalone compilation, especially important for 64bit platforms.
|
|
5 (main, print_help): --members is now the default for etags.
|
|
6 (C_entries): Parse start of C comment as a space == end of token.
|
|
7 This is not necessary for C++ comment, already parsed as newline.
|
|
8
|
|
9 2007-02-05 Francesco Potortì <pot@gnu.org>
|
|
10
|
|
11 * etags.c (default_C_help, Cplusplus_help, PHP_help, print_help)
|
|
12 (main): Now --members is the default for etags, not for ctags yet.
|
|
13
|
|
14 2007-01-02 Francesco Potortì <pot@gnu.org>
|
|
15
|
|
16 * etags.c (longopts): New undocumented option --no-duplicates.
|
|
17 (no_duplicates): Static variables for the above option.
|
|
18 (print_help): Do not print help for --no-warn, now undocumented.
|
|
19 (add_node): Allow duplicate tags in ctags mode unless --no-duplicates.
|
|
20 (main): Pass the -u option to sort in ctags mode.
|
|
21
|
|
22 2006-12-28 Francesco Potortì <pot@gnu.org>
|
|
23
|
|
24 * etags.c (readline): When creating a relative file name from a
|
|
25 #line directive, leave the file name alone. The previous
|
|
26 behaviour was to make it relative to the tags file directory,
|
|
27 under the hypothesis that the #line directive file name was
|
|
28 relative to the directory of the tagged file. That hypothesis is
|
|
29 wrong with Cpp and Lex.
|
|
30
|
|
31 2006-12-20 Francesco Potortì <pot@gnu.org>
|
|
32
|
|
33 * etags.c (C_entries): DEFUN names were longer by one: corrected.
|
|
34 (Makefile_targets): Do not include spaces in tag names.
|
|
35
|
|
36 2006-08-12 Kevin Ryde <user42@zip.com.au>
|
|
37
|
|
38 * etags.c (readline): Check for double quote after #line.
|
|
39
|
|
40 2006-08-12 Jan Djärv <jan.h.d@swipnet.se>
|
|
41
|
|
42 * etags.c (readline): sscanf could in principle return 2.
|
|
43
|
|
44 2006-08-12 Francesco Potortì <pot@gnu.org>
|
|
45
|
|
46 * etags.c (readline): lno is unsigned.
|
|
47 (TeX_commands): Use p++ (rather than *p++) to increment p.
|
|
48 (Lua_functions): Explicitely discard LOOKING_AT's return value.
|
|
49
|
|
50 2006-08-07 Masatake YAMATO <jet@gyve.org>
|
|
51
|
|
52 * etags.c (TEX_mode): Check getc retruns EOF.
|
|
53 File ended without newline causes infinite loop.
|
|
54
|
|
55 2002-07-14 Adrian Aichner <adrian@xemacs.org> (tiny change)
|
|
56
|
|
57 * etags.c: It's XEmacs, not Xemacs: change all the occurences.
|
|
58
|
|
59 2006-07-10 Francesco Potortì <pot@gnu.org>
|
|
60
|
|
61 * etags.c [ETAGS_REGEXPS]: #ifdef's deleted, define unconditionally.
|
|
62 [LONG_OPTIONS]: Changed to NO_LONG_OPTIONS, now normally undefined.
|
|
63 (Objc_suffixes): Suggest using --lang=c for full help.
|
|
64 (C_entries): Initialise savetoken to 0 to shut up the compiler.
|
|
65
|
|
66 2006-07-10 Francesco Potortì <pot@gnu.org>
|
|
67
|
|
68 * etags.c (absolute_filename): Free unused space (cosmetic change).
|
|
69 (in_word_set): In C, also tag #undef symbols.
|
|
70
|
|
71 2006-05-02 Francesco Potortì <pot@gnu.org>
|
|
72
|
|
73 * etags.c (Perl_functions): Free space allocated for var package.
|
|
74 (Erlang_functions): Possibly free space allocated for var last.
|
|
75 (Prolog_functions): Possibly free space allocated for var last.
|
|
76
|
|
77 2005-11-18 Hideki IWAMOTO <h-iwamoto@kit.hi-ho.ne.jp> (tiny change)
|
|
78
|
|
79 * etags.c (main): Cxref mode writes to stdout: do not close tagf,
|
|
80 which was never opened.
|
|
81
|
|
82 2005-09-27 Francesco Potortì <pot@gnu.org>
|
|
83
|
|
84 * etags.c: Preliminary Forth support.
|
|
85 (prolog_pr): Cast strlen to int before comparison.
|
|
86 (LOOKING_AT, LOOKING_AT_NOCASE): Let the preprocessor check that
|
|
87 the second argument is indeed a literal string.
|
|
88 (main): In append mode, sort the tags file after writing it.
|
|
89
|
|
90 2005-09-27 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
|
|
91
|
|
92 * etags.c (longopts, print_help, main): The -a (--append) option
|
|
93 can be used in ctags also; for one, the Linux make file uses it.
|
|
94
|
|
95 2004-09-13 Francesco Potortì <pot@gnu.org>
|
|
96
|
|
97 * etags.c (main): When relative file names are given as argument,
|
|
98 make them relative to the current working dir, rather than
|
|
99 relative to the output tags file, if the latter is in /dev.
|
|
100
|
|
101 2004-09-13 David A. Capello <dacap@users.sourceforge.net> (tiny change)
|
|
102
|
|
103 * etags.c: (Lua_suffixes, Lua_help, lang_names, Lua_functions):
|
|
104 Support the Lua scripting language <http://www.lua.org>.
|
|
105
|
|
106 2004-09-13 Francesco Potortì <pot@gnu.org>
|
|
107
|
|
108 * etags.c [EXIT_SUCCESS, EXIT_FAILURE]: Define them when no
|
|
109 <stdlib.h> is available.
|
|
110 (enum sym_type): New st_C_attribute value for parsing
|
|
111 gcc's __attribute__. Deleted st_C_typespec value.
|
|
112 (gperf, in_word_set): Use gperf 3, options changed. Added the
|
|
113 __attribute__ keyword, removed all the st_C_typespec keywords,
|
|
114 changed attribute for Java to (C_JAVA & !C_PLPL).
|
|
115 (inattribute): New global bool, part of the C state machine.
|
|
116 (cblev): Identifier renamed to bracelev throughout.
|
|
117 (consider_token, C_entries): Numerous changes for making the
|
|
118 parser more robust and adding support for __attribute__.
|
|
119
|
|
120 2004-09-08 Francesco Potortì <pot@gnu.org>
|
|
121
|
|
122 * etags.c: Add arch taglines
|
|
123 [LONG_OPTIONS]: make it TRUE (ifdef) or FALSE for ease of use.
|
|
124 [GOOD, BAD]: renamed to EXIT_SUCCESS, EXIT_FAILURE.
|
|
125 (suggest_asking_for_help): Fix having macros in a printf statement.
|
|
126 (consider_token): check C++ `operator' only when the token len is
|
|
127 long enough.
|
|
128
|
|
129 2003-01-09 Francesco Potortì <pot@gnu.org>
|
|
130
|
|
131 * etags.c: changes for language-sepcific help by Philippe
|
|
132 Waroquiers <wao@cfmu.eurocontrol.be> applied and largely revised.
|
|
133 (language): Added a `help' member.
|
|
134 (arg_type): Added an at_end constant.
|
|
135 (plain_C_suffixes): Some items removed from here.
|
|
136 (Objc_suffixes): And put here (new constant).
|
|
137 (Ada_help, Asm_help, default_C_help, Cplusplus_help, Cjava_help,
|
|
138 Cobol_help, Erlang_help, Fortran_help, HTML_help, Lisp_help,
|
|
139 Makefile_help, Objc_help, Pascal_help, Perl_help, PHP_help,
|
|
140 PS_help, Prolog_help, Python_help, Scheme_help, TeX_help,
|
|
141 Texinfo_help, Yacc_help, auto_help, none-help, no_lang_help): New
|
|
142 constants.
|
|
143 (PS_functions, PS_suffixes): Renamed from Postscript_functions and
|
|
144 Postscript_suffixes.
|
|
145 (lang_names): Adapted to the new language structure, new language
|
|
146 "objc" added (was previously merged with "proc").
|
|
147 (print_language_names): Some help strings corrected.
|
|
148 (print_help): Now takes an argument and possibly prints lang help.
|
|
149 (print_help): Some help strings corrected. Documents
|
|
150 language-specific help.
|
|
151 (main): Only print help after having parsed all the arguments.
|
|
152
|
|
153 2002-09-03 Francesco Potorti` <pot@gnu.org>
|
|
154
|
|
155 * etags.c (regex_tag_multiline, readline): Never pass pfnote a
|
|
156 string that cannot be freed.
|
|
157
|
|
158 2002-08-30 Francesco Potorti` <pot@gnu.org>
|
|
159
|
|
160 * etags.c (consider_token, C_entries): Switch to C++ parsing when
|
|
161 auto-detection is enabled and the `::' qualifier is met.
|
|
162 (consider_token, C_entries): Several bugs corrected that tagged
|
|
163 some declarations even though --declarations was not used.
|
|
164 (plainc): New macro.
|
|
165 (C_entries): Use it.
|
|
166 (C_entries): Several cosmetic changes.
|
|
167 (C_entries): Invalidate the token is some cases.
|
|
168
|
|
169 2002-08-29 Francesco Potorti` <pot@gnu.org>
|
|
170
|
|
171 * etags.c (C_entries): Corrected a problem with const C++ funcs.
|
|
172 (ignoreindent): Renamed from noindentypedefs.
|
|
173 (cjava, cplpl): They are now macros instead of local vars.
|
|
174
|
|
175 2002-08-28 Francesco Potorti` <pot@gnu.org>
|
|
176
|
|
177 * etags.c (HTML_labels): Tag ID= also.
|
|
178
|
|
179 2002-08-27 Francesco Potorti` <pot@gnu.org>
|
|
180
|
|
181 * etags.c (Ada_funcs): Do not tag "use type Xxxx;".
|
|
182
|
|
183 2002-06-25 Francesco Potorti` <pot@gnu.org>
|
|
184
|
|
185 * etags.c: New language HTML.
|
|
186 (make_tag): Never generate null length tag names.
|
|
187 (linebuffer_init): Renamed from initbuffer. All callers changed.
|
|
188 (pattern): Structure renamed to `regexp', member regex renamed to
|
|
189 pattern.
|
|
190 (node_st): Member pat renamed to regex.
|
|
191 (pattern); New member force_explicit_name, for future use. Now
|
|
192 always set to true, cannot be reset.
|
|
193 (add_regex, regex_tag_multiline, readline): Use it.
|
|
194 (main): Free some global structures.
|
|
195
|
|
196 2002-06-21 Francesco Potorti` <pot@gnu.org>
|
|
197
|
|
198 * etags.c (fdesc): New member `written'.
|
|
199 (readline, process_file): Initialise it.
|
|
200 (put_entries): Set it.
|
|
201 (main): Use it to create entries for files without tags.
|
|
202 (total_size_of_entries): Do not count invalid tags.
|
|
203 (etags_strcasecmp): Like BSD's, for compatibility.
|
|
204 (strcaseeq): Make it into a macro.
|
|
205
|
|
206 2002-06-21 Francesco Potorti` <pot@gnu.org>
|
|
207
|
|
208 * etags.c: (F_getit, Fortran_functions, Ada_getit, Asm_labels)
|
|
209 (Python_functions, PHP_functions, PHP_functions, PHP_functions)
|
|
210 (PHP_functions, PHP_functions, Cobol_paragraphs)
|
|
211 (Makefile_targets, Postscript_functions, Texinfo_nodes)
|
|
212 (prolog_pr, erlang_func, erlang_attribute)
|
|
213 (Perl_functions, Perl_functions, Pascal_functions)
|
|
214 (TeX_commands, get_tag): Use make_tag instead of pfnote.
|
|
215 (get_tag): Prototype changed, all callers changed.
|
|
216
|
|
217 2002-06-20 Francesco Potorti` <pot@gnu.org>
|
|
218
|
|
219 * etags.c: Use, together with etags.el, an optimised form of tags,
|
|
220 which are almost always unnamed. etags.el looks for an explicit
|
|
221 tag name, then for an implicit one. See make_tag for details.
|
|
222 The change is both forwards and backwards compatible.
|
|
223 (make_tag): New function (was the disabled function new_pfnote).
|
|
224 (make_C_tag): Use it.
|
|
225
|
|
226 2002-06-19 Francesco Potorti` <pot@gnu.org>
|
|
227
|
|
228 * etags.c (add_regex): Invalid regexp modifiers are ignored.
|
|
229 (Makefile_targets): Tag variables unless --no-globals.
|
|
230 (LOOP_ON_INPUT_LINES): Serious bug corrected.
|
|
231
|
|
232 2002-06-13 Francesco Potorti` <pot@gnu.org>
|
|
233
|
|
234 * etags.c (erlang_atom, erlang_attribute): Bugs corrected.
|
|
235 (invalidate_nodes): Bug corrected.
|
|
236 (print_help): Better help for regexps.
|
|
237
|
|
238 2002-06-12 Francesco Potorti` <pot@gnu.org>
|
|
239
|
|
240 * etags.c (arg_type): at_icregexp label removed (obsolete).
|
|
241 (pattern): New member multi_line for multi-line regexps.
|
|
242 (filebuf): A global buffer containing the whole file as a string
|
|
243 for multi-line regexp matching.
|
|
244 (need_filebuf): Global flag raised if multi-line regexps used.
|
|
245 (print_help): Document new regexp modifiers, remove references to
|
|
246 obsolete option --ignore-case-regexp.
|
|
247 (main): Do not set regexp syntax and translation table here.
|
|
248 (main): Treat -c option as a backward compatibility hack.
|
|
249 (main, find_entries): Init and free filebuf.
|
|
250 (find_entries): Call regex_tag_multiline after the regular parser.
|
|
251 (scan_separators): Check for untermintaed regexp and return NULL.
|
|
252 (analyse_regex, add_regex): Remove the ignore_case argument, which
|
|
253 is now a modifier to the regexp. All callers changed.
|
|
254 (add_regex): Manage the regexp modifiers.
|
|
255 (regex_tag_multiline): New function. Reads from filebuf.
|
|
256 (readline_internal): If necessary, copy the whole file into filebuf.
|
|
257 (readline): Skip multi-line regexps, leave them to regex_tag_multiline.
|
|
258
|
|
259 2002-06-11 Francesco Potorti` <pot@gnu.org>
|
|
260
|
|
261 * etags.c (add_regex): Better check for null regexps.
|
|
262 (readline): Check for regex matching null string.
|
|
263
|
|
264 2002-06-07 Francesco Potorti` <pot@gnu.org>
|
|
265
|
|
266 * etags.c (find_entries): Reorganisation.
|
|
267
|
|
268 2002-06-07 Francesco Potorti` <pot@gnu.org>
|
|
269
|
|
270 * etags.c (scan_separators): Support all character escape
|
|
271 sequences supported by gcc.
|
|
272 (find_entries): rewind unconditionally.
|
|
273 (find_entries): Do not call language functions directly, now calls
|
|
274 itself.
|
|
275 (find_entries): Do general initialisations here.
|
|
276 (CNL_SAVE_DEFINEDEF, C_entries, LOOP_ON_INPUT_LINES, F_getit)
|
|
277 (Ada_getit, Pascal_functions, Pascal_functions)
|
|
278 (prolog_skip_comment): Do not do them here.
|
|
279 (readline_internal): Increment lineno here.
|
|
280 (readline): Conditionally undo readline_internal increment.
|
|
281 (readline): Do not return a value.
|
|
282
|
|
283 2002-06-06 Francesco Potorti` <pot@gnu.org>
|
|
284
|
|
285 * etags.c (enum arg_type): New label at_stdin.
|
|
286 (STDIN): New constant.
|
|
287 (parsing_stdin): New flag.
|
|
288 (longopts): New option --parse-stdin=NAME.
|
|
289 (print_help): Document it.
|
|
290 (main): Handle it.
|
|
291 (process_file): Split into process_file and process_file_name.
|
|
292 (process_file_name): New function.
|
|
293
|
|
294 2002-06-06 Francesco Potorti` <pot@gnu.org>
|
|
295
|
|
296 * etags.c (main): Avoid a buffer overrun with sprintf.
|
|
297 (TEX_cmt): Make it a static char and move it before TeX_commands.
|
|
298 (TeX_commands): Skip comments.
|
|
299 (TEX_defenv): Now contains more contructs.
|
|
300 (TeX_commands): Shorten the tag to the brace after the name.
|
|
301 (TeX_commands): Allow for names with embedded spaces.
|
|
302 (TeX_commands): Names now include the initial backslash.
|
|
303 (TeX_commands): Names do not include numeric args #n.
|
|
304 (TeX_commands): Correct line char number in tags.
|
|
305 (TEX_tabent, TEX_token): Deleted.
|
|
306 (TeX_commands, TEX_decode_env): Streamlined.
|
|
307
|
|
308 2002-05-31 Paul Eggert <eggert@twinsun.com>
|
|
309
|
|
310 * etags.c (main): Use `sort -o TAGFILE TAGFILE' instead of
|
|
311 `sort TAGFILE -o TAGFILE', as POSIX 1003.1-2001 disallows
|
|
312 the latter usage.
|
|
313
|
|
314 2002-04-22 Francesco Potorti` <pot@gnu.org>
|
|
315
|
|
316 * etags.c: (last_node): Make it a global variable.
|
|
317 (process_file): Print the tags from the nodes as soon as
|
|
318 possible, and delete the nodes. This brings down the memory
|
|
319 occupancy as etags to almost the same level as when the #line
|
|
320 directives were not parsed.
|
|
321 (free_fdesc): New function.
|
|
322 (find_entries): Use it.
|
|
323 (invalidate_nodes): In etags mode, do not just mark the nodes as
|
|
324 invalid, do delete them.
|
|
325
|
|
326 2002-04-16 Francesco Potorti` <pot@gnu.org>
|
|
327
|
|
328 * etags.c (find_entries): Bug fix in list management.
|
|
329
|
|
330 2002-04-15 Francesco Potorti` <pot@gnu.org>
|
|
331
|
|
332 * etags.c (get_language_from_filename): Add one argument.
|
|
333 (strcaseeq): New function.
|
|
334 (get_language_from_filename): Use it to do a case insenstitive
|
|
335 comparison if called with appropriate args.
|
|
336 (find_entries): Try with case insensitive match.
|
|
337 (process_file): Bug fixed.
|
|
338
|
|
339 2002-04-13 Francesco Potorti` <pot@gnu.org>
|
|
340
|
|
341 * etags.c (find_entries): Delete tags previously obtained from
|
|
342 file xxx.c's #line directives when parsing file xxx.y. This is
|
|
343 generally done for automatically generated files containing
|
|
344 #line directives. This handles the case when xxx.y is tagged
|
|
345 before xxx.c, and the entries of xxx.c pointing to xxx.y should
|
|
346 be discarded.
|
|
347 (language): Added the metasource member. Initializers changed.
|
|
348 (invalidate_nodes): New function.
|
|
349
|
|
350 2002-03-21 Francesco Potorti` <pot@gnu.org>
|
|
351
|
|
352 * etags.c (readline): Discard lines after having found a #line
|
|
353 directive pointing to an already tagged file. This handles the
|
|
354 case when xxx.y is tagged before xxx.c, and the entries of
|
|
355 xxx.c pointing to xxx.y should be discarded.
|
|
356
|
|
357 2002-03-15 Francesco Potorti` <pot@gnu.org>
|
|
358
|
|
359 * etags.c (fdesc): New structure for keeping track of input files.
|
|
360 (fdesc): Remove `file' member (a string) and use instead a pointer
|
|
361 to a file description structure.
|
|
362 (curfile, curfiledir, curtagfname, curlang, nocharno,
|
|
363 forced_lang): Global variables removed in favor of fdhead and
|
|
364 curfdp, pointers to file description strucures.
|
|
365 (longopts, main, print_help): Use the CTAGS conditional to include
|
|
366 or exclude options that work on etags or ctags only.
|
|
367 (process_file, find_entries, pfnote, add_node, put_entries,
|
|
368 readline): Use fdhead and curfdp.
|
|
369 (process_file, find_entries): Do not take an arg string, all
|
|
370 callers changed.
|
|
371
|
|
372 2002-03-13 Francesco Potorti` <pot@gnu.org>
|
|
373
|
|
374 * etags.c (longopts, print_help, main): Test CTAGS to disallow
|
|
375 options that are not right for either etags or ctags.
|
|
376
|
|
377 2002-03-12 Francesco Potorti` <pot@gnu.org>
|
|
378
|
|
379 * etags.c (number_len, total_size_of_entries): Define them also
|
|
380 in CTAGS mode, because gcc does not compile all refs away.
|
|
381 (Python_functions, PHP_functions): Name tags, for ctags' sake.
|
|
382 (TeX_commands): Name tags. Correction of old disabled code.
|
|
383
|
|
384 2002-03-06 Francesco Potorti` <pot@gnu.org>
|
|
385
|
|
386 * etags.c (Python_functions): Consider indented "def" and "class".
|
|
387
|
|
388 2002-03-05 Francesco Potorti` <pot@gnu.org>
|
|
389
|
|
390 * etags.c (curfiledir, curtagfname): New global variables.
|
|
391 (process_file): Initialise them.
|
|
392 (readline): Canonicalize the name found in #line directive.
|
|
393
|
|
394 2002-03-05 Francesco Potorti` <pot@gnu.org>
|
|
395
|
|
396 * etags.c: Honour #line directives.
|
|
397 (no_line_directive): New global var; set it for old behaviour.
|
|
398 (main): Remove some #ifdef in the getopt switch.
|
|
399 (add_node, put_entries): Code added to merge different chunks of
|
|
400 nodes referring to the same file. Currently the tags are just
|
|
401 appended, without any check for duplicates.
|
|
402 (Perl_functions): Do not special case ctags.
|
|
403 (readline): Identify #line directives and do the right thing.
|
|
404 (nocharno, invalidcharno): New global vars.
|
|
405 (process_file): Reset nocharno.
|
|
406 (readline): Set nocharno.
|
|
407 (pfnote): Read nocharno and maybe put invalidcharno in node.
|
|
408 (total_size_of_entries, put_entries): Use invalidcharno.
|
|
409
|
|
410 2002-03-04 Francesco Potorti` <pot@gnu.org>
|
|
411
|
|
412 * etags.c: Keep the whole tag table in memory, even in etags mode.
|
|
413 (main): Call put_entries here even in CTAGS mode.
|
|
414 (main, process_file): Check the return values of fclose and pclose.
|
|
415 (process_file): Do not call put_entries after parsing each file.
|
|
416 (process_file): Canonicalise file names even for ctags.
|
|
417 (process_file): Set curfile here...
|
|
418 (find_entries): ... not here any more.
|
|
419 (add_node): In etags mode, build a linked list of entries (on
|
|
420 right pointer) for each file, and link the first entry of each
|
|
421 file on left nodes.
|
|
422 (put_entries): Print here the name of the file.
|
|
423 (put_entries): Print the entries starting from the first file.
|
|
424 (number_len, total_size_of_entries): Define these only iin etags
|
|
425 mode, make the second work only on the right nodes.
|
|
426
|
|
427 2002-01-03 Francesco Potorti` <pot@gnu.org>
|
|
428
|
|
429 * etags.c: Make all global variables static.
|
|
430
|
|
431 2001-12-21 Francesco Potorti` <pot@gnu.org>
|
|
432
|
|
433 * etags.c (Perl_functions): Tag packages and use them in sub tags.
|
|
434 (get_tag): Return a pointer to the tag that is found.
|
|
435
|
|
436 2001-12-21 Francesco Potorti` <pot@gnu.org>
|
|
437
|
|
438 * etags.c (LOOKING_AT): Use !intoken instead of iswhite.
|
|
439 (F_takeprec): Renamed from takeprec. All callers changed.
|
|
440 (F_getit): Renamed from getit. All callers changed.
|
|
441 (nocase_tail): Renamed from tail. All callers changed.
|
|
442 (Ada_getit): Renamed from adagetit. All callers changed.
|
|
443 (L_getit): Simplified by using get_tag.
|
|
444 (Perl_functions, Postscript_functions, erlang_attribute): Use the
|
|
445 modified LOOKING_AT.
|
|
446 (notinname): Removed '[' and added ')' to the recognised chars.
|
|
447 (LOOKING_AT, get_tag, PHP_functions): Use notinname.
|
|
448 (Ada_getit, Ada_funcs, Python_functions, Scheme_functions):
|
|
449 Clarified, using strneq or notinname.
|
|
450 (L_isdef, L_isquote): Removed.
|
|
451 (Lisp_functions, L_getit): Clarified.
|
|
452
|
|
453 2001-12-17 Francesco Potorti` <pot@gnu.org>
|
|
454
|
|
455 * etags.c: [P_]: Renamed to __P for consistency with config.h.
|
|
456 [HAVE_CONFIG_H]: Let config.h deal with __P.
|
|
457 [__STDC__] [!HAVE_CONFIG_H]: Define PTR as in config.h.
|
|
458 [!__STDC__] [!HAVE_CONFIG_H]: Do not undefine static, because
|
|
459 gperf code needs it.
|
|
460 [HAVE_CONFIG_H] [!PTR]: Define PTR (for use with Xemacs).
|
|
461 [HAVE_CONFIG_H] [!__P]: Define __P (for use with Xemacs).
|
|
462 (xmalloc, xrealloc): Use PTR instead of long *.
|
|
463 (bool): Make it a define, not a typedef, for C++ compilers.
|
|
464 (pattern): Members renamed to avoid name clash in some C++ compilers.
|
|
465 (get_language_from_langname): Use const argument.
|
|
466
|
|
467 2001-12-12 Francesco Potorti` <pot@gnu.org>
|
|
468
|
|
469 * etags.c (PHP_functions): New function by Diez B. Roggisch,
|
|
470 heavily adapted by me, for parsing PHP.
|
|
471 (LOOKING_AT): New macro.
|
|
472 (Perl_functions, Python_functions, PHP_functions)
|
|
473 (Scheme_functions, Texinfo_nodes): Use it.
|
|
474 (Perl_functions): Use strneq.
|
|
475 (prolog_pred): Renamed to prolog_pr.
|
|
476 (prolog_pr): Recognise Prolog rules (thanks to Geert Kloosterman)
|
|
477 in addition to predicates.
|
|
478 [ETAGS_REGEXPS] [!HAVE_CONFIG_H] [__CYGWIN__]: Prevent
|
|
479 unmodified compile, as Cygwin's regex.h is incompatible with us
|
|
480 (thanks to Markus Hoenicka).
|
|
481 [!HAVE_CONFIG_H] [!__STDC__]: #define const as the empty string.
|
|
482
|
|
483 2001-05-11 Francesco Potorti` <pot@gnu.org>
|
|
484
|
|
485 * etags.c (add_regex): Reset the whole newly allocated pattern
|
|
486 buffer instead of the individual members. It's safer and works
|
|
487 with Xemacs.
|
|
488
|
|
489 2001-02-23 Francesco Potorti` <pot@gnu.org>
|
|
490
|
|
491 * etags.c (enum sym_type): New label st_C_template.
|
|
492 (gperf input): Use it for switching to C++ from C.
|
|
493 (consider_token): Do it.
|
|
494
|
|
495 2001-02-16 Francesco Potorti` <pot@gnu.org>
|
|
496
|
|
497 * etags.c (C_entries): Initialise typdefcblev to quiet compilers.
|
|
498
|
|
499 2001-02-06 Francesco Potorti` <pot@gnu.org>
|
|
500
|
|
501 * etags.c [!HAVE_CONFIG_H] [!__STDC__]: #define static as nothing.
|
|
502
|
|
503 2001-01-31 Francesco Potorti` <pot@gnu.org>
|
|
504
|
|
505 * etags.c: [NDEBUG] #undef assert and #define it as ((void)0), for
|
|
506 the sake of some buggy assert.h (e.g. in MinGW and sunos4 pcc).
|
|
507 (C_entries): Tag token renamed to still_in_token because sunos4
|
|
508 pcc wants to expand it as the token() macro even though it has no
|
|
509 arguments.
|
|
510
|
|
511 2001-01-30 Francesco Potorti` <pot@gnu.org>
|
|
512
|
|
513 * etags.c: [WIN32-NATIVE]: #undef MSDOS, #undef WINDOWSNT and
|
|
514 #define it for the sake of Xemacs.
|
|
515 [WINDOWSNT]: #undef HAVE_NTGUI even if built without
|
|
516 HAVE_CONFIG_H. This change only affects a standalone etags.
|
|
517 [WINDOWSNT]: #undef DOS_NT and #define it even if built with
|
|
518 HAVE_CONFIG_H. This change does nothing in Emacs, as DOS_NT is
|
|
519 always defined when HAVE_CONFIG_H and WINDOWS are both defined.
|
|
520 [!HAVE_UNISTD_H]: use defined(WINDOWSNT) instead of the bare
|
|
521 WINDOWSNT, as this is the correct way to use it.
|
|
522
|
|
523 2001-01-28 Francesco Potorti` <pot@gnu.org>
|
|
524
|
|
525 * etags.c: Be capable to parse nested struct-like structures.
|
|
526 (structdef, structtag): Struct state machine revisited.
|
|
527 (struct tok): Revisited.
|
|
528 (cstack, nestlev, instruct): New struct and macros.
|
|
529 (pushclass_above, popclass_above, write_classname): New functions
|
|
530 for dealing with nested class names, inspired by Mykola Dzyuba.
|
|
531 (consider_token, make_C_tag, C_entries): Many changes for dealing
|
|
532 with arbitrarily nested structures.
|
|
533 (etags_getcwd): #if MSDOS, not #ifdef MSDOS!
|
|
534 (C_entries): Consider templates in C++.
|
|
535 (sym_type): New constant st_C_class for detecting "class" also in
|
|
536 C mode.
|
|
537 (C_AUTO): New macro for automatic detection of C++.
|
|
538 (consider_token): Automatic set C++ mode.
|
|
539 (C_entries): New security check for yacc.
|
|
540 (print_language_names, print_help): Mention the autodetect
|
|
541 feature, do not show help for the -C option, now mostly useless.
|
|
542 (C_entries): Tag C++ forward declarations if --declarations.
|
|
543 (C_entries): Don't be fooled by things like XDEFUN.
|
|
544 (consider_token): Discard asm pseudo function.
|
|
545
|
|
546 2001-01-25 Francesco Potorti` <pot@potorti.it>
|
|
547
|
|
548 * etags.c (struct tok): Renamed from struct token.
|
|
549 (token): Renamed from tok.
|
|
550 (structtype): Make it a local variable.
|
|
551 [DEBUG]: Use assert.
|
|
552 (xrnew): Change the synopsis.
|
|
553 (typedefs_or_cplusplus): Renamed from typedefs_and_cplusplus.
|
|
554 (grow_linebuffer): Don't call xrnew when not needed.
|
|
555 (token): buffer renamed to line.
|
|
556 (C_entries): Three calls to inibuffer moved here from main.
|
|
557 (C_entries): Removed all references to var methodlen, delete it.
|
|
558 (linebuffer_setlen): Was grow_buffer, now also sets len.
|
|
559 (consider_token, C_entries, Pascal_functions): Use it.
|
|
560 (C_entries): Preventing problems relative to extern "C".
|
|
561 (C_entries): Can tag more than one variable or func separated by
|
|
562 comma when --declarations is used.
|
|
563 (C_entries): More accurate tagging of members and declarations.
|
|
564 (yacc_rules): Was global, made local to C_entries.
|
|
565 (next_token_is_func): Removed.
|
|
566 (fvdef): New constants fdefunkey, fdefunname.
|
|
567 (consider_token, C_entries): Use them.
|
|
568 (C_entries): Build proper lisp names for Emacs DEFUNs.
|
|
569
|
|
570 2001-01-15 Francesco Potorti` <pot@pot.cnuce.cnr.it>
|
|
571
|
|
572 * etags.c (print_language_names): Print filenames in addition to
|
|
573 suffixes.
|
|
574
|
|
575 2001-01-12 Francesco Potorti` <pot@gnu.org>
|
|
576
|
|
577 * etags.c (get_language_from_langname): Renamed from
|
|
578 get_language_from_name.
|
|
579 (get_language_from_filename): Renamed from
|
|
580 get_language_from_suffix. Now first looks for the complete file
|
|
581 name.
|
|
582 (language): New member char **filenames.
|
|
583 (Makefile_filenames): List of possible filenames for makefiles.
|
|
584 (lang_names): Added a NULL member for every entry, added an entry
|
|
585 for makefiles.
|
|
586 (Makefile_targets): New function, inspired by Assar Westerlund
|
|
587 <assar@sics.se>.
|
|
588
|
|
589 2000-11-07 Francesco Potortì <pot@pot.cnuce.cnr.it>
|
|
590
|
|
591 * etags.c (Texinfo_nodes): Renamed from Texinfo_fuctions and made
|
|
592 it conformant to the style of the rest of the code.
|
|
593
|
|
594 2000-02-10 Francesco Potorti` <pot@gnu.org>
|
|
595
|
|
596 * etags.c (iswhite): Redefined not to consider '\0' as white
|
|
597 space, and use it throughout in place of isspace, thus preventing a
|
|
598 potential signed char to int conversion problem.
|
|
599 (MSDOS): #undefine befere redefining
|
|
600
|
|
601 2000-02-04 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
|
|
602
|
|
603 * etags.c (many functions): Add prototypes.
|
|
604
|
|
605 2000-01-31 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
|
|
606
|
|
607 * etags.c [MSDOS]: Set MSDOS to 1 if #defined, 0 otherwise.
|
|
608 (get_compressor_from_suffix, process_file): Use MSDOS in if clause.
|
|
609 (etags_strchr, etags_strrchr): Use const char * and int as arguments.
|
|
610 (getenv, getcwd): Only declare them if necessary.
|
|
611 (EMACS_NAME): New constant macro.
|
|
612 (print_version): Use it.
|
|
613 (P_) [__STDC__]: Macro for defining function prototypes.
|
|
614
|
|
615 2000-01-18 Fabrice Popineau <Fabrice.Popineau@supelec.fr>
|
|
616
|
|
617 * etags.c [WINDOWSNT]: #include <direct.h>
|
|
618
|
|
619 2000-01-18 Martin Buchholz <martin@xemacs.org>
|
|
620
|
|
621 * etags.c (all functions): Made them static.
|
|
622 (all functions): Write prototypes.
|
|
623
|
|
624 1999-11-19 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
|
|
625
|
|
626 * etags.c (_GNU_SOURCE): Define only if undefined.
|
|
627 (get_scheme): Declaration deleted.
|
|
628 (main): error was called with an integer as second arg, instead of
|
|
629 a char pointer.
|
|
630 (canonicalize_filename): Bug removed.
|
|
631
|
|
632 1999-11-18 Dave Love <d.love@dl.ac.uk>
|
|
633
|
|
634 * etags.c (C_entries): Rename label `intoken', avoiding K&R
|
|
635 lossage from name clash with macro.
|
|
636
|
|
637 1999-09-14 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
|
|
638
|
|
639 * etags.c: Add suffix psw for PSWrap.
|
|
640 (L_getit): Generalize a "cp!=' '" into "!isspace(*cp)".
|
|
641 (Postscript_functions): Add code for PSWrap.
|
|
642 (Scheme_functions): Use local pointer and new get_tag function.
|
|
643 (get_tag): New name for old get_scheme.
|
|
644 (process_file): Do not free NULL when file does not exist.
|
|
645 (typdef): ttypedefseen renamed to tkeyseen, new label ttypeseen.
|
|
646 (C_entries): Modifications that make --members tag even inside
|
|
647 typedefs and C nested structs (one level only).
|
|
648 (consider_token): Corrected a bug which prevented tagging of enum
|
|
649 constants.
|
|
650 (C_stab_entry): Added if, for, while, switch, return as
|
|
651 st_C_ignore. This makes it simpler to work when cblev!=0.
|
|
652
|
|
653 1999-04-21 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
|
|
654
|
|
655 * etags.c (C_entries): tag member function declarations when
|
|
656 --declarations is used.
|
|
657
|
|
658 1999-04-20 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
|
|
659
|
|
660 * etags.c (C_entries, consider_token): C++ `operator' now is
|
|
661 tagged in most cases.
|
|
662 As before, :: is not recognised if surrounded by spaces.
|
|
663
|
|
664 1999-01-14 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
|
|
665
|
|
666 * etags.c (relative_filename): Account for DOS file names such
|
|
667 that is impossible to make one relative to another.
|
|
668
|
|
669 1998-10-09 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
|
|
670
|
|
671 * etags.c (sym_type): New st_C_extern tag.
|
|
672 (gperf input): Use it for spotting external declarations.
|
|
673 (print_help): Document the new behaviour of --declarations.
|
|
674 (fvextern): New global variable.
|
|
675 (consider_token, C_entries): Use it.
|
|
676
|
|
677 1998-06-19 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
|
|
678
|
|
679 * etags.c (HAVE_GETCWD) [WINDOWSNT]: Define if undefined.
|
|
680 (etags_getcwd): Remove test for WINDOWSNT.
|
|
681
|
|
682 1998-06-16 Eli Zaretskii <eliz@is.elta.co.il>
|
|
683
|
|
684 * etags.c (process_file) [MSDOS]: If foo.c.gz is not found, try
|
|
685 foo.cgz, foo.cz, etc.
|
|
686
|
|
687 1998-06-15 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
|
|
688
|
|
689 * etags.c (declarations): New global switch.
|
|
690 (longopts): Describe it.
|
|
691 (print_help): Document it.
|
|
692 (C_entries): Use it.
|
|
693 (process_file): Don't process a file twice.
|
|
694
|
|
695 1998-06-02 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
|
|
696
|
|
697 * etags.c (Fortran_functions): No tags for "procedure".
|
|
698
|
|
699 1998-05-29 Eli Zaretskii <eliz@is.elta.co.il>
|
|
700
|
|
701 * etags.c (get_compressor_from_suffix): Second argument EXTPTR, if
|
|
702 non-zero, returns a pointer to where the extension begins; callers
|
|
703 changed.
|
|
704 [MSDOS]: Support DOS file names by handling e.g. foo.cgz as if it
|
|
705 were foo.c.gz.
|
|
706
|
|
707 1998-05-18 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
|
|
708
|
|
709 * etags.c (sym_type, C_stab_entry): New constant st_C_operator.
|
|
710 (fvdev): New constant foperator.
|
|
711 (consider_token): Use it to get "operator" in C++.
|
|
712 (C_entries): Extend length of operator@ function name.
|
|
713 (C_entries): Use foperator when necessary.
|
|
714
|
|
715 1998-05-13 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
|
|
716
|
|
717 * etags.c (main) [!ETAGS_REGEXPS]: Do not call free_patterns.
|
|
718
|
|
719 1998-05-12 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
|
|
720
|
|
721 * etags.c (compressor): New struct for compressed files.
|
|
722 (get_compressor_from_suffix): New function.
|
|
723 (get_language_from_suffix): Use it. Also, semantics changed.
|
|
724 (process_file): Consider compressed files, close file.
|
|
725 (find_entries): Use different call arg for get_language_from_suffix,
|
|
726 don't close file.
|
|
727
|
|
728 1998-05-11 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
|
|
729
|
|
730 * etags.c (main): Call free_tree.
|
|
731 (find_entries): Do not free curfile.
|
|
732 (pfnote): Cosmetic change: NULL and '\0' where appropriate.
|
|
733 (prolog_pred, erlang_func, substitute): Cast strlen to int when
|
|
734 comparing.
|
|
735 (canonicalize_filename): Shut up compiler warning.
|
|
736 (Perl_functions): Make tag significant.
|
|
737
|
|
738 1997-11-27 Dave Love <d.love@dl.ac.uk>
|
|
739
|
|
740 * etags.c (longopts, optstring): New option --ignore-case-regex (-c).
|
|
741 (argument_type): New member at_icregexp.
|
|
742 (lc_trans): New global.
|
|
743 (main): Fill lc_trans. Process -c args.
|
|
744 (add_regex): New arg determining whether to use translation table.
|
|
745 (analyse_regex): New arg. Use it for add_regex.
|
|
746
|
|
747 1997-09-30 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
|
|
748
|
|
749 * etags.c (init): Cosmetic change: NULL --> '\0'.
|
|
750 (erlang_attribute): Bug corrected (uninitialized variable).
|
|
751 (filename_is_absolute): New function replaces absolutefn macro and
|
|
752 corrects a bug. All callers changed.
|
|
753 (canonicalize_filename): New function.
|
|
754 (process_file, etags_getcwd, absolute_dirname): Use it.
|
|
755 (relative_filename, absolute_filename): Removed var shadowing.
|
|
756 (C_entries, Pascal_functions): Add fake initializations to keep
|
|
757 compilers quiet.
|
|
758 (TeX_functions, Prolog_functions, Erlang_functions): Cleanup.
|
|
759
|
|
760 1997-09-20 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
|
|
761
|
|
762 * etags.c (xrnew): New macro. All callers of xrealloc changed.
|
|
763 (language): New typedef (was struct lang_entry).
|
|
764 (curlang): New global variable.
|
|
765 (node): typedef renamed from NODE.
|
|
766 (linebuffer): New typedef (was struct linebuffer).
|
|
767 (pattern): New typedef (was struct pattern). Some members added.
|
|
768 Now used as element of a linked list.
|
|
769 (patterns, num_patterns): Global variables deleted.
|
|
770 (p_head): New global variable.
|
|
771 (forced_lang): New global variable (replaces lang_func).
|
|
772 (get_language_from_name, get_language_from_interpreter,
|
|
773 get_language_from_suffix): Semantics changed. All callers changed.
|
|
774 (last_node): New global variable.
|
|
775 (free_tree, add_node, put_entries, total_size_of_entries): Change
|
|
776 name of local vars to avoid clashes with typedef node.
|
|
777 (number_len): Rewritten for elegance.
|
|
778 (token): New typedef replaces TOKEN.
|
|
779 (analyse_regex, add_regex): Rewritten for new functionality.
|
|
780 (free_patterns): New function called from main and add_regex.
|
|
781 (initbuffer, readline_internal, readline, grow_linebuffer):
|
|
782 Change name of local vars to avoid clashes with typedef
|
|
783 linebuffer.
|
|
784 (readline): Rewritten for new functionality.
|
|
785
|
|
786 1997-09-04 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
|
|
787
|
|
788 * etags.c: (Scheme_suffixes): New suffix ".ss".
|
|
789 (print_help): --globals is now used for more than C-type languages.
|
|
790 (Perl_functions): Tag global variables ("my" and "local").
|
|
791
|
|
792 1997-08-22 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
|
|
793
|
|
794 * etags.c (print_help): Some messages clarified.
|
|
795 (LOOP_ON_INPUT_LINES): New macro.
|
|
796 (just_read_file, Fortran_functions, Asm_labels, Perl_functions,
|
|
797 Python_functions, Cobol_paragraphs, Pascal_functions,
|
|
798 Lisp_functions, Postscript_functions, Scheme_functions,
|
|
799 TeX_functions, Prolog_functions, Erlang_functions): Use it.
|
|
800 (Cobol_paragraphs, Postscript_functions, TeX_functions,
|
|
801 Prolog_functions, Erlang_functions): Use a local variable instead
|
|
802 of the global variable dbp.
|
|
803 (Pascal_functions, L_isquote, Scheme_functions): Use GNU coding
|
|
804 standard indentation.
|
|
805
|
|
806 1997-08-21 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
|
|
807
|
|
808 * etags.c (Python_suffixes, lang_names, Python_functions): Python
|
|
809 support.
|
|
810 (skip_spaces, skip_non_spaces): Utility functions.
|
|
811 (find_entries, takeprec, getit, Fortran_functions, Perl_functions,
|
|
812 Python_functions, L_getit, Lisp_functions, Scheme_functions,
|
|
813 prolog_pred, erlanf_func, erlang_attribute): Use them.
|
|
814 (eat_white): Deleted.
|
|
815
|
|
816 1997-08-20 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
|
|
817
|
|
818 * etags.c (CHAR, init): Keep into account non US-ASCII
|
|
819 characters and compilers with default signed chars.
|
|
820 (L_getit): Tag "(defstruct (foo", "(defun (operator" and similar
|
|
821 constructs.
|
|
822
|
|
823 1997-07-04 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
|
|
824
|
|
825 * (C_stab_entry): "interface" in Java behaves like "class".
|
|
826
|
|
827 1997-06-23 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
|
|
828
|
|
829 * etags.c: (HAVE_NTGUI) [WINDOWSNT]: #undef if HAVE_CONFIG_H.
|
|
830 (main): Put interval syntax here.
|
|
831 (add_regex): And remove it from here.
|
|
832
|
|
833 1997-06-17 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
|
|
834
|
|
835 * etags.c (suggest_asking_for_help): Provide a
|
|
836 meaningful help message with and without LONG_OPTIONS.
|
|
837
|
|
838 1997-06-09 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
|
|
839
|
|
840 * etags.c: <io.h> [MSDOS]: Include it, don't include string.h.
|
|
841 <stdlib.h, string.h>: Don't test MSDOS when including them.
|
|
842 (white, nonam, endtk): Like elsewhere, use \r instead of \013.
|
|
843 (put_entries): Correctly use %ld instead of %d in printf.
|
|
844
|
|
845 1997-06-04 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
|
|
846
|
|
847 * etags.c: <unistd.h> [HAVE_UNISTD_H]: Include conditionally, else
|
|
848 declare getcwd if HAVE_GETCWD.
|
|
849 (consider_token): Dead break instruction removed.
|