+2012-10-11 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * eval.c (Fautoload): Remember previous autoload status in load-history.
+
+2012-10-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ lread.c, macros.c, marker.c, menu.c, minibuf.c: Use bool for booleans.
+ * lread.c (load_each_byte, new_backquote_flag, readchar)
+ (read_filtered_event, lisp_file_lexically_bound_p)
+ (safe_to_load_version, Fload, complete_filename_p, openp)
+ (build_load_history, readevalloop, read_escape, read1)
+ (string_to_number, read_vector, read_list):
+ * macros.c (Fstart_kbd_macro):
+ * marker.c (CONSIDER):
+ * menu.c (parse_single_submenu, digest_single_submenu)
+ (find_and_return_menu_selection, Fx_popup_menu):
+ * minibuf.c (read_minibuf_noninteractive, read_minibuf)
+ (Ftry_completion):
+ * nsmenu.m (ns_update_menubar, runMenuAt:forFrame:keymaps:):
+ (ns_menu_show):
+ * xmenu.c (set_frame_menubar, create_and_show_popup_menu)
+ (xmenu_show, xdialog_show):
+ Use bool for booleans.
+ * lread.c (safe_to_load_version): Rename from safe_to_load_p,
+ as it's not a predicate. All uses changed. Omit unnecessary
+ buffer termination.
+
+2012-10-11 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * editfns.c (save_excursion_save): Use nil if mark points to nowhere.
+ (save_excursion_restore): Do not restore mark if it was not saved.
+
+2012-10-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ * marker.c (cached_modiff): EMACS_INT, not int.
+
+ * w32select.c (waiting_for_input): Declare by including "keyboard.h"
+ instead of having a wrong decl.
+ * nsmenu.m (waiting_for_input): Remove wrong decl.
+
+2012-10-10 Paul Eggert <eggert@cs.ucla.edu>
+
+ keyboard.c, keymap.c: Use bool for booleans.
+ * dispnew.c (sit_for): Distinguish between 3-way display_option
+ and boolean do_display.
+ * keyboard.c (single_kboard, this_command_key_count_reset)
+ (waiting_for_input, echoing, immediate_quit, input_pending)
+ (interrupt_input, interrupts_deferred, pop_kboard)
+ (temporarily_switch_to_single_kboard, ignore_mouse_drag_p)
+ (command_loop_1, adjust_point_for_property)
+ (safe_run_hooks_error, input_polling_used, read_char):
+ (help_char_p, readable_events, kbd_buffer_events_waiting)
+ (kbd_buffer_get_event, timer_check_2, make_lispy_event)
+ (lucid_event_type_list_p, get_input_pending):
+ (gobble_input, menu_separator_name_p, menu_bar_item)
+ (parse_menu_item, parse_tool_bar_item, read_char_x_menu_prompt)
+ (read_char_minibuf_menu_prompt, access_keymap_keyremap)
+ (keyremap_step, test_undefined, read_key_sequence)
+ (detect_input_pending, detect_input_pending_ignore_squeezables)
+ (detect_input_pending_run_timers, requeued_events_pending_p)
+ (quit_throw_to_read_char, Fset_input_interrupt_mode):
+ * keymap.c (get_keymap, keymap_parent, keymap_memberp)
+ (access_keymap_1, access_keymap, map_keymap, get_keyelt)
+ (Fdefine_key, Flookup_key, struct accessible_keymaps_data)
+ (accessible_keymaps_1, Fkey_description, push_key_description):
+ (shadow_lookup, struct where_is_internal_data)
+ (where_is_internal, Fwhere_is_internal, where_is_internal_1)
+ (Fdescribe_buffer_bindings, describe_map_tree, struct describe_map_elt)
+ (describe_map, describe_vector):
+ * menu.c (single_menu_item):
+ * nsmenu.m (ns_update_menubar):
+ * process.c (wait_reading_process_output):
+ * search.c (scan_buffer, scan_newline):
+ Use bool for boolean.
+ * keyboard.c (timers_run, swallow_events)
+ (detect_input_pending_run_timers):
+ * process.c (wait_reading_process_output):
+ Use unsigned for counter where wraparound-on-overflow is desired,
+ since unsigned is guaranteed to have that behavior and signed is not.
+ (read_char): Use ptrdiff_t for string length.
+ (get_input_pending): Remove first argument, since it was always
+ the same pointer-to-int (now pointer-to-boolean) &input_pending,
+ and behave as if it had that value. Return new value of
+ input_pending. All callers changed.
+ * keyboard.h (struct kboard): Use unsigned : 1 for boolean member
+ immediate_echo. Use ptrdiff_t for echo_after_prompt, since it's
+ a string length.
+ * keymap.c (push_key_description): Omit last arg, which was always 1.
+ All callers changed.
+
+ * regex.c (immediate_quit) [emacs]: Remove duplicate decl.
+
+2012-10-10 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in ($(BLD)/dispnew.$(O), $(BLD)/indent.$(O))
+ ($(BLD)/term.$(O)): Update dependencies.
+
+2012-10-10 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * alloc.c (mark_object): Use meaningful PVEC_NORMAL_VECTOR.
+ * lisp.h (enum pvec_type): Adjust comments and omit explicit
+ initializer for PVEC_NORMAL_VECTOR.
+
+2012-10-10 Paul Eggert <eggert@cs.ucla.edu>
+
+ Clean out old termopts cruft.
+ * termopts.h (flow_control, meta_key): Remove unused decls.
+ * dispnew.c, indent.c, nsterm.m, term.c, xsettings.c, xsmfns.c:
+ Don't include termopts.h.
+
+2012-10-10 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * alloc.c (gc_sweep): Use pointer-to-a-pointer loop for buffers.
+
+2012-10-10 Paul Eggert <eggert@cs.ucla.edu>
+
+ * commands.h (immediate_quit): Remove duplicate decl.
+
+2012-10-09 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsfont.m (Vfonts_in_cache): Remove, not needed as font.c handles
+ caching.
+ (nsfont_open): Remove setting of Vfonts_in_cache.
+ (syms_of_nsfont): Remove initialization of Vfonts_in_cache
+
+2012-10-09 Eli Zaretskii <eliz@gnu.org>
+
+ * w32fns.c (w32_last_error): Change the return value to DWORD, to
+ match what GetLastError returns. Explain why the function is
+ needed.
+
+ * frame.c (delete_frame): Rename local variable 'tooltip_frame' to
+ 'is_tooltip_frame', to avoid confusion with its global namesake.
+
+2012-10-08 Daniel Colascione <dancol@dancol.org>
+
+ * xdisp.c (start_hourglass): Call w32_note_current_window when
+ HAVE_NTGUI, not just WINDOWSNT, resolving a problem in the cygw32
+ build that caused Emacs to display the hourglass cursor forever.
+
+ * w32fns.c (Fx_display_color_cells): Instead of using NCOLORS,
+ which is broken under remote desktop, calculate the number of
+ colors available for a display based on the display's number of
+ planes and number of bits per pixel per plane. (bug#10397).
+
+2012-10-08 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsfont.m (Vfonts_in_cache): New variable.
+ (nsfont_open): Use unsignedLongLongValue for cache in case wide ints
+ are used. Add cached fonts to Vfonts_in_cache.
+ (syms_of_nsfont): Initialize and staticpro Vfonts_in_cache.
+
+2012-10-08 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in (LOCAL_FLAGS): Don't define HAVE_NTGUI, it's now
+ in nt/config.nt.
+ (FONT_H): Define after FRAME_H.
+ ($(BLD)/emacs.$(O), $(BLD)/process.$(O), $(BLD)/w32heap.$(O)):
+ Update dependencies.
+
+ * w32term.c: Remove leftover declaration of keyboard_codepage.
+
+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.
+ ($(BLD)/unexw32.$(O)):
+ ($(BLD)/w32.$(O)):
+ ($(BLD)/w32console.$(O)):
+ ($(BLD)/w32fns.$(O)):
+ ($(BLD)/w32heap.$(O)):
+ ($(BLD)/w32menu.$(O)):
+ ($(BLD)/w32proc.$(O)): Add w32common.h.
+
+ * 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>
+
+ * w32term.h (WM_EMACS_BRINGTOTOP, WM_EMACS_INPUT_READY)
+ (WM_EMACS_END): Change WM_EMACS_BRINGTOTOP from 22 to 21 to close
+ accidental message numbering hole. Change other messages to
+ match.
+
+ * w32select.h (HAVE_W32SELECT): Remove.
+
+ * w32select.c, w32proc.c, w32menu.c, w32console.c, w32.c: Include
+ w32common.h instead of w32heap.h
+
+ * w32heap.h (ROUND_UP, ROUND_DOWN, get_page_size)
+ (get_allocation_unit, get_processor_type, get_w32_major_version)
+ (get_w32_minor_version, sysinfo_cache, osinfo_cache)
+ (w32_major_version, w32_minor_version, w32_build_number, OS_9X)
+ (OS_NT, os_subtype, cache_system_info): Move declarations to
+ w32common.
+
+ * w32heap.c: Include w32common.h.
+ (sysinfo_cache, syspage_mask, osinfo_cache, w32_major_version)
+ (w32_minor_version, w32_build_number, w32_subtype): Remove
+ duplicate definitions.
+
+ * w32fns.c: Include w32common.h; include w32heap.h only in
+ WINDOWSNT.
+
+ (Fx_file_dialog): Clarify comment on GetOpenFileName structure.
+ Use `report_file_error' instead of `error' in order to better
+ inform users of what went wrong. Increase NTGUI_UNICODE file
+ dialog box file name length to 32k, the maximum allowed by the NT
+ kernel.
+
+ * w32common.h: New file.
+ (ROUND_UP, ROUND_DOWN, get_page_size)
+ (get_allocation_unit, get_processor_type, get_w32_major_version)
+ (get_w32_minor_version, sysinfo_cache, osinfo_cache)
+ (w32_major_version, w32_minor_version, w32_build_number, OS_9X)
+ (OS_NT, os_subtype, cache_system_info): Move here.
+
+ * unexw32.c, unexcw.c: Include w32common.h.
+
+ * emacs.c (main): Use (defined (WINDOWSNT) || defined
+ HAVE_NTGUI) instead of removed HAVE_W32SELECT to decide whether
+ to call syms_of_w32select.
+
+ * cygw32.h: Remove obsolete EXFUN declarations.
+
+ * cygw32.c (Qutf_16_le): Rename to Qutf_16le.
+
+ * Makefile.in (SOME_MACHINE_OBJECTS): Reverse accidental removal
+ of w32inevt.o from SOME_MACHINE_OBJECTS.
+
+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 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