bpt/emacs.git
12 years agoMerge from trunk.
Paul Eggert [Sun, 17 Jul 2011 00:39:01 +0000 (17:39 -0700)]
Merge from trunk.

12 years agoMerge from trunk.
Paul Eggert [Sun, 17 Jul 2011 00:37:57 +0000 (17:37 -0700)]
Merge from trunk.

12 years agoOverflow, signedness and related fixes for images.
Paul Eggert [Sun, 17 Jul 2011 00:34:43 +0000 (17:34 -0700)]
Overflow, signedness and related fixes for images.

* dispextern.h (struct it.stack[0].u.image.image_id)
(struct_it.image_id, struct image.id, struct image_cache.size)
(struct image_cache.used, struct image_cache.ref_count):
* gtkutil.c (update_frame_tool_bar):
* image.c (x_reference_bitmap, Fimage_size, Fimage_mask_p)
(Fimage_metadata, free_image_cache, clear_image_cache, lookup_image)
(cache_image, mark_image_cache, x_kill_gs_process, Flookup_image):
* nsmenu.m (update_frame_tool_bar):
* xdisp.c (calc_pixel_width_or_height):
* xfns.c (image_cache_refcount):
Image IDs are now ptrdiff_t, not int, to avoid arbitrary limits
on typical 64-bit hosts.

* image.c (RANGED_INTEGERP, TYPE_RANGED_INTEGERP): New macros.
(x_bitmap_pixmap, x_create_x_image_and_pixmap):
Omit unnecessary casts to int.
(parse_image_spec): Check that integers fall into 'int' range
when the callers expect that.
(image_ascent): Redo ascent calculation to avoid int overflow.
(clear_image_cache): Avoid overflow when sqrt (INT_MAX) < nimages.
(lookup_image): Remove unnecessary tests.
(xbm_image_p): Locals are now of int, not EMACS_INT,
since parse_image_check makes sure they fit into int.
(png_load, gif_load, svg_load_image):
Prefer int to unsigned where either will do.
(tiff_handler): New function, combining the cores of the
old tiff_error_handler and tiff_warning_handler.  This
function is rewritten to use vsnprintf and thereby avoid
stack buffer overflows.  It uses only the features of vsnprintf
that are common to both POSIX and native Microsoft.
(tiff_error_handler, tiff_warning_handler): Use it.
(tiff_load, gif_load, imagemagick_load_image):
Don't assume :index value fits in 'int'.
(gif_load): Omit unnecessary cast to double, and avoid double-rounding.
(imagemagick_load_image): Check that crop parameters fit into
the integer types that MagickCropImage accepts.  Don't assume
Vimagemagick_render_type has a nonnegative value.  Don't assume
size_t fits in 'long'.
(gs_load): Use printmax_t to print the widest integers possible.
Check for integer overflow when computing image height and width.

12 years agoMerge changes made in Gnus trunk.
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.

12 years agosrc/makefile.w32-in (GLOBAL_SOURCES): Add gnutls.c (followup to bug#9059).
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).

12 years agoMove the defintion of `gnutls-log-level' to the C level to avoid loading problems
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

12 years ago* fileio.c (Fcopy_file): Don't diagnose fchown failures.
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

12 years agoInclude EN DASH as an indentation character
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

12 years agoChangeLog fix.
Glenn Morris [Sat, 16 Jul 2011 20:05:20 +0000 (13:05 -0700)]
ChangeLog fix.

12 years agoMake `buffer-offer-save' permanently local
Lars Magne Ingebrigtsen [Sat, 16 Jul 2011 20:01:37 +0000 (22:01 +0200)]
Make `buffer-offer-save' permanently local

Fixes: debbugs:6241

12 years agoGrammar tweak.
Glenn Morris [Sat, 16 Jul 2011 20:02:57 +0000 (13:02 -0700)]
Grammar tweak.

12 years agoMake docview error message clearer
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).

12 years agoDocument `auto-fill-function' in relation to `auto-fill-mode'
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

