Provide `rmailout'.
(rmail-output-read-rmail-file-name): New function.
(rmail-output-to-rmail-file): Use that.
(rmail-output-read-file-name): New function.
(rmail-output): Use that.
(rmail-summary-output-to-rmail-file):
Use rmail-output-read-rmail-file-name to read the file name.
Always call rmail-output-to-rmail-file noninteractively.
When count > 1, do the loop here.
Handle rmail-delete-after-output here.
(rmail-summary-output): Similar changes.
Can use linear algorithm for indentation if Emacs supports it.
(cperl-after-expr-p): It is BLOCK if we reach lim when backup sexp.
(cperl-after-block-p): Likewise.
(cperl-after-block-and-statement-beg): Likewise.
(cperl-after-block-p): After END/BEGIN we are a block.
(cperl-after-expr-p): Skip labels when checking
(cperl-indent-region): Make a marker for END - text added/removed.
Disable hooks during the call (how to call them later?).
Now indents 820-line-long function in 6.5 sec (including
syntaxification) the first time (when buffer has few
properties), 7.1 sec the second time.
(cperl-indent-region): Do not indent whitespace lines
(cperl-style-alist)
Include `cperl-merge-trailing-else' where the value is clear.
(cperl-styles-entries): Likewise.
(cperl-problems): Improvements to docs.
(cperl-tips): Likewise.
(cperl-non-problems): Likewise.
(cperl-mode): Make lazy syntaxification possible.
Loads pseudo-faces for the sake of `cperl-find-pods-heres' (for 19.30).
`font-lock-unfontify-region-function' was set to a wrong function.
(cperl-find-pods-heres): Safe a position in buffer where it is safe to
restart syntaxification. Changed so that -d ?foo? is a RE. Do
not warn on `=cut' if doing a chunk only. 1 << 6 was OK,
but 1<<6 was considered as HERE-doc.
<file/glob> made into a string.
Postpone addition of faces after syntactic step.
Recognition of <FH> was wrong.
Highlight `gem' in s///gem as a keyword. `qr' recognized.
Knows that split// is null-RE.
Highlights separators in 3-parts expressions as labels.
<> was considered as a glob.
Would err if the last line is `=head1'.
$a-1 ? foo : bar; was a considered a regexp.
`<< (' was considered a start of HERE-doc.
mark qq[]-etc sections as syntax-type=string
Was not processing sub protos after a comment ine.
Was treating $a++ <= 5 as a glob.
Tolerate unfinished REx at end-of-buffer.
`unwind-protect' was left commented.
/ and ? after : start a REx.
(cperl-syntaxify-by-font-lock): Set to t, should be safe now.
Better default, customizes to `message' too, off in text-mode.
(cperl-array-face): Renamed from `font-lock-emphasized-face',
`defface'd.
(cperl-hash-face): Renamed from `font-lock-other-emphasized-face'.
`defface'd.
(cperl-emacs-can-parse): New state variable.
(cperl-indent-line): Corrected to use global state.
(cperl-calculate-indent): Likewise.
(cperl-fix-line-spacing): Likewise (not used yet).
(cperl-calculate-indent): Did not consider `,' as
continuation mark for statements.
(cperl-calculate-indent): Avoid parse-data optimization at toplevel.
Remove another parse-data optimization at toplevel: would
indent correctly.
Correct for labels when calculating indentation of continuations.
Docstring updated.
(cperl-choose-color): Converted to a function (to be
compilable in text-mode).
(cperl-dark-background): Disable without window-system.
Do `defface' only if window-system.
(cperl-fix-line-spacing): sped up to bail out early.
(x-color-defined-p): was not compiling on XEmacs
Was defmacro'ed with a tick. Remove another def.
(cperl-clobber-lisp-bindings): if set, C-c variants are the old ones
(cperl-unwind-to-safe): New function.
(cperl-fontify-syntaxically): Use `cperl-unwind-to-safe' to start at reasonable position.
(cperl-fontify-syntaxically): Unwinds start and end to go out of
long strings (not very successful).
(cperl-forward-re): Highlight the trailing / in s/foo// as string.
Highlight the starting // in s//foo/ as function-name.
Emit a meaningful error instead of a cryptic one for an
uncomplete REx near end-of-buffer.
(cperl-electric-keyword): `qr' recognized.
(cperl-electric-else): Likewise
(cperl-to-comment-or-eol): Likewise
(cperl-make-regexp-x): Likewise
(cperl-init-faces): Likewise, and `lock' (as overridable?).
Corrected to use new macros;
`if' for copying `reference-face' to `constant-face' was backward.
remove init `font-lock-other-emphasized-face',
`font-lock-emphasized-face', `font-lock-keyword-face'.
Interpolate `cperl-invalid-face'.
(cperl-make-regexp-x): Misprint in a message.
(cperl-syntaxify-unwind): New configuration variable
(cperl-fontify-m-as-s): New configuration variable
(cperl-electric-pod): check for after-expr was performed
inside of POD too.
(cperl-backward-to-noncomment): better treatment of PODs and HEREs.
(cperl-clobber-mode-lists): New configuration variable.
(cperl-not-bad-style-regexp): Updated.
Init: `cperl-is-face' was busted.
(cperl-make-face): New macros.
(cperl-force-face): New macros.
(font-lock-other-type-face): Done via `defface' too.
(cperl-nonoverridable-face): New face. Renamed from
`font-lock-other-type-face'.
(cperl-init-faces-weak): use `cperl-force-face'.
(cperl-comment-indent): Commenting __END__ was not working.
(cperl-indent-for-comment): Likewise.
(cperl-write-tags): Correct for XEmacs's `visit-tags-table-buffer'.
When removing old TAGS info was not relativizing filename.
(cperl-tags-hier-init): Gross hack to pretend we work (are we?).
Another try to work around XEmacs problems. Better progress messages.
(toplevel): require custom unprotected => failure on 19.28.
(cperl-xemacs-p): defined when compile too
(cperl-find-tags): Was writing line/pos in a wrong order,
pos off by 1 and not at beg-of-line.
(cperl-etags-snarf-tag): New macro
(cperl-etags-goto-tag-location): New macro
(cperl-version): New variable. New menu entry
random docstrings: References to "future" 20.3 removed.
Menu was described as `CPerl' instead of `Perl'
(perl-font-lock-keywords): Would not highlight `sub foo($$);'.
(cperl-toggle-construct-fix): Was toggling to t instead of 1.
(cperl-ps-print-init): Associate `cperl-array-face', `cperl-hash-face'
Remove `font-lock-emphasized-face', `font-lock-other-emphasized-face',
`font-lock-reference-face', `font-lock-keyword-face'.
Use `eval-after-load'.
Remove not-CPerl-related faces.
(cperl-tips-faces): New variable and an entry into Mini-docs.
(cperl-indent-exp): Was not processing else-blocks.
(cperl-get-state): NOP line removed.
(cperl-ps-print): New function and menu entry.
(cperl-ps-print-face-properties): New configuration variable.
(cperl-invalid-face): New configuration variable.
(perl-font-lock-keywords): Highlight trailing whitespace
(cperl-contract-levels): Documentation corrected.
(cperl-contract-level): Likewise.
(cperl-ps-extend-face-list): New macro.
(cperl-invalid-face): Change to ''underline.
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.