Provisional fix for bug #16479 with client connecting while in a TTY menu.
[bpt/emacs.git] / src / ChangeLog
index bfc4ac5..d36e60a 100644 (file)
@@ -1,3 +1,248 @@
+2014-01-17  Eli Zaretskii  <eliz@gnu.org>
+
+       * menu.c (Fx_popup_menu): When invoking tty_menu_show, temporarily
+       switch to single keyboard.  Prevents daemon crashes when a new
+       client connects while we show a TTY menu in an existing client.
+       (Bug#16479)
+
+2014-01-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix MinGW64 porting problem with _setjmp.
+       Reported by Eli Zaretskii in:
+       http://lists.gnu.org/archive/html/emacs-devel/2014-01/msg01297.html
+       * image.c (FAST_SETJMP, FAST_LONGJMP): New macros, replacing
+       the old _setjmp and _longjmp.  All uses changed.
+
+2014-01-13  Daniel Colascione  <dancol@dancol.org>
+
+       * textprop.c (Fremove_list_of_text_properties): Correctly
+       handle reaching the end of the interval tree. (Bug#15344)
+
+2014-01-13  Martin Rudalics  <rudalics@gmx.at>
+
+       * xdisp.c (resize_mini_window): Round height to a multiple of
+       frame's line height.  Fix bug in calculation of window start
+       position (Bug#16424).
+
+2014-01-13  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * macfont.m: Include termchar.h.
+       (CG_SET_FILL_COLOR_WITH_FACE_FOREGROUND)
+       (CG_SET_FILL_COLOR_WITH_FACE_BACKGROUND)
+       (CG_SET_STROKE_COLOR_WITH_FACE_FOREGROUND): Modified from
+       *_WITH_GC_* to take face and f as parameters.
+       (macfont_draw): Check for DRAW_MOUSE_FACE and set face accordingly.
+       Use *_WITH_FACE_*, and pass face as parameter (Bug#16425).
+
+2014-01-13  Daniel Colascione  <dancol@dancol.org>
+
+       Fix menu item updating in the presence of the Unity global menu
+       GTK+ module.
+
+       * gtkutil.h (xg_have_tear_offs): Add frame parameter
+       * gtkutil.c (xg_have_tear_offs): Count the global menu as a
+       tear-off.
+       (xg_update_menubar,xg_update_menu_item): Call g_object_notify when
+       updating menus; explain why.
+       (xg_update_frame_menubar): Remove the 23px hack: I can't repro the
+       problem it's supposed to solve and it interferes with detecting
+       the presence of a global menu.
+       * xmenu.c (set_frame_menubar): Call xg_have_tear_offs with new
+       parameter.
+
+2014-01-11  K. Handa  <handa@gnu.org>
+
+       * composite.c (composition_update_it): Fix indexing of
+       LGSTRING_CHAR (Bug#15984).
+
+2014-01-11  Fabrice Popineau  <fabrice.popineau@gmail.com>
+
+       * unexw32.c (_start) [__MINGW64__]: Define to __start.
+
+2014-01-11  Eli Zaretskii  <eliz@gnu.org>
+
+       * 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.  (Bug#16347)
+       (message_dolog): Fix indentation.
+
+2014-01-11  Martin Rudalics  <rudalics@gmx.at>
+
+       * frame.c (frame_resize_pixelwise): Fix doc-string.
+
+2014-01-10  Martin Rudalics  <rudalics@gmx.at>
+
+       Fix handling of internal borders (Bug#16348).
+       * 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.
+
+2014-01-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix misdisplay of interlaced GIFs with libgif5 (Bug#16372).
+       * image.c (gif_load): libgif5 deinterlaces for us, so don't do
+       it again.
+
+2014-01-06  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (redisplay_window): Don't skip window redisplay if the
+       last value of point is not equal to buffer's point.  (Bug#16129)
+
+2014-01-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Spelling fixes.
+       * nsterm.h (updateCollectionBehavior): Rename from
+       updateCollectionBehaviour.  All uses changed.
+
+       Port to GNU/Linux with recent grsecurity/PaX patches (Bug#16343).
+       * Makefile.in (SETFATTR): New macro.
+       (temacs$(EXEEXT)): Use it.
+
+2014-01-04  Martin Rudalics  <rudalics@gmx.at>
+
+       Fix maximization behavior on Windows (Bug#16300).
+       * w32fns.c (w32_fullscreen_rect): Don't handle
+       FULLSCREEN_MAXIMIZED and FULLSCREEN_NONE specially.
+       * w32term.c (w32fullscreen_hook): Use SetWindowPlacement instead
+       of SetWindowPos.  Restore last placement also when leaving
+       FULLSCREEN_HEIGHT and FULLSCREEN_WIDTH.  Call ShowWindow in all
+       but the FULLSCREEN_BOTH case.
+
+2014-01-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Port to C89.
+       * data.c (arithcompare_driver):
+       * fileio.c (Fcar_less_than_car):
+       * fns.c (internal_equal):
+       * frame.c (delete_frame):
+       * lisp.h (enum More_Lisp_Bits):
+       * lread.c (read1):
+       Avoid C99 constructs that don't work in C89.
+       * data.c (ULL_MAX, count_trailing_zeros_ll): New macros,
+       to port to C89, which doesn't have 'long long'.
+       (count_trailing_zero_bits): Use them.
+
+2014-01-03  Chong Yidong  <cyd@gnu.org>
+
+       * doc.c (Fdocumentation): Remove dynamic-docstring-function.
+
+2014-01-02  Martin Rudalics  <rudalics@gmx.at>
+
+       Further adjust frame/window scrollbar width calculations.
+       * window.c (apply_window_adjustment): Set
+       windows_or_buffers_changed.
+       (Fwindow_scroll_bars): Return actual scrollbar width.
+       * xfns.c (x_set_scroll_bar_default_width): Rename wid to unit.
+       For non-toolkit builds again use 14 as minimum width and set
+       FRAME_CONFIG_SCROLL_BAR_WIDTH accordingly.
+       * xterm.c (XTset_vertical_scroll_bar): Take width from
+       WINDOW_SCROLL_BAR_AREA_WIDTH.
+       (x_new_font): Rename wid to unit.  Base calculation of new
+       scrollbar width on toolkit used and make it analogous to that of
+       x_set_scroll_bar_default_width.
+       * w32fns.c (x_set_scroll_bar_default_width): Rename wid to unit.
+       (Fx_create_frame): Call x_set_scroll_bar_default_width instead
+       of GetSystemMetrics.
+       * w32term.c (w32_set_vertical_scroll_bar): Take width from
+       WINDOW_SCROLL_BAR_AREA_WIDTH.
+       (x_new_font): Make it correspond to changes in xterm.c.
+
+2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lisp.h (EMACS_INT): Configure based on INTPTR_MAX, not LONG_MAX.
+       This is a cleaner way to fix the MinGW-w64 porting problem.
+       Check for INTPTR_MAX misconfiguration.
+
+2014-01-01  Eli Zaretskii  <eliz@gnu.org>
+
+       * search.c (newline_cache_on_off, find_newline): In indirect
+       buffers, use the newline cache of the base buffer.
+
+       * insdel.c (invalidate_buffer_caches): If BUF is an indirect
+       buffer, invalidate the caches of its base buffer.  (Bug#16265)
+
+       * indent.c (width_run_cache_on_off, compute_motion): In indirect
+       buffers, use the width-run cache of the base buffer.
+
+       * 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.
+
+       * fileio.c (Finsert_file_contents): When invalidating the newline
+       cache, consider the case of inserting into indirect buffer.
+
+       * bidi.c (bidi_paragraph_cache_on_off, bidi_find_paragraph_start):
+       In indirect buffers, use the paragraph cache of the base buffer.
+
+2013-12-31  Martin Rudalics  <rudalics@gmx.at>
+
+       * window.c (grow_mini_window): Fix last change.
+
+2013-12-31  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsterm.m (windowDidResignKey:): Set mouse_moved to 0 (Bug#8421).
+
+2013-12-31  Fabrice Popineau  <fabrice.popineau@supelec.fr>
+
+       * w32term.c (w32_initialize): Use LCID and LOWORD.
+
+       * w32proc.c (create_child): Use pid_t for 5th argument.
+       (IsValidLocale): Don't provide prototype for MinGW64.
+       (Fw32_get_valid_keyboard_layouts, Fw32_get_keyboard_layout)
+       (Fw32_set_keyboard_layout): Use HKL and HIWORD/LOWORD.
+
+       * w32heap.c (allocate_heap) [_WIN64]: Use "ull", not "i64", which
+       MinGW64 doesn't support.
+
+       * lisp.h (EMACS_INT) [_WIN64]: Define for the MinGW64 build.
+
+       * w32.c (set_named_security_info): New function.
+       (acl_set_file): Fall back on set_named_security_info if
+       set_file_security fails.
+       (g_b_init_set_named_security_info_w)
+       (g_b_init_set_named_security_info_a): New static variables.
+       (globals_of_w32): Initialize them to zero.
+       (set_named_security_info): Set them to non-zero if the
+       corresponding API is available.
+       (SetNamedSecurityInfoW_Proc, SetNamedSecurityInfoA_Proc): New
+       function typedefs.
+
+2013-12-31  Martin Rudalics  <rudalics@gmx.at>
+
+       Some more fixes following pixelwise resize changes including one
+       for Bug#16306.
+       * 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.
+
 2013-12-30  Juanma Barranquero  <lekktu@gmail.com>
 
        * fileio.c (Fcopy_file) [!WINDOWSNT]: Don't declare on Windows
 2013-12-30  Martin Rudalics  <rudalics@gmx.at>
 
        * dispnew.c (change_frame_size_1): Take old width of root window
-       from that window's pixel width.  Bug#16284.
+       from that window's pixel width.  (Bug#16284)
 
 2013-12-29  Paul Eggert  <eggert@cs.ucla.edu>
 
        * conf_post.h: Include <stdbool.h>.
        (bool_bf): New type.
        * dispextern.h (TRACE, PREPARE_FACE_FOR_DISPLAY):
-       * interval.h (RESET_INTERVAL, COPY_INTERVAL_CACHE, MERGE_INTERVAL_CACHE)
+       * intervals.h (RESET_INTERVAL, COPY_INTERVAL_CACHE, MERGE_INTERVAL_CACHE)
        Surround statement macro with proper 'do { ... } while (false)' brackets.
        * dispextern.h (IF_DEBUG): Properly parenthesize and convert to void.
        Args must now be expressions; all callers changed.
 
        Don't run timers in input-pending-p.  Its new check-timers param
        provides the prior behavior.  (Bug#15045).
-       * src/keyboard.c (Finput_pending_p): Accept optional check-timers
-       param.
+       * keyboard.c (Finput_pending_p): Accept optional check-timers param.
 
 2013-10-17  Paul Eggert  <eggert@cs.ucla.edu>
 
        (Qbool_vector_p): Declare.
        (CHECK_BOOL_VECTOR, ROUNDUP, BITS_PER_SIZE_T): New macros.
        (swap16, swap32, swap64): New inline functions.
-       * macfont.c (macfont_shape): Change lint_assume to assume.
+       * macfont.m (macfont_shape): Change lint_assume to assume.
        * ralloc.c: Rename ROUNDUP to PAGE_ROUNDUP throughout.
        * xsettings.c (parse_settings): Use new swap16 and
        swap32 from lisp.h instead of file-specific macros.
        * process.h, process.c (PROCESS_INLINE):
        * syntax.h, syntax.c (SYNTAX_INLINE):
        * systime.h, sysdep.c (SYSTIME_INLINE):
-       * termhooks.h, terminal.h (TERMHOOKS_INLINE):
+       * termhooks.h, terminal.c (TERMHOOKS_INLINE):
        * window.h, window.c (WINDOW_INLINE):
        Remove.  All uses replaced with INLINE.
 
        (x_handle_dnd_message):
        * xsettings.c (xft_settings_event):
        Use 'const XEvent * const' where appropriate.
-       * xterm.h, gtkutil.h, xsettngs.h: Adjust related prototypes.
+       * xterm.h, gtkutil.h, xsettings.h: Adjust related prototypes.
 
 2013-09-16  Dmitry Antipov  <dmantipov@yandex.ru>
 
        (Fx_create_frame): Register macfont driver, make a better default font.
        (Fns_popup_font_panel): Get font from macfont driver, if used.
 
-       * macfont.m, macfont.h, maccuvs.h: New files.
+       * macfont.m, macfont.h, macuvs.h: New files.
 
        * font.h: Declare syms_of_macfont.
 
        New unwind-protect flavors to better type-check C callbacks.
        This also lessens the need to write wrappers for callbacks,
        and the need for make_save_pointer.
-       * alloca.c (free_save_value):
+       * alloc.c (free_save_value):
        * atimer.c (run_all_atimers):
        Now extern.
        * alloc.c (safe_alloca_unwind):
        * menu.c (cleanup_popup_menu) [HAVE_NS]:
        * minibuf.c (choose_minibuf_frame_1):
        * process.c (make_serial_process_unwind):
-       * xdisp.h (pop_message_unwind):
+       * xdisp.c (pop_message_unwind):
        * xselect.c (queue_selection_requests_unwind):
        Remove no-longer-needed wrapper.  All uses replaced by the wrappee.
-       * alloca.c (record_xmalloc):
+       * alloc.c (record_xmalloc):
        Prefer record_unwind_protect_ptr to record_unwind_protect with
        make_save_pointer.
-       * alloca.c (Fgarbage_collect):
+       * alloc.c (Fgarbage_collect):
        Prefer record_unwind_protect_void to passing a dummy.
        * buffer.c (restore_buffer):
        * window.c (restore_window_configuration):
        Use emacs_open more consistently when opening files.
        This handles EINTR more consistently now, and makes it easier
        to introduce other uniform changes to file descriptor handling.
-       * src/systdio.h: New file.
-       * src/buffer.c (mmap_init):
+       * sysstdio.h: New file.
+       * buffer.c (mmap_init):
        * cygw32.c (chdir_to_default_directory):
        * dispnew.c (Fopen_termscript):
        * emacs.c (Fdaemon_initialized):
 2013-03-28  Dmitry Antipov  <dmantipov@yandex.ru>
 
        * window.h (struct window): Replace hchild, vchild and buffer slots
-       with the only contents slot.  This is possible because each valid
+       with a single slot 'contents'.  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
+       a lot 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)
@@ -8892,7 +9136,7 @@ See ChangeLog.12 for earlier changes.
 ;; coding: utf-8
 ;; End:
 
-  Copyright (C) 2011-2013 Free Software Foundation, Inc.
+  Copyright (C) 2011-2014 Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.