ChangeLog 178 KB
Newer Older
1 2 3 4 5
2003-01-20  Richard M. Stallman  <rms@gnu.org>

	* Makefile.in (rcs2log, rcs-checkin, grep-changelog, vcdiff):
	New targets.

Kim F. Storm's avatar
Kim F. Storm committed
6 7 8 9 10
2003-01-06  Kim F. Storm  <storm@cua.dk>

	* pop.c (__P): Renamed from _P to avoid problems on Cygwin.
	All uses changed.

11 12 13 14 15
2002-12-18  Andrew Innes  <andrewi@gnu.org>

	* makefile.w32-in ($(DOC)): Use -o and -a options to make-docfile,
	because GNU make doesn't append when using >> redirection.

16 17 18 19 20
2002-12-12  Jonathan Kamens  <jik@kamens.brookline.ma.us>

	* b2m.pl: Make sure every message ends with a blank line, because
	some mbox parsers require a blank line before "From " lines.

21 22 23 24 25
2002-12-08  Richard M. Stallman  <rms@gnu.org>

	* getopt.c: Do include libintl.h if HAVE_LIBINTL_H.
	(_): Test only HAVE_LIBINTL_H to decide what to do.

26 27 28 29
2002-12-05  Richard M. Stallman  <rms@gnu.org>

	* getopt.c: Comment out include of libintl.h or gettext.h.

30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
2002-12-04  Richard M. Stallman  <rms@gnu.org>

	* Update getopt from gnulib version; changes described below.

	* getopt1.c: Conditionally find getopt.h.
	[_LIBC] (getopt_long, getopt_long_only): Do libc_hidden_def.

	* getopt.c (const): Move outside !HAVE_CONFIG_H conditional.
	(libintl.h): Include this if _LIBC.  Otherwise include gettext.h.
	(wchar.h): Include, maybe.		     
	(attribute_hidden): Define if not defind.
	(__getopt_initialized): Use attribute_hidden.
	(__libc_argc, __libc_argv): Renamed from original_argc, etc.
	(__getopt_nonoption_flags, nonoption_flags_max_len, nonoption_flags_len):
	Conditional on USE_NONOPTION_FLAGS.
	(SWAP_FLAGS): New definitions.
	(exchange): Test USE_NONOPTION_FLAGS.
	(_getopt_initialize): Test USE_NONOPTION_FLAGS.
	(_getopt_internal): Error if argc < 1.  New local var print_errors.
	Improve test for ambiguous long option.
	Add LIBIO support for error message output.
	(NONOPTION_P): Test USE_NONOPTION_FLAGS.

	* getopt.h: Maybe include ctype.h.
	Treat __cplusplus like __STDC__.
	(decls): Use __ in arg names.

Stephen Eglen's avatar
Stephen Eglen committed
57 58 59 60 61
2002-12-02  Stephen Eglen  <stephen@gnu.org>

	* emacsclient.c (main): Tell user how to start server within Emacs
	if socket could not be found.

62 63 64 65
2002-12-02  Richard M. Stallman  <rms@gnu.org>

	* emacsclient.c (main): Test HAVE_GETCWD rather than BSD_SYSTEM.

Juanma Barranquero's avatar
Juanma Barranquero committed
66 67
2002-11-19  Ben Key  <bkey1@tampabay.rr.com>

68 69 70
	* makefile.w32-in: Fixed a bug that caused the documentation for
	the built in function play-sound-internal not to be included in
	/etc/DOC.
Juanma Barranquero's avatar
Juanma Barranquero committed
71

Dave Love's avatar
Dave Love committed
72 73 74 75 76 77 78 79 80
2002-11-18  Dave Love  <fx@gnu.org>

	* update-game-score.c: Include unistd.h, string.h, stdlib.h,
	fcntl.h, stdarg.h conditionally.
	(_GNU_SOURCE, __attribute__): Don't define.
	(optarg, optind, opterr): Declare.
	(lose, lose_syserr): Use NO_RETURN.
	(get_user_id): Use P_.

81 82 83 84
2002-11-17  Richard M. Stallman  <rms@gnu.org>

	* Makefile.in (${archlibdir}): Ignore errors operating on $(gamedir).

Dave Love's avatar
Dave Love committed
85 86 87 88 89
2002-11-14  Dave Love  <fx@gnu.org>

	* movemail.c (pop_retr): Declare comment.

	* make-docfile.c (read_c_string_or_comment): Declare msgno.
Dave Love's avatar
Dave Love committed
90 91 92

	* Makefile.in (YACC): Deleted.

Andreas Schwab's avatar
.  
Andreas Schwab committed
93 94 95 96 97
2002-10-19  Andreas Schwab  <schwab@suse.de>

	* Makefile.in (${archlibdir}): Always create $(gamedir).
	(update-game-score): Pass $(gamedir) as HAVE_SHARED_GAME_DIR.

98 99 100 101
2002-10-04  Juanma Barranquero  <lektu@terra.es>

	* makefile.w32-in (lisp): Load devanagari.el, not .elc.

102 103 104 105 106
2002-09-30  Markus Rost  <rost@math.ohio-state.edu>

	* emacsclient.c (main): Remove reference to SERVER_HOME_DIR
	completely.

Stefan Monnier's avatar
Stefan Monnier committed
107 108 109 110 111 112 113 114
2002-09-27  Stefan Monnier  <monnier@cs.yale.edu>

	* emacsclient.c: Remove SYSV support.
	(eval, display): New vars.
	(longopts): Add --eval and --display.
	(decode_options): Add -e and -d processing.
	(print_help_and_exit): Update the usage string.
	(main): Add support for --eval and --display.
115
	(main): Always use /tmp and non-qualified hostname.
Stefan Monnier's avatar
Stefan Monnier committed
116

Stefan Monnier's avatar
Stefan Monnier committed
117 118 119 120
2002-09-25  Stefan Monnier  <monnier@cs.yale.edu>

	* emacsserver.c: Remove.

Stefan Monnier's avatar
Stefan Monnier committed
121 122 123 124 125
2002-09-17  Stefan Monnier  <monnier@cs.yale.edu>

	* emacsclient.c (quote_file_name): Quote \n.
	(main): Print a final \n when needed.

Francesco Potortì's avatar
Francesco Potortì committed
126 127 128 129 130
2002-09-03  Francesco Potorti`  <pot@gnu.org>

	* etags.c (regex_tag_multiline, readline): Never pass pfnote a
	string that cannot be freed.

Francesco Potortì's avatar
Francesco Potortì committed
131 132 133 134 135 136 137 138 139 140 141
2002-08-30  Francesco Potorti`  <pot@gnu.org>

	* etags.c (consider_token, C_entries): Switch to C++ parsing when
	auto-detection is enabled and the `::' qualifier is met.
	(consider_token, C_entries): Several bugs corrected that tagged
	some declarations even though --declarations was not used.
	(plainc): New macro.
	(C_entries): Use it.
	(C_entries): Several cosmetic changes.
	(C_entries): Invalidate the token is some cases.

Francesco Potortì's avatar
Francesco Potortì committed
142 143 144 145 146 147 148 149 150 151
2002-08-29  Francesco Potorti`  <pot@gnu.org>

	* etags.c (C_entries): Corrected a problem with const C++ funcs.
	(ignoreindent): Renamed from noindentypedefs.
	(cjava, cplpl): They are now macros instead of local vars.

2002-08-28  Francesco Potorti`  <pot@gnu.org>

	* etags.c (HTML_labels): Tag ID= also.

152 153 154 155
2002-08-27  Francesco Potorti`  <pot@gnu.org>

	* etags.c (Ada_funcs): Do not tag "use type Xxxx;".

Francesco Potortì's avatar
Francesco Potortì committed
156 157 158 159 160
	* etags.c: (HTML_labels): New language HTML.
	(etags_strcasecmp): Like BSD's, for compatibility.
	(strcaseeq): Make it into a macro.

	* etags.c (make_tag): Never generate null length tag names.
161 162 163 164 165 166 167 168
	(linebuffer_init): Renamed from initbuffer.  All callers changed.
	(pattern): Structure renamed to `regexp', member regex renamed to
	pattern.
	(node_st): Member pat renamed to regex.
	(pattern); New member force_explicit_name, for future use.  Now
	always set to true, cannot be reset.
	(add_regex, regex_tag_multiline, readline): Use it.
	(main): Free some global structures.
Francesco Potortì's avatar
Francesco Potortì committed
169
	(fdesc): New member `written'.
170 171 172 173 174
	(readline, process_file): Initialise it.
	(put_entries): Set it.
	(main): Use it to create entries for files without tags.
	(total_size_of_entries): Do not count invalid tags.

Stefan Monnier's avatar
Stefan Monnier committed
175 176 177 178 179
2002-08-19  Stefan Monnier  <monnier@cs.yale.edu>

	* make-docfile.c (scan_keyword_or_put_char, write_c_args): Use `fn'
	for the function name in the usage info.

Colin Walters's avatar
Colin Walters committed
180 181 182 183 184 185 186 187
2002-07-31  Colin Walters  <walters@gnu.org>

	* update-game-score.c (P_): New macro.  Use it for all prototypes.
	(lose): Don't use varargs.
	(lose_syserr): New function.

	* update-game-score.c: Change all functions to K&R style.

188 189 190 191
2002-07-30  Andreas Schwab  <schwab@suse.de>

	* Makefile.in (localstatedir): New variable.

192 193 194 195
2002-07-29  Jonathan Kamens  <jik@kamens.brookline.ma.us>

	* b2m.pl: Fix regexp for finding return address fields.

196 197 198 199
2002-07-15  Stefan Monnier  <monnier@cs.yale.edu>

	* make-docfile.c (scan_c_file): Warn about missing `usage' info.

