Karl Heuer [Thu, 20 Feb 1997 06:43:16 +0000 (06:43 +0000)]
The following changes are for new source codes related to Mule.
(XOBJ): Include fontset.o.
(obj): Include charset.o, coding.o, category.o, and ccl.o.
(lisp, shortlisp): Include Mule related elc files.
(buffer.o, cmds.o, dispnew.o, doprnt.o): Depend on charset.h.
(editfns.o, indent.o, insdel.o, keymap.o): Depend on charset.h.
(minibuf.o, xdips.o, xfaces.o, xselect.o): Depend on charset.h.
(data.o, print.o, lread.o): Depend on charset.h.
(callproc.o, fileio.o, process.o, term.o): Depend on charset.h and
coding.h.
(regex.o, search.o, syntax.o): Depend on charset.h and category.h.
(fontset.o): Depend on charset.h and fontset.h.
(xterm.o): Depend on charset.h, ccl.h, and fontset.h.
(category.o, ccl.o, charset.o, coding.o, fontset.o): New targets.
Karl Heuer [Thu, 20 Feb 1997 06:42:13 +0000 (06:42 +0000)]
(Fpos_visible_in_window_p): Bug fix. Specify big
negative number for the argument TOHPOS of compute_motion().
We don't need to calculate to (HPOS==0), but can stop immediately
when VPOS pasts HEIGHT.
Karl Heuer [Thu, 20 Feb 1997 06:40:53 +0000 (06:40 +0000)]
(display_text_line): Introduce new local variable
rev_dir_bit to display right to left characters (not yet used).
(message): Use FRAME_MESSAGE_BUF_SIZE().
(redisplay_internal): Add canceling code for continuation at
wide-column.
(display_text_line): Don't just decrement left_edge->bufpos,
it may be multi-byte character, use DEC_POS instead.
(try_window): Change the way of calculation of tab
offset. We now use val.tab_offset to maintain tab offset.
Removed local variable tab_offset.
(try_window_id): Likewise.
(pos_tab_offset): Return COL (Modulo is no longer valid).
Add the line to set tab_offset member.
Use pos.tab_offset.
(redisplay_window): Specify big negative number for TOHPOS
of compute_motion().
(try_window_id): Likewise.
Include charset.h, coding.h, and process.h.
(display_text_line): Handle multibyte characters.
(display_mode_line): Pay attention to wide-column characters.
(decode_mode_spec_coding): New function.
(decode_mode_spec): Handle %-constructs `%z' and `%Z' to print
coding system mnemonics.
(display_string): Handle multibyte characters.
Karl Heuer [Thu, 20 Feb 1997 06:39:27 +0000 (06:39 +0000)]
(current_column_bol_cache): New variable. This makes
move_to_column faster.
(current_column): Set current_column_bol_cache.
(current_column_1): Likewise.
(Fmove_to_column): Use current_column_bol_cache.
(current_column): When the buffer may have multi-byte
characters, call current_column_1.
(compute_motion): Handle multi-byte characters.
(current_column_1): Likewise.
(Fmove_to_column): Likewise.
Include "charset.h".
(compute_motion): Remove the variable PREV_VPOS.
Introduce new local variables (multibyte, wide_column, prev_pos,
contin_hpos, prev_tab_offset) to handle multi-byte characters and
wide-column characters.
(pos_tab_offset): Specify "- (1 << (BITS_PER_SHORT - 1))"
to express big negative number (for consistency with xdisp.c).
Karl Heuer [Thu, 20 Feb 1997 06:35:00 +0000 (06:35 +0000)]
(direct_output_forward_char): #if-0-out redundant
check against truncated text at end of line.
Add giving-up for buffers with reverse direction.
(remake_frame_glyphs): Use FRAME_MESSAGE_BUF_SIZE()
instead of FRAME_WIDTH, as the message may include multi-byte
character and the length may be longer than width.
(width_run_cache_on_off): Disable width-run-cache when
multi-byte characters are enabled.
(skip_invisible): Don't put the boundary in the middle of
multibyte characters.
(direct_output_forward_char): Bug fix. Add
XFASTINT (w->left) for losing cursor check.
Include charset.h.
(update_line): Handle wide-column characters.
Karl Heuer [Thu, 20 Feb 1997 05:49:08 +0000 (05:49 +0000)]
(rmail-file-coding-system): New variable.
(rmail-insert-inbox-text): Perform character code conversion
according to rmail-file-coding-system.
(rmail-only-expunge): Pay attention to multibyte characters.
Karl Heuer [Thu, 20 Feb 1997 05:46:22 +0000 (05:46 +0000)]
(isearch-mode-map): Define
isearch-toggle-input-method and
isearch-toggle-specified-input-method in the map.
(isearch-multibyte-characters-flag): New variable.
(isearch-mode): Initialize it to nil.
(isearch-printing-char): Handle multibyte characters.
(isearch-message-prefix): Include title of input method if
necessary in the prefix of message.
Karl Heuer [Thu, 20 Feb 1997 05:44:24 +0000 (05:44 +0000)]
(find-file, find-file-other-window,
find-file-read-only, find-file-read-only-other-window,
find-file-read-only-other-frame, find-alternate-file-other-window,
find-alternate-file): With a prefix argument, enable users to
specify a coding system interactively.
(find-file-noselect): Describe optional arguments NOWARN and
RAWFILE in the doc-string.
(write-file, insert-file, append-to-file): Accept a prefix
argument to enable users to specify a coding system interactively.
(revert-buffer): Read an auto-saved file without any code
conversion.
Karl Heuer [Thu, 20 Feb 1997 05:35:12 +0000 (05:35 +0000)]
(kill-forward-chars, kill-backward-chars): Pay
attention to multibyte characters.
(what-cursor-position): With a prefix argument, print detailed
info of a character on cursor position.
(transpose-subr-1): Pay attention to multibyte characters.
Noah Friedman [Wed, 19 Feb 1997 10:24:26 +0000 (10:24 +0000)]
(eldoc-message-commands): Doc fixes.
(eldoc-message): Make function, not macro.
(eldoc-last-message): New internal variable.
(eldoc-mode): Initialize it to nil.
(eldoc-message): Use it.
(eldoc-print-current-symbol-info): Use it.
(eldoc-pre-command-refresh-echo-area): New function.
(eldoc-mode): Put it on pre-command-hook if in XEmacs or using idle timers
in Emacs.
(eldoc-message-commands-table-size): New constant.
(eldoc-add-command): Use it to initialize eldoc-message-commands.
(eldoc-display-message-no-interference-p): New function.
(eldoc-display-message-p): Use it.
(eldoc-print-fnsym-args, eldoc-print-var-docstring): Arg sym no longer
optional.
Do not initialize arg if nil.
(eldoc-forward-sexp-safe): Function deleted.
(eldoc-beginning-of-sexp): New function.
(eldoc-fnsym-in-current-sexp): Use eldoc-beginning-of-sexp.
Use eldoc-current-symbol to get symbol at point.
(eldoc-function-argstring-from-docstring-method-table): Forge docstrings
for `and', `or', `list', `+', and `-'.
(eldoc-add-command-completions): New function.
(eldoc-add-command): Take list of args.
No longer interactive.
(eldoc-remove-command-completions): New function.
(eldoc-remove-command): Take list of args.
No longer interactive.
top level: Initialize eldoc-message-commands using
eldoc-add-command-completions.
(mouse-buffer-menu): Group buffers by major modes if that seems to be useful.
(mouse-buffer-menu-mode-groups): New variable.
(mouse-buffer-menu-alist, mouse-buffer-menu-split): New subroutines
broken out of mouse-buffer-menu.
Eli Zaretskii [Sun, 9 Feb 1997 15:57:11 +0000 (15:57 +0000)]
* (diff-process-setup): New function, sets up the
compilation-exit-message-function so that it works with both
asynchronous and synchronous sub-processes.
(diff): Bind compilation-exit-message-function. Run
compilation-finish-function when compile-internal returns if async
processes aren't supported.
Handle multiple Info buffers.
(Info-tag-table-marker): Initialize to nil.
(Info-tag-table-buffer): New variable.
(Info-find-node): Don't switch buffers if already in Info mode.
Use Info-tag-table-buffer to support multiple Info buffers.
(Info-read-subfile): Don't switch to *info* buffer.
(Info-build-node-completions): Handle buffer local bindings for
Info-tag-table-marker.
(Info-search): Add a save-excursion.
(Info-mode): Make Info-tag-table-buffer buffer-local.
Make a different marker in Info-tag-table-marker for each buffer.
(Info-kill-buffer): New function, on kill-buffer-hook.
(scroll_preserve_screen_position): New variable.
(keys_of_window): Set up Lisp var.
(window_scroll): If scroll_preserve_screen_position is 0,
behave the old way (advancing point the minimum distance).
Eli Zaretskii [Mon, 3 Feb 1997 18:02:26 +0000 (18:02 +0000)]
(Man-build-man-command): When async processes aren't
supported, don't redirect stderr via the shell.
(Man-getpage-in-background, Man-bgproc-sentinel): Support for
systems where async processes don't work.
Noah Friedman [Mon, 3 Feb 1997 06:13:34 +0000 (06:13 +0000)]
Update copyright notice to reflect assignment to FSF and incorporation
into Emacs.
Attempt to load `timer'.
(eldoc-idle-delay): Make defconst.
(eldoc-minor-mode-string): Make defconst.
(eldoc-argument-case): Make defconst.
(eldoc-message-commands): Renamed from eldoc-mode-message-commands.
All callers changed.
Add `mouse-set-point' as a default candidate.
(eldoc-use-idle-timer-p): New constant.
(eldoc-timer): New variable.
(eldoc-current-idle-delay): New variable.
(eldoc-schedule-timer): New function.
(eldoc-mode): Use idle timers if supported.
(eldoc-add-command): Provide completion on interactive commands only, not
all bound functions.
(eldoc-print-current-symbol-info): Renamed from
eldoc-mode-print-current-symbol-info. All callers changed.
Check whether using idle timers or being run from post-command hooks.
Use `executing-kbd-macro' instead of `executing-macro'.
(eldoc-print-fnsym-args): Don't make interactive.
Cache current symbol name in eldoc-last-data; it was forgetting to do this
previously.
If subr args cannot be determined, show single-line docstring for it instead.
(eldoc-docstring-message): New function.
(eldoc-print-docstring): New function.
(eldoc-print-var-docstring): Use them.
(eldoc-function-argstring-from-docstring-method-table): New constant.
(eldoc-function-argstring-from-docstring): Use it.
(Vx_resource_class): New variable.
(syms_of_xfns): Set up Lisp variable.
(Fx_get_resource, x_window): Use Vx_resource_class.
(validate_x_resource_name): Ensure Vx_resource_class is a string.
(dirtrack-debug-message): Put output at end of buffer.
(dirtrack): Check that directory exists before trying to cd to it.
Go to point-max (not comint-last-output-start) before looking for
the prompt.
(compilation-error-regexp-alist): Undo 1/21 change.
In the GNU message with program name alternative,
allow digits in the program name after the first character.
Paul Eggert [Tue, 28 Jan 1997 04:51:45 +0000 (04:51 +0000)]
(isnan): Define even if LISP_FLOAT_TYPE is not defined, since fmod
might need it.
(fmod): Ensure that the magnitude of the result does not exceed that
of the divisor, and that the sign of the result does not disagree with
that of the dividend. This does not yield a
particularly accurate result, but at least it will be in the
range promised by fmod.
Paul Eggert [Mon, 27 Jan 1997 20:12:52 +0000 (20:12 +0000)]
Include <float.h> if STDC_HEADERS.
(DBL_MAX_10_EXP): Define if not defined; default is IEEE double.
(doprnt1): Allocate enough buffer space to handle very large floating
point numbers, or very large field widths or precisions.
Detect overflow in field widths or precisions.
(pos_tab_offset): Take the width of the minibuffer prompt into account.
(vmotion): In calls to compute_motion use a value for tab_offset
that is corrected by the minibuffer prompt width.
(compilation-parse-errors): Use looking-at on each line.
(compilation-error-regexp-alist): Change these regexps
so that they assume matching only at start of line.
Delete \n at beginning; otherwise add `.*'.