]> code.delx.au - gnu-emacs/log
gnu-emacs
12 years agoMerge from trunk.
Paul Eggert [Wed, 21 Sep 2011 17:48:19 +0000 (10:48 -0700)]
Merge from trunk.

12 years ago* alloc.c (pure_bytes_used_lisp, pure_bytes_used_non_lisp):
Paul Eggert [Wed, 21 Sep 2011 17:41:20 +0000 (10:41 -0700)]
* alloc.c (pure_bytes_used_lisp, pure_bytes_used_non_lisp):

(allocate_vectorlike, buffer_memory_full, struct sdata, SDATA_SIZE)
(string_bytes, check_sblock, allocate_string_data):
(compact_small_strings, Fmake_bool_vector, make_string)
(make_unibyte_string, make_multibyte_string)
(make_string_from_bytes, make_specified_string)
(allocate_vectorlike, Fmake_vector, find_string_data_in_pure)
(make_pure_string, make_pure_c_string, make_pure_vector, Fpurecopy)
(mark_vectorlike):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(allocate_pseudovector):
Use int, not EMACS_INT, where int is wide enough.
(inhibit_garbage_collection, Fgarbage_collect):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
* bidi.c (bidi_mirror_char): Use EMACS_INT, not int, where
int might not be wide enough.
(bidi_cache_search, bidi_cache_find, bidi_init_it)
(bidi_count_bytes, bidi_char_at_pos, bidi_fetch_char)
(bidi_at_paragraph_end, bidi_find_paragraph_start)
(bidi_paragraph_init, bidi_resolve_explicit, bidi_resolve_weak)
(bidi_level_of_next_char, bidi_move_to_visually_next):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
* buffer.c (copy_overlays, Fgenerate_new_buffer_name)
(Fkill_buffer, Fset_buffer_major_mode)
(advance_to_char_boundary, Fbuffer_swap_text)
(Fset_buffer_multibyte, overlays_at, overlays_in)
(overlay_touches_p, struct sortvec, record_overlay_string)
(overlay_strings, recenter_overlay_lists)
(adjust_overlays_for_insert, adjust_overlays_for_delete)
(fix_start_end_in_overlays, fix_overlays_before, modify_overlay)
(Fmove_overlay, Fnext_overlay_change, Fprevious_overlay_change)
(Foverlay_recenter, last_overlay_modification_hooks_used)
(report_overlay_modification, evaporate_overlays, enlarge_buffer_text):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(validate_region): Omit unnecessary test for b <= e, since
that's guaranteed by the previous test.
(adjust_overlays_for_delete): Avoid pos + length overflow.
(Fmove_overlay, Fdelete_overlay, add_overlay_mod_hooklist)
(report_overlay_modification):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change):
Omit pointer cast, which isn't needed anyway, and doesn't work
after the EMACS_INT -> ptrdiff_t change.
* buffer.h: Adjust decls to match defn changes elsewhere.
(struct buffer_text, struct buffer):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
Use EMACS_INT, not int, where int might not be wide enough.
* bytecode.c (exec_byte_code): Use ptrdiff_t, not int, to avoid
needless 32-bit limit on 64-bit hosts.  Remove unnecessary
memory-full test.  Use EMACS_INT, not ptrdiff_t or int, where
ptrdiff_t or int might not be wide enough.
* callint.c (Fcall_interactively):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
* callproc.c (call_process_kill, Fcall_process):
Don't assume pid_t fits into an Emacs fixnum.
(call_process_cleanup, Fcall_process, child_setup):
Don't assume pid_t fits into int.
(call_process_cleanup, Fcall_process, delete_temp_file)
(Fcall_process_region):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(Fcall_process): Simplify handling of volatile integers.
Use int, not EMACS_INT, where int will do.
* casefiddle.c (casify_object, casify_region, operate_on_word)
(Fupcase_word, Fdowncase_word, Fcapitalize_word):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(casify_object): Avoid integer overflow when overallocating buffer.
* casetab.c (set_identity, shuffle): Prefer int to unsigned when
either works.
* category.c (Fchar_category_set): Don't assume fixnum fits in int.
* category.h (CATEGORYP): Don't assume arg is nonnegative.
* ccl.c (GET_CCL_INT): Remove; no longer needed, since the
integers are now checked earlier.  All uses replaced with XINT.
(ccl_driver):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
For CCL_MapSingle, check that content and value are in int range.
(resolve_symbol_ccl_program): Check that vector header is in range.
Always copy the vector, so that we can check its contents reliably
now rather than having to recheck each instruction as it's being
executed.  Check that vector words fit in 'int'.
(ccl_get_compiled_code, Fregister_ccl_program)
(Fregister_code_conversion_map): Use ptrdiff_t, not int, for
program indexes, to avoid needless 32-bit limit on 64-bit hosts.
(Fccl_execute, Fccl_execute_on_string): Check that initial reg
contents are in range.
(Fccl_execute_on_string): Check that status is in range.
* ccl.h (struct ccl_program.idx): Now ptrdiff_t, not int.
* character.c (char_resolve_modifier_mask, Fchar_resolve_modifiers):
Accept and return EMACS_INT, not int, because callers can pass values
out of 'int' range.
(c_string_width, strwidth, lisp_string_width, chars_in_text)
(multibyte_chars_in_text, parse_str_as_multibyte)
(str_as_multibyte, count_size_as_multibyte, str_to_multibyte)
(str_as_unibyte, str_to_unibyte, string_count_byte8)
(string_escape_byte8, Fget_byte):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(Funibyte_string): Use CHECK_CHARACTER, not CHECK_NATNUM, to
avoid mishandling large integers.
* character.h: Adjust decls to match defn changes elsewhere.
* charset.c (load_charset_map_from_file, find_charsets_in_text)
(Ffind_charset_region):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(load_charset_map_from_file): Redo idx calculation to avoid overflow.
(load_charset_map_from_vector, Fdefine_charset_internal):
Don't assume fixnum fits in int or unsigned int.
(load_charset_map_from_vector, Fmap_charset_chars):
Remove now-unnecessary CHECK_NATNUMs.
(Fdefine_charset_internal): Check ranges here, more carefully.
* chartab.c (Fmake_char_table, Fset_char_table_range)
(uniprop_get_decoder, uniprop_get_encoder):
Don't assume fixnum fits in int.
* cmds.c (move_point): New function, that does the gist of
Fforward_char and Fbackward_char, but does so while checking
for integer overflow more accurately.
(Fforward_char, Fbackward_char, internal_self_insert): Use it.
(Fforward_line, Fend_of_line, internal_self_insert)
(internal_self_insert):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
Fix a FIXME, by checking for integer overflow when calculating
target_clm and actual_clm.
* coding.c (detect_coding_XXX, encode_coding_XXX, CODING_DECODE_CHAR)
(ASSURE_DESTINATION, coding_alloc_by_realloc)
(coding_alloc_by_making_gap, alloc_destination)
(detect_coding_utf_8, encode_coding_utf_8, decode_coding_utf_16)
(encode_coding_utf_16, detect_coding_emacs_mule)
(decode_coding_emacs_mule, encode_coding_emacs_mule)
(detect_coding_iso_2022, decode_coding_iso_2022)
(encode_invocation_designation, encode_designation_at_bol)
(encode_coding_iso_2022, detect_coding_sjis, detect_coding_big5)
(decode_coding_sjis, decode_coding_big5, encode_coding_sjis)
(encode_coding_big5, detect_coding_ccl, decode_coding_ccl)
(encode_coding_ccl, encode_coding_raw_text)
(detect_coding_charset, decode_coding_charset)
(encode_coding_charset, detect_eol, decode_eol, produce_chars)
(produce_composition, produce_charset, produce_annotation)
(decode_coding, handle_composition_annotation)
(handle_charset_annotation, consume_chars, decode_coding_gap)
(decode_coding_object, encode_coding_object, detect_coding_system)
(Ffind_coding_systems_region_internal, Fcheck_coding_systems_region)
(code_convert_region, code_convert_string)
(Fdefine_coding_system_internal):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(setup_iso_safe_charsets, consume_chars, Funencodable_char_position)
(Fdefine_coding_system_internal):
Don't assume fixnums fit in int.
(decode_coding_gap, decode_coding_object, encode_coding_object)
(Fread_coding_system, Fdetect_coding_region, Funencodable_char_position)
(Fcheck_coding_systems_region):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(Ffind_operation_coding_system): NATNUMP can eval its arg twice.
(Fdefine_coding_system_internal): Check for charset-id overflow.
* coding.h: Adjust decls to match defn changes elsewhere.
(struct coding_system):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
* composite.c (get_composition_id, find_composition)
(run_composition_function, update_compositions)
(compose_text, composition_gstring_put_cache)
(composition_gstring_p, composition_gstring_width)
(fill_gstring_header, fill_gstring_body, autocmp_chars)
(composition_compute_stop_pos, composition_reseat_it)
(composition_update_it, struct position_record)
(find_automatic_composition, composition_adjust_point)
(Fcomposition_get_gstring, Ffind_composition_internal):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(update_compositions):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
* composite.h: Adjust decls to match defn changes elsewhere.
(struct composition):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
* data.c (let_shadows_buffer_binding_p, let_shadows_global_binding_p):
Do not attempt to compute the address of the object just before a
buffer; this is not portable.
(Faref, Faset):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(Faset): Use int, not EMACS_INT, where int is wide enough.
(Fstring_to_number): Don't assume fixnums fit in int.
(Frem): Don't assume arg is nonnegative.
* dbusbind.c (xd_append_arg): Check for integers out of range.
(Fdbus_call_method): Don't overflow the timeout int.
* dired.c (directory_files_internal, file_name_completion, scmp)
(file_name_completion_stat):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(file_name_completion): Don't overflow matchcount.
(file_name_completion_stat): Use SAFE_ALLOCA, not alloca.
* dispextern.h: Adjust decls to match defn changes elsewhere.
(struct text_pos, struct glyph, struct bidi_saved_info)
(struct bidi_string_data, struct bidi_it, struct composition_it)
(struct it):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(struct display_pos, struct composition_it, struct it):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
* dispnew.c (increment_matrix_positions)
(increment_row_positions, mode_line_string)
(marginal_area_string):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(change_frame_size_1, Fredisplay):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(duration_to_sec_usec): New function, to check for overflow better.
(Fsleep_for, sit_for): Use it.
* doc.c (get_doc_string, store_function_docstring):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(get_doc_string, Fsnarf_documentation):
Use int, not EMACS_INT, where int is wide enough.
(get_doc_string):
Use SAFE_ALLOCA, not alloca.
Check for overflow when converting EMACS_INT to off_t.
* doprnt.c (doprnt):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
* editfns.c (init_editfns, Fuser_uid, Fuser_real_uid):
Don't assume uid_t fits into fixnum.
(buildmark, Fgoto_char, overlays_around, find_field, Fdelete_field)
(Ffield_string, Ffield_string_no_properties, Ffield_beginning)
(Ffield_end, Fconstrain_to_field, Fline_beginning_position)
(Fline_end_position, Fprevious_char, Fchar_after, Fchar_before)
(general_insert_function)
(Finsert_char, make_buffer_string, make_buffer_string_both)
(update_buffer_properties, Fbuffer_substring)
(Fbuffer_substring_no_properties, Fcompare_buffer_substrings)
(Fsubst_char_in_region, check_translation)
(Ftranslate_region_internal, save_restriction_restore, Fformat)
(transpose_markers, Ftranspose_regions):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(clip_to_bounds): Move to lisp.h as an inline function).
(Fconstrain_to_field): Don't assume integers are nonnegative.
(Fline_beginning_position, Fsave_excursion, Fsave_current_buffer):
(Fsubst_char_in_region, Fsave_restriction):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(Femacs_pid): Don't assume pid_t fits into fixnum.
(lo_time): Use int, not EMACS_INT, when int suffices.
(lisp_time_argument): Check for usec out of range.
(Fencode_time): Don't assume fixnum fits in int.
* emacs.c (gdb_valbits, gdb_gctypebits): Now int, not EMACS_INT.
(gdb_data_seg_bits): Now uintptr_t, not EMACS_INT.
(PVEC_FLAG, gdb_array_mark_flag): Now ptrdiff_t, not EMACS_INT.
(init_cmdargs, Fdump_emacs):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(Fkill_emacs): Don't assume fixnum fits in int; instead, take just
the bottom (typically) 32 bits of the fixnum.
* eval.c (specpdl_size, call_debugger):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(when_entered_debugger, Fbacktrace_debug):
Don't assume fixnum can fit in int.
(Fdefvaralias, Fdefvar): Do not attempt to compute the address of
the object just before a buffer; this is not portable.
(FletX, Flet, Funwind_protect, do_autoload, Feval, funcall_lambda)
(grow_specpdl, unbind_to):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(Fapply, apply_lambda): Don't assume ptrdiff_t can hold fixnum.
(grow_specpdl): Simplify allocation by using xpalloc.
* fileio.c (Ffind_file_name_handler, Fcopy_file, Frename_file)
(Finsert_file_contents, Fwrite_region, Fdo_auto_save):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(Ffind_file_name_handler, non_regular_inserted, Finsert_file_contents)
(a_write, e_write):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(Fcopy_file, non_regular_nbytes, read_non_regular)
(Finsert_file_contents):
Use int, not EMACS_INT, where int is wide enough.
(READ_BUF_SIZE): Verify that it fits in int.
(Finsert_file_contents): Check that counts are in proper range,
rather than assuming fixnums fit into ptrdiff_t etc.
Don't assume fixnums fit into int.
(Fdo_auto_save, Fset_buffer_auto_saved)
(Fclear_buffer_auto_save_failure):
Don't assume time_t is signed, or that it fits in int.
* fns.c (Fcompare_strings, Fstring_lessp, struct textprop_rec)
(concat, string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
(string_char_to_byte, string_byte_to_char)
(string_make_multibyte, string_to_multibyte)
(string_make_unibyte, Fstring_as_unibyte, Fstring_as_multibyte)
(Fstring_to_unibyte, Fsubstring, Fsubstring_no_properties)
(substring_both, Fdelete, internal_equal, Ffillarray)
(Fclear_string, mapcar1)
(Fbase64_encode_region, Fbase64_encode_string, base64_encode_1)
(Fbase64_decode_region, Fbase64_decode_string, base64_decode_1)
(larger_vector, make_hash_table, maybe_resize_hash_table)
(hash_lookup, hash_remove_from_table, hash_clear, sweep_weak_table)
(Fmaphash, secure_hash):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(concat): Check for string index and length overflow.
(Fmapconcat): Don't assume fixnums fit into ptrdiff_t.
(Frequire):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(larger_vector): New API (vec, incr_min, size_max) replaces old
one (vec, new_size, init).  This catches size overflow.
INIT was removed because it was always Qnil.
All callers changed.
(INDEX_SIZE_BOUND): New macro, which calculates more precisely
the upper bound on a hash table index size.
(make_hash_table, maybe_resize_hash_table): Use it.
(secure_hash): Computer start_byte and end_byte only after
they're known to be in ptrdiff_t range.
* font.c (font_intern_prop, font_at, font_range, Ffont_shape_gstring)
(Ffont_get_glyphs, Ffont_at):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(font_style_to_value, font_prop_validate_style, font_expand_wildcards)
(Flist_fonts, Fopen_font):
Don't assume fixnum can fit in int.
(check_gstring): Don't assume index can fit in int.
(font_match_p): Check that fixnum is a character, not a nonnegative
fixnum, since the later code needs to stuff it into an int.
(font_find_for_lface): Use SAFE_ALLOCA_LISP, not alloca.
(font_fill_lglyph_metrics): Use unsigned, not EMACS_INT, to avoid
conversion overflow issues.
(Fopen_font): Check for integer out of  range.
(Ffont_get_glyphs): Don't assume index can fit in int.
* font.h: Adjust decls to match defn changes elsewhere.
* fontset.c (reorder_font_vector): Redo score calculation to avoid
integer overflow.
(num_auto_fontsets, fontset_from_font): Use ptrdiff_t, not
printmax_t, where ptrdiff_t is wide enough.
(Finternal_char_font):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
* frame.c (Fset_mouse_position, Fset_mouse_pixel_position)
(Fset_frame_height, Fset_frame_width, Fset_frame_size)
(Fset_frame_position, x_set_frame_parameters)
(x_set_line_spacing, x_set_border_width)
(x_set_internal_border_width, x_set_alpha, x_figure_window_size):
Check that fixnums are in proper range for system types.
(frame_name_fnn_p, Fframe_parameter, Fmodify_frame_parameters):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(Fmodify_frame_parameters): Don't assume fixnum fits in int.
Use SAFE_ALLOCA_LISP, not alloca.
* frame.h (struct frame): Use intptr_t, not EMACS_INT, where
intptr_t is wide enough.
* fringe.c (lookup_fringe_bitmap, get_logical_fringe_bitmap)
(Fdefine_fringe_bitmap): Don't assume fixnum fits in int.
(Ffringe_bitmaps_at_pos): Don't assume index fits in int.
Check for fixnum out of range.
* ftfont.c (ftfont_list): Don't assume index fits in int.
Check that fixnums are in proper range for system types.
(ftfont_shape_by_flt):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
Remove no-longer-needed lint_assume.
* gnutls.c (emacs_gnutls_write, emacs_gnutls_read):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(Fgnutls_error_fatalp, Fgnutls_error_string, Fgnutls_boot):
Check that fixnums are in proper range for system types.
* gnutls.h: Adjust decls to match defn changes elsewhere.
* gtkutil.c (xg_dialog_run):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(update_frame_tool_bar):
Check that fixnums are in proper range for system types.
* image.c (parse_image_spec): Redo count calculation to avoid overflow.
(lookup_image): Check that fixnums are in proper range for system types.
* indent.c (last_known_column, last_known_column_point):
(current_column_bol_cache):
(skip_invisible, current_column, check_display_width):
(check_display_width, scan_for_column, current_column_1)
(Findent_to, Fcurrent_indentation, position_indentation)
(indented_beyond_p, Fmove_to_column, compute_motion):
(Fcompute_motion, Fvertical_motion):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(last_known_column_modified): Use EMACS_INT, not int.
(check_display_width):
(Fcompute_motion):
Check that fixnums and floats are in proper range for system types.
(compute_motion): Don't assume index or fixnum fits in int.
(compute_motion, Fcompute_motion):
Use int, not EMACS_INT, when it is wide enough.
(vmotion): Omit local var start_hpos that is always 0; that way
we don't need to worry about overflow in expressions involving it.
* indent.h: Adjust decls to match defn changes elsewhere.
(struct position):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
Use int, not EMACS_INT, where int is wide enough.
Remove unused members ovstring_chars_done and tab_offset;
all uses removed.
* insdel.c (move_gap, move_gap_both, gap_left, gap_right)
(adjust_markers_for_delete, adjust_markers_for_insert, adjust_point)
(adjust_markers_for_replace, make_gap_larger, make_gap_smaller)
(make_gap, copy_text, insert, insert_and_inherit)
(insert_before_markers, insert_before_markers_and_inherit)
(insert_1, count_combining_before, count_combining_after)
(insert_1_both, insert_from_string)
(insert_from_string_before_markers, insert_from_string_1)
(insert_from_gap, insert_from_buffer, insert_from_buffer_1)
(adjust_after_replace, adjust_after_insert, replace_range)
(replace_range_2, del_range, del_range_1, del_range_byte)
(del_range_both, del_range_2, modify_region)
(prepare_to_modify_buffer, signal_before_change)
(signal_after_change, Fcombine_after_change_execute):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
* intervals.c (traverse_intervals, rotate_right, rotate_left)
(balance_an_interval, split_interval_right, split_interval_left)
(find_interval, next_interval, update_interval)
(adjust_intervals_for_insertion, delete_node, delete_interval)
(interval_deletion_adjustment, adjust_intervals_for_deletion)
(static_offset_intervals, offset_intervals)
(merge_interval_right, merge_interval_left, make_new_interval)
(graft_intervals_into_buffer, temp_set_point_both)
(temp_set_point, set_point, adjust_for_invis_intang)
(set_point_both, move_if_not_intangible, get_property_and_range)
(get_local_map, copy_intervals, copy_intervals_to_string)
(compare_string_intervals, set_intervals_multibyte_1):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
* intervals.h: Adjust decls to match defn changes elsewhere.
(struct interval):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
* keyboard.c (this_command_key_count, this_single_command_key_start)
(before_command_key_count, before_command_echo_length, echo_now)
(echo_length, recursive_edit_1, Frecursive_edit, Ftrack_mouse)
(command_loop_1, safe_run_hooks, read_char, timer_check_2)
(menu_item_eval_property, read_key_sequence, Fread_key_sequence)
(Fread_key_sequence_vector, Fexecute_extended_command, Fsuspend_emacs):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(last_non_minibuf_size, last_point_position, echo_truncate)
(command_loop_1, adjust_point_for_property, read_char, gen_help_event)
(make_lispy_position, make_lispy_event, parse_modifiers_uncached)
(parse_modifiers, modify_event_symbol, Fexecute_extended_command)
(stuff_buffered_input):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(last_auto_save, command_loop_1, read_char):
Use EMACS_INT, not int, to avoid integer overflow.
(record_char): Avoid overflow in total_keys computation.
(parse_modifiers_uncached): Redo index calculation to avoid overflow.
* keyboard.h: Adjust decls to match defn changes elsewhere.
* keymap.c (Fdefine_key, Fcurrent_active_maps, accessible_keymaps_1)
(Fkey_description, Fdescribe_vector, Flookup_key):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(click_position): New function, to check that positions are in range.
(Fcurrent_active_maps):
(describe_command):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(Faccessible_keymaps, Fkey_description):
(preferred_sequence_p):
Don't assume fixnum can fit into int.
(Fkey_description): Use SAFE_ALLOCA_LISP, not alloca.
Check for integer overflow in size calculations.
(Ftext_char_description): Use CHECK_CHARACTER, not CHECK_NUMBER, to
avoid mishandling large integers.
* lisp.h: Adjust decls to match defn changes elsewhere.
(ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, struct Lisp_String)
(struct vectorlike_header, struct Lisp_Subr, struct Lisp_Hash_Table)
(struct Lisp_Marker):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(clip_to_bounds): Now an inline function, moved here from editfns.c.
(XSETSUBR): Use size of 0 since the actual size doesn't matter,
and using 0 avoids overflow.
(GLYPH_CODE_P): Check for overflow in system types, subsuming the
need for GLYPH_CODE_CHAR_VALID_P and doing proper checking ourselves.
All callers changed.
(GLYPH_CODE_CHAR, GLYPH_CODE_FACE):
Assume the arg has valid form, since it always does.
(TYPE_RANGED_INTEGERP): Avoid bug when checking against a wide
unsigned integer system type.
(CHECK_RANGED_INTEGER, CHECK_TYPE_RANGED_INTEGER): New macros.
(struct catchtag, specpdl_size, SPECPDL_INDEX, USE_SAFE_ALLOCA):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(struct catchtag): Use EMACS_INT, not int, since it may be a fixnum.
(duration_to_sec_usec): New decl.
* lread.c (read_from_string_index, read_from_string_index_byte)
(read_from_string_limit, readchar, unreadchar, openp)
(read_internal_start, read1, oblookup):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(Fload, readevalloop, Feval_buffer, Feval_region):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(openp): Check for out-of-range argument to 'access'.
(read1): Use int, not EMACS_INT, where int is wide enough.
Don't assume fixnum fits into int.
* macros.c (Fstart_kbd_macro): Use xpalloc to check for overflow
in size calculation.
(Fexecute_kbd_macro):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
* marker.c (cached_charpos, cached_bytepos, CONSIDER)
(byte_char_debug_check, buf_charpos_to_bytepos, verify_bytepos)
(buf_bytepos_to_charpos, Fset_marker, set_marker_restricted)
(set_marker_both, set_marker_restricted_both, marker_position)
(marker_byte_position, Fbuffer_has_markers_at):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(Fset_marker, set_marker_restricted): Don't assume fixnum fits in int.
* menu.c (ensure_menu_items): Renamed from grow_menu_items.
It now merely ensures that the menu is large enough, without
necessarily growing it, as this avoids some integer overflow issues.
All callers changed.
(keymap_panes, parse_single_submenu, Fx_popup_menu):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(parse_single_submenu, Fx_popup_menu): Don't assume fixnum fits in int.
Use SAFE_ALLOCA_LISP, not alloca.
(find_and_return_menu_selection): Avoid unnecessary casts of pointers
to EMACS_INT.  Check that fixnums are in proper range for system types.
* minibuf.c (minibuf_prompt_width, string_to_object)
(Fminibuffer_contents, Fminibuffer_contents_no_properties)
(Fminibuffer_completion_contents, Ftry_completion, Fall_completions):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(get_minibuffer, read_minibuf_unwind):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(read_minibuf): Omit unnecessary arg BACKUP_N, which is always nil;
this simplifies overflow checking.  All callers changed.
(read_minibuf, Fread_buffer, Ftry_completion, Fall_completions)
(Ftest_completion):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
* nsfns.m (check_ns_display_info): Don't assume fixnum fits in long.
(x_set_menu_bar_lines, x_set_tool_bar_lines, Fx_create_frame):
Check that fixnums are in proper range for system types.
(Fx_create_frame, Fx_show_tip):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
* nsfont.m (ns_findfonts, nsfont_list_family):
Don't assume fixnum fits in long.
* nsmenu.m (ns_update_menubar, ns_menu_show, ns_popup_dialog):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(ns_update_menubar): Use intptr_t, not EMACS_INT, when intptr_t is
wide enough.
* nsselect.m (ns_get_local_selection):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
* print.c (print_buffer_size, print_buffer_pos, print_buffer_pos_byte)
(PRINTDECLARE, PRINTPREPARE):
(strout, print_string):
(print, print_preprocess, print_check_string_charset_prop)
(print_object):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(PRINTDECLARE):
(temp_output_buffer_setup, Fprin1_to_string, print_object):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(PRINTPREPARE): Use int, not ptrdiff_t, where int is wide enough.
(PRINTFINISH): Use SAFE_ALLOCA, not alloca.
(printchar, strout): Use xpalloc to catch size calculation overflow.
(Fexternal_debugging_output): Use CHECK_CHARACTER, not CHECK_NUMBER,
to avoid mishandling large integers.
(print_error_message): Use SAFE_ALLOCA, not alloca.
(print_object): Use int, not EMACS_INT, where int is wide enough.
* process.c (Fdelete_process): Don't assume pid fits into EMACS_INT.
(Fset_process_window_size, Fformat_network_address)
(get_lisp_to_sockaddr_size, set_socket_option, Fmake_network_process)
(Fsignal_process, sigchld_handler):
Check that fixnums are in proper range for system types.
(Fformat_network_address, read_process_output, send_process)
(Fprocess_send_region, status_notify):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(Fformat_network_address, Fmake_serial_process, Fmake_network_process)
(wait_reading_process_output, read_process_output, exec_sentinel):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(conv_lisp_to_sockaddr): Don't assume fixnums fit into int.
(Faccept_process_output): Use duration_to_sec_usec to do proper
overflow checking on durations.
* scroll.c (calculate_scrolling, calculate_direct_scrolling)
(line_ins_del): Use int, not EMACS_INT, where int is wide enough.
* search.c (looking_at_1, string_match_1):
(fast_string_match, fast_c_string_match_ignore_case)
(fast_string_match_ignore_case, fast_looking_at, scan_buffer)
(scan_newline, find_before_next_newline, search_command)
(trivial_regexp_p, search_buffer, simple_search, boyer_moore)
(set_search_regs, wordify):
(Freplace_match):
(Fmatch_data):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(string_match_1, search_buffer, set_search_regs):
(Fmatch_data):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(wordify): Check for overflow in size calculation.
(Freplace_match): Avoid potential buffer overflow in search_regs.start.
(Fset_match_data): Don't assume fixnum fits in ptrdiff_t.
Check that fixnums are in proper range for system types.
* sound.c (struct sound_device)
(wav_play, au_play, vox_write, alsa_period_size, alsa_write):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(Fplay_sound_internal):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
* syntax.c (ST_COMMENT_STYLE, ST_STRING_STYLE):
In definitions, make it clearer that these values must be out of range
for the respective integer ranges.  This fixes a bug with ST_STRING_STYLE
and non-ASCII characters.
(struct lisp_parse_state, find_start_modiff)
(Finternal_describe_syntax_value, scan_lists, scan_sexps_forward):
(Fparse_partial_sexp):
Don't assume fixnums can fit in int.
(struct lisp_parse_state, find_start_pos, find_start_value)
(find_start_value_byte, find_start_begv)
(update_syntax_table, char_quoted, dec_bytepos)
(find_defun_start, prev_char_comend_first, back_comment):
(scan_words, skip_chars, skip_syntaxes, forw_comment, Fforward_comment)
(scan_lists, Fbackward_prefix_chars, scan_sexps_forward):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(Finternal_describe_syntax_value): Check that match_lisp is a
character, not an integer, since the code stuffs it into int.
(scan_words, scan_sexps_forward):
Check that fixnums are in proper range for system types.
(Fforward_word):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(scan_sexps_forward):
Use CHARACTERP, not INTEGERP, since the value must fit into int.
(Fparse_partial_sexp): Fix doc; element 8 is not ignored.
* syntax.h: Adjust decls to match defn changes elsewhere.
(struct gl_state_s):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
* sysdep.c (wait_for_termination_1, wait_for_termination)
(interruptible_wait_for_termination, mkdir):
Don't assume pid_t fits in int; on 64-bit AIX pid_t is 64-bit.
(emacs_read, emacs_write):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(system_process_attributes): Don't assume uid_t, gid_t, and
double all fit in int or even EMACS_INT.
* term.c (set_tty_color_mode):
Check that fixnums are in proper range for system types.
* termhooks.h (struct input_event):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
* textprop.c (validate_interval_range, interval_of)
(Fadd_text_properties, set_text_properties_1)
(Fremove_text_properties, Fremove_list_of_text_properties)
(Ftext_property_any, Ftext_property_not_all)
(copy_text_properties, text_property_list, extend_property_ranges)
(verify_interval_modification):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(Fnext_single_char_property_change)
(Fprevious_single_char_property_change):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(copy_text_properties): Check for integer overflow in index calculation.
* undo.c (last_boundary_position, record_point, record_insert)
(record_delete, record_marker_adjustment, record_change)
(record_property_change):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(truncate_undo_list, Fprimitive_undo): Don't assume fixnum fits in int.
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
* w32fns.c (Fx_create_frame, x_create_tip_frame, Fx_show_tip)
(Fx_hide_tip, Fx_file_dialog):
* w32menu.c (set_frame_menubar):
Use ptrdiff_t, not int, for consistency with rest of code.
* window.c (window_scroll_preserve_hpos, window_scroll_preserve_vpos)
(select_window, Fdelete_other_windows_internal)
(window_scroll_pixel_based, window_scroll_line_based)
(Frecenter, Fset_window_configuration):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(Fset_window_hscroll, run_window_configuration_change_hook)
(set_window_buffer, temp_output_buffer_show, scroll_command)
(Fscroll_other_window):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(Fwindow_line_height, window_scroll, Fscroll_left, Fscroll_right):
Don't assume fixnum fits in int.
(Fset_window_scroll_bars):
Check that fixnums are in proper range for system types.
* xdisp.c (help_echo_pos, pos_visible_p, string_pos_nchars_ahead)
(string_pos, c_string_pos, number_of_chars, init_iterator)
(in_ellipses_for_invisible_text_p, init_from_display_pos)
(compute_stop_pos, next_overlay_change, compute_display_string_pos)
(compute_display_string_end, handle_face_prop)
(face_before_or_after_it_pos, handle_invisible_prop, handle_display_prop)
(handle_display_spec, handle_single_display_spec)
(display_prop_intangible_p, string_buffer_position_lim)
(string_buffer_position, handle_composition_prop, load_overlay_strings)
(get_overlay_strings_1, get_overlay_strings)
(iterate_out_of_display_property, forward_to_next_line_start)
(back_to_previous_visible_line_start, reseat, reseat_to_string)
(get_next_display_element, set_iterator_to_next)
(get_visually_first_element, compute_stop_pos_backwards)
(handle_stop_backwards, next_element_from_buffer)
(move_it_in_display_line_to, move_it_in_display_line)
(move_it_to, move_it_vertically_backward, move_it_by_lines)
(add_to_log, message_dolog, message_log_check_duplicate)
(message2, message2_nolog, message3, message3_nolog
(with_echo_area_buffer, display_echo_area_1, resize_mini_window_1)
(current_message_1, truncate_echo_area, truncate_message_1)
(set_message, set_message_1, store_mode_line_noprop)
(hscroll_window_tree, debug_delta, debug_delta_bytes, debug_end_vpos)
(text_outside_line_unchanged_p, check_point_in_composition)
(reconsider_clip_changes)
(redisplay_internal, set_cursor_from_row, try_scrolling)
(try_cursor_movement, set_vertical_scroll_bar, redisplay_window)
(redisplay_window, find_last_unchanged_at_beg_row)
(find_first_unchanged_at_end_row, row_containing_pos, try_window_id)
(trailing_whitespace_p, find_row_edges, display_line)
(RECORD_MAX_MIN_POS, Fcurrent_bidi_paragraph_direction)
(display_mode_element, store_mode_line_string)
(pint2str, pint2hrstr, decode_mode_spec)
(display_count_lines, display_string, draw_glyphs)
(x_produce_glyphs, x_insert_glyphs)
(rows_from_pos_range, mouse_face_from_buffer_pos)
(fast_find_string_pos, mouse_face_from_string_pos)
(note_mode_line_or_margin_highlight, note_mouse_highlight):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(safe_call, init_from_display_pos, handle_fontified_prop)
(handle_single_display_spec, load_overlay_strings)
(with_echo_area_buffer, setup_echo_area_for_printing)
(display_echo_area, echo_area_display)
(x_consider_frame_title, prepare_menu_bars, update_menu_bar)
(update_tool_bar, hscroll_window_tree, redisplay_internal)
(redisplay_window, dump_glyph_row, display_mode_line, Fformat_mode_line)
(decode_mode_spec, on_hot_spot_p):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(handle_single_display_spec, build_desired_tool_bar_string)
(redisplay_tool_bar, scroll_window_tree, Fdump_glyph_matrix)
(get_specified_cursor_type):
Check that fixnums are in proper range for system types.
(struct overlay_entry, resize_mini_window, Fdump_glyph_row)
(Flookup_image_map):
Don't assume fixnums fit in int.
(compare_overlay_entries):
Avoid mishandling comparisons due to subtraction overflow.
(load_overlay_strings): Use SAFE_NALLOCA, not alloca.
(last_escape_glyph_face_id, last_glyphless_glyph_face_id):
(handle_tool_bar_click):
Use int, not unsigned, since we prefer signed and the signedness
doesn't matter here.
(get_next_display_element, next_element_from_display_vector):
Use int, not EMACS_INT, when int is wide enough.
(start_hourglass): Use duration_to_sec_usec to do proper
overflow checking on durations.
* xfaces.c (Fbitmap_spec_p):
Check that fixnums are in proper range for system types.
(compare_fonts_by_sort_order):
Avoid mishandling comparisons due to subtraction overflow.
(Fx_family_fonts, realize_basic_faces):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(Fx_family_fonts):
Don't assume fixnum fits in int.
Use SAFE_ALLOCA_LISP, not alloca.
(merge_face_heights): Remove unnecessary cast to EMACS_INT.
(Finternal_make_lisp_face): Don't allocate more than MAX_FACE_ID.
(face_at_buffer_position, face_for_overlay_string)
(face_at_string_position):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(merge_faces): Use int, not EMACS_INT, where int is wide enough.
* xfns.c (x_set_menu_bar_lines, x_set_tool_bar_lines, x_icon_verify)
(Fx_show_tip):
Check that fixnums are in proper range for system types.
(Fx_create_frame, x_create_tip_frame, Fx_show_tip)
(Fx_hide_tip, Fx_file_dialog, Fx_select_font):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(Fx_change_window_property): Don't assume fixnums fit in int.
* xfont.c (xfont_chars_supported):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
* xmenu.c (Fx_popup_dialog, set_frame_menubar)
(create_and_show_popup_menu, create_and_show_dialog, xmenu_show):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
* xml.c (parse_region):
* xrdb.c (magic_file_p):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
* xselect.c (TRACE1): Don't assume pid_t promotes to int.
(x_get_local_selection, x_reply_selection_request)
(x_handle_selection_request, wait_for_property_change):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(selection_data_to_lisp_data): Use short, not EMACS_INT, where
short is wide enough.
(x_send_client_event): Don't assume fixnum fits in int.
* xterm.c (x_x_to_emacs_modifiers):
Don't assume EMACS_INT overflows nicely into int.
(x_emacs_to_x_modifiers): Use EMACS_INT, not int, because values
may come from Lisp.
(handle_one_xevent): NATNUMP can eval its arg twice.
(x_connection_closed):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
* xterm.h: Adjust decls to match defn changes elsewhere.
(struct scroll_bar): Use struct vectorlike_header
rather than rolling our own approximation.
(SCROLL_BAR_VEC_SIZE): Remove; not used.

12 years agoecomplete.el (ecomplete-display-matches): Intercept key sequence from terminal as...
Kan-Ru Chen [Wed, 21 Sep 2011 12:23:49 +0000 (12:23 +0000)]
ecomplete.el (ecomplete-display-matches): Intercept key sequence from terminal as well.

12 years ago* net/tramp.el (tramp-handle-shell-command): Set process sentinel
Michael Albinus [Wed, 21 Sep 2011 10:42:55 +0000 (12:42 +0200)]
* net/tramp.el (tramp-handle-shell-command): Set process sentinel
and process filter, as done also in `shell-command'.

12 years agoRewrite code quitting windows and restoring the previous buffer.
Martin Rudalics [Wed, 21 Sep 2011 08:20:21 +0000 (10:20 +0200)]
Rewrite code quitting windows and restoring the previous buffer.

* window.el (set-window-buffer-start-and-point): Call
set-window-start with NOFORCE argument t.  Suggested by Thierry
Volpiatto <thierry.volpiatto@gmail.com>.
(quit-window): Reword doc-string.  Handle new format of
quit-restore parameter.  Don't delete window if it has a
previous buffer we can show instead of the present one.
(display-buffer-record-window): Rewrite using a new format for
the quit-restore window parameter
(special-display-popup-frame, display-buffer-same-window)
(display-buffer-reuse-window, display-buffer-pop-up-frame)
(display-buffer-pop-up-window, display-buffer-use-some-window):
Adapt symbol passed to display-buffer-record-window.
* help.el (help-window-setup): Handle new format of quit-restore
parameter.

12 years agoFix assertion failure when displaying stretch glyphs under linum-mode.
Eli Zaretskii [Wed, 21 Sep 2011 08:13:18 +0000 (04:13 -0400)]
Fix assertion failure when displaying stretch glyphs under linum-mode.

 src/xdisp.c (pop_it): Allow it->object that is a cons cell to pass
 the xassert test.
 src/dispextern.h (struct it): Update the comment documenting what
 can it->OBJECT be.

12 years ago* mh-e.texi: (VERSION, EDITION, UPDATED, UPDATE-MONTH): Update for mh-e-doc-8.3
Bill Wohler [Wed, 21 Sep 2011 05:22:17 +0000 (22:22 -0700)]
* mh-e.texi: (VERSION, EDITION, UPDATED, UPDATE-MONTH): Update for
release 8.3.
(Preface): Updated support information.
(From Bill Wohler): Reset text to original version. As a historical
quote, the tense should be correct in the time that it was written.

12 years agomm-view.el (mm-display-inline-fontify): Don't run doc-view-mode because it displays...
Katsumi Yamaoka [Wed, 21 Sep 2011 02:13:03 +0000 (02:13 +0000)]
mm-view.el (mm-display-inline-fontify): Don't run doc-view-mode because it displays images using overlays that aren't easy to copy to the article buffer.

12 years ago* doc/lispref/display.texi (Face Functions): `face-list' returns faces.
Stefan Monnier [Wed, 21 Sep 2011 01:33:33 +0000 (21:33 -0400)]
* doc/lispref/display.texi (Face Functions): `face-list' returns faces.

Fixes: debbugs:9564
12 years ago* lisp/faces.el (face-list): Fix docstring.
Stefan Monnier [Wed, 21 Sep 2011 01:31:53 +0000 (21:31 -0400)]
* lisp/faces.el (face-list): Fix docstring.

Fixes: debbugs:9564
12 years ago* lisp/window.el (display-buffer--action-function-custom-type):
Stefan Monnier [Wed, 21 Sep 2011 01:30:35 +0000 (21:30 -0400)]
* lisp/window.el (display-buffer--action-function-custom-type):
Don't include internal functions in the Custom interface.

12 years agoMerge changes made in Gnus trunk.
Gnus developers [Tue, 20 Sep 2011 22:14:36 +0000 (22:14 +0000)]
Merge changes made in Gnus trunk.

message.el (message-indent-citation): Fix empty line removal at the end of the citation.
auth-source.el (auth-source-netrc-create): Use default value for password if specified. Evaluate default.
 (auth-source-plstore-create): Ditto.
 (auth-source-plstore-create, auth-source-netrc-create): Fix default value evaluation.
 (auth-source-netrc-create): Typo fix.
 (auth-source-plstore-create): Ditto.

12 years ago* lisp/info.el (Info-history-skip-intermediate-nodes): New defcustom.
Juri Linkov [Tue, 20 Sep 2011 20:16:42 +0000 (23:16 +0300)]
* lisp/info.el (Info-history-skip-intermediate-nodes): New defcustom.
(Info-forward-node, Info-backward-node, Info-next-preorder)
(Info-last-preorder): Use it.

Fixes: debbugs:9528
12 years agoFix bidi-aware cursor motion inside indentation.
Eli Zaretskii [Tue, 20 Sep 2011 17:42:16 +0000 (20:42 +0300)]
Fix bidi-aware cursor motion inside indentation.

 src/xdisp.c (Fcurrent_bidi_paragraph_direction): Fix search for previous
 non-empty line.  Fixes confusing cursor motion with arrow keys at
 the beginning of a line that starts with whitespace.

12 years agoFix bug #9549 with longlines-show-hard-newlines.
Eli Zaretskii [Tue, 20 Sep 2011 17:13:45 +0000 (20:13 +0300)]
Fix bug #9549 with longlines-show-hard-newlines.

 src/xdisp.c (set_cursor_from_row): If the row ends in a newline from
 a display string, extend search for cursor position to end of row.
 (find_row_edges): If the row ends in a newline from a display
 string, increment its MATRIX_ROW_END_CHARPOS by one.
 Handle the case of a display string with multiple newlines.

12 years ago* lisp/info.el (Info-last-preorder): Visit last menu item only when
Juri Linkov [Tue, 20 Sep 2011 16:28:07 +0000 (19:28 +0300)]
* lisp/info.el (Info-last-preorder): Visit last menu item only when
`Info-scroll-prefer-subnodes' is non-nil (third test-case of bug#9528).

12 years agopassword-cache.el (password-cache-remove): Remove entries even if the value is nil...
Julien Danjou [Tue, 20 Sep 2011 14:08:04 +0000 (14:08 +0000)]
password-cache.el (password-cache-remove): Remove entries even if the value is nil, so that password with a nil value (negative caching) is possible to invalidate.
auth-source.el (auth-source-format-cache-entry): New function.

12 years agoAuto-commit of loaddefs files.
Glenn Morris [Tue, 20 Sep 2011 10:18:55 +0000 (06:18 -0400)]
Auto-commit of loaddefs files.

12 years agoTweak previous f90.el change.
Glenn Morris [Tue, 20 Sep 2011 06:36:45 +0000 (23:36 -0700)]
Tweak previous f90.el change.

12 years ago* mh-e.el (Version, mh-version): Update for release 8.3. mh-e-8.3
Bill Wohler [Tue, 20 Sep 2011 04:56:51 +0000 (21:56 -0700)]
* mh-e.el (Version, mh-version): Update for release 8.3.

12 years ago* mh-show.el (mh-unvisit-file): Clarify language in yes-or-no-p and
Bill Wohler [Tue, 20 Sep 2011 04:56:09 +0000 (21:56 -0700)]
* mh-show.el (mh-unvisit-file): Clarify language in yes-or-no-p and
error messages.

12 years ago* NEWS, MH-E-NEWS: Update for MH-E release 8.3.
Bill Wohler [Tue, 20 Sep 2011 04:51:59 +0000 (21:51 -0700)]
* NEWS, MH-E-NEWS: Update for MH-E release 8.3.

12 years agoFixes for f90.el filling in comments (bug#9553)
Lawrence Mitchell [Tue, 20 Sep 2011 04:12:05 +0000 (21:12 -0700)]
Fixes for f90.el filling in comments (bug#9553)

* lisp/progmodes/f90.el (f90-break-line): If breaking inside comment delete
all whitespace around breakpoint.
(f90-find-breakpoint): Only break at whitespace inside a comment.

12 years ago* lisp/minibuffer.el (completion-file-name-table): Keep track of errors.
Stefan Monnier [Tue, 20 Sep 2011 01:06:29 +0000 (21:06 -0400)]
* lisp/minibuffer.el (completion-file-name-table): Keep track of errors.
(completion-table-with-predicate): Handle the case where pred1 is nil.
* lisp/pcomplete.el (pcomplete-completions-at-point): Simplify.

Fixes: debbugs:9160
12 years agognus-fun.el (gnus-convert-image-to-x-face-command): Doc fix.
Katsumi Yamaoka [Tue, 20 Sep 2011 00:21:58 +0000 (00:21 +0000)]
gnus-fun.el (gnus-convert-image-to-x-face-command): Doc fix.

12 years agoMerge changes made in Gnus trunk.
Gnus developers [Mon, 19 Sep 2011 22:06:57 +0000 (22:06 +0000)]
Merge changes made in Gnus trunk.

mm-decode.el (mm-inline-media-tests): Fix typo in regexp.
auth-source.el (auth-source-netrc-parse): Use an obfuscation method which work with things that are not ASCII.

12 years ago* lisp/emacs-lisp/debug.el (debugger-args): Give it a docstring.
Stefan Monnier [Mon, 19 Sep 2011 21:14:23 +0000 (17:14 -0400)]
* lisp/emacs-lisp/debug.el (debugger-args): Give it a docstring.
(debugger-return-value): Signal an error if the debugging context does
not await any return value.

12 years ago* lisp/ps-mule.el (ps-mule-plot-string): Don't inf-loop.
Stefan Monnier [Mon, 19 Sep 2011 19:27:30 +0000 (15:27 -0400)]
* lisp/ps-mule.el (ps-mule-plot-string): Don't inf-loop.
* lisp/image-mode.el (image-toggle-display-text)
(image-toggle-display-image): Stay away from evil `intangible'.

Fixes: debbugs:5108
12 years agoFixes for Occur Edit mode.
Leo Liu [Mon, 19 Sep 2011 18:57:55 +0000 (14:57 -0400)]
Fixes for Occur Edit mode.

* replace.el (occur-revert-arguments): Make it permanent-local.
(occur-mode): Don't call font-lock-defontify.

12 years agoAdd missing ChangeLog entry for ldap.el change in 2011-09-17T21:28:17Z!cyd@stupidchic...
Chong Yidong [Mon, 19 Sep 2011 18:45:55 +0000 (14:45 -0400)]
Add missing ChangeLog entry for ldap.el change in 2011-09-17T21:28:17Z!cyd@stupidchicken.com.

12 years ago* lisp/whitespace.el (whitespace-newline-mode): Disable it right.
Stefan Monnier [Mon, 19 Sep 2011 18:06:14 +0000 (14:06 -0400)]
* lisp/whitespace.el (whitespace-newline-mode): Disable it right.

Fixes: debbugs:9550
12 years agoorg/org.el: Add FIXMEs for odd chunks of code
Stefan Monnier [Mon, 19 Sep 2011 16:48:36 +0000 (12:48 -0400)]
org/org.el: Add FIXMEs for odd chunks of code

12 years ago* .dir-locals.el: Change the debbugs regexp to allow having the bug number as the...
Lars Magne Ingebrigtsen [Mon, 19 Sep 2011 08:26:50 +0000 (10:26 +0200)]
* .dir-locals.el: Change the debbugs regexp to allow having the bug number as the first thing on a line.

12 years ago* lread.c (Fread_from_string): Document what FINAL-STRING-INDEX is.
Lars Magne Ingebrigtsen [Mon, 19 Sep 2011 08:25:35 +0000 (10:25 +0200)]
* lread.c (Fread_from_string): Document what FINAL-STRING-INDEX is.

Fixes: debbugs:9493
12 years ago* errors.texi (Standard Errors): Remove apparent placeholder text (bug#9491).
Lars Magne Ingebrigtsen [Mon, 19 Sep 2011 08:14:13 +0000 (10:14 +0200)]
* errors.texi (Standard Errors): Remove apparent placeholder text (bug#9491).

12 years ago* net/tramp-sh.el (tramp-inline-compress-commands): Add "xz".
Michael Albinus [Mon, 19 Sep 2011 06:53:45 +0000 (08:53 +0200)]
* net/tramp-sh.el (tramp-inline-compress-commands): Add "xz".
Suggested by Liam Stitt <stittl@cuug.ab.ca>.

12 years agoCapitalize non-function content words in menu item strings.
Juri Linkov [Sun, 18 Sep 2011 20:43:20 +0000 (23:43 +0300)]
Capitalize non-function content words in menu item strings.

* lisp/buff-menu.el (Buffer-menu-mode-map):
* lisp/dired.el (dired-mode-map):
* lisp/emacs-lisp/lisp-mode.el (emacs-lisp-mode-map)
(lisp-interaction-mode-map):
* lisp/emacs-lisp/package.el (package-menu-mode-map):
* lisp/epa.el (epa-key-list-mode-map):
* lisp/menu-bar.el (menu-bar-showhide-tool-bar-menu)
(menu-bar-options-menu):
* lisp/outline.el (outline-mode-menu-bar-map):
* lisp/vc/vc-bzr.el (vc-bzr-shelve-menu-map, vc-bzr-extra-menu-map):
* lisp/vc/vc-dir.el (vc-dir-menu-map):
* lisp/vc/vc-git.el (vc-git-stash-menu-map, vc-git-extra-menu-map):
Capitalize non-function content words in menu item strings.

* lisp/dired.el (dired-mode-map): Add menu item for
`image-dired-dired-toggle-marked-thumbs'.

12 years agoPreserve current isearch case-fold value in `isearch-edit-string'.
Juri Linkov [Sun, 18 Sep 2011 20:28:45 +0000 (23:28 +0300)]
Preserve current isearch case-fold value in `isearch-edit-string'.

* lisp/isearch.el (isearch-edit-string): Bind `isearch-new-case-fold'
to `isearch-case-fold-search' and restore its original value
after the `isearch-mode' call.

12 years ago* lisp/progmodes/grep.el (grep-process-setup): Don't check code for 1
Juri Linkov [Sun, 18 Sep 2011 20:20:08 +0000 (23:20 +0300)]
* lisp/progmodes/grep.el (grep-process-setup): Don't check code for 1
because `zgrep' returns 1 for successful matches.

Fixes: debbugs:9226
12 years ago* lisp/info.el (Info-extract-menu-node-name): Check the second match
Juri Linkov [Sun, 18 Sep 2011 20:14:16 +0000 (23:14 +0300)]
* lisp/info.el (Info-extract-menu-node-name): Check the second match
for empty string (second test-case of bug#9528).
(Info-last-preorder): Let-bind `Info-history' to nil to not add
intermediate nodes to the history (first test-case of bug#9528).

12 years agoFix handling of X resource for window icons.
Chong Yidong [Sun, 18 Sep 2011 20:01:37 +0000 (16:01 -0400)]
Fix handling of X resource for window icons.

* src/xfns.c (Fx_create_frame): Handle bitmapIcon resource as a boolean.

* doc/emacs/cmdargs.texi (Icons X): Fix description of Emacs icon.

* doc/emacs/xresources.texi (Table of Resources): Fix documentation of
bitmapIcon.

* doc/lispref/frames.texi (Management Parameters): Fix description of
icon-type parameter.

Fixes: debbugs:9154
12 years ago* lisp/info.el (Info-mode-syntax-table): New variable.
Juri Linkov [Sun, 18 Sep 2011 19:56:12 +0000 (22:56 +0300)]
* lisp/info.el (Info-mode-syntax-table): New variable.
(Info-mode): Set `:syntax-table' to `Info-mode-syntax-table'.

Fixes: debbugs:3312
12 years ago* lisp/info.el (Info-file-supports-index-cookies): Increment
Juri Linkov [Sun, 18 Sep 2011 19:49:13 +0000 (22:49 +0300)]
* lisp/info.el (Info-file-supports-index-cookies): Increment
line-beginning-position's arg from 3 to 4 because makeinfo outputs
one more line for long file names.

Fixes: debbugs:4142
12 years agoFix bug #9545 with crash in Dired when $ is pressed.
Eli Zaretskii [Sun, 18 Sep 2011 19:02:17 +0000 (22:02 +0300)]
Fix bug #9545 with crash in Dired when $ is pressed.

 src/xdisp.c (reseat_at_next_visible_line_start): Undo the change made on
 2011-09-17 that saved paragraph information and restored it after
 the call to `reseat'.

12 years agoFix for uncommentin in Fundamental mode.
Chong Yidong [Sun, 18 Sep 2011 18:10:01 +0000 (14:10 -0400)]
Fix for uncommentin in Fundamental mode.

* newcomment.el (comment-normalize-vars): If prompting for
comment-start, set comment-start-skip too.

Fixes: debbugs:8424
12 years agoFix a bug in :align-to on a TTY when the column is beyond frame width.
Eli Zaretskii [Sun, 18 Sep 2011 16:17:40 +0000 (19:17 +0300)]
Fix a bug in :align-to on a TTY when the column is beyond frame width.

 src/xdisp.c (produce_stretch_glyph): Don't subtract 1 "pixel" when
 computing width of the stretch on a TTY.

12 years agoFix previous fix of Bug#5849.
Johan Bockgård [Sun, 18 Sep 2011 16:13:01 +0000 (12:13 -0400)]
Fix previous fix of Bug#5849.

* icomplete.el (icomplete-mode): Don't set completion-show-inline-help.
(icomplete-minibuffer-setup): Set completion-show-inline-help
locally during icompletion.

12 years agoFix yet another woman parser snafu.
Chong Yidong [Sun, 18 Sep 2011 16:03:48 +0000 (12:03 -0400)]
Fix yet another woman parser snafu.

* woman.el (woman2-process-escapes): Don't delete unrecognized
escapes (Bug#7843).

12 years agoFix bug #9530 on a TTY.
Eli Zaretskii [Sun, 18 Sep 2011 15:48:12 +0000 (18:48 +0300)]
Fix bug #9530 on a TTY.

 src/xdisp.c (display_line): Record maximum and minimum buffer
 positions even if no glyphs were produced (e.g., by a zero-width
 stretch).  Fixes bug#9530 on a TTY.  Under word-wrap, don't record
 buffer positions that will be removed from the glyph row because
 they don't fit.

12 years agoAllow visiting files with malformed prop-lines.
Chong Yidong [Sun, 18 Sep 2011 15:30:10 +0000 (11:30 -0400)]
Allow visiting files with malformed prop-lines.

* files.el (inhibit-first-line-modes-regexps): Add image files.
(hack-local-variables-prop-line): Return nil for malformed prop-lines.

Fixes: debbugs:9044
12 years agoMerge changes from emacs-23 branch
Chong Yidong [Sun, 18 Sep 2011 15:21:57 +0000 (11:21 -0400)]
Merge changes from emacs-23 branch

12 years agosrc/xdisp.c (reseat_at_next_visible_line_start): Fix last change.
Eli Zaretskii [Sun, 18 Sep 2011 15:16:47 +0000 (18:16 +0300)]
src/xdisp.c (reseat_at_next_visible_line_start): Fix last change.

12 years ago* net/tramp.el (top): Don't require 'shell.
Michael Albinus [Sun, 18 Sep 2011 11:26:15 +0000 (13:26 +0200)]
* net/tramp.el (top): Don't require 'shell.
(tramp-methods): Fix docstring.
(tramp-get-remote-tmpdir): New defun, moved from tramp-sh.el.
Return complete remote file name.  Handle "smb" case.  Use
`tramp-tmpdir', if defined for the respective method.
(tramp-make-tramp-temp-file): Adapt call of `tramp-get-remote-tmpdir'.

* net/tramp-compat.el (top): Require 'shell.

* net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
(tramp-maybe-open-connection): Use `tramp-file-name-real-host' for
`tramp-current-host'.
(tramp-get-remote-tmpdir): Remove.

* net/tramp-smb.el (tramp-methods): Add `tramp-remote-shell' and
`tramp-tmpdir' entries.
(tramp-smb-errors): Add "NT_STATUS_IMAGE_ALREADY_LOADED".
(tramp-smb-handle-file-attributes): Ignore errors.
(tramp-smb-wait-for-output): Check also for process end.

12 years agoFix minor problem found by static checking.
Paul Eggert [Sun, 18 Sep 2011 09:01:39 +0000 (02:01 -0700)]
Fix minor problem found by static checking.

* xdisp.c (reseat_at_next_visible_line_start): Mark locals as
initialized, to pacify gcc -Wuninitialized.

12 years ago* fileio.c: Report proper errno when syscall falls.
Paul Eggert [Sun, 18 Sep 2011 08:34:09 +0000 (01:34 -0700)]
* fileio.c: Report proper errno when syscall falls.

(Finsert_file_contents): Save and restore errno,
so that report_file_error outputs the correct diagnostic.
(Fwrite_region) [CLASH_DETECTION]: Likewise.

12 years ago(smtpmail-via-smtp): Ignore errors that arise when sending QUIT.
Lars Magne Ingebrigtsen [Sun, 18 Sep 2011 07:36:20 +0000 (09:36 +0200)]
(smtpmail-via-smtp): Ignore errors that arise when sending QUIT.

Fixes: debbugs:9312
12 years agosrc/xdisp.c: Revert inadvertently committed changes.
Eli Zaretskii [Sun, 18 Sep 2011 07:36:10 +0000 (03:36 -0400)]
src/xdisp.c: Revert inadvertently committed changes.

12 years agosrc/.gdbinit (pgx): Fix references to fields of `struct glyph'.
Eli Zaretskii [Sun, 18 Sep 2011 07:33:04 +0000 (03:33 -0400)]
src/.gdbinit (pgx): Fix references to fields of `struct glyph'.

12 years ago* lisp/replace.el (occur-mode-map): Rebind occur-edit-mode to "e".
Chong Yidong [Sat, 17 Sep 2011 21:28:17 +0000 (17:28 -0400)]
* lisp/replace.el (occur-mode-map): Rebind occur-edit-mode to "e".
(occur-edit-mode-map): Bind C-c C-c to occur-cease-edit and C-o to
occur-mode-display-occurrence.
(occur-edit-mode): Add usage message.
(occur-cease-edit): New command.
(occur-after-change-function): Use text properties to find the
position of the prefix text.
(occur-engine): Set stickiness of prefix text properties.

Fixes: debbugs:8463
12 years ago* doc/lispref/tips.texi: Don't bind a key sequence ending in C-g.
Chong Yidong [Sat, 17 Sep 2011 19:49:57 +0000 (15:49 -0400)]
* doc/lispref/tips.texi: Don't bind a key sequence ending in C-g.
Suggested by Edward O'Connor.

12 years agocomplete-tag fix for bug#9526
Glenn Morris [Sat, 17 Sep 2011 19:05:52 +0000 (12:05 -0700)]
complete-tag fix for bug#9526

* lisp/progmodes/etags.el (complete-tag):
Fix call to completion-in-region. (cf info-complete).

12 years ago* doc/man/emacs.1: Escape a dash.
Sven Joachim [Sat, 17 Sep 2011 18:43:04 +0000 (11:43 -0700)]
* doc/man/emacs.1: Escape a dash.

12 years agoFix bug #9530 with incorrect display of zero-width stretch.
Eli Zaretskii [Sat, 17 Sep 2011 18:21:24 +0000 (21:21 +0300)]
Fix bug #9530 with incorrect display of zero-width stretch.

 src/xdisp.c (produce_stretch_glyph): Another fix for changes made on
 2011-08-30T17:32:44Z!eliz@gnu.org.

12 years agoFix bug #9470 with slow redisplay in huge single-paragraph buffers.
Eli Zaretskii [Sat, 17 Sep 2011 15:18:56 +0000 (18:18 +0300)]
Fix bug #9470 with slow redisplay in huge single-paragraph buffers.

 src/bidi.c (MAX_PARAGRAPH_SEARCH): New macro.
 (bidi_find_paragraph_start): Search back for paragraph beginning
 at most MAX_PARAGRAPH_SEARCH lines; if not found, return BEGV_BYTE.
 (bidi_move_to_visually_next): Only trigger paragraph-related
 computations when the last character is a newline or at EOB, not
 just any NEUTRAL_B.
 src/xdisp.c (reseat_at_next_visible_line_start): Keep information
 about the current paragraph and restore it after the call to
 reseat.

12 years agoFix typos.
Juanma Barranquero [Sat, 17 Sep 2011 12:19:04 +0000 (14:19 +0200)]
Fix typos.

12 years ago* lisp/textmodes/ispell.el (ispell-word): Add to the error message
Juri Linkov [Sat, 17 Sep 2011 12:07:50 +0000 (15:07 +0300)]
* lisp/textmodes/ispell.el (ispell-word): Add to the error message
the word, ispell program name and current dictionary.
(ispell-tex-arg-end): Capitalize "error" in the error message.

Fixes: debbugs:9121
12 years agomm-decode.el (mm-inline-media-tests): Support imagemagick images.
Lars Magne Ingebrigtsen [Sat, 17 Sep 2011 12:02:10 +0000 (12:02 +0000)]
mm-decode.el (mm-inline-media-tests): Support imagemagick images.

12 years ago* lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode): Fix overflow
Andreas Schwab [Sat, 17 Sep 2011 09:29:01 +0000 (11:29 +0200)]
* lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode): Fix overflow
check.  (Bug#4251)

12 years agoFix bug #9525 with indexing most-positive/negative-fixnum.
Eli Zaretskii [Sat, 17 Sep 2011 08:18:48 +0000 (11:18 +0300)]
Fix bug #9525 with indexing most-positive/negative-fixnum.

 doc/lispref/numbers.texi (Integer Basics): Add indexing for
 most-positive-fixnum and most-negative-fixnum.

12 years agoFix bug #9524 with cursor positioning on display strings in truncated lines.
Eli Zaretskii [Sat, 17 Sep 2011 08:09:45 +0000 (11:09 +0300)]
Fix bug #9524 with cursor positioning on display strings in truncated lines.

 src/xdisp.c (set_cursor_from_row): Don't invoke special treatment of
 truncated lines if point is covered by a display string.

12 years agoIndent.
Lars Magne Ingebrigtsen [Sat, 17 Sep 2011 04:53:25 +0000 (06:53 +0200)]
Indent.

12 years agolisp/window.el (window-safe-min-height, window-safe-min-width): Fix typos.
Juri Linkov [Sat, 17 Sep 2011 00:46:59 +0000 (02:46 +0200)]
lisp/window.el (window-safe-min-height, window-safe-min-width): Fix typos.

Fixes: debbugs:9522
12 years agolisp/window.el (window-min-width, window-state-put): Fix typos (bug#9522).
Sven Joachim [Sat, 17 Sep 2011 00:42:13 +0000 (02:42 +0200)]
lisp/window.el (window-min-width, window-state-put): Fix typos (bug#9522).

12 years agoRemove inadvertent x permissions from 4 images.
Paul Eggert [Fri, 16 Sep 2011 19:49:18 +0000 (12:49 -0700)]
Remove inadvertent x permissions from 4 images.

12 years ago* xselect.c: Relax test for outgoing X longs (Bug#9498).
Paul Eggert [Fri, 16 Sep 2011 17:49:29 +0000 (10:49 -0700)]
* xselect.c: Relax test for outgoing X longs (Bug#9498).

(cons_to_x_long): New function.
(lisp_data_to_selection_data): Use it.  Correct the test for
short-versus-long data; it was negated.  Break out of vector
loop, for efficiency, when a long datum is discovered.

12 years agoFix bug #971 with next/previous-line when goal-column is set.
Eli Zaretskii [Fri, 16 Sep 2011 17:15:16 +0000 (20:15 +0300)]
Fix bug #971 with next/previous-line when goal-column is set.

 lisp/simple.el (line-move): If goal-column is set, move by logical
 lines, not by display lines.
 (next-line, previous-line, goal-column, line-move-visual): Doc fix
 to reflect the above change.

12 years ago* src/eval.c (Fquote): Document its non-consing behavior.
Stefan Monnier [Fri, 16 Sep 2011 14:14:48 +0000 (10:14 -0400)]
* src/eval.c (Fquote): Document its non-consing behavior.

Fixes: debbugs:9482
12 years ago* lisp/image.el (imagemagick-register-types): Use regexp-opt.
Stefan Monnier [Fri, 16 Sep 2011 13:46:42 +0000 (09:46 -0400)]
* lisp/image.el (imagemagick-register-types): Use regexp-opt.

12 years agoFix a compilation error with MinGW GCC 3.x in tiff_handler.
Eli Zaretskii [Fri, 16 Sep 2011 10:25:39 +0000 (13:25 +0300)]
Fix a compilation error with MinGW GCC 3.x in tiff_handler.

 src/image.c (tiff_handler): Work around a bug in MinGW GCC 3.x (see
 GCC PR/17406) by declaring this function with external scope.

12 years ago* editfns.c (Fformat): Fix bug in text-property fix (Bug#9514).
Paul Eggert [Thu, 15 Sep 2011 18:11:37 +0000 (11:11 -0700)]
* editfns.c (Fformat): Fix bug in text-property fix (Bug#9514).

Don't mishandle (length (format "%%")) and (format "%4000s%%" "").

12 years agoFix my ChangeLog entry.
Paul Eggert [Thu, 15 Sep 2011 17:41:25 +0000 (10:41 -0700)]
Fix my ChangeLog entry.

12 years agoFix a typo in comment from 2011-09-15T15:41:03Z!eliz@gnu.org.
Eli Zaretskii [Thu, 15 Sep 2011 17:37:16 +0000 (20:37 +0300)]
Fix a typo in comment from 2011-09-15T15:41:03Z!eliz@gnu.org.

12 years ago* src/editfns.c (Fformat): Correctly handle text properties on "%%".
Andreas Schwab [Thu, 15 Sep 2011 16:56:07 +0000 (18:56 +0200)]
* src/editfns.c (Fformat): Correctly handle text properties on "%%".

12 years agoAdd comments about special meaning of TAB characters in compositions.
Eli Zaretskii [Thu, 15 Sep 2011 16:22:58 +0000 (19:22 +0300)]
Add comments about special meaning of TAB characters in compositions.

 src/xterm.c (x_draw_composite_glyph_string_foreground):
 src/w32term.c (x_draw_composite_glyph_string_foreground):
 src/term.c (encode_terminal_code):
 src/composite.c (composition_update_it, get_composition_id):
 src/xdisp.c (get_next_display_element)
 (fill_composite_glyph_string): Add comments about special meaning
 of TAB characters in a composition.

12 years ago* editfns.c (Fformat): Fix off-by-1 bug for "%%b" (Bug#9514).
Paul Eggert [Thu, 15 Sep 2011 16:10:37 +0000 (09:10 -0700)]
* editfns.c (Fformat): Fix off-by-1 bug for "%%b" (Bug#9514).

This occurs when processing a multibyte format, which can happen
when using 'eval'.  Problem reported by Wolfgang Jenker.

12 years agoFix bug #9495 with cursor positioning on truncated lines.
Johan Bockgård [Thu, 15 Sep 2011 16:02:49 +0000 (19:02 +0300)]
Fix bug #9495 with cursor positioning on truncated lines.
Patch by Johan Bockgוrd <bojohan@gnu.org>

 src/xdisp.c (try_cursor_movement): Only check for exact match if
 cursor hpos found by set_cursor_from_row is valid.  (Bug#9495)

12 years agoxdisp.c (hscroll_window_tree): Sync comment with the code.
Eli Zaretskii [Thu, 15 Sep 2011 15:41:03 +0000 (18:41 +0300)]
xdisp.c (hscroll_window_tree): Sync comment with the code.

12 years agoMake the user customizable display-buffer variable empty by default.
Chong Yidong [Thu, 15 Sep 2011 15:12:15 +0000 (11:12 -0400)]
Make the user customizable display-buffer variable empty by default.

* lisp/window.el (display-buffer-base-action): Rename from
display-buffer-default-action.  Make default value empty.
(display-buffer-overriding-action): Convert to defvar.
(display-buffer-fallback-action): New var.

12 years agoAuto-commit of generated files.
Glenn Morris [Thu, 15 Sep 2011 10:18:44 +0000 (06:18 -0400)]
Auto-commit of generated files.

12 years agognus-sum.el (gnus-summary-read-group-1): Bump the "Retrieving" message level.
Lars Magne Ingebrigtsen [Thu, 15 Sep 2011 05:46:40 +0000 (05:46 +0000)]
gnus-sum.el (gnus-summary-read-group-1): Bump the "Retrieving" message level.

12 years ago* configure.in: (C_SWITCH_X_SYSTEM): Enable GNUstep to find its headers.
Glenn Morris [Thu, 15 Sep 2011 03:01:25 +0000 (20:01 -0700)]
* configure.in: (C_SWITCH_X_SYSTEM): Enable GNUstep to find its headers.

12 years agoMake the GNUstep port at least be able to configure.
Glenn Morris [Thu, 15 Sep 2011 02:32:55 +0000 (19:32 -0700)]
Make the GNUstep port at least be able to configure.
Ref: http://lists.gnu.org/archive/html/emacs-devel/2011-08/msg00938.html

* configure.in: (_NATIVE_OBJC_EXCEPTIONS): New AC_DEFINE.
(GNU_OBJC_CFLAGS): Add -fobjc-exceptions when needed.

12 years ago* doc/emacs/package.texi (Package Menu): Add package-menu-mark-upgrades.
Chong Yidong [Thu, 15 Sep 2011 02:10:52 +0000 (22:10 -0400)]
* doc/emacs/package.texi (Package Menu): Add package-menu-mark-upgrades.

12 years agoAdd package-menu-mark-upgrades to the Package Menu menu bar map.
Chong Yidong [Thu, 15 Sep 2011 02:05:17 +0000 (22:05 -0400)]
Add package-menu-mark-upgrades to the Package Menu menu bar map.

12 years agoAdd an "mark upgradable packages" command to Package Menu mode.
Chong Yidong [Thu, 15 Sep 2011 01:57:54 +0000 (21:57 -0400)]
Add an "mark upgradable packages" command to Package Menu mode.

* lisp/emacs-lisp/package.el (package-alist): Fix risky-local-variable
declaration.
(package--add-to-archive-contents): If there is a duplicate entry
with an older version, remove it.
(package-menu-mark-delete, package-menu-mark-install)
(package-menu-mark-unmark): Make unused args optional.
(package-menu-mark-obsolete-for-deletion): Use
package-menu-get-status instead of a regexp search.
(package-menu-get-status): Use tabulated-list-entry.
(package-menu-mark-upgrades): New command.
(package-menu-mode-map): Bind it to U.
(package-menu-execute): Do installation before deletion.
(package-menu-refresh, package-menu-execute): Use derived-mode-p
instead of checking major-mode.
(package-menu--find-upgrades): New function.

12 years agomessage.el (message-read-from-minibuffer): Make abbrev expansion work.
Katsumi Yamaoka [Thu, 15 Sep 2011 01:08:08 +0000 (01:08 +0000)]
message.el (message-read-from-minibuffer): Make abbrev expansion work.

12 years agoUpdate the process marker so that the "broken by peer" status message is inserted...
Lars Magne Ingebrigtsen [Wed, 14 Sep 2011 22:57:57 +0000 (00:57 +0200)]
Update the process marker so that the "broken by peer" status message is inserted in the right place.

12 years ago(smtpmail-send-command): Don't include AUTH passwords in the log buffer
Lars Magne Ingebrigtsen [Wed, 14 Sep 2011 21:59:50 +0000 (23:59 +0200)]
(smtpmail-send-command): Don't include AUTH passwords in the log buffer

12 years agoRemove unused external symbols.
Paul Eggert [Wed, 14 Sep 2011 21:45:51 +0000 (14:45 -0700)]
Remove unused external symbols.

* dispextern.h (calc_pixel_width_or_height): Remove decl.
* xdisp.c (calc_pixel_width_or_height): Now static.
* doprnt.c (exprintf) [! (HAVE_X_WINDOWS && USE_X_TOOLKIT)]: Remove.
* indent.c (check_display_width):
* w32term.c: Fix comment to match code.
* xterm.c, xterm.h (x_catching_errors): Remove.

12 years ago* textmodes/bibtex.el (bibtex-complete-string-cleanup)
Stefan Monnier [Wed, 14 Sep 2011 21:43:36 +0000 (17:43 -0400)]
* textmodes/bibtex.el (bibtex-complete-string-cleanup)
(bibtex-complete-crossref-cleanup): Adjust to accommodate needs of
bibtex-completion-at-point-function.
(bibtex-completion-at-point-function): Use them.