12 years ago* simple.el (current-kill): Clarify what `interprogram-paste-function' does.
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

12 years agoUse the same condition for POLL_FOR_INPUT in both keyboard.c and process.c
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

12 years agoDocument toolkit differences for menus
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.

12 years ago* mh-e.el (Version, mh-version): Update for release 8.2.92.
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.

12 years ago* NEWS, MH-E-NEWS: Update for MH-E 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.

12 years agoSilence byte-compiler warning with :read-only defstruct slots
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

12 years agoTo fixes wrt window selection and buffer list.
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.

12 years ago* lisp/subr.el (read-char-choice): Respect help-form. (Bug#9001)
Glenn Morris [Fri, 15 Jul 2011 23:59:25 +0000 (19:59 -0400)]
* lisp/subr.el (read-char-choice): Respect help-form.  (Bug#9001)

12 years agoMerge changes made in Gnus trunk.
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.

12 years ago* lisp/subr.el (read-char-choice): Allow quitting. (Bug#9001)
Glenn Morris [Fri, 15 Jul 2011 22:53:39 +0000 (18:53 -0400)]
* lisp/subr.el (read-char-choice): Allow quitting.  (Bug#9001)

12 years ago* doc/lispref/help.texi (Keys in Documentation): Revert last change.
Andreas Schwab [Fri, 15 Jul 2011 18:43:23 +0000 (20:43 +0200)]
* doc/lispref/help.texi (Keys in Documentation): Revert last change.

12 years agoAllow controlling how many prime bits to use during TLS negotiation
Lawrence Mitchell [Fri, 15 Jul 2011 17:41:24 +0000 (19:41 +0200)]
Allow controlling how many prime bits to use during TLS negotiation

12 years ago* net/gnutls.el (gnutls-negotiate): Upcase `gnutls-algorithm-priority'.
Lars Magne Ingebrigtsen [Fri, 15 Jul 2011 17:25:02 +0000 (19:25 +0200)]
* net/gnutls.el (gnutls-negotiate): Upcase `gnutls-algorithm-priority'.

12 years agoAdd a variable to customize the gnutls priority
Lars Magne Ingebrigtsen [Fri, 15 Jul 2011 17:21:57 +0000 (19:21 +0200)]
Add a variable to customize the gnutls priority

12 years agoRework previous change.
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.

12 years ago* lisp/info.el (info-insert-file-contents): Require jka-compr. (Bug#9090)
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)

12 years ago* emacs-lisp/cl-macs.el (declare): Link to the "Declarations" node.
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.

12 years ago* help.texi (Misc Help): Mention `describe-prefix-bindings' explicitly.
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

12 years ago* src/doc.c (Fsubstitute_command_keys): Revert last change.
Andreas Schwab [Fri, 15 Jul 2011 15:31:36 +0000 (17:31 +0200)]
* src/doc.c (Fsubstitute_command_keys): Revert last change.

12 years ago(Info-mode-menu): Use `Info-beginning-of-buffer' for consistency.
Lars Magne Ingebrigtsen [Fri, 15 Jul 2011 15:14:46 +0000 (17:14 +0200)]
(Info-mode-menu): Use `Info-beginning-of-buffer' for consistency.

12 years agoAdd new command `Info-beginning-of-buffer' to allow announcing `b'
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).

12 years ago* emacs-lisp/cl-macs.el (declare): Doc string fix-up.
Lars Magne Ingebrigtsen [Fri, 15 Jul 2011 14:59:42 +0000 (16:59 +0200)]
* emacs-lisp/cl-macs.el (declare): Doc string fix-up.

12 years agoClarify that \= only quotes the next character
Lars Magne Ingebrigtsen [Fri, 15 Jul 2011 14:31:14 +0000 (16:31 +0200)]
Clarify that \= only quotes the next character

12 years agoError message fix in `describe-specified-language-support'
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).

12 years agoUse /dev/null instead of the Windows "nul" in flymake example
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

12 years agoMinor grammer fixes for syntax.el.
Lars Magne Ingebrigtsen [Fri, 15 Jul 2011 13:55:00 +0000 (15:55 +0200)]
Minor grammer fixes for syntax.el.

Fixes: debbugs:8690

12 years ago* emacs-lisp/cl-macs.el (declare): Add a doc string (bug#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).

12 years agoDoc fix.
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

12 years ago(Using Debugger): Mention @code{eval-expression-debug-on-error}
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

12 years ago`lexical-binding' doc clarification
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

