Some support for character terminals provided.
Various functions are smarter about using the correct windows
and the appropriate keymaps.
(vcursor-string): New variable, shows vcursor on dumb terminals.
(vcursor-map): New variable, holds keymap for vcursor commands.
(vcursor-use-vcursor-map): New variable, non-nil if vcursor
keys are overlaid onto main keymap.
(vcursor-toggle-vcursor-map): New function to implement this.
(vcursor-interpret-input): New variable, copy input as if typed.
(vcursor-window-funcall): With list instead of symbol, now calls interactively.
(vcursor-isearch-backward): New function to match forward isearch.
(locate-update): New function.
(locate-current-line-number): Renamed from `current-line'.
(locate-default-make-command-line): Use list, not cons.
(locate): Added a `save-window-excursion' form.
(locate): Used an `apply' form for the start-process call.
(locate-mode): Now has a `revert-buffer-function'
(locate-do-setup): Now longer deletes window.
(locate-header-face): Use underline, not region.
(locate-update-command): New option.
(locate-command): Changed from defvar to defcustom.
(locate-make-command-line): Changed from defvar to defcustom.
(locate-fcodes-file): Changed from defvar to defcustom.
(locate-mouse-face): Changed from defvar to defcustom.
Kenichi Handa [Tue, 3 Mar 1998 07:18:46 +0000 (07:18 +0000)]
Include charset.h and coding.h.
(ENCODE_FILE): This macro is moved to coding.h.
(Vdefault_file_name_coding_system): Extern it.
(Fdirectory_files): Use DECODE_FILE.
(file_name_completion): Likewise.
Kenichi Handa [Tue, 3 Mar 1998 07:18:46 +0000 (07:18 +0000)]
(ENCODE_FILE): This macro is moved to coding.h.
(Vdefault_file_name_coding_system): New variable.
(syms_of_fileio): Defsubr it.
(Ffile_symlink_p): Use DECODE_FILE.
(Ffile_name_directory): Use size_byte member of XSTRING (filename).
(Ffile_name_as_directory): Likewise.
(Fdirectory_file_name): Likewise.
(Fsubstitute_in_file_name): Likewise.
(expand_and_dir_to_file): Likewise.
(Fdo_auto_save): Likewise.
(Fread_file_name): Likewise.
Kenichi Handa [Tue, 3 Mar 1998 01:35:39 +0000 (01:35 +0000)]
(insert-directory): Bind coding-system-for-read to
file-name-coding-system or default-file-name-coding-system if
enable-multibyte-characters is non-nil
(Vnonascii_translate_table, Qcharset): New variable decls.
(Fstring_make_multibyte, Fstring_make_unibyte): New function decl.
(Fstring_as_multibyte, Fstring_as_unibyte): New function decl.
(list2, list3, list4, list5): New function decl.
(Fwrite_region): Add an argument.
(compare_window_configurations): New function decl.
Kenichi Handa [Tue, 3 Mar 1998 01:29:16 +0000 (01:29 +0000)]
(DEFAULT_NONASCII_INSERT_OFFSET): Macro definition is
moved to charset.h.
(copy_text): Don't convert codes in the range 0200..0237 to
multibyte characters. For codes in the range 0240..0377, use
unibyte_char_to_multibyte.
(count_size_as_multibyte): Likewise.
(adjust_before_replace): Comment fixed.
Kenichi Handa [Tue, 3 Mar 1998 01:29:16 +0000 (01:29 +0000)]
(general_insert_function): Use
unibyte_char_to_multibyte if an argument is character code.
(Finsert_char): Use unibyte_char_to_multibyte.
(string1): Cast ARGS to `char **' to avoid compiler warning.
Kenichi Handa [Tue, 3 Mar 1998 01:29:16 +0000 (01:29 +0000)]
(DEFAULT_NONASCII_INSERT_OFFSET): Macro definition is
moved to charset.h.
(unibyte_char_to_multibyte): Always return a valid character.
(Funibyte_char_to_multibyte): New function.
(syms_of_charset): Defsubr it. Doc-string of
nonascii-insert-offset is modified.
Karl Heuer [Mon, 2 Mar 1998 20:01:46 +0000 (20:01 +0000)]
(load-with-code-conversion):
Don't bind enable-multibyte-characters; instead,
bind default-enable-multibyte-characters before creating buffer.
(after-insert-file-set-buffer-file-coding-system):
Use set-buffer-multibyte.
Use add-hook to add this to after-insert-file-functions.
(XTframe_up_to_date): Check that mouse_face_mouse_frame
is non-null before calling note_mouse_highlight.
(x_destroy_window): If f equals mouse_face_mouse_frame,
clear that, and clear mouse_face_deferred_gc too.
(UPDATE_SYNTAX_TABLE): Do nothing unless parse_sexp_lookup_properties.
(UPDATE_SYNTAX_TABLE_FORWARD, UPDATE_SYNTAX_TABLE_BACKWARD): Likewise.
(SYNTAX_TABLE_BYTE_TO_CHAR): If parse_sexp_lookup_properties is 0,
return 0 right away.
(SETUP_SYNTAX_TABLE): Add if (1) ... else.
Karl Heuer [Fri, 27 Feb 1998 21:56:28 +0000 (21:56 +0000)]
(store_symval_forwarding) <Lisp_Misc_Buffer_Objfwd>:
If buffer_local_types has -1, this variable is read-only.
(Fset_default) <BUFFER_OBJFWDP>:
Unconditionally set the slot in buffer_defaults.
(mouse-avoidance-kbd-command): Function deleted.
(mouse-avoidance-fancy-hook, mouse-avoidance-exile-hook)
(mouse-avoidance-banish-hook): Test whether last command
was a mouse command of any kind.
Karl Heuer [Wed, 25 Feb 1998 23:05:37 +0000 (23:05 +0000)]
(reftex-toc-mode, reftex-select-label-mode):
(reftex-select-bib-mode): New major modes for RefTeX's special
buffers.
(reftex-offer-label-menu): Put selection buffer into
`reftex-select-label-mode'. Make selection buffer read-only. Use
`reftex-erase-buffer'.
(reftex-do-citation): Put selection buffer into
`reftex-select-bib-mode'. Make selection buffer read-only. Use
`reftex-erase-buffer'. Set `reftex-select-return-marker'.
(reftex-toc): Put *toc* buffer into reftex-toc-mode. Add
mouse-face property.
(reftex-select-item): Use recursive edit instead of selfmade
command loop. Removed unnecessary local bindings. Changed the
tag for catch, to avoid problems with `exit' tag in
recursive-edit. Moved the code around old command loop to pre-
and post-command-hook.
(reftex-select-pre-command-hook, reftex-select-post-command-hook):
(reftex-select-show-insertion-point): New functions.
(reftex-reference): Set `reftex-select-return-marker'.
(reftex-check-recursive-edit): Error message changed.
(reftex-select-search-minibuffer-map): Obsolete constant removed.
(reftex-select-next, reftex-select-previous, reftex-select-scroll-up):
(reftex-select-scroll-down, reftex-select-next-heading):
(reftex-select-previous-heading): Handle prefix arguments.
(reftex-toc, reftex-make-and-insert-label-list):
(reftex-insert-bib-matches): Add mouse-face property.
(reftex-highlight-selection): New option.
(reftex-select-mouse-accept): New command.
(reftex-select-recursive-edit, reftex-select-search-forward):
(reftex-select-search-backward, reftex-select-search):
(reftex-select-scroll-up, reftex-select-scroll-down):
(reftex-scroll-other-window, reftex-scroll-other-window-down):
(reftex-empty-toc-buffer): Removed obsolete functions.
(reftex-highlight-overlays): Removed obsolete 3rd overlay.
(reftex-select-label-map, reftex-select-bib-map): Removed obsolete
bindings, added mouse bindings, `digit-argument',
`negative-argument', `reftex-select-show-insertion-point'.
(reftex-erase-buffer): BUFFER now defaults to current buffer.
(reftex-label-alist-builtin): Added sidecap packages support.
(reftex-last-follow-point, reftex-select-return-marker): New
variables.
(reftex-toc, reftex-select-item): Set `reftex-last-follow-point'.
(reftex-toc-post-command-hook): Use `reftex-last-follow-point'.
(reftex-get-file-buffer-force): Turn off `enable-local-variables'
when reading a file literally.