- 30 Nov, 2013 1 commit
-
-
Stefan Monnier authored
Set invisible frames's `redisplay' when a full redisplay is requested. (redisplay_window): Set must_be_updated_p instead. (redisplay_mode_lines): Don't set must_be_updated_p any more. (display_mode_lines): Set it here instead. * src/dispextern.h (set_window_update_flags): Remove. * src/dispnew.c (set_window_update_flags): Remove `b' argument; make static. Fixes: debbugs:15999
-
- 29 Nov, 2013 4 commits
-
-
Stefan Monnier authored
(redisplay_internal): Use it. (prepare_menu_bars, redisplay_window): Use it as well. Fixes: debbugs:15999
-
Eli Zaretskii authored
src/xdisp.c (clear_mouse_face): Don't invalidate the entire mouse-highlight info, just signal frame_up_to_date_hook that mouse highlight needs to be redisplayed.
-
Paul Eggert authored
* buffer.h (struct buffer_text, struct buffer): * frame.h (struct frame): * window.h (struct window): Avoid 'bool foo : 1;', as it's not portable to pre-C99 compilers, as described in ../lib/stdbool.in.h. Use 'unsigned foo : 1;' instead. * menu.c (syms_of_menu): Define x-popup-dialog, removing a no-longer-valid use of HAVE_MENUS. * xdisp.c (propagate_buffer_redisplay): Now static.
-
Stefan Monnier authored
* src/xmenu.c (Fmenu_or_popup_active_p): * src/window.c (Fset_window_configuration): * src/menu.c (Fx_popup_menu, Fx_popup_dialog): * src/keyboard.c (record_menu_key, read_char_x_menu_prompt): * src/fns.c (Fyes_or_no_p): * src/editfns.c (Fmessage_box, Fmessage_or_box): * src/alloc.c (make_save_ptr_ptr): * src/xdisp.c, src/w32menu.c, src/term.c, src/xterm.h, src/xterm.c: Remove HAVE_MENUS.
-
- 28 Nov, 2013 1 commit
-
-
Stefan Monnier authored
rather than all of them. * src/xdisp.c (REDISPLAY_SOME): New constant. (redisplay_other_windows, wset_redisplay, fset_redisplay) (bset_redisplay, bset_update_mode_line): New functions. (message_dolog): Use bset_redisplay. (clear_garbaged_frames): Use fset_redisplay. (echo_area_display): Use wset_redisplay. (buffer_shared_and_changed): Remove. (prepare_menu_bars): Call Vpre_redisplay_function before updating frame titles. Compute the actual set of windows redisplayed. Don't update frame titles and menu bars for frames that don't need to be redisplayed. (propagate_buffer_redisplay): New function. (AINC): New macro. (redisplay_internal): Use it. Be more selective in the set of windows we redisplay. Propagate windows_or_buffers_changed to update_mode_lines a bit later to simplify the code. (mark_window_display_accurate_1): Reset window and buffer's `redisplay' flag. (redisplay_window): Do nothing if neither the window nor the buffer nor the frame needs redisplay. * src/window.h (struct window): Add `redisplay' field. (wset_redisplay, fset_redisplay, bset_redisplay, bset_update_mode_line) (redisplay_other_windows, window_list): New declarations. * src/window.c (select_window, Fset_window_start): Use wset_redisplay. (window_list): Not static any more. (grow_mini_window, shrink_mini_window): Use fset_redisplay. * src/minibuf.c (read_minibuf_unwind): Don't redisplay everything. * src/insdel.c (prepare_to_modify_buffer_1): Use bset_redisplay. * src/frame.c (Fmake_frame_visible): Don't redisplay everything. * src/frame.h (struct frame): Add `redisplay' field. Move `external_menu_bar' bitfield next to other bit-fields. (SET_FRAME_GARBAGED): Use fset_redisplay. (SET_FRAME_VISIBLE): Don't garbage the frame; Use redisplay_other_windows. * src/buffer.h (struct buffer): Add `redisplay' field. * src/buffer.c (Fforce_mode_line_update): Pay attention to the `all' flag. (modify_overlay): Use bset_redisplay. * src/alloc.c (gc_sweep): Don't unmark strings while sweeping symbols. * lisp/doc-view.el (doc-view-goto-page): Update mode-line.
-
- 14 Nov, 2013 1 commit
-
-
Kazuhiro Ito authored
src/keyboard.c (make_ctrl_char) [HAVE_NTGUI]: Now externally visible for Cygwin w32 build. src/xdisp.c (erase_phys_cursor) [HAVE_NTGUI]: Now externally visible for Cygwin w32 build.
-
- 08 Nov, 2013 1 commit
-
-
Eli Zaretskii authored
src/xdisp.c (message_dolog): Make sure the *Messages* buffer has its cache-long-scans disabled, since we don't want to call prepare_to_modify_buffer (in insert_1_both) for each message we display. src/buffer.h (bset_cache_long_scans): New INLINE function, moved from buffer.c. Improve commentary to the buffer field setter functions. src/buffer.c (bset_cache_long_scans): Static function deleted. Improve commentary to the buffer field setter functions. (init_buffer_once): Default for cache-long-scans changed to t. (Bug#15797)
-
- 06 Nov, 2013 3 commits
-
-
Stefan Monnier authored
-
Stefan Monnier authored
redisplay--mode-lines-cause. (redisplay_internal): Keep them uptodate. Remove redundant check of buffer_shared_and_changed. * *.[chm]: Number every assignment to update_mode_lines so we can track why it is set.
-
Stefan Monnier authored
-
- 05 Nov, 2013 2 commits
-
-
Stefan Monnier authored
* src/lisp.h (prepare_menu_bars): Don't declare. * src/xselect.c (x_handle_selection_clear): * src/callproc.c (call_process): Remove redundant call to prepare_menu_bars.
-
Xue Fuqiao authored
* doc/lispref/display.texi (Glyphs): Add an index for glyph code. * src/xdisp.c (syms_of_xdisp): Mention the active display table in doc string of glyphless-char-display.
-
- 04 Nov, 2013 2 commits
-
-
Eli Zaretskii authored
src/xdisp.c (message3_nolog, message_with_string): Encode the string before writing it to the terminal in a non-interactive session. src/lread.c (openp): If both FILENAME and SUFFIX are unibyte, make sure we concatenate them into a unibyte string. src/fileio.c (make_temp_name): Encode PREFIX, and decode the resulting temporary name before returning it to the caller. (Fexpand_file_name): If NAME is pure-ASCII and DEFAULT_DIRECTORY is a unibyte string, convert NAME to a unibyte string to ensure that the result is also a unibyte string. src/emacs.c (init_cmdargs): Use build_unibyte_string to make sure we create unibyte strings from default paths and directory/file names. src/coding.h (ENCODE_FILE): Do not attempt to encode a unibyte string. src/callproc.c (init_callproc): Use build_unibyte_string to make sure we create unibyte strings from default paths and directory/file names. src/buffer.c (init_buffer): Don't store default-directory of *scratch* in multibyte form. The original problem which led to that is described in http://lists.gnu.org/archive/html/emacs-pretest-bug/2004-11/msg00532.html, but it was solved long ago. lisp/startup.el (normal-top-level): Move setting eol-mnemonic-unix, eol-mnemonic-mac, eol-mnemonic-dos, and also setup of the locale environment and decoding all of the default-directory's to here from command-line. (command-line): Decode also argv[0]. lisp/loadup.el: Error out if default-directory is a multibyte string when we are dumping. lisp/Makefile.in (emacs): Don't set LC_ALL=C. leim/Makefile.in (RUN_EMACS): Don't set LC_ALL=C. configure.ac: Don't disallow builds in non-ASCII directories.
-
Paul Eggert authored
Especially, C99 prohibits nesting a struct X inside struct Y if struct X has a flexible array member. Also, merge from gnulib, incorporating: 2013-11-03 intprops: port to Oracle Studio c99 * lib/intprops.h: Update from gnulib. * src/alloc.c (struct sdata): New type. (sdata): Implement in terms of struct sdata. Remove u member; all uses replaced by next_vector, set_next_vector. (SDATA_SELECTOR, SDATA_DATA, SDATA_DATA_OFFSET): Adjust to sdata change. (SDATA_DATA_OFFSET): Now a constant, not a macro. (struct sblock): Rename first_data member to data, which is now a flexible array member. All uses changed. (next_vector, set_next_vector, large_vector_vec): New functions. (vector_alignment): New constant. (roundup_size): Make it a multiple of ALIGNOF_STRUCT_LISP_VECTOR, too. (struct large-vector): Now merely a NEXT member, since the old approach ran afoul of stricter C99. All uses changed to use large_vector_vec or large_vector_offset. (large_vector_offset): New constant. * src/dispnew.c: Include tparam.h, for tgetent. Do not include term.h; no longer needed. * src/gnutls.c (Fgnutls_boot): Don't continue after calling a _Noreturn. * src/lisp.h (ENUM_BF) [__SUNPRO_C && __STDC__]: Use unsigned int. (struct Lisp_Vector): Use a flexible array member for contents, instead of a union with a member that is an array of size 1. All uses changed. (ALIGNOF_STRUCT_LISP_VECTOR): New constant, to make up for the fact that the struct no longer contains a union. (struct Lisp_Misc_Any, struct Lisp_Marker, struct Lisp_Overlay) (struct Lisp_Save_Value, struct Lisp_Free): Use unsigned, not int, for spacers, to avoid c99 warning. (union specbinding): Use unsigned, not bool, for bitfield, as bool is not portable to pre-C99 hosts.
-
- 29 Oct, 2013 1 commit
-
-
Stefan Monnier authored
* lisp/rect.el: Use lexical-binding. Add new rectangular region support. (rectangle-mark): New command. (rectangle--region): New var. (deactivate-mark-hook): Reset rectangle--region. (rectangle--extract-region, rectangle--insert-for-yank) (rectangle--highlight-for-redisplay) (rectangle--unhighlight-for-redisplay): New functions. (region-extract-function, redisplay-unhighlight-region-function) (redisplay-highlight-region-function): Use them to handle rectangular region. * lisp/simple.el (region-extract-function): New var. (delete-backward-char, delete-forward-char, deactivate-mark): Use it. (kill-new, kill-append): Remove obsolete `yank-handler' argument. (kill-region): Replace obsolete `yank-handler' arg with `region'. (copy-region-as-kill, kill-ring-save): Add `region' argument. (redisplay-unhighlight-region-function) (redisplay-highlight-region-function): New vars. (redisplay--update-region-highlight): New function. (pre-redisplay-function): Use it. (exchange-point-and-mark): Don't deactivate the mark before reactivate-it anyway. * lisp/comint.el (comint-kill-region): Remove yank-handler argument. * lisp/delsel.el (delete-backward-char, backward-delete-char-untabify) (delete-char): Remove property, since it's now part of their default behavior. (self-insert-iso): Remove property since this command doesn't exist. * src/xdisp.c (prepare_menu_bars): Call Vpre_redisplay_function. (syms_of_xdisp): Declare pre-redisplay-function. (markpos_of_region): Remove function. (init_iterator, compute_stop_pos, handle_face_prop) (face_before_or_after_it_pos, reseat_to_string) (get_next_display_element, window_buffer_changed) (redisplay_internal, try_cursor_movement, redisplay_window) (try_window_reusing_current_matrix, try_window_id, display_line) (note_mode_line_or_margin_highlight, note_mouse_highlight) (display_string, mouse_face_from_buffer_pos): Remove region handling. * src/window.h (struct window): Remove field `region_showing'. * src/dispextern.h (struct it): Remove region_beg/end_charpos. (face_at_buffer_position, face_for_overlay_string) (face_at_string_position): Update prototypes. * src/xfaces.c (face_at_buffer_position, face_for_overlay_string) (face_at_string_position): Remove `region_beg' and `region_end' args. * src/fontset.c (Finternal_char_font): * src/font.c (font_at, font_range): Adjust calls accordingly. * src/insdel.c (Qregion_extract_function): New var. (syms_of_insdel): Initialize it. (prepare_to_modify_buffer_1): Use it.
-
- 28 Oct, 2013 1 commit
-
-
Dmitry Antipov authored
and 'box' members. Remove set-but-unused members 'pixmap_w' and 'pixmap_h'. If not HAVE_WINDOW_SYSTEM, also remove dummy 'stipple' member. Move 'lface' member up to help... * xfaces.c (make_realized_face): ...this function to find and clear just the members that need clearing. (load_face_colors, realize_x_face): * xdisp.c (extend_face_to_end_of_line): Adjust user.
-
- 17 Oct, 2013 1 commit
-
-
Paul Eggert authored
On my platform (Fedora 19 x86-64), this shrinks the Emacs executable (text+data) by 0.25%. * dispextern.h (erase_phys_cursor) [!WINDOWSNT]: (load_color) [!MSDOS]: * gnutls.h (emacs_gnutls_transport_set_errno) [!WINDOWSNT]: * keyboard.h (make_ctrl_char) [!WINDOWSNT]: * lisp.h (check_existing): * process.h (conv_sockaddr_to_lisp, network_interface_list) (network_interface_info) [!WINDOWSNT]: * termhooks.h (encode_terminal_code) [!WINDOWSNT]: Remove extern decls. * fileio.c (check_existing): * keyboard.c (make_ctrl_char) [!WINDOWSNT]: * process.c (conv_sockaddr_to_lisp, network_interface_list) (network_interface_info) [!WINDOWSNT]: * term.c (encode_terminal_code) [!WINDOWSNT]: * xdisp.c (erase_phys_cursor) [!WINDOWSNT]: * xfaces.c (load_color) [!MSDOS]: Now static. * fileio.c (check_existing, check_executable, check_writable): * process.c (network_interface_list, network_interface_info): Move earlier, so that we don't need forward decls. * gnutls.c (fn_gnutls_transport_set_errno) (emacs_gnutls_transport_set_errno) [!WINDOWNT]: Remove; unused. * w32.c (init_environment): Use faccessat rather than check_existing, partly for consistency with the rest of the code in this file, partly so that check_existing can be static.
-
- 11 Oct, 2013 3 commits
-
-
Eli Zaretskii authored
src/xdisp.c (deep_copy_glyph_row): Handle the case that FROM and TO have different dimensions. src/dispnew.c (fill_up_frame_row_with_spaces): Now has external visibility. src/dispextern.h (fill_up_frame_row_with_spaces): Add prototype. Fixes: debbugs:15575
-
Eli Zaretskii authored
src/xdisp.c (display_tty_menu_item): Make sure we never write beyond the end of the frame's glyph matrix. src/term.c (tty_menu_display): Don't move cursor while overwriting frame's glyphs with menu items. Limit the number of items displayed to what can be shown on the available screen lines, excluding the echo area. (tty_menu_activate): Limit the Y coordinate allowed by read_menu_input to the last screen line used for menu display.
-
Dmitry Antipov authored
-
- 10 Oct, 2013 1 commit
-
-
Eli Zaretskii authored
src/xdisp.c (deep_copy_glyph_row): Assert that the 'used' counts of FROM and TO are identical. Copy only the glyphs of TEXT_AREA. src/term.c (save_and_enable_current_matrix): Don't allocate and don't save margin areas. (restore_desired_matrix): Don't restore margin areas. (free_saved_screen): Don't free margin areas.
-
- 08 Oct, 2013 2 commits
-
-
Dmitry Antipov authored
(redraw_frame, update_frame): Adjust users. * dispextern.h (set_window_update_flags): Adjust prototype. * xdisp.c (redisplay_internal): When updating all frames with zero windows_or_buffers_changed, assume that only the windows that shows current buffer should be really updated.
-
Eli Zaretskii authored
-
- 07 Oct, 2013 1 commit
-
-
Dmitry Antipov authored
Use bool for boolean.
-
- 04 Oct, 2013 1 commit
-
-
Dmitry Antipov authored
uses find_newline instead of scan_newline and so doesn't move point.
-
- 03 Oct, 2013 1 commit
-
-
Paul Eggert authored
-
- 29 Sep, 2013 1 commit
-
-
Eli Zaretskii authored
src/xdisp.c (get_next_display_element): Don't call face_for_font in a build configured --without-x.
-
- 28 Sep, 2013 1 commit
-
-
Eli Zaretskii authored
src/xdisp.c (Fdump_tool_bar_row): Ifdef away the body if 'struct frame' does not have the tool_bar_window member.
-
- 24 Sep, 2013 2 commits
-
-
Dmitry Antipov authored
This helps to avoid a few glitches dictated by C's aliasing rules. * lisp.h (struct Lisp_Vector): Use union for next and contents member. Adjust comment. Change related users. * alloc.c (next_in_free_list, set_next_in_free_list): Remove. Related users changed. * buffer.c, bytecode.c, ccl.c, character.h, chartab.c, composite.c: * composite.h, disptab.h, fns.c, fontset.c, indent.c, keyboard.c: * lread.c, msdos.c, process.c, w32menu.c, window.c, xdisp.c: * xfaces.c, xfont.c, xmenu.c: Related users changed.
-
Paul Eggert authored
* conf_post.h (assume): Always return void. Use lint version only if GCC and MSC versions don't apply. * conf_post.h (assume): * data.c (USC_MSC_POPCOUNT, count_trailing_zero_bits): Depend on _MSC_VER, not __MSC_VER, for consistency with the rest of Emacs. * data.c (bool_vector_spare_mask, popcount_size_t_generic) (popcount_size_t_msc, popcount_size_t_gcc, popcount_size_t) (bool_vector_binop_driver, count_trailing_zero_bits) (size_t_to_host_endian): Now static, not static inline; the latter isn't needed with modern compilers and doesn't work with older compilers anyway.
-
- 23 Sep, 2013 3 commits
-
-
Dmitry Antipov authored
(overlay_arrow_seen, message_enable_multibyte, line_number_displayed) (display_last_displayed_message_p, message_buf_print) (message_cleared_p, help_echo_showing_p, hourglass_shown_p): Use bool for boolean. * dispextern.h (help_echo_showing_p, hourglass_shown_p): * lisp.h (noninteractive_need_newline): Adjust declaration.
-
Eli Zaretskii authored
src/xdisp.c (note_mouse_highlight): Adapt calculation of last argument to mouse_face_from_string_pos to the previous change. Fixes: debbugs:15437
-
Eli Zaretskii authored
src/xdisp.c (mouse_face_from_string_pos): Fix off-by-one error in computing the end column of mouse-highlight that comes from display or overlay strings.
-
- 22 Sep, 2013 1 commit
-
-
Eli Zaretskii authored
src/xdisp.c (try_window_id): Don't abort if cursor row could not be found (which can legitimately happen when the glyph row at the window start is disabled in the current_matrix.
-
- 18 Sep, 2013 3 commits
-
-
Eli Zaretskii authored
-
Eli Zaretskii authored
-
Dmitry Antipov authored
* dispextern.h (x_mouse_grabbed): Add prototype. (last_mouse_frame): Remove declaration. * xterm.h (struct x_display_info): * w32term.h (struct w32_display_info): * nsterm.h (struct ns_display_info): New member last_mouse_frame, going to replace... * xdisp.c (last_mouse_frame): ...global variable. (note_tool_bar_highlight): * w32term.c (w32_mouse_position, w32_read_socket): * xterm.c (XTmouse_position, handle_one_xevent): Use x_mouse_grabbed. * nsterm.m (ns_mouse_position, mouseDown): Adjust user.
-
- 17 Sep, 2013 2 commits
-
-
Eli Zaretskii authored
-
Eli Zaretskii authored
-