Kenichi Handa [Tue, 15 Dec 1998 06:38:12 +0000 (06:38 +0000)]
New file. Mule related code extracted from
ps-print.el. Require ps-print, provide ps-mule.
(ps-multibyte-buffer): Add autoload cookie.
(ps-mule-prepare-ascii-font): New fun.
(ps-mule-set-ascii-font): New fun.
(ps-mule-skip-same-charset): Fun deleted.
(ps-mule-plot-string): Set ps-mule-current-charset.
(ps-mule-initialize): Add autload cookie. Don't set
ps-mule-font-info-database here.
(ps-mule-begin-job): Renamed from ps-mule-begin. Update
ps-mule-font-info-database and ps-control-or-escape-regexp.
(ps-mule-begin-page): New fun.
Doc fix. Require ps-print only when compiled.
(ps-mule-prologue-generated): New fun.
(ps-mule-plot-string): Add autoload cookie.
(ps-mule-begin-job): Call ps-mule-prologue-generated.
Programming uniformization and little code improvement.
(ps-mule-prepare-font): Programming uniformization.
(ps-mule-find-wrappoint, ps-mule-plot-rule-cmpchar)
(ps-mule-string-encoding, ps-mule-begin-job): Little code improvement.
Always require ps-print. Move some function
definitions for Emacs 20.2 and the earlier to ps-print.el.
(ps-mule-find-wrappoint): Make it work also with Emacs 20.2.
(ps-mule-begin-job): Delete nil and unknown from a
list of character sets found by find-charset-region.
Kenichi Handa [Tue, 15 Dec 1998 06:31:48 +0000 (06:31 +0000)]
(ps-mule-font-info-database): Doc-string modified.
(ps-mule-external-libraries): New element FEATURE.
(ps-mule-init-external-library): Ajusted for the above change.
(ps-mule-generate-font): Likewise.
(ps-mule-generate-glyphs): Likewise.
(ps-mule-prepare-font): Likewise.
(ps-mule-initialize): Likewise.
(ps-begin-file): Superfluous tailing parenthesis deleted.
Mule related code moved to ps-mule.el.
(ps-begin-job): While setting ps-control-or-escape-regexp, don't
check ps-mule-charset-list.
(ps-begin-page): Don't set ps-mule-current-charset, instead call
ps-mule-begin-page.
(ps-basic-plot-string): Call ps-mule-prepare-ascii-font.
(ps-plot-region): Don't set ps-mule-current-charset, instead call
ps-mule-set-ascii-font. Don't call ps-mule-skip-same-charset,
instead skip same charsets by itself.
(ps-generate): Call ps-mule-initialize of needs-begin-file is
non-nil. Call ps-mule-begin-job.
(ps-print-version): New version number (4.1.2), doc fix
and mule related code extraction. Autoload ps-mule funs.
Define several functions for Emacs 20.2 and the
earlier version.
(ps-printer-name): Check if printer-name is bound.
Kenichi Handa [Tue, 15 Dec 1998 04:35:38 +0000 (04:35 +0000)]
(x-decompose-font-name): If PATTERN
doesn't have any wild cards, return a vector made from a name that
is found by x-resolve-font-name found. Comments added.
Kenichi Handa [Tue, 15 Dec 1998 04:35:38 +0000 (04:35 +0000)]
(find-coding-systems-for-charsets):
Handle the case of unknown charset.
(find-multibyte-characters): If invalid multibyte characters are
found, return the corresponding strings instead of character
codes.
(find-multibyte-characters): Adjusted for the above change.
(select-safe-coding-system): For a unibyte buffer, always returns
DEFAULT-CODING-SYSTEM.
(get-charset-property): Fix previous change. Make it a function.
(put-charset-property): Make it a function.
Kenichi Handa [Tue, 15 Dec 1998 04:35:38 +0000 (04:35 +0000)]
(quail-point-in-conversion-region): New
function.
(quail-conversion-backward-delete-char): When a key sequence is
being translated, call quail-delete-last-char.
Kenichi Handa [Tue, 15 Dec 1998 04:35:38 +0000 (04:35 +0000)]
Include "ccl.h".
(Fcall_process): Doc-string modified. Set CODING_MODE_LAST_BLOCK
bit in argument_coding.mode to tell encoding procedure to flush
data. While encoding arguments, if argument_coding uses CCL
program, initialize it again after encoding.
(Fcall_process_region): Doc-string modified. Handle the case that
NARGS is 3.
Kenichi Handa [Tue, 15 Dec 1998 04:35:38 +0000 (04:35 +0000)]
(CCL_SUCCESS): Don't set ccl->ic.
(ccl_driver) <CCL_End>: Pretend that all source text is consumed.
Set `ic' to the head of this command.
(ccl_driver) <CCL_ReadMultibyteChar2>: Return a single byte 8-bit
code for an invalid code.
(setup_ccl_program): If the arg VEC is nil, skip setting ups
based on VEC.
Kenichi Handa [Tue, 15 Dec 1998 04:35:38 +0000 (04:35 +0000)]
(Qunknown): New variable.
(init_charset_once): Intern and staticpro Qunknown. Initialize
all elements of Vcharset_symbol_table to Qunknown.
(find_charset_in_str): New arg MULTIBYTE. If it is zero, check
unibyte characters only. For an invalid composition sequence, set
CHARSETS[1] to 1.
(Ffind_charset_region): Call find_charset_in_str with an
appropriate MULTIBYTE arg. If undefined charsets are found,
include `unknown' is the return value.
(Ffind_charset_string): Likewise.
(Fsplit_char): If CHAR is invalid, return `(unknown CHAR)'.
(str_cmpchar_id): Max composite character code should be less than
GENERIC_COMPOSITION_CHAR.
Kenichi Handa [Tue, 15 Dec 1998 04:35:38 +0000 (04:35 +0000)]
(DECODE_DESIGNATION): Jump to label_invalid_code if
final_char is invalid.
(decode_coding): If coding->type is coding_type_ccl, call
ccl_coding_driver even if SRC_BYTES is zero.
(code_convert_region): Update `inserted' correctly after calling
coding->post_read_conversion. Even after the code converter
consumed all source text, call it once more if it is
coding_type_ccl to flush out data.
Kenichi Handa [Tue, 15 Dec 1998 04:35:38 +0000 (04:35 +0000)]
(read_process_output): If NBYTES is zero and
CODING_MODE_LAST_BLOCK bit is not yet set in coding->mode, set it
and try decoding again.
(Fprocess_send_eof): If the coding system of PROCESS
requires flushing, call send_process with null-string at first.
Kenichi Handa [Tue, 15 Dec 1998 04:35:38 +0000 (04:35 +0000)]
(search_buffer): Don't use Boyer-Moore
to search for an invalid multibyte code.
In unibyte case, no need to check whether there are translations
in more than one charset; just set charset_base to 0.
Karl Heuer [Thu, 10 Dec 1998 03:25:33 +0000 (03:25 +0000)]
(symbol-file-load-history-loaded): Variable renamed,
and defvar moved from loadhist.el.
(symbol-file): Renamed from describe-function-find-file.
Load fns-VERSION.el here.
(describe-variable, describe-function-1): Use symbol-file.
Eli Zaretskii [Sun, 6 Dec 1998 15:57:48 +0000 (15:57 +0000)]
(Vdos_unsupported_char_glyph): New variable.
(syms_of_msdos): DEFVAR_LISP it.
(IT_insert_glyphs, IT_delete_glyphs): New functions which abort
Emacs.
(internal_terminal_init): Set up insert_glyphs_hook and
delete_glyphs_hook to call them. Explicitly set char_ins_del_ok
to 0.
(unibyte_display_via_language_environment): New variable.
(syms_of_msdos): Devfar it.
(IT_write_glyphs): Honor glyph aliasing via Vglyph_table.
Encode the character codes of the glyphs according to the
terminal_coding in effect.
Geoff Voelker [Thu, 3 Dec 1998 00:06:03 +0000 (00:06 +0000)]
(dumpglyphs): Use unsigned char arrays.
Use FONT_MAX_WIDTH to detect and fudge proportional fonts
for various languages.
Compensate for fonts that have underhangs (e.g., Thai).
Geoff Voelker [Wed, 2 Dec 1998 23:54:14 +0000 (23:54 +0000)]
(key_event): Use Vw32_phantom_key_code. Undo the
mapping of Ctrl-Pause into cancel, and Ctrl-NumLock into pause.
(w32_console_toggle_lock_key): New function.
Geoff Voelker [Wed, 2 Dec 1998 23:52:47 +0000 (23:52 +0000)]
(Vw32_phantom_key_code): New variable.
(Qhyper, Qsuper, Qmeta, Qalt, Qctrl, Qcontrol, Qshift): New
variables.
(syms_of_w32fns): Init and register them.
(reset_modifiers): Use a more precise test for whether Emacs has
keyboard focus. Synchronize state of all keys that can be used as
modifiers, to overcome problems arising from hot-keys.
(w32_key_to_modifier): Be careful not to call intern() to avoid
requiring thread synchronization.
(w32_msg_pump): Handle new WM_EMACS_TOGGLE_LOCK_KEY message.
(w32_wnd_proc): Ensure lock key indicator lights are updated
promptly on Windows 9x, by passing key events on to the system.
(w32_wnd_proc): Use Vw32_phantom_key_code to stop system
responding to Windows key events when not wanted.
(w32_wnd_proc): Undo the mapping of Ctrl-Pause into cancel and
Ctrl-NumLock into pause by the system.
(w32_wnd_proc): Don't translate key combinations containing any
modifiers other than shift (and capslock).
(w32_wnd_proc): Reset modifier key states when receiving focus (we
can't determine the key states until we have keyboard focus).
(Fw32_toggle_lock_key): New function.
(syms_of_w32fns): Defsubr it.
Geoff Voelker [Wed, 2 Dec 1998 23:01:50 +0000 (23:01 +0000)]
(direct-print-region-function): Try to ensure that
printer-name is expanded to a file name on a local drive;
sometimes printing a file loaded from a network volume fails.
(direct-print-region-function): Add a function to
write-region-annotate-functions to append a formfeed character to
the region being printed, if the region doesn't end with a
formfeed already. This avoids creating a second print job
containing a blank page when print spooling is enabled on Windows.