Pavel Janík's avatar
Pavel Janík committed
200 201
2002-07-05  Jonathan Kamens <jik@kamens.brookline.ma.us>

Stefan Monnier's avatar
Stefan Monnier committed
202
	* b2m.pl: Obey the rmail file and use the unpruned header properly.
Pavel Janík's avatar
Pavel Janík committed
203

Pavel Janík's avatar
Pavel Janík committed
204 205 206 207
2002-06-26  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* b2m.pl: New file.

Francesco Potortì's avatar
etags  
Francesco Potortì committed
208 209 210 211 212 213 214 215 216 217 218
2002-06-21  Francesco Potorti`  <pot@gnu.org>

	* etags.c: (F_getit, Fortran_functions, Ada_getit, Asm_labels)
	(Python_functions, PHP_functions, PHP_functions, PHP_functions)
	(PHP_functions, PHP_functions, Cobol_paragraphs)
	(Makefile_targets, Postscript_functions, Texinfo_nodes)
	(prolog_pr, erlang_func, erlang_attribute)
	(Perl_functions, Perl_functions, Pascal_functions)
	(TeX_commands, get_tag): Use make_tag instead of pfnote.
	(get_tag): Prototype changed, all callers changed.

Francesco Potortì's avatar
Francesco Potortì committed
219 220
2002-06-20  Francesco Potorti`  <pot@gnu.org>

221 222 223 224 225 226
	* etags.c: Implement implicit tag names, that is, unnamed tags
	whose name is automatically deduced by etags.el.  The advantage is
	that there is no explicit tag name in most tags, so the size of
	the tags file is reduced, yet find-tag is able to do a match as
	accurate as with named tags.  See the comment in make_tag for
	details.
Francesco Potortì's avatar
Francesco Potortì committed
227 228 229
	(make_tag): New function (was the disabled function new_pfnote).
	(make_C_tag): Use it.

Francesco Potortì's avatar
etags  
Francesco Potortì committed
230 231 232 233 234 235
2002-06-19  Francesco Potorti`  <pot@gnu.org>

	* etags.c (add_regex): Invalid regexp modifiers are ignored.
	(Makefile_targets): Tag variables unless --no-globals.
	(LOOP_ON_INPUT_LINES): Serious bug corrected.

Francesco Potortì's avatar
Francesco Potortì committed
236 237 238 239 240 241
2002-06-13  Francesco Potorti`  <pot@gnu.org>

	* etags.c (erlang_atom, erlang_attribute): Bugs corrected.
	(invalidate_nodes): Bug corrected.
	(print_help): Better help for regexps.

242 243 244 245 246
2002-06-13  Juanma Barranquero  <lektu@terra.es>

	* makefile.w32-in (lisp): Add international/ucs-tables.elc and
	font-core.elc.

247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274
2002-06-12  Francesco Potorti`  <pot@gnu.org>

	* etags.c: New multi-line regexp and new regexp syntax.
	(arg_type): at_icregexp label removed (obsolete).
	(pattern): New member multi_line for multi-line regexps.
	(filebuf): A global buffer containing the whole file as a string
	for multi-line regexp matching.
	(need_filebuf): Global flag raised if multi-line regexps used.
	(print_help): Document new regexp modifiers, remove references to
	obsolete option --ignore-case-regexp.
	(main): Do not set regexp syntax and translation table here.
	(main): Treat -c option as a backward compatibility hack.
	(main, find_entries): Init and free filebuf.
	(find_entries): Call regex_tag_multiline after the regular parser.
	(scan_separators): Check for untermintaed regexp and return NULL.
	(analyse_regex, add_regex): Remove the ignore_case argument, which
	is now a modifier to the regexp.  All callers changed.
	(add_regex): Manage the regexp modifiers.
	(regex_tag_multiline): New function.  Reads from filebuf.
	(readline_internal): If necessary, copy the whole file into filebuf.
	(readline): Skip multi-line regexps, leave them to regex_tag_multiline.

2002-06-11  Francesco Potorti`  <pot@gnu.org>

	* etags.c (add_regex): Better check for null regexps.
	(readline): Check for regex matching null string.
	(find_entries): Reorganisation.

Francesco Potortì's avatar
Francesco Potortì committed
275 276 277 278
2002-06-07  Francesco Potorti`  <pot@gnu.org>

	* etags.c (scan_separators): Support all character escape
	sequences supported by Gcc.
Stefan Monnier's avatar
Stefan Monnier committed
279
	(find_entries): Rewind unconditionally.
Francesco Potortì's avatar
Francesco Potortì committed
280 281 282 283 284 285 286 287 288 289
	(find_entries): Do not call language functions directly, now calls
	itself.
	(find_entries): Do general initialisations here.
	(CNL_SAVE_DEFINEDEF, C_entries, LOOP_ON_INPUT_LINES, F_getit)
	(Ada_getit, Pascal_functions, Pascal_functions)
	(prolog_skip_comment): Do not do them here.
	(readline_internal): Increment lineno here.
	(readline): Conditionally undo readline_internal increment.
	(readline): Do not return a value.

Francesco Potortì's avatar
Francesco Potortì committed
290 291
2002-06-06  Francesco Potorti`  <pot@gnu.org>

292 293 294 295 296 297 298 299 300 301 302 303
	* etags.c New option --parse-stdin=FILE.
	(enum arg_type): New label at_stdin.
	(STDIN): New constant.
	(parsing_stdin): New flag.
	(longopts): New option --parse-stdin=NAME.
	(print_help): Document it.
	(main): Handle it.
	(process_file): Split into process_file and process_file_name.
	(process_file_name): New function.

	* etags.c Improvements and bug squashing in TeX handling.
	(TeX_commands): Skip comments.
Francesco Potortì's avatar
Francesco Potortì committed
304 305 306 307 308 309 310 311 312
	(TEX_defenv): Now contains more contructs.
	(TEX_cmt): Make it a static char and move it before TeX_commands.
	(TeX_commands): Shorten the tag to the brace after the name.
	(TeX_commands): Names now include the initial backslash.
	(TeX_commands): Names do not include numeric args #n.
	(TeX_commands): Correct line char number in tags.
	(TEX_tabent, TEX_token): Deleted.
	(TeX_commands, TEX_decode_env): Streamlined.

313 314 315 316
2002-06-05  Francesco Potorti`  <pot@gnu.org>

	* etags.c (main): Avoid a buffer overrun with sprintf.

317 318 319 320 321
2002-05-30  Richard M. Stallman  <rms@gnu.org>

	* Makefile.in (LIBS_MAIL): Renamed from LIB_MAIL.
	(LIBS_MOVE): Renamed from MOVE_LIBS.

322 323 324 325 326 327 328 329 330
2002-05-26  Paul Eggert  <eggert@twinsun.com>

	Reinstate the following change from 2002-03-22, which was
	inadvertently lost on 2002-04-13.

	* etags.c (main): Use `sort -o TAGFILE TAGFILE' instead of
	`sort TAGFILE -o TAGFILE', as POSIX 1003.1-2001 disallows
	the latter usage.

Eli Zaretskii's avatar
Eli Zaretskii committed
331 332 333 334 335
2002-05-17  Eli Zaretskii  <eliz@is.elta.co.il>

	* pop.c (socket_connection): Move the code to resolve the POP
	host right before trying to connect with it.

Colin Walters's avatar
Colin Walters committed
336 337 338 339 340
2002-04-28  Colin Walters  <walters@verbum.org>

	* Makefile.in (${archlibdir}): Don't conditionalize on
	HAVE_SHARED_GAME_DIR.  Instead, test at installation time whether
	or not we have access to the specified game user.
341

Colin Walters's avatar
Colin Walters committed
342 343 344
	* update-game-score.c (SCORE_FILE_PREFIX): Delete.
	(main): New argument -d, for specifying directory.
	(usage): Document.
Stefan Monnier's avatar
Stefan Monnier committed
345
	(get_user_id): Compute.
Colin Walters's avatar
Colin Walters committed
346 347 348 349 350 351
	(get_home_dir): Deleted.
	(get_prefix): New function, taken from main.
	(main): Check whether or not we are running setuid.  Move prefix
	computation to get_prefix.  Don't call getpwent; we don't need to
	any more.  Instead, move it to get_user_id().

352 353 354 355
2002-04-24  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* ebrowse.c (skip_initializer): Return void.

Colin Walters's avatar
Colin Walters committed
356 357 358 359 360
2002-04-23  Colin Walters  <walters@verbum.org>

	* update-game-score.c (read_score) [HAVE_GETDELIM]: Trim trailing
	space.

361 362 363 364 365 366 367 368 369 370 371 372
2002-04-22  Francesco Potorti`  <pot@gnu.org>

	* etags.c: (last_node): Make it a global variable.
	(process_file): Print the tags from the nodes as soon as
	possible, and delete the nodes.  This brings down the memory
	occupancy as etags to almost the same level as when the #line
	directives were not parsed.
	(free_fdesc): New function.
	(find_entries): Use it.
	(invalidate_nodes): In etags mode, do not just mark the nodes as
	invalid, do delete them.

