of fixed length static buffers in many places.
* etags.c (FILEPOS, GET_CHARNO, GET_FILEPOS, max, LINENO): Deleted.
(append_to_tagfile, typedefs, typedefs_and_cplusplus,
constantypedefs, update, vgrind_style, no_warnings,
cxref_style, cplusplus, noindentypedefs): Were int, now logical.
(permit_duplicates): Was a var, now a #define.
(filename_lb): Was global, now local to main.
(main): Open the tag file when in cxref mode.
Use a BUFSIZ size buffer for making the shell commands.
Look at the return value from the system routine.
Exit when cannot open the tag file.
(process_file): Open the file and pass the FILE* to find_entries.
(find_entries): Now void, because does not open the file itself.
(pfnote): Recovering from lack of memory does not work. Removed.
Use savenstr and simplify the code.
(free_tree): Only free the name space if node is named.
(structtag): Now a pointer, not a fixed length array of chars.
(consider_token): Don't take a token as argument. Use savenstr
when saving a tag in structtag. Callers changed.
(TOKEN): Structure changed. Now used only in C_entries.
(TOKEN_SAVED_P, SAVE_TOKEN, RESTORE_TOKEN): Deleted.
(C_entries): nameb and savenameb deleted. Use dinamic allocation.
(pfcnt): Deleted. Users updated.
(getit, Asm_labels, Pascal_functions, L_getit, get_scheme,
TEX_getit, prolog_getit): Use dinamic allocation for storing
the tag instead of a fixed size buffer.
language functions, because many compilers are buggy.
(etags_getcwd): Fix the previous fix on the #else branch.
(readline_internal): Discard possible \r before \n here.
(C_entries): Do not deal with \r here: undo previous fix.
rlogin-initially-track-cwd: Variable deleted.
rlogin-directory-tracking-mode: New variable and function.
Default to 'local.
rlogin-host, rlogin-remote-user: New variables.
rlogin: Set them appropriately.
rlogin-mode-map: Copy shell-mode-map fully if not a list
(in lucid emacs, keymaps are opaque objects).
rlogin-tab-or-complete: New function.
Bind C-i to it.
rlogin-carriage-filter: New function.
rlogin: Add it to comint-output-filter-functions.
rlogin-parse-words: New function.
rlogin: Make buffer name "*rlogin-USER@HOST* if remote user differs from local.
Simplify initialization of local variables, using rlogin-parse-words.
Do not call comint-mode directly.
Doc fixes.
Split big menus into sub-menus.
(msb-max-menu-items): Changed default value. This variable
now depicts the maximum number of items in a sub-menu.
(msb-display-most-recently-used): Changed default value.
(mouse-select-buffer): Now handles several levels of
sub-menus. New format on return value.
functions and a macro that allow the program to work on input
lines of whatever length. Copied from etags.c.
(fatal): Print a fatal error message and exit.
(main): Use the new functions. Fixed a bug that made a \037 char
appear at the end of the output.