Chong Yidong [Thu, 27 Oct 2011 08:07:28 +0000 (16:07 +0800)]
More gnutls memory fixes.
* src/gnutls.c (emacs_gnutls_deinit): Deinit the gnutls_state if it is
non-NULL, regardless of GNUTLS_INITSTAGE.
(Fgnutls_boot): Cleanups. Call emacs_gnutls_deinit if we signal
an error. Set process slots as soon as we allocate them.
Chong Yidong [Thu, 27 Oct 2011 06:07:09 +0000 (14:07 +0800)]
Fix a memory leak in the built-in GnuTLS support.
* src/gnutls.c (emacs_gnutls_deinit): New function. Deallocate
credentials structures as well as calling gnutls_deinit.
(Fgnutls_deinit, Fgnutls_boot): Use it.
Stefan Monnier [Wed, 26 Oct 2011 17:27:51 +0000 (13:27 -0400)]
* lisp/gnus/message.el: Don't insert TAB in headers with completion.
(message-completion-function): Don't fallback on message-tab-body-function
when message-completion-alist fails to find a completion.
Stefan Monnier [Tue, 25 Oct 2011 12:54:04 +0000 (08:54 -0400)]
Make function-key-map apply when key is bound to `undefined'.
* src/keyboard.c (test_undefined): New function.
(read_key_sequence): Use it to detect when a key is bound to `undefined'.
Paul Eggert [Mon, 24 Oct 2011 02:40:23 +0000 (19:40 -0700)]
* configure.in (LIB_PTHREAD): Prepend -lpthread to LIBS (Bug#9852)
if the library is found. Otherwise, later configure-time tests,
such as the test for pthread_sigmask, generate the wrong results
on some platforms. Problem reported for FreeBSD by Nali Toja.
Chong Yidong [Mon, 24 Oct 2011 02:01:54 +0000 (10:01 +0800)]
Document scroll-up-line and scroll-down-line in Emacs manual.
* doc/emacs/display.texi (Scrolling): Document scroll-up-line and
scroll-down-line. Document scroll-command property.
(Recentering): New node, split off from Scrolling.
Also, minor copyedits to standardize on the phrase "key binding"
rather than "keybinding" in the manual.
Chong Yidong [Sun, 23 Oct 2011 03:38:23 +0000 (11:38 +0800)]
Make vc-toggle-read-only an alias for toggle-read-only.
It hasn't worked in a VC sense since 2008-05-02T07:12:59Z!esr@snark.thyrsus.com, though this was
not documented at the time (grr).
* lisp/vc/vc-hooks.el (vc-toggle-read-only): Make it an obsolete alias
for toggle-read-only. Note that this hasn't called vc-next-action
since 2008-05-02, though it wasn't documented at the time.
* lisp/files.el (toggle-read-only): Remove obsolete comment about
version control.
Chong Yidong [Fri, 21 Oct 2011 14:48:39 +0000 (22:48 +0800)]
Fix for 2011-10-21T02:23:59Z!cyd@gnu.org.
* lisp/progmodes/idlwave.el (idlwave-mode):
* lisp/progmodes/vera-mode.el (vera-mode): No need to set
require-final-newline; that's done in prog-mode. Suggested by
Stefan Monnier.
Chong Yidong [Fri, 21 Oct 2011 02:23:59 +0000 (22:23 -0400)]
Use mode-require-final-newline for idlwave.el and vera-mode.el.
* progmodes/idlwave.el (idlwave-mode):
* progmodes/vera-mode.el (vera-mode): Use mode-require-final-newline.
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.