]> code.delx.au - gnu-emacs/blobdiff - src/ChangeLog
Merge from emacs-24; up to 2012-12-06T01:39:03Z!monnier@iro.umontreal.ca
[gnu-emacs] / src / ChangeLog
index 54dcfca6fd528a480df35d26d67cd0560dfaee15..d967bebff142eac254879f3e4a0682338c6f7cb3 100644 (file)
@@ -1,3 +1,349 @@
+2012-12-31  Glenn Morris  <rgm@gnu.org>
+
+       * keymap.c (Fkey_description): Doc fix.  (Bug#13323)
+
+2013-01-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Simplify via eabs.
+       * dired.c (file_name_completion):
+       * doc.c (get_doc_string):
+       * floatfns.c (round2):
+       * font.c (font_score, font_delete_unmatched):
+       * fringe.c (compute_fringe_widths):
+       * lread.c (read_list):
+       * minibuf.c (Ftry_completion):
+       * term.c (tty_ins_del_lines):
+       * xterm.c (x_draw_image_foreground, x_draw_image_foreground_1):
+       Use eabs (x) rather than open-coding it as (x < 0 ? -x : x).
+
+2012-12-31  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32.c (unsetenv): Set up the string passed to _putenv
+       correctly.  See
+       http://lists.gnu.org/archive/html/emacs-devel/2012-12/msg00863.html
+       for the bug this caused.
+
+2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * coding.c (Qmac): Now static.
+
+2012-12-30  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * gtkutil.c (TOOLBAR_TOP_WIDGET): New macro.
+       (xg_pack_tool_bar): Use TOOLBAR_TOP_WIDGET, condition out use of
+       handlebox_widget.  Set toolbar_in_hbox to false/true, set
+       toolbar_is_packed to true.
+       (xg_update_tool_bar_sizes): Use widget returned by TOOLBAR_TOP_WIDGET.
+       (update_frame_tool_bar): Check toolbar_is_packed for packing.
+       Show all on TOOLBAR_TOP_WIDGET.
+       (free_frame_tool_bar): Check toolbar_is_packed.  Use widget returned
+       by TOOLBAR_TOP_WIDGET.
+       (xg_change_toolbar_position): Use widget returned by TOOLBAR_TOP_WIDGET.
+       Check toolbar_is_packed.
+       (xg_have_tear_offs, tearoff_remove, tearoff_activate): Condition on
+       HAVE_GTK_TEAROFF_MENU_ITEM_NEW.
+       (xg_have_tear_offs): When ! HAVE_GTK_TEAROFF_MENU_ITEM_NEW, return
+       false.
+       (create_menus): Create tearoff only if HAVE_GTK_TEAROFF_MENU_ITEM_NEW.
+       (xg_update_menubar): Update title only if
+       HAVE_GTK_TEAROFF_MENU_ITEM_NEW.
+       (xg_update_submenu): Skip tearoff only if
+       HAVE_GTK_TEAROFF_MENU_ITEM_NEW.
+       (xg_initialize): Initialize xg_detached_menus only if
+       HAVE_GTK_TEAROFF_MENU_ITEM_NEW.
+
+       * xterm.h (struct x_output): Surround handlebox_widget with
+       #ifdef HAVE_GTK_HANDLE_BOX_NEW.  toolbar_is_packed is new,
+       toolbar_in_hbox is bool.
+
+2012-12-30  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * src/Makefile.in (TEMACS_LDFLAGS2): Remove.
+       (LIBS_GNUSTEP): Define.
+       (LIBES): Add $(LIBS_GNUSTEP).
+       (temacs$(EXEEXT)): Use $(LDFLAGS) instead of $(TEMACS_LDFLAGS2).
+
+2012-12-30  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (set_cursor_from_row): Don't confuse a truncation or
+       continuation glyph on a TTY with an indication of an empty line.
+       (Bug#13277)
+
+2012-12-29  Eli Zaretskii  <eliz@gnu.org>
+
+       * fileio.c (Fset_file_selinux_context, Fset_file_acl): Return t if
+       file's SELinux context or ACLs successfully set, nil otherwise.
+       (Bug#13298)
+       (Fcopy_file) [WINDOWSNT]: Improve diagnostics when CopyFile fails.
+
+       * w32proc.c (reader_thread): Avoid passing NULL handles to
+       SetEvent and WaitForSingleObject.
+
+2012-12-28  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Port EXTERNALLY_VISIBLE to Clang 3.2.
+       * conf_post.h (__has_attribute): New macro.
+       (EXTERNALLY_VISIBLE): Use it.  This ports to Clang 3.2.
+
+2012-12-27  Glenn Morris  <rgm@gnu.org>
+
+       * cygw32.c (Fcygwin_convert_file_name_to_windows)
+       (Fcygwin_convert_file_name_from_windows): Doc fixes.
+
+2012-12-27  Eli Zaretskii  <eliz@gnu.org>
+
+       * fileio.c (file_name_as_directory, directory_file_name): Accept
+       an additional argument MULTIBYTE to indicate whether the input C
+       came from a multibyte or a unibyte Lisp string; all callers
+       adjusted.  Don't assume the input string is always multibyte.
+       (Bug#13262)
+       (Ffile_name_directory) [DOS_NT]: Handle unibyte strings correctly:
+       don't ENCODE_FILE them, and return a unibyte string if the input
+       was unibyte.
+       (Fexpand_file_name): Don't mix unibyte with multibyte strings, and
+       don't assume the input strings will always be multibyte.  If the
+       input strings are multibyte, decode strings obtained from C
+       library functions.
+
+2012-12-26  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * lisp.h (toplevel): Add two notices to the comment about
+       defining a new Lisp data type.
+       * print.c (print_object): If Lisp_Save_Value object's pointer
+       is the address of a memory area containing Lisp_Objects, try
+       to print them.
+       * alloc.c (valid_lisp_object_p): Adjust comment.
+
+2012-12-26  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * keyboard.c (record_asynch_buffer_change): Initialize an event
+       only if it's really needed.
+       * frame.h (enum output_method): Remove output_mac member since
+       it's a leftover from the deleted code.
+       * frame.c (Fframep): Adjust user here ...
+       * terminal.c (Fterminal_live_p): ... and here.
+       * coding.c (Qmac): Now here because it's only used to denote
+       end-of-line encoding type.
+       (syms_of_coding): DEFSYM it.
+       * frame.h (Qmac): Remove duplicated declaration.
+
+2012-12-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * window.c (select_window_1): Now static, since it's used only here.
+
+2012-12-25  Eli Zaretskii  <eliz@gnu.org>
+
+       * window.c (window_body_cols): Subtract display margins from the
+       window body width on TTYs as well.  See
+       http://lists.gnu.org/archive/html/help-gnu-emacs/2012-12/msg00317.html
+       for the original report.
+
+2012-12-25  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * xdisp.c (redisplay_window): Remove inner local variable
+       because the outer shadowed one has the same meaning.
+       * xterm.h (struct x_output): Remove toolbar_detached member since it's
+       set but never used.
+       * gtkutil.c (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
+       (xg_create_tool_bar): Adjust users.
+
+2012-12-24  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * buffer.h (BUF_COMPACT): New macro to follow the common style.
+       * buffer.c (Fget_buffer_create): Use it to set compact field of
+       struct buffer_text to avoid accessing an uninitialized value
+       when compact_buffer is called for the first time.
+       (compact_buffer): Use convenient BUF_COMPACT and BUF_MODIFF.
+       (Fset_buffer_modified_p): Use buffer_window_count to check
+       whether the buffer is displayed in some window.
+       * xdisp.c (message_dolog): Likewise.
+
+2012-12-23  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32.c (acl_set_file): If setting the file security descriptor
+       fails, and the new DACL is identical to the existing one, silently
+       return success.  This fixes problems for users backing up their
+       own files without having the necessary privileges for setting
+       security descriptors.
+
+       * w32proc.c (reader_thread): Do not index fd_info[] with negative
+       values.
+       (reader_thread): Exit when cp->status becomes STATUS_READ_ERROR
+       after WaitForSingleObject returns normally.  This expedites reader
+       thread shutdown when delete_child triggers it.
+       (reap_subprocess): More accurate commentary for why we call
+       delete_child only when cp->fd is negative.
+
+       * w32.c (sys_close): Do not call delete_child on a subprocess
+       whose handle is not yet closed.  Instead, set its file descriptor
+       to a negative value, so that reap_subprocess will call
+       delete_child on that subprocess when its SIGCHLD arrives.  This
+       avoids closing handles used for communications between sys_select
+       and reader_thread, which doesn't give sys_select a chance to
+       notice that the process exited and invoke the SIGCHLD handler for
+       it.
+
+2012-12-23  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsfns.m (Fns_do_applescript): Run event loop until script has
+       been executed (Bug#12969).
+       (ns_run_ascript): Chech as_script for nil, set to nil after
+       executing script.
+
+2012-12-22  Martin Rudalics  <rudalics@gmx.at>
+
+       * window.c (Fselect_window): Reword doc-string (Bug#13248).
+
+2012-12-22  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32term.c (w32fullscreen_hook): New function.
+       (w32_create_terminal): Plug it into the terminal's fullscreen_hook.
+
+2012-12-21  Eli Zaretskii  <eliz@gnu.org>
+
+       * fileio.c (Finsert_file_contents): Doc fix.
+
+       * w32proc.c (new_child, delete_child, find_child_pid): For a
+       subprocess, consider its slot being in use as long as its process
+       handle (procinfo.hProcess) is not NULL.  This avoids reusing the
+       slot when a new process is started immediately after killing
+       another one, without waiting enough time for the first process to
+       be reaped and resources allocated for it be orderly freed.
+       (Bug#13086)
+       Suggested by Fabrice Popineau <fabrice.popineau@supelec.fr>.
+
+2012-12-21  Chong Yidong  <cyd@gnu.org>
+
+       * buffer.c (Fset_buffer_major_mode): Doc fix (Bug#13231).
+
+       * fns.c (Fcompare_strings): Doc fix (Bug#13081).
+
+2012-12-21  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32.c (get_name_and_id): Always pass NULL as the first argument
+       of lookup_account_sid.  Avoids crashes with UNC file names that
+       refer to DFS domains, not to specific machine names.  (Bug#12621)
+       Remove now unused argument FNAME; all callers changed.
+       (get_file_owner_and_group): Remove now unused argument FNAME; all
+       callers changed.
+
+2012-12-21  Chong Yidong  <cyd@gnu.org>
+
+       * editfns.c (Finsert_char): Since read-char-by-name now signals an
+       error for invalid chars, don't check for a nil return value.
+
+2012-12-20  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Avoid calls to CHAR_TO_BYTE if byte position is known.
+       * editfns.c (make_buffer_string_both): Use move_gap_both.
+       (Fbuffer_string): Use make_buffer_string_both.
+       * marker.c (buf_charpos_to_bytepos): Convert to eassert.
+       Adjust comment.
+       (buf_bytepos_to_charpos): Likewise.
+       (charpos_to_bytepos): Remove.
+       * fileio.c (Finsert_file_contents): Use move_gap_both.
+       * search.c (Freplace_match): Likewise.
+       * process.c (process_send_region): Likewise.  Use convenient
+       names for byte positions.
+       * lisp.h (charpos_to_bytepos): Remove prototype.
+       * indent.c (scan_for_column): Use CHAR_TO_BYTE.
+       * insdel.c (move_gap): Likewise.
+
+2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * xdisp.c (redisplay_internal): Remove now-unused local.
+
+2012-12-20  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * xdisp.c (select_frame_for_redisplay, ensure_selected_frame): Remove.
+       (redisplay_internal): Don't bother selecting the frame to get the
+       proper value of frame-local variables.
+
+2012-12-20  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * textprop.c (set_text_properties_1): Do not allow NULL interval.
+       Rename 4th argument since it may be buffer or string.  Adjust comment.
+       * intervals.c (graft_intervals_info_buffer): Find an interval here.
+
+2012-12-19  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * coding.c (Fdetect_coding_region): Do not check start and end with
+       CHECK_NUMBER_COERCE_MARKER since validate_region does that itself.
+       (code_convert_region): Likewise.
+
+2012-12-18  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32.c (acl_get_file, acl_set_file): Run the file name through
+       map_w32_filename, and resolve any symlinks in the file name, like
+       Posix platforms do.
+       (acl_set_file): Call revert_to_self, if any privileges were
+       enabled.
+
+2012-12-17  Juanma Barranquero  <lekktu@gmail.com>
+
+       * makefile.w32-in ($(BLD)/editfns.$(O), $(BLD)/fileio.$(O))
+       ($(BLD)/w32.$(O)): Update dependencies.
+
+2012-12-17  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * xdisp.c (select_frame_for_redisplay): Use select_window_1 to
+       propagate redisplay's scrolling (if any) to the right window.
+       (redisplay_internal): Use ensure_selected_frame.
+       (display_mode_lines): Complete last fix.
+       * window.c (select_window_1): New func, extracted from select_window.
+       (select_window): Use it.
+       * window.h (select_window_1): Declare.
+
+2012-12-17  Eli Zaretskii  <eliz@gnu.org>
+
+       Emulate Posix ACL APIs on MS-Windows.
+       * w32.c: Include sddl.h and sys/acl.h.
+       (SDDL_REVISION_1): Define if not already defined.
+       (g_b_init_get_security_descriptor_dacl)
+       (g_b_init_convert_sd_to_sddl, g_b_init_convert_sddl_to_sd)
+       (g_b_init_is_valid_security_descriptor)
+       (g_b_init_set_file_security): New static flags.
+       (globals_of_w32): Initialize them to zero.
+       (SetFileSecurity_Name): New string constant.
+       (SetFileSecurity_Proc, GetSecurityDescriptorDacl_Proc)
+       (ConvertStringSecurityDescriptorToSecurityDescriptor_Proc)
+       (ConvertSecurityDescriptorToStringSecurityDescriptor_Proc)
+       (IsValidSecurityDescriptor_Proc): New typedefs.
+       (get_file_security, get_security_descriptor_owner)
+       (get_security_descriptor_group): Set errno to ENOTSUP.
+       (set_file_security, get_security_descriptor_dacl)
+       (is_valid_security_descriptor, convert_sd_to_sddl)
+       (convert_sddl_to_sd, acl_valid, acl_to_text, acl_from_text)
+       (acl_free, acl_get_file, acl_set_file): New functions.
+
+       * fileio.c (Fcopy_file) [WINDOWSNT]: Support copying ACLs.
+
+2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Don't reraise SIGCHLD, as that can now lose (Bug#13192).
+       With the 2012-12-03 fix for Bug#12980 in place, an old workaround
+       for some of that bug's symptoms can now cause Emacs to abort.
+       Remove the workaround.
+       * process.c (wait_reading_process_output): Don't reraise SIGCHLD.
+       The bug that caused SIGCHLD to get lost has been fixed, and the
+       workaround for it can now cause Emacs to abort.
+
+2012-12-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * sysdep.c (emacs_abort): Bump backtrace size to 40.
+       Companion to the 2012-09-30 patch.  Suggested by Eli Zaretskii in
+       <http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00796.html>.
+
+2012-12-16  Romain Francoise  <romain@orebokech.com>
+
+       * fileio.c (Ffile_acl, Fset_file_acl): New functions.
+       (Fcopy_file): Change last arg to `preserve_extended_attributes'
+       and copy ACL entries of file in addition to SELinux context if set.
+       (syms_of_fileio): Add `file-acl' and `set-file-acl'.
+
+       * Makefile.in (LIBACL_LIBS): New macro.
+       (LIBES): Use it.
+
 2012-12-15  Paul Eggert  <eggert@cs.ucla.edu>
 
        * fileio.c (internal_delete_file): Use bool for boolean.
 
 2012-12-12  Daniel Colascione  <dancol@dancol.org>
 
-       * unexcw.c (fixup_executable): use posix_fallocate to ensure that
+       * unexcw.c (fixup_executable): Use posix_fallocate to ensure that
        the dumped Emacs is not a sparse file, greatly improving Cygwin
        "make bootstrap" performance.
 
        * w32fns.c (cache_system_info): Initialize the global hinst
        variable here so various initialization calls DTRT.
 
-       * unexw32.c (hprevinst, lpCmdLine, nCmdShow): Remove unused
-       variables.
+       * unexw32.c (hprevinst, lpCmdLine, nCmdShow): Remove unused variables.
        (hinst): Remove unneeded extern declaration.
        (_start): Remove initialization of above variables; remove
        initialization of hinst, as cache_system_info now does that.
        * 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) [HAVE_NTGUI]: Support
-       FILE_NOTIFY_EVENT.
+       * termhooks.h (enum event_kind) [HAVE_NTGUI]: Support FILE_NOTIFY_EVENT.
 
        * makefile.w32-in (OBJ2): Add $(BLD)/w32notify.$(O).
        (GLOBAL_SOURCES): Add w32notify.c
 
        * lisp.h (syms_of_w32notify) [WINDOWSNT]: Add prototype.
 
-       * keyboard.c (kbd_buffer_get_event) [WINDOWSNT]: Handle
-       FILE_NOTIFY_EVENT.
+       * keyboard.c (kbd_buffer_get_event) [WINDOWSNT]:
+       Handle FILE_NOTIFY_EVENT.
        (syms_of_keyboard) [HAVE_NTGUI] <Qfile_notify>: New symbol.
        (keys_of_keyboard) [WINDOWSNT]: Bind file-notify to
        w32notify-handle-event by default.
 2012-12-10  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
 
        Support for filesystem notifications on GNU/Linux via inotify.
-       * termhooks.h (enum event_kind) [HAVE_INOTIFY]: Add
-       FILE_NOTIFY_EVENT.
+       * termhooks.h (enum event_kind) [HAVE_INOTIFY]: Add FILE_NOTIFY_EVENT.
 
        * lisp.h (syms_of_inotify) [HAVE_INOTIFY]: Add prototype.
 
 2012-12-03  Fabrice Popineau  <fabrice.popineau@gmail.com>
 
        * w32fns.c: Remove prototype of atof.
-       (syspage_mask): Declared DWORD_PTR, for compatibility with 64-bit
+       (syspage_mask): Make it DWORD_PTR, for compatibility with 64-bit
        builds.
-       (file_dialog_callback): Declared UINT_PTR.
+       (file_dialog_callback): Make it UINT_PTR.
 
        * w32common.h (syspage_mask): Declare DWORD_PTR, for compatibility
        with 64-bit builds.
@@ -20966,7 +21309,7 @@ See ChangeLog.11 for earlier changes.
 ;; coding: utf-8
 ;; End:
 
-  Copyright (C) 2011-2012 Free Software Foundation, Inc.
+  Copyright (C) 2011-2013 Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.