aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Better full-screen frame support on MS-Windows.Erik Charlebois2013-04-204-84/+126
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | src/w32fns.c (w32_fullscreen_rect): New function to compute the window rectangle for the given fullscreen mode. (w32_wnd_proc): When in a fullscreen mode, WM_WINDOWPOSCHANGING no longer tunes the window size. This keeps the window's edges flush with the screen and allows the taskbar to hide itself in fullboth. src/w32term.c (w32fullscreen_hook): 'fullboth' now shows without window decorations and uses the entire screen. src/w32term.h (w32_fullscreen_rect) Add prototype. (struct w32_output): Replace normal_width, normal_height, normal_top, and normal_left members with a single normal_placement struct. (FRAME_NORMAL_WIDTH, FRAME_NORMAL_HEIGHT, FRAME_NORMAL_TOP): Remove macros. (FRAME_NORMAL_PLACEMENT): New macro. Fixes: debbugs:14180
| * * src/w32fns.c (w32_fullscreen_rect): New function to compute theErik Charlebois2013-04-133-84/+107
| | | | | | | | | | | | | | | | | | | | window rectangle for the given fullscreen mode. (w32_wnd_proc): When in a fullscreen mode, WM_WINDOWPOSCHANGING no longer tunes the window size. This keeps the window's edges flush with the screen and allows the taskbar to hide itself in fullboth. * src/w32term.c (w32fullscreen_hook): fullboth now shows without window decorations and uses the entire screen.
* | Fix typos in ChangeLogs.Juanma Barranquero2013-04-161-4/+4
| |
* | src/minibuf.c (Ftest_completion): Silence compiler warning.Juanma Barranquero2013-04-162-1/+5
| |
* | ChangeLog for the last commit.Eli Zaretskii2013-04-151-1/+1
| |
* | More debugging code to investigate bug #14062.Eli Zaretskii2013-04-154-13/+28
| | | | | | | | | | | | | | | | | | | | | | src/w32fns.c (w32_wnd_proc): Add more assertions to investigate bug#14062. src/frame.h (WINDOW_FRAME): Protect macro and its argument with parentheses. src/dispextern.h (CURRENT_MODE_LINE_HEIGHT) (CURRENT_HEADER_LINE_HEIGHT, WINDOW_WANTS_MODELINE_P) (WINDOW_WANTS_HEADER_LINE_P): Protect macro arguments with parentheses where appropriate.
* | * keyboard.c (timer_start_idle): Remove no-longer-used local.Paul Eggert2013-04-142-2/+4
| |
* | Improve doc strings of left/right-margin/fringe-width.Eli Zaretskii2013-04-142-5/+27
| | | | | | | | | | | | | | src/buffer.c (syms_of_buffer) <left-margin-width, right-margin-width> <left-fringe-width, right-fringe-width, fringes-outside-margins>: Mention in the doc string that setting these variables takes effect only after a call to set-window-buffer. (Bug#14200)
* | Fix vertical cursor motion when there are overlay strings at EOL.Eli Zaretskii2013-04-132-2/+16
| | | | | | | | | | | | | | | | | | | | src/indent.c (Fvertical_motion): Don't consider display strings on overlay strings as display strings on the buffer position we started from. This prevents vertical cursor motion from jumping more than one line when there's an overlay string with a display property at end of line. Reported by Karl Chen <Karl.Chen@quarl.org> in http://lists.gnu.org/archive/html/emacs-devel/2013-04/msg00362.html.
* | * src/window.c (select_window): `record_buffer' even if window isStefan Monnier2013-04-122-15/+24
| | | | | | | | | | | | already selected. Fixes: debbugs:14191
* | Fix bug #14170 with window-end returning a stale value.Eli Zaretskii2013-04-112-3/+18
| | | | | | | | | | | | | | | | | | | | | | | | This bug was introduced in 2012-10-15T09:03:56Z!rudalics@gmx.at while solving bug #12600. src/window.c (Fwindow_end): Test more flags, including the buffer's last_overlay_modified flag, to determine whether the window's display is really up-to-date. Prevents the function from returning a stale value. (Fwindow_line_height): Fix the test for up-to-date-ness of the current matrix.
* | Fix bug #13864 with flickering of TTY frames in an emacslient session.Eli Zaretskii2013-04-102-4/+19
| | | | | | | | | | | | | | src/frame.c (do_switch_frame): Mark the TTY frame we switch to as garbaged only if it is not already the top frame on its TTY. This prevents flickering due to constant redrawing of TTY frames when there are GUI frames open in the same session.
* | * src/keyboard.c (timer_start_idle): Call internal-timer-start-idle insteadStefan Monnier2013-04-102-10/+6
|/ | | | | | | | | | of marking the idle timers directly. * lisp/emacs-lisp/timer.el (timer--check): New function. (timer--time, timer-set-function, timer-event-handler): Use it. (timer-set-idle-time): Simplify. (timer--activate): CSE. (timer-event-handler): Give more info in error message. (internal-timer-start-idle): New function, moved from C.
* * src/minibuf.c (Ftest_completion): Ignore non-string/symbol keys in hashStefan Monnier2013-04-092-2/+11
| | | | | | tables. Fixes: debbugs:14054
* * src/window.c (select_window): Don't record_buffer while the invariant isStefan Monnier2013-04-084-13/+23
| | | | | | | temporarily broken. * src/fns.c (Fdelq): Don't assume !NILP => CONSP. Fixes: debbugs:14161
* Provide definition of ACL_NOT_WELL_SUPPORTED for MS-Windows.Eli Zaretskii2013-04-072-0/+6
| | | | | | src/fileio.c (ACL_NOT_WELL_SUPPORTED): Define macro for WINDOWSNT. Fixes: debbugs:13702
* Ignore additional platform-specific ACL errors (Bug#13702).Romain Francoise2013-04-072-5/+28
| | | | | * fileio.c (ACL_NOT_WELL_SUPPORTED): New macro copied from gnulib. (Fcopy_file, Fset_file_acl) [HAVE_POSIX_ACL]: Use it.
* * nsterm.m (ns_mouse_position): Use NS_FRAME_P instead of checkingJan Djärv2013-04-072-1/+6
| | | | f->output_data.ns.
* Fix --enable-profiling bug introduced by 2013-02-25 change.Paul Eggert2013-04-062-3/+16
| | | | | | | | | | | | | | | | | | This bug was introduced by my 2013-02-25 change that simplified data_start configuration. Without this change, on GNU/Linux an Emacs configured with --enable-profiling fails immediately due to a profiler signal. * configure.ac (LD_SWITCH_SYSTEM_TEMACS): Append -pg if profiling and if not on GNU/Linux or FreeBSD. * lib/Makefile.am (AM_CFLAGS): Add $(PROFILING_CFLAGS), so that lib/*.o is profiled too. * src/Makefile.in: Compile with $(PROFILING_CFLAGS), but do not link with these flags. On platforms where special flags are needed when linking temacs, the flags are now in LD_SWITCH_SYSTEM_TEMACS. (ALL_CFLAGS): Remove $(PROFILING_CFLAGS). (.c.o, .m.o): Compile with $(PROFILING_CFLAGS). Fixes: debbugs:13783
* Get rid of some platform-specific functions examining windowDmitry Antipov2013-04-0726-297/+187
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | system and its capabilities. This is a partial rework of the 2013-04-05 change. * lisp.h (have_menus_p): Remove prototype. This function is replaced with platform-independent window_system_available. (check_window_system): Move to... * frame.h (decode_window_system_frame, window_system_available): ...here, add new prototypes. * frame.c (window_system_available, decode_window_system_frame): New functions. (check_window_system): Platform-independent now. * xterm.h (x_in_use): Remove declaration. (check_x_frame): * w32term.h (check_x_frame): * nsterm.h (check_x_frame): Remove prototypes. This function is replaced with platform-independent decode_window_system_frame. * msdos.c (have_menus_p): Remove. * nsfns.m (check_window_system, have_menus_p, check_ns_frame): Remove platform-specific functions. Use check_window_system, decode_window_system_frame and check_ns_display_info where appropriate. Minor style and comment tweaks. * w32fns.c (w32_in_use, check_window_system, have_menus_p) (check_x_frame): Likewise. * xfns.c (x_in_use, check_window_system, have_menus_p, check_x_frame): Likewise. * fileio.c, fns.c, font.c, fontset.c, image.c, menu.c, nsmenu.m: * nsselect.m, nsterm.m, w32font.c, w32menu.c, xfaces.c, xgselect.c: * xmenu.c, xselect.c: All related users changed.
* Spelling fix.Paul Eggert2013-04-061-1/+1
|
* merge trunkKenichi Handa2013-04-0567-1110/+1618
|\
| * Consistently use platform-specific function to detect window system.Dmitry Antipov2013-04-0520-87/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp.h (check_window_system): New prototype. This function is going to replace check_x, check_w32 and check_ns. (have_menus_p): Mention msdos.c in comment. * fontset.c (check_window_system_func): Remove. Adjust all users. * fontset.h (check_window_system_func): Remove prototype. * nsterm.h (check_ns): * xterm.h (check_x): * w32term.h (check_w32): Likewise. * menu.c (Fx_popup_menu): Use check_window_system. * msdos.c (check_window_system): Define for MS-DOS. * nsfns.m (check_window_system): Define for NS. Adjust all users. * w32fns.c (check_window_system): Likewise for MS-Windows. * xfns.c (check_window_system): Likewise for X. * font.c, frame.c, nsmenu.m, nsselect.m, nsterm.m, w32menu.c: * xfaces.c, xmenu.c: Use check_window_system where appropriate.
| * Prefer < to > in range checks such as 0 <= i && i < N.Paul Eggert2013-04-0126-52/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Spelling fixes.Paul Eggert2013-04-013-3/+3
| |
| * * frame.h (struct frame): Drop scroll_bottom_vposDmitry Antipov2013-03-313-7/+7
| | | | | | | | | | | | member becaue all real users are dead long ago. (FRAME_SCROLL_BOTTOM_VPOS): Remove. * xdisp.c (redisplay_internal): Adjust user.
| * ChangeLog whitespace fixGlenn Morris2013-03-301-1/+2
| |
| * * nsmenu.m (showAtX:Y:for:): setLevel toJan Djärv2013-03-302-0/+5
| | | | | | | | NSPopUpMenuWindowLevel (Bug#13998).
| * * nsmenu.m (ns_update_menubar): Correct NSTRACE.Jan Djärv2013-03-304-10/+148
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (x_activate_menubar): Update the menu with title that matches ns_get_pending_menu_title, and call ns_check_pending_openmenu. (menuWillOpen:): New method. (menuNeedsUpdate:): Add check for ! COCOA || OSX < 10.5 (Bug#12698). * nsterm.h (ns_get_pending_menu_title, ns_check_menu_open) (ns_check_pending_open_menu): Declare. * nsterm.m (menu_will_open_state, menu_mouse_point) (menu_pending_title): New varaibles. (ns_get_pending_menu_title, ns_check_menu_open) (ns_check_pending_open_menu): New functions.
| * * indent.c (current_column_bol_cache): Remove leftover which is notDmitry Antipov2013-03-294-25/+13
| | | | | | | | | | | | | | | | | | | | | | 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.
| * src/makefile.w32-in: Update dependencies.Juanma Barranquero2013-03-292-0/+7
| |
| * * src/lisp.h (save_type, XSAVE_POINTER, set_save_pointer, XSAVE_INTEGER)Stefan Monnier2013-03-282-59/+60
| | | | | | | | | | (set_save_integer, XSAVE_OBJECT, XSAVE_VALUE): Move to avoid forward references.
| * * window.h (struct window): Replace hchild, vchild and buffer slotsDmitry Antipov2013-03-2829-585/+526
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Fix inaccuracy in a comment.Eli Zaretskii2013-03-281-2/+2
| |
| * Fix bug #14073 with referencing window total number of columns.Eli Zaretskii2013-03-282-1/+3
| | | | | | | | | | src/w32fns.c (Fx_show_tip): Fix compilation error under "--enable-check-lisp-object-type".
| * Fix 2013-03-28T02:41:05Z!dmantipov@yandex.ru which brokes Fbuffer_swap_text.Dmitry Antipov2013-03-282-2/+12
| | | | | | | | | | * buffer.c (Fbuffer_swap_text): Adjust window start markers. Fix comment.
| * Add debugging code to w32fns.c.Eli Zaretskii2013-03-282-0/+22
| | | | | | | | | | | | src/w32fns.c (w32_wnd_proc) [ENABLE_CHECKING]: Add code to help identify the reasons for assertion violations in bug#14062 and similar ones.
| * Add DEF_IMGLIB_FN for g_error_free to image.c.Eli Zaretskii2013-03-282-0/+6
| | | | | | | | | | src/image.c (g_error_free) [WINDOWSNT]: Add DEF_IMGLIB_FN. Reported by <rzl24ozi@gmail.com>.
| * * xdisp.c (with_echo_area_buffer_unwind_data): Save windowDmitry Antipov2013-03-283-9/+26
| | | | | | | | | | | | | | | | | | | | 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.
| * * lisp/case-table.el (case-table-get-table): New function.Stefan Monnier2013-03-272-2/+15
| | | | | | | | | | | | | | | | * lisp/case-table.el: Use lexical-binding. (case-table-get-table): New function. (get-upcase-table): Use it. Mark as obsolete. Adjust callers. * src/casetab.c (init_casetab_once): Don't abuse the ascii eqv table for the upcase table.
| * image.c [WINDOWSNT]: Fix calls to DEF_IMGLIB_FN for SVG function.rzl24ozi2013-03-272-18/+22
| |
| * Fix MinGW64 compilation warnings in w32.c and w32proc.c.Eli Zaretskii2013-03-272-0/+11
| | | | | | | | | | | | | | src/w32proc.c (IsValidLocale) [__GNUC__]: Don't declare prototype, since MinGW's w32api headers do. This avoids compiler warnings. src/w32.c (FSCTL_GET_REPARSE_POINT) [_MSC_VER || _W64]: Don't define if already defined.
| * * configure.ac (HAVE_XKBGETKEYBOARD): Remove; subsumed by HAVE_XKB.Paul Eggert2013-03-261-5/+5
| | | | | | | | All uses changed.
| * Fix MinGW64 compilation of w32.c.Eli Zaretskii2013-03-262-5/+9
| | | | | | | | src/w32.c (_REPARSE_DATA_BUFFER): Condition by _MSVC and _W64.
| * * gtkutil.c (style_changed_cb): Check if frame is live and anJan Djärv2013-03-262-1/+8
| | | | | | | | | | | | X frame. Fixes: debbugs:14038
| * More MinGW64 fixes.Eli Zaretskii2013-03-262-1/+3
| | | | | | | | | | src/w32.c Move inclusion of time.h before sys/time.h, so that MinGW64 could see its own definitions of 'struct timeval' and 'struct timezone'.
| * src/ChangeLog: Fix last log entry.Eli Zaretskii2013-03-261-0/+2
| |
| * Fix more MinGW64 incompatibilities.Eli Zaretskii2013-03-262-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | Reported by ׃scar Fuentes in http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00733.html nt/inc/ms-w32.h (_WIN32_WINNT) [!_W64]: Don't define for MinGW64. nt/inc/sys/stat.h (chmod): Remove _CRTIMP from prototype. src/w32.c (_PROCESS_MEMORY_COUNTERS_EX) [_WIN32_WINNT < 0x0500]: Define only for _WIN32_WINNT less than 0x0500.
| * Fix more incompatibilities between MinGW.org and MinGW64 headersEli Zaretskii2013-03-263-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reported by ׃scar Fuentes in http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00699.html and in http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00707.html. nt/inc/ms-w32.h (USE_NO_MINGW_SETJMP_TWO_ARGS) [_W64]: Define to 1. For MinGW64, include sys/types.h and time.h. nt/inc/sys/time.h (struct timeval) [!_W64]: Guard definition with _W64. (struct timezone) [!_TIMEZONE_DEFINED]: Guard definition with _TIMEZONE_DEFINED. nt/addpm.c (_WIN32_IE) [_W64]: For MinGW64, don't define to 0x400. nt/inc/sys/stat.h: Remove _CRTIMP from prototypes of fstat, stat, lstat, and fstatat. lib-src/ntlib.c (struct timespec) [!_TIMEZONE_DEFINED]: Define the struct only if _TIMEZONE_DEFINED is not defined. src/w32term.c (WCRANGE, GLYPHSET): Don't define if _W64 is defined. src/w32.c (REPARSE_DATA_BUFFER): Guard with MAXIMUM_REPARSE_DATA_BUFFER_SIZE being defined.
| * Changelog for previous commit.Jan Djärv2013-03-251-0/+5
| |