Revert introduction of isearch-filter-predicates.
[bpt/emacs.git] / src / ChangeLog
index 62529d8..35b5c1c 100644 (file)
@@ -1,3 +1,547 @@
+2013-08-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp.mk (lisp): Add nadvice.elc.
+
+2013-08-05  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       New macro to iterate over live buffers similar to frames.
+       * buffer.h (FOR_EACH_LIVE_BUFFER): New macro.
+       (Vbuffer_alist, Qpriority, Qbefore_string, Qafter_string):
+       Declare buffer-related variables here to offload lisp.h.
+       * buffer.c (Vbuffer_alist): Adjust comment.
+       (Fget_file_buffer, get_truename_buffer, Fother_buffer)
+       (other_buffer_safely):
+       * data.c (store_symval_forwarding):
+       * dispnew.c (Fframe_or_buffer_changed_p):
+       * fileio.c (Fdo_auto_save):
+       * filelock.c (unlock_all_files):
+       * minibuf.c (read_minibuf): Use FOR_EACH_LIVE_BUFFER.
+
+2013-08-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix some minor races in hosts lacking mkostemp (Bug#15015).
+       * callproc.c (create_temp_file):
+       * filelock.c (create_lock_file):
+       Assume mkostemp, since it's now provided by Gnulib.
+
+2013-08-04  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32.c (mkostemp): New function.
+       (mktemp): Remove, no longer used.  Most of the code reused in
+       mkostemp.  (Bug#15015)
+       (mktemp): Don't undef.
+
+2013-08-04  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * dispnew.c (glyph_matrix_count, glyph_pool_count):
+       Move under GLYPH_DEBUG and ENABLE_CHECKING.
+       (new_glyph_matrix, free_glyph_matrix, new_glyph_pool)
+       (free_glyph_pool, check_glyph_memory): Likewise for
+       all users.  Adjust comments where appropriate.
+
+2013-08-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * composite.h: Minor fixups.
+       (composition_registered_p): Rename from COMPOSITION_REGISTERD_P
+       to fix a misspelling, and change it to an inline function while
+       we're at it (it need not be a macro).  All uses changed.
+       (composition_method, composition_valid_p):
+       Rewrite to avoid assignments in if-conditions.
+
+2013-08-03  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Do not use global Lisp_Object in composition macros.
+       * composite.h (composition_temp): Remove declaration.
+       (COMPOSITION_METHOD, COMPOSITION_VALID_P): Replace with...
+       (composition_method, composition_valid_p): ...inline functions.
+       (compose_region): Remove the leftover.
+       * composite.c (composition_temp): Remove.
+       (run_composition_function, update_compositions)
+       (composition_compute_stop_pos, composition_adjust_point)
+       (Ffind_composition_internal):
+       * coding.c (handle_composition_annotation):
+       * xdisp.c (handle_composition_prop, check_point_in_composition):
+       Related users changed.
+
+2013-08-03  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Drop FRAME_PTR typedef.
+       * composite.c, font.c, font.h, fontset.c, fontset.h, frame.c, frame.h:
+       * ftfont.c, ftxfont.c, gtkutil.c, gtkutil.h, image.c, keyboard.c:
+       * menu.c, menu.h, msdos.c, nsfns.m, nsfont.m, nsmenu.m, nsterm.h:
+       * nsterm.m, scroll.c, term.c, w32fns.c, w32font.c, w32font.h:
+       * w32inevt.c, w32inevt.h, w32menu.c, w32notify.c, w32term.c, w32term.h:
+       * w32uniscribe.c, w32xfns.c, widget.c, window.c, xdisp.c, xfaces.c:
+       * xfns.c, xfont.c, xftfont.c, xmenu.c, xselect.c, xterm.c:
+       All related users changed.
+
+2013-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * eval.c (default_toplevel_binding): New function.
+       (Fdefvar): Use it.
+       (unbind_to, backtrace_eval_unrewind): Do a bit of CSE simplification.
+       (Fdefault_toplevel_value, Fset_default_toplevel_value): New subrs.
+       (syms_of_eval): Export them.
+       * data.c (Fdefault_value): Micro cleanup.
+       * term.c (init_tty): Use "false".
+
+2013-08-02  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Fix X GC leak in GTK and raw (no toolkit) X ports.
+       * xterm.c (x_free_frame_resources): If white and black relief
+       GCs are allocated, always free them here.
+       * xfns.c (x_make_gc): Omit redundant initialization.
+       * widget.c (create_frame_gcs): Remove the leftover.
+       (EmacsFrameDestroy): Do nothing because all GCs are now freed
+       in x_free_frame_resources.
+
+2013-08-02  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsterm.m (windowWillResize:toSize:): Only change title if
+       ! maximizing_resize && FULLSCREEN_NONE (Bug#15005).  strdup title before
+       modifying it.
+       (viewDidEndLiveResize): New method.
+
+       * nsterm.h (EmacsView): Add maximizing_resize, put it and old_title
+       inside NS_IMPL_COCOA.
+
+2013-08-02  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * insdel.c (adjust_after_replace, replace_range, del_range_2):
+       Do not check whether undo is enabled because record_insert and
+       record_delete does that themselves.
+
+2013-08-02  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * xterm.h (struct x_output) [HAVE_X_I18N]: Remove xic_base_fontname
+       member which is not really used any more.
+       (FRAME_XIC_BASE_FONTNAME): Remove.
+       * xfns.c (xic_free_fontset): Adjust user.
+       * xmenu.c (mouse_position_for_popup, x_activate_menubar)
+       (update_frame_menubar, set_frame_menubar, free_frame_menubar)
+       (create_and_show_popup_menu, xmenu_show, create_and_show_dialog)
+       (xdialog_show): Use eassert for debugging check.
+       * w32term.c (x_unfocus_frame): Remove unused dummy function.
+
+2013-08-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * fileio.c, fns.c (merge): Move extern decl from here ...
+       * lisp.h (merge): ... to here.
+
+2013-08-01  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Fix last font-related change.
+       * w32font.h (w32font_list_internal, w32font_match_internal):
+       Fix prototype.
+       * w32uniscribe.c (uniscribe_list, uniscribe_match):
+       (uniscribe_list_family): Adjust to match font API change.
+       MS-Windows breakage reported by Juanma Barranquero <lekktu@gmail.com>
+       at http://lists.gnu.org/archive/html/emacs-devel/2013-08/msg00006.html.
+
+2013-08-01  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * frame.h (FRAME_MOUSE_UPDATE):
+       * nsterm.m (ns_frame_up_to_date): Omit redundant check
+       whether hlinfo->mouse_face_mouse_frame is non-NULL.
+
+2013-08-01  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Avoid redundant Lisp_Object <-> struct frame conversions in font API.
+       * font.h (struct font_driver): Change list, match, and list_family
+       functions to accept struct frame * as first arg.
+       * font.c (font_score, font_compare, font_sort_entities): Remove
+       prototypes.
+       (font_sort_entities, font_list_entities, font_select_entity):
+       (font_find_for_lface, Flist_fonts, Ffont_family_list): Adjust to
+       match font API change.
+       * xfont.c (xfont_list, xfont_match, xfont_list_family):
+       * ftfont.c (ftfont_list, ftfont_match, ftfont_list_family):
+       * ftxfont.c (ftxfont_list, ftxfont_match):
+       * xftfont.c (xftfont_list, xftfont_match):
+       * nsfont.m (nsfont_list, nsfont_match, nsfont_list_family):
+       * w32font.c (w32font_list, w32font_match, w32font_list):
+       (w32font_list_internal, w32_font_match_internal): Likewise.
+       * xfaces.c (Fx_family_fonts): Adjust user.
+
+2013-08-01  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Do not use pure Xism x_wm_set_icon_position in non-X ports.
+       * frame.c (x_set_frame_parameters): Call to x_wm_set_icon_position
+       only if HAVE_X_WINDOWS is in use.
+       * frame.h (x_set_frame_parameters): Move under HAVE_X_WINDOWS.
+       * nsterm.m (x_wm_set_icon_position): Remove no-op.
+       * w32term.c (x_wm_set_icon_position): Likewise.
+       * w32fns.c (x_icon): Adjust user.
+
+2013-08-01  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * xterm.c (last_mouse_press_frame): Remove the
+       leftover which is not really used any more.
+       (handle_one_xevent, syms_of_xterm): Adjust users.
+       (x_flush): Call XFlush once per each X display, not frame.
+       This is better because this code always unconditionally skips
+       non-X frames in Vframe_list and issues the only XFlush if we
+       have more than one X frame on the same X display.
+       (any_help_event_p, x_draw_glyph_string_background, x_display_ok):
+       Use bool for booleans.
+       (x_draw_glyph_string_background, cvt_string_to_pixel):
+       (cvt_pixel_dtor): Drop unnecessary prototypes.
+       * xterm.h (x_display_ok): Adjust prototype.
+
+2013-07-31  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Drop unnecessary functions that deals with frame pixel size.
+       * frame.h, msdos.h, w32term.h, xterm.h (x_pixel_width)
+       (x_pixel_height): Drop prototypes.
+       * msdos.c, nsfns.m, w32fns.c, xfns.c (x_pixel_width)
+       (x_pixel_height): Drop implementations.
+       * frame.c (Fframe_pixel_height): Use FRAME_PIXEL_HEIGHT
+       which should be always valid for window frame.
+       (Frame_pixel_width): Likewise with FRAME_PIXEL_WIDTH.
+       * w32menu.c (Fx_popup_dialog):
+       * xmenu.c (Fx_popup_dialog): Likewise for both.
+
+2013-07-31  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * frame.c (Fmake_terminal_frame): Use store_in_alist to setup
+       frame parameters and call to Fmodify_frame_parameters just once.
+       (Fset_frame_height, Fset_frame_width): Mention nil frame in docstring.
+       (Fset_frame_size, Fset_frame_position): Use decode_live_frame
+       and mention nil frame in docstring.
+
+2013-07-31  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * frame.c (make_frame, x_set_frame_parameters): Use bool for boolean.
+       (x_figure_window_size): Likewise.  Adjust to return long.
+       (syms_of_frame): Do not DEFSYM Qterminal_live_p.
+       (toplevel): Move Qterminal_live_p to...
+       * terminal.c (toplevel): ...here, make it static, and...
+       (syms_of_terminal): ...DEFSYM here.
+       * frame.h (Qterminal_live_p): Remove declaration.
+       (make_frame, x_figure_window_size): Adjust prototype.
+       * nsfns.m (Fx_create_frame): Use long for window flags.
+
+2013-07-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix tempfile bug on platforms lacking mkostemp and mkstemp (Bug#14986).
+       * callproc.c (create_temp_file) [! (HAVE_MKOSTEMP || HAVE_MKSTEMP)]:
+       Do not assume that emacs_close (INT_MAX) is a no-op.
+
+2013-07-30  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * xfaces.c (make_face_cache): For struct face_cache, prefer
+       xmalloc to xzalloc and so avoid redundant call to memset.
+       (Finternal_set_lisp_face_attribute): Fix comment typo and style.
+
+2013-07-30  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * fringe.c (draw_window_fringes, update_window_fringes)
+       (compute_fringe_widths):
+       * w32term.c (x_draw_glyph_string):
+       * window.c (candidate_window_p, Frecenter):
+       * xfaces.c (realize_basic_faces, realize_default_face)
+       (Fbitmap_space_p, Finternal_set_lisp_face_attribute)
+       (x_update_menu_appearance, face_attr_equal_p, lface_equal_p):
+       * xfns.c (x_set_cursor_color, xic_free_xfontset):
+       * xmenu.c (Fx_menu_bar_open_internal):
+       * xselect.c (x_reply_selection_request, Fx_get_atom_name):
+       * xsettings.c (xft_settings_event):
+       * xterm.c (x_draw_glyph_string, x_had_errors_p):
+       Use bool for booleans.  Adjust style and comments where
+       appropriate.
+       * dispextern.h (draw_window_fringes, update_window_fringes)
+       (compute_fringe_widths):
+       * xterm.h (x_had_errors_p): Adjust prototype.
+
+2013-07-30  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * frame.c (Fmodify_frame_parameters): Always check 2nd arg with
+       CHECK_LIST.  Rewrite the loop to avoid useless local variable.
+
+2013-07-29  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * fns.c (toplevel): Remove comment before Fsafe_length because
+       it checks for QUIT.
+
+2013-07-28  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * frame.c (delete_frame): Avoid unnecessary 'this_f' test (Bug#14970).
+
+2013-07-28  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32fns.c (w32_wnd_proc) <WM_IME_STARTCOMPOSITION>: Make sure the
+       frame which got the message is still alive, before dereferencing
+       its pointer.  (Bug#14970)
+
+       * frame.c (delete_frame): Test "this" frame's minibuffer window to
+       be a live window, before using it as such.  (Bug#14970)
+
+2013-07-27  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32term.c (w32_read_socket) <WM_KILLFOCUS>: Call
+       w32_detect_focus_change instead of doing part of its job by hand.
+       This fixes the problem whereby FOCUS_OUT events were not sent to
+       the event queue.
+
+2013-07-26  Eli Zaretskii  <eliz@gnu.org>
+
+       * process.c (Fprocess_list): Doc fix.
+
+       * w32term.c (w32_read_socket) <WM_EMACS_PAINT>: Warn about frame
+       being re-exposed only if it didn't ask to become visible.
+       <WM_SIZE>: Under SIZE_RESTORED, only set the frame visible if it
+       was previously iconified.  (Bug#14841)
+       (x_iconify_frame): Mark the frame iconified.
+
+2013-07-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix minor problems found by static checking.
+       * eval.c (get_backtrace_frame, backtrace_eval_unrewind): Now static.
+       (backtrace_eval_unrewind): ';' -> '{}' to pacify GCC.
+
+2013-07-26  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * eval.c (set_specpdl_old_value): New function.
+       (unbind_to): Minor simplification.
+       (get_backtrace_frame): New function.
+       (Fbacktrace_frame): Use it.  Add `base' argument.
+       (backtrace_eval_unrewind, Fbacktrace_eval): New functions.
+       (syms_of_eval): Export backtrace-eval.
+       * xterm.c (x_focus_changed): Simplify.
+
+2013-07-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * fileio.c (Finsert_file_contents): Avoid double-close (Bug#14936).
+
+2013-07-24  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (redisplay_window): Instead of moving point out of
+       scroll margin, reject the force_start method, and try scrolling
+       instead.  (Bug#14780)
+
+2013-07-24  Ken Brown  <kbrown@cornell.edu>
+
+       * alloc.c (make_save_ptr): Define if HAVE_NTGUI is defined
+       (Bug#14944).
+
+2013-07-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * eval.c (Fprogn): Do not check that BODY is a proper list.
+       This undoes the previous change.  The check slows down the
+       interpreter, and is not needed to prevent a crash.  See
+       <http://lists.gnu.org/archive/html/emacs-devel/2013-07/msg00693.html>.
+
+2013-07-23  Glenn Morris  <rgm@gnu.org>
+
+       * Makefile.in ($(etc)/DOC, temacs$(EXEEXT)): Ensure etc/ exists.
+
+2013-07-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Port to GNU/Linux systems with tinfo but not ncurses.
+       * dispnew.c (init_display): Depend on USE_NCURSES, not GNU_LINUX,
+       to decide whether ncurses is being used.  Without this change,
+       GCC complains about tgetent not being declared, on a system
+       that has tinfo installed but ncurses not installed.
+
+       * eval.c (Fprogn): Check that BODY is a proper list.
+
+       Tune UNEVALLED functions by using XCAR instead of Fcar, etc.
+       * data.c (Fsetq_default):
+       * eval.c (Fif, Fcond, Fprog1, Fsetq, Fquote, Ffunction, Fdefvar)
+       (Fdefconst, FletX, Flet, Fwhile, Fcatch, Funwind_protect)
+       (Fcondition_case):
+       Tune by taking advantage of the fact that ARGS is always a list
+       when a function is declared to have UNEVALLED args.
+
+       * emacsgtkfixed.c: Port to GCC 4.6.
+       GCC 4.6 complains about -Wunused-local-typedefs, introduced in 4.7.
+
+2013-07-23  Juanma Barranquero  <lekktu@gmail.com>
+
+       * callproc.c (child_setup)[!WINDOWSNT]: Move exec_errno and pid
+       here to silence compiler warnings.
+
+2013-07-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * sysdep.c (frame) [__FreeBSD__]: #define to freebsd_frame
+       when including <sys/user.h>, to prevent Sparc/ARM machine/frame.h
+       from messing up Emacs's 'struct frame' (Bug#14923).
+
+2013-07-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * alloc.c (make_save_ptr_ptr): Define this function.
+       It was inadvertently omitted.  It's needed only if
+       HAVE_MENUS && ! (USE_X_TOOLKIT || USE_GTK).
+
+2013-07-21  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsterm.m (sendEvent:): Skip mouse moved if no dialog and no Emacs
+       frame have focus (Bug#14895).
+
+2013-07-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Avoid vfork-related deadlock more cleanly.
+       * callproc.c (child_setup): When the child's exec fails, output
+       the program name, as that's more useful.  Use O_NONBLOCK to avoid
+       deadlock.
+       * process.c (create_process_1): Remove; no longer needed.
+       (create_process): Remove timer hack; no longer needed, now that
+       the child avoids deadlock.
+
+2013-07-20  Glenn Morris  <rgm@gnu.org>
+
+       * image.c (Fimage_flush): Fix doc typo.
+
+2013-07-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix array bounds violation when pty allocation fails.
+       * process.c (PTY_NAME_SIZE): New constant.
+       (pty_name): Remove static variable; it's now auto.
+       (allocate_pty): Define even if !HAVE_PTYS; that's simpler.
+       Take pty_name as an arg rather than using a static variable.
+       All callers changed.
+       (create_process): Recover pty_flag from process, not from volatile local.
+       (create_pty): Stay inside array even when pty allocation fails.
+       (Fmake_serial_process): Omit unnecessary initializaiton of pty_flag.
+
+       * lread.c (Fload): Avoid initialization only when lint checking.
+       Mention that it's needed only for older GCCs.
+
+2013-07-20  Kenichi Handa  <handa@gnu.org>
+
+       * coding.c (CODING_ISO_FLAG_LEVEL_4): New macro.
+       (decode_coding_iso_2022): Check the single-shift area.  (Bug#8522)
+
+2013-07-20  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * lread.c (Fload): Avoid uninitialized warning.
+
+2013-07-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix some minor file descriptor leaks and related glitches.
+       * filelock.c (create_lock_file) [!O_CLOEXEC]: Use fcntl with FD_CLOEXEC.
+       (create_lock_file): Use write, not emacs_write.
+       * image.c (slurp_file, png_load_body):
+       * process.c (Fnetwork_interface_list, Fnetwork_interface_info)
+       (server_accept_connection):
+       Don't leak an fd on memory allocation failure.
+       * image.c (slurp_file): Add a cheap heuristic for growing files.
+       * xfaces.c (Fx_load_color_file): Block input around the fopen too,
+       as that's what the other routines do.  Maybe input need not be
+       blocked at all, but it's better to be consistent.
+       Avoid undefined behavior when strlen is zero.
+
+       * alloc.c (staticpro): Avoid buffer overrun on repeated calls.
+       (NSTATICS): Now a constant; doesn't need to be a macro.
+
+2013-07-19  Richard Stallman  <rms@gnu.org>
+
+       * coding.c (decode_coding_utf_8): Add simple loop for fast
+       processing of ASCII characters.
+
+2013-07-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * conf_post.h (RE_TRANSLATE_P) [emacs]: Remove obsolete optimization.
+
+2013-07-19  Eli Zaretskii  <eliz@gnu.org>
+
+       * keyboard.c (kbd_buffer_get_event): Use Display_Info instead of
+       unportable 'struct x_display_info'.
+       (DISPLAY_LIST_INFO): Delete macro: not needed, since Display_Info
+       is a portable type.
+
+2013-07-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * sysdep.c [GNU_LINUX]: Fix fd and memory leaks and similar issues.
+       (procfs_ttyname): Don't use uninitialized storage if emacs_fopen
+       or fscanf fails.
+       (system_process_attributes): Prefer plain char to unsigned char
+       when either will do.  Clean up properly if interrupted or if
+       memory allocations fail.  Don't assume sscanf succeeds.  Remove
+       no-longer-needed workaround to stop GCC from whining.  Read
+       command-line once, instead of multiple times.  Check read status a
+       bit more carefully.
+
+       Fix obscure porting bug with varargs functions.
+       The code assumed that int is treated like ptrdiff_t in a vararg
+       function, which is not a portable assumption.  There was a similar
+       -- though these days less likely -- porting problem with various
+       assumptions that pointers of different types all smell the same as
+       far as vararg functions is conserved.  To make this problem less
+       likely in the future, redo the API to use varargs functions.
+       * alloc.c (make_save_value): Remove this vararg function.
+       All uses changed to ...
+       (make_save_int_int_int, make_save_obj_obj_obj_obj)
+       (make_save_ptr_int, make_save_funcptr_ptr_obj, make_save_memory):
+       New functions.
+       (make_save_ptr): Rename from make_save_pointer, for consistency with
+       the above.  Define only on platforms that need it.  All uses changed.
+
+2013-07-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * keyboard.c: Try to fix typos in previous change.
+       (DISPLAY_LIST_INFO): New macro.
+       (kbd_buffer_get_event): Do not access members that are not present
+       in X11.  Revert inadvertent change of "!=" to "=".
+
+2013-07-18  Juanma Barranquero  <lekktu@gmail.com>
+
+       * keyboard.c (kbd_buffer_get_event):
+       * w32term.c (x_focus_changed): Port FOCUS_(IN|OUT)_EVENT changes to W32.
+       Followup to 2013-07-16T11:41:06Z!jan.h.d@swipnet.se.
+
+2013-07-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * filelock.c: Fix unlikely file descriptor leaks.
+       (get_boot_time_1): Rework to avoid using emacs_open.
+       This doesn't actually fix a leak, but is better anyway.
+       (read_lock_data): Use read, not emacs_read.
+
+       * doc.c: Fix minor memory and file descriptor leaks.
+       * doc.c (get_doc_string): Fix memory leak when doc file absent.
+       (get_doc_string, Fsnarf_documentation):
+       Fix file descriptor leak on error.
+
+       * term.c: Fix minor fdopen-related file descriptor leaks.
+       * term.c (Fresume_tty) [!MSDOS]: Close fd if fdopen (fd) fails.
+       (init_tty) [!DOS_NT]: Likewise.  Also close fd if isatty (fd) fails.
+
+       * charset.c: Fix file descriptor leaks and errno issues.
+       Include <errno.h>.
+       (load_charset_map_from_file): Don't leak file descriptor on error.
+       Use plain record_xmalloc since the allocation is larger than
+       MAX_ALLOCA; that's simpler here.  Simplify test for exhaustion
+       of entries.
+       * eval.c (record_unwind_protect_nothing):
+       * fileio.c (fclose_unwind):
+       New functions.
+       * lread.c (load_unwind): Remove.  All uses replaced by fclose_unwind.
+       The replacement doesn't block input, but that no longer seems
+       necessary.
+
+2013-07-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lread.c: Fix file descriptor leaks and errno issues.
+       (Fload): Close some races that leaked fds or streams when 'load'
+       was interrupted.
+       (Fload, openp): Report error number of last nontrivial failure to open.
+       ENOENT counts as trivial.
+       * eval.c (do_nothing, clear_unwind_protect, set_unwind_protect_ptr):
+       New functions.
+       * fileio.c (close_file_unwind): No need to test whether FD is nonnegative,
+       now that the function is always called with a nonnegative arg.
+       * lisp.h (set_unwind_protect_ptr, set_unwind_protect_int): Remove.
+       All uses replaced with ...
+       (clear_unwind_protect, set_unwind_protect_ptr): New decls.
+
+       A few more minor file errno-reporting bugs.
+       * callproc.c (Fcall_process):
+       * doc.c (Fsnarf_documentation):
+       * fileio.c (Frename_file, Fadd_name_to_file, Fmake_symbolic_link):
+       * process.c (set_socket_option):
+       Don't let a constructor trash errno.
+       * doc.c: Include <errno.h>.
+
 2013-07-16  Juanma Barranquero  <lekktu@gmail.com>
 
        * w32fns.c (unwind_create_tip_frame): Fix declaration.
        code a bit.  It makes no difference on POSIXish platforms but
        apparently it fixes a bug on w32.
 
-       Fix bug where insert-file-contents closes a file twice. (Bug#14839).
+       Fix bug where insert-file-contents closes a file twice (Bug#14839).
        * fileio.c (close_file_unwind): Don't close if FD is negative;
        this can happen when unwinding a zapped file descriptor.
        (Finsert_file_contents): Unwind-protect the fd before the point marker,
        (make_lispy_focus_in, make_lispy_focus_out): Declare and define.
        (kbd_buffer_get_event): For FOCUS_IN, make a focus_in event if no
        switch frame event is made.  Check ! NILP (event->arg) if X11 (moved
-       from xterm.c). Make focus_out event for FOCUS_OUT_EVENT if NS or X11
+       from xterm.c).  Make focus_out event for FOCUS_OUT_EVENT if NS or X11
        and there is a focused frame.
        (head_table): Add focus-in and focus-out.
        (keys_of_keyboard): Add focus-in and focus-out to Vspecial_event_map,
        initializers.
 
        Syntax cleanup, mostly replacing macros with functions.
-`      This removes the need for the syntax_temp hack.
+       This removes the need for the syntax_temp hack.
        * search.c: Include syntax.h after buffer.h, since syntax.h uses BVAR.
        * syntax.c (SYNTAX_INLINE): New macro.
        (SYNTAX_FLAGS_COMSTART_FIRST, SYNTAX_FLAGS_COMSTART_SECOND)
        (emacswrite_sig, emacs_perror): New functions.
        * xrdb.c (fatal): Don't invoke perror, since errno might be garbage.
 
-2013-07-08  Magnus Henoch <magnus.henoch@gmail.com> (tiny change).
+2013-07-08  Magnus Henoch  <magnus.henoch@gmail.com>  (tiny change)
 
        * image.c (imagemagick_load_image): Do not use MagickExportImagePixels
        on NS even if it is present.  Pixmap on NS is a void*.
 
        * floatfns.c (Flog10): Move to Lisp (marked obsolete there).
 
-2013-06-20  Rüdiger Sonderfeld <ruediger@c-plusplus.de>
+2013-06-20  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
 
        * floatfns.c (Flog) [HAVE_LOG2]: Use log2 if available and if the
        base is 2; this is more accurate.
        Now static.
        * lisp.h: Remove the abovementioned defns and decls.
 
-       Use functions, not macros, for XINT etc. (Bug#11935).
+       Use functions, not macros, for XINT etc (Bug#11935).
        In lisp.h, prefer functions to function-like macros, and
        constants to object-like macros, when either will do.  This:
         . simplifies use, as there's no more need to worry about