1. 09 Jun, 2013 2 commits
  2. 08 Jun, 2013 1 commit
    • Eli Zaretskii's avatar
      Fix bug #14575 with window-specific overlays with display props. · 5bf97bfc
      Eli Zaretskii authored
       src/bidi.c (bidi_fetch_char): Accept additional argument, the window
       being displayed, and pass it to compute_display_string_pos.
       (bidi_level_of_next_char, bidi_resolve_explicit_1)
       (bidi_paragraph_init): All callers changed.
       src/xdisp.c (init_from_display_pos, init_iterator)
       (handle_single_display_spec, next_overlay_string)
       (get_overlay_strings_1, reseat_1, reseat_to_string)
       (push_prefix_prop, Fcurrent_bidi_paragraph_direction): Set
       bidi_it.w member from it->w.
       (compute_display_string_pos): Accept additional argument, the
       window being displayed, and pass it to Fget_char_property.
       src/dispextern.h (struct bidi_it): New member w, the window being
       displayed.
       (compute_display_string_pos): Adjust prototype.
      5bf97bfc
  3. 06 Jun, 2013 1 commit
    • Eli Zaretskii's avatar
      Improve the fix for bug #14558. · 9ef6111b
      Eli Zaretskii authored
       src/xdisp.c (note_mouse_highlight): When mouse-highlight is off,
       still need to set the mouse pointer shape and activate help-echo.
      9ef6111b
  4. 05 Jun, 2013 1 commit
    • Eli Zaretskii's avatar
      Fix bug #14558 with turning off mouse-highlight during highlight. · 817ebfcf
      Eli Zaretskii authored
       src/xdisp.c (handle_tool_bar_click): When mouse-highlight is off,
       don't insist on being invoked on a highlighted tool-bar button.
       Avoids losing tool-bar functionality when mouse-highlight is nil.
       (note_tool_bar_highlight, note_mode_line_or_margin_highlight):
       Don't highlight when mouse-highlight is nil.
       (note_mouse_highlight): When mouse-highlight is nil, don't return
       right away; instead, run tool-bar and mode-line highlight
       subroutine, clear any existing highlight, and revert the mouse
       pointer to its default shape.
      817ebfcf
  5. 03 Jun, 2013 1 commit
    • Stefan Monnier's avatar
      Merge the specpdl and backtrace stacks. Make the structure of the · 2f592f95
      Stefan Monnier authored
      specpdl entries more obvious via a tagged union of structs.
      * src/lisp.h (BITS_PER_PTRDIFF_T): New constant.
      (enum specbind_tag): New enum.
      (struct specbinding): Make it a tagged union of structs.
      Add a case for backtrace records.
      (specpdl_symbol, specpdl_old_value, specpdl_where, specpdl_arg)
      (specpdl_func, backtrace_function, backtrace_nargs, backtrace_args)
      (backtrace_debug_on_exit): New accessors.
      (struct backtrace): Remove.
      (struct catchtag): Remove backlist field.
      * src/data.c (let_shadows_buffer_binding_p, let_shadows_global_binding_p):
      Move to eval.c.
      (Flocal_variable_p): Speed up the common case where the binding is
      already loaded.
      * src/eval.c (backtrace_list): Remove.
      (set_specpdl_symbol, set_specpdl_old_value): Remove.
      (set_backtrace_args, set_backtrace_nargs)
      (set_backtrace_debug_on_exit, backtrace_p, backtrace_top)
      (backtrace_next): New functions.
      (Fdefvaralias, Fdefvar): Adjust to new specpdl format.
      (unwind_to_catch, internal_lisp_condition_case)
      (internal_condition_case, internal_condition_case_1)
      (internal_condition_case_2, internal_condition_case_n): Don't bother
      with backtrace_list any more.
      (Fsignal): Adjust to new backtrace format.
      (grow_specpdl): Move up.
      (record_in_backtrace): New function.
      (eval_sub, Ffuncall): Use it.
      (apply_lambda): Adjust to new backtrace format.
      (let_shadows_buffer_binding_p, let_shadows_global_binding_p): Move from
      data.c.
      (specbind): Adjust to new specpdl format.  Simplify.
      (record_unwind_protect, unbind_to): Adjust to new specpdl format.
      (Fbacktrace_debug, Fbacktrace, Fbacktrace_frame): Adjust to new
      backtrace format.
      (mark_backtrace): Remove.
      (mark_specpdl, get_backtrace, backtrace_top_function): New functions.
      * src/xdisp.c (redisplay_internal): Use record_in_backtrace.
      * src/alloc.c (Fgarbage_collect): Use record_in_backtrace.
      Use mark_specpdl.
      * src/profiler.c (record_backtrace): Use get_backtrace.
      (handle_profiler_signal): Use backtrace_top_function.
      * src/.gdbinit (xbacktrace, hookpost-backtrace): Use new backtrace
      accessor functions.
      2f592f95
  6. 27 May, 2013 1 commit
  7. 21 May, 2013 1 commit
  8. 16 May, 2013 1 commit
  9. 08 May, 2013 1 commit
    • Eli Zaretskii's avatar
      Fix vertical cursor motion when there's a display string with newline at EOL. · 07525f77
      Eli Zaretskii authored
       src/xdisp.c (row_for_charpos_p): New function, with code of
       cursor_row_p, but accepts an additional argument CHARPOS instead
       of using a hardcoded PT.
       (cursor_row_p): Call row_for_charpos_p with 2nd argument PT.
       (row_containing_pos): Call row_for_charpos_p instead of partially
       doing the same.  Fixes cursor positioning under longlines-mode
       when longlines-show-effect includes more than one newline, when
       moving the cursor vertically up.
      07525f77
  10. 06 May, 2013 1 commit
  11. 05 May, 2013 1 commit
  12. 02 Apr, 2013 1 commit
    • Paul Eggert's avatar
      Prefer < to > in range checks such as 0 <= i && i < N. · 7216e43b
      Paul Eggert authored
      This makes it easier to visualize quantities on a number line.
      This patch doesn't apply to all such range checks,
      only to the range checks affected by the 2013-03-24 change.
      This patch reverts most of the 2013-03-24 change.
      * alloc.c (xpalloc, Fgarbage_collect):
      * ccl.c (ccl_driver, resolve_symbol_ccl_program):
      * character.c (string_escape_byte8):
      * charset.c (read_hex):
      * data.c (cons_to_unsigned):
      * dispnew.c (update_frame_1):
      * doc.c (Fsubstitute_command_keys):
      * doprnt.c (doprnt):
      * editfns.c (hi_time, decode_time_components):
      * fileio.c (file_offset):
      * fns.c (larger_vector, make_hash_table, Fmake_hash_table):
      * font.c (font_intern_prop):
      * frame.c (x_set_alpha):
      * gtkutil.c (get_utf8_string):
      * indent.c (check_display_width):
      * keymap.c (Fkey_description):
      * lisp.h (FIXNUM_OVERFLOW_P, vcopy):
      * lread.c (read1):
      * minibuf.c (read_minibuf_noninteractive):
      * process.c (wait_reading_process_output):
      * search.c (Freplace_match):
      * window.c (get_phys_cursor_glyph):
      * xdisp.c (redisplay_internal):
      * xsmfns.c (smc_save_yourself_CB):
      Prefer < to > for range checks.
      * dispnew.c (sit_for): Don't mishandle NaNs.
      This fixes a bug introduced in the 2013-03-24 change.
      * editfns.c (decode_time_components): Don't hoist comparison.
      This fixes another bug introduced in the 2013-03-24 change.
      7216e43b
  13. 31 Mar, 2013 1 commit
  14. 29 Mar, 2013 1 commit
    • Dmitry Antipov's avatar
      * indent.c (current_column_bol_cache): Remove leftover which is not · 781f4782
      Dmitry Antipov authored
      used in Fmove_to_column any more.
      (current_column, scan_for_column): Adjust users.
      * keyboard.c (last_point_position_buffer, last_point_position_window):
      Remove leftovers which are not used for recording undo any more.
      (command_loop_1, syms_of_keyboard): Adjust users.
      * xdisp.c (last_max_ascent): Remove leftover which is not used in
      redisplay_window any more.
      (move_it_to): Adjust user.
      781f4782
  15. 28 Mar, 2013 2 commits
    • Dmitry Antipov's avatar
      * window.h (struct window): Replace hchild, vchild and buffer slots · e74aeda8
      Dmitry Antipov authored
      with the only contents slot.  This is possible because each valid
      window may have either the child window (in vertical or horizontal
      combination) or buffer to display (for the leaf window).  Using that,
      a lof of operations to traverse and/or change window hierarchies may
      be simplified.  New member horizontal is used to distinguish between
      horizontal and vertical combinations of internal windows.
      (WINDOW_LEAF_P, WINDOW_HORIZONTAL_COMBINATION_P)
      (WINDOW_VERTICAL_COMBINATION_P): New macros.
      (WINDOW_VALID_P, WINDOW_LIVE_P): Adjust to match struct window changes.
      * window.c (wset_hchild, wset_vchild): Remove.  Adjust all users.
      Use contents slot, not buffer, where appropriate.
      (wset_combination): New function.
      (wset_buffer): Add eassert.
      (Fframe_first_window): Simplify the loop reaching first window.
      (Fwindow_buffer): Use WINDOW_LEAF_P.
      (Fwindow_top_child): Use WINDOW_VERTICAL_COMBINATION_P.
      (Fwindow_left_child): Use WINDOW_HORIZONTAL_COMBINATION_P.
      (unshow_buffer): Convert initial debugging check to eassert.
      (replace_window, recombine_windows, Fdelete_other_windows_internal)
      (make_parent_window, window_resize_check, window_resize_apply)
      (resize_frame_windows, Fsplit_window_internal, Fdelete_window_internal)
      (Fset_window_configuration, delete_all_child_windows, save_window_save):
      Adjust to match struct window changes.
      (window_loop): Check for broken markers in CHECK_ALL_WINDOWS.
      (mark_window_cursors_off, count_windows, get_leaf_windows)
      (foreach_window_1): Simplify the loop.
      * alloc.c (mark_object): Do not check for the leaf window because
      internal windows has no glyph matrices anyway.
      * dispnew.c (clear_window_matrices, showing_window_margins_p)
      (allocate_matrices_for_window_redisplay, fake_current_matrices)
      (allocate_matrices_for_frame_redisplay, free_window_matrices)
      (build_frame_matrix_from_window_tree, mirror_make_current)
      (frame_row_to_window, mirror_line_dance, check_window_matrix_pointers)
      (update_window_tree, set_window_update_flags): Simplify the loop.
      (sync_window_with_frame_matrix_rows): Enforce live window.
      Use contents slot, not buffer, where appropriate.
      * frame.c (set_menu_bar_lines_1): Use WINDOW_VERTICAL_COMBINATION_P
      and WINDOW_HORIZONTAL_COMBINATION_P.
      (make_frame_visible_1): Simplify the loop.
      Use contents slot, not buffer, where appropriate.
      * xdisp.c (hscroll_window_tree, mark_window_display_accurate)
      (redisplay_windows, redisplay_mode_lines, update_cursor_in_window_tree)
      (expose_window_tree): Likewise.
      Use contents slot, not buffer, where appropriate.
      * textprop.c (get_char_property_and_overlay): Add CHECK_LIVE_WINDOW
      to avoid deleted windows.  Use contents slot instead of buffer.
      * buffer.c, dispextern.h, editfns.c, fileio.c, font.c, fringe.c:
      * indent.c, insdel.c, keyboard.c, keymap.c, minibuf.c, msdos.c:
      * nsfns.m, nsmenu.m, nsterm.m, print.c, w32fns.c, w32menu.c, xfaces.c:
      * xfns.c, xmenu.c: Use contents slot, not buffer, where appropriate.
      e74aeda8
    • Dmitry Antipov's avatar
      * xdisp.c (with_echo_area_buffer_unwind_data): Save window · 5c89ca24
      Dmitry Antipov authored
      start marker...
      (unwind_with_echo_area_buffer): ...to restore it here.  This
      is needed to ensure that...
      (redisplay_window): ...both window markers are valid here,
      which is verified by eassert.
      * editfns.c (save_excursion_save): Do not assume that
      selected_window always displays the buffer.
      5c89ca24
  16. 24 Mar, 2013 2 commits
    • Andreas Schwab's avatar
      Reorder conditions that are written backwards · 908589fd
      Andreas Schwab authored
      * alloc.c (xpalloc, Fgarbage_collect): Reorder conditions that are
      written backwards.
      * blockinput.h (input_blocked_p): Likewise.
      * bytecode.c (exec_byte_code): Likewise.
      * callproc.c (call_process_kill, call_process_cleanup)
      (Fcall_process): Likewise.
      * ccl.c (ccl_driver, resolve_symbol_ccl_program)
      (Fccl_execute_on_string): Likewise.
      * character.c (string_escape_byte8): Likewise.
      * charset.c (read_hex): Likewise.
      * cm.c (calccost): Likewise.
      * data.c (cons_to_unsigned): Likewise.
      * dired.c (directory_files_internal, file_name_completion):
      Likewise.
      * dispnew.c (scrolling_window, update_frame_1, Fsleep_for)
      (sit_for): Likewise.
      * doc.c (Fsubstitute_command_keys): Likewise.
      * doprnt.c (doprnt): Likewise.
      * editfns.c (hi_time, decode_time_components, Fformat): Likewise.
      * emacsgtkfixed.c: Likewise.
      * fileio.c (file_offset, Fwrite_region): Likewise.
      * floatfns.c (Fexpt, fmod_float): Likewise.
      * fns.c (larger_vector, make_hash_table, Fmake_hash_table):
      Likewise.
      * font.c (font_intern_prop): Likewise.
      * frame.c (x_set_alpha): Likewise.
      * gtkutil.c (get_utf8_string): Likewise.
      * indent.c (check_display_width): Likewise.
      * intervals.c (create_root_interval, rotate_right, rotate_left)
      (split_interval_right, split_interval_left)
      (adjust_intervals_for_insertion, delete_node)
      (interval_deletion_adjustment, adjust_intervals_for_deletion)
      (merge_interval_right, merge_interval_left, copy_intervals)
      (set_intervals_multibyte_1): Likewise.
      * keyboard.c (gobble_input, append_tool_bar_item): Likewise.
      * keymap.c (Fkey_description): Likewise.
      * lisp.h (FIXNUM_OVERFLOW_P, vcopy): Likewise.
      * lread.c (openp, read_integer, read1, string_to_number):
      Likewise.
      * menu.c (ensure_menu_items): Likewise.
      * minibuf.c (read_minibuf_noninteractive): Likewise.
      * print.c (printchar, strout): Likewise.
      * process.c (create_process, Faccept_process_output)
      (wait_reading_process_output, read_process_output, send_process)
      (wait_reading_process_output): Likewise.
      * profiler.c (make_log, handle_profiler_signal): Likewise.
      * regex.c (re_exec): Likewise.
      * regex.h: Likewise.
      * search.c (looking_at_1, Freplace_match): Likewise.
      * sysdep.c (get_child_status, procfs_ttyname)
      (procfs_get_total_memory): Likewise.
      * systime.h (EMACS_TIME_VALID_P): Likewise.
      * term.c (dissociate_if_controlling_tty): Likewise.
      * window.c (get_phys_cursor_glyph): Likewise.
      * xdisp.c (init_iterator, redisplay_internal, redisplay_window)
      (try_window_reusing_current_matrix, try_window_id, pint2hrstr):
      Likewise.
      * xfns.c (Fx_window_property): Likewise.
      * xmenu.c (set_frame_menubar): Likewise.
      * xselect.c (x_get_window_property, x_handle_dnd_message):
      Likewise.
      * xsmfns.c (smc_save_yourself_CB): Likewise.
      * xterm.c (x_scroll_bar_set_handle): Likewise.
      908589fd
    • Paul Eggert's avatar
      Static checking by GCC 4.8-20130319. · a9ebfa0b
      Paul Eggert authored
      * image.c (gif_load): Assume pass < 3 to pacify GCC.
      * process.c (Fset_process_datagram_address)
      (Fmake_network_process): Check get_lisp_to_sockaddr_size return value.
      * xdisp.c (get_char_face_and_encoding):
      (get_glyph_face_and_encoding): Ensure that *CHAR2B is initialized.
      (get_glyph_face_and_encoding): Prepare face before possibly using it.
      (get_per_char_metric): Don't use CHAR2B if it might not be initialized.
      a9ebfa0b
  17. 22 Mar, 2013 1 commit
    • Dmitry Antipov's avatar
      * frame.h (struct frame): Put menu_bar_window under #ifdef · 5a49b79c
      Dmitry Antipov authored
      because this member is not needed when X toolkit is in use.
      (fset_menu_bar_window):
      * dispnew.c (clear_current_matrices, clear_desired_matrices)
      (free_glyphs, update_frame):
      * xdisp.c (expose_frame): Likewise.
      (display_menu_bar): Likewise.  Remove redundant eassert.
      * window.h (WINDOW_MENU_BAR_P): Always define to 0 if X
      toolkit is in use.
      5a49b79c
  18. 20 Mar, 2013 2 commits
    • Dmitry Antipov's avatar
      * window.h (struct window): Convert left_col, top_line, total_lines · 5f24fa51
      Dmitry Antipov authored
      and total_cols from Lisp_Objects to integers.  Adjust comments.
      (wset_left_col, wset_top_line, wset_total_cols, wset_total_lines):
      Remove.
      (WINDOW_TOTAL_COLS, WINDOW_TOTAL_LINES, WINDOW_LEFT_EDGE_COL)
      (WINDOW_TOP_EDGE_LINE): Drop Lisp_Object to integer conversion.
      * dispnew.c, frame.c, w32fns.c, window.c, xdisp.c, xfns.c:
      Adjust users where appropriate.
      5f24fa51
    • Dmitry Antipov's avatar
      * frame.h (struct frame): Drop resx and resy because the same data is · 42143acd
      Dmitry Antipov authored
      available from window system-specific output context.  Adjust users.
      (default_pixesls_per_inch_x, default_pixesls_per_inch_y): New
      functions to provide defaults when no window system available.
      (FRAME_RES_X, FRAME_RES_Y): New macros.
      (NUMVAL): Moved from xdisp.c.
      * font.c (font_pixel_size, font_find_for_lface, font_open_for_lface)
      (Ffont_face_attributes, Fopen_font):
      * image.c (gs_load):
      * w32font.c (fill_in_logfont):
      * xdisp.c (calc_pixel_width_or_height):
      * xfaces.c (Fx_family_fonts, set_lface_from_font): Use them.
      * xsettings.c (apply_xft_settings): Drop frame loop and adjust comment.
      42143acd
  19. 13 Mar, 2013 1 commit
  20. 10 Mar, 2013 1 commit
    • Eli Zaretskii's avatar
      Use macros from dispextern.h where appropriate. · 138c0ae8
      Eli Zaretskii authored
       src/xdisp.c (display_tool_bar_line, redisplay_tool_bar)
       (redisplay_internal, set_cursor_from_row, try_window)
       (try_window_id, dump_glyph_row, extend_face_to_end_of_line)
       (display_line, notice_overwritten_cursor)
       (mouse_face_from_buffer_pos, note_mouse_highlight): Use
       MATRIX_ROW_DISPLAYS_TEXT_P.
       (note_mouse_highlight): Use MATRIX_ROW_GLYPH_START.
       (mouse_face_from_string_pos, fast_find_string_pos): Use
       MATRIX_ROW_VPOS.
       src/xfns.c (Fx_show_tip): Use MATRIX_ROW_DISPLAYS_TEXT_P.
       src/w32fns.c (Fx_show_tip): Use MATRIX_ROW_DISPLAYS_TEXT_P.
       src/xdisp.c (try_cursor_movement): Use MATRIX_ROW and
       MATRIX_MODE_LINE_ROW.
       src/dispnew.c (update_window): Use MATRIX_ROW and MATRIX_MODE_LINE_ROW.
      138c0ae8
  21. 08 Mar, 2013 1 commit
    • Dmitry Antipov's avatar
      * search.c (find_newline): Accept start and end byte positions · b5426561
      Dmitry Antipov authored
      as arguments and allow -1 if not known.
      (find_newline_no_quit): Likewise for start position.
      * lisp.h (find_newline, find_newline_no_quit): Adjust prototype.
      * bidi.c (bidi_find_paragraph_start): Pass byte position to
      find_newline_no_quit, thus eliminating CHAR_TO_BYTE.
      * editfns.c (Fconstrain_to_field): Break long line.  Adjust
      call to find_newline.
      * indent.c (vmotion): Adjust calls to find_newline_no_quit.
      Use DEC_BOTH to start next search from the previous buffer
      position, where appropriate.
      * xdisp.c (back_to_previous_line_start, forward_to_next_line_start)
      (get_visually_first_element, move_it_vertically_backward): Likewise.
      Obtain byte position from the display iterator, where appropriate.
      b5426561
  22. 07 Mar, 2013 1 commit
    • Dmitry Antipov's avatar
      * bidi.c (bidi_fetch_char): Swap first and second arguments · 36075a19
      Dmitry Antipov authored
      to match other functions accepting character and byte positions.
      Adjust comment.
      (bidi_resolve_explicit_1, bidi_level_of_next_char): Adjust users.
      (bidi_paragraph_init): Likewise.  Use DEC_BOTH which is faster
      when you need just to move to the previous buffer position.
      * xdisp.c (Fcurrent_bidi_paragraph_direction): Use DEC_BOTH.
      36075a19
  23. 06 Mar, 2013 1 commit
    • Eli Zaretskii's avatar
      Rename find_next_newline to find_newline_no_quit. · a611149e
      Eli Zaretskii authored
       src/search.c (find_newline_no_quit): Rename from find_next_newline.
       Add commentary.
       src/lisp.h (find_newline_no_quit): Rename prototype.
       src/xdisp.c (back_to_previous_line_start)
       (forward_to_next_line_start, get_visually_first_element)
       (move_it_vertically_backward): Callers of find_newline_no_quit changed.
       src/indent.c (vmotion): Callers of find_newline_no_quit changed.
       src/bidi.c (bidi_find_paragraph_start): Callers of
       find_newline_no_quit changed.
      a611149e
  24. 05 Mar, 2013 1 commit
  25. 24 Feb, 2013 1 commit
  26. 20 Feb, 2013 1 commit
    • Dmitry Antipov's avatar
      * search.c (find_newline): Return byte position in bytepos. · 2a14a4f1
      Dmitry Antipov authored
      Adjust comment.
      (find_next_newline_no_quit, find_before_next_newline): Add
      bytepos argument.
      * lisp.h (find_newline, find_next_newline_no_quit)
      (find_before_next_newline): Adjust prototypes.
      * bidi.c (bidi_find_paragraph_start):
      * editfns.c (Fconstrain_to_field, Fline_end_position):
      * indent.c (compute_motion, vmotion):
      * xdisp.c (back_to_previous_line_start, forward_to_next_line_start):
      (get_visually_first_element, move_it_vertically_backward):
      Adjust users and avoid calls to CHAR_TO_BYTE where appropriate.
      2a14a4f1
  27. 18 Feb, 2013 1 commit
  28. 17 Feb, 2013 1 commit
  29. 15 Feb, 2013 1 commit
    • Dmitry Antipov's avatar
      * composite.c (fill_gstring_header): Remove useless prototype. · 0063fdb1
      Dmitry Antipov authored
      Break long line.
      * lisp.h (message_dolog, compile_pattern): Adjust prototype.
      * print.c (PRINTDECLARE, print_object):
      * search.c (compile_pattern, fast_looking_at, search_buffer):
      (simple_search, boyer_moore, Freplace_match):
      * xdisp.c (c_string_pos, number_of_chars, message_dolog):
      (get_overlay_arrow_glyph_row, display_mode_element):
      (decode_mode_spec_coding, message3):
      * xfaces.c (face_at_string_position): Use bool for booleans.
      Adjust comments.
      0063fdb1
  30. 12 Feb, 2013 2 commits
    • Eli Zaretskii's avatar
      Fix cursor positioning near scroll margin at top of window. · c4131562
      Eli Zaretskii authored
       src/xdisp.c (try_scrolling): Scroll text up more if point is too close
       to ZV and inside the scroll margin.  This makes sure point is moved
       outside the scroll margin in these cases.
      c4131562
    • Eli Zaretskii's avatar
      Minor additional fix in the wake of bugs #13623 and 13626. · 33b49d71
      Eli Zaretskii authored
       src/xdisp.c (redisplay_internal): Don't set w->region_showing to the
       marker's position.
       (display_line): Set w->region_showing to the value of
       it->region_beg_charpos, not to -1.  This fixes redisplay
       optimization when cursor is moved up after M->.
       src/window.h (struct window): region_showing can no longer be negative.
      33b49d71
  31. 11 Feb, 2013 3 commits
    • Paul Eggert's avatar
      Tune by using memchr and memrchr. · a84b7c53
      Paul Eggert authored
      * .bzrignore: Add string.h.
      * admin/merge-gnulib (GNULIB_MODULES): Add memrchr.
      * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
      * lib/memrchr.c, lib/string.in.h, m4/memrchr.m4, m4/string_h.m4:
      New files, from gnulib.
      * src/doc.c (Fsnarf_documentation):
      * src/fileio.c (Fsubstitute_in_file_name):
      * src/search.c (find_newline, scan_newline):
      * src/xdisp.c (pos_visible_p, display_count_lines):
      Use memchr and memrchr rather than scanning byte-by-byte.
      * src/search.c (find_newline): Rename from scan_buffer.
      Omit first arg TARGET, as it's always '\n'.  All callers changed.
      a84b7c53
    • Eli Zaretskii's avatar
      Fix previous commit for bug #13675. · f5e1b680
      Eli Zaretskii authored
       src/xdisp.c (move_it_vertically_backward, move_it_by_lines): Don't
       use the limitation on backwards movement when lines are truncated
       in the window.
      f5e1b680
    • Dmitry Antipov's avatar
      * marker.c (set_marker_internal): If desired position is passed · f74de345
      Dmitry Antipov authored
      as a marker, avoid call to buf_charpos_to_bytepos.
      * window.c (Fset_window_point): Omit redundant type checking.
      (Fset_window_start): Likewise.  Format comment.
      (window_scroll_pixel_based): Use set_marker_restricted_both
      with character and byte positions obtained from an iterator.
      (Fset_window_configuration): Use set_marker_restricted_both.
      * xdisp.c (message_dolog): Likewise.
      f74de345
  32. 10 Feb, 2013 1 commit
  33. 09 Feb, 2013 1 commit
    • Eli Zaretskii's avatar
      Remove all references to buffer-file-type and related features. · 8549f9e8
      Eli Zaretskii authored
       src/xdisp.c (decode_mode_spec): Remove handling of %t.
      
       lisp/net/ange-ftp.el (ange-ftp-insert-file-contents): Don't reference
       buffer-file-type.
       lisp/mail/feedmail.el (feedmail-force-binary-write): Doc fix.
       (feedmail-run-the-queue, feedmail-dump-message-to-queue)
       (feedmail-send-it-immediately): Don't bind buffer-file-type, bind
       coding-system-for-write instead.
       lisp/jka-compr.el (jka-compr-write-region): Don't bind
       buffer-file-type.
       lisp/emacs-lisp/bytecomp.el (byte-compile-file): Don't bind
       buffer-file-type.
       lisp/files.el (file-name-buffer-file-type-alist): Remove defvar.
       (insert-file-contents-literally): Remove reference to
       file-name-buffer-file-type-alist.
       lisp/dos-w32.el (file-name-buffer-file-type-alist): Deprecate and
       make-obsolete.
       (find-buffer-file-type-match, find-buffer-file-type): Remove.
       (find-buffer-file-type-coding-system): Remove references to
       find-buffer-file-type-match, find-buffer-file-type, and
       buffer-file-type.
       Don't put find-buffer-file-type-coding-system into
       file-coding-system-alist.
       (find-file-binary, find-file-text): Bind coding-system-for-read
       instead of file-name-buffer-file-type-alist.
       lisp/erc/erc-dcc.el (erc-dcc-get-file): Don't reference buffer-file-type.
      
       doc/emacs/msdog.texi (Text and Binary): Delete the description of
       file-name-buffer-file-type-alist.
      
       doc/lispref/modes.texi (%-Constructs): Remove the description of %t.
       doc/lispref/nonascii.texi (MS-DOS File Types): Delete node.
      
      Fixes: debbugs:12989
      8549f9e8