]> code.delx.au - gnu-emacs/blobdiff - src/ChangeLog
Fixes: debbugs:13797
[gnu-emacs] / src / ChangeLog
index ea88277076504e47d9c3e8e63c3eed9fbe87cbbb..42a2fd0dcac23b394ee4b33eb58e4e564d9e48e7 100644 (file)
@@ -1,3 +1,251 @@
+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-18  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>
+
+       * w32proc.c (new_child): Remove the loop that attempted to salvage
+       slots of dead processes.
+       (new_child, delete_child, find_child_pid): Don't insist on
+       procinfo.hProcess be NULL for a process slot to be considered
+       inactive, or be non-NULL to be considered active.
+       (reader_thread): Don't set the FILE_AT_EOF flag of a file
+       descriptor if the corresponding child was deleted and its
+       char_avail handle is NULL.
+       (reap_subprocess): Don't reset the FILE_AT_EOF flag.  (Bug#13546)
+       (sys_select): Don't pass a NULL process handle to
+       WaitForMultipleObjects.  (Bug#13735)
+
+       * 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-15  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32proc.c (new_child): Free up to 2 slots of dead processes at a
+       time.  Improve diagnostics in DebPrint.
+       (reader_thread): If cp->char_avail is NULL, set the FILE_AT_EOF
+       flag, so that sys_select could have a chance of noticing that this
+       process is dead, and call a SIGCHLD handler for it.  Improve
+       diagnostics in DebPrint.
+       (reap_subprocess): Reset the FILE_AT_EOF flag set by
+       reader_thread.
+       (sys_select): Watch a process whose procinfo.hProcess is non-NULL
+       even if its char_avail is NULL.  Allows to reap subprocesses that
+       were forcibly deleted by delete-process.  (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-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Backport GCPRO fix from trunk (Bug#13650).
+       The bug was reported for AIX before today's changes.
+       I reproduced the problem on Fedora 17 x86-64 when setting
+       GC_MARK_STACK by hand, and I presume it occurs with default
+       configurations on HP-UX and Unixware.
+       Trunk fix on 2013-01-14 by Dmitry Antipov <dmantipov@yandex.ru>:
+       Fix compilation with GC_MARK_STACK == GC_USE_GCPROS_AS_BEFORE.
+       * eval.c (eval_sub): Protect `form' from being GCed before its
+       car and cdr becomes protected with the backtrace entry.
+
+       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.
+       * unexaix.c: Revert 2013-02-11 and 2013-02-12 changes to this
+       file.  They're almost surely OK but we're just before a release so
+       we should avoid changes unless they're clearly needed.  Instead,
+       make the following minor change:
+       (ADDR_CORRECT): New macro.
+
+2013-02-13  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-13  Glenn Morris  <rgm@gnu.org>
+
+       * keyboard.c (input-decode-map, key-translation-map): Doc fixes.
+
+2013-02-12  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.
+
+2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       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-11  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-05  Daniel Colascione  <dancol@dancol.org>
+
+       * emacs.c: Use execvp, not execv, when DAEMON_MUST_EXEC, so that
+       daemon mode works on cygw32 when Emacs is installed and not just
+       during development.
+
+2013-02-01  Eli Zaretskii  <eliz@gnu.org>
+
+       * callproc.c (Fcall_process): Make sure program name in PATH and
+       new_argv[0] is encoded, if needed.  Otherwise, un-encoded string
+       is passed to exec/spawnve, which fails unless the file-name
+       encoding is UTF-8.
+
+       * w32proc.c (sys_spawnve): Make sure escape_char is initialized,
+       even if w32-quote-process-args is nil.
+
+2013-01-27  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32.c (sys_open): Zero out the flags for the new file descriptor.
+       (sys_close): Zero out the flags for the file descriptor before
+       closing it.  (Bug#13546)
+
+2013-01-26  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32.c (parse_root, get_volume_info, readdir, read_unc_volume)
+       (logon_network_drive, stat_worker, symlink, chase_symlinks): Use
+       CharNextExA and CharPrevExA to iterate over file names encoded in
+       DBCS.  (Bug#13553)
+
+2013-01-25  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32.c (w32_get_long_filename, init_environment, readlink):
+       Support file names encoded in DBCS codepages.
+       (readlink): Use the current file-name-coding-system, not the ANSI
+       codepage, to decode and handle targets of symlinks.
+
+2013-01-23  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32.c (max_filename_mbslen): New function.
+       (normalize_filename, readdir): Use it to detect locales where ANSI
+       encoding of file names uses a double-byte character set (DBCS).
+       If a DBCS encoding is used, advance by characters using
+       CharNextExA, instead of incrementing a 'char *' pointer.  Use
+       _mbslwr instead of _strlwr.  (Bug#13515)
+
+2013-01-22  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32heap.c (allocate_heap) [!_WIN64]: Decrease the initial
+       request of memory reservation to 1.7GB.  (Bug#13065)
+
+2013-01-20  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * coding.c (detect_coding_iso_2022): Move back mis-reordered code
+       at check_extra_latin label.  (Bug#13505)
+
+2013-01-17  Glenn Morris  <rgm@gnu.org>
+
+       * fns.c (Frandom): Doc fix.
+
+2013-01-13  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsfont.m (LCD_SMOOTHING_MARGIN): New define.
+       (nsfont_draw): Remove disabling of LCD smoothing.
+       (ns_glyph_metrics): Add LCD_SMOOTHING_MARGIN to bearings to fix
+       Bug#11484 with LCD smoothing on.
+
+2013-01-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>  (tiny change)
+
+       * gtkutil.c (xg_initialize): Backport from trunk.
+       Add ifdef HAVE_FREETYPE around x_last_font_name (Bug#13403).
+
+2013-01-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Backport typo fix from trunk, for AIX (Bug#13408).
+       * eval.c (mark_backtrace) [BYTE_MARK_STACK]: Remove stray '*'.
+       This follows up on the 2012-09-29 patch that removed indirection
+       for the 'function' field.  Reported by Sergey Vinokurov in
+       <http://lists.gnu.org/archive/html/emacs-devel/2012-11/msg00263.html>.
+
+       Fix SIGDANGER handlers, for AIX (Bug#13408).
+       * sysdep.c.c (handle_danger_signal, deliver_danger_signal) [SIGDANGER]:
+       Move handlers here from emacs.c; they were out of place.
+
+2013-01-05  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (dump_glyph): Align glyph data better.  Use "pD" instead
+       of a non-portable "t" to print ptrdiff_t values.  Allow up to 9
+       digits for buffer positions, before misalignment starts.  Display
+       "0" for integer "object" field.
+       (dump_glyph_row): Adapt the header line to changes in dump_glyph.
+       Display the newline glyph more unambiguously.
+
+2013-01-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+       * nsterm.m (ns_draw_underwave):
+       * w32term.c (w32_draw_underwave):
+       * xterm.c (x_draw_underwave): Make underwave look more triangular
+       and also degrade gracefully for small fonts.  (Bug#13000)
+
+       * nsterm.m (ns_draw_text_decoration):
+       * w32term.c (x_draw_glyph_string):
+       * xterm.c (x_draw_glyph_string): Don't use previous underline
+       thickness and position if previous underline type is underwave.
+
 2012-12-31  Glenn Morris  <rgm@gnu.org>
 
        * keymap.c (Fkey_description): Doc fix.  (Bug#13323)