Dmitry Antipov [Tue, 25 Dec 2012 15:07:59 +0000 (19:07 +0400)]
* 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.
nnimap.el (nnimap-authenticator): Expand to allow specifying the
login methods.
(nnimap-login): Respect the `nnimap-authenticator' variable.
gnus-sum.el (gnus-summary-push-marks-to-backend): Push the complete
mark state when moving articles. Otherwise unticked articles will get
their ticks back after moving.
gnus.texi (Customizing the IMAP Connection): Mention the other
authenticators.
gnus-srvr.el (gnus-browse-delete-group): Fix syntax error.
message.el (message-ignored-news-headers): Always remove
X-Message-SMTP-Method to avoid information leakage if the user
mistakenly inserts the header into news messages.
gnus-srvr.el (gnus-browse-delete-group): New command and keystroke.
gnus-sum.el (gnus-summary-hide-thread): If point were further to the
right than four characters, this command would move point to
`point-max'. Don't do that.
gnus-group.el (gnus-group-read-ephemeral-group): Set the active data
to nil to allow re-selecting groups that gain articles.
(gnus-bug-group-download-format-alist): Update the URL.
gnus.texi (Browse Foreign Server): Document `gnus-browse-delete-group'.
Allow function as value of initial-buffer-choice (Bug#13251).
* startup.el (initial-buffer-choice): Allow function as value
(Bug#13251).
(command-line-1): Handle case where initial-buffer-choice
specifies a function.
* server.el (server-execute): Handle case where
initial-buffer-choice specifies a function.
Eli Zaretskii [Mon, 24 Dec 2012 15:56:17 +0000 (17:56 +0200)]
Fix the MS-Windows build.
nt/inc/sys/stat.h (S_ISMPX): Define to zero, to accommodate changes
in lib/filemode.c that broke the MS-Windows build.
Suggested by Andy Moreton <andrewjmoreton@gmail.com>.
Dmitry Antipov [Mon, 24 Dec 2012 12:21:42 +0000 (16:21 +0400)]
* buffer.c (Fset_buffer_modified_p): Use buffer_window_count
to check whether the buffer is displayed in some window.
* xdisp.c (message_dolog): Likewise.
Make smtpmail forget the password if the server says it's invalid
* mail/smtpmail.el (smtpmail-try-auth-method): Refactored out into
its own function.
(smtpmail-try-auth-methods): Forget the user name/password if the
login is unsuccessful.
Dmitry Antipov [Mon, 24 Dec 2012 11:41:28 +0000 (15:41 +0400)]
* 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.
Eli Zaretskii [Sun, 23 Dec 2012 17:16:33 +0000 (19:16 +0200)]
Don't fail in acl_set_file on MS-Windows if the operation is a no-op.
src/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.
Eli Zaretskii [Sun, 23 Dec 2012 17:06:58 +0000 (19:06 +0200)]
Improve handling of subprocess shutdown on MS-Windows.
src/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.
src/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.
Gnus developers [Sun, 23 Dec 2012 12:45:01 +0000 (12:45 +0000)]
Merge changes made in Gnus master
2012-12-23 Lars Ingebrigtsen <larsi@gnus.org>
* gnus-int.el (gnus-backend-trace): Factor out into its own function for reuse.
(gnus-open-server): Use it to add more tracing.
(gnus-finish-retrieve-group-infos): Add backend tracing.
2012-12-22 Philipp Haselwarter <philipp@haselwarter.org>
* gnus-sync.el (gnus-sync-file-encrypt-to, gnus-sync-save):
Set epa-file-encrypt-to from variable to avoid querying.
Jan Djärv [Sun, 23 Dec 2012 12:35:37 +0000 (13:35 +0100)]
* nsfns.m (Fns_do_applescript): Run event loop until script has
been executed.
(ns_run_ascript): Chech as_script for nil, set to nil after
executing script.
Glenn Morris [Sat, 22 Dec 2012 18:51:00 +0000 (10:51 -0800)]
Add doclicense.texi dependency for doc/lispintro Makefile
* doc/lispintro/Makefile.in (srcs): New variable, adding doclicense.texi.
(${buildinfodir}/eintr$(INFO_EXT), emacs-lisp-intro.dvi)
(emacs-lisp-intro.pdf, emacs-lisp-intro.html):
Use $srcs for dependencies.
Eli Zaretskii [Sat, 22 Dec 2012 14:18:11 +0000 (16:18 +0200)]
Undocument the details of the string returned by file-acl.
doc/lispref/files.texi (File Attributes, Changing Files): Remove the details
about the text returned by file-acl. Instead, just document that
it is an opaque string meant to be used by set-file-acl.
Eli Zaretskii [Sat, 22 Dec 2012 13:49:49 +0000 (15:49 +0200)]
Update doc/misc/makefile.w32-in.
Backport from trunk:
doc/misc/makefile.w32-in ($(INFO_TARGETS), $(DVI_TARGETS)): Depend on
doclicense.texi. Remove doclicense.texi from all targets that
mentioned it explicitly.
Eli Zaretskii [Sat, 22 Dec 2012 08:54:31 +0000 (10:54 +0200)]
Update dependencies in doc/misc/makefile.w32-in.
doc/misc/makefile.w32-in ($(INFO_TARGETS), $(DVI_TARGETS)): Depend on
doclicense.texi. Remove doclicense.texi from all targets that
mentioned it explicitly.
($(infodir)/woman$(INFO_EXT), woman.dvi): Depend on
$(emacsdir)/emacsver.texi.
Eli Zaretskii [Fri, 21 Dec 2012 11:21:35 +0000 (13:21 +0200)]
Possibly fix bug #13086 with losing track of subprocesses on MS-Windows.
src/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.
Suggested by Fabrice Popineau <fabrice.popineau@supelec.fr>.
Stefan Monnier [Thu, 20 Dec 2012 14:03:34 +0000 (09:03 -0500)]
* src/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.
Michael Albinus [Thu, 20 Dec 2012 11:15:38 +0000 (12:15 +0100)]
* progmodes/grep.el (rgrep): Escape command line. Sometimes, it
is too long for Tramp. See discussion in
<http://thread.gmane.org/gmane.emacs.tramp/8233/focus=8244>.
* progmodes/compile.el (compilation-start): Remove line escape template.
Dmitry Antipov [Thu, 20 Dec 2012 08:49:21 +0000 (12:49 +0400)]
* 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.
Jonas Bernoulli [Wed, 19 Dec 2012 19:51:40 +0000 (14:51 -0500)]
* lisp/emacs-lisp/lisp-mnt.el (lm-section-end): Always end before the
following non-comment text.
(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.
* doc/lispref/tips.texi (Library Headers): New header keyword `Homepage'.
Make continuation lines syntax more precise.
Dmitry Antipov [Wed, 19 Dec 2012 15:52:48 +0000 (19:52 +0400)]
* 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.
Michael Albinus [Wed, 19 Dec 2012 13:01:16 +0000 (14:01 +0100)]
* 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.
Eli Zaretskii [Tue, 18 Dec 2012 19:05:56 +0000 (21:05 +0200)]
Follow symlinks in MS-Windows emulations of ACL functions.
src/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.
Glenn Morris [Tue, 18 Dec 2012 08:32:46 +0000 (00:32 -0800)]
Simply refer to main file semantic.texi for copying conditions
(rather than stating a slightly different set of conditions).
This is consistent with eg doc/emacs/*.texi.
Stefan Monnier [Mon, 17 Dec 2012 19:17:06 +0000 (14:17 -0500)]
* src/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.
* src/window.c (select_window_1): New func, extracted from select_window.
(select_window): Use it.
* src/window.h (select_window_1): Declare.
Eli Zaretskii [Mon, 17 Dec 2012 19:14:34 +0000 (21:14 +0200)]
Support Posix ACL APIs on MS-Windows.
src/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.
src/fileio.c (Fcopy_file) [WINDOWSNT]: Support copying ACLs.
nt/inc/sys/acl.h: New file.
nt/inc/ms-w32.h (ENOTSUP): Define if undefined.
nt/config.nt (HAVE_POSIX_ACL): Define.
doc/lispref/files.texi (File Attributes, Changing Files): Update to include
MS-Windows support for ACLs.
Paul Eggert [Mon, 17 Dec 2012 17:51:25 +0000 (09:51 -0800)]
Don't reraise SIGCHLD, as that can now lose.
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.
Kelly Dean [Mon, 17 Dec 2012 07:54:57 +0000 (08:54 +0100)]
Fix some interactions of make-help-screen and other Help forms (Bug#13190).
* 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).
Romain Francoise [Sun, 16 Dec 2012 18:22:27 +0000 (19:22 +0100)]
Add support for preserving ACL entries of files.
* configure.ac (acl): New option.
(HAVE_POSIX_ACL): Test for POSIX ACL support. This is typically
provided by libacl on GNU/Linux.
* 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.
* 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.
* 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'.