Eli Zaretskii [Thu, 20 Oct 2011 12:39:52 +0000 (14:39 +0200)]
Improve the speedup of bidi display introduced in 2011-10-18T16:56:09Z!eliz@gnu.org for bug#9771.
src/dispextern.h (struct bidi_it): New member next_en_type.
src/bidi.c (bidi_line_init): Initialize the next_en_type member.
(bidi_resolve_explicit_1): When next_en_pos is valid for the
current character, check also for next_en_type being WEAK_EN.
(bidi_resolve_weak): Don't enter the expensive loop if the current
position is before next_en_pos. Record the bidi type of the first
non-ET, non-BN character we find, in addition to its position.
(bidi_level_of_next_char): Invalidate next_en_type when
next_en_pos is over-stepped.
Paul Eggert [Thu, 20 Oct 2011 06:52:55 +0000 (23:52 -0700)]
Time zone name fixes for non-ASCII locales (Bug#641, Bug#9794)
* configure.in (AC_STRUCT_TM, AC_STRUCT_TIMEZONE, HAVE_TM_GMTOFF):
Remove; no longer needed, now that we defer to strftime for time
zone names.
* src/editfns.c: Rewrite current-time-zone so that it invokes
the equivalent of (format-time-string "%Z") to get the time zone name.
This fixes a bug when the time zone name contains characters that
need converting from the system time locale to Emacs internal format.
This fixes a shortcoming that I introduced in my 1999-10-19 patch:
that patch fixed format-time-string to do the conversion, but
I forgot to fix current-time-zone.
(format_time_string): New function, containing most of
what Fformat_time_string used to contain.
(Fformat_time_string): Rewrite in terms of format_time_string.
This doesn't change this function's behavior.
(current-time-zone): Rewrite to use format_time_string.
This fixes the bug reported by Michael Schierl in
<http://lists.gnu.org/archive/html/emacs-devel/2007-06/msg00334.html>.
Jason Rumney's 2007-06-07 change worked around this bug, but
didn't fix it.
* src/systime.h (tzname, timezone): Remove no-longer-used declarations.
Chong Yidong [Thu, 20 Oct 2011 00:41:15 +0000 (20:41 -0400)]
Adapt to new minor mode function behavior in manual examples.
* doc/emacs/custom.texi (Hooks, Init Examples):
* doc/emacs/display.texi (Font Lock):
* doc/emacs/fixit.texi (Spelling):
* doc/emacs/rmail.texi (Rmail Display): Minor mode function with no arg now
enables it.
* doc/emacs/fixit.texi (Spelling): Fix description of inline completion.
* lisp/erc/erc.el (define-erc-module): Fix autogenerated docstring to
reflect Emacs 24 minor mode changes.
* lisp/gnus/gnus-cite.el (gnus-message-citation-mode): Doc fix (in Emacs 24,
calling a minor mode from Lisp with nil arg enables it, so we have to
make the working a bit ambiguous here).
Eli Zaretskii [Wed, 19 Oct 2011 11:46:17 +0000 (13:46 +0200)]
Followup to 2011-10-19T09:48:35Z!eliz@gnu.org.
src/xdisp.c (try_window_reusing_current_matrix): If a line ends in a display
vector or the next line starts in a display vector, continue
redrawing the window even though the character position of
start_row was reached.
Juri Linkov [Wed, 19 Oct 2011 09:03:39 +0000 (12:03 +0300)]
* lisp/net/browse-url.el (browse-url-browser-function): Add "Chromium".
(browse-url-chromium-program, browse-url-chromium-arguments):
New defcustoms.
(browse-url-default-browser): Check for `browse-url-chromium' and
call `browse-url-chromium-program'.
(browse-url-chromium): New command.
Chong Yidong [Tue, 18 Oct 2011 21:11:17 +0000 (17:11 -0400)]
More edits to Display chapter of Emacs manual.
* doc/emacs/display.texi (Fringes): Move overflow-newline-into-fringe here,
from Line Truncation node.
(Standard Faces): Note that only the background of the cursor face
has an effect.
(Cursor Display): Fix descriptions of cursor face
and bar cursor blinking.
(Text Display): Document nobreak-char-display more clearly.
(Line Truncation): Add xref to Split Window node.
(Display Custom): Don't bother documenting baud-rate or
no-redraw-on-reenter.
Eli Zaretskii [Tue, 18 Oct 2011 16:56:09 +0000 (18:56 +0200)]
Fix bug #9771 with slow redisplay in long lines full of control characters.
src/bidi.c (bidi_line_init): Initialize next_en_pos to zero, not -1.
(bidi_resolve_neutral): Don't enter the expensive loop looking for
non-neutral characters if the current character is a paragraph
separator (a.k.a. Newline). This avoids running the same
expensive loop twice, once when we consume the preceding newline
and the other time when the line actually needs to be displayed.
Avoid the loop when we see neutrals on the base embedding level
following a character whose directionality is the same as the
paragraph's. This avoids running the expensive loop when a line
ends in a long sequence of neutrals, like control characters.
Add assertion against STRONG_AL type. Slightly rearrange code
that determines the type of a neutral given the first non-neutral
that follows it.
(bidi_level_of_next_char): Set next_en_pos to zero when
invalidating its info.
Teodor Zlatanov [Tue, 18 Oct 2011 14:10:52 +0000 (14:10 +0000)]
Merge changes made in Gnus trunk.
gnus-util.el (gnus-bound-and-true-p): Macro for XEmacs compatibility.
nnir.el (nnir-mode): Use it.
nnmairix.el (nnmairix-determine-original-group-from-registry): Use it.
nnir.el (gnus-registry-enabled): Defvar to keep the compiler happy.
nnmairix.el (gnus-registry-enabled): Ditto.
Jirka Kosek [Tue, 18 Oct 2011 08:02:47 +0000 (11:02 +0300)]
* lisp/international/mule.el (sgml-html-meta-auto-coding-function):
Add support for detecting encoding in HTML5 specified only as
<meta charset="UTF-8">. Implementation just makes http-equiv and
content-type parts from HTML4 encoding string optional.
Chong Yidong [Tue, 18 Oct 2011 01:42:28 +0000 (21:42 -0400)]
Edits to Display chapter of Emacs manual.
* doc/emacs/display.texi (Faces): Simplify discussion. Move documentation
of list-faces-display here, from Standard Faces node. Note
special role of `default' background.
(Standard Faces): Note special role of `default' background. Note
that region face may be taken fom GTK. Add xref to Text Display.
(Text Scale): Rename from "Temporary Face Changes". Callers
changed. Don't bother documenting variable-pitch-mode.
(Font Lock): Copyedits. Remove font-lock-maximum-size.
(Useless Whitespace): Simplify description of
delete-trailing-whitespace. Note active region case.
(Text Display): Fix description of escape-glyph face assignment.
Remove unibye mode discussion. Update some parts for Unicode.
Move glyphless chars documentation to Lisp manual.
Teodor Zlatanov [Mon, 17 Oct 2011 22:51:37 +0000 (22:51 +0000)]
Merge changes made in Gnus trunk.
From Dave Abrahams <dave@boostpro.com>.
gnus-registry.el (gnus-registry-enabled): Add new variable.
(gnus-registry-install-shortcuts): Set `gnus-registry-install' to 'ask only while we need to find out if it should be t or nil.
(gnus-registry-initialize): Don't set `gnus-registry-install' to t.
(gnus-registry-install-hooks): Set `gnus-registry-enabled' to t when the registry is installed. Set it to nil when it's unloaded.
(gnus-registry-install-p): Provide user guidance for the initial value of `gnus-registry-install' when it's 'ask, otherwise return its value.
nnregistry.el (nnregistry-open-server, nnregistry-server-opened): Use `gnus-registry-enabled' instead of `gnus-registry-install'.
nnmairix.el (nnmairix-determine-original-group-from-registry): Use `gnus-registry-enabled' instead of `gnus-registry-install'.
nnir.el (nnir-mode): Use `gnus-registry-enabled' instead of `gnus-registry-install'.
Eli Zaretskii [Mon, 17 Oct 2011 17:03:20 +0000 (19:03 +0200)]
Fix part 4 of bug#9771 with assertion violation when wrap-prefix is used
for a line that begins with control characters.
src/xdisp.c (push_display_prop): Determine whether to record string
or buffer position by IT->string, not by IT->method. Allow
GET_FROM_DISPLAY_VECTOR as IT->method on entry.
Stefan Monnier [Mon, 17 Oct 2011 16:33:23 +0000 (12:33 -0400)]
comint.el: Don't let `insert' break an `input' field into two.
* lisp/comint.el (comint-insert-input, comint-send-input)
(comint-get-old-input-default, comint-backward-matching-input)
(comint-next-prompt): Use nil instead of `input' for field property of
past user input (bug#114).
Martin Rudalics [Mon, 17 Oct 2011 12:52:31 +0000 (14:52 +0200)]
Rewrite window related menu entries. (Bug#6786)
* menu-bar.el (menu-bar-file-menu): Add entry for making new
window on right of selected. (Bug#6786) Reword other window
entries and separate them from frame entries.
Daiki Ueno [Mon, 17 Oct 2011 04:29:19 +0000 (04:29 +0000)]
Merge changes made in Gnus trunk.
mml2015.el (mml2015-epg-find-usable-key): Skip the whole key if the primary key is marked as disabled.
mml1991.el (mml1991-epg-find-usable-key): Ditto. Thanks to Christian von Roques <roques@mti.ag>.
Eli Zaretskii [Fri, 14 Oct 2011 13:49:32 +0000 (15:49 +0200)]
Improve wording in sendmail-query-once description of options.
lisp/mail/sendmail.el (sendmail-query-once): Improve the wording of
the explanation of the possible choices. Make the options passed
to completing-read shorter.
Glenn Morris [Fri, 14 Oct 2011 07:16:56 +0000 (00:16 -0700)]
Minor rewording of some sections of the ERT manual.
* doc/misc/ert.texi (Introduction, How to Run Tests)
(Running Tests Interactively, Expected Failures)
(Tests and Their Environment, Useful Techniques)
(Interactive Debugging, Fixtures and Test Suites):
Minor rephrasings.
(Running Tests Interactively, The @code{should} Macro): Add xrefs.
(Running Tests in Batch Mode): Simplify loading instructions.
(Test Selectors): Clarify some selectors.
(Expected Failures, Useful Techniques):
Make examples fit in 80 columns.
Remove unused "LocalWords".
Agustín Martín [Thu, 13 Oct 2011 18:37:57 +0000 (20:37 +0200)]
flyspell.el (flyspell-large-region): Use extended character mode if defined (Bug#1339).
flyspell-large-region was not setting extended character mode for the
external ispell process. This was affecting ispell with 8bit charsets
not being the default, like in german.
Since extended character mode was not used, process used default 7bit
pseudo-charset resulting in some messages like
Chong Yidong [Thu, 13 Oct 2011 16:03:49 +0000 (12:03 -0400)]
Update Killing chapter in Emacs manual. Other misc manual tweaks.
* doc/emacs/killing.texi (Deletion): Add xref to Using Region.
(Yanking): Move yank-excluded-properties to Lisp manual. Move C-y
description here. Recommend C-u C-SPC for jumping to mark.
(Kill Ring): Move kill ring variable documentation here.
(Primary Selection): Copyedits.
(Rectangles): Document new command rectangle-number-lines.
(CUA Bindings): Note that this disables the mark-even-if-inactive
behavior for C-x and C-c.
Eli Zaretskii [Thu, 13 Oct 2011 11:17:32 +0000 (13:17 +0200)]
Fix the change with paragraph_dir initialization.
src/bidi.c (bidi_init_it): Don't initialize paragraph_dir here, as
some callers set that themselves.
src/xdisp.c (Fcurrent_bidi_paragraph_direction): Initialize
itb.paragraph_dir to NEUTRAL_DIR. Fixes an occasional incorrect
cursor motion with <left> and <right> arrow keys.
Stefan Monnier [Thu, 13 Oct 2011 05:18:12 +0000 (01:18 -0400)]
* lisp/emacs-lisp/timer.el (with-timeout): Make sure we cancel the timer
even in case of error; add debug spec; simplify data flow.
(with-timeout-handler): Remove.
Michael Albinus [Wed, 12 Oct 2011 18:32:35 +0000 (20:32 +0200)]
Fix Bug#6019, Bug#9315.
* files.el (set-auto-mode): Call `file-name-sans-versions' for the
complete `buffer-file-name', the local file name part could look
remotely (for example on VMS).
* net/ange-ftp.el (ange-ftp-run-real-handler): Make it an alias of
`tramp-run-real-handler'.
(ange-ftp-fix-name-for-vms): Handle the case, where `name' is
already quoted by '"'.
* net/tramp.el (tramp-rfn-eshadow-update-overlay): Ignore errors.
Let `file-name-handler-alist' be nil, the local file name part
could look remotely (for example on VMS).
Chong Yidong [Wed, 12 Oct 2011 17:38:34 +0000 (13:38 -0400)]
Updates to Mark chapter in Emacs manual.
* mark.texi (Mark): Clarify description of disabled Transient Mark
mode.
(Setting Mark): Document prefix arg for C-x C-x. Document primary
selection changes. Mention that commands like C-y set the mark.
(Marking Objects): Add xref to Words node. Note that mark-word
and mark-sexp also have the "extend region" behavior.
(Using Region): Mention M-$ in the table. Document
mark-even-if-inactive here instead of in Mark Ring.
(Mark Ring): Move mark-even-if-inactive to Using Region. Take
note of the "Mark Set" behavior.
(Disabled Transient Mark): Rename from "Persistent Mark"
(Bug#9688). Callers changed.
* programs.texi (Expressions):
* text.texi (Words): Defer to Marking Objects for mark-word doc.
Eli Zaretskii [Wed, 12 Oct 2011 15:12:52 +0000 (17:12 +0200)]
Remove incorrect comments about U+2028 LS character.
See http://www.unicode.org/mail-arch/unicode-ml/y2011-m10/0048.html
for more details.
src/bidi.c (bidi_level_of_next_char):
src/xdisp.c (get_visually_first_element): Remove old incorrect
comments regarding the Unicode Line Separator character.
Paul Eggert [Wed, 12 Oct 2011 06:56:23 +0000 (23:56 -0700)]
* configure.in: Remove check for -lintl (Bug#9713).
The check breaks 'configure' in some CentOS 5.7 x86 configurations.
The check was helpful but not essential in Solaris 2.6 (1997),
and is no longer needed in Solaris 8 (2000). Solaris 2.6 is
obsolete -- Sun dropped support for it in 2006 -- and without
access to that Silurian platform we can't maintain the code anyway.
Stefan Monnier [Tue, 11 Oct 2011 21:31:22 +0000 (17:31 -0400)]
Make sendmail-query-once offer 3-way choice; avoid repeated queries.
* mail/sendmail.el (send-mail-function): Don't use sendmail-query-once
if not needed.
(sendmail-query-once): Remove OS dependencies. Make it a 3-way choice
using completion. Protect against "slow" callers.
Remove the "message hack".