Andrew Cohen [Wed, 20 Jul 2011 14:19:52 +0000 (14:19 +0000)]
Merge changes made in Gnus trunk.
nnimap.el (nnimap-make-thread-query): New utility function to format an imap thread search query.
(nnimap-request-thread): Use it.
gnus-sum.el (gnus-handle-ephemeral-exit): Ensure we are setting the right select-method if we are not going back to the group buffer.
Lars Magne Ingebrigtsen [Wed, 20 Jul 2011 09:53:51 +0000 (11:53 +0200)]
(proced-update): Revert yesterday's bug#1779 patch, which apparently didn't work.
Lars Magne Ingebrigtsen [Wed, 20 Jul 2011 09:10:10 +0000 (11:10 +0200)]
White space fix
Roland Winkler [Wed, 20 Jul 2011 01:09:31 +0000 (20:09 -0500)]
lisp/proced.el (proced-send-signal): small fix
Gnus developers [Tue, 19 Jul 2011 22:19:06 +0000 (22:19 +0000)]
Merge changes made in Gnus trunk.
gnus-group.el (gnus-group-read-ephemeral-group): Make sure we don't enter invalid buffer configurations into the quit form (bug#9107).
(gnus-group-tool-bar-gnome): Replace connect/disconnect with unplugged/plugged.
gnus-sum.el (gnus-summary-refer-thread): When inserting new headers, keep track of which ones are unread (bug#9061).
gnus.el (gnus-refer-article-method): Allow entering any sexp (bug#9055).
gnus-art.el (gnus-article-show-images): Allow working if using w3m (bug#9041).
gnus-html.el (mm-util): Require (bug#9073).
gnus-sum.el (gnus-delete-duplicate-headers): New function.
(gnus-summary-refer-thread): Use it to remove duplicates in the un-threaded view (bug#9053).
(gnus-summary-insert-subject): Document USE-OLD-HEADER (bug#9070).
nnir.el (nnir-read-server-parm): Use default value from global variable. Without this the default search engine parameters aren't used at all.
message.el (message-unique-id): Don't use the undocumented return value from (random t) (bug#9118).
Stephen Berman [Tue, 19 Jul 2011 21:31:26 +0000 (23:31 +0200)]
(proced-format): Make header lines align with the text
Paul Eggert [Tue, 19 Jul 2011 17:33:06 +0000 (10:33 -0700)]
Port to OpenBSD.
See http://lists.gnu.org/archive/html/emacs-devel/2011-07/msg00688.html
and the surrounding thread.
* minibuf.c (read_minibuf_noninteractive): Rewrite to use getchar
rather than fgets, and retry after EINTR. Otherwise, 'emacs
--batch -f byte-compile-file' fails on OpenBSD if an inactivity
timer goes off.
* s/openbsd.h (BROKEN_SIGIO): Define.
* unexelf.c (unexec) [__OpenBSD__]:
Don't update the .mdebug section of the Alpha COFF symbol table.
Lars Magne Ingebrigtsen [Tue, 19 Jul 2011 15:16:58 +0000 (17:16 +0200)]
* lread.c (syms_of_lread): Clarify when `lexical-binding' is used
Lars Magne Ingebrigtsen [Tue, 19 Jul 2011 15:01:49 +0000 (17:01 +0200)]
(view-buffer): Allow running in `special' modes if we're visiting a file.
Fixes: debbugs:8615
Glenn Morris [Tue, 19 Jul 2011 07:15:15 +0000 (00:15 -0700)]
* admin/FOR-RELEASE: Reset list of proof-read manual etc files.
Martin Rudalics [Tue, 19 Jul 2011 07:05:51 +0000 (09:05 +0200)]
Rewrite display-buffer-alist-set to handle Emacs 23 options more accurately.
* window.el (display-buffer-alist-of-strings-p)
(display-buffer-alist-set-1, display-buffer-alist-set-2): New
functions.
(display-buffer-alist-set): Rewrite to handle Emacs 23 options
more accurately.
Paul Eggert [Mon, 18 Jul 2011 21:01:36 +0000 (14:01 -0700)]
* fileio.c (Fcopy_file) [!MSDOS]: Tighten created file's mask.
This fixes some race conditions on the permissions of any newly
created file.
Paul Eggert [Mon, 18 Jul 2011 20:24:40 +0000 (13:24 -0700)]
* alloc.c (valid_pointer_p): Use pipe, not open.
This fixes some permissions issues when debugging.
Dan Nicolaescu [Mon, 18 Jul 2011 17:33:02 +0000 (10:33 -0700)]
Add an example on how to use prog-mode.
Paul Eggert [Mon, 18 Jul 2011 17:21:18 +0000 (10:21 -0700)]
* fileio.c (Fcopy_file): Adjust mode if fchown fails. (Bug#9002)
If fchown fails to set both uid and gid, try to set just gid,
as that is sometimes allowed. Adjust the file's mode to eliminate
setuid or setgid bits that are inappropriate if fchown fails.
Alan Mackenzie [Mon, 18 Jul 2011 17:15:24 +0000 (17:15 +0000)]
CC Mode: Fontify declarators properly when, e.g., a jit-lock chunk begins
inside a declaration. Changed cc-engine.el, cc-langs.el, cc-fonts.el.
Andreas Schwab [Mon, 18 Jul 2011 15:05:46 +0000 (17:05 +0200)]
Update GB18030 charset maps to 2005 edition
Stefan Monnier [Mon, 18 Jul 2011 02:34:14 +0000 (22:34 -0400)]
* src/xdisp.c (next_element_from_string, next_element_from_buffer): Use EQ
to compare Lisp_Objects.
* src/gnutls.c (syms_of_gnutls): Rename Vgnutls_log_level to
global_gnutls_log_level, don't mistake it for a Lisp_Object.
(init_gnutls_functions, emacs_gnutls_handle_error): Fix up uses.
Bill Wohler [Sun, 17 Jul 2011 21:16:34 +0000 (14:16 -0700)]
* NEWS, MH-E-NEWS: Update for MH-E release 8.2.93.
Bill Wohler [Sun, 17 Jul 2011 21:13:38 +0000 (14:13 -0700)]
* mh-e.el (Version, mh-version): Update for release 8.2.93.
Bill Wohler [Sun, 17 Jul 2011 20:45:52 +0000 (13:45 -0700)]
* mh-compat.el (mh-pop-to-buffer-same-window): Delete.
* mh-folder.el (mh-inc-folder, mh-modify, mh-scan-folder)
(mh-make-folder): Revert to switch-to-buffer, as the Emacs folks
decided that it was fine to use it in programs.
Lars Magne Ingebrigtsen [Sun, 17 Jul 2011 15:57:47 +0000 (17:57 +0200)]
* image.el (put-image): Doc typo fix.
Andreas Schwab [Sun, 17 Jul 2011 10:35:42 +0000 (12:35 +0200)]
Fix last change
Andreas Schwab [Sun, 17 Jul 2011 10:29:24 +0000 (12:29 +0200)]
Make read-symbol-positions-list more accurate
* src/lread.c (read_integer): Unread even EOF character.
(read1): Likewise. Properly record start position of symbol.
Glenn Morris [Sun, 17 Jul 2011 10:26:13 +0000 (06:26 -0400)]
Auto-commit of loaddefs files.
Andreas Schwab [Sun, 17 Jul 2011 08:00:53 +0000 (10:00 +0200)]
* src/lread.c (read1): Read `#:' as empty uninterned symbol if no
symbol character follows.
Lars Magne Ingebrigtsen [Sun, 17 Jul 2011 02:21:43 +0000 (04:21 +0200)]
(tags-search): Doc typo fix.
Paul Eggert [Sun, 17 Jul 2011 01:18:51 +0000 (18:18 -0700)]
* fileio.c (Fcopy_file): Pacify gcc re fchown. (Bug#9002)
This works around a problem with the previous change to Fcopy_file.
Recent glibc declares fchown with __attribute__((warn_unused_result)),
and without this change, GCC might complain about discarding
fchown's return value.
Lars Magne Ingebrigtsen [Sun, 17 Jul 2011 00:45:56 +0000 (02:45 +0200)]
(smtpmail-via-smtp): Query the user for password if we get errors 550 to 554.
Lars Magne Ingebrigtsen [Sun, 17 Jul 2011 00:11:27 +0000 (00:11 +0000)]
Merge changes made in Gnus trunk.
message.el (message-auto-save-directory): If the ~/Mail directory doesn't exist, use ~ as the auto-save directory (bug#4432).
gnus-group.el (gnus-group-read-ephemeral-group): Start Gnus if it hasn't already been started.
Juanma Barranquero [Sat, 16 Jul 2011 23:40:44 +0000 (01:40 +0200)]
src/makefile.w32-in (GLOBAL_SOURCES): Add gnutls.c (followup to bug#9059).
Lars Magne Ingebrigtsen [Sat, 16 Jul 2011 22:49:20 +0000 (00:49 +0200)]
Move the defintion of `gnutls-log-level' to the C level to avoid loading problems
Paul Eggert [Sat, 16 Jul 2011 21:53:38 +0000 (14:53 -0700)]
* fileio.c (Fcopy_file): Don't diagnose fchown failures.
Fixes: debbugs:9002
Lars Magne Ingebrigtsen [Sat, 16 Jul 2011 20:05:54 +0000 (22:05 +0200)]
Include EN DASH as an indentation character
* textmodes/fill.el (adaptive-fill-regexp): Include EN DASH as an
indentation character.
Fixes: debbugs:6380
Glenn Morris [Sat, 16 Jul 2011 20:05:20 +0000 (13:05 -0700)]
ChangeLog fix.
Lars Magne Ingebrigtsen [Sat, 16 Jul 2011 20:01:37 +0000 (22:01 +0200)]
Make `buffer-offer-save' permanently local
Fixes: debbugs:6241
Glenn Morris [Sat, 16 Jul 2011 20:02:57 +0000 (13:02 -0700)]
Grammar tweak.
Lars Magne Ingebrigtsen [Sat, 16 Jul 2011 19:38:25 +0000 (21:38 +0200)]
Make docview error message clearer
* doc-view.el (doc-view-make-safe-dir): Rewrite the error message
to clarify what the problem is (bug#4291).
Lars Magne Ingebrigtsen [Sat, 16 Jul 2011 18:42:38 +0000 (20:42 +0200)]
Document `auto-fill-function' in relation to `auto-fill-mode'
Fixes: debbugs:2470
Lars Magne Ingebrigtsen [Sat, 16 Jul 2011 18:39:01 +0000 (20:39 +0200)]
* simple.el (current-kill): Clarify what `interprogram-paste-function' does.
Apparently I forgot to check in simple.el last time and just checked
in the ChangeLog.
Fixes: debbugs:7500
Lars Magne Ingebrigtsen [Sat, 16 Jul 2011 18:27:08 +0000 (20:27 +0200)]
Use the same condition for POLL_FOR_INPUT in both keyboard.c and process.c
Fixes: debbugs:1858
Lars Magne Ingebrigtsen [Sat, 16 Jul 2011 17:58:16 +0000 (19:58 +0200)]
Document toolkit differences for menus
(Toolkit Differences): New node with text from Tim
Cross (tiny change) and Glenn Morris.
Bill Wohler [Sat, 16 Jul 2011 16:16:34 +0000 (09:16 -0700)]
* mh-e.el (Version, mh-version): Update for release 8.2.92.
Bill Wohler [Sat, 16 Jul 2011 16:15:43 +0000 (09:15 -0700)]
* NEWS, MH-E-NEWS: Update for MH-E release 8.2.92.
Lawrence Mitchell [Sat, 16 Jul 2011 15:52:46 +0000 (17:52 +0200)]
Silence byte-compiler warning with :read-only defstruct slots
* emacs-lisp/cl-macs.el (defstruct): Ignore argument to setf
method if slot is read-only.
Fixes: debbugs:9035
Martin Rudalics [Sat, 16 Jul 2011 13:02:51 +0000 (15:02 +0200)]
To fixes wrt window selection and buffer list.
* frame.el (select-frame-set-input-focus): New argument
NORECORD.
* window.el (pop-to-buffer): Select window used even if it was
selected before, see discussion of (Bug#8615), (Bug#6954). Pass
argument NORECORD on to select-frame-set-input-focus.
Glenn Morris [Fri, 15 Jul 2011 23:59:25 +0000 (19:59 -0400)]
* lisp/subr.el (read-char-choice): Respect help-form. (Bug#9001)
Lars Magne Ingebrigtsen [Fri, 15 Jul 2011 23:16:19 +0000 (23:16 +0000)]
Merge changes made in Gnus trunk.
gnus.el (debbugs-gnu): Renamed from debbugs-emacs.
message.el (message-reply): Work around mysterious bug where `message-mode' seems to overwrite the locally bound `subject' variable.
Glenn Morris [Fri, 15 Jul 2011 22:53:39 +0000 (18:53 -0400)]
* lisp/subr.el (read-char-choice): Allow quitting. (Bug#9001)
Andreas Schwab [Fri, 15 Jul 2011 18:43:23 +0000 (20:43 +0200)]
* doc/lispref/help.texi (Keys in Documentation): Revert last change.
Lawrence Mitchell [Fri, 15 Jul 2011 17:41:24 +0000 (19:41 +0200)]
Allow controlling how many prime bits to use during TLS negotiation
Lars Magne Ingebrigtsen [Fri, 15 Jul 2011 17:25:02 +0000 (19:25 +0200)]
* net/gnutls.el (gnutls-negotiate): Upcase `gnutls-algorithm-priority'.
Lars Magne Ingebrigtsen [Fri, 15 Jul 2011 17:21:57 +0000 (19:21 +0200)]
Add a variable to customize the gnutls priority
Glenn Morris [Fri, 15 Jul 2011 17:18:53 +0000 (13:18 -0400)]
Rework previous change.
* lisp/jka-compr.el (jka-compr-verbose): Move from here...
* lisp/jka-cmpr-hook.el (jka-compr-verbose): ... to here. (Bug#9090)
Add missing :version tag.
* lisp/info.el: No need to require jka-compr when compiling.
Glenn Morris [Fri, 15 Jul 2011 17:04:12 +0000 (13:04 -0400)]
* lisp/info.el (info-insert-file-contents): Require jka-compr. (Bug#9090)
Lars Magne Ingebrigtsen [Fri, 15 Jul 2011 16:01:18 +0000 (18:01 +0200)]
* emacs-lisp/cl-macs.el (declare): Link to the "Declarations" node.
Lars Magne Ingebrigtsen [Fri, 15 Jul 2011 15:46:28 +0000 (17:46 +0200)]
* help.texi (Misc Help): Mention `describe-prefix-bindings' explicitly.
Fixes: debbugs:8904
Andreas Schwab [Fri, 15 Jul 2011 15:31:36 +0000 (17:31 +0200)]
* src/doc.c (Fsubstitute_command_keys): Revert last change.
Lars Magne Ingebrigtsen [Fri, 15 Jul 2011 15:14:46 +0000 (17:14 +0200)]
(Info-mode-menu): Use `Info-beginning-of-buffer' for consistency.
Lars Magne Ingebrigtsen [Fri, 15 Jul 2011 15:13:00 +0000 (17:13 +0200)]
Add new command `Info-beginning-of-buffer' to allow announcing `b'
* info.el (Info-beginning-of-buffer): New command.
(Info-mode-map): Use it instead of `beginning-of-buffer' to allow
announcing `b' as the key (bug#8325).
Lars Magne Ingebrigtsen [Fri, 15 Jul 2011 14:59:42 +0000 (16:59 +0200)]
* emacs-lisp/cl-macs.el (declare): Doc string fix-up.
Lars Magne Ingebrigtsen [Fri, 15 Jul 2011 14:31:14 +0000 (16:31 +0200)]
Clarify that \= only quotes the next character
Lars Magne Ingebrigtsen [Fri, 15 Jul 2011 14:24:09 +0000 (16:24 +0200)]
Error message fix in `describe-specified-language-support'
* international/mule-cmds.el
(describe-specified-language-support): Make the error message
clearer (bug#8905).
Lars Magne Ingebrigtsen [Fri, 15 Jul 2011 13:59:53 +0000 (15:59 +0200)]
Use /dev/null instead of the Windows "nul" in flymake example
Fixes: debbugs:8715
Lars Magne Ingebrigtsen [Fri, 15 Jul 2011 13:55:00 +0000 (15:55 +0200)]
Minor grammer fixes for syntax.el.
Fixes: debbugs:8690
Lars Magne Ingebrigtsen [Fri, 15 Jul 2011 13:46:52 +0000 (15:46 +0200)]
* emacs-lisp/cl-macs.el (declare): Add a doc string (bug#8690).
Lars Magne Ingebrigtsen [Fri, 15 Jul 2011 13:33:07 +0000 (15:33 +0200)]
Doc fix.
* isearch.el (isearch-barrier): Add a doc string, since it's
mentioned in a function doc string.
Fixes: debbugs:8678
Lars Magne Ingebrigtsen [Fri, 15 Jul 2011 13:16:11 +0000 (15:16 +0200)]
(Using Debugger): Mention @code{eval-expression-debug-on-error}
Fixes: debbugs:8549
Lars Magne Ingebrigtsen [Fri, 15 Jul 2011 12:57:20 +0000 (14:57 +0200)]
`lexical-binding' doc clarification
* lread.c (syms_of_lread): Clarify that is isn't only
`eval-buffer' and `eval-defun' that's affected by
`lexical-binding'.
Fixes: debbugs:8460
Lars Magne Ingebrigtsen [Fri, 15 Jul 2011 12:45:51 +0000 (14:45 +0200)]
* variables.texi (Lexical Binding): Mention `defcustom'.
Fixes: debbugs:8459
Eli Zaretskii [Fri, 15 Jul 2011 10:50:03 +0000 (13:50 +0300)]
Fix vertical cursor motion in Speedbar frames under bidi display.
src/xdisp.c (move_it_in_display_line_to): Fix vertical motion with
bidi redisplay when a line includes both an image and is
truncated.
Martin Rudalics [Fri, 15 Jul 2011 07:12:09 +0000 (09:12 +0200)]
Fix pop-to-buffer call in switch-to-buffer.
* window.el (switch-to-buffer): Call pop-to-buffer with normalized
buffer argument (Bug#9083) and self-identifying label argument.
Glenn Morris [Fri, 15 Jul 2011 02:18:02 +0000 (22:18 -0400)]
No need for ChangeLog entry about quickly reverted change.
(Also confusing since the original ChangeLog entry was removed.)
Glenn Morris [Fri, 15 Jul 2011 02:16:55 +0000 (22:16 -0400)]
* lisp/emacs-lisp/debug.el (debug): Doc fix. (Bug#8273)
Glenn Morris [Fri, 15 Jul 2011 02:15:05 +0000 (22:15 -0400)]
* admin/notes/bugtracker: How to add new tags.
Katsumi Yamaoka [Thu, 14 Jul 2011 22:20:24 +0000 (22:20 +0000)]
lisp/gnus/ChangeLog (2011-07-14): Fix function name.
Paul Eggert [Thu, 14 Jul 2011 21:43:31 +0000 (14:43 -0700)]
Fix minor problems found by static checking.
* bidi.c (bidi_cache_size): Now EMACS_INT, not size_t.
(elsz): Now a signed constant, not a size_t var. We prefer signed
types to unsigned, to avoid integer comparison confusion. Without
this change, GCC 4.6.1 with -Wunsafe-loop-optimizations complains
"cannot optimize loop, the loop counter may overflow", a symptom
of the confusion.
Paul Eggert [Thu, 14 Jul 2011 21:35:23 +0000 (14:35 -0700)]
* indent.c (Fvertical_motion): Mark locals as initialized.
Paul Eggert [Thu, 14 Jul 2011 21:34:18 +0000 (14:34 -0700)]
* xdisp.c (reseat_to_string): Fix pointer signedness issue.
Lars Magne Ingebrigtsen [Thu, 14 Jul 2011 20:08:05 +0000 (22:08 +0200)]
* data.c (Fcdr, Fcar): Revert the last change, since it didn't really clarify much.
Lars Magne Ingebrigtsen [Thu, 14 Jul 2011 18:45:36 +0000 (20:45 +0200)]
Mention `case-fold-search' in all the re_search_* functions
Fixes: debbugs:8138
Lars Magne Ingebrigtsen [Thu, 14 Jul 2011 18:37:53 +0000 (20:37 +0200)]
Manual fix for the dribble file
* trouble.texi (Checklist): Use an `M-x' example instead of an
Emacs Lisp form to switch on the dribble file.
Fixes: debbugs:8056
Lars Magne Ingebrigtsen [Thu, 14 Jul 2011 18:34:54 +0000 (20:34 +0200)]
* keyboard.c (Fopen_dribble_file): Document when the file is closed.
Fixes: debbugs:8056
Adam Sjøgren [Thu, 14 Jul 2011 18:29:19 +0000 (20:29 +0200)]
* data.c (car, cdr): add functionality hints to documentation.
Lars Magne Ingebrigtsen [Thu, 14 Jul 2011 17:43:29 +0000 (19:43 +0200)]
* man.el (Man-fontify-manpage): Fix message when formatting the man page.
Fixes: debbugs:7929
Eli Zaretskii [Thu, 14 Jul 2011 17:43:50 +0000 (20:43 +0300)]
Fix format conversion in bidi.c.
src/bidi.c (bidi_dump_cached_states): Fix format of displaying
bidi_cache_idx.
Lars Magne Ingebrigtsen [Thu, 14 Jul 2011 17:39:00 +0000 (19:39 +0200)]
Only output the man page name on failures
* man.el (Man-bgproc-sentinel): Skip any arguments and only output
the man page name.
Fixes: debbugs:6935
Eli Zaretskii [Thu, 14 Jul 2011 17:28:42 +0000 (20:28 +0300)]
Support bidi reordering of overlay and display strings.
Fix bugs #7616, #8133, #8867.
src/xdisp.c (compute_display_string_pos)
(compute_display_string_end): Accept additional argument STRING.
(init_iterator, reseat_1): Initialize bidi_it->string.s to NULL.
(reseat_to_string): Initialize bidi_it->string.s and
bidi_it->string.schars.
(Fcurrent_bidi_paragraph_direction): Initialize itb.string.s to
NULL (avoids a crash in bidi_paragraph_init). Initialize
itb.string.lstring.
(init_iterator): Call bidi_init_it only of a valid
buffer position was specified. Initialize paragraph_embedding to
L2R.
(reseat_to_string): Initialize the bidi iterator.
(display_string): If we need to ignore text properties of
LISP_STRING, set IT->stop_charpos to IT->end_charpos. (The
original value of -1 will not work with bidi.)
(compute_display_string_pos): First arg is now struct
`text_pos *'; all callers changed. Support display properties on
Lisp strings.
(compute_display_string_end): Support display properties on Lisp
strings.
(init_iterator, reseat_1, reseat_to_string): Initialize the
string.bufpos member to 0 (zero, for compatibility with IT_CHARPOS
when iterating on a string not from display properties).
(compute_display_string_pos, compute_display_string_end): Fix
calculation of the object to scan. Fixes an error when using
arrow keys.
(next_element_from_buffer): Don't abort when IT_CHARPOS is before
base_level_stop; instead, set base_level_stop to BEGV. Fixes
crashes in vertical-motion.
(next_element_from_buffer): Improve commentary for when
the iterator is before prev_stop.
(init_iterator): Initialize bidi_p from the default value of
bidi-display-reordering, not from buffer-local value. Use the
buffer-local value only if initializing for buffer iteration.
(handle_invisible_prop): Support invisible properties on strings
that are being bidi-reordered.
(set_iterator_to_next): Support bidi reordering of C strings and
Lisp strings.
(next_element_from_string): Support bidi reordering of Lisp
strings.
(handle_stop_backwards): Support Lisp strings as well.
(display_string): Support display of R2L glyph rows. Use
IT_STRING_CHARPOS when displaying from a Lisp string.
(init_iterator): Don't initialize it->bidi_p for strings
here.
(reseat_to_string): Initialize it->bidi_p for strings here.
(next_element_from_string, next_element_from_c_string)
(next_element_from_buffer): Add xassert's for correspondence
between IT's object being iterated and it->bidi_it.string
structure.
(face_before_or_after_it_pos): Support bidi iteration.
(next_element_from_c_string): Handle the case of the first string
character that is not the first one in the visual order.
(get_visually_first_element): New function, refactored from common
parts of next_element_from_buffer, next_element_from_string, and
next_element_from_c_string.
(tool_bar_lines_needed, redisplay_tool_bar)
(display_menu_bar): Force left-to-right direction. Add a FIXME
comment for making that be controlled by a user option.
(push_it, pop_it): Save and restore the state of the
bidi iterator. Save and restore the bidi_p flag.
(pop_it): Iterate out of display property for string iteration as
well.
(iterate_out_of_display_property): Support iteration over strings.
(handle_single_display_spec): Set up it->bidi_it for iteration
over a display string, and call bidi_init_it.
(handle_single_display_spec, next_overlay_string)
(get_overlay_strings_1, push_display_prop): Set up the bidi
iterator for displaying display or overlay strings.
(forward_to_next_line_start): Don't use the shortcut if
bidi-iterating.
(back_to_previous_visible_line_start): If handle_display_prop
pushed the iterator stack, restore the internal state of the bidi
iterator by calling bidi_pop_it same number of times.
(reseat_at_next_visible_line_start): If ON_NEWLINE_P is non-zero,
and we are bidi-iterating, don't decrement the iterator position;
instead, set the first_elt flag in the bidi iterator, to produce
the same effect.
(reseat_1): Remove redundant setting of string_from_display_prop_p.
(push_display_prop): xassert that we are iterating a buffer.
(push_it, pop_it): Save and restore paragraph_embedding member.
(handle_single_display_spec, next_overlay_string)
(get_overlay_strings_1, reseat_1, reseat_to_string)
(push_display_prop): Set up the `unibyte' member of bidi_it.string
correctly. Don't assume unibyte strings are not bidi-reordered.
(compute_display_string_pos)
(compute_display_string_end): Fix handling the case of C string.
(push_it, pop_it): Save and restore from_disp_prop_p.
(handle_single_display_spec, push_display_prop): Set the
from_disp_prop_p flag.
(get_overlay_strings_1): Reset the from_disp_prop_p flag.
(pop_it): Call iterate_out_of_display_property only if we are
popping after iteration over a string that came from a display
property. Fix a typo in popping stretch info. Add an assertion
for verifying that the iterator position is in sync with the bidi
iterator.
(handle_single_display_spec, get_overlay_strings_1)
(push_display_prop): Fix initialization of paragraph direction for
string when that of the parent object is not yet determined.
(reseat_1): Call bidi_init_it to resync the bidi
iterator with IT's position. (Bug#7616)
(find_row_edges): If ROW->start.pos gives position
smaller than min_pos, use it as ROW->minpos. (Bug#7616)
(handle_stop, back_to_previous_visible_line_start, reseat_1):
Reset the from_disp_prop_p flag.
(SAVE_IT, RESTORE_IT): New macros.
(pos_visible_p, face_before_or_after_it_pos)
(back_to_previous_visible_line_start)
(move_it_in_display_line_to, move_it_in_display_line)
(move_it_to, move_it_vertically_backward, move_it_by_lines)
(try_scrolling, redisplay_window, display_line): Use them when
saving a temporary copy of the iterator and restoring it back.
(back_to_previous_visible_line_start, reseat_1)
(init_iterator): Empty the bidi cache "stack".
(move_it_in_display_line_to): If iterator ended up at
EOL, but we never saw any buffer positions smaller than
to_charpos, return MOVE_POS_MATCH_OR_ZV. Fixes vertical cursor
motion in bidi-reordered lines.
(move_it_in_display_line_to): Record prev_method and prev_pos
immediately before the call to set_iterator_to_next. Fixes cursor
motion in bidi-reordered lines with stretch glyphs and strings
displayed in margins. (Bug#8133) (Bug#8867)
Return MOVE_POS_MATCH_OR_ZV only if iterator position is past
TO_CHARPOS.
(pos_visible_p): Support positions in bidi-reordered lines. Save
and restore bidi cache.
src/bidi.c (bidi_level_of_next_char): clen should be EMACS_NT, not int.
(bidi_paragraph_info): Delete unused struct.
(bidi_cache_idx, bidi_cache_last_idx): Declare EMACS_INT.
(bidi_cache_start): New variable.
(bidi_cache_reset): Reset bidi_cache_idx to bidi_cache_start, not
to zero.
(bidi_cache_fetch_state, bidi_cache_search)
(bidi_cache_find_level_change, bidi_cache_iterator_state)
(bidi_cache_find, bidi_peek_at_next_level)
(bidi_level_of_next_char, bidi_find_other_level_edge)
(bidi_move_to_visually_next): Compare cache index with
bidi_cache_start rather than with zero.
(bidi_fetch_char): Accept new argument STRING; all callers
changed. Support iteration over a string. Support strings with
display properties. Support unibyte strings. Fix the type of
`len' according to what STRING_CHAR_AND_LENGTH expects.
(bidi_paragraph_init, bidi_resolve_explicit_1)
(bidi_resolve_explicit, bidi_resolve_weak)
(bidi_level_of_next_char, bidi_move_to_visually_next): Support
iteration over a string.
(bidi_set_sor_type, bidi_resolve_explicit_1)
(bidi_resolve_explicit, bidi_type_of_next_char): ignore_bn_limit
can now be zero (for strings); special values 0 and -1 were
changed to -1 and -2, respectively.
(bidi_char_at_pos): New function.
(bidi_paragraph_init, bidi_resolve_explicit, bidi_resolve_weak):
Call it instead of FETCH_MULTIBYTE_CHAR.
(bidi_move_to_visually_next): Abort if charpos or bytepos were not
initialized to valid values.
(bidi_init_it): Don't initialize charpos and bytepos with invalid
values.
(bidi_level_of_next_char): Allow the sentinel "position" to pass
the test for valid cached positions. Fix the logic for looking up
the sentinel state in the cache. GCPRO the Lisp string we are
iterating.
(bidi_push_it, bidi_pop_it): New functions.
(bidi_initialize): Initialize the bidi cache start stack pointer.
(bidi_cache_ensure_space): New function, refactored from part of
bidi_cache_iterator_state. Don't assume the required size is just
one BIDI_CACHE_CHUNK away.
(bidi_cache_start_stack, bidi_push_it): Use IT_STACK_SIZE.
(bidi_count_bytes, bidi_char_at_pos): New functions.
(bidi_cache_search): Don't assume bidi_cache_last_idx is
always valid if bidi_cache_idx is valid.
(bidi_cache_find_level_change): xassert that bidi_cache_last_idx
is valid if it's going to be used.
(bidi_shelve_cache, bidi_unshelve_cache): New functions.
(bidi_cache_fetch_state, bidi_cache_search)
(bidi_cache_find_level_change, bidi_cache_ensure_space)
(bidi_cache_iterator_state, bidi_cache_find)
(bidi_find_other_level_edge, bidi_cache_start_stack): All
variables related to cache indices are now EMACS_INT.
src/dispextern.h (struct bidi_string_data): New structure.
(struct bidi_it): New member `string'. Make flag members be 1-bit
fields, and put them last in the struct.
(compute_display_string_pos, compute_display_string_end): Update
prototypes.
(bidi_push_it, bidi_pop_it): Add prototypes.
(struct iterator_stack_entry): New members bidi_p,
paragraph_embedding, and from_disp_prop_p.
(struct it): Member bidi_p is now a bit field 1 bit wide.
(bidi_shelve_cache, bidi_unshelve_cache): Declare
prototypes.
src/.gdbinit (xvectype, xvector, xcompiled, xchartable, xboolvector)
(xpr, xfont, xbacktrace): Use "header.size" when accessing vectors
and vector-like objects.
src/dispnew.c (buffer_posn_from_coords): Save and restore the bidi
cache around display iteration.
src/window.c (Fwindow_end, window_scroll_pixel_based)
(displayed_window_lines, Frecenter): Save and restore the bidi
cache around display iteration.
lisp/buff-menu.el (Buffer-menu-buffer+size): Accept an additional
argument LRM; if non-nil, append an invisible LRM character to the
buffer name.
(list-buffers-noselect): Call Buffer-menu-buffer+size with the
last argument non-nil, when formatting buffer names.
(Buffer-menu-mode, list-buffers-noselect): Force left-to-right
paragraph direction.
doc/lispref/display.texi (Other Display Specs): Document that `left-fringe'
and `right-fringe' display specifications are of the "replacing"
kind.
Lars Magne Ingebrigtsen [Thu, 14 Jul 2011 17:20:37 +0000 (19:20 +0200)]
`put-image' doc fix
* image.el (put-image): Mention the `put-image' overlay property
(bug#7834).
Lars Magne Ingebrigtsen [Thu, 14 Jul 2011 17:11:49 +0000 (19:11 +0200)]
`set-scroll-bar-mode' doc clarification
* scroll-bar.el (set-scroll-bar-mode): Mention that
`scroll-bar-mode' lists the values (bug#7772).
Lars Magne Ingebrigtsen [Thu, 14 Jul 2011 17:05:43 +0000 (19:05 +0200)]
`image-mode-fit-frame' doc fix
* image-mode.el (image-mode-fit-frame): Mention that it's a toggle
command
Fixes: debbugs:7729
Eli Zaretskii [Thu, 14 Jul 2011 16:25:15 +0000 (19:25 +0300)]
Fix declarations of variables related to bidi cache indices.
src/bidi.c (bidi_cache_fetch_state, bidi_cache_search)
(bidi_cache_find_level_change, bidi_cache_ensure_space)
(bidi_cache_iterator_state, bidi_cache_find)
(bidi_find_other_level_edge, bidi_cache_start_stack): All
variables related to cache indices are now EMACS_INT.
Lars Magne Ingebrigtsen [Thu, 14 Jul 2011 15:23:08 +0000 (17:23 +0200)]
Leave point at the end of the rectangle after replacing text
* rect.el (apply-on-rectangle): Return the point after the last
operation.
(string-rectangle): Go to the point after the last operation
(bug#7522).
Lars Magne Ingebrigtsen [Thu, 14 Jul 2011 15:05:08 +0000 (17:05 +0200)]
`current-kill' doc clarification
* simple.el (current-kill): Clarify what
`interprogram-paste-function' does (bug#7500).
Lars Magne Ingebrigtsen [Thu, 14 Jul 2011 14:54:32 +0000 (16:54 +0200)]
pr-toggle-region doc clarification
* printing.el (pr-toggle-region): Clarify the documentation
slightly (bug#7493).
Lars Magne Ingebrigtsen [Thu, 14 Jul 2011 14:30:35 +0000 (16:30 +0200)]
Allow display-time-mail-function to return nil
* time.el (display-time-update): Allow
`display-time-mail-function' to return nil (bug#7158). Fix
suggested by Detlev Zundel.
Andrew Cohen [Thu, 14 Jul 2011 14:19:53 +0000 (14:19 +0000)]
Merge changes made in Gnus trunk.
nnimap.el (nnimap-request-thread): Ensure search is performed in correct group.
gnus-int.el (gnus-request-thread): Add group argument.
gnus-sum.el (gnus-request-thread): Use it.
Lars Magne Ingebrigtsen [Thu, 14 Jul 2011 14:15:06 +0000 (16:15 +0200)]
`diff' doc clarification
* vc/diff.el (diff): Clarify the order the file names are read
(bug#7111).
Lars Magne Ingebrigtsen [Thu, 14 Jul 2011 14:10:51 +0000 (16:10 +0200)]
Manual for for widget-keymap
* widget.texi (Setting Up the Buffer): Remove mention of the
global keymap parent, which doesn't seem to be accurate
(bug#7045).
Lars Magne Ingebrigtsen [Thu, 14 Jul 2011 14:01:16 +0000 (16:01 +0200)]
mouse-set-region doc fix
* mouse.el (mouse-set-region): Link to `mouse-drag-copy-region' in
the doc string (bug#7015).