373 374 375 376
2002-04-21  Gerd Moellmann  <gerd@gnu.org>

	* ebrowse.c (add_declarator): Test *CLS instead of CLS.

377 378 379 380 381
2002-04-16  Eli Zaretskii  <eliz@is.elta.co.il>

	* update-game-score.c: Move config.h before the other headers, to
	avoid compiler warnings.

Francesco Potortì's avatar
Francesco Potortì committed
382 383 384 385
2002-04-16  Francesco Potorti`  <pot@gnu.org>

	* etags.c (find_entries): Bug fix in list management.

Francesco Potortì's avatar
Francesco Potortì committed
386 387 388 389 390 391 392 393 394
2002-04-15  Francesco Potorti`  <pot@gnu.org>

	* etags.c (get_language_from_filename): Add one argument.
	(strcaseeq): New function.
	(get_language_from_filename): Use it to do a case insenstitive
	comparison if called with appropriate args.
	(find_entries): Try with case insensitive match.
	(process_file): Bug fixed.

Francesco Potortì's avatar
Francesco Potortì committed
395 396 397 398 399 400 401 402 403 404 405
2002-04-13  Francesco Potorti`  <pot@gnu.org>

	* etags.c (find_entries): Delete tags previously obtained from
	file xxx.c's #line directives when parsing file xxx.y.  This is
	generally done for automatically generated files containing
	#line directives.  This handles the case when xxx.y is tagged
	before xxx.c, and the entries of xxx.c pointing to xxx.y should
	be discarded.
	(language): Added the metasource member.  Initializers changed.
	(invalidate_nodes): New function.
	(readline): Discard lines after having found a #line
Stefan Monnier's avatar
Stefan Monnier committed
406
	directive pointing to an already tagged file.  This handles the
Francesco Potortì's avatar
Francesco Potortì committed
407 408 409 410 411
	case when xxx.y is tagged before xxx.c, and the entries of
	xxx.c pointing to xxx.y should be discarded.
	(fdesc): New structure for keeping track of input files.
	(fdesc): Remove `file' member (a string) and use instead a pointer
	to a file description structure.
Stefan Monnier's avatar
Stefan Monnier committed
412 413
	(curfile, curfiledir, curtagfname, curlang, nocharno)
	(forced_lang): Global variables removed in favor of fdhead and
Francesco Potortì's avatar
Francesco Potortì committed
414 415 416
	curfdp, pointers to file description strucures.
	(longopts, main, print_help): Use the CTAGS conditional to include
	or exclude options that work on etags or ctags only.
Stefan Monnier's avatar
Stefan Monnier committed
417 418
	(process_file, find_entries, pfnote, add_node, put_entries)
	(readline): Use fdhead and curfdp.
Francesco Potortì's avatar
Francesco Potortì committed
419 420 421 422 423 424 425 426 427
	(process_file, find_entries): Do not take an arg string, all
	callers changed.

	* etags.c (longopts, print_help, main): Test CTAGS to disallow
	options that are not right for either etags or ctags.

	* etags.c (number_len, total_size_of_entries): Define them also
	in CTAGS mode, because gcc does not compile all refs away.

Colin Walters's avatar
Colin Walters committed
428 429 430 431 432 433
2002-04-14  Colin Walters  <walters@debian.org>

	* update-game-score.c (lock_file): If the lock file is older than
	an hour, delete it.  Reset attempts to zero if we have to break
	the lock.

434 435 436 437 438 439
2002-04-14  Andreas Schwab  <schwab@suse.de>

	* update-game-score.c (read_score): Fix type of second parameter
	of getdelim to be of type size_t instead of int.  Use 0 instead of
	ESUCCES.

Colin Walters's avatar
Colin Walters committed
440 441
2002-04-10  Colin Walters  <walters@verbum.org>

Colin Walters's avatar
Colin Walters committed
442 443 444 445 446 447 448 449 450 451 452 453 454 455 456
	* update-game-score.c: (toplevel): Include stdarg.h.
	(MAX_DATA_LEN, MAX_SCORES): New.
	(SCORE_FILE_PREFIX): If HAVE_SHARED_GAME_DIR is not defined,
	default to ~/.emacs.d/games.
	(get_user_id): Don't zero uid in the case where we can't get the
	username.
	(lose): New function.
	(main): Actually use `max', and default it to MAX_SCORES.
	Correctly handle new default for SCORE_FILE_PREFIX.  Use `lose'
	function.
	(read_score): Handle the case of reading unamelen characters, then
	finishing.  Use mktemp if mkstemp isn't available.
	(lock_file, unlock_file): Delete unused versions.
	(lock_file): Always sleep, even if we unlinked the lock file.

Colin Walters's avatar
Colin Walters committed
457 458 459 460
	* Makefile.in (gamedir, gameuser): New variables.
	(toplevel, UTILITIES): Add update-game-score.
	(${archlibdir}): Handle HAVE_SHARED_GAME_DIR.

461 462 463 464 465 466 467 468 469
2002-04-07  Colin Walters  <walters@verbum.org>

	* update-game-score.c (SCORE_FILE_PREFIX): Don't hardcode.
	(get_user_id): Take struct passwd as an argument.
	(get_home_dir): New function.
	(main): Read in user information here.  Discover home directory if
	necessary.
	(read_score): Trim newline only in `getline' case.

Colin Walters's avatar
Colin Walters committed
470
2002-04-05  Colin Walters  <walters@debian.org>
Francesco Potortì's avatar
Francesco Potortì committed
471

Colin Walters's avatar
Colin Walters committed
472 473 474 475 476 477 478 479 480
	* update-game-score.c (toplevel): Include pwd.h.
	(struct score_entry): Add username field.
	(push_score): Use it.
	(get_user_id): New function.
	(main): Don't malloc excessively.
	(main): Use username field.
	(read_score): Read it.
	(push_score): Handle it.
	(write_scores) Write it.
Francesco Potortì's avatar
Francesco Potortì committed
481 482
	(read_score): Handle arbitrary length data.

Eli Zaretskii's avatar
Eli Zaretskii committed
483 484 485 486
2002-03-30  Eli Zaretskii  <eliz@is.elta.co.il>

	* ebrowse.c (add_declarator): Fix the first call to add_member_defn.

487 488 489 490 491
2002-03-29  Gerd Moellmann  <gerd@gnu.org>

	* ebrowse.c (add_declarator, skip_initializer): New functions.
	(declaration): Use them.

492 493 494 495
2002-03-28  Jason Rumney  <jasonr@gnu.org>

	* makefile.w32-in (lisp): Move backquote.elc into emacs-lisp.

Colin Walters's avatar
Colin Walters committed
496 497 498 499
2002-03-27  Colin Walters  <walters@debian.org>

	* update-game-score.c: New file.

500 501 502 503 504 505
2002-03-22  Paul Eggert  <eggert@twinsun.com>

	* etags.c (main): Use `sort -o TAGFILE TAGFILE' instead of
	`sort TAGFILE -o TAGFILE', as POSIX 1003.1-2001 disallows
	the latter usage.

Francesco Potortì's avatar
Francesco Potortì committed
506
2002-03-12  Francesco Potorti`  <pot@gnu.org>
Francesco Potortì's avatar
Francesco Potortì committed
507

Francesco Potortì's avatar
Francesco Potortì committed
508
	* etags.c (Python_functions): Skip spaces at beginning of lines.
Francesco Potortì's avatar
Francesco Potortì committed
509 510 511 512 513 514
	(Python_functions, PHP_functions): Name tags, for ctags' sake.
	(TeX_commands): Name tags.  Correction of old disabled code.

	* etags.c (curfiledir, curtagfname): New global variables.
	(process_file): Initialise them.
	(readline): Canonicalize the name found in #line directive.
Jason Rumney's avatar
Jason Rumney committed
515

Francesco Potortì's avatar
Francesco Potortì committed
516
2002-03-06  Jason Rumney  <jasonr@gnu.org>
517

Jason Rumney's avatar
Jason Rumney committed
518 519 520
	* etags.c (put_entries): Use #if !CTAGS, to fix link error on
	compilers that don't optimize out dead code.

