From: Glenn Morris Date: Fri, 21 Dec 2012 19:32:43 +0000 (-0800) Subject: Merge from emacs-24; up to 2012-12-01T13:25:13Z!cyd@gnu.org X-Git-Tag: emacs-24.3.90~173^2~7^2~533 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=a4b0cca119b01dc55bad802ef696c857fe014482;p=emacs.git Merge from emacs-24; up to 2012-12-01T13:25:13Z!cyd@gnu.org --- a4b0cca119b01dc55bad802ef696c857fe014482 diff --cc ChangeLog index 9f56370dc3c,181fa811543..5ab0a8e76f8 --- a/ChangeLog +++ b/ChangeLog @@@ -1,91 -1,26 +1,95 @@@ -2012-12-20 Akinori MUSHA (tiny change) ++2012-12-21 Akinori MUSHA (tiny change) + + * Makefile.in (install-arch-dep): Ignore chmod errors. (Bug#13233) + +2012-12-16 Romain Francoise + + * configure.ac (acl): New option. + (HAVE_POSIX_ACL): Test for POSIX ACL support. This is typically + provided by libacl on GNU/Linux. + +2012-12-14 Paul Eggert + + Fix permissions bugs with setgid directories etc. (Bug#13125) + * configure.ac (BSD4_2): Remove; no longer needed. + 2012-12-13 Glenn Morris - * info/dir: Add bovine, wisent. + * info/dir: Add bovine, srecode, wisent. -2012-12-12 Andreas Schwab +2012-12-13 Andreas Schwab * Makefile.in (install-info): Use `${MAKE} -s' for echo-info. - (uninstall): Likewise. + (uninstall): Likewise. (Bug#13143) + +2012-12-11 Paul Eggert + + Merge from gnulib for 'inline' (Bug#13040), incorporating: + 2012-12-11 extern-inline: avoid incompatibility with Darwin Libc + * m4/extern-inline.m4: Update from gnulib. + +2012-12-11 Juanma Barranquero + + * lib/makefile.w32-in (SIG2STR_H): New macro. + ($(BLD)/sig2str.$(O)): Update dependencies. + +2012-12-10 Paul Eggert + + * configure.ac (HAVE_INOTIFY): Speed up configure-time test. + There's no need to test for any of three inotify functions, + since we use all three. Check for just the first one. + +2012-12-10 Daniel Colascione + + * .bzrignore: add src/emacs.res. -2012-12-12 Glenn Morris + * configure.ac (W32_RES, W32_RES_LINK, WINDRES): Teach the cygw32 + build how to compile Windows resource files; use these variables + to tell src/Makefile.in how and whether to compile resources. - * info/dir: Add srecode. +2012-12-10 Rüdiger Sonderfeld -2012-12-11 Nicolas Richard (tiny change) + * configure.ac (inotify): New option. + (HAVE_INOTIFY): Test for inotify. - * Makefile.in (install-info, uninstall): Ensure make's messages - about changing directories are in English. (Bug#13143) +2012-12-09 Andreas Schwab -2012-12-05 Glenn Morris + * configure.ac: Fix source command in .gdbinit. + Don't quote $MAKEINFO. + +2012-12-09 Paul Eggert + + Allow spaces in some configuration vars (Bug#13078). + * configure.ac (srcdir): Don't assume $PWD lacks spaces. + (srcdir, MAKEINFO, PKG_CONFIG, PKG_CONFIG_MIN_VERSION): + All uses quoted, to allow spaces in these vars. + +2012-12-08 Paul Eggert + + Use putenv+unsetenv instead of modifying environ directly (Bug#13070). + * lib/putenv.c, lib/unsetenv.c, m4/putenv.m4, m4/setenv.m4: + New files, copied automatically from gnulib. + * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. + +2012-12-08 Eli Zaretskii + + * lib/makefile.w32-in ($(BLD)/sig2str.$(O)): New dependency. + Remove a stray character at the beginning of the file. + (Bug#13026) + +2012-12-08 Paul Eggert + + Simplify get_lim_data. + * configure.ac (ULIMIT_BREAK_VALUE): Remove. + + Assume POSIX 1003.1-1988 or later for signal.h (Bug#13026). + * configure.ac (PTY_OPEN, PTY_TTY_NAME_SPRINTF): + Use SIGCHLD rather than SIGCLD. + * lib/sig2str.c, lib/sig2str.h, m4/sig2str.m4: New files, from gnulib. + * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. + * lib/makefile.w32-in (GNULIBOBJS): Add $(BUILD)/sig2str.$(O). + +2012-12-06 Glenn Morris * configure.ac: Handle info/ files with or without ".info" extension. diff --cc doc/emacs/ChangeLog index 71014647c1f,5c52cb2073c..b2bc0bb3c79 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@@ -1,9 -1,14 +1,19 @@@ + 2012-12-21 Glenn Morris + + * emacs-xtra.texi (copying): The FSF does not sell copies of this. + Simply include doclicense. + + 2012-12-21 Chong Yidong + + * frames.texi (Mouse Commands): Fix description of the effect of + mouse dragging (Bug#13049). + -2012-12-08 Dani Moncayo +2012-12-15 Juri Linkov + + * misc.texi (Recursive Edit): Add a link to "Query Replace". + (Bug#13181) + +2012-12-10 Dani Moncayo * killing.texi (Deletion): Doc fix (Bug#12748). diff --cc doc/lispref/ChangeLog index 80814e6830b,212e7c86e68..8158a282a5c --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@@ -1,45 -1,19 +1,54 @@@ + 2012-12-21 Chong Yidong + + * modes.texi (Auto Major Mode): Fix typo (Bug#13230). + + * customize.texi (Simple Types): Document key-sequence type + (Bug#13048). + -2012-12-15 Chong Yidong - + * strings.texi (Text Comparison): Doc fix for compare-strings. + -2012-12-09 Stefan Monnier +2012-12-19 Michael Albinus - * control.texi (Pattern matching case statement): New node. + * files.texi (Magic File Names): Add `file-acl', + `file-selinux-context', `set-file-acl' and + `set-file-selinux-context'. Make the list consistent. + +2012-12-19 Jonas Bernoulli + + * tips.texi (Library Headers): New header keyword `Homepage'. + Make continuation lines syntax more precise. + +2012-12-17 Eli Zaretskii + + * files.texi (File Attributes, Changing Files): Update to include + MS-Windows support for ACLs. + +2012-12-16 Romain Francoise + + * files.texi (File Attributes): Document ACL support and new + `file-acl' function. + (Changing Files): Mention argument name change of `copy-file' and + document new function `set-file-acl'. + +2012-12-14 Paul Eggert + + Fix permissions bugs with setgid directories etc. (Bug#13125) + * files.texi (Testing Accessibility): Document GROUP arg + of file-ownership-preserved-p. + (File Attributes): Document that 9th element is now + just a placeholder. + * os.texi (User Identification): Document new functions group-gid, + group-real-gid. + +2012-12-11 Paul Eggert -2012-12-06 Stefan Monnier + * internals.texi (C Integer Types): New section. + This follows up and records an email in + . + +2012-12-10 Stefan Monnier + + * control.texi (Pattern matching case statement): New node. * customize.texi (Variable Definitions): Mention the default :group for defcustoms (bug#13093). diff --cc doc/misc/ChangeLog index e8036dd69e1,f4e6f47a111..052ec1e4fea --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@@ -1,22 -1,38 +1,53 @@@ + 2012-12-21 Glenn Morris + + * auth.texi, emacs-gnutls.texi, epa.texi, ert.texi: + * gnus-coding.texi, info.texi, nxml-mode.texi, sasl.texi: + May as well just include doclicense.texi in everything. + + * ede.texi, eieio.texi, mairix-el.texi: Include a copy of GFDL, + which @copying says is included. + + * ada-mode.texi, auth.texi, autotype.texi, bovine.texi, calc.texi: + * cc-mode.texi, cl.texi, dbus.texi, dired-x.texi, ebrowse.texi: + * ede.texi, ediff.texi, edt.texi, eieio.texi, emacs-gnutls.texi: + * emacs-mime.texi, epa.texi, erc.texi, ert.texi, eshell.texi: + * eudc.texi, flymake.texi, forms.texi, gnus-coding.texi, gnus.texi: + * idlwave.texi, info.texi, mairix-el.texi, message.texi, mh-e.texi: + * newsticker.texi, nxml-mode.texi, pcl-cvs.texi, pgg.texi: + * rcirc.texi, reftex.texi, remember.texi, sasl.texi, sc.texi: + * semantic.texi, ses.texi, sieve.texi, smtpmail.texi, speedbar.texi: + * srecode.texi, tramp.texi, url.texi, vip.texi, viper.texi: + * widget.texi, wisent.texi, woman.texi: Do not mention buying + copies from the FSF, which does not publish these manuals. + + * erc.texi: No need to include gpl in this small manual. + -2012-12-14 Glenn Morris - + * org.texi (copying): Include a copy of the GFDL. + (GNU Free Documentation License): New section. + -2012-12-13 Bastien Guerry ++2012-12-21 Bastien Guerry + + * org.texi: Fix typos. + +2012-12-16 Paul Eggert + + * calc.texi (ISO 8601): Rename from ISO-8601, + as it's typically spelled without a hyphen. + +2012-12-16 Jay Belanger + + * calc.texi (ISO-8601): New section. + (Date Formatting Codes): Mention new codes. + (Standard Date Formats): Mention new formats. + +2012-12-14 Michael Albinus + + * tramp.texi (External methods): Move `adb' method here. + 2012-12-13 Glenn Morris + * cl.texi (Modify Macros, Obsolete Macros): Now letf == cl-letf. + * wisent.texi: Small edits. Set copyright to FSF, update license to GFDL 1.3+. * Makefile.in (INFO_TARGETS, DVI_TARGETS, PDF_TARGETS): Add wisent. diff --cc lisp/ChangeLog index 2fd19c4a467,9de20493749..5e26ee1fca1 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@@ -1,246 -1,12 +1,254 @@@ + 2012-12-21 Chong Yidong + + * sort.el (sort-subr): Doc fix (Bug#13056). + -2012-12-20 Bastien Guerry ++2012-12-21 Bastien Guerry + + * progmodes/etags.el (tags-search): Fix typo. Bug #13232. + -2012-12-11 Alan Mackenzie +2012-12-21 Michael Albinus + + * simple.el (process-file): Overwrite stderr file, if exists. + +2012-12-21 Daiki Ueno + + * epg.el (epg--start): Print GPG_AGENT_INFO in the debug buffer. + (epg-error): Set `error-message' property. + +2012-12-21 Chong Yidong + + * international/mule-cmds.el (read-char-by-name): Signal an error + if the user does not supply a valid character (Bug#13177). + + * simple.el (transpose-subr-1): Preserve marker positions by + changing the insertion sequence (Bug#13122). + +2012-12-21 Kelly Dean (tiny change) + + * simple.el (kill-region): Deactivate mark even for empty regions + (Bug#13169). + +2012-12-21 Chong Yidong + + * help-fns.el (describe-variable): Make sure we get the right + buffer name (Bug#13105). Suggested by Kelly Dean. + +2012-12-20 Michael R. Mauger + + * comint.el (comint-redirect-previous-input-string): New variable. + (comint-redirect-setup, comint-redirect-cleanup) + (comint-redirect-preoutput-filter): Use it. Fixes redirection bug. + (comint-redirect-preoutput-filter): Fix verbose message. + +2012-12-20 Michael Albinus + + * progmodes/grep.el (rgrep): Escape command line. Sometimes, it + is too long for Tramp. See discussion in + . + + * progmodes/compile.el (compilation-start): Remove line escape + template. + +2012-12-20 Dmitry Antipov + + * vc/ediff-ptch.el (ediff-map-patch-buffer): Use `point-min-marker'. + Adjust comment. + +2012-12-19 Jonas Bernoulli + + * emacs-lisp/lisp-mnt.el (lm-section-end): Always end before the + following non-comment text (bug#13207). + (lm-header-multiline): Continuation lines need to be indented more than + the first line. + (lm-homepage): New function. + (lm-with-file): Don't be confused if narrowing is in effect. + + * vc/diff-mode.el (diff-post-command-hook): Don't ignore changes at the + very beginning of a hunk (e.g. killing the first line). + +2012-12-19 Michael Albinus + + * net/tramp-sh.el (tramp-sh-handle-file-acl): Delete empty lines + and text properties from returned ACL string. + (tramp-sh-handle-set-file-acl): Do not use additional parentheses + for "setfacl" command. + +2012-12-18 Michael Albinus + + * net/tramp.el (tramp-error-with-buffer): Give a hint to use + `tramp-cleanup-this-connection', when the process has died. + (Bug#13151) + +2012-12-17 Stefan Monnier + + * icomplete.el (icomplete-completions): Also use … to truncate prefix. + +2012-12-17 Kevin Ryde + + * files.el (auto-save-file-name-p): Use \` and \' (bug#13186). + +2012-12-17 Michael Albinus + + Add support for preserving ACL entries of files. + + * net/tramp.el (tramp-file-name-for-operation): Add `file-acl' and + `set-file-acl' handlers. + + * net/tramp-adb.el (tramp-adb-handle-copy-file): + Handle PRESERVE-EXTENDED-ATTRIBUTES. + + * net/tramp-compat.el (tramp-compat-copy-file): + Handle PRESERVE-EXTENDED-ATTRIBUTES. + + * net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): + Add `file-acl' and `set-file-acl' handlers. + (tramp-gvfs-handle-copy-file): + Handle PRESERVE-EXTENDED-ATTRIBUTES. + (tramp-gvfs-handle-file-acl, tramp-gvfs-handle-set-file-acl): + New defuns. + + * net/tramp-sh.el (tramp-sh-file-name-handler-alist): + Add `file-acl' and `set-file-acl' handlers. + (tramp-remote-acl-p, tramp-sh-handle-file-acl) + (tramp-sh-handle-set-file-acl): New defuns. + (tramp-sh-handle-copy-file, tramp-do-copy-or-rename-file): + Handle PRESERVE-EXTENDED-ATTRIBUTES. + + * net/tramp-smb.el (tramp-smb-file-name-handler-alist): + Add `file-acl' and `set-file-acl' handlers. + (tramp-smb-handle-copy-file): Handle PRESERVE-EXTENDED-ATTRIBUTES. + +2012-12-17 Kelly Dean (tiny change) + + * help-macro.el (make-help-screen): Instead of switch-to-buffer + use pop-to-buffer with NORECORD argument t. As buffer name, use + *Metahelp* with a leading space (Bug#13190). + +2012-12-16 Romain Francoise + + * files.el (file-extended-attributes) + (set-file-extended-attributes): New functions. + (backup-buffer): Use them to handle both SELinux context and ACL + entries. + (backup-buffer-copy): Work with an alist of extended attributes, + rather than an SELinux context. + (basic-save-buffer-2): Ditto. + +2012-12-16 Timo Myyrä + + * battery.el (battery-bsd-apm): New function. + +2012-12-16 Jay Belanger + + * calc/calc.el (calc-standard-date-formats): Adjust one of the + standard date formats. + +2012-12-15 Juri Linkov + + * isearch.el (isearch-mode-map): Bind `C-x 8 RET' to + `isearch-insert-char-by-name'. + (with-isearch-suspended): New defmacro with body mostly from + `isearch-edit-string' except the part that sets + `isearch-new-string' and `isearch-new-message'. + (isearch-edit-string): Use new macro `with-isearch-suspended' with + body that sets `isearch-new-string' and `isearch-new-message'. + (isearch-insert-char-by-name): New command. + * international/mule-cmds.el (read-char-by-name): Let-bind + `enable-recursive-minibuffers' to t. + http://lists.gnu.org/archive/html/emacs-devel/2012-12/msg00234.html + +2012-12-15 Juri Linkov + + * isearch.el (isearch-delete-char, isearch-del-char): Doc fix. + (Bug#13175) + +2012-12-15 Christopher Schmidt + + * dired-x.el (dired-guess-shell-command): Put colon at the end of + the prompt. (Bug#13045) + +2012-12-14 Glenn Morris + + * emacs-lisp/macroexp.el (macroexp--warn-and-return): + Try to include filename in non-bytecomp warning. (Bug#13132) + +2012-12-14 Paul Eggert + + Fix permissions bugs with setgid directories etc. (Bug#13125) + * files.el (backup-buffer): Don't rely on 9th output of + file-attributes, as it's now a placeholder. Instead, use the new + optional arg of file-ownership-preserved-p. + (file-ownership-preserved-p): New optional arg GROUP. + Fix mishandling of setuid directories that would cause this + function to return t when it should have returned nil. + Document what happens if the file does not exist, and when + it's not known whether the ownership will be preserved. + * net/tramp-sh.el (tramp-sh-handle-file-ownership-preserved-p): + Likewise. + (tramp-get-local-gid): Use group-gid for integer, as that's + faster and more reliable. + +2012-12-14 Julien Danjou + + * progmodes/sql.el (sql-mode-postgres-font-lock-keywords): + Update keywords list, data type and PL/pgSQL. + +2012-12-14 Dave Abrahams + + * vc/ediff-util.el (ediff-buffer-type): New function. + (ediff-clone-buffer-for-current-diff-comparison): Compute the buf-type + rather than taking it as as argument. + (ediff-inferior-compare-regions): Adjust calls accordingly (bug#11319). + +2012-12-14 Ryan Crum + + * json.el: Add pretty-print option (bug#12634). + (json-encoding-separator, json-encoding-default-indentation) + (json--encoding-current-indentation, json-encoding-pretty-print) + (json-encoding-lisp-style-closings): New vars. + (json--with-indentation): New macro. + (json-encode-hash-table, json-encode-alist, json-encode-plist) + (json-encode-array): Use it to obey json-encoding-pretty-print. + (json-pretty-print-buffer, json-pretty-print): New commands. + +2012-12-14 Dmitry Gutov + + * progmodes/ruby-mode.el (ruby-syntax-propertize-function): + Extract `ruby-syntax-propertize-expansions'. + (ruby-syntax-propertize-expansions): Only change syntax on + certain string delimiters, to punctuation. This way the common + functions like forward-word and thing-at-point still work. + (ruby-match-expression-expansion): Improve readability. + (ruby-block-contains-point): New function. + (ruby-add-log-current-method): Handle several edge cases. + +2012-12-13 Juanma Barranquero + + * emacs-lisp/edebug.el (edebug-unload-function): Make sure that + unload-feature finishes even when aborting an ongoing edebug session. + Also, do not worry about edebug-mode, unload-feature takes care of it. + +2012-12-13 Andreas Schwab + + * net/tls.el (tls-program): Update customize type. + +2012-12-13 Juanma Barranquero + + * emacs-lisp/edebug.el (edebug--require-cl-read): New function. + (edebug-setup-hook, cl-read-load-hooks): Use it. + (edebug-unload-function): New function. (Bug#13163) + +2012-12-13 Michael Albinus + + * net/tramp-adb.el (tramp-adb-file-name-p): Make it a defsubst. + Otherwise, there could be errors in autoloading. (Bug#13151) + +2012-12-13 Jürgen Hötzel + + * net/tramp-adb.el (tramp-adb-wait-for-output): Remove spurious " ^H" + sequences. + +2012-12-13 Alan Mackenzie Make CC Mode not hang when _some_ lines end in CRLF. Bug #11841. * progmodes/cc-engine.el (c-backward-comments): Add code to work diff --cc src/ChangeLog index 24f32f141e9,e1017f3d037..acd8d4481e7 --- a/src/ChangeLog +++ b/src/ChangeLog @@@ -1,207 -1,34 +1,235 @@@ + 2012-12-21 Eli Zaretskii + + * 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 . + + 2012-12-21 Chong Yidong + + * buffer.c (Fset_buffer_major_mode): Doc fix (Bug#13231). + -2012-12-15 Chong Yidong - + * fns.c (Fcompare_strings): Doc fix (Bug#13081). + -2012-12-14 Eli Zaretskii ++2012-12-21 Eli Zaretskii + + * 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-11 Eli Zaretskii +2012-12-21 Chong Yidong + + * 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 + + 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 + + * xdisp.c (redisplay_internal): Remove now-unused local. + +2012-12-20 Stefan Monnier + + * 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 + + * 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 + + * 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 + + * 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 + + * makefile.w32-in ($(BLD)/editfns.$(O), $(BLD)/fileio.$(O)) + ($(BLD)/w32.$(O)): Update dependencies. + +2012-12-17 Stefan Monnier + + * 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 + + 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 + + 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 + + * sysdep.c (emacs_abort): Bump backtrace size to 40. + Companion to the 2012-09-30 patch. Suggested by Eli Zaretskii in + . + +2012-12-16 Romain Francoise + + * 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 + + * fileio.c (internal_delete_file): Use bool for boolean. + +2012-12-15 Eli Zaretskii + + Fix bug #13079 on MS-Windows with temp files not being deleted. + * w32.h (_child_process): New members input_file and + pending_deletion. + (register_child): First argument is now pid_t. + (record_infile, record_pending_deletion): New prototypes. + + * w32proc.c (new_child): Initialize input_file and + pending_deletion members of the child. + (delete_child): Delete the child's temporary input file, if any, + that is pending deletion. + (register_child): First argument is now pid_t. + (record_infile, record_pending_deletion): New functions. + (reap_subprocess): Fix a typo in DebPrint string. + (sys_spawnve, sys_kill): Use pid_t for PID arguments. + + * fileio.c (internal_delete_file): Return an int again: non-zero + if delete-file succeeds, zero otherwise. + + * lisp.h (internal_delete_file): Adjust prototype. + + * callproc.c (Fcall_process): Don't overwrite infile with result + of DECODE_FILE. + [WINDOWSNT] If BUFFER is an integer, i.e. we are launching an + asynchronous subprocess, record the name of the input file name, + if any. + (delete_temp_file) [WINDOWSNT]: If internal_delete_file fails to + delete the file, record it as pending deletion when the subprocess + exits. + +2012-12-14 Eli Zaretskii + + * editfns.c [HAVE_PWD_H]: Include grp.h. + + * makefile.w32-in ($(BLD)/editfns.$(O)): Add $(NT_INC)/grp.h. + +2012-12-14 Paul Eggert + + Fix permissions bugs with setgid directories etc. (Bug#13125) + * dired.c (Ffile_attributes): Return t as the 9th attribute, + to mark it as a placeholder. The old value was often wrong. + The only user of this attribute has been changed to use + file-ownership-preserved-p instead, with its new group arg. + * editfns.c (Fgroup_gid, Fgroup_real_gid): New functions. + +2012-12-14 Stefan Monnier + + * xdisp.c (select_frame_for_redisplay, display_mode_lines): + Keep selected_window and selected_frame in sync. + +2012-12-14 Eli Zaretskii + + * w32.c (stat_worker): If w32_stat_get_owner_group is zero, do not + try to get accurate owner and group information from NT file + security APIs. This is to make most callers of 'stat' and + 'lstat', which don't need that information, much faster. + + * dired.c (Ffile_attributes) [WINDOWSNT]: + Set w32_stat_get_owner_group to a non-zero value, to request accurate + owner and group information from 'lstat'. + +2012-12-13 Paul Eggert + + * fileio.c (Finsert_file_contents): Don't put tail into head area, + as that confuses set-auto-coding, so insist on the head-read + returning the full 1024 bytes. Let lseek compute the tail offset; + less work for us. Do not ignore I/O errors when reading the tail. + + * xdisp.c: Minor style fixes. + (init_iterator): Hoist assignment out of if-expression. + (markpos_of_region): Callers now test for sign, not for -1. + +2012-12-13 Dmitry Antipov + + Minor redisplay optimization when the region length is zero. + * xdisp.c (markpos_of_region): New function. + (init_iterator): Do not highlight the region of zero length. + (redisplay_window): Check whether the region is of non-zero length. + (try_cursor_movement): Allow if the region length is zero. + (try_window_reusing_current_matrix, try_window_id): Likewise. + +2012-12-13 Eli Zaretskii * search.c (search_buffer): Check the inverse translations of each character in pattern when the buffer being searched is unibyte. diff --cc src/w32.c index 0bb7a4e19c7,edb9b1b6189..aa3431a1357 --- a/src/w32.c +++ b/src/w32.c @@@ -3938,25 -3632,23 +3919,25 @@@ stat_worker (const char * path, struct If getting security by handle fails, and we don't need to resolve symlinks, we try getting security by name. */ - if (is_windows_9x () != TRUE) - psd = get_file_security_desc_by_handle (fh); - if (psd) - { - get_file_owner_and_group (psd, buf); - LocalFree (psd); - } - else if (is_windows_9x () == TRUE) + if (!w32_stat_get_owner_group || is_windows_9x () == TRUE) - get_file_owner_and_group (NULL, name, buf); + get_file_owner_and_group (NULL, buf); - else if (!(is_a_symlink && follow_symlinks)) + else { - psd = get_file_security_desc_by_name (name); - get_file_owner_and_group (psd, buf); - xfree (psd); + psd = get_file_security_desc_by_handle (fh); + if (psd) + { - get_file_owner_and_group (psd, name, buf); ++ get_file_owner_and_group (psd, buf); + LocalFree (psd); + } + else if (!(is_a_symlink && follow_symlinks)) + { + psd = get_file_security_desc_by_name (name); - get_file_owner_and_group (psd, name, buf); ++ get_file_owner_and_group (psd, buf); + xfree (psd); + } + else - get_file_owner_and_group (NULL, name, buf); ++ get_file_owner_and_group (NULL, buf); } - else - get_file_owner_and_group (NULL, buf); CloseHandle (fh); } else diff --cc src/w32proc.c index 43ecf4d68f3,03360075a09..1693b2ad501 --- a/src/w32proc.c +++ b/src/w32proc.c @@@ -859,24 -852,9 +859,24 @@@ delete_child (child_process *cp if (fd_info[i].cp == cp) emacs_abort (); - if (!CHILD_ACTIVE (cp)) + if (!CHILD_ACTIVE (cp) && cp->procinfo.hProcess == NULL) return; + /* Delete the child's temporary input file, if any, that is pending + deletion. */ + if (cp->input_file) + { + if (cp->pending_deletion) + { + if (unlink (cp->input_file)) + DebPrint (("delete_child.unlink (%s) failed, errno: %d\n", + cp->input_file, errno)); + cp->pending_deletion = 0; + } + xfree (cp->input_file); + cp->input_file = NULL; + } + /* reap thread if necessary */ if (cp->thrd) {