Dave Love [Thu, 13 Apr 2000 19:03:34 +0000 (19:03 +0000)]
Don't quote keywords.
(cl-old-mapc): New variable.
(mapc): Use it.
(cl-map-intervals): Use with-current-buffer. Don't check for
next-property-change.
(cl-map-overlays): Use with-current-buffer.
(cl-expt): Remove.
(copy-tree, remprop): Define unconditionally.
Eli Zaretskii [Thu, 13 Apr 2000 14:02:23 +0000 (14:02 +0000)]
(ispell-menu-map): Menu items rearranged and
converted to the new menu-item format, names silightly changed,
help strings added.
Support for spelling without async subprocesses:
(ispell-cmd-args, ispell-output-buffer)
(ispell-session-buffer): New variables.
(ispell-start-process, ispell-process-status,
ispell-accept-output, ispell-send-string): New functions, for
Ispell invocation when async subprocesses aren't supported.
(ispell-word, ispell-pdict-save, ispell-command-loop,
ispell-process-line, ispell-buffer-local-parsing): Replace calls
to process-send-string with calls to ispell-send-string, and
accept-process-output with ispell-accept-output.
(ispell-init-process): Call ispell-process-status instead of
process-status with.
(ispell-init-process): Call ispell-start-process. Call
ispell-accept-output and ispell-send-string. Don't call
process-kill-without-query and kill-process if they are unbound.
(ispell-async-processp): New function.
Dave Love [Wed, 12 Apr 2000 18:26:04 +0000 (18:26 +0000)]
(menu-bar-options-menu): Make `mule' always visible.
Modify `truncate-lines'. Make `describe-language-environment'
always visible and add help. Modify `describe-key' help. Invoke
Info-directory from `info'. New entry `emacs-manual'.
(ebrowse-read): Skip forward over white
space before testing for end of buffer.
(ebrowse-load): Removed.
(ebrowse-revert-tree-buffer-from-file): Rewritten.
(ebrowse-create-tree-buffer): Rewritten.
(ebrowse-tree-mode): Read tree from buffer.
(tty_suppress_bold_inverse_default_colors_p): New
variable.
(realize_tty_face): Suppress boldness if colors are the inverse of
the default colors, and tty_suppress_bold_inverse_default_colors_p
is set.
(Ftty_suppress_bold_inverse_default_colors): New function.
(syms_of_xfaces): Defsubr it.
Dave Love [Sun, 9 Apr 2000 17:18:48 +0000 (17:18 +0000)]
(backup-enable-predicate): Use temporary-file-directory,
small-temporary-file-directory.
(make-backup-file-name-function, backup-directory-alist): New
variables.
(make-backup-file-name-1): New function.
(make-backup-file-name): Use it.
(find-backup-file-name): Likewise. Use format for clarity, not concat.
(file-newest-backup): Use make-backup-file-name.
(with-buffer-unmodified): Use
restore-buffer-modified-p.
(with-buffer-prepared-for-font-lock): Use with-buffer-unmodified.
(jit-lock-function, jit-lock-stealth-fontify): Don't use
with-buffer-unmodified.
Ken Raeburn [Sat, 8 Apr 2000 19:34:29 +0000 (19:34 +0000)]
* coding.h (code_convert_string): Declare.
* coding.c (code_convert_string_norecord): Pass an int, not a lisp object, as
the fourth argument to code_convert_string.
* viper-util.el (viper-put-on-search-overlay): New subroutine.
(viper-flash-search-pattern): No operation when using Emacs
doesn't support face.
Use `viper-put-on-search-overlay'.
Ken Raeburn [Wed, 5 Apr 2000 18:53:39 +0000 (18:53 +0000)]
* intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for a pointer
that looks like a lisp object.
(SET_INTERVAL_OBJECT): Don't explicitly compare the object with zero, instead
see whether it's an integer object, since they can't have intervals.
(GET_INTERVAL_OBJECT): Simply assign to the destination.
Ken Raeburn [Wed, 5 Apr 2000 18:47:29 +0000 (18:47 +0000)]
* lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 && __OPTIMIZE__]:
Provide a GNU C macro version that handles lisp-object unions.
(XSET) [!NO_UNION_TYPE]: Set the value field first, then the type field, to
better cope with ENABLE_CHECKING and calls that modify a Lisp_Object using its
old value.
Some doc fixes.
(makefile-mode-abbrev-table): New variable.
(makefile-mode): Set local abbrev table to makefile-mode-abbrev-table.
(makefile-font-lock-keywords): Fontify includes and conditionals.
(toplevel): Require `dabbrev' and `add-log' when compiling.
(perform-replace): Don't move forward one char
when MATCH-AGAIN is nil, and REGEXP-FLAG is t. We don't want
to do that because it leaves point 1 position after the last
replacement, after everything has been replaced.
Provide facilities for inserting space before left
parentheses and uncapitalization of identifiers.
(glasses-mode): Try to remove old overlays in all cases.
(Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
AFTER_POTENTIAL_GC calls around calls to functions that can
signal an error and thus invoke the debugger.
(lispy_mouse_names): Variable removed.
(Vlispy_mouse_stem): New variable.
(syms_of_keyboard): Initialize Vlispy_mouse_stem.
(make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
for any mouse button number. Increase size of mouse_syms and
button_down_location as needed. Call modify_event_symbol with
different arguments.
(make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
Call modify_event_symbol with different arguments.
(make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
for any button number. Call modify_event_symbol with different
arguments.
(modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
Accept a string for NAME_ALIST_OR_STEM.
Stefan Monnier [Sun, 2 Apr 2000 23:56:46 +0000 (23:56 +0000)]
* regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
(RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
(GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
we are between str1 and str2.
(MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
(PATFETCH): Use `TRANSLATE'.
(PATFETCH_RAW): Fetch multibyte char if applicable.
(PATUNFETCH): Remove.
(regex_compile): Rely on PATFETCH to do most of the multibyte magic.
When writing a char, write it directly into the pattern buffer rather
than going needlessly through a temp char-array.
(re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
multibyte magic and remove the useless `#ifdef emacs'.
(bcmp_translate): Don't compare as multibyte chars when in a unibyte
buffer.
* regex.h (struct re_pattern_buffer): Make field `multibyte'
conditional on `emacs'.
* charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
Ken Raeburn [Sun, 2 Apr 2000 02:42:12 +0000 (02:42 +0000)]
* composite.c (run_composite_function): Use NILP when checking for nil.
(syms_of_composite): Delete local var NARGS, pass an int as first argument to
Fmake_hash_table.
Ken Raeburn [Sun, 2 Apr 2000 02:31:07 +0000 (02:31 +0000)]
* editfns.c (text_property_stickiness, Fmessage_or_box): Use NILP to test
Lisp_Object boolean value.
(Fformat): Use a temporary variable to avoid ENABLE_CHECKING problems reading
from and changing the same lisp value in an XSETSTRING call.
Ken Raeburn [Sun, 2 Apr 2000 01:52:58 +0000 (01:52 +0000)]
* alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand non-union-type
versions of XMARK and friends here, because XMARK and friends won't work on an
integer field if NO_UNION_TYPE is not defined.
(make_number): Define as a function if it's not defined as a macro.
(TN_no_color_video): New variable.
(term_init): Intitialize TN_no_color_video.
(enum no_color_bit): New enumeration.
(MAY_USE_WITH_COLORS_P): New macro.
(turn_on_face): Use it to determine if attributes may be used
combined with colors.
Ken Raeburn [Sat, 1 Apr 2000 12:59:53 +0000 (12:59 +0000)]
Fix Lisp_Object/int type confusion revealed by making Lisp_Object a union type:
* xdisp.c (compute_string_pos): Fix order of arguments to
string_pos_nchars_ahead.
(handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
count arg to variable-arg routines like Frun_hook_with_args and Fformat.
(back_to_previous_visible_line_start, build_desired_tool_bar_string):
Pass Lisp_Object, not int, to fixed-arg routines like
Fget_char_property and Fmake_string.
(reconsider_clip_changes): Use XINT when comparing integer lisp
objects, or passing them as int arguments.
(mark_window_display_accurate, insert_left_trunc_glyphs, append_space,
extend_face_to_end_of_line): Use make_number when storing or passing
integer values as lisp objects.
(set_cursor_from_row, highlight_trailing_whitespace): Use INTEGERP,
not implicit test against zero, for glyph object.
(try_window_id): Don't use make_number when we want an int value.
* xfaces.c (xlfd_symbolic_value): Make last argument a Lisp_Object, to
be consistent with callers.
(Fbitmap_spec_p): Use XINT to get numeric value of height.
(lface_hash): Apply XFASTINT to lisp values before folding in.
* xfns.c (Fx_show_tip): Use make_number to get lisp objects to fill in window
width and height. Pass an int, not a lisp object, as first arg to Finsert.
Ken Raeburn [Sat, 1 Apr 2000 12:39:03 +0000 (12:39 +0000)]
* window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
with int lvalues via casts; instead, just yield lisp object
lvalues.
(enlarge_window): Variable sizep now points to Lisp_Object. Use
proper accessor macros.
(shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
(grow_mini_window): Fix typo getting int value of root->height.