]> code.delx.au - gnu-emacs/blobdiff - src/ChangeLog
Merge from trunk after cygw32 commit, and resolve conflicts.
[gnu-emacs] / src / ChangeLog
index be6ebd33ea6e198e0e4273d0fb83f846073f66cc..30db50fbcc8606f984129c3c7f33ae0aded3b1d4 100644 (file)
@@ -1,9 +1,537 @@
+2012-10-08  Eli Zaretskii  <eliz@gnu.org>
+
+       * makefile.w32-in (FONT_H): Add $(FRAME_H).
+       (W32TERM_H): Add $(ATIMER_H) and $(FRAME_H).
+       ($(BLD)/emacs.$(O), $(BLD)/w32console.$(O)): Update dependencies.
+       (GLOBAL_SOURCES): Add cygw32.c.
+
+       * w32fns.c (w32_color_map_lookup, x_to_w32_color): Argument is now
+       'const char *'.
+       (x_to_w32_color): Don't modify the argument, modify a copy instead.
+
+2012-10-08  Daniel Colascione  <dancol@dancol.org>
+
+       * image.c: Permanent fix for JPEG compilation issue --- limit
+       jpeglib `boolean' redefinition to Cygwin builds.
+
+2012-10-08  Eli Zaretskii  <eliz@gnu.org>
+
+       * image.c (CHECK_LIB_AVAILABLE): Remove, no longer used.
+
+       * emacs.c (DAEMON_MUST_EXEC) [HAVE_NTGUI]: Define this only on
+       Cygwin.
+
+2012-10-08  Daniel Colascione  <dancol@dancol.org>
+
+       * xfaces.c, xdisp.c, window.c, w32xfns.c, w32term.h, w32term.c,
+       w32select.h w32select.c, w32proc.c, w32menu.c, w32inevt.c,
+       w32help.c, w32font.c, w32font.c, w32fns.c, w32console.c, w32.h,
+       w32.c, unexw32.c, termhooks.h, process.c, menu.c, keyboard.h,
+       keyboard.c, image.c, frame.h, frame.c, fontset.c, font.h, font.c,
+       emacs.c, dispextern.h, cygw32.h, cygw32.c, conf_post.h,
+       Makefile.in: use HAVE_NTGUI for W32 GUI and WINDOWSNT for the
+       operating system.  defined(HAVE_NTGUI) && !defined(WINDOWSNT) is
+       now a supported configuration.
+
+       * Makefile.in: consolidate image variables into LIBIMAGE; add
+       W32_OBJ and W32_LIBS. Compile new files.
+
+       * conf_post.h:
+       (_DebPrint) declare tracing facility for W32 debugging.  We need
+       to unify tracing later.
+
+       (NTGUI_UNICODE) Define when compiling for Cygwin to allow the
+       unconditional use of W32 Unicode functions.  Cygwin runs only on
+       100% Unicode operating systems.
+
+       * cygw32.c: New file.  Define Cygwin-specific facilities.
+       (Fcygwin_convert_path_to_windows)
+       (Fcygwin_convert_path_from_windows): New user functions for
+       accessing Cygwin path-munging routines.
+
+       * cygw32.h: New file.
+       (WCSDATA, to_unicode, from_unicode): Define facilities for storing
+       UTF-16LE strings temporarily inside non-Lisp-visible string
+       objects.
+
+       (w32_strerror): Just what it says on the tin.
+
+       * emacs.c: Make the NS fork-then-exec code for daemon-launching
+       also run for Cygwin; both systems have the same problem with using
+       GUI facilities in a forked child.  Also call syms_of_cygw32,
+       syms_of_w32select in correct places.
+
+       (DAEMON_MUST_EXEC): new macro defined to signal that a platform
+       needs fork-then-exec for daemon launching.
+
+       * font.h: Include frame.h.
+
+       * image.c: Use the image library cache machinery only when we're
+       compiling for native WINDOWSNT; Cygwin can use shared libraries
+       like any other Unixlike system.
+
+       * keyboard.c: Clarify a comment regarding the input loop.
+
+       * menu.c: When NTGUI_UNICODE is defined, use Unicode menu
+       functions directly instead of trying to detect at runtime that our
+       host operating system supports them.  We make this change for two
+       reasons: Cygwin lacks support for the multibyte character
+       conversion functions used by the legacy menu code, and Cygwin
+       never needs to rely on non-Unicode APIs.
+
+       * unexw32.c (hinst): Declare extern.
+
+       * w32.c: Change header order;
+       (w32_strerror): Move to w32fns.c because we need it for
+       non-WINDOWSNT builds.
+
+       * w32.h: Add #error macro to make sure we don't include w32.h for
+       Cygwin builds.  Remove w32select declarations.
+
+       * w32console.c (w32_sys_ring_bell, Fset_message_beep): Move to
+       w32fns.c. w32console.c is WINDOWSNT-only.
+
+       * w32fns.c: Include cygw32.h or w32.h depending on CYGWIN; more
+       NTGUI_UNICODE tweaks.  (See above.) Change _snprintf to the more
+       POSIXy alternative.
+       (faked_key, sysinfo_cache, osinfo_cahce, syspage_mask)
+       (w32_major_version, w32_minor_version, w32_build_number)
+       (os_subtype, sound_type): Define here
+       (w32_defined_color): Make color parameter const for consistency
+       with other _defined_color functions.
+       (w32_createwindow): Unconditionally call w32_init_class instead of
+       doing so only when hprevinst is non-NULL.  Plumbing hprevinst
+       through the code is complex and unnecessary because class
+       registration is practically free.
+       (w32_name_of_message): New EMACSDEBUG-only function.
+       (Fset_message_beep): Move here
+       (Fx_open_connection): Require that the display name for Windows be
+       "w32" for consistency, emacsclient disambiguation, and maybe, one
+       day, multi-window-system support.
+       (file_dialog_callback): NTGUI_UNICODE changes; encode and decode
+       Cygwin files for W32 GUI facilities, since these clearly don't
+       expect Cygwin names.
+       (_DebPrint): Define.
+       (w32_strerror, w32_console_toggle_lock_key, w32_kbd_mods_to_emacs)
+       (w32_kbd_patch_key, w32_sys_ring_bell): Move here.
+       (Ssystem_move_file_to_trash): Define only for native WINDOWSNT.
+       (w32_last_error): Remove.
+
+       * w32font.c: Define _strlwr to strlwr for non-WINDOWSNT builds.
+
+       * w32heap.c (syspage_mask): Declare here.
+       (cache_system_info): Remove.
+
+       * w32inevt.c (faked_key): Define globally, not statically.
+       (w32_kbd_mods_to_emacs, w32_kbd_patch_key, faked_key)
+       (w32_console_toggle_lock_key): Move to w32fns.c.
+
+       * w32menu.c: Include setjmp.h.  NTGUI_UNICODE changes throughout.
+
+       * w32proc.c (_DebPrint): Move to w32fns.c.
+       * w32select.c: Include string.h, stdio.h for Cygwin.
+       * w32select.h: New File.
+
+       * w32term.c: Include io.h for non-CYGWIN builds; needed for
+       get_osfhandle.
+       (w32_message_fd): New variable.  Under Cygwin, holds the file
+       descriptor the system used to tell us about pending thread
+       messages.
+
+       (w32_init_term): Remove incorrect calls to fcntl and init_sigio
+       that prevented compilation under non-WINDOWSNT systems.
+
+       (w32_initialize): Open /dev/windows and assign it to
+       w32_message_fd.  Provide w32 feature.
+
+       * w32term.h: Include frame.h, atimer.h.  Declare various frame functions.
+       (WM_EMACS_INPUT_READY): add.
+       (prepend_msg, w32_message_fd): Declare globally.
+
+       * w32xfns.c:
+       (keyboard_handle): Use only when WINDOWSNT.
+       (notify_msg_ready): New function.  Posts a message to the main
+       thread's message queue under CYGWIN, which wakes up the main
+       thread from select(2) by making the /dev/windows file descriptor
+       ready.  Under WINDOWSNT, it sets an event the same way the old
+       code did.
+
+       (post, prepend_msg): Actually call notify_msg_ready instead of
+       setting the input event directly.
+
+2012-10-07  Eli Zaretskii  <eliz@gnu.org>
+
+       * ralloc.c (relinquish): If a heap is ready to be relinquished,
+       but it still has blocs in it, don't return it to the system,
+       instead of aborting.  (Bug#12402)
+
+2012-10-07  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32term.h (WM_EMACS_FILENOTIFY): New custom message.
+       (WM_EMACS_END): Bump value by 1.
+
+       * w32term.c (lispy_file_action, queue_notifications): New functions.
+       (syms_of_w32term) <Qadded, Qremoved, Qmodified, Qrenamed_from>
+       <Qrenamed_to>: New symbols.
+
+       * w32notify.c: New file, implement file event notifications for
+       MS-Windows.
+
+       * w32fns.c (w32_wnd_proc): Handle the WM_EMACS_FILENOTIFY message
+       by posting it to the w32_read_socket queue.
+
+       * termhooks.h (enum event_kind) [WINDOWSNT]: New event kind
+       FILE_NOTIFY_EVENT.
+
+       * makefile.w32-in (OBJ2): Add $(BLD)/w32notify.$(O).
+       (GLOBAL_SOURCES): Add w32notify.c
+       ($(BLD)/w32notify.$(O)): New set of dependencies.
+
+       * lisp.h (syms_of_w32notify) [WINDOWSNT]: Add prototype.
+
+       * keyboard.c (kbd_buffer_get_event) [WINDOWSNT]: Handle
+       FILE_NOTIFY_EVENT.
+       (syms_of_keyboard) [WINDOWSNT] <Qfile_notify>: New symbol.
+       (keys_of_keyboard) [WINDOWSNT]: Bind file-notify to
+       w32notify-handle-event by default.
+
+       * emacs.c (main) [WINDOWSNT]: Call syms_of_w32notify.
+
+       * alloc.c (NSTATICS): Enlarge to 0x660.
+
+2012-10-07  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsterm.m (ns_dumpglyphs_image): Only draw slice of image (Bug#12506).
+
+       * nsterm.m (ns_update_auto_hide_menu_bar): Remove defintion of
+       MAC_OS_X_VERSION_10_6.
+       (syms_of_nsterm): Remove comment about Panther and above for
+       ns-antialias-text.
+       * nsterm.h (MAC_OS_X_VERSION_10_3, onTiger): Remove.
+       (EmacsApp): Remove check for >= MAC_OS_X_VERSION_10_4.
+       (struct nsfont_info): Remove check for >= MAC_OS_X_VERSION_10_3.
+
+       * nsselect.m (ns_string_from_pasteboard): Remove check for >=
+       MAC_OS_X_VERSION_10_4.
+
+       * nsmenu.m (fillWithWidgetValue:): Remove code for <
+       MAC_OS_X_VERSION_10_2.
+
+       * nsimage.m (setPixmapData, getPixelAtX, setAlphaAtX): Remove onTiger.
+
+       * nsfns.m (Fns_list_services): Remove comment and check for OSX < 10.4.
+       (ns_do_applescript): Remove check for >= MAC_OS_X_VERSION_10_4.
+
+       * nsterm.m (ns_in_resize): Remove (Bug#12479).
+       (ns_resize_handle_rect, mouseDown, mouseUp, mouseDragged): Remove.
+       (ns_clear_frame, sendEvent, windowDidResize, drawRect:): Remove
+       ns_in_resize check.
+       (ns_clear_frame_area): Remove resize handle code.
+
+       * nsfns.m (ns_in_resize): Remove.
+       (x_set_icon_name, ns_set_name, ns_set_name_as_filename):  Remove
+       ns_in_resize check.
+
+2012-10-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Improve sys_siglist detection.
+       * sysdep.c (sys_siglist, init_signals): Use _sys_siglist if it's
+       defined as a macro, as is done in Solaris.
+       (sys_siglist_entries): New macro.
+       (save_strsignal): Use it.
+       * syssignal.h (safe_strsignal): Now ATTRIBUTE_CONST, to pacify
+       GCC 4.7.2 on Fedora 17 with the fixed sys_siglist detection.
+
+2012-10-06  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsfns.m (Fx_create_frame): Call x_default_parameter with
+       fullscreen/Fullscreen.
+
+       * nsterm.h (EmacsView): Rename tbar_height to tibar_height.
+       tobar_height is new.
+
+       * nsterm.m (x_make_frame_visible): Check for fullscreen.
+       (ns_fullscreen_hook): Activate old style fullscreen with a timer.
+       (ns_term_init): Set activateIgnoringOtherApps if old style fullscreen.
+       (windowDidResize:): Check for correct window if old style fullscreen.
+       Capitalize word in comment.  Remove incorrect comment.
+       (initFrameFromEmacs:): tbar_height renamed tibar_height.
+       (windowDidEnterFullScreen:): Toggle toolbar for fullscreen to fix
+       error in drawing background.
+       (toggleFullScreen:): Remove comment. Rearrange calls.
+       Set toolbar values to zero, save old height in tobar_height.
+       Restore tool bar height when leaving fullscreen.
+       (canBecomeMainWindow): New function.
+
+2012-10-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * keyboard.c (read_char): Remove unnecessary 'volatile's and label.
+
+2012-10-05  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32proc.c (stop_timer_thread): Fix declaration of 'err'.
+
+       * w32.c (utime): Open the file with FILE_FLAG_BACKUP_SEMANTICS, so
+       that time stamps of directories could also be changed.  Don't
+       request the too broad GENERIC_WRITE, only the more restrictive
+       FILE_WRITE_ATTRIBUTES access rights.
+
+       * fileio.c (Fset_file_times): Special-case ignoring errors for
+       directories only on MSDOS, not on MS-Windows.
+
+2012-10-05  Ikumi Keita  <ikumi@ikumi.que.jp>  (tiny change)
+
+       * minibuf.c (Fcompleting_read): Doc fix.  (Bug#12555)
+
+2012-10-04  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32.c (utime): Test for INVALID_HANDLE_VALUE, not for NULL, to
+       see whether CreateFile failed.
+
+2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * profiler.c (handle_profiler_signal): Inhibit pending signals too,
+       to avoid similar races.
+       * keyboard.c (pending_signals): Now bool, not int.
+
+       Port timers to OpenBSD, plus check for timer failures.
+       OpenBSD problem reported by Han Boetes.
+       * profiler.c (setup_cpu_timer): Check for failure of timer_settime
+       and/or setitimer.
+       (Fprofiler_cpu_stop): Don't assume HAVE_SETITIMER.
+       * syssignal.h (HAVE_ITIMERSPEC): New macro.  This is for platforms
+       like OpenBSD, which has timer_settime but does not declare it.
+       OpenBSD does not define SIGEV_SIGNAL, so use that when deciding
+       whether to use itimerspec-related primitives.  All uses of
+       HAVE_TIMER_SETTIME replaced with HAVE_ITIMERSPEC.
+
+2012-10-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * profiler.c (handle_profiler_signal): Fix a malloc race
+       that caused Emacs to hang on Fedora 17 when profiling Lisp.
+
+2012-10-02  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsterm.m (windowDidEnterFullScreen): Remove fprintf.
+
+2012-10-02  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32proc.c (sys_wait): Declare 'signame' 'const char *', to be
+       consistent with the change in return value of 'safe_strsignal'.
+
+2012-10-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Prefer plain 'static' to 'static inline' (Bug#12541).
+       * bidi.c (bidi_get_type, bidi_check_type, bidi_get_category)
+       (bidi_set_sor_type, bidi_push_embedding_level)
+       (bidi_pop_embedding_level, bidi_remember_char, bidi_copy_it)
+       (bidi_cache_reset, bidi_cache_shrink, bidi_cache_fetch_state)
+       (bidi_cache_search, bidi_cache_ensure_space)
+       (bidi_cache_iterator_state, bidi_cache_find)
+       (bidi_peek_at_next_level, bidi_set_paragraph_end)
+       (bidi_count_bytes, bidi_char_at_pos, bidi_fetch_char)
+       (bidi_explicit_dir_char, bidi_resolve_neutral_1):
+       Now 'static', not 'static inline'.
+
+       Count overruns when profiling; change units to ns.
+       * profiler.c (handle_profiler_signal): Count sampling intervals, not ms.
+       Give extra weight to samples after overruns, to attempt to count
+       the time more accurately.
+       (setup_cpu_timer): Change sampling interval units from ms to ns, since
+       the underlying primitives nominally do ns.
+       (Fprofiler_cpu_start): Document the change.  Mention that
+       the sampling intervals are only approximate.
+
+2012-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * frame.c (Fmake_terminal_frame): Prefer safer CONSP over !NILP.
+
+       * coding.h (ENCODE_FILE, DECODE_FILE, DECODE_SYSTEM): Remove special
+       case for the special 0 coding-system.
+
+       * buffer.c (Fset_buffer_multibyte): Signal an error instead of widening.
+       (Fmake_overlay): Remove redundant tests.
+       (fix_start_end_in_overlays): Remove redundant recentering.
+
+2012-10-02  Juanma Barranquero  <lekktu@gmail.com>
+
+       * makefile.w32-in ($(BLD)/alloc.$(O), $(BLD)/gmalloc.$(O)):
+       Update dependencies.
+
+2012-10-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix a malloc race condition involving strsignal.
+       A signal can arrive in the middle of a malloc, and Emacs's signal
+       handler can invoke strsignal, which can invoke malloc, which is
+       not portable.  This race condition bug makes Emacs hang on GNU/Linux.
+       Fix it by altering the signal handler so that it does not invoke
+       strsignal.
+       * emacs.c (shut_down_emacs): Use safe_strsignal, not strsignal.
+       * process.c (status_message): Use const pointer, in case strsignal
+       is #defined to safe_strsignal.
+       * sysdep.c (sys_siglist, init_signals): Always define and
+       initialize a substitute sys_siglist if the system does not define
+       one, even if HAVE_STRSIGNAL.
+       (safe_strsignal): Rename from strsignal.  Always define,
+       using sys_siglist.  Return a const pointer.
+       * syssignal.h (safe_strsignal): New decl.
+       (strsignal) [!HAVE_STRSIGNAL]: Define in terms of safe_strsignal.
+
+2012-10-01  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32proc.c (timer_loop): Fix code that waits for timer
+       expiration, to avoid high CPU usage.
+
+2012-10-01  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * fns.c (check_hash_table, get_key_arg, maybe_resize_hash_table)
+       (sweep_weak_table): Remove redundant prototypes.
+
+2012-10-01  Fabrice Popineau  <fabrice.popineau@gmail.com>
+
+       * emacs.c: Move the inclusion of TERM_HEADER after including
+       windows.h on WINDOWSNT.  This avoids compilation problems with
+       MSVC.
+
+2012-10-01  Eli Zaretskii  <eliz@gnu.org>
+
+       * unexw32.c (OFFSET_TO_RVA, RVA_TO_OFFSET)
+       (RVA_TO_SECTION_OFFSET): Encode all macro arguments in parentheses.
+       (RVA_TO_PTR): Cast the result of RVA_TO_OFFSET to 'unsigned char *',
+       as the previous version used 'void *'.
+
+       * ralloc.c (ROUNDUP): Fix last change.
+       (MEM_ROUNDUP): Don't cast MEM_ALIGN, it is already of type
+       'size_t'.
+
+       * w32proc.c <disable_itimers>: New static flag.
+       (init_timers): Initialize it to zero, after creating the critical
+       sections used by the timer threads.
+       (term_timers): Set to 1 before deleting the critical sections.
+       (getitimer, setitimer): If disable_itimers is non-zero, return an
+       error indication without doing anything.  Reported by Fabrice
+       Popineau <fabrice.popineau@supelec.fr> as part of bug#12544.
+       (alarm) [HAVE_SETITIMER]: Be more conformant to the expected
+       return results.
+       [!HAVE_SETITIMER]: Behave as the previous version that didn't
+       support timers.
+
+       * emacs.c (shut_down_emacs) [WINDOWSNT]: Move the call to
+       term_ntproc after all the other bookkeeping, to get timers working
+       as long as possible.
+
+2012-10-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * xdisp.c (syms_of_xdisp): Default message-log-max to 1000, not 100.
+       Suggested by Juri Linkov in
+       <http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00821.html>.
+
+       Prefer plain 'static' to 'static inline' (Bug#12541).
+       With static functions, modern compilers inline pretty well by
+       themselves; advice from programmers often hurts as much as it helps.
+       On my host (x86-64, Fedora 17, GCC 4.7.2, default 'configure'),
+       this change shrinks the text size of the Emacs executable by 1.1%
+       without affecting CPU significantly in my benchmark.
+       * alloc.c (mem_find, live_string_p, live_cons_p, live_symbol_p)
+       (live_float_p, live_misc_p, live_vector_p, live_buffer_p)
+       (mark_maybe_object, mark_maybe_pointer, bounded_number):
+       * buffer.c (bset_abbrev_mode, bset_abbrev_table)
+       (bset_auto_fill_function, bset_auto_save_file_format)
+       (bset_auto_save_file_name, bset_backed_up, bset_begv_marker)
+       (bset_bidi_display_reordering, bset_buffer_file_coding_system)
+       (bset_cache_long_line_scans, bset_case_fold_search)
+       (bset_ctl_arrow, bset_cursor_in_non_selected_windows)
+       (bset_cursor_type, bset_display_table, bset_extra_line_spacing)
+       (bset_file_format, bset_file_truename, bset_fringe_cursor_alist)
+       (bset_fringe_indicator_alist, bset_fringes_outside_margins)
+       (bset_header_line_format, bset_indicate_buffer_boundaries)
+       (bset_indicate_empty_lines, bset_invisibility_spec)
+       (bset_left_fringe_width, bset_major_mode, bset_mark)
+       (bset_minor_modes, bset_mode_line_format, bset_mode_name)
+       (bset_name, bset_overwrite_mode, bset_pt_marker)
+       (bset_right_fringe_width, bset_save_length)
+       (bset_scroll_bar_width, bset_scroll_down_aggressively)
+       (bset_scroll_up_aggressively, bset_selective_display)
+       (bset_selective_display_ellipses, bset_vertical_scroll_bar_type)
+       (bset_word_wrap, bset_zv_marker, set_buffer_overlays_before)
+       (set_buffer_overlays_after):
+       * category.c (bset_category_table):
+       * charset.c (read_hex):
+       * coding.c (produce_composition, produce_charset)
+       (handle_composition_annotation, handle_charset_annotation)
+       (char_encodable_p):
+       * dispnew.c (swap_glyph_pointers, copy_row_except_pointers)
+       (assign_row, set_frame_matrix_frame, make_current)
+       (add_row_entry):
+       * eval.c (set_specpdl_symbol, set_specpdl_old_value):
+       * fns.c (maybe_resize_hash_table):
+       * frame.c (fset_buffer_predicate, fset_minibuffer_window):
+       * gmalloc.c (register_heapinfo):
+       * image.c (lookup_image_type):
+       * intervals.c (set_interval_object, set_interval_left)
+       (set_interval_right, copy_interval_parent, rotate_right)
+       (rotate_left, balance_possible_root_interval):
+       * keyboard.c (kset_echo_string, kset_kbd_queue)
+       (kset_keyboard_translate_table, kset_last_prefix_arg)
+       (kset_last_repeatable_command, kset_local_function_key_map)
+       (kset_overriding_terminal_local_map, kset_real_last_command)
+       (kset_system_key_syms, clear_event, set_prop):
+       * lread.c (digit_to_number):
+       * marker.c (attach_marker, live_buffer, set_marker_internal):
+       * nsterm.m (ns_compute_glyph_string_overhangs):
+       * process.c (pset_buffer, pset_command)
+       (pset_decode_coding_system, pset_decoding_buf)
+       (pset_encode_coding_system, pset_encoding_buf, pset_filter)
+       (pset_log, pset_mark, pset_name, pset_plist, pset_sentinel)
+       (pset_status, pset_tty_name, pset_type, pset_write_queue):
+       * syntax.c (bset_syntax_table, dec_bytepos):
+       * terminal.c (tset_param_alist):
+       * textprop.c (interval_has_some_properties)
+       (interval_has_some_properties_list):
+       * window.c (wset_combination_limit, wset_dedicated)
+       (wset_display_table, wset_hchild, wset_left_fringe_width)
+       (wset_left_margin_cols, wset_new_normal, wset_new_total)
+       (wset_normal_cols, wset_normal_lines, wset_parent, wset_pointm)
+       (wset_right_fringe_width, wset_right_margin_cols)
+       (wset_scroll_bar_width, wset_start, wset_temslot, wset_vchild)
+       (wset_vertical_scroll_bar_type, wset_window_parameters):
+       * xdisp.c (wset_base_line_number, wset_base_line_pos)
+       (wset_column_number_displayed, wset_region_showing)
+       (window_box_edges, run_window_scroll_functions)
+       (append_glyph_string_lists, prepend_glyph_string_lists)
+       (append_glyph_string, set_glyph_string_background_width)
+       (append_glyph, append_composite_glyph)
+       (take_vertical_position_into_account):
+       * xfaces.c (x_create_gc, x_free_gc, merge_face_vectors)
+       (face_attr_equal_p, lface_equal_p, hash_string_case_insensitive)
+       (lface_hash, lface_same_font_attributes_p, lookup_face):
+       * xml.c (libxml2_loaded_p):
+       * xterm.c (x_set_mode_line_face_gc, x_set_glyph_string_gc)
+       (x_set_glyph_string_clipping, x_clear_glyph_string_rect):
+       Now 'static', not 'static inline'.
+
+       * bidi.c: Tune.
+       (bidi_copy_it): Do the whole copy with a single memcpy.
+       (bidi_char_at_pos): Merge the two STRING_CHAR calls into one.
+
+       Revert the FOLLOW-SYMLINKS change for file-attributes.
+       Doing it right would require several changes to Tramp, and there's
+       not enough time to get that tested before the freeze today.
+       * dired.c (directory_files_internal, Ffile_attributes):
+       Undo last change.
+
+       * frame.c (x_report_frame_params): Port better to wider ints.
+       Do not assume that EMACS_UINT is the same width as uprintmax_t,
+       or that pointers can be printed in 15 decimal digits.
+       Avoid GCC warnings if EMACS_UINT is wider than a pointer.
+
 2012-09-30  Fabrice Popineau  <fabrice.popineau@supelec.fr>
 
        Support x64 build on MS-Windows.
        * w32term.h (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK): Define for x64.
        (SET_SCROLL_BAR_W32_WINDOW): Cast ID to intptr_t, for
        compatibility with x64.
+       (x_get_focus_frame): Add prototype.
 
        * w32term.c (w32_draw_underwave): Don't use GCC extensions for
        defining an XRectangle structure.