Fix spurious "cl--defsubst-expand might not be defined at runtime"
[bpt/emacs.git] / src / ChangeLog
index b960837..839e7e5 100644 (file)
@@ -1,3 +1,435 @@
+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