12 years ago* variables.texi (Lexical Binding): Mention `defcustom'.
Lars Magne Ingebrigtsen [Fri, 15 Jul 2011 12:45:51 +0000 (14:45 +0200)]
* variables.texi (Lexical Binding): Mention `defcustom'.

Fixes: debbugs:8459

12 years agoFix vertical cursor motion in Speedbar frames under bidi display.
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.

12 years agoFix pop-to-buffer call in switch-to-buffer.
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.

12 years ago* bidi.c (bidi_cache_ensure_space): Also check that the bidi cache size
Paul Eggert [Fri, 15 Jul 2011 06:44:47 +0000 (23:44 -0700)]
* bidi.c (bidi_cache_ensure_space): Also check that the bidi cache size

does not exceed that of the largest Lisp string or buffer.  See Eli
Zaretskii in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9079#29>.

12 years agoNo need for ChangeLog entry about quickly reverted change.
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.)

12 years ago* lisp/emacs-lisp/debug.el (debug): Doc fix. (Bug#8273)
Glenn Morris [Fri, 15 Jul 2011 02:16:55 +0000 (22:16 -0400)]
* lisp/emacs-lisp/debug.el (debug): Doc fix.  (Bug#8273)

12 years ago* admin/notes/bugtracker: How to add new tags.
Glenn Morris [Fri, 15 Jul 2011 02:15:05 +0000 (22:15 -0400)]
* admin/notes/bugtracker: How to add new tags.

12 years agolisp/gnus/ChangeLog (2011-07-14): Fix function name.
Katsumi Yamaoka [Thu, 14 Jul 2011 22:20:24 +0000 (22:20 +0000)]
lisp/gnus/ChangeLog (2011-07-14): Fix function name.

12 years ago* bidi.c: Integer size and overflow fixes.
Paul Eggert [Thu, 14 Jul 2011 21:57:00 +0000 (14:57 -0700)]
* bidi.c: Integer size and overflow fixes.

(bidi_cache_size, bidi_cache_idx, bidi_cache_last_idx)
(bidi_cache_start, bidi_cache_fetch_state, bidi_cache_search)
(bidi_cache_find_level_change, bidi_cache_ensure_space)
(bidi_cache_iterator_state, bidi_cache_find, bidi_cache_start_stack)
(bidi_find_other_level_edge):
Use ptrdiff_t instead of EMACS_INT where either will do.
This works better on 32-bit hosts configured --with-wide-int.
(bidi_cache_ensure_space): Check for size-calculation overflow.
Use % rather than repeated addition, for better worst-case speed.
Don't set bidi_cache_size until after xrealloc returns, because it
might not return.
(bidi_dump_cached_states): Use ptrdiff_t, not int, to avoid overflow.

12 years agoMerge from trunk.
Paul Eggert [Thu, 14 Jul 2011 21:46:32 +0000 (14:46 -0700)]
Merge from trunk.

12 years agoFix minor problems found by static checking.
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.

12 years ago* indent.c (Fvertical_motion): Mark locals as initialized.
Paul Eggert [Thu, 14 Jul 2011 21:35:23 +0000 (14:35 -0700)]
* indent.c (Fvertical_motion): Mark locals as initialized.

12 years ago* xdisp.c (reseat_to_string): Fix pointer signedness issue.
Paul Eggert [Thu, 14 Jul 2011 21:34:18 +0000 (14:34 -0700)]
* xdisp.c (reseat_to_string): Fix pointer signedness issue.

12 years agoMerge from trunk.
Paul Eggert [Thu, 14 Jul 2011 20:40:35 +0000 (13:40 -0700)]
Merge from trunk.

12 years ago* data.c (Fcdr, Fcar): Revert the last change, since it didn't really clarify much.
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.

12 years agoMention `case-fold-search' in all the re_search_* functions
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

12 years agoManual fix for the dribble file
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

12 years ago* keyboard.c (Fopen_dribble_file): Document when the file is closed.
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

12 years ago* data.c (car, cdr): add functionality hints to documentation.
Adam Sjøgren [Thu, 14 Jul 2011 18:29:19 +0000 (20:29 +0200)]
* data.c (car, cdr): add functionality hints to documentation.

12 years ago* man.el (Man-fontify-manpage): Fix message when formatting the man page.
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

12 years agoFix format conversion in bidi.c.
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.

12 years agoOnly output the man page name on failures
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

12 years agoSupport bidi reordering of overlay and display strings.
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.

12 years ago`put-image' doc fix
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).

12 years ago`set-scroll-bar-mode' doc clarification
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).

12 years ago`image-mode-fit-frame' doc fix
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

12 years agoFix declarations of variables related to bidi cache indices.
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.

12 years ago* src/bidi.c: Hold off on these changes for now.
Paul Eggert [Thu, 14 Jul 2011 16:20:47 +0000 (09:20 -0700)]
* src/bidi.c: Hold off on these changes for now.

See <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9079#11>.

12 years agoMerge from trunk.
Paul Eggert [Thu, 14 Jul 2011 16:18:31 +0000 (09:18 -0700)]
Merge from trunk.

12 years ago* alloc.c (__malloc_size_t): Remove.
Paul Eggert [Thu, 14 Jul 2011 16:07:02 +0000 (09:07 -0700)]
* alloc.c (__malloc_size_t): Remove.

All uses replaced by size_t.  See Andreas Schwab's note
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9079#8>.

12 years agoLeave point at the end of the rectangle after replacing text
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).

