]> code.delx.au - gnu-emacs/blobdiff - src/ChangeLog
Don't assume that ImageMagick uses a 16-bit quantum.
[gnu-emacs] / src / ChangeLog
index d0d133c49892b1193b46e981a940faac22e95403..2903939537408196156ca5ecbb17872da4cea3b1 100644 (file)
@@ -1,3 +1,484 @@
+2014-05-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Don't assume that ImageMagick uses a 16-bit quantum (Bug#17519).
+       * image.c (imagemagick_load_image): Port to hosts that do not use
+       a 16-bit quantum, i.e., QuantumRange does not equal 65535.
+
+2014-05-21  Leo Liu  <sdl.web@gmail.com>
+
+       * fns.c (Fnreverse): Accept strings for SEQ and update doc-string.
+
+2014-05-20  Michael Albinus  <michael.albinus@gmx.de>
+
+       * dbusbind.c (xd_signature): Revert last 2 patches.
+
+2014-05-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Allow any non-nil value to count as true in bool-vector.
+       Likewise for xd_signature in dbusbind.c.
+       This is more consistent with the usual practice in Emacs, which is
+       that any non-nil value counts as true.
+       * alloc.c (Fbool_vector): Don't require args to be t or nil.
+       * dbusbind.c (xd_signature): Likewise, for booleans.
+       * data.c, lisp.h (Qbooleanp):
+       * lisp.h (CHECK_BOOLEAN): Remove.  All uses removed.
+
+2014-05-19  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * lisp.h (CHECK_BOOLEAN): New function.
+       * alloc.c (Fbool_vector): New function.
+       (syms_of_alloc): Defsubr it.
+       * data.c (Qbooleanp): New symbol.
+       (syms_of_data): DEFSYM it.
+       * dbusbind.c (xd_signature): Use CHECK_BOOLEAN.
+
+       * font.c (font_matching_entity): Extract font-entity object
+       from the vector of matching entities (Bug#17486).
+
+2014-05-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Assume C99 or later (Bug#17487).
+       * bytecode.c (B__dummy__): Remove.
+       * conf_post.h (bool_bf) [!NS_IMPL_GNUSTEP]: Use bool.
+       (FLEXIBLE_ARRAY_MEMBER): Now always empty.
+       * dbusbind.c (XD_DEBUG_MESSAGE) [!DBUS_DEBUG]:
+       * regex.c (DEBUG_PRINT): Assume varargs macros.
+       * lisp.h (DEFUN_FUNCTION_INIT): Remove.  All uses now assume C99.
+
+2014-05-17  Fabrice Popineau  <fabrice.popineau@gmail.com>
+
+       * buffer.c (init_buffer) [USE_MMAP_FOR_BUFFERS]: Always map new
+       memory for every buffer that was dumped.
+
+2014-05-15  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * fns.c (Freverse): Allow vectors, bool vectors and strings.
+       (Fnreverse): Allow vectors and bool vectors.
+
+2014-05-14  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Minor cleanup for terminal setup.
+       * termhooks.h (create_terminal): Adjust prototype.
+       * terminal.c (create_terminal): Pass output method and RIF as args.
+       (init_initial_terminal):
+       * nsterm.m (ns_create_terminal):
+       * term.c (init_tty):
+       * w32term.c (w32_create_terminal):
+       * xterm.c (x_create_terminal): Adjust users.
+       Avoid redundant NULL initializers and add comments.
+
+2014-05-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * keyboard.c (Qdeactivate_mark): Now static.
+
+2014-05-13  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       If available, use Xfixes extension to do pointer blanking.
+       * Makefile.in (XFIXES_CFLAGS, XFIXES_LIBS): New var.
+       * xfns.c (x_set_mouse_color): Do not call make_invisible_cursor here.
+       (make_invisible_cursor): Move to...
+       * xterm.c (make_invisible_cursor): ...here.
+       (x_probe_xfixes_extension, xfixes_toggle_visible_pointer)
+       (x_toggle_visible_pointer, x_setup_pointer_blanking): New functions.
+       (x_term_init): Call to x_setup_pointer_blanking.
+       (XTtoggle_invisible_pointer): Use blanking specific to this display.
+       * xterm.h (struct x_display_info): New member toggle_visible_pointer.
+
+2014-05-12  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+       * xdisp.c (draw_glyphs): Set clipping to highlight boundaries.
+
+2014-05-12  Glenn Morris  <rgm@gnu.org>
+
+       * fileio.c (Ffile_executable_p): Doc tweak.
+
+2014-05-12  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * xsettings.c (init_gsettings): Use g_settings_schema_source_lookup
+       instead of deprecated g_settings_list_schemas if possible (Bug#17434).
+
+2014-05-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * minibuf.c (read_minibuf): Avoid C99ism in previous patch (Bug#17430).
+
+2014-05-08  Jarek Czekalski  <jarekczek@poczta.onet.pl>
+
+       Fix initialization of minibuffer history variable (Bug#17430).
+       * minibuf.c (read_minibuf): Initialize histval to Qnil if unbound.
+       Move the initialization up to prevent any "value void" message.
+
+2014-05-08  Samuel Bronson  <naesten@gmail.com>
+
+       * keyboard.c (Frecursive_edit): Ensure inc&dec of command_loop_level
+       are matched (bug#17413).
+
+2014-05-08  Jarek Czekalski  <jarekczek@poczta.onet.pl>
+
+       Stop tooltips pulling Emacs window to front (Bug#17408).
+       * w32fns.c (Fx_show_tip): Add SWP_NOOWNERZORDER flag to
+       SetWindowPos invocations.
+
+2014-05-08  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsselect.m (Fx_selection_exists_p): Just return Qnil if window system
+       not initialized (Bug#17398).
+
+2014-05-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * image.c: Include <png.h> before <setjmp.h> (Bug#17429).
+
+2014-05-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * image.c: Do not use libpng if HAVE_NS, as NS does its own thing.
+       [HAVE_NS]: Do not include png.h.
+       (x_query_frame_background_color): New function.
+       (png_load_body, imagemagick_load_image, svg_load_image): Use it.
+       (png_load_body): Coalesce duplicate code.
+
+2014-05-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Consult libpng-config more consistently (Bug#17339).
+       * Makefile.in (PNG_CFLAGS): New var.
+       (ALL_CFLAGS): Use it.
+       * image.c [HAVE_PNG]: Don't worry about <libpng/png.h>, as
+       CFLAGS now handles this.
+
+2014-05-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Handle systems without WCONTINUED consistently.  (Bug#15110, 17339)
+       * process.c (handle_child_signal): Remove WCONTINUED ifdef,
+       because WCONTINUED is always defined now.
+       * syswait.h (WCONTINUED): Move here from ../lib-src/emacsclient.c.
+
+2014-05-03  Eli Zaretskii  <eliz@gnu.org>
+
+       * buffer.c (overlay_strings): Fix the wording of the commentary.
+
+2014-05-01  Glenn Morris  <rgm@gnu.org>
+
+       * floatfns.c (Fisnan):
+       * profiler.c (Fprofiler_cpu_running_p): Doc fix (replace `iff').
+
+2014-05-01  Eli Zaretskii  <eliz@gnu.org>
+
+       * term.c (tty_menu_activate): A better initialization for cursor
+       coordinates.
+
+2014-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * intervals.c: Tighten assertions.
+       (create_root_interval): Make sure the interval is not empty.
+       (intervals_equal): Use booleans.
+       (rotate_right, rotate_left): Check LENGTHs rather than TOTAL_LENGTH.
+       (balance_an_interval): Sanity check LENGTHs and TOTAL_LENGTHs.
+       (balance_possible_root_interval): Simplify and use booleans.
+       (split_interval_right, split_interval_left): Check LENGTH, and remove
+       now redundant assertion.
+       (adjust_intervals_for_insertion): Remove now redundant assertions.
+       (delete_node, interval_deletion_adjustment)
+       (adjust_intervals_for_deletion, merge_interval_right)
+       (merge_interval_left): Check LENGTH rather than TOTAL_LENGTH.
+       (reproduce_interval): Make sure the interval is not empty.
+
+2014-04-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * term.c (tty_menu_activate): Don't assume row and col are initialized.
+       GCC 4.9.0 warned about this, and I couldn't easily prove to my own
+       satisfaction that they would always be initialized.
+
+2014-04-30  Eli Zaretskii  <eliz@gnu.org>
+
+       * term.c (tty_menu_display): Move the cursor to the active menu item.
+       (tty_menu_activate): Return the cursor to the active menu item
+       after displaying the menu and after displaying help-echo.  See
+       http://lists.gnu.org/archive/html/emacs-devel/2014-04/msg00402.html
+       for the details of why this is needed by screen readers and
+       Braille displays.
+
+2014-04-30  Glenn Morris  <rgm@gnu.org>
+
+       * process.c (handle_child_signal):
+       Handle systems without WCONTINUED.  (Bug#15110, 17339)
+
+2014-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * window.c (struct saved_window): Remove mark.
+       (Fset_window_configuration, save_window_save)
+       (compare_window_configurations): Don't touch marks any more.
+
+2014-04-28  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Use bits_word for gcmarkbits.
+       * alloc.c (struct cons_block, struct float_block): On 64-bit hosts,
+       bits_word is typically a tad more efficient for mark bits than
+       unsigned is, so use bits_word.  All uses changed.
+       * lisp.h (BITS_PER_INT): Remove; no longer used.
+
+       Avoid undefined behavior in signed left shift.
+       This ports to GCC 4.9.0 with -fsanitize=undefined.
+       * alloc.c (bool_vector_fill, SETMARKBIT, UNSETMARKBIT):
+       * data.c (Fash):
+       * regex.c (extract_number):
+       * lisp.h (make_number, XINT):
+       Do not shift a 1 bit left into a sign bit.
+       * alloc.c (struct cons_block, struct float_block): Use unsigned,
+       not int, for gcmarkbits.  All uses changed.
+
+2014-04-25  Eli Zaretskii  <eliz@gnu.org>
+
+       * search.c (Fnewline_cache_check): Don't try to count newlines
+       outside the buffer's restriction, as find_newline doesn't support that.
+
+2014-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * window.c (Fset_window_configuration): Deactivate the mark before
+       unsetting the mark.
+       (set_window_buffer): Ignore window_initialized.
+       (window_initialized): Remove.
+       * keyboard.c (Qdeactivate_mark): Not static any more.
+       * buffer.c (buffer_local_value): Rename from buffer_local_value_1.
+       Update all callers.
+
+2014-04-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * conf_post.h (ADDRESS_SANITIZER_WORKAROUND): Port to GCC 4.9.0
+       and to clang 3.4, which have fixed the bug.  This should let us
+       run a bit faster on these platforms when address sanitization is
+       in effect.
+
+2014-04-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Port to GCC 4.9.0 with --enable-gcc-warnings.
+       * image.c (struct my_jpeg_error_mgr) [lint]: Remove member fp.
+       All uses removed.
+       (jpeg_load_body) [lint]: Add a 'volatile' to pacify a buggy GCC in
+       a way that also works with GCC 4.9.0.
+
+       * search.c (Fnewline_cache_check): Remove unused locals.
+
+2014-04-22  Eli Zaretskii  <eliz@gnu.org>
+
+       * search.c (find_newline1): New subroutine.
+       (Fnewline_cache_check): New function.
+       (syms_of_search): Defsubr it.
+
+2014-04-22  Jarek Czekalski  <jarekczek@poczta.onet.pl>
+
+       Fix freezing with scroll bars of GTK3 Toolkit (bug#15801).
+       * keyboard.c (unblock_input): Add comment.
+       * xgselect.c (xg_select): Prevent Glib main loop recursion.
+
+2014-04-22  Daniel Colascione  <dancol@dancol.org>
+
+       * lread.c (readevalloop_eager_expand_eval): New function
+       that can recurse into toplevel forms.
+       (readevalloop): Call it.
+       * lisp.h: Declare Qprogn.
+       * callint.c (Qprogn): No longer static.
+
+2014-04-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * intervals.c (rotate_right, rotate_left): Fix up length computation.
+       Also change identifiers to match the comments, and add more assertions
+       (bug#16234).
+
+2014-04-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * emacs.c (close_output_streams): Don't clear and restore errno.
+
+2014-04-18  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * xterm.c (x_make_frame_visible): Prevent endless loop when frame
+       never becomes visible, i.e. using XMonad  (Bug#17237).
+
+2014-04-18  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (insert_left_trunc_glyphs): Ensure the left truncation
+       glyph is written to TEXT_AREA of the temporary glyph_row.  (Bug#17288)
+       (Fline_pixel_height): Don't assume that the current buffer and the
+       selected window's buffer are one and the same.  (Bug#17281)
+
+       * insdel.c (invalidate_buffer_caches): Invalidate the bidi
+       paragraph-start cache before the newline cache.  (Bug#17269)
+
+2014-04-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * term.c (tty_send_additional_strings): No need to fflush here,
+       as callers fflush.
+       (tty_set_terminal_modes): fflush after sending additional strings,
+       not before.
+
+2014-04-17  Daniel Colascione  <dancol@dancol.org>
+
+       * term.c (Qtty_mode_set_strings, Qtty_mode_reset_strings): New
+       symbols.
+       (tty_send_additional_strings): New function.
+       (tty_set_terminal_modes, tty_reset_terminal_modes): Use it.
+       (syms_of_term): Intern tty-mode-set-strings and
+       tty-mode-reset-strings.
+
+2014-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * window.c (save_window_save): Lookup window_point_insertion_type in
+       the right buffer (bug#15457).
+       (Qwindow_point_insertion_type): New var.
+       (syms_of_window): Initialize it.
+
+2014-04-16  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix the MSDOS build.
+       * unexcoff.c [MSDOS]: Include libc/atexit.h.
+       (copy_text_and_data): Zero out the atexit chain pointer before
+       dumping Emacs.
+
+       * termhooks.h (encode_terminal_code): Update prototype.
+
+       * term.c (encode_terminal_code) [DOS_NT]: Make it externally
+       visible for all DOS_NT ports, not just WINDOWSNT.
+       (syms_of_term) [!MSDOS]: Don't define 'tty-menu-*' symbols on MSDOS.
+
+       * sysdep.c (emacs_sigaction_init, init_signals): Don't use SIGCHLD
+       unless it is defined.
+       (emacs_pipe) [MSDOS]: Redirect to 'pipe'.
+
+       * process.c (close_on_exec, accept4, process_socket): Move into
+       the "ifdef subprocesses" part.
+       (catch_child_signal): Condition by "ifdef subprocesses".
+       (syms_of_process) <Qinternal_default_process_sentinel>
+       <Qinternal_default_process_filter>: Condition by "ifdef subprocesses".
+
+       * msdos.h: Add prototypes for new functions.
+       (EINPROGRESS): Define.
+       (O_CLOEXEC): Define to zero.
+
+       * msdos.c (check_window_system): Remove unnecessary an
+       incompatible duplicate function.
+       (sys_opendir, readlinkat, faccessat, fstatat, unsetenv):
+       New functions in support of new functionality.
+
+       * menu.c (single_menu_item): Add visual indication  of submenu
+       also for menus on MSDOS frames.
+       (Fx_popup_menu) [!MSDOS]: Do not call tty_menu_show on MSDOS.
+
+       * lisp.h (CHECK_PROCESS) [!subprocesses]: Do not define
+       when async subprocesses aren't supported.
+
+       * font.h (FONT_WIDTH) [MSDOS]: MSDOS-specific definition.
+
+       * emacs.c (close_output_streams): Zero out errno before calling
+       close_stream.
+
+       * dired.c [MSDOS]: Include msdos.h.
+
+       * conf_post.h (opendir) [MSDOS]: Redirect to sys_opendir.
+       (DATA_START) [MSDOS]: Define.
+       (SYSTEM_PURESIZE_EXTRA) [MSDOS]: Enlarge by 25K.
+
+       * callproc.c (block_child_signal, unblock_child_signal) [MSDOS]:
+       Ifdef away for MSDOS.
+       (record_kill_process) [MSDOS]: Ifdef away the entire body for MSDOS.
+       (call_process_cleanup) [MSDOS]: Ifdef away portions not relevant
+       for MSDOS.
+       (call_process) [MSDOS]: Fix call sequence of dostounix_filename.
+       Use temporary file template that is compatible with mkostemp.
+       Move vfork-related portions under #ifndef MSDOS.
+       (syms_of_callproc): Unify templates of MSDOS and WINDOWSNT.
+
+2014-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * buffer.c (Foverlays_at): Add argument `sorted'.
+
+2014-04-16  Eli Zaretskii  <eliz@gnu.org>
+
+       * insdel.c (invalidate_buffer_caches): When deleting or replacing
+       text, invalidate the bidi_paragraph_cache upto and including the
+       preceding newline.
+
+2014-04-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Port to IRIX 6.5 (Bug#9684).
+       * conf_post.h (INET6) [IRIX6_5]: Define.
+       (HAVE_GETADDRINFO) [IRIX6_5]: Undef.
+       * data.c (BITS_PER_ULL): Don't assume ULLONG_MAX is defined.
+
+2014-04-16  Eli Zaretskii  <eliz@gnu.org>
+
+       * keyboard.c (Fopen_dribble_file): Encode the dribble file-name
+       before passing it to system APIs.
+
+2014-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * bytecode.c (exec_byte_code): Rework the volatiles.  Most importantly,
+       make sure stack.byte_string_start is not de-adjusted by pushhandler.
+
+2014-04-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * keyboard.c (Fopen_dribble_file): Avoid some races.  (Bug#17187)
+
+2014-04-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Remove DATA_SEG_BITS.
+       The DATA_SEG_BITS hack was needed for older 32 bit platforms.
+       As a result of this change, Emacs won't work on IRIX 6.5 with IRIX
+       cc, but that platform is so old that SGI itself stopped supporting
+       it in December 2013.  If you still need Emacs on IRIX, please
+       either compile with GCC and port the undumping code, or run
+       './configure --with-wide-int'.
+       * alloc.c (gdb_make_enums_visible): Update to match lisp.h.
+       * lisp.h (GCTYPEBITS): Move definition up, and switch to the
+       DEFINE_GDB_SYMBOL_START way to define it.
+       (NONPOINTER_BITS): New macro.
+       (EMACS_INT): Use it.
+       [!USE_LSB_TAG && !WIDE_EMACS_INT]: Fail, and suggest reporting
+       the problem and/or configuring --with-wide-int.
+       (USE_LSB_TAG): Simplify, based on above changes.
+       (gdb_DATA_SEG_BITS): Remove.  All uses removed.
+       * vm-limit.c (exceeds_lisp_ptr): Remove.  All uses removed.
+
+2014-04-12  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (move_it_by_lines): If a large portion of buffer text is
+       covered by a display string that ends in a newline, and that cases
+       going back by DVPOS lines to hit the search limit, lift the limit
+       and go back until DVPOS is reached.  (Bug#17244)
+
+       * indent.c (Fvertical_motion): Handle correctly the case when the
+       display string is preceded by an empty line.
+
+       * w32.c (sys_umask) <WRITE_USER>: Remove redundant constant, and
+       use S_IWRITE instead.
+
+2014-04-11  Glenn Morris  <rgm@gnu.org>
+
+       * keyboard.c (Fopen_dribble_file): Make file private.  (Bug#17187)
+
+2014-04-11  Ken Brown  <kbrown@cornell.edu>
+
+       * Makefile.in (EMACS_MANIFEST): Revert last change.
+
+2014-04-10  Daniel Colascione  <dancol@dancol.org>
+
+       * puresize.h (BASE_PURESIZE): Increase.
+
+2014-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * keyboard.c (syms_of_keyboard): Make deactivate-mark buffer-local.
+
+       * insdel.c (prepare_to_modify_buffer_1): Cancel lock-file checks and
+       region handling (and don't call signal_before_change) if
+       inhibit_modification_hooks is set.
+       (signal_before_change): Don't check inhibit_modification_hooks any more.
+
+2014-04-08  Daniel Colascione  <dancol@dancol.org>
+
+       * alloc.c (sweep_symbols, mark_object): Assert that symbol
+       function cells contain valid lisp objects.  (Modified version of
+       patch from Dmitry).
+
+       * alloc.c (detect_suspicious_free): Split actual stack capturing
+       out into new function for easier breakpoint setting.
+       (note_suspicious_free): New function.
+
 2014-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * lisp.h (struct Lisp_Symbol): New bitfield `pinned'.
        (Fgarbage_collect): Use it.
        (gc_sweep): Remove hack made unnecessary.
 
-2014-04-05  Glenn Morris  <rgm@gnu.org>
+2014-04-07  Glenn Morris  <rgm@gnu.org>
 
        * keyboard.c (Fopen_dribble_file): Doc tweak.
 
-2014-04-04  Jan Djärv  <jan.h.d@swipnet.se>
-
-       Backport from trunk.
-       * nsterm.m (updateFrameSize:): If waiting for the tool bar and tool
-       bar is zero height, just return (Bug#16976).
-       (initFrameFromEmacs:): Initialize wait_for_tool_bar.
-       * nsterm.h (EmacsView): Add wait_for_tool_bar.
-       * nsmenu.m (update_frame_tool_bar): Return early if view or toolbar
-       is nil.  If waiting for toolbar to complete, force a redraw.
-       (free_frame_tool_bar): Set wait_for_tool_bar = NO (Bug#16976).
-
-2014-04-03  Ken Brown  <kbrown@cornell.edu>
+2014-04-07  Ken Brown  <kbrown@cornell.edu>
 
        * Makefile.in (EMACS_MANIFEST): Update comment.  (Bug#17176)
 
        (adjust_after_replace):
        (replace_range): Pass value for new record_markers arg to
        delete_record.
-       * undo.c (record_marker_adjustment): Renamed to
+       * undo.c (record_marker_adjustment): Rename to
        record_marker_adjustments and made static.
        (record_delete): Check record_markers arg and call
        record_marker_adjustments.