Francesco Potortì's avatar
Francesco Potortì committed
521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548
2002-03-05  Francesco Potorti`  <pot@gnu.org>

	* etags.c: Honour #line directives.
	(no_line_directive): New global var; set it for old behaviour.
	(main): Remove some #ifdef in the getopt switch.
	(add_node, put_entries): Code added to merge different chunks of
	nodes referring to the same file.  Currently the tags are just
	appended, without any check for duplicates.
	(Perl_functions): Do not special case ctags.
	(readline): Identify #line directives and do the right thing.
	(nocharno, invalidcharno): New global vars.
	(process_file): Reset nocharno.
	(readline): Set nocharno.
	(pfnote): Read nocharno and maybe put invalidcharno in node.
	(total_size_of_entries, put_entries): Use invalidcharno.

	* etags.c: Keep the whole tag table in memory, even in etags mode.
	(main): Call put_entries here even in CTAGS mode.
	(main, process_file): Check the return values of fclose and pclose.
	(process_file): Do not call put_entries after parsing each file.
	(process_file): Canonicalise file names even for ctags.
	(process_file): Set curfile here...
	(find_entries): ... not here any more.
	(add_node): In etags mode, build a linked list of entries (on
	right pointer) for each file, and link the first entry of each
	file on left nodes.
	(put_entries): Print here the name of the file.
	(put_entries): Print the entries starting from the first file.
Francesco Potortì's avatar
Francesco Potortì committed
549
	(number_len, total_size_of_entries): Define these only in etags
Francesco Potortì's avatar
Francesco Potortì committed
550 551 552 553
	mode, make the second work only on the right nodes.

	* etags.c: Make all global variables static.

Juanma Barranquero's avatar
Juanma Barranquero committed
554 555 556 557
2002-02-25  Juanma Barranquero  <lektu@terra.es>

	* makefile.w32-in (lisp): Add missing backslash.

Jason Rumney's avatar
Jason Rumney committed
558 559 560 561 562 563 564
2002-02-24  Jason Rumney  <jasonr@gnu.org>

	* makefile.w32-in (WINNT_SUPPORT, MOUSE_SUPPORT, lisp): Revert to
	using .elc files.
	(lisp): Sync with list in src/Makefile.in
	(VMS_SUPPORT, MSDOS_SUPPORT): Define, so DOC files can be shared.

565 566 567 568 569
2002-02-10  Paul Eggert  <eggert@twinsun.com>

	* rcs-checkin: Use `sort -k 2', not `sort +1', as POSIX 1003.1-2001
	disallows the old syntax.

570 571 572 573 574 575 576 577
2002-02-03  Paul Eggert  <eggert@twinsun.com>

	* rcs2log(Copyright): Update to 2002.
	(AWK, TMPDIR): Work around portability problem in broken shells that
	don't understand `: ${VAR=val}'.
	(SORT_K_OPTIONS): New var, for hosts that conform to POSIX 1003.1-2001.
	Prefer the new -k option to the traditional +M -N option.

Pavel Janík's avatar
Pavel Janík committed
578 579 580 581 582 583 584
2002-01-01  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* b2m.c (main): Parenthesize assignment when used as truth value
	to prevent gcc warnings.

	* fakemail.c: Include <config.h>.

Pavel Janík's avatar
Pavel Janík committed
585 586 587 588 589
2001-12-29  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* cvtmail.c, emacsclient.c, emacsserver.c, pop.c, sorted-doc.c,
	* yow.c: Include <config.h>.

Francesco Potortì's avatar
Francesco Potortì committed
590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621
2001-12-21  Francesco Potorti`  <pot@gnu.org>

	* etags.c (Perl_functions): Tag packages and use them in sub tags.
	(get_tag): Return a pointer to the tag that is found.

	* etags.c (LOOKING_AT): Use !intoken instead of iswhite.
	(F_takeprec): Renamed from takeprec.  All callers changed.
	(F_getit): Renamed from getit.  All callers changed.
	(nocase_tail): Renamed from tail.  All callers changed.
	(Ada_getit): Renamed from adagetit.  All callers changed.
	(L_getit): Simplified by using get_tag.
	(Perl_functions, Postscript_functions, erlang_attribute): Use the
	modified LOOKING_AT.
	(notinname): Removed '[' and added ')' to the recognised chars.
	(LOOKING_AT, get_tag, PHP_functions): Use notinname.
	(Ada_getit, Ada_funcs, Python_functions, Scheme_functions):
	Clarified, using strneq or notinname.
	(L_isdef, L_isquote): Removed.
	(Lisp_functions, L_getit): Clarified.

	* etags.c: (P_): Renamed to __P for consistency with config.h.
	[HAVE_CONFIG_H]: Let config.h deal with __P.
	[__STDC__] [!HAVE_CONFIG_H]: Define PTR as in config.h.
	[!__STDC__] [!HAVE_CONFIG_H]: Do not undefine static, because
	gperf code needs it.
	[HAVE_CONFIG_H] [!PTR]: Define PTR (for use with Xemacs).
	[HAVE_CONFIG_H] [!__P]: Define __P (for use with Xemacs).
	(xmalloc, xrealloc): Use PTR instead of long *.
	(bool): Make it a define, not a typedef, for C++ compilers.
	(pattern): Members renamed to avoid name clash in some C++ compilers.
	(get_language_from_langname): Use const argument.

Pavel Janík's avatar
Pavel Janík committed
622 623 624 625
2001-12-22  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* makefile.nt, makefile.w32-in: Remove mocklisp files.

626 627
2001-12-19  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

Pavel Janík's avatar
Pavel Janík committed
628 629
	* emacsserver.c: Conditionally include config.h.

Pavel Janík's avatar
Pavel Janík committed
630 631
	* fakemail.c: Likewise.

632 633 634 635
	* emacsclient.c: Include "config.h", not <../src/config.h>.
	(main): Parenthesize assignment when used as truth value to
	prevent gcc warnings.

636 637
	* ebrowse.c: Include stdlib.h and string.h conditionally.

Eli Zaretskii's avatar
Eli Zaretskii committed
638 639 640 641
2001-12-18  Eli Zaretskii  <eliz@is.elta.co.il>

	* yow.c (main): Use time_t, not long, to avoid a compiler warning.

Pavel Janík's avatar
Pavel Janík committed
642 643 644 645
2001-12-18  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* test-distrib.c: Fix previous change.

Dave Love's avatar
Dave Love committed
646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661
2001-12-18  Dave Love  <fx@gnu.org>

	* test-distrib.c: Conditionally include fcntl.h.

	* fakemail.c: Include "config.h", not <../src/config.h>.
	(_XOPEN_SOURCE): Define as 500.

	* emacsserver.c: Include "config.h", not <../src/config.h>.

	* cvtmail.c: Include config.h, stdlib.h.
	(xmalloc, xrealloc, skip_to_lf sysfail): Prototype.

	* yow.c: Conditionally include various headers.  Use "epaths.h",
	not <../src/epaths.h>.
	(malloc, realloc) [!HAVE_STDLIB_H]: Prototype.

662 663
2001-12-12  Francesco Potorti`  <pot@gnu.org>

664
	* etags.c (PHP_functions): New function for parsing PHP.
665 666 667 668 669
	(LOOKING_AT): New macro.
	(Perl_functions, Python_functions, PHP_functions)
	(Scheme_functions, Texinfo_nodes): Use it.
	(Perl_functions): Use strneq.
	(prolog_pred): Renamed to prolog_pr.
670
	(prolog_pr): Recognise Prolog rules in addition to predicates.
671
	[ETAGS_REGEXPS] [!HAVE_CONFIG_H] [__CYGWIN__]: Prevent
672
	unmodified compile, as Cygwin's regex.h is incompatible with us.
673 674
	[!HAVE_CONFIG_H] [!__STDC__]: #define const as the empty string.

675 676 677 678
2001-12-11  Richard M. Stallman  <rms@gnu.org>

	* Makefile.in (clean): Don't delete ../etc/DOC*.

Pavel Janík's avatar
Pavel Janík committed
679 680 681 682
2001-12-11  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* COPYING: Moved back.

Andrew Innes's avatar
Andrew Innes committed
683 684
2001-11-30  Andrew Innes  <andrewi@gnu.org>

685 686 687 688
	* makefile.w32-in (FACE_SUPPORT):
	(MOUSE_SUPPORT):
	(FLOAT_SUPPORT):
	(WINNT_SUPPORT):
Andrew Innes's avatar
Andrew Innes committed
689 690 691 692
	(lisp): Reference .el files instead of .elc files, to simplify
	bootstrapping.
	($(DOC)): Change dependency to just `make-docfile'.

Pavel Janík's avatar
Pavel Janík committed
693 694 695 696
2001-11-29  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* COPYING: Removed.

697 698 699 700 701 702 703 704 705 706 707 708
2001-11-28  Paul Eggert  <eggert@twinsun.com>

	* rcs2log (Copyright): Add '(C)' as per coding guidelines.

	The following changes are derived from suggestions by Bob Chapman
	<rechapman@compuserve.com>.

	* rcs2log (printlogline): Also allow tab and newline to separate
	'(function):' from the rest of a comment.
	(reformat the sorted log entries): Require date and author to
	match the clumpname.

Gerd Moellmann's avatar
Gerd Moellmann committed
709 710 711 712
2001-11-16  Gerd Moellmann  <gerd@gnu.org>

	* ebrowse.c (matching_regexp): Escape '\\'.

Pavel Janík's avatar
Pavel Janík committed
713 714 715 716 717
2001-11-15  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* Makefile.in: Add support for --program-prefix, --program-suffix
	and --program-transform-name options.

718 719 720 721 722 723
2001-11-03  Richard M. Stallman  <rms@gnu.org>

	* cvtmail.c (xrealloc): Always pass two args to `fatal'.

	* movemail.c (popmail): Always pass two args to `error'.

724 725 726 727 728 729 730
2001-10-24  Ken Raeburn  <raeburn@gnu.org>

	* Makefile.in (HESIODLIB) [HAVE_LIBHESIOD]: Set to include
	-lhesiod and maybe -lresolv.
	(CRYPTOLIB) [HAVE_LIBK5CRYPTO]: Use -lk5crypto for Kerberos
	support if it's available.

Miles Bader's avatar
Miles Bader committed
731 732
2001-10-21  Miles Bader  <miles@gnu.org>

Miles Bader's avatar
Miles Bader committed
733 734
	* make-docfile.c (struct rcsoc_state): New type.
	(read_c_string_or_comment): Add SAW_USAGE
Miles Bader's avatar
Miles Bader committed
735
	parameter, and implement scanning for a `usage:' keyword.
