]> code.delx.au - gnu-emacs/blobdiff - src/ChangeLog
Merge from trunk.
[gnu-emacs] / src / ChangeLog
index a05c426a452036cc94a261c494e002a0fb971617..c81009928deeb384ca740bdf7b5b5e486995ebb5 100644 (file)
@@ -1,5 +1,304 @@
+2012-10-20  Chong Yidong  <cyd@gnu.org>
+
+       * lread.c (Fload): Doc fix (Bug#12592).
+
+2012-10-19  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>  (tiny change)
+
+       * font.c (Ffont_at): Fix previous change.
+
+2012-10-19  Eli Zaretskii  <eliz@gnu.org>
+
+       * puresize.h (BASE_PURESIZE): Bump the base value to 1700000.  See
+       http://lists.gnu.org/archive/html/emacs-devel/2012-10/msg00593.html
+       for the reasons.
+
+       * alloc.c (NSTATICS): Decrease to 0x800.
+
+2012-10-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * fns.c (Fnreverse): Include the problem element when signalling an
+       error (bug#12677).
+
+2012-10-18  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsterm.m (ns_select): Check writefds before call to
+       FD_ISSET (Bug#12668).
+
+2012-10-18  Daniel Colascione  <dancol@dancol.org>
+
+       * alloc.c (NSTATICS): Increase from 0x650 to 0x1000
+       (staticpro): If we run out of staticpro slots, die with an
+       informative error instead of just calling emacs_abort.
+
+2012-10-18  Martin Rudalics  <rudalics@gmx.at>
+
+       Fix two flaws reported by Dmitry Antipov.
+       * window.c (Ftemp_output_buffer_show): Remove.
+       (Fwindow_vscroll, Fset_window_vscroll): Use decode_live_window.
+       (syms_of_window): Remove defsubr for Stemp_output_buffer_show.
+
+2012-10-17  Eli Zaretskii  <eliz@gnu.org>
+
+       * makefile.w32-in ($(BLD)/w32.$(O)):
+       ($(BLD)/vm-limit.$(O)):
+       ($(BLD)/term.$(O)):
+       ($(BLD)/unexw32.$(O)):
+       ($(BLD)/fileio.$(O)):
+       ($(BLD)/dispnew.$(O)): Update dependencies.
+
+       * w32term.h (w32_initialize_display_info, initialize_w32_display):
+       Add prototypes.
+
+       * w32proc.c: Include ctype.h.
+
+       * w32.h (init_environment, check_windows_init_file)
+       (syms_of_ntproc, syms_of_ntterm, dostounix_filename)
+       (unixtodos_filename, init_winsock, srandom, random, sys_pipe)
+       (set_process_dir, sys_spawnve, register_child, sys_sleep, getwd)
+       (sys_link): Add prototypes.
+
+       * w32.c: Include w32select.h.
+       (sys_access, e_malloc, sys_select): Add prototypes.
+       (emacs_gnutls_pull): 'timeout' is now EMACS_TIME, not struct timeval.
+
+       * vm-limit.c [WINDOWSNT]: Include w32heap.h.
+
+       * unexw32.c: Include lisp.h and w32.h.
+
+       * term.c [WINDOWSNT]: Include w32term.h.
+
+       * process.c [WINDOWSNT]: Add prototype of sys_select.
+
+       * fileio.c [WINDOWSNT]: Include w32.h.
+
+       * dispnew.c [WINDOWSNT]: Include w32.h.
+
+       * cygw32.c (Fcygwin_convert_path_to_windows)
+       (Fcygwin_convert_path_from_windows): Use EQ to compare 2
+       Lisp_Object values.  (Bug#12661)
+
+       * w32fns.c (w32_msg_pump): Use XIL instead of casting an integer
+       to Lisp_Object.  (Bug#12661)
+
+2012-10-17  Kenichi Handa  <handa@gnu.org>
+
+       * xdisp.c (reseat_1): Make the information stored in it->cmp_it
+       invalidate.
+
+2012-10-17  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * buffer.c (Fkill_buffer): When unchaining the marker,
+       reset its buffer pointer to NULL (Bug#12652).
+
+2012-10-17  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Do not verify indirection counters of killed buffers (Bug#12579).
+       * buffer.h (BUFFER_CHECK_INDIRECTION): New macro.
+       * buffer.c (compact_buffer, set_buffer_internal_1): Use it.
+
+2012-10-16  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * alloc.c (Fmake_byte_code): Fix typo in comment.
+       * print.c (print_interval): Define as static to match prototype.
+       * indent.c (disptab_matches_widthtab, recompute_width_table):
+       Convert to eassert.
+
+2012-10-16  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * editfns.c (get_system_name): Remove.
+       * lisp.h (get_system_name): Remove prototype.
+       * xrdb.c (getenv, getpwuid, getpwnam): Remove prototypes.
+       (get_environ_db): Use Vsystem_name.  Avoid call to strlen.
+
+2012-10-15  Daniel Colascione  <dancol@dancol.org>
+
+       * dbusbind.c: Add comment explaining reason for previous change.
+
+2012-10-15  Martin Rudalics  <rudalics@gmx.at>
+
+       * window.c (Fwindow_end): Rewrite check whether cached position
+       can be used (Bug#12600).
+       (resize_frame_windows, grow_mini_window, shrink_mini_window):
+       Set windows_or_buffers_changed.
+
+2012-10-15  Daniel Colascione  <dancol@dancol.org>
+
+       * dbusbind.c: Fix cygw32 build break when compiling with dbus
+       enabled by undefining the symbol "interface", which the platform
+       headers define to something incompatible.
+
+2012-10-14  Daniel Colascione  <dancol@dancol.org>
+
+       * image.c (init_tiff_functions, init_imagemagick_functions)
+       (init_svg_functions): Fix cygw32 build break by using these
+       functions only when WINDOWSNT _and_ HAVE_NTGUI.
+
+2012-10-14  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsterm.m (ns_select): Count fd:s in writefs also (Bug#12422).
+
+2012-10-13  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * gtkutil.c (xg_set_widget_bg): Divide by 65535 (Bug#12612).
+
+2012-10-13  HANATAKA, Shinya  <bogytech@gmail.com>  (tiny change)
+
+       * coding.c (detect_coding): Set coding->id before calling
+       this->detector.
+
+2012-10-13  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * fileio.c: Formatting fixes.
+
+2012-10-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix some stat-related races.
+       * fileio.c (Fwrite_region): Avoid race condition if a file is
+       removed or renamed by some other process immediately after Emacs
+       writes it but before Emacs stats it.  Do not assume that stat (or
+       fstat) succeeds.
+       * image.c (slurp_file): Resolve the file name with fopen + fstat
+       rather than stat + fopen.
+       (pbm_read_file) [0]: Remove unused code with stat race.
+       * process.c (allocate_pty) [HAVE_PTYS && !PTY_ITERATION && !PTY_OPEN]:
+       Remove ineffective code with stat race.
+
+2012-10-12  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * doc.c (get_doc_string): Don't signal an error if the file is missing.
+
+2012-10-12  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsterm.m (hold_event_q): New static variable.
+       (EV_TRAILER, sendScrollEventAtLoc:fromEvent:): Call hold_event if
+       ! q_event_ptr.
+       (hold_event): New function.
+       (ns_read_socket): If hold_event_q have events, store them and
+       return (Bug#12384).
+       (setPosition:portion:whole:): Send SIGIO to ourselves if apploopnr
+       is zero (Bug#12384).
+
+2012-10-12  Juanma Barranquero  <lekktu@gmail.com>
+
+       * makefile.w32-in ($(BLD)/w32select.$(O)): Update dependencies.
+
+2012-10-12  Eli Zaretskii  <eliz@gnu.org>
+
+       * makefile.w32-in ($(BLD)/fileio.$(O)): Add sys/file.h.
+
+       * fileio.c (check_existing): New function.
+       (make_temp_name, Ffile_exists_p, Ffile_writable_p): Call it
+       instead of calling 'stat', when what's needed is to check whether
+       a file exists.  This avoids expensive system calls on MS-Windows.
+       (Bug#12587)
+
+       * w32.c (init_environment): Call 'check_existing' instead of 'stat'.
+
+       * lread.c (openp) [WINDOWSNT]: Call 'access' instead of 'stat' to
+       determine whether a file exists and is not a directory.
+
+       * lisp.h (check_existing): Add prototype.
+
+2012-10-12  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsfont.m (nsfont_open): Remove font cache, it is not GC correct.
+
+2012-10-12  Glenn Morris  <rgm@gnu.org>
+
+       * buffer.c (Fset_buffer): Doc fix.  (Bug#12624)
+
+2012-10-11  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * buffer.c (Fkill_buffer): Null out the overlay list(s) as well.
+
+       * 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>
        * 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
+       (syms_of_nsfont): Remove initialization of Vfonts_in_cache.
 
 2012-10-09  Eli Zaretskii  <eliz@gnu.org>
 
        * w32select.h (HAVE_W32SELECT): Remove.
 
        * w32select.c, w32proc.c, w32menu.c, w32console.c, w32.c: Include
-       w32common.h instead of w32heap.h
+       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)
 
        * 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.
+       (w32_minor_version, w32_build_number, w32_subtype):
+       Remove duplicate definitions.
 
        * w32fns.c: Include w32common.h; include w32heap.h only in
        WINDOWSNT.
        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.  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
 
        * 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, 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
+       (x_set_icon_name, ns_set_name, ns_set_name_as_filename): Remove
        ns_in_resize check.
 
+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  Paul Eggert  <eggert@cs.ucla.edu>
 
        Improve sys_siglist detection.
        (initFrameFromEmacs:): tbar_height renamed tibar_height.
        (windowDidEnterFullScreen:): Toggle toolbar for fullscreen to fix
        error in drawing background.
-       (toggleFullScreen:): Remove comment. Rearrange calls.
+       (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.
        * 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
+       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
        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.
+       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.
 2012-09-19  Paul Eggert  <eggert@cs.ucla.edu>
 
        * w32inevt.c (w32_console_read_socket): Return -1 on failure, not 0.
-       Ignore 'expected'. See Eli Zaretskii in
+       Ignore 'expected'.  See Eli Zaretskii in
        <http://bugs.gnu.org/12471#8> (last line).
 
        * frame.c (read_integer): Remove.  All uses replaced by strtol/strtoul.
        (bytes_used_when_full, emacs_blocked_free, emacs_blocked_malloc)
        (emacs_blocked_realloc, reset_malloc_hooks, uninterrupt_malloc):
        [!SYSTEM_MALLOC && !SYNC_INPUT]:
-       Remove. All uses removed.
+       Remove.  All uses removed.
        (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): Use a different
        implementation, one that depends on whether the new macro
        XMALLOC_BLOCK_INPUT_CHECK is defined, not on whether SYNC_INPUT
        * alloc.c (discard_killed_buffers): New function.
        (mark_object): Use it for deleted windows and frames.
        (mark_object): If symbol's value is set up for a killed buffer
-       or deleted frame, restore it's global binding.
+       or deleted frame, restore its global binding.
        * data.c (swap_in_global_binding): Add GC notice.
        (swap_in_symval_forwarding): Use convenient set_blv_where.
        * window.c (wset_next_buffers, wset_prev_buffers): Move ...
 
        * nsterm.m (ns_set_vertical_scroll_bar, ns_redeem_scroll_bar)
        (EmacsWindow-accessibilityAttributeValue, EmacsScroller-initFrame:)
-       (EmacsScroller-dealloc):  Adjust to use WVAR.  (Bug#12114)
+       (EmacsScroller-dealloc): Adjust to use WVAR.  (Bug#12114)
        * nsfns.m (ns_set_name_as_filename): Likewise.
        * nsmenu.m (ns_update_menubar): Likewise.
        * nsselect.m (symbol_to_nsstring): Adjust to use SVAR.
        Fix block vector allocation code to allow VECTOR_BLOCK_SIZE
        values which aren't power of 2.
        * alloc.c (VECTOR_FREE_LIST_SIZE_MASK): New macro.
-       Verify it's value and the value of VECTOR_BLOCK_SIZE.  Adjust users
+       Verify its value and the value of VECTOR_BLOCK_SIZE.  Adjust users
        accordingly.
 
 2012-07-03  Stefan Monnier  <monnier@iro.umontreal.ca>
        bitfields where appropriate, remove unused fields.
        * window.h (struct window): Remove unused 'last_mark_x' and
        'last_mark_y' fields.  Rename 'mini_p' field to 'mini',
-       change it's type from Lisp_Object to bitfield.
+       change its type from Lisp_Object to bitfield.
        Change type of 'force_start', 'optional_new_start',
        'last_had_star', 'update_mode_line' and 'start_at_line_beg'
        fields from Lisp_Object to bitfield.  Adjust users accordingly.