+2013-02-28 Eli Zaretskii <eliz@gnu.org>
+
+ * w32.c (sys_open): Don't reset the flags for FD in fd_info[].
+ (Bug#13546).
+
+2013-02-27 Eli Zaretskii <eliz@gnu.org>
+
+ * filelock.c (create_lock_file) [WINDOWSNT]: Use _sopen with
+ _SH_DENYRW flag, instead of emacs_open, to deny any other process
+ access to the lock file until it is written and closed.
+ (Bug#13807)
+
+2013-02-27 Paul Eggert <eggert@cs.ucla.edu>
+
+ * callint.c (Qcall_interactively):
+ * macros.c (Qexecute_kbd_macro):
+ Now static.
+
+2013-02-26 Bastien Guerry <bzg@gnu.org>
+
+ * window.c (Frecenter): Tiny docstring enhancement.
+
+2013-02-26 Paul Eggert <eggert@cs.ucla.edu>
+
+ Minor textprop integer cleanup.
+ * intervals.h, textprop.c (add_text_properties_from_list):
+ Return void, not int, since nobody uses the return value.
+ * textprop.c (validate_plist, add_properties, remove_properties)
+ (Fadd_text_properties):
+ Don't assume list length fits in int.
+ (interval_has_all_properties, interval_has_some_properties)
+ (interval_has_some_properties_list, add_properties, remove_properties)
+ (Fadd_text_properties, Fremove_text_properties)
+ (Fremove_list_of_text_properties, text_property_stickiness):
+ Use bool for booleans.
+ (Fadd_text_properties, Fremove_text_properties):
+ (Fremove_list_of_text_properties):
+ Reindent do-while as per GNU style.
+
+2013-02-25 Eli Zaretskii <eliz@gnu.org>
+
+ Implement CLASH_DETECTION for MS-Windows.
+
+ * filelock.c [WINDOWSNT]: Include w32.h.
+ (MAKE_LOCK_NAME): Don't use 'lock', it clashes with MS runtime
+ function of that name. Up-case the macro arguments.
+ (IS_LOCK_FILE): New macro.
+ (fill_in_lock_file_name): Use IS_LOCK_FILE instead of S_ISLNK.
+ (create_lock_file): New function, with body extracted from
+ lock_file_1.
+ [WINDOWSNT]: Implement lock files by writing a regular file with
+ the lock information as its contents.
+ (read_lock_data): New function, on Posix platforms just calls
+ emacs_readlinkat.
+ [WINDOWSNT]: Read the lock info from the file.
+ (current_lock_owner): Call read_lock_data instead of calling
+ emacs_readlinkat directly.
+ (lock_file) [WINDOWSNT]: Run the file name through
+ dostounix_filename.
+
+ * w32proc.c (sys_kill): Support the case of SIG = 0, in which case
+ just check if the process by that PID exists.
+
+ * w32.c (sys_open): Don't reset the _O_CREAT flag if _O_EXCL is
+ also present, as doing so will fail to error out if the file
+ already exists.
+
+ * makefile.w32-in ($(BLD)/filelock.$(O)): Depend on src/w32.h.
+
+ * textprop.c (Fadd_text_properties, Fremove_text_properties)
+ (Fremove_list_of_text_properties): Skip all of the intervals in
+ the region between START and END that already have resp. don't
+ have the requested properties, not just the first one. Add
+ assertions that the loop afterwards always modifies the
+ properties. (Bug#13743)
+
+2013-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * callint.c (Fcall_interactively): Use the right lexical environment
+ for `interactive' specs (bug#13811).
+ * eval.c (Feval): Accept a lexical environment.
+
+2013-02-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ Simplify data_start configuration (Bug#13783).
+ This is a followon simplification to the fix for Bug#13650.
+ * Makefile.in (LD_FIRSTFLAG, LIB_GCC, CRT_DIR, LIB_STANDARD)
+ (START_FILES): Remove. All uses removed.
+ (otherobj): Remove $(VMLIMIT_OBJ), as it's now first.
+ (ALLOBJS): Move here from autodeps.mk, and with VMLIMITS_OBJ first.
+ (buildobj.h): Use it.
+ ($(ALLOBJS)): Depend on globals.h.
+ (temacs$(EXEEXT)): Use $(ALLOBJS).
+ * autodeps.mk (ALLOBJS): Move to Makefile.in.
+ * deps.mk (vm-limit.o):
+ * makefile.w32-in ($(BLD)/vm-limit.$(O)):
+ Do not depend on mem-limits.h.
+ * emacs.c (__do_global_ctors, __do_global_ctors_aux)
+ (__do_global_dtors, __CTOR_LIST__, __DTOR_LIST__)
+ [__GNUC__ && !ORDINARY_LINK]: Remove.
+ * mem-limits.h, pre-crt0.c: Remove.
+ * unexaix.c, unexcoff.c: Don't include mem-limits.h.
+ * unexcoff.c (etext): New decl.
+ (make_hdr): Use DATA_START instead of start_of_data.
+ * vm-limit.c: Move most of mem-limits.h's contents here.
+ (data_start): New decl. It's OK if this is approximate,
+ so simplify-away some unnecessary exactness.
+ (POINTER): Remove; all uses removed.
+ (data_space_start): Now char *, to avoid casts.
+ (exceeds_lisp_ptr): New function, replacing the old
+ EXCEEDS_LISP_PTR macro. All uses changed.
+ (check_memory_limits): Simplify and remove casts.
+ (start_of_data) [!CANNOT_DUMP || !SYSTEM_MALLOC]: Remove.
+ (memory_warnings): Use data_start instead of start_of_data.
+
+2013-02-24 Andreas Schwab <schwab@linux-m68k.org>
+
+ * xdisp.c (set_message): Only check for debug-on-message if STRING
+ is a string. (Bug#13797)
+
+2013-02-24 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix regression introduced by July 10 filelock.c patch.
+ * filelock.c (fill_in_lock_file_name): Fix crash caused by the
+ 2012-07-10 patch to this file. Reported by Eli Zaretskii in
+ <http://lists.gnu.org/archive/html/emacs-devel/2013-02/msg00533.html>
+ and diagnosed by Andreas Schwab in
+ <http://lists.gnu.org/archive/html/emacs-devel/2013-02/msg00534.html>.
+
+2013-02-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ Assume C89 or better.
+ * ralloc.c (SIZE, POINTER, NIL):
+ * vm-limit.c (POINTER):
+ Remove, replacing all uses with C89 equivalents. These old
+ symbols were present only for porting to pre-C89 platforms.
+
+2013-02-22 Claudio Bley <claudio.bley@gmail.com>
+
+ * w32.c (emacs_gnutls_pull): Don't call 'select', and don't loop.
+ This avoids warning messages reported as part of Bug#13546.
+
+2013-02-21 Ken Brown <kbrown@cornell.edu>
+
+ * sheap.c (report_sheap_usage): Fix arguments of message1_no_log.
+
+2013-02-20 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * sheap.c (report_sheap_usage): Prefer message1_nolog.
+
+ * keyboard.c (Qcommand_execute): New var.
+ (command_loop_1, read_char): Use it.
+ (Fcommand_execute): Remove, replace by an Elisp implementation.
+ (syms_of_keyboard): Adjust accordingly.
+
+2013-02-19 Daniel Colascione <dancol@dancol.org>
+
+ * sheap.c (report_sheap_usage): Use message, not message1, so
+ that we don't try to create a buffer while we're in the middle
+ of dumping Emacs. Explain why.
+
+2013-02-20 Dmitry Antipov <dmantipov@yandex.ru>
+ * search.c (find_newline): Return byte position in bytepos.
+ Adjust comment.
+ (find_next_newline_no_quit, find_before_next_newline):
+ Add bytepos argument.
+ * lisp.h (find_newline, find_next_newline_no_quit)
+ (find_before_next_newline): Adjust prototypes.
+ * bidi.c (bidi_find_paragraph_start):
+ * editfns.c (Fconstrain_to_field, Fline_end_position):
+ * indent.c (compute_motion, vmotion):
+ * xdisp.c (back_to_previous_line_start, forward_to_next_line_start):
+ (get_visually_first_element, move_it_vertically_backward):
+ Adjust users and avoid calls to CHAR_TO_BYTE where appropriate.
+
+2013-02-19 Eli Zaretskii <eliz@gnu.org>
+
+ * w32proc.c (new_child): Avoid leaking handles if the subprocess
+ resources were not orderly released.
+
+2013-02-17 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (x_draw_vertical_border): For a window that is neither
+ the leftmost nor the rightmost, redraw both the left and the right
+ vertical borders. (Bug#13723)
+
+2013-02-17 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * xml.c (init_libxml2_functions):
+ * sound.c (sound_warning):
+ * sheap.c (report_sheap_usage):
+ * process.c (wait_reading_process_output):
+ * msdos.c (XMenuActivate):
+ * macros.c (Fstart_kbd_macro, Fend_kbd_macro):
+ * keyboard.c (top_level_1):
+ * editfns.c (Fmessage, Fmessage_box):
+ * callint.c (Fcall_interactively):
+ * fns.c (Fyes_or_no_p): Prefer `message1' over `message'.
+
+2013-02-17 Jan Djärv <jan.h.d@swipnet.se>
+
+ * xterm.c (syms_of_xterm): Move scroll-bar-adjust-thumb-portion ...
+ * frame.c (syms_of_frame): ... to here.
+
+2013-02-16 Eli Zaretskii <eliz@gnu.org>
+
+ * w32.c (sys_chown): Remove unused function.
+
+ * w32term.c <input_signal_count>: Declare 'volatile'
+ unconditionally. (Bug#9066)
+
+ * w32.c (set_errno): Reset h_errno and don't set it to any other
+ value. Set errno instead.
+ (check_errno): Reset h_errno.
+ (sys_socket, socket_to_fd, sys_bind, sys_connect)
+ (sys_gethostname, sys_getservbyname, sys_getpeername)
+ (sys_shutdown, sys_setsockopt, sys_listen, sys_getsockname)
+ (sys_accept, sys_recvfrom, sys_sendto, fcntl, sys_read): Don't set
+ h_errno.
+ (sys_gethostbyname): Set h_errno only errors detected.
+
+2013-02-15 Paul Eggert <eggert@cs.ucla.edu>
+
+ * process.c (h_errno) [!HAVE_H_ERRNO]: Remove unused decl.
+
+2013-02-15 Eli Zaretskii <eliz@gnu.org>
+
+ * keyboard.c (read_char): Fix calculation of auto-save time out
+ when auto-save-timeout is less than 4. (Bug#13720)
+
+ * w32proc.c (new_child): Free up to 2 slots of dead processes at a
+ time. Improve diagnostics in DebPrint. (Bug#13546)
+
+ * w32.c (sys_socket, sys_bind, sys_connect, sys_gethostname)
+ (sys_gethostbyname, sys_getservbyname, sys_getpeername)
+ (sys_shutdown, sys_setsockopt, sys_listen, sys_getsockname)
+ (sys_accept, sys_recvfrom, sys_sendto, fcntl): In case of failure,
+ make sure errno is set to an appropriate value. (Bug#13546)
+ (socket_to_fd): Add assertion against indexing fd_info[] with a
+ value that is out of bounds.
+ (sys_accept): If fd is negative, do not set up the child_process
+ structure for reading.
+
+2013-02-15 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * composite.c (fill_gstring_header): Remove useless prototype.
+ Break long line.
+ * lisp.h (message_dolog, compile_pattern): Adjust prototype.
+ * print.c (PRINTDECLARE, print_object):
+ * search.c (compile_pattern, fast_looking_at, search_buffer):
+ (simple_search, boyer_moore, Freplace_match):
+ * xdisp.c (c_string_pos, number_of_chars, message_dolog):
+ (get_overlay_arrow_glyph_row, display_mode_element):
+ (decode_mode_spec_coding, message3):
+ * xfaces.c (face_at_string_position): Use bool for booleans.
+ Adjust comments.
+
+2013-02-15 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix AIX port (Bug#13650).
+ * lisp.h (XPNTR) [!USE_LSB_TAG && DATA_SEG_BITS]:
+ Fix bug introduced in 2012-07-27 change. DATA_SEG_BITS, if set,
+ was #undeffed earlier, so it cannot be used as a macro here.
+ Use the constant and not the macro.
+
+2013-02-15 Eli Zaretskii <eliz@gnu.org>
+
+ * w32proc.c (new_child): If no vacant slots are found in
+ child_procs[], make another pass looking for slots whose process
+ has exited or died. (Bug#13546)
+
+ * w32.c (sys_pipe): When failing due to file descriptors above
+ MAXDESC, set errno to EMFILE.
+ (_sys_read_ahead): Update cp->status when failing to read serial
+ communications input, so that the status doesn't stay at
+ STATUS_READ_IN_PROGRESS. (Bug#13546)
+
+2013-02-14 Jan Djärv <jan.h.d@swipnet.se>
+
+ * gtkutil.c (tb_size_cb): New function.
+ (xg_create_tool_bar): Connect size-allocate to tb_size_cb (Bug#13512).
+
+2013-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * keyboard.c (active_maps): Fcurrent_active_maps expects a position, not
+ an event.
+
+2013-02-13 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * keyboard.c (syms_of_keyboard): Further tweaks of docstring.
+
+2013-02-13 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * font.c (font_range): Add pos_byte argument. Adjust comment
+ and break long line.
+ * font.h (font_range): Adjust prototype.
+ * composite.c (autocmp_chars): Pass byte position to font_range.
+ Break long line. Remove useless prototype and format comment.
+
+2013-02-13 Glenn Morris <rgm@gnu.org>
+
+ * keyboard.c (input-decode-map, key-translation-map): Doc fixes.
+
+2013-02-13 Paul Eggert <eggert@cs.ucla.edu>
+
+ Improve AIX port some more (Bug#13650).
+ With this, it should be as good as it was in 23.3, though it's
+ still pretty bad: the dumped emacs does not run. See Mark Fleishman in
+ http://lists.gnu.org/archive/html/help-gnu-emacs/2011-04/msg00287.html
+ * unexaix.c (start_of_text): Remove.
+ (_data, _text): Declare as char[], not int, as AIX manual suggests.
+ (bias, lnnoptr, text_scnptr, data_scnptr, load_scnptr)
+ (orig_load_scnptr, orig_data_scnptr):
+ Now off_t, not long, since they are file offsets.
+ (make_hdr): Use _data, not start_of_data ().
+ This is the key part of the fix.
+ (make_hdr, unrelocate_symbols): Use off_t for file offsets.
+ (unrelocate_symbols): Cast pointers to intptr_t, not to ulong.
+
+ * pre-crt0.c (data_start): Initialize to 1.
+ This ports to compilers that optimize the external declaration
+ 'int x = 0;' as if it were 'int x;' to shrink the executable.
+
+ Improve AIX port (Bug#13650).
+ This doesn't fix the bug, but it makes progress: Emacs builds now.
+ * unexaix.c: Include inttypes.h, stdarg.h.
+ (report_error, report_error_1): Mark as _Noreturn.
+ (report_error): Don't report the wrong errno.
+ (report_error_1): Now varargs. All callers changed.
+ (make_hdr): Use uintptr_t, not unsigned, when converting pointers
+ to unsigned. Don't use ADDR_CORRECT, as it no longer exists.
+ (write_ptr): Use %p to print address rather than %lx and a cast
+ to unsigned long. Grow buffer a bit, to be safer.
+
+2013-02-13 Eli Zaretskii <eliz@gnu.org>
+
+ * bidi.c (bidi_resolve_neutral): After finding the next
+ non-neutral character, accept NEUTRAL_ON type as well, because
+ directional control characters, such as LRE and RLE, have their
+ type converted to that by bidi_resolve_weak. This avoids aborts
+ when LRE/RLE follows a run of neutrals.
+ (bidi_move_to_visually_next): Assert that return value of
+ bidi_peek_at_next_level is non-negative. Negative values will
+ cause an infloop.
+
+2013-02-13 Paul Eggert <eggert@cs.ucla.edu>
+
+ Minor getenv-related fixes.
+ * callproc.c (Fcall_process_region) [!DOS_NT]:
+ Avoid unnecessary duplicate call to getenv.
+ * callproc.c (init_callproc):
+ * dispnew.c (init_display):
+ * sysdep.c (sys_subshell):
+ Omit unnecessary cast of getenv or egetenv.
+
+2013-02-13 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in ($(BLD)/filelock.$(O), $(BLD)/sysdep.$(O)):
+ Update dependencies.
+