In each active map, for each menu bar item, use only the first submap.
(menu_bar_one_keymap): Initialize menu_bar_one_keymap_changed_items.
(menu_bar_item): Update and test menu_bar_one_keymap_changed_items.
(syms_of_keyboard): Staticpro and init it.
(lisp_malloc, lisp_free): New functions.
Use them instead of malloc, xmalloc, and xfree, for Lisp objects.
Don't set allocating_for_lisp in the callers; let lisp_malloc do it.
(n_interval_blocks, n_float_blocks): New variable.
(n_cons_blocks, n_vectors, n_symbol_blocks): New variable.
(n_marker_blocks, n_string_blocks): New variable.
(init_intervals, make_interval): Set a count variable.
Use lisp_malloc instead of setting allocating_for_lisp.
(init_float, make_float, init_cons, Fcons): Likewise.
(allocate_vectorlike, init_symbol, Fmake_symbol): Likewise
(init_marker, allocate_misc, init_strings): Likewise.
(make_uninit_multibyte_string): Likewise.
(gc_sweep, compact_strings): Decrement the count variables.
(uninterrupt_malloc): Don't store Emacs's hooks
into the old_..._hook variables.
Added mouse-selection feature for pages directory buffer.
(pages-directory-map): Bind mouse-2
(pages-copy-header-and-position): Put text property.
(pages-directory-goto-with-mouse): New function.
(easy-menu-get-map): Change global map only if this menu exists in the
global map already, and not in the local map.
(easy-menu-do-add-item): Fix error message.
Andrew Innes [Mon, 28 Dec 1998 19:42:26 +0000 (19:42 +0000)]
(w32_msg_pump): Ignore WM_NULL message posted to thread
by complete_deferred_msg.
(post_character_message): Cancel all deferred messages when
quit_char is typed, in order to break out of potential deadlocks.
(cancel_all_deferred_msgs): New function.
(complete_deferred_msg): Don't abort if msg not found; may have
been cancelled.
(Fw32_reconstruct_hot_key): Use pre-interned symbols.
(Fw32_send_sys_command): Wait for system command to
complete before returning.
Andrew Innes [Mon, 28 Dec 1998 19:33:57 +0000 (19:33 +0000)]
(Vw32_start_process_inherit_error_mode): New variable.
(create_child): Use it.
(syms_of_ntproc): Defvar it. Also fix docstrings for
w32-start-process-share-console and w32-start-process-show-window.
Andrew Innes [Mon, 28 Dec 1998 19:25:28 +0000 (19:25 +0000)]
(spawn): Pass directory for child as parameter.
(main): Save startup directory to give to spawn, then change directory
to location of .exe in order not to prevent startup directory from
being deleted.
If local-maps work, don't put
flyspell-mode-map in minor-mode-map-alist; bind mouse-2 and M-TAB
in flyspell-mouse-map (only).
(flyspell-use-local-map): New variable.
Use a different mouse-2 binding in that case,
and don't add to minor-mode-map-alist.
(make-flyspell-overlay, flyspell-correct-word):
Test flyspell-use-local-map.
(file-expand-wildcards): Handle wildcards in directory name.
Be careful about whether to return a relative file name,
and if so, relative to what directory.
(easy-menu-get-map): If MENU is nil, use global menu-bar map.
(easy-menu-add-item, easy-menu-remove-item): Argument renamed.
(easy-menu-item-present-p, easy-menu-get-map): Argument renamed.
Eli Zaretskii [Sun, 20 Dec 1998 15:17:49 +0000 (15:17 +0000)]
(cp-coding-system-for-codepage-1):
Create separate encoders and decoders, for DOS and Unix. Make the
usual family of 3 coding systems, so that automatic detection of
EOL type works.
(cp-make-coding-systems-for-codepage): Don't intern DOS- and
Unix-specific symbols here, and don't call
cp-coding-system-for-codepage-1 twice. (Suggested by Ken'ichi
Handa <handa@etl.go.jp>.)
Eli Zaretskii [Sun, 20 Dec 1998 15:07:03 +0000 (15:07 +0000)]
(IT-character-translations): New variable, an
alist used to display characters for which there's no glyphs in
the current codepage.
(IT-display-table-setup): New function, sets up the DOS terminal
for a given codepage.
(dos-codepage-setup): New function, sets up the MULE environment
for the current value of dos-codepage.
(top-level if): In the multibyte mode, turn on
unibyte-display-via-language-environment. In the unibyte mode,
set up the special syntax tables to map lower- to upper case and
back.
Eric M. Ludlam [Sat, 19 Dec 1998 14:01:53 +0000 (14:01 +0000)]
(speedbar-frame-parameters) Add : to custom prompt.
(speedbar-frame-plist) Remove useless comments.
(speedbar-frame-mode) Do not specify height if it is in the param
list. Use default y position w/out changing it. If default x
position is a list, keep, calculate the non-list X value when devining
an initial position.
(speedbar-this-file-in-vc) Fix SCCS to use s. not p. files.
(speedbar-tag-group-name-minimum-length): New variable.
(speedbar-frame-parameter): New compatibility function.
(speedbar-frame-mode): Updated to use speedbar-frame-parameter.
(speedbar-apply-one-tag-hierarchy-method): Fixed up taging sub groups
to keep things in the right order, and to help with some naming conventions.
(speedbar-create-tag-hierarchy): Enable buffer local version of
`speedbar-tag-hierarchy-method' in the buffer we are tagging.
(speedbar-line-path) Make DEPTH param optional. Devine it if absent.
the case, derive it from the cursor location in speedbar.
Eli Zaretskii [Thu, 17 Dec 1998 17:12:56 +0000 (17:12 +0000)]
(set-language-environment): On MS-DOS
terminals, install DOS-specific nonascii-translation-table if the
language info doesn't specify one. Pass the default eol-type to
set-language-environment-coding-systems.
(set-default-coding-systems): Copy the eol-type property for the
new default values of {buffer-file,process}-coding-system from the
old defaults.
(set-language-environment-coding-systems): Accept an optional
argument EOL-TYPE, and set the eol-type property of the default
coding systems accordingly.
(set-terminal-coding-system): Enable menu item on MS-DOS terminals.
(set-keyboard-coding-system): Likewise.
(set-default-coding-systems): Don't set
default-terminal-coding-system on MS-DOS to anything but nil.
(prefer-coding-system): Describe in the doc string that
default-terminal-coding-system is not changed on MS-DOS.
(set-language-environment): For MS-DOS, set standard syntax table
and display table for all characters with code above 127.
(standard-display-european-internal): For MS-DOS, pass all
characters with code above 127 directly to the terminal, and don't
remap characters 160 and 146 in the unibyte case.
Eli Zaretskii [Wed, 16 Dec 1998 14:01:45 +0000 (14:01 +0000)]
(Info-find-node): Add 1 to the position read from the
tag table. Don't fail if the node delimiter ^_ is the first
character in the file.
(Info-insert-dir): Don't fail when the node delimiter ^_ is the
first character in the file.
(Info-read-subfile): Likewise.
(Info-select-node): Likewise.
(Info-build-node-completions): Likewise.
Karl Heuer [Wed, 16 Dec 1998 06:32:39 +0000 (06:32 +0000)]
(Fbase64_decode_region, Fbase64_decode_string):
Do free malloc'd memory even in case of failure.
Use xfree, not free.
(Fbase64_encode_region, Fbase64_encode_string):
Use xfree, not free.
(base64_decode_1): Don't fail for short lines.
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.