1. 20 Feb, 2014 2 commits
  2. 19 Feb, 2014 1 commit
  3. 08 Feb, 2014 1 commit
  4. 07 Feb, 2014 1 commit
  5. 05 Feb, 2014 3 commits
  6. 04 Feb, 2014 1 commit
    • Martin Rudalics's avatar
      Improve window dividers code. · 764ec9e5
      Martin Rudalics authored
      * faces.el (window-divider): New default value.  Rewrite
      doc-string.
      (window-divider-first-pixel, window-divider-last-pixel): New
      faces.
      * dispextern.h (face_id): Add WINDOW_DIVIDER_FIRST_PIXEL_FACE_ID
      and WINDOW_DIVIDER_LAST_PIXEL_FACE_ID.
      * w32term.c (w32_draw_window_divider): Handle first and last
      pixels specially.
      * w32term.h (w32_fill_area_abs): New function.
      * xdisp.c (x_draw_right_divider): Don't draw over bottom
      divider.
      * xfaces.c (realize_basic_faces): Handle new face ids.
      * xfns.c (Fx_create_frame): Call x_default_parameter for right
      and bottom divider width.
      * xterm.c (x_draw_window_divider): Handle first and last pixels
      specially.
      764ec9e5
  7. 28 Jan, 2014 1 commit
    • Martin Rudalics's avatar
      Fix Fwindow_text_pixel_size and fit-frame-to-buffer. · 1dcb169c
      Martin Rudalics authored
      * xdisp.c (last_max_ascent): Re-remove after erroneously
      reintroducing it on 2013-11-30 and abolishing Dmitry's removal
      from 2013-03-29.
      (move_it_to): Re-remove reference to last_max_ascent.
      (Fwindow_text_pixel_size): Add iterator's max_ascent and
      max_descent here instead of calling line_bottom_y.  Fix
      doc-string.
      
      * window.el (fit-frame-to-buffer): Fix calculations for margins and
      height constraints.
      1dcb169c
  8. 25 Jan, 2014 1 commit
  9. 24 Jan, 2014 1 commit
  10. 13 Jan, 2014 1 commit
  11. 11 Jan, 2014 3 commits
    • Eli Zaretskii's avatar
      Fix bug #16347 with updating redisplay of company-mode's "tooltip". · 02013850
      Eli Zaretskii authored
       src/xdisp.c (try_window_id): Don't use this function's optimizations
       if overlays in the buffer displayed by the window have changed
       since last redisplay.
       (message_dolog): Fix indentation.
      02013850
    • Eli Zaretskii's avatar
      dc604697
    • Martin Rudalics's avatar
      Fix handling of internal borders (Bug#16348). · 7d7ccb88
      Martin Rudalics authored
      * dispnew.c (adjust_frame_glyphs_for_window_redisplay): Remove
      internal border width from pixel width of windows.
      (change_frame_size_1): Don't return early when frame's pixel
      size changes - we still have to record the new sizes in the
      frame structure.
      * w32fns.c (x_set_tool_bar_lines): Clear internal border width
      also when toolbar gets larger.
      * window.c (check_frame_size): Include internal_border_width in
      check.
      * xdisp.c (Ftool_bar_height): Fix doc-string typo.
      * xfns.c (x_set_menu_bar_lines, x_set_tool_bar_lines): In
      non-toolkit/non-GTK version clear internal border.
      * xterm.c (x_clear_under_internal_border): New function for
      non-toolkit/non-GTK version.
      (x_after_update_window_line): In non-toolkit/non-GTK version
      don't do that.
      (handle_one_xevent, x_set_window_size): Call
      x_clear_under_internal_border in non-toolkit/non-GTK version.
      * xterm.h (x_clear_under_internal_border): Extern it.
      7d7ccb88
  12. 06 Jan, 2014 1 commit
  13. 01 Jan, 2014 2 commits
    • Eli Zaretskii's avatar
      Fix bug #16265 with buffer caches when modifying text in indirect buffers. · c10e9ece
      Eli Zaretskii authored
       src/search.c (newline_cache_on_off, find_newline): In indirect
       buffers, use the newline cache of the base buffer.
       src/insdel.c (invalidate_buffer_caches): If BUF is an indirect
       buffer, invalidate the caches of its base buffer.
       src/indent.c (width_run_cache_on_off, compute_motion): In indirect
       buffers, use the width-run cache of the base buffer.
       src/xdisp.c (redisplay_window): When the window displays an indirect
       buffer, and the character widths in the display table have
       changed, invalidate the width-run cache of the corresponding base
       buffer.
       src/fileio.c (Finsert_file_contents): When invalidating the newline
       cache, consider the case of inserting into indirect buffer.
       src/bidi.c (bidi_paragraph_cache_on_off, bidi_find_paragraph_start):
       In indirect buffers, use the paragraph cache of the base buffer.
      c10e9ece
    • Paul Eggert's avatar
  14. 31 Dec, 2013 1 commit
    • Martin Rudalics's avatar
      Some more fixes following pixelwise resize changes including one for Bug#16306. · 9b3c0a16
      Martin Rudalics authored
      * gtkutil.c (x_wm_set_size_hint): Have size hints respect value
      of frame_resize_pixelwise.
      * widget.c (pixel_to_text_size): New function.
      (update_wm_hints): Have size hints respect value of
      frame_resize_pixelwise.
      (EmacsFrameResize): Alway process resize requests pixelwise.
      * window.c (grow_mini_window): Make sure mini window is at least
      one line tall.
      * xdisp.c (display_menu_bar): Make sure menubar extends till
      right end of frame.
      * xfns.c (x_set_menu_bar_lines): Resize frame windows pixelwise.
      (x_set_tool_bar_lines): Calculate pixelwise.
      * xterm.c (x_wm_set_size_hint): Have size hints respect value of
      frame_resize_pixelwise.
      9b3c0a16
  15. 23 Dec, 2013 2 commits
  16. 19 Dec, 2013 2 commits
  17. 16 Dec, 2013 3 commits
  18. 15 Dec, 2013 2 commits
    • Eli Zaretskii's avatar
      Fix bug #16151 with background of display margins. · cdeb10ce
      Eli Zaretskii authored
       src/xdisp.c (extend_face_to_end_of_line): Extend background of
       non-default face in margin areas as well.  (Bug#16151)
       (display_line): Call extend_face_to_end_of_line for continued
       lines as well, if the display margins have non-zero width.
       (set_glyph_string_background_width): When needed, set the
       extends_to_end_of_line_p flag on glyph strings to be drawn in
       margin areas, not only in the text area.
      cdeb10ce
    • Paul Eggert's avatar
      Use bool for boolean (GLYPH_DEBUG case). · b4dd49e0
      Paul Eggert authored
      * xdisp.c (trace_redisplay_p) [GLYPH_DEBUG]:
      Use bool for boolean.
      * dispextern.h (IF_DEBUG): Properly parenthesize and convert to void.
      Args must now be expressions; all callers changed.
      b4dd49e0
  19. 14 Dec, 2013 2 commits
    • Paul Eggert's avatar
      Use bool for boolean, focusing on headers. · 96c06863
      Paul Eggert authored
      * configure.ac (PTY_OPEN, GC_MARK_SECONDARY_STACK):
      Use bool for boolean.
      * lib-src/emacsclient.c, lib-src/etags.c, lib-src/hexl.c (FALSE, TRUE):
      Remove.  All uses replaced with uncapitalized version.
      * lib-src/emacsclient.c (message):
      * lib-src/etags.c (make_tag, pfnote, consider_token, make_C_tag, lang_names):
      * lib-src/hexl.c (un_flag, iso_flag, endian):
      * lib-src/pop.c (pop_debug, pop_open, pop_multi_first, pop_multi_next)
      (pop_trash):
      Use bool for boolean.
      * lib-src/etags.c (bool): Remove.
      * lib-src/etags.c (globals, members, declarations, no_line_directive)
      (no_duplicates): Use 'int' for boolean values that getopt requires
      to be 'int'.  Formerly, these were 'bool' and 'bool' was 'int',
      but we can no longer rely on this implementation.
      * lib-src/pop.h (struct _popserver): Use bool_bf for boolean bit-fields.
      * lwlib/xlwmenuP.h (XlwMenu_part): Use bool_bf for boolean bit-fields.
      * src/atimer.h, src/lisp.h, src/syssignal.h, src/syswait.h, src/unexelf.c:
      No need to include <stdbool.h>, since conf_post.h does it now.
      * src/buffer.h (BUF_COMPUTE_UNCHANGED, DECODE_POSITION)
      (BUFFER_CHECK_INDIRECTION, GET_OVERLAYS_AT, PER_BUFFER_VALUE_P)
      (SET_PER_BUFFER_VALUE_P):
      * src/ccl.c, src/ccl.h (setup_ccl_program):
      * src/ccl.h (CHECK_CCL_PROGRAM):
      * src/character.h (MAKE_CHAR_UNIBYTE, CHECK_CHARACTER_CAR)
      (CHECK_CHARACTER_CDR, CHAR_STRING_ADVANCE, NEXT_CHAR_BOUNDARY)
      (PREV_CHAR_BOUNDARY, FETCH_STRING_CHAR_ADVANCE)
      (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
      (FETCH_STRING_CHAR_ADVANCE_NO_CHECK, FETCH_CHAR_ADVANCE)
      (FETCH_CHAR_ADVANCE_NO_CHECK, INC_POS, DEC_POS, INC_BOTH)
      (DEC_BOTH, BUF_INC_POS, BUF_DEC_POS):
      * src/charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
      (CHECK_CHARSET_GET_ATTR, CHECK_CHARSET_GET_CHARSET)
      (CHARSET_FAST_MAP_SET):
      * src/coding.c (decode_coding_ccl, encode_coding_ccl):
      * src/coding.h (CHECK_CODING_SYSTEM, CHECK_CODING_SYSTEM_GET_SPEC)
      (CHECK_CODING_SYSTEM_GET_ID, SJIS_TO_JIS, SJIS_TO_JIS2)
      (JIS_TO_SJIS, JIS_TO_SJIS2, ENCODE_FILE, DECODE_FILE)
      (ENCODE_SYSTEM, DECODE_SYSTEM, ENCODE_UTF_8)
      (decode_coding_c_string):
      * src/composite.h (COMPOSITION_DECODE_REFS, COMPOSITION_DECODE_RULE):
      * src/conf_post.h (has_attribute):
      * src/dispextern.h (trace_redisplay_p):
      (INC_TEXT_POS, DEC_TEXT_POS, SET_GLYPH_FROM_GLYPH_CODE)
      (SET_CHAR_GLYPH, SET_CHAR_GLYPH_FROM_GLYPH)
      (SET_GLYPH_FROM_CHAR_GLYPH):
      (WINDOW_WANTS_MODELINE_P, WINDOW_WANTS_HEADER_LINE_P)
      (FACE_SUITABLE_FOR_ASCII_CHAR_P, FACE_SUITABLE_FOR_CHAR_P)
      (PRODUCE_GLYPHS, reset_mouse_highlight, in_display_vector_p)
      (cursor_in_mouse_face_p):
      * src/dispnew.c (adjust_glyph_matrix, clear_glyph_matrix_rows)
      (blank_row, prepare_desired_row)
      (build_frame_matrix_from_leaf_window, make_current)
      (mirror_make_current, mirrored_line_dance, mirror_line_dance)
      (update_window, scrolling_window, update_frame_line):
      * src/disptab.h (GLYPH_FOLLOW_ALIASES):
      * src/editfns.c (Fformat):
      * src/font.h (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC)
      (FONT_WIDTH_SYMBOLIC, FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE)
      (FONT_WIDTH_FOR_FACE, FONT_WEIGHT_NAME_NUMERIC)
      (FONT_SLANT_NAME_NUMERIC, FONT_WIDTH_NAME_NUMERIC)
      (FONT_SET_STYLE, CHECK_FONT, CHECK_FONT_SPEC, CHECK_FONT_ENTITY)
      (CHECK_FONT_OBJECT, CHECK_FONT_GET_OBJECT, FONT_ADD_LOG)
      (FONT_DEFERRED_LOG):
      * src/frame.h (FRAME_W32_P, FRAME_MSDOS_P, FRAME_WINDOW_P):
      (FRAME_EXTERNAL_TOOL_BAR, FRAME_EXTERNAL_MENU_BAR, FOR_EACH_FRAME)
      (FRAME_MOUSE_UPDATE):
      * src/fringe.c (Fdefine_fringe_bitmap):
      * src/image.c (x_create_bitmap_from_data, x_create_bitmap_mask)
      (x_create_bitmap_from_xpm_data, xpm_load_image):
      * src/intervals.h (INTERVAL_HAS_PARENT, INTERVAL_PARENT)
      (set_interval_parent, RESET_INTERVAL, COPY_INTERVAL_CACHE)
      (MERGE_INTERVAL_CACHE):
      * src/keymap.h (KEYMAPP):
      * src/lisp.h (eassert, USE_LSB_TAG, CHECK_LISP_OBJECT_TYPE)
      (STRING_SET_UNIBYTE, STRING_SET_MULTIBYTE, DEFSYM, PSEUDOVECTORP)
      (CHECK_RANGED_INTEGER, CHECK_TYPE_RANGED_INTEGER)
      (CHECK_NUMBER_COERCE_MARKER, CHECK_NUMBER_OR_FLOAT_COERCE_MARKER)
      (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL, DEFVAR_INT)
      (DEFVAR_BUFFER_DEFAULTS, DEFVAR_KBOARD, QUIT)
      (RETURN_UNGCPRO, USE_SAFE_ALLOCA, SAFE_NALLOCA, SAFE_FREE)
      (SAFE_ALLOCA_LISP, FOR_EACH_ALIST_VALUE, functionp):
      * src/syntax.h (SYNTAX_ENTRY, SYNTAX_WITH_FLAGS, SYNTAX)
      (UPDATE_SYNTAX_TABLE_FORWARD, UPDATE_SYNTAX_TABLE_BACKWARD)
      (SETUP_BUFFER_SYNTAX_TABLE):
      * src/systime.h (timespec_valid_p):
      * src/term.c (save_and_enable_current_matrix):
      * src/window.h (WINDOW_MENU_BAR_P, WINDOW_TOOL_BAR_P):
      * src/xdisp.c (in_display_vector_p, display_tool_bar_line)
      (redisplay_internal, try_window_reusing_current_matrix)
      (sync_frame_with_window_matrix_rows, try_window_id)
      (display_menu_bar, display_tty_menu_item, display_mode_line)
      (coords_in_mouse_face_p, cursor_in_mouse_face_p):
      * src/xmenu.c (xmenu_show):
      * src/xterm.c (use_xim, x_term_init):
      * src/xterm.h (XSync, GTK_CHECK_VERSION, use_xim, SET_SCROLL_BAR_X_WIDGET)
      (struct x_bitmap_record):
      Use bool for booleans.
      * src/ccl.c (struct buffer_text):
      * src/ccl.h (struct ccl_program):
      * src/charset.h (struct charset):
      * src/cm.h (struct cm):
      * src/coding.h (struct iso_2022_spec, struct coding_system):
      * src/dispextern.h (struct glyph, struct glyph_matrix, struct glyph_row)
      (struct glyph_string, struct face, struct face_cache)
      (struct bidi_string_data, struct bidi_it)
      (struct draw_fringe_bitmap_params, struct it, Mouse_HLInfo)
      (struct image):
      * src/editfns.c (Fformat):
      * src/frame.h (struct frame):
      * src/fringe.c (struct fringe_bitmap):
      * src/intervals.h (struct interval):
      * src/keyboard.h (struct kboard):
      * src/lisp.h (struct Lisp_Symbol, struct Lisp_Misc_Any, struct Lisp_Marker)
      (struct Lisp_Overlay, struct Lisp_Save_Value, struct Lisp_Free)
      (struct Lisp_Buffer_Local_Value, union specbinding):
      * src/macfont.m (struct macfont_info):
      * src/process.h (struct Lisp_Process):
      * src/termchar.h (struct tty_display_info):
      * src/window.h (struct window):
      * src/xterm.h (struct x_output):
      Use bool_bf for boolean bit-fields.
      * src/ccl.c (setup_ccl_program): Now returns bool instead of -1 or 0.
      All callers changed.
      * src/ccl.h (struct ccl_program): Remove unused members private_state,
      src_multibyte, dst_multibyte, cr_consumed, suppress_error,
      eight_bit_control.
      (struct ccl_spec): Remove unused members cr_carryover,
      eight_bit_carryover.
      * src/conf_post.h: Include <stdbool.h>.
      (bool_bf): New type.
      * src/dispextern.h (TRACE, PREPARE_FACE_FOR_DISPLAY):
      * src/interval.h (RESET_INTERVAL, COPY_INTERVAL_CACHE, MERGE_INTERVAL_CACHE)
      Surround statement macro with proper 'do { ... } while (false)' brackets.
      (SET_MATRIX_ROW_ENABLED_P): Assume 2nd arg is bool.
      (PRODUCE_GLYPHS): Simplify use of boolean.
      * src/fileio.c (Fcopy_file):
      If I is an integer, prefer 'if (I != 0)' to 'if (I)'.
      * src/lisp.h (UNGCPRO): Return void, not int.
      (FOR_EACH_TAIL): Use void expression, not int expression.
      * src/region-cache.c: Reindent.
      * src/region-cache.h: Copy comments from region-cache.c, to fix
      incorrect remarks about booleans.
      96c06863
    • Eli Zaretskii's avatar
      Fix bug #16148 with visual-mode cursor motion and whitespace-newline-mode. · 2897da4d
      Eli Zaretskii authored
       src/xdisp.c (Fmove_point_visually): Expect overshoot in move_it_to
       when character at point is displayed from a display vector.
      2897da4d
  20. 10 Dec, 2013 1 commit
  21. 04 Dec, 2013 1 commit
    • Stefan Monnier's avatar
      * src/window.c (window_scroll): Mark window for redisplay. · 5961ad6c
      Stefan Monnier authored
      (scroll_command, Fscroll_other_window): Don't cause redisplay now that
      window_scroll takes care of it.
      (Fset_window_point, Fdelete_other_windows_internal)
      (set_window_buffer, Fwindow_resize_apply, resize_frame_windows)
      (Fsplit_window_internal, Fdelete_window_internal)
      (Fresize_mini_window_internal, Fset_window_configuration)
      (apply_window_adjustment): Use fset_redisplay and wset_redisplay to
      cause redisplay instead of forcing a complete redisplay.
      * src/xdisp.c (wset_redisplay): Don't set windows_or_buffers_changed if
      we're only affecting the selected_window.
      
      Fixes: debbugs:16034
      5961ad6c
  22. 03 Dec, 2013 1 commit
    • Paul Eggert's avatar
      Minor integer overflow fixes. · 25636e13
      Paul Eggert authored
      * window.c (Fset_window_new_pixel, grow_mini_window):
      * xdisp.c (Fwindow_text_pixel_size):
      Avoid undefined behavior on signed integer overflow.
      * xfns.c (x_set_mouse_color):
      Check that drag shape fits in 'unsigned', since that's what X wants.
      25636e13
  23. 01 Dec, 2013 2 commits
  24. 30 Nov, 2013 4 commits