Miles Bader's avatar
Miles Bader committed
736 737 738 739
	Use a variable of type `rcsoc_state' to hold most of our state.
	(put_char): Add STATE parameter, and remove all other parameters
	except CH.  Use STATE to get access to all needed state.
	(scan_keyword_or_put_char): New function.
Miles Bader's avatar
Miles Bader committed
740 741 742
	(scan_c_file): Pass SAW_USAGE argument to read_c_string_or_comment.
	Don't output a usage-string if there was one in the doc-string.

Gerd Moellmann's avatar
Gerd Moellmann committed
743 744
2001-10-20  Gerd Moellmann  <gerd@gnu.org>

Gerd Moellmann's avatar
Gerd Moellmann committed
745
	* (Version 21.1 released.)
Gerd Moellmann's avatar
Gerd Moellmann committed
746

747 748 749 750
2001-10-19  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* b2m.c: Properly spell the name of Emacs.

Miles Bader's avatar
Miles Bader committed
751 752 753 754 755
2001-10-17  Miles Bader  <miles@gnu.org>

	* make-docfile.c (put_char): New function.
	(read_c_string_or_comment): Strip trailing spaces and newlines.

Miles Bader's avatar
Miles Bader committed
756 757 758 759 760
2001-10-16  Miles Bader  <miles@gnu.org>

	* make-docfile.c (scan_c_file): Handle `new style' doc strings in
	comments [with `doc:' keyword prefix].

Gerd Moellmann's avatar
Gerd Moellmann committed
761 762 763 764 765
2001-10-15  Gerd Moellmann  <gerd@gnu.org>

	* make-docfile.c (read_c_string_or_comment): Don't drop a '*'
	in a C doc comment.

Gerd Moellmann's avatar
Gerd Moellmann committed
766 767 768 769 770 771
2001-10-13  Gerd Moellmann  <gerd@gnu.org>

	* make-docfile.c (read_c_string_or_comment): Renamed from
	read_c_string.  Add parameter COMMENT.  Read C-style comments.
	(scan_c_file): Handle doc strings in C comments.

Andrew Innes's avatar
Andrew Innes committed
772 773 774 775 776 777
2001-10-12  Andrew Innes  <andrewi@gnu.org>

	* makefile.nt (ALL): Do not include fakemail.

	* makefile.w32-in (install): Do not copy fakemail.

Jason Rumney's avatar
Jason Rumney committed
778 779 780 781 782 783
2001-10-10  Jason Rumney  <jasonr@gnu.org>

	* makefile.w32-in (ALL) Do not include fakemail.

	* makefile.nt (install) Ditto.

Gerd Moellmann's avatar
Gerd Moellmann committed
784 785 786 787
2001-10-09  Gerd Moellmann  <gerd@gnu.org>

	* emacsserver.c (main): Cast geteuid in sprintf to int.

788
	* emacsclient.c (main): Cast isdigit argument to unsigned char.
Gerd Moellmann's avatar
Gerd Moellmann committed
789

790 791 792 793 794
2001-10-07  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* profile.c: Include config.h, not ../src/config.h.
	Include systime.h, not ../src/systime.h.

Gerd Moellmann's avatar
Gerd Moellmann committed
795 796 797
2001-10-05  Gerd Moellmann  <gerd@gnu.org>

	* Branch for 21.1.
Sam Steingold's avatar
Sam Steingold committed
798

Gerd Moellmann's avatar
Gerd Moellmann committed
799 800 801 802 803 804 805 806 807 808
2001-10-01  Alexander Zhuckov  <zuav@int.spb.ru>

	* ebrowse.c (struct alias): Add two new struct members: NAMESP and
	ALIASEE to help work with namespace aliases.
	(struct sym): Remove struct member NAMESP_ALIASES.
	(namespace_alias_table): New variable.
	(make_namespace): Add parameter CONTEXT.
	(check_namespace): New function.
	(find_namespace): Add parameter CONTEXT.
	(check_namespace_alias): New function.
Stefan Monnier's avatar
Stefan Monnier committed
809 810
	(register_namespace_alias): Change type of parameter OLD_NAME.
	Search for already defined alias in NAMESPACE_ALIAS_TABLE.
Gerd Moellmann's avatar
Gerd Moellmann committed
811 812 813
	(check_namespace): New function.
	(enter_namespace): Call find_namespace with CONTEXT parameter.
	(match_qualified_namespace_alias): New function.
Stefan Monnier's avatar
Stefan Monnier committed
814 815
	(parse_qualified_ident_or_type): Fixed typo in comment.
	While parsing qualified ident or type update namespace context and
Gerd Moellmann's avatar
Gerd Moellmann committed
816 817 818 819 820
	restore it on exit.
	(parse_qualified_param_ident_or_type): Fixed typo in comment.
	(globals): Changed handling of namespace aliases.
	(version): Added year 2001.

821 822 823 824 825
2001-09-15  Eli Zaretskii  <eliz@is.elta.co.il>

	* etags.c (analyse_regex): If regex_arg is NULL, return
	immediately after a call to free_patterns.

André Spiegel's avatar
#  
André Spiegel committed
826 827 828 829
2001-09-05  Paul Eggert  <eggert@twinsun.com>

	* rcs2log (Help, mainline code): Add new option -L FILE.
	(Copyright): Update year.
Stefan Monnier's avatar
Stefan Monnier committed
830 831
	(LANG, LANGUAGE, LC_ALL, LC_COLLATE, LC_CTYPE, LC_MESSAGES)
	(LC_NUMERIC, LC_TIME): New shell vars, to make sure we live in the
André Spiegel's avatar
#  
André Spiegel committed
832 833 834 835 836
	C locale.
	(mainline code): Handle nonstandard -u option differently, by
	transforming it to standard form.  Check for "Working file: ", not
	"Working file:".  Allow file names with spaces.
	(SOH, rlogfile): New shell vars.
Sam Steingold's avatar
Sam Steingold committed
837
	(rlogout): Remove.  Its old functionality is mostly migrated to
André Spiegel's avatar
#  
André Spiegel committed
838 839 840 841 842
	rlogfile.

	Append ';;' to the last arm of every case statement, for
	portability to ancient broken BSD shells.

Stefan Monnier's avatar
Stefan Monnier committed
843
	(logins): Fix bug; was not being computed at all, lowering performance.
André Spiegel's avatar
#  
André Spiegel committed
844 845
	(pository): New var.  This fixes some bugs where repositories are
	remote, or have trailing slashes.
Stefan Monnier's avatar
Stefan Monnier committed
846
	(authors): $llogout is never an empty shell var, so don't worry
André Spiegel's avatar
#  
André Spiegel committed
847
	about that possibility.
Sam Steingold's avatar
Sam Steingold committed
848
	(printlogline, mainline code): Fix bug with SOH's being put into
André Spiegel's avatar
#  
André Spiegel committed
849
	the output.
Sam Steingold's avatar
Sam Steingold committed
850

851 852 853 854 855
2001-09-01  Eli Zaretskii  <eliz@is.elta.co.il>

	* ebrowse.c (SEEK_END): #define if not defined by system headers.
	Suggested by Dave Love <d.love@dl.ac.uk>.

856 857 858 859 860
2001-08-29  Eli Zaretskii  <eliz@is.elta.co.il>

	* makefile.nt (lisp): Synchronize with src/Makefile.in.
	* makefile.w32-in (lisp): Ditto.

Gerd Moellmann's avatar
Gerd Moellmann committed
861
2001-07-25  Juanma Barranquero  <lektu@terra.es>
Gerd Moellmann's avatar
Gerd Moellmann committed
862 863 864 865 866 867 868

	* grep-changelog (parse_changelog): Remove unused local variable.

	* grep-changelog (main): Add new option --reverse.
	(print_log): Use it.
	(parse_changelog): Use it.

Gerd Moellmann's avatar
Gerd Moellmann committed
869 870 871 872
2001-07-20  Gerd Moellmann  <gerd@gnu.org>

	* grep-changelog: Remove RCS Id keyword.

873 874
2001-07-20  Juanma Barranquero  <lektu@terra.es>

Gerd Moellmann's avatar
Gerd Moellmann committed
875 876
	* grep-changelog (parse_changelog): Add tests for defined values
	to quiet warning from Perl 5.005 or above.
Gerd Moellmann's avatar
Gerd Moellmann committed
877
	(entry_match_p, header_match_p): Fix handling of null or empty
Gerd Moellmann's avatar
Gerd Moellmann committed
878 879 880
	argument to prevent duplicate headers.

	* grep-changelog (main, parse_changelog): Make "use strict"-clean.
881

Gerd Moellmann's avatar
Gerd Moellmann committed
882 883 884 885 886 887
2001-07-17  Jan Nieuwenhuizen  <janneke@gnu.org>

	* emacsclient.c (print_help_and_exit): Fix help message for
	+LINE:COLUMN option.

2000-07-17  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
888

Gerd Moellmann's avatar
Gerd Moellmann committed
889 890 891
	* emacsclient.c (main): Add support for +LINE:COLUMN command line
	argument.

Gerd Moellmann's avatar
Gerd Moellmann committed
892 893 894 895 896
2001-07-16  Gerd Moellmann  <gerd@gnu.org>

	* ebrowse.c (main): Check that the output file exists and
	is non-empty if invoked with `--append'.

897 898
2001-05-14  Francesco Potorti`  <pot@gnu.org>

Gerd Moellmann's avatar
Gerd Moellmann committed
899 900 901
	* etags.c (add_regex): Reset the whole newly allocated pattern
	buffer instead of the individual members.  It's safer and works
	with Xemacs.
902

Gerd Moellmann's avatar
Gerd Moellmann committed
903
	* etags.1: Markups corrected.
904

Gerd Moellmann's avatar
Gerd Moellmann committed
905 906
2001-05-08  Gerd Moellmann  <gerd@gnu.org>

Stefan Monnier's avatar
Stefan Monnier committed
907
	* ebrowse.c (enter_namespace): Fix reallocation of namespace_stack.
Gerd Moellmann's avatar
Gerd Moellmann committed
908

909 910 911 912
2001-05-03  Gerd Moellmann  <gerd@gnu.org>

	* ebrowse.c (globals): Fix handling of namespace aliases.

913 914 915 916 917
2001-04-27  Eli Zaretskii  <eliz@is.elta.co.il>

	* etags.c (print_help): Enclose the regexp in the help text
	example in quotes.

Dave Love's avatar
Dave Love committed
918 919 920
2001-04-05  Dave Love  <fx@gnu.org>

	* emacsclient.c (fail): Don't return a value.
921
	(main): Cast uid values for sprintf.
Dave Love's avatar
Dave Love committed
922

Gerd Moellmann's avatar
Gerd Moellmann committed
923 924
2001-04-03  Gerd Moellmann  <gerd@gnu.org>

Gerd Moellmann's avatar
Gerd Moellmann committed
925 926
	* emacsclient.c (fail, main): Don't use implicit int return type.

Gerd Moellmann's avatar
Gerd Moellmann committed
927 928
	* b2m.c (main): Always return a value.

Gerd Moellmann's avatar
Gerd Moellmann committed
929 930 931 932 933 934
2001-03-02  Gerd Moellmann  <gerd@gnu.org>

	* ebrowse.c (parse_qualified_param_ident_or_type): Return a
	freshly allocated object in *LAST_ID.
	(read_line): Accept \r\n line endings.

Andrew Innes's avatar
Andrew Innes committed
935 936 937 938
2001-02-24  Andrew Innes  <andrewi@gnu.org>

	* makefile.w32-in: Fix copyright notice.

939 940 941 942 943
2001-02-23  Francesco Potorti`  <pot@gnu.org>

	* etags.c (enum sym_type): New label st_C_template.
	(gperf input): Use it for switching to C++ from C.
	(consider_token): Do it.
944 945
	(C_entries): Initialise typdefcblev to quiet compilers.
	[!HAVE_CONFIG_H] [!__STDC__]: #define static as nothing.
946

Andrew Innes's avatar
Andrew Innes committed
947 948 949 950 951 952 953 954 955 956
2001-02-22  Andrew Innes  <andrewi@gnu.org>

	* makefile.nt ($(BLD)\movemail.obj): Remove reference to
	VMS header files.
	($(BLD)\profile.obj): Ditto.

	* makefile.w32-in ($(BLD)/movemail.$(O)): Remove reference to
	VMS header files.
	($(BLD)/profile.$(O)): Ditto.

Andrew Innes's avatar
Andrew Innes committed
957 958 959 960 961
2001-02-05  Andrew Innes  <andrewi@gnu.org>

	* makefile.w32-in ($(DOC)): Use $(THISDIR) instead of . in
	invocation of make-docfile, to work with Windows 2000.

962 963 964 965
2001-01-31  Dave Love  <fx@gnu.org>

	* etags.c (in_word_set): Use `static' in definition (for pcc).

966 967 968 969 970 971 972 973
2001-01-31  Francesco Potorti`  <pot@gnu.org>

	* etags.c: [NDEBUG] #undef assert and #define it as ((void)0), for
	the sake of some buggy assert.h (e.g. in MinGW and sunos4 pcc).
	(C_entries): Tag token renamed to still_in_token because sunos4
	pcc wants to expand it as the token() macro even though it has no
	arguments.

974 975 976 977 978
2001-01-30  Andrew Innes  <andrewi@gnu.org>

	* etags.c (assert) [__MINGW32__]: Redefine assert to work around a
	bug in the Mingw32 assert.h header file.

979 980 981 982 983 984 985 986 987 988 989 990
2001-01-30  Francesco Potorti`  <pot@gnu.org>

	* etags.c: [WIN32-NATIVE]: #undef MSDOS, #undef WINDOWSNT and
	#define it for the sake of Xemacs.
	[WINDOWSNT]: #undef HAVE_NTGUI even if built without
	HAVE_CONFIG_H.  This change only affects a standalone etags.
	[WINDOWSNT]: #undef DOS_NT and #define it even if built with
	HAVE_CONFIG_H.  This change does nothing in Emacs, as DOS_NT is
	always defined when HAVE_CONFIG_H and WINDOWS are both defined.
	[!HAVE_UNISTD_H]: use defined(WINDOWSNT) instead of the bare
	WINDOWSNT, as this is the correct way to use it.

991 992 993 994 995 996 997
2001-01-28  Francesco Potorti`  <pot@gnu.org>

	* etags.c: Be capable to parse nested struct-like structures.
	(structdef, structtag): Struct state machine revisited.
	(struct tok): Revisited.
	(cstack, nestlev, instruct): New struct and macros.
	(pushclass_above, popclass_above, write_classname): New functions
998
	for dealing with nested class names.
999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013
	(consider_token, make_C_tag, C_entries): Many changes for dealing
	with arbitrarily nested structures.
	(etags_getcwd): #if MSDOS, not #ifdef MSDOS!
	(C_entries): Consider templates in C++.
	(sym_type): New constant st_C_class for detecting "class" also in
	C mode.
	(C_AUTO): New macro for automatic detection of C++.
	(consider_token): Automatic set C++ mode.
	(C_entries): New security check for yacc.
	(print_language_names, print_help): Mention the autodetect
	feature, do not show help for the -C option, now mostly	useless.
	(C_entries): Tag C++ forward declarations if --declarations.
	(C_entries): Don't be fooled by things like XDEFUN.
	(consider_token): Discard asm pseudo function.

Eli Zaretskii's avatar
Eli Zaretskii committed
1014 1015 1016 1017
2001-01-27  Eli Zaretskii  <eliz@is.elta.co.il>

	* etags.c: Add a coding: tag.

Gerd Moellmann's avatar
Gerd Moellmann committed
1018 1019
2001-01-26  Gerd Moellmann  <gerd@gnu.org>

1020
	* ebrowse.c (matching_regexp_buffer, matching_regexp_end_buf):
Gerd Moellmann's avatar
Gerd Moellmann committed
1021 1022 1023 1024
	New variables.
	(matching_regexp): Use them instead of static variables in
	function scope.

1025
2001-01-25  Francesco Potorti`  <pot@gnu.org>
1026 1027 1028 1029 1030 1031 1032 1033

	* etags.c (struct tok): Renamed from struct token.
	(token): Renamed from tok.
	(structtype): Make it a local variable.
	[DEBUG]: Use assert.
	(xrnew): Change the synopsis.
	(typedefs_or_cplusplus): Renamed from typedefs_and_cplusplus.
	(grow_linebuffer): Don't call xrnew when not needed.
Stefan Monnier's avatar
Stefan Monnier committed
1034
	(token): Buffer renamed to line.
1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048
	(C_entries): Three calls to inibuffer moved here from main.
	(C_entries): Removed all references to var methodlen, delete it.
	(linebuffer_setlen): Was grow_buffer, now also sets len.
	(consider_token, C_entries, Pascal_functions): Use it.
	(C_entries): Preventing problems relative to extern "C".
	(C_entries): Can tag more than one variable or func separated by
	comma when --declarations is used.
	(C_entries): More accurate tagging of members and declarations.
	(yacc_rules): Was global, made local to C_entries.
	(next_token_is_func): Removed.
	(fvdef): New constants fdefunkey, fdefunname.
	(consider_token, C_entries): Use them.
	(C_entries): Build proper lisp names for Emacs DEFUNs.

Gerd Moellmann's avatar
Gerd Moellmann committed
1049 1050 1051 1052 1053
2001-01-22  Gerd Moellmann  <gerd@gnu.org>

	* ebrowse.c (xfree): New function.
	(member, declaration, globals): Use xmalloc instead of alloca.

1054
2001-01-15  Francesco Potorti`  <pot@gnu.org>
1055 1056 1057 1058

	* etags.c (print_language_names): Print filenames in addition to
	suffixes.

1059 1060 1061 1062 1063
2001-01-14  Francesco Potorti`  <pot@gnu.org>

	* etags.c (get_language_from_langname): Renamed from
	get_language_from_name.
	(get_language_from_filename): Renamed from
Stefan Monnier's avatar
Stefan Monnier committed
1064
	get_language_from_suffix.  Now first looks for the complete file name.
1065 1066 1067 1068
	(language): New member char **filenames.
	(Makefile_filenames): List of possible filenames for makefiles.
	(lang_names): Added a NULL member for every entry, added an entry
	for makefiles.
1069
	(Makefile_targets): New function.
1070 1071 1072
	(Texinfo_nodes): Renamed from Texinfo_fuctions and made
	it conformant to the style of the rest of the code.

1073 1074 1075 1076
2001-01-13  Gerd Moellmann  <gerd@gnu.org>

	* make-docfile.c (write_c_args): Print newlines as spaces.

Andrew Innes's avatar
Andrew Innes committed
1077 1078 1079 1080 1081
2001-01-06  Andrew Innes  <andrewi@gnu.org>

	* makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
	of *.pdb.

Gerd Moellmann's avatar
Gerd Moellmann committed
1082 1083 1084 1085 1086 1087 1088 1089 1090
2001-01-03  Paul Eggert  <eggert@twinsun.com>

	* lib-src/rcs2log: Avoid security hole allowing attacker to
	cause user of rcs2log to overwrite arbitrary files, fixing
	a bug reported by Morten Welinder.

	Don't put "exit 1" at the end of the exit trap; it's
	ineffective in POSIX shells.

Gerd Moellmann's avatar
Gerd Moellmann committed
1091 1092
2001-01-02  Gerd Moellmann  <gerd@gnu.org>

Stefan Monnier's avatar
Stefan Monnier committed
1093 1094
	* ebrowse.c (yyerror): Changed to take two arguments.
	Prototype added.  Callers changed.
Gerd Moellmann's avatar
Gerd Moellmann committed
1095

1096
2001-01-02  Eli Zaretskii  <eliz@is.elta.co.il>
Eli Zaretskii's avatar
Eli Zaretskii committed
1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112

	* ebrowse.c (enter_namespace, main): Cast variables to shut up
	compiler warnings.
	(yyerror): Change parameter declarations to be of type long, so
	that they can take pointers on 64-bit platforms.

	* emacsclient.c (main): Remove unused local variable statbfr.
	(main) <homedir>: Make its declaration conditional on
	SERVER_HOME_DIR, to avoid compiler warnings.

	* emacsserver.c (main) <homedir>: Make its declaration conditional
	on SERVER_HOME_DIR, to avoid compiler warnings.

	* fakemail.c (readline): Cast buffer to "long *" to pacify
	over-zealous compilers.

1113 1114 1115 1116
2000-12-16  Eli Zaretskii  <eliz@is.elta.co.il>

	* etags.c (canonicalize_filename) [DOS_NT]: Fix last change.

Gerd Moellmann's avatar
Gerd Moellmann committed
1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130
2000-12-15  Gerd Moellmann  <gerd@gnu.org>

	* ebrowse.c (operator_name): Cast argument of isalpha to
	unsigned char.

	* etags.c (ISALNUM, ISALPHA, ISDIGIT, ISLOWER): New macros.
	Use them throughout instead of ctype functions/macros.
	(lowcase): Cast to unsigned char.
	(UPCASE): New macro.
	(canonicalize_filename): Use UPCASE instead toupper.

	* fakemail.c (get_keyword): Make sure that isspace and
	similar aren't called with a negative argument.

Dave Love's avatar
Dave Love committed
1131 1132 1133 1134
2000-12-13  Dave Love  <fx@gnu.org>

	* ebrowse.c (ensure_scope_buffer_room): Fix xrealloc call.

Andrew Innes's avatar
Andrew Innes committed
1135 1136 1137 1138 1139 1140 1141 1142 1143
2000-12-06  Andrew Innes  <andrewi@gnu.org>

	* makefile.w32-in (LOCAL_FLAGS): Remove -DVERSION flag, since we
	don't know the real version, and I can't seem to get the quoting
	right in all circumstances.

	* ebrowse.c (VERSION): Provide default definition, like etags.c
	does, because Windows build can't snarf this from version.el.

1144 1145 1146 1147 1148
2000-11-30  Andrew Innes  <andrewi@gnu.org>

	* makefile.w32-in ($(BLD)/ebrowse.exe): Use tabs not spaces.
	(install): Ditto.

Jason Rumney's avatar
Jason Rumney committed
1149 1150 1151 1152 1153
2000-11-23  Jason Rumney  <jasonr@gnu.org>

	* makefile.w32-in: Add targets for ebrowse.exe.
	(LOCAL_FLAGS): Add -DVERSION flag.

Dave Love's avatar
Dave Love committed
1154 1155 1156 1157 1158
2000-09-25  Dave Love  <fx@gnu.org>

	* sorted-doc.c: Include config.h.
	[!HAVE_STDLIB_H]: Declare malloc.

Andrew Innes's avatar
Andrew Innes committed
1159 1160 1161 1162
2000-09-14  Andrew Innes  <andrewi@gnu.org>

	* makefile.w32-in: Revert to Unix line endings.

1163 1164 1165 1166
2000-09-04  Dave Love  <fx@gnu.org>

	* movemail.c (index, rindex): Prototype conditionally.

Andrew Innes's avatar
Andrew Innes committed
1167 1168 1169 1170
2000-09-03  Andrew Innes  <andrewi@gnu.org>

	* makefile.w32-in: Change to DOS line endings.

1171 1172
2000-09-01  Eli Zaretskii  <eliz@is.elta.co.il>

1173
	* movemail.c (toplevel): Remove redundant fcntl.h.
1174 1175 1176
	[!F_OK]: Provide default definitions only after including both
	fcntl.h and unistd.h.

Dave Love's avatar
Dave Love committed
1177 1178 1179 1180
2000-08-29  Dave Love  <fx@gnu.org>

	* movemail.c: Revert previous change.

Eli Zaretskii's avatar
Eli Zaretskii committed
1181 1182 1183 1184
2000-08-29  Eli Zaretskii  <eliz@is.elta.co.il>

	* Makefile.in (profile, make-docfile, hexl): Depend on config.h.

Dave Love's avatar
Dave Love committed
1185 1186 1187 1188 1189
2000-08-28  Dave Love  <fx@gnu.org>

	* movemail.c (toplevel) [HAVE_STRING_H]: Include string.h.
	(toplevel) [HAVE_STRINGS_H]: Include strings.h.

Andrew Innes's avatar
Andrew Innes committed
1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201
2000-08-22  Andrew Innes  <andrewi@gnu.org>

	* ntlib.h (WIN32): Remove unnecessary definition.
	(sleep): Make argument unsigned long.
	(_WINSOCK_H): Undefine so normal winsock definitions can be used.

	* ntlib.c (sleep): Make argument unsigned long.

	* movemail.c (main) [WINDOWSNT]: Force binary mode for fileio.

	* makefile.w32-in: New file.

1202 1203 1204 1205 1206
2000-08-20  Eli Zaretskii  <eliz@is.elta.co.il>

	* etags.c (canonicalize_filename) [DOS_NT]: Upcase the first
	letter only if it is a drive letter.

Gerd Moellmann's avatar
Gerd Moellmann committed
1207 1208
2000-07-14  Gerd Moellmann  <gerd@gnu.org>

Stefan Monnier's avatar
Stefan Monnier committed
1209
	* ebrowse.c (xrealloc, xmalloc): Renamed from yrealloc and ymalloc.
Gerd Moellmann's avatar
Gerd Moellmann committed
1210 1211 1212 1213

	* etags.c (xmalloc, xrealloc): Make externally visible, for use
	by alloca.o.

Stefan Monnier's avatar
Stefan Monnier committed
1214
	* Makefile.in (alloca.o): Add -Demacs so that alloca will use xmalloc.
Gerd Moellmann's avatar
Gerd Moellmann committed
1215

Gerd Moellmann's avatar
Gerd Moellmann committed
1216 1217 1218 1219 1220 1221 1222
2000-07-10  Gerd Moellmann  <gerd@gnu.org>

	* ebrowse.c (yylex): Accept string literals with newlines in them.
	(process_pp_line): Handle case of string literal with newline
	in it in replacement text, which counts as continuing the
	replacement text in GNU C.

Gerd Moellmann's avatar
Gerd Moellmann committed
1223 1224 1225 1226 1227
2000-07-02  Gerd Moellmann  <gerd@gnu.org>

	* ebrowse.c (token_string): Add missing tokens.
	(parm_list): Handle case of qualified pointers.

1228 1229 1230 1231 1232
2000-06-23  Dave Love  <fx@gnu.org>

	* ebrowse.c: Move config.h before other includes (which may use
	feature tests).

Jim Meyering's avatar
.  
Jim Meyering committed
1233 1234 1235 1236
2000-06-14  Jim Meyering  <meyering@lucent.com>

	* grep-changelog: Fix typos in comments.  Remove trailing blanks.

Jason Rumney's avatar
Jason Rumney committed
1237 1238 1239 1240 1241 1242 1243
2000-06-11  Jason Rumney  <jasonr@gnu.org>

	* makefile.nt: Add targets for ebrowse.

	* ebrowse.c [WINDOWS_NT]: Use stricmp instead of strcasecmp to
	compare filenames.

Gerd Moellmann's avatar
Gerd Moellmann committed
1244 1245 1246 1247 1248
2000-06-06  Gerd Moellmann  <gerd@gnu.org>

	* ebrowse.c (ymalloc): Renamed from xmalloc.
	(yrealloc): Renamed from xrealloc.

Dave Love's avatar
Dave Love committed
1249 1250 1251 1252 1253 1254 1255
2000-05-21  Dave Love  <fx@gnu.org>

	* movemail.c: Include config.h, not ../src/config.h.
	(Errmsg): Bump length.

	* pop.c (ERROR_MAX): Increase to 160.

Gerd Moellmann's avatar
Gerd Moellmann committed
1256 1257 1258 1259
2000-05-04  Gerd Moellmann  <gerd@gnu.org>

	* ebrowse.c (DEFAULT_OUTFILE): Set to `BROWSE'.

Eli Zaretskii's avatar
Eli Zaretskii committed
1260 1261
2000-05-02  Eli Zaretskii  <eliz@is.elta.co.il>

Stefan Monnier's avatar
Stefan Monnier committed
1262 1263
	* ebrowse.c (PATH_LIST_SEPARATOR) [__MSDOS__ || WINDOWSNT]:
	Define to semi-colon.
Eli Zaretskii's avatar
Eli Zaretskii committed
1264
	(FILENAME_EQ): New macro, for comparing file names.
Stefan Monnier's avatar
Stefan Monnier committed
1265
	(add_member_decl, add_global_decl, add_member_defn): Use FILENAME_EQ.
Eli Zaretskii's avatar
Eli Zaretskii committed
1266 1267 1268 1269 1270
	(process_file): Don't assume that fread always reads as many bytes
	as it was told to (DOS-style CR-LF text files fail this logic).
	(open_file): Allocate enough space for path->path plus the file
	name and the slash.

Dave Love's avatar
Dave Love committed
1271
2000-04-19  Dave Love  <fx@gnu.org>
Dave Love's avatar
Dave Love committed
1272 1273 1274 1275 1276

	* etags.c (Texinfo_functions): New function.
	(lang_names): Install it.
	(Texinfo_suffixes): New variable.

Gerd Moellmann's avatar
Gerd Moellmann committed
1277 1278 1279 1280 1281 1282
2000-04-19  Gerd Moellmann  <gerd@gnu.org>

	* ebrowse.c (xmalloc, xrealloc): Rewritten.
	(declaration): Remove parameter IS_EXTERN.
	(class_definition): Remove unused variable.

Gerd Moellmann's avatar
Gerd Moellmann committed
1283 1284 1285 1286 1287 1288 1289
2000-04-09  Gerd Moellmann  <gerd@gnu.org>

	* Makefile.in (INSTALLABLES): Add ebrowse.
	(ebrowse): New target.

	* ebrowse.c: New file.

Andreas Schwab's avatar
.  
Andreas Schwab committed
1290 1291 1292 1293
2000-03-29  Andreas Schwab  <schwab@suse.de>

	* make-docfile.c (scan_lisp_file): Also look for `defsubst'.

Gerd Moellmann's avatar
Gerd Moellmann committed
1294 1295 1296 1297
2000-03-02  Gerd Moellmann  <gerd@gnu.org>

	* etags.c (lisp_suffixes)  Add `LSP'.

1298 1299 1300 1301 1302 1303 1304
2000-02-10  Francesco Potorti`  <pot@gnu.org>

	* etags.c (iswhite): Redefined not to consider '\0' as white
	space, and use it throughout in place of isspace, thus preventing a
	potential signed char to int conversion problem.
	(MSDOS): #undefine befere redefining

1305
2000-02-04  Francesco Potorti`  <pot@gnu.org>
1306 1307 1308

	* etags.c (many functions): Add prototypes.

Dave Love's avatar
Dave Love committed
1309 1310 1311 1312 1313
2000-02-10  Dave Love  <fx@gnu.org>

	* etags.c (pfnote, new_pfnote, C_entries, prolog_pred)
	(erlang_func): Add `static' to definitions to keep pcc happy.

1314
2000-01-31  Francesco Potorti`  <pot@gnu.org>
Francesco Potortì's avatar
etags  
Francesco Potortì committed
1315 1316 1317 1318 1319 1320 1321 1322 1323

	* etags.c [MSDOS]: Set MSDOS to 1 if #defined, 0 otherwise.
	(get_compressor_from_suffix, process_file): Use MSDOS in if clause.
	(etags_strchr, etags_strrchr): Use const char * and int as arguments.
	(getenv, getcwd): Only declare them if necessary.
	(EMACS_NAME): New constant macro.
	(print_version): Use it.
	(P_) [__STDC__]: Macro for defining function prototypes.

Francesco Potortì's avatar
Francesco Potortì committed
1324
2000-01-18  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
Francesco Potortì's avatar
etags  
Francesco Potortì committed
1325 1326 1327

	* etags.c [WINDOWSNT]: #include <direct.h>

Francesco Potortì's avatar
Francesco Potortì committed
1328
2000-01-18  Martin Buchholz  <martin@xemacs.org>
Francesco Potortì's avatar
etags  
Francesco Potortì committed
1329

Francesco Potortì's avatar
Francesco Potortì committed
1330 1331
	* etags.c (all functions): Made them static.
	(all functions): Write prototypes.
Francesco Potortì's avatar
etags  
Francesco Potortì committed
1332

1333 1334 1335 1336
2000-01-29  Richard M. Stallman  <rms@caffeine.ai.mit.edu>

	* movemail.c (main): Improve error message if can't create lock file.

Gerd Moellmann's avatar
Gerd Moellmann committed
1337 1338 1339
2000-01-28  Eric Hanchrow <offby1@blarg.net>

	* emacsclient.c (socket_status): New function.
Stefan Monnier's avatar
Stefan Monnier committed
1340
	(main): If $LOGNAME or $USER exist and differ from our euid, look
Gerd Moellmann's avatar
Gerd Moellmann committed
1341 1342
	for a socket based on the UID associated with the name.

Gerd Moellmann's avatar
Gerd Moellmann committed
1343 1344 1345 1346 1347
2000-01-12  Han-Wen Nienhuys  <hanwen@cs.uu.nl>

	* emacsclient.c: Add option -a EDITOR and environment variable
	ALTERNATE_EDITOR.  Exec this editor if we fail to contact Emacs.

Gerd Moellmann's avatar
Gerd Moellmann committed
1348 1349 1350 1351 1352
1999-12-10  Jonathan Kamens <jik@kamens.brookline.ma.us>

	* movemail.c (popmail): Allow mailbox specifications of the
	form `po:username:hostname'.

1353
1999-11-19  Francesco Potorti`  <pot@gnu.org>
Francesco Potortì's avatar
Francesco Potortì committed
1354 1355 1356

	* etags.c (_GNU_SOURCE): Define only if undefined.
	(get_scheme): Declaration deleted.
Stefan Monnier's avatar
Stefan Monnier committed
1357
	(main): Error was called with an integer as second arg, instead of
Francesco Potortì's avatar
Francesco Potortì committed
1358 1359 1360 1361 1362 1363 1364 1365
	a char pointer.
	(canonicalize_filename): Bug removed.

1999-11-18  Dave Love  <d.love@dl.ac.uk>

	* etags.c (C_entries): Rename label `intoken', avoiding K&R
	lossage from name clash with macro.

Gerd Moellmann's avatar
Gerd Moellmann committed
1366 1367 1368 1369
1999-11-13  Gerd Moellmann  <gerd@gnu.org>

	* Makefile.in (b2m): Add dependency on GETOPTDEPS.

Gerd Moellmann's avatar
Gerd Moellmann committed
1370 1371 1372 1373
1999-11-03  Gerd Moellmann  <gerd@gnu.org>

	* etags.c (print_help): Change email address to send bugs to.

1374
1999-11-01  Francesco Potorti`  <pot@gnu.org>>
Francesco Potortì's avatar
Francesco Potortì committed
1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389

	* etags.c: Add suffix psw for PSWrap.
	(L_getit): Generalize a "cp!=' '" into "!isspace(*cp)".
	(Postscript_functions): Add code for PSWrap.
	(Scheme_functions): Use local pointer and new get_tag function.
	(get_tag): New name for old get_scheme.
	(process_file): Do not free NULL when file does not exist.
	(typdef): ttypedefseen renamed to tkeyseen, new label ttypeseen.
	(C_entries): Modifications that make --members tag even inside
	typedefs and C nested structs (one level only).
	(consider_token): Corrected a bug which prevented tagging of enum
	constants.
	(C_stab_entry): Added if, for, while, switch, return as
	st_C_ignore.  This makes it simpler to work when cblev!=0.

Stefan Monnier's avatar
Stefan Monnier committed
1390
	* etags.c (C_entries): Tag member function declarations when
Francesco Potortì's avatar
Francesco Potortì committed
1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414