[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master fc00fe5: Merge from origin/emacs-28
From: |
Stefan Kangas |
Subject: |
master fc00fe5: Merge from origin/emacs-28 |
Date: |
Fri, 12 Nov 2021 01:17:16 -0500 (EST) |
branch: master
commit fc00fe53e189df04e6325e4f19edcb0c8612600f
Merge: 070d629 a6905e9
Author: Stefan Kangas <stefan@marxist.se>
Commit: Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
a6905e90cc Fix problem with temp buffer killing in package-install-file
144ad77fda Fix Lisp Intro markup error
24b86cb4f7 Fix ACL errors with WebDAV volumes on MS-Windows
---
doc/lispintro/emacs-lisp-intro.texi | 2 +-
lisp/emacs-lisp/package.el | 1 +
src/w32.c | 12 +++++++-----
3 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/doc/lispintro/emacs-lisp-intro.texi
b/doc/lispintro/emacs-lisp-intro.texi
index f5f79a5..6ddc3bf 100644
--- a/doc/lispintro/emacs-lisp-intro.texi
+++ b/doc/lispintro/emacs-lisp-intro.texi
@@ -5818,7 +5818,7 @@ written like this:
@subsection The @code{let} Expression in @code{insert-buffer}
After ensuring that the variable @code{buffer} refers to a buffer itself
-and not just to the name of a buffer, the @code{insert-buffer function}
+and not just to the name of a buffer, the @code{insert-buffer} function
continues with a @code{let} expression. This specifies three local
variables, @code{start}, @code{end}, and @code{newmark} and binds them
to the initial value @code{nil}. These variables are used inside the
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index 27eaa48..08dfe50 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -2202,6 +2202,7 @@ directory."
(dired-mode))
(insert-file-contents-literally file)
(set-visited-file-name file)
+ (set-buffer-modified-p nil)
(when (string-match "\\.tar\\'" file) (tar-mode)))
(package-install-from-buffer)))
diff --git a/src/w32.c b/src/w32.c
index e4b7ef3..2b2f8aa 100644
--- a/src/w32.c
+++ b/src/w32.c
@@ -6548,7 +6548,8 @@ acl_get_file (const char *fname, acl_type_t type)
xfree (psd);
err = GetLastError ();
if (err == ERROR_NOT_SUPPORTED
- || err == ERROR_ACCESS_DENIED)
+ || err == ERROR_ACCESS_DENIED
+ || err == ERROR_INVALID_FUNCTION)
errno = ENOTSUP;
else if (err == ERROR_FILE_NOT_FOUND
|| err == ERROR_PATH_NOT_FOUND
@@ -6567,10 +6568,11 @@ acl_get_file (const char *fname, acl_type_t type)
|| err == ERROR_INVALID_NAME)
errno = ENOENT;
else if (err == ERROR_NOT_SUPPORTED
- /* ERROR_ACCESS_DENIED is what we get for a volume
- mounted by WebDAV, which evidently doesn't
- support ACLs. */
- || err == ERROR_ACCESS_DENIED)
+ /* ERROR_ACCESS_DENIED or ERROR_INVALID_FUNCTION is
+ what we get for a volume mounted by WebDAV,
+ which evidently doesn't support ACLs. */
+ || err == ERROR_ACCESS_DENIED
+ || err == ERROR_INVALID_FUNCTION)
errno = ENOTSUP;
else
errno = EIO;