12 years ago`current-kill' doc clarification
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).

12 years agopr-toggle-region doc clarification
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).

12 years agoAllow display-time-mail-function to return nil
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.

12 years agoMerge changes made in Gnus trunk.
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.

12 years ago`diff' doc clarification
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).

12 years agoManual for for widget-keymap
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).

12 years agomouse-set-region doc fix
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).

12 years ago* font-lock.el (font-lock-maximum-decoration): Mention what numeric levels mean.
Lars Magne Ingebrigtsen [Thu, 14 Jul 2011 13:50:25 +0000 (15:50 +0200)]
* font-lock.el (font-lock-maximum-decoration): Mention what numeric levels mean.

Fixes: debbugs:6935

12 years agoMention that `delete-region' doesn't alter the kill ring.
Lars Magne Ingebrigtsen [Thu, 14 Jul 2011 13:40:24 +0000 (15:40 +0200)]
Mention that `delete-region' doesn't alter the kill ring.

12 years ago* editfns.c (Fdelete_region): Clarify the use of the named parameters.
Lars Magne Ingebrigtsen [Thu, 14 Jul 2011 13:37:20 +0000 (15:37 +0200)]
* editfns.c (Fdelete_region): Clarify the use of the named parameters.

Fixes: debbugs:6788

12 years ago(initial-buffer-choice): Don't mention the `none' selection, which is against policy.
Lars Magne Ingebrigtsen [Thu, 14 Jul 2011 12:57:06 +0000 (14:57 +0200)]
(initial-buffer-choice): Don't mention the `none' selection, which is against policy.

12 years agoAuto-commit of generated files.
Glenn Morris [Thu, 14 Jul 2011 10:19:36 +0000 (06:19 -0400)]
Auto-commit of generated files.

12 years agoFix bugs in vertical-motion and display-buffer-normalize-special.
Martin Rudalics [Thu, 14 Jul 2011 08:30:34 +0000 (10:30 +0200)]
Fix bugs in vertical-motion and display-buffer-normalize-special.

* indent.c (Fvertical_motion): Set and restore w->pointm when
saving and restoring the window's buffer (Bug#9006).

* window.el (display-buffer-normalize-special): Replace
`dedicated' by `dedicate' to dedicate window (Bug#9072).

12 years agoAdd Bug#.
Paul Eggert [Thu, 14 Jul 2011 08:05:10 +0000 (01:05 -0700)]
Add Bug#.

12 years agolisp/subr.el (version-*): Doc fix.
Eli Zaretskii [Thu, 14 Jul 2011 06:50:21 +0000 (02:50 -0400)]
lisp/subr.el (version-*): Doc fix.

 lisp/subr.el (version<, version<=, version=): Mention "-CVS" and
 "-12345" alpha version numbers.

12 years agoMerge from trunk.
Paul Eggert [Thu, 14 Jul 2011 06:41:47 +0000 (23:41 -0700)]
Merge from trunk.

