bpt/emacs.git
12 years agoMerge from trunk.
Paul Eggert [Tue, 19 Jul 2011 06:10:15 +0000 (23:10 -0700)]
Merge from trunk.

12 years agoUse ptrdiff_t for hash table indexes.
Paul Eggert [Tue, 19 Jul 2011 06:07:07 +0000 (23:07 -0700)]
Use ptrdiff_t for hash table indexes.

* category.c (hash_get_category_set):
* ccl.c (ccl_driver):
* charset.h (struct charset.hash_index, CHECK_CHARSET_GET_ID):
* coding.c (coding_system_charset_list, detect_coding_system):
* coding.h (struct coding_system.id):
* composite.c (get_composition_id, gstring_lookup_cache):
* fns.c (hash_lookup, hash_put, Fgethash, Fputhash):
* image.c (xpm_get_color_table_h):
* lisp.h (hash_lookup, hash_put):
* minibuf.c (Ftest_completion):
Use ptrdiff_t for hash table indexes, not int (which is too
narrow, on 64-bit hosts) or EMACS_INT (which is too wide, on
32-bit --with-wide-int hosts).

12 years ago* charset.c (Fdefine_charset_internal): Check for integer overflow.
Paul Eggert [Tue, 19 Jul 2011 03:34:13 +0000 (20:34 -0700)]
* charset.c (Fdefine_charset_internal): Check for integer overflow.

Add a FIXME comment about memory leaks.
(syms_of_charset): Don't assume xmalloc returns.

12 years agoDon't assume that stated character widths fit in int.
Paul Eggert [Tue, 19 Jul 2011 00:42:24 +0000 (17:42 -0700)]
Don't assume that stated character widths fit in int.

* character.c (Fchar_width, c_string_width, lisp_string_width):
* character.h (CHAR_WIDTH):
* indent.c (MULTIBYTE_BYTES_WIDTH):
Use sanitize_char_width to avoid undefined and/or bad behavior
with outlandish widths.
* character.h (sanitize_tab_width): Renamed from sanitize_width,
now that we have two such functions.  All uses changed.
(sanitize_char_width): New inline function.

12 years agoDon't assume that tab-width fits in int.
Paul Eggert [Mon, 18 Jul 2011 21:57:37 +0000 (14:57 -0700)]
Don't assume that tab-width fits in int.

* character.h (sanitize_width): New inline function.
(SANE_TAB_WIDTH): New macro.
(ASCII_CHAR_WIDTH): Use it.
* indent.c (sane_tab_width): Remove.  All uses replaced by
SANE_TAB_WIDTH (current_buffer).
* xdisp.c (init_iterator): Use SANE_TAB_WIDTH.

12 years ago* fileio.c: Integer overflow issues with file modes.
Paul Eggert [Mon, 18 Jul 2011 21:08:22 +0000 (14:08 -0700)]
* fileio.c: Integer overflow issues with file modes.

(Fset_file_modes, auto_save_1): Don't assume EMACS_INT fits in int.

12 years ago* fileio.c (Fcopy_file) [!MSDOS]: Tighten created file's mask.
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.

12 years ago* alloc.c (valid_pointer_p): Use pipe, not open.
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.

12 years agoAdd an example on how to use prog-mode.
Dan Nicolaescu [Mon, 18 Jul 2011 17:33:02 +0000 (10:33 -0700)]
Add an example on how to use prog-mode.

12 years ago* fileio.c (Fcopy_file): Adjust mode if fchown fails. (Bug#9002)
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.

12 years agoCC Mode: Fontify declarators properly when, e.g., a jit-lock chunk begins
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.

12 years agoUpdate GB18030 charset maps to 2005 edition
Andreas Schwab [Mon, 18 Jul 2011 15:05:46 +0000 (17:05 +0200)]
Update GB18030 charset maps to 2005 edition

12 years ago* charset.c (read_hex): New arg OVERFLOW. All uses changed.
Paul Eggert [Mon, 18 Jul 2011 06:44:01 +0000 (23:44 -0700)]
* charset.c (read_hex): New arg OVERFLOW.  All uses changed.

Remove unreachable code.
(read_hex, load_charset_map_from_file): Check for integer overflow.

12 years ago* src/xdisp.c (next_element_from_string, next_element_from_buffer): Use EQ
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.

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

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

12 years ago* xterm.c: don't go over XClientMessageEvent limit
Paul Eggert [Sun, 17 Jul 2011 20:56:13 +0000 (13:56 -0700)]
* xterm.c: don't go over XClientMessageEvent limit

(scroll_bar_windows_size): Now ptrdiff_t, as we prefer signed.
(x_send_scroll_bar_event): Likewise.  Check that the size does not
exceed limits imposed by XClientMessageEvent, as well as the usual
ptrdiff_t and size_t limits.

12 years ago* mh-compat.el (mh-pop-to-buffer-same-window): Delete.
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.

12 years ago* image.el (put-image): Doc typo fix.
Lars Magne Ingebrigtsen [Sun, 17 Jul 2011 15:57:47 +0000 (17:57 +0200)]
* image.el (put-image): Doc typo fix.

12 years agoFix last change
Andreas Schwab [Sun, 17 Jul 2011 10:35:42 +0000 (12:35 +0200)]
Fix last change

12 years agoMake read-symbol-positions-list more accurate
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.

12 years agoAuto-commit of loaddefs files.
Glenn Morris [Sun, 17 Jul 2011 10:26:13 +0000 (06:26 -0400)]
Auto-commit of loaddefs files.

12 years ago* src/lread.c (read1): Read `#:' as empty uninterned symbol if no
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.

12 years ago* keyboard.c: Overflow, signedness and related fixes.
Paul Eggert [Sun, 17 Jul 2011 03:00:19 +0000 (20:00 -0700)]
* keyboard.c: Overflow, signedness and related fixes.

(make_lispy_movement): Use same integer type in forward decl
that is used in the definition.
(read_key_sequence, keyremap_step):
Change bufsize argument back to int, undoing my 2011-03-30 change.
We prefer signed types, and int is wide enough here.
(parse_tool_bar_item): Don't assume tool_bar_max_label_size is less
than TYPE_MAXIMUM (EMACS_INT) / 2.  Don't let the label size grow
larger than STRING_BYTES_BOUND.  Use ptrdiff_t for Emacs string
length, not size_t.  Use ptrdiff_t for index, not int.
(keyremap_step, read_key_sequence): Redo bufsize check to avoid
possibility of integer overflow.

12 years ago(tags-search): Doc typo fix.
Lars Magne Ingebrigtsen [Sun, 17 Jul 2011 02:21:43 +0000 (04:21 +0200)]
(tags-search): Doc typo fix.

12 years agoMerge from trunk.
Paul Eggert [Sun, 17 Jul 2011 01:34:49 +0000 (18:34 -0700)]
Merge from trunk.

12 years agoMerge from trunk.
Paul Eggert [Sun, 17 Jul 2011 01:33:46 +0000 (18:33 -0700)]
Merge from trunk.

12 years ago* fileio.c (Fcopy_file): Pacify gcc re fchown. (Bug#9002)
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.

12 years ago(smtpmail-via-smtp): Query the user for password if we get errors 550 to 554.
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.

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>.