Kenichi Handa [Wed, 11 Nov 1998 03:36:15 +0000 (03:36 +0000)]
(str_cmpchar_id): Check the byte sequence for
composition more rigidly.
(Fcompose_string): Allow DEL to be composed. Signal error if STR
contains an invalid multibyte sequence.
Geoff Voelker [Tue, 10 Nov 1998 20:54:46 +0000 (20:54 +0000)]
(Vw32_pass_optional_keys_to_system): Variable removed.
(Vw32_pass_lwindow_to_system):
(Vw32_pass_rwindow_to_system):
(Vw32_lwindow_modifier):
(Vw32_rwindow_modifier):
(Vw32_apps_modifier):
(Vw32_enable_num_lock):
(Vw32_enable_caps_lock):
(Vw32_scroll_lock_modifier): New variables.
(modifier_set): Return toggle state for Scroll Lock.
(w32_key_to_modifier): New function. Returns chosen modifier bit
for given key.
(w32_get_modifiers): Returns modifier flags for
non-keyboard input events.
(construct_console_modifiers): Renamed from construct_modifiers;
recognize Windows and Apps keys as modifiers.
(w32_get_key_modifiers): New function. Returns modifier flags for
keyboard input events.
(map_keypad_keys): Make non-static. Use second arg as extended
flag.
(w32_grabbed_keys): New variable.
(HOTKEY, HOTKEY_ID, HOTKEY_VK_CODE, HOTKEY_MODIFIERS): New macros.
(register_hot_keys):
(unregister_hot_keys):
(lookup_vk_code):
(w32_parse_hot_key):
(Fw32_register_hot_key):
(Fw32_unregister_hot_key):
(Fw32_registered_hot_keys):
(Fw32_reconstruct_hot_key): New functions to support hotkeys.
(post_character_message): New function.
(w32_msg_pump): Handle new messages for using hotkeys and changing
keyboard layout/language.
(w32_wnd_proc): Major rework of keyboard input handling:
optionally recognize Windows keys and Apps key as modifiers;
optionally treat NumLock, CapsLock and ScrollLock as function
keys; let system translate keystrokes to characters to avoid
system bugs relating to dead-key handling; preserve shift
distinction for control characters; forward keyboard
layout/language changes to lisp; detect and convert hot-key events
to normal keystrokes.
(syms_of_w32fns): Register new functions and variables.
(w32_last_error): New function for use in debugging.
Geoff Voelker [Tue, 10 Nov 1998 20:52:20 +0000 (20:52 +0000)]
Include w32term.h and w32heap.h.
(map_keypad_keys):
(Vw32_enable_caps_lock):
(Vw32_enable_num_lock):
(Vw32_pass_lwindow_to_system):
(Vw32_pass_rwindow_to_system):
(Vw32_lwindow_modifier):
(Vw32_rwindow_modifier):
(Vw32_apps_modifier):
(Vw32_scroll_lock_modifier):
(w32_key_to_modifier): Add externs.
(w32_kbd_mods_to_emacs): Recognize Windows keys, Apps key, and
Scroll Lock as potential modifiers; exclude numpad keys from
effect by CapsLock; act on Vw32_enable_caps_lock; remove obsolete
code.
(is_dead_key): Copy from w32fns.c.
(w32_kbd_patch_key): Comment attempt to improve handling of
dead-keys, and system bug relating to same on Windows NT. Work
around the bug by calling ToUnicode and then converting to the
correct codepage.
(map_virt_key): Removed obsolete variable.
(lispy_function_keys): Add extern.
(key_event): Major rework of keyboard input handling: optionally
recognize Windows keys and Apps key as modifiers; optionally treat
NumLock, CapsLock and ScrollLock as function keys; let system
translate keystrokes to characters to avoid system bugs relating
to dead-key handling; preserve shift distinction for control
characters. Remove some obsolete code.
Geoff Voelker [Tue, 10 Nov 1998 20:50:40 +0000 (20:50 +0000)]
(sys_kill): Set extended key flag when faking
Ctrl-Break keystrokes.
(Fw32_get_locale_info): Allow LONGFORM parameter to specify an
arbitrary locale property using a numerical index.
(Vw32_valid_codepages): New variable.
(enum_codepage_fn):
(Fw32_get_valid_codepages):
(Fw32_get_console_codepage):
(Fw32_set_console_codepage):
(Fw32_get_console_output_codepage):
(Fw32_set_console_output_codepage):
(Fw32_get_codepage_charset):
(Fw32_get_valid_keyboard_layouts):
(Fw32_get_keyboard_layout):
(Fw32_set_keyboard_layout): New functions, exposing Windows locale
handling functions.
(syms_of_ntproc): Register them.
Geoff Voelker [Tue, 10 Nov 1998 20:50:08 +0000 (20:50 +0000)]
(convert_to_key_event): Removed.
(is_dead_key): Copied to w32fns.c.
(w32_read_socket): Generate language_change_event. Modify to work
with keyboard handling changes in w32_wnd_proc.
Geoff Voelker [Tue, 10 Nov 1998 20:49:30 +0000 (20:49 +0000)]
(struct w32_display_info): New element faked_key.
(WM_EMACS_SETKEYBOARDLAYOUT):
(WM_EMACS_REGISTER_HOT_KEY):
(WM_EMACS_UNREGISTER_HOT_KEY): New message definitions.
(LEFT_WIN_PRESSED):
(RIGHT_WIN_PRESSED):
(APPS_PRESSED): New console keyboard modifier flags.
Eli Zaretskii [Tue, 10 Nov 1998 11:26:34 +0000 (11:26 +0000)]
(ediff-make-temp-file): Run the prefix through
convert-standard-file-name, but leave the results of
make-temp-name unaltered. For MS-DOS, truncate the prefix to 2
characters if the original name already exists, or has a special
handler.
Kenichi Handa [Tue, 10 Nov 1998 00:24:40 +0000 (00:24 +0000)]
(cmpchar_component): New arg NOERROR. Check
composition char ID more strictly.
(Fcmpchar_component): Call cmpchar_component with NOERROR arg
zero.
(Fcmpchar_cmp_rule): If CHARACTER should be composed relatively,
return 255.
(Fcompose_string): Signal error if STR contains a rule-based
composition character.
Andrew Innes [Mon, 9 Nov 1998 15:05:23 +0000 (15:05 +0000)]
(ps-print-prologue-1): In BeginDoc procedure, call setpagedevice to
specify the page size if setpagedevice is available. This is
necessary to select the correct paper tray on Level 2 printers with
multiple paper sizes available.
(ps-begin-file): Cope with font names that contain spaces, and
call BeginDoc in a BeginSetup/EndSetup block.
Karl Heuer [Sat, 7 Nov 1998 02:03:33 +0000 (02:03 +0000)]
(texinfo-format-scan):
Detect the case of two @-commands in a row; process just the first.
(texinfo-append-refill): If line has a @c, insert the @refill
before it.
(texinfo-format-refill): Return with point where the @refill was.
Geoff Voelker [Wed, 4 Nov 1998 23:23:57 +0000 (23:23 +0000)]
(x-get-selection-value): Alias to
x-cut-buffer-or-selection-value.
(w32-standard-fontset-spec): New variable.
(w32-create-initial-fontsets, mouse-set-font): Check whether
new-fontset is available.
(w32-use-w32-font-dialog): Enable use of set-variable.
Kenichi Handa [Wed, 4 Nov 1998 10:48:53 +0000 (10:48 +0000)]
(string_to_non_ascii_char): Change the check for the
varidity of multibyte form.
(update_charset_table): Check validity of BYTES. Don't set
bytes_by_char_head here.
(init_charset_once): Set bytes_by_char_head completely.
Geoff Voelker [Wed, 4 Nov 1998 01:27:10 +0000 (01:27 +0000)]
(SYS_LDFLAGS): Use swapfile when running from cd or net.
(DEL_TREE): Use rd instead of rmdir.
(ARCH_CFLAGS): Optimize for P6. Align structures on 8-byte boundaries.
Kenichi Handa [Sat, 31 Oct 1998 05:12:07 +0000 (05:12 +0000)]
(quail-start-translation): Handle
switching of the frame in read-key-sequence.
(quail-start-conversion): Likewise.
(quail-show-guidance-buf): Detach quail-guidance-buf from any
windows before setting an appropriate window for it.
(quail-hide-guidance-buf): Use window-minibuffer-p. Set
quail-guidance-win to nil.
(quail-update-guidance): If quail-guidance-buf is not in the
selected frame, call quail-show-guidance-buf again.
Kenichi Handa [Sat, 31 Oct 1998 05:12:07 +0000 (05:12 +0000)]
(byte_combining_error): New function.
(CHECK_BYTE_COMBINING_FOR_INSERT): Call byte_combining_error.
(insert_from_string_1): Set *(GPT_ADDR) to 0 before calling
CHECK_BYTE_COMBINING_FOR_INSERT.
(insert_from_buffer_1): Likewise.
(adjust_after_replace): Check the posibility of inhibitted byte
combining correctly.
(replace_range): Before signaling an error for inhibitted byte
combining, recover the buffer in a safe state.
(del_range_2): Check the posibility of inhibitted byte combining
correctly.