12 years ago* image.c: Improve checking for integer overflow.
Paul Eggert [Thu, 14 Jul 2011 06:20:53 +0000 (23:20 -0700)]
* image.c: Improve checking for integer overflow.

(check_image_size): Assume that f is nonnull, since
it is always nonnull in practice.  This is one less thing to
worry about when checking for integer overflow later.
(x_check_image_size): New function, which checks for integer
overflow issues inside X.
(x_create_x_image_and_pixmap, xbm_read_bitmap_data): Use it.
This removes the need for a memory_full check.
(xbm_image_p): Rewrite to avoid integer multiplication overflow.
(Create_Pixmap_From_Bitmap_Data, xbm_load): Use x_check_image_size.
(xbm_read_bitmap_data): Change locals back to 'int', since
their values must fit in 'int'.
(xpm_load_image, png_load, tiff_load):
Invoke x_create_x_image_and_pixmap earlier,
to avoid much needless work if the image is too large.
(tiff_load): Treat overly large images as if
x_create_x_image_and_pixmap failed, not as malloc failures.
(gs_load): Use x_check_image_size.

12 years ago* bindings.el: Add advertised binding for set-mark-command (Bug#5772).
Chong Yidong [Thu, 14 Jul 2011 01:58:51 +0000 (21:58 -0400)]
* bindings.el: Add advertised binding for set-mark-command (Bug#5772).

12 years agoAdapt 2011-07-05 switch-to-buffer changes to new switch-to-buffer
Chong Yidong [Thu, 14 Jul 2011 01:40:30 +0000 (21:40 -0400)]
Adapt 2011-07-05 switch-to-buffer changes to new switch-to-buffer

* lisp/bindings.el (mode-line-other-buffer):
* lisp/bookmark.el (bookmark-bmenu-2-window):
* lisp/bs.el (bs-cycle-next, bs-cycle-previous):
* lisp/net/tramp-cmds.el (tramp-append-tramp-buffers): Revert to using
switch-to-buffer.

* lisp/net/tramp-compat.el (tramp-compat-pop-to-buffer-same-window):
Deleted.

12 years agoFix typos.
Juanma Barranquero [Thu, 14 Jul 2011 01:09:00 +0000 (03:09 +0200)]
Fix typos.

12 years ago* cl.texi (For Clauses): Add destructuring example processing an
Kevin Ryde [Thu, 14 Jul 2011 00:14:35 +0000 (02:14 +0200)]
* cl.texi (For Clauses): Add destructuring example processing an
alist.

12 years ago(Documentation Basics): Add a link to the Function Documentation node.
Lars Magne Ingebrigtsen [Thu, 14 Jul 2011 00:02:09 +0000 (02:02 +0200)]
(Documentation Basics): Add a link to the Function Documentation node.

Fixes: debbugs:6580

12 years agoFstring_to_char doc clarification
Lars Magne Ingebrigtsen [Wed, 13 Jul 2011 23:48:35 +0000 (01:48 +0200)]
Fstring_to_char doc clarification

* editfns.c (Fstring_to_char): Clarify just what is returned
(bug#6576).  Text by Eli Zaretskii.

12 years agoDoc fix for with-silent-modifications
Lars Magne Ingebrigtsen [Wed, 13 Jul 2011 23:40:11 +0000 (01:40 +0200)]
Doc fix for with-silent-modifications

* subr.el (with-silent-modifications): Clarify somewhat what the
macro inhibits.

Fixes: debbugs:6525

12 years agoDoc fix for eval-expression
Lars Magne Ingebrigtsen [Wed, 13 Jul 2011 23:35:36 +0000 (01:35 +0200)]
Doc fix for eval-expression

* simple.el (eval-expression): Note what it does if called
interactively.

Fixes: debbugs:6495

12 years agoMention :visible menu bar separators
Lars Magne Ingebrigtsen [Wed, 13 Jul 2011 23:17:24 +0000 (01:17 +0200)]
Mention :visible menu bar separators

* keymaps.texi (Menu Bar): Mention :visible and :enable
(bug#6344).  Text by Drew Adams.

Fixes: debbugs:6334