(do-auto-fill): Fill, don't fill, or fill-and-justify
depending on setting of justification text-property. Respect
left-margin and right-margin text properties.
(open-line, indent-new-comment-line): Inherit when inserting.
(newline-and-indent, reindent-then-newline-and-indent): Doc fix.
(set-justification): New function.
(set-justification-{none,left,right,full,center}): New functions.
(fill-region-as-paragraph, fill-region, justify-current-line): New
arg NOSQUEEZE defeats normal removal of extra whitespace.
(fill-region-as-paragraph, fill-region)
(fill-nonuniform-paragraphs, fill-individual-paragraphs):
Arg JUSTIFY-FLAG (JUSTIFYP) renamed to JUSTIFY.
(fill-region-as-paragraph): Obey left-margin; fill-prefix starts
after left-margin. Disable filling if JUSTIFY == none, but indent to
margin anyway.
Adaptive-fill removes text-props from fill-prefixes it finds.
Adaptive-fill no longer has to notice left-margin: std fill does that.
Use fill-column and canonically-space-region functions.
(canonically-space-region): New fn split from fill-region-as-paragraph.
(fill-region): New args NOSQUEEZE (as above) and TO-EOP.
(default-justification): New variable.
(current-left-margin, fill-column, justification): New functions.
(fill-paragraph): Use fill-region-as-paragraph when possible.
(justify-current-line): New arguments; different kinds of
justification handled. Uses left-margin and fill-column functions.
Karl Heuer [Wed, 18 Jan 1995 20:47:36 +0000 (20:47 +0000)]
[!emacs] (SWITCH_ENUM_CAST): New macro, from emacs/lisp.h
(re_compile_fastmap, re_match_2_internal): Use that macro instead of testing
SWITCH_ENUM_BUG.
* etags.c (longopts, print_help, main): Use -I as abbreviation
for the --ignore-indentation option.
(main): Do not print an error message for unknown options.
(gud-gdb-find-file): Propagate debug menu to found buffers.
(gud-dbx-find-file, gud-xdb-find-file, gud-sdb-find-file, gud-perldb-find-file):
Likewise.
(gud-menu-map): New variable.
(gud-mode): Use gud-menu-map and move the menu-setting outside.
(pascal-mode-map, pascal-outline-map):
C-c C-b now inserts block. C-c C-d does goto-defun.
`#' calls on electric-pascal-hash.
(pascal-calculate-indent, pascal-indent-alist)
(electric-pascal-tab, pascal-indent-case):
Better handling of indent within case. Support for CPP.
The `;' in the last statement of a subblock may be omitted.
(electric-pascal-hash): New function.
(fill-region-as-paragraph): Don't modify newline
at end of paragraph, to make sure text-properties are preserved.
(fill-paragraph): Call fill-region, not fill-region-as-paragraph,
to avoid clobbering paragraph-internal hard-newlines.
(fill-region): If use-hard-newlines is on, divide into
"paragraphs" by breaking at every hard newline, temporarily
ignoring paragraph-start.
(open-line, split-line, next-line): Use `newline'
function to insert newline so it will be marked hard if appropriate.
(indent-new-comment-line): Use `newline' function, unless called
with (new) argument.
(do-auto-fill): Call indent-new-comment-line with argument to
make newline soft.
Karl Heuer [Fri, 13 Jan 1995 00:00:23 +0000 (00:00 +0000)]
(DONT_COPY_FLAG): Default this to 1.
(mark_object): Use the same XOR expression as elsewhere.
(gc_sweep): Don't touch DONT_COPY_FLAG here; this one is a real size field,
not a mangled pointer.
(ange-ftp-set-buffer-mode): Don't set make-backup-files.
(ange-ftp-real-find-backup-file-name): New function.
(ange-ftp-find-backup-file-name): New function.
Use it to handle find-backup-file-name.
Global polishing, some bugs corrected, dynamic allocation used instead
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.
Karl Heuer [Wed, 11 Jan 1995 01:55:01 +0000 (01:55 +0000)]
(Vmessage_log_max): New var.
(syms_of_xdisp): defvar and initialize it.
(message2_nolog): Renamed from message2.
(message2): Log messages, then call message2_nolog.
(struct Lisp_Free, struct Lisp_Marker, etc.):
Make the `type' field just 16 bits, and declare as int.
Add explicit spacer field after it.
(struct Lisp_Marker): New field insertion_type.
* etags.c (Lang_function): Use void instead to declare the
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.
Noah Friedman [Tue, 10 Jan 1995 03:14:24 +0000 (03:14 +0000)]
Removed several more gratuitous autoload cookies.
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.