+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.
+
+ * w32proc.c (RVA_TO_PTR, w32_executable_type): Fix pointer
+ arithmetics for compatibility with x64.
+
+ * w32menu.c (add_menu_item): Use UINT_PTR instead of UINT, for
+ compatibility with x64.
+
+ * w32heap.h: Adjust prototypes and declarations.
+
+ * w32heap.c (RVA_TO_PTR, allocate_heap, sbrk, init_heap)
+ (round_heap): Use DWORD_PTR, ptrdiff_t and size_t instead of
+ DWORD, long, and unsigned long, for compatibility with x64.
+ (allocate_heap) [_WIN64]: Reserve 32GB of memory.
+ (sbrk): Argument is now of type ptrdiff_t.
+
+ * w32fns.c (HMONITOR): Condition declaration on _WIN32_WINNT being
+ less than 0x0500.
+ (w32_msg_pump): Use WPARAM type for 'result'.
+
+ * w32.c (init_environment, get_emacs_configuration): Support AMD64
+ architecture.
+ (init_ntproc): Cast arguments of _open_osfhandle to intptr_t, for
+ compatibility with x64.
+
+ * vm-limit.c (lim_data): Now size_t.
+ (check_memory_limits): Adjust prototypes of real_morecore and
+ __morecore to receive argument of type ptrdiff_t. Use size_t for
+ five_percent and data_size.
+
+ * unexw32.c: Use DWORD_PTR instead of DWORD for file-scope
+ variables, for compatibility with x64.
+ (rva_to_section, offset_to_section, relocate_offset)
+ (OFFSET_TO_RVA, RVA_TO_OFFSET, RVA_TO_SECTION_OFFSET)
+ (PTR_TO_RVA, RVA_TO_PTR, OFFSET_TO_PTR, get_section_info)
+ (copy_executable_and_dump_data): Use DWORD_PTR instead of DWORD
+ for compatibility with x64.
+
+ * sysdep.c (STDERR_FILENO): Define if not already defined.
+
+ * ralloc.c (real_morecore): Argument type is now ptrdiff_t.
+ (__morecore): Argument type is now ptrdiff_t.
+ (ROUNDUP, MEM_ROUNDUP): Use size_t instead of 'unsigned long'.
+ (relinquish): Use ptrdiff_t type for 'excess'.
+ (r_alloc_sbrk): Argument type is now ptrdiff_t.
+
+ * makefile.w32-in (HEAPSIZE): Get value from EMACS_HEAPSIZE.
+ (bootstrap-temacs-CMD, bootstrap-temacs-SH): Use $(EMACS_PURESIZE)
+ instead of a literal number.
+
+ * gmalloc.c [WINDOWSNT]: Include w32heap.h.
+ (min): Define only if not already defined.
+
+ * frame.c (x_report_frame_params): Use EMACS_UINT for the return
+ value of FRAME_X_WINDOW, to fit a 64-bit pointer on 64-bit Windows
+ hosts.
+
+ * image.c (x_bitmap_pixmap): Return ptrdiff_t, not int, since
+ 'bitmaps' is a pointer.
+
+ * dispextern.h (x_bitmap_pixmap): Adjust prototype.
+
+ * alloc.c (gdb_make_enums_visible): Now conditional on __GNUC__.
+
+2012-09-30 Paul Eggert <eggert@cs.ucla.edu>
+
+ file-attributes has a new optional arg FOLLOW-SYMLINKS.
+ * dired.c (directory_files_internal, Ffile_attributes):
+ New arg follow_symlinks. All uses changed.
+
+2012-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * .gdbinit (xbacktrace): Adjust to recent "struct backtrace" change.
+
+2012-09-30 Eli Zaretskii <eliz@gnu.org>
+
+ Support atimers and CPU profiler via profile.c on MS-Windows.
+ * w32proc.c (sig_mask, crit_sig): New static variables.
+ (sys_signal): Support SIGALRM and SIGPROF.
+ (sigemptyset, sigaddset, sigfillset, sigprocmask)
+ (pthread_sigmask, setpgrp): Move here from w32.c. sigaddset,
+ sigfillset, and sigprocmask are no longer no-ops.
+ (sigismember): New function.
+ (struct itimer_data): New definition.
+ (ticks_now, real_itimer, prof_itimer, clocks_min, crit_real)
+ (crit_prof): New static variables.
+ (MAX_SINGLE_SLEEP): New definition.
+ (timer_loop, stop_timer_thread, term_timers, init_timers)
+ (start_timer_thread, getitimer, setitimer): New functions.
+ (alarm): No longer a no-op, calls setitimer.
+
+ * w32.c (term_ntproc): Call term_timers.
+ (init_ntproc): Make sure all signals are unblocked at startup, to
+ erase any traces of dumping. Call init_timers.
+
+ * w32fns.c (hourglass_timer, HOURGLASS_ID): Remove.
+ Windows-specific code to display the hourglass mouse pointer is no
+ longer used.
+ (w32_wnd_proc): Remove code that handled the WM_TIMER message due
+ to hourglass timer expiration.
+ (start_hourglass, cancel_hourglass, DEFAULT_HOURGLASS_DELAY):
+ Remove, no longer used.
+ (w32_note_current_window, show_hourglass, hide_hourglass):
+ New functions, in support of hourglass cursor display similar to other
+ window systems.
+ (syms_of_w32fns): Don't initialize hourglass_timer.
+
+ * xdisp.c (start_hourglass, cancel_hourglass): Now used on
+ WINDOWSNT as well.
+ (start_hourglass) [WINDOWSNT]: Call w32_note_current_window.
+
+ * w32.h (init_timers, term_timers): Add prototypes.
+
+2012-09-30 Kenichi Handa <handa@gnu.org>
+
+ * coding.c (decode_coding_ccl, encode_coding_ccl): Pay attention
+ to the buffer relocation which may be caused by ccl_driver.
+
+2012-09-30 Jan Djärv <jan.h.d@swipnet.se>
+
+ * xfns.c (Fx_file_dialog): Update comment.
+
+ * w32fns.c (Fx_file_dialog): Update comment.
+
+ * nsfns.m (Fns_read_file_name): Add argument DIR_ONLY_P.
+ Initialize panel name field if OSX >= 10.6.
+
+ * fileio.c (Fnext_read_file_uses_dialog_p): Add HAVE_NS.
+
+ * nsfns.m (ns_frame_parm_handlers): Add x_set_fullscreen.
+
+ * nsterm.m (NEW_STYLE_FS): New define.
+ (ns_fullscreen_hook, windowWillEnterFullScreen)
+ (windowDidEnterFullScreen, windowWillExitFullScreen)
+ (windowDidExitFullScreen, toggleFullScreen, handleFS)
+ (setFSValue): New functions.
+ (EmacsFSWindow): New implementation.
+ (canBecomeKeyWindow): New function for EmacsFSWindow.
+ (ns_create_terminal): Set fullscreen_hook to ns_fullscreen_hook.
+ (dealloc): Release nonfs_window if in fullscreen.
+ (updateFrameSize:): Call windowDidMove to update top/left.
+ (windowWillResize:toSize:): Check if frame is still maximized.
+ (initFrameFromEmacs:): Initialize fs_state, fs_before_fs,
+ next_maximized, maximized_width, maximized_height and nonfs_window.
+ Call setCollectionBehavior if NEW_STYLE_FS. Initialize bwidth and
+ tbar_height.
+ (windowWillUseStandardFrame:defaultFrame:): Update frame parameter
+ fullscreen. Set maximized_width/height. Act on next_maximized.
+
+ * nsterm.h (MAC_OS_X_VERSION_10_7, MAC_OS_X_VERSION_10_8): New.
+ (EmacsView): Add variables for fullscreen.
+ (handleFS, setFSValue, toggleFullScreen): New in EmacsView.
+ (EmacsFSWindow): New interface for fullscreen.
+
+2012-09-30 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in ($(BLD)/profiler.$(O)): Update dependencies.
+
2012-09-30 Chong Yidong <cyd@gnu.org>
* fns.c (Frandom): Doc fix.