1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-01 01:41:01 -08:00
emacs/lib
Paul Eggert 5d4cf1fef8 Add ‘nofollow’ flag to set-file-times
This is a companion to the recent set-file-modes patch.
It adds support for a ‘nofollow’ flag to set-file-times (Bug#39773).
Like the set-file-modes patch, it needs work in the w32 port.
* admin/merge-gnulib (GNULIB_MODULES): Add futimens, utimensat.
Remove utimens.
* doc/lispref/files.texi (Changing Files):
* etc/NEWS: Mention the change.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* lisp/files.el (copy-directory):
* lisp/gnus/gnus-cloud.el (gnus-cloud-replace-file):
* lisp/net/tramp-adb.el (tramp-adb-handle-copy-file):
* lisp/net/tramp-smb.el (tramp-smb-handle-copy-file):
* lisp/tar-mode.el (tar-copy):
* test/lisp/filenotify-tests.el (file-notify-test03-events):
* test/lisp/files-tests.el:
(files-tests-file-name-non-special-set-file-times):
* test/lisp/net/tramp-tests.el (tramp-test22-file-times):
When setting file times, avoid following symbolic links
when the file is not supposed to be a symbolic link.
* lib/futimens.c, lib/utimensat.c, m4/futimens.m4, m4/utimensat.m4:
New files, copied from Gnulib.
* lisp/gnus/gnus-cloud.el (gnus-cloud-replace-file):
When creating a file that is not supposed to exist already,
use the excl flag to check this.
* lisp/net/tramp-adb.el (tramp-adb-handle-set-file-times):
* lisp/net/tramp-sh.el (tramp-sh-handle-set-file-times):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-set-file-times):
Accept an optional FLAG arg that is currently ignored,
and add a FIXME comment for it.
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-set-file-times):
* src/fileio.c (Fset_file_times):
Support an optional FLAG arg.
* src/fileio.c (Fcopy_file): Use futimens instead of set_file_times,
as it’s simpler and is a POSIX API.
* src/sysdep.c (set_file_times): Move from here ...
* src/w32.c (set_file_times): ... to here, and make it static,
since it is now used only in w32.c.  Presumably w32.c should also
add support for futimens and utimensat (the POSIX APIs, which
Emacs now uses) and it can remove fdutimens (the Gnulib API,
which Emacs no longer uses).
2020-03-07 12:15:43 -08:00
..
_Noreturn.h Update from Gnulib 2020-02-09 00:45:42 -08:00
acl-errno-valid.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
acl-internal.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
acl-internal.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
acl.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
acl_entries.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
alloca.in.h Update from gnulib 2019-12-31 19:11:56 -08:00
allocator.c
allocator.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
arg-nonnull.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
at-func.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
binary-io.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
binary-io.h Update from gnulib 2019-12-31 19:11:56 -08:00
byteswap.in.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
c++defs.h Update from Gnulib 2020-02-09 00:45:42 -08:00
c-ctype.c Merge from gnulib 2015-09-25 00:23:18 -07:00
c-ctype.h Update from gnulib 2019-12-31 19:11:56 -08:00
c-strcase.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
c-strcasecmp.c Update from gnulib 2019-12-31 19:11:56 -08:00
c-strncasecmp.c Update from gnulib 2019-12-31 19:11:56 -08:00
canonicalize-lgpl.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
careadlinkat.c Update from gnulib 2019-12-31 19:11:56 -08:00
careadlinkat.h Update from Gnulib 2020-02-23 16:15:01 -08:00
cdefs.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
cloexec.c Update from gnulib 2019-12-31 19:11:56 -08:00
cloexec.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
close-stream.c Update from gnulib 2019-12-31 19:11:56 -08:00
close-stream.h
copy-file-range.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
COPYING Merge from Gnulib 2017-10-01 18:31:10 -07:00
count-leading-zeros.c logb now works correctly on large integers 2017-03-03 09:19:08 -08:00
count-leading-zeros.h Update from Gnulib 2020-02-22 10:33:45 -08:00
count-one-bits.c Improve support for popcount and counting trailing zeros. 2013-10-07 14:37:19 -07:00
count-one-bits.h Update from Gnulib 2020-02-22 10:33:45 -08:00
count-trailing-zeros.c Improve support for popcount and counting trailing zeros. 2013-10-07 14:37:19 -07:00
count-trailing-zeros.h Update from Gnulib 2020-02-22 10:33:45 -08:00
diffseq.h Update from gnulib 2019-12-31 19:11:56 -08:00
dirent.in.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
dirfd.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
dosname.h Update from gnulib 2019-12-31 19:11:56 -08:00
dtoastr.c
dtotimespec.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
dup2.c Update from gnulib 2019-12-31 19:11:56 -08:00
errno.in.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
euidaccess.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
execinfo.c
execinfo.in.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
explicit_bzero.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
faccessat.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
fchmodat.c Add 'nofollow' flag to set-file-modes etc. 2020-02-23 16:45:50 -08:00
fcntl.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
fcntl.in.h Update from Gnulib 2020-02-24 17:55:39 -08:00
fdopendir.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
filemode.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
filemode.h Update from gnulib 2019-12-31 19:11:56 -08:00
filevercmp.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
filevercmp.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
fingerprint.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
fingerprint.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
flexmember.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
fpending.c Update from gnulib 2019-12-31 19:11:56 -08:00
fpending.h Update from gnulib 2019-12-31 19:11:56 -08:00
fstatat.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
fsusage.c Update from gnulib 2019-12-31 19:11:56 -08:00
fsusage.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
fsync.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
ftoastr.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
ftoastr.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
futimens.c Add ‘nofollow’ flag to set-file-times 2020-03-07 12:15:43 -08:00
get-permissions.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
getdtablesize.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
getgroups.c Update from gnulib 2019-12-31 19:11:56 -08:00
getloadavg.c Update from gnulib 2019-12-31 19:11:56 -08:00
getopt-cdefs.in.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
getopt-core.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
getopt-ext.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
getopt-pfx-core.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
getopt-pfx-ext.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
getopt.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
getopt.in.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
getopt1.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
getopt_int.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
gettext.h Update from gnulib 2019-12-31 19:11:56 -08:00
gettime.c Update from gnulib 2019-12-31 19:11:56 -08:00
gettimeofday.c Update from gnulib 2019-12-31 19:11:56 -08:00
gnulib.mk.in Add ‘nofollow’ flag to set-file-times 2020-03-07 12:15:43 -08:00
group-member.c Update from gnulib 2019-12-31 19:11:56 -08:00
ieee754.in.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
ignore-value.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
intprops.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
inttypes.in.h Update from Gnulib 2020-02-23 01:27:19 -08:00
lchmod.c Add 'nofollow' flag to set-file-modes etc. 2020-02-23 16:45:50 -08:00
libc-config.h Update from Gnulib 2020-02-09 00:45:42 -08:00
limits.in.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
localtime-buffer.c Update from gnulib 2019-12-31 19:11:56 -08:00
localtime-buffer.h Update from gnulib 2019-12-31 19:11:56 -08:00
lstat.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
Makefile.in Update copyright year to 2020 2020-01-01 00:59:52 +00:00
malloca.c Update from gnulib 2019-12-31 19:11:56 -08:00
malloca.h Update from gnulib 2019-12-31 19:11:56 -08:00
md5.c Update from gnulib 2019-12-31 19:11:56 -08:00
md5.h Update from Gnulib 2020-02-23 16:15:01 -08:00
memmem.c Update from gnulib 2019-12-31 19:11:56 -08:00
mempcpy.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
memrchr.c Update from gnulib 2019-12-31 19:11:56 -08:00
min-max.h
minmax.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
mkostemp.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
mktime-internal.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
mktime.c Update from gnulib 2019-12-31 19:11:56 -08:00
nstrftime.c Update from gnulib 2019-12-31 19:11:56 -08:00
open.c Update from Gnulib 2020-03-07 11:58:48 -08:00
openat-die.c Limit <config.h>’s includes 2016-09-30 12:38:52 -07:00
openat-priv.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
openat-proc.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
openat.h Update from Gnulib 2020-02-23 01:27:19 -08:00
pathmax.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
pipe2.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
pselect.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
pthread_sigmask.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
qcopy-acl.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
readlink.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
readlinkat.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
regcomp.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
regex.c Update from Gnulib 2020-01-27 23:29:18 -08:00
regex.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
regex_internal.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
regex_internal.h Update from Gnulib 2020-01-27 23:29:18 -08:00
regexec.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
root-uid.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
save-cwd.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
save-cwd.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
set-permissions.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
sha1.c Update from gnulib 2019-12-31 19:11:56 -08:00
sha1.h Update from Gnulib 2020-02-23 16:15:01 -08:00
sha256.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
sha256.h Update from Gnulib 2020-02-23 16:15:01 -08:00
sha512.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
sha512.h Update from Gnulib 2020-02-23 16:15:01 -08:00
sig2str.c Update from gnulib 2019-12-31 19:11:56 -08:00
sig2str.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
signal.in.h Update from Gnulib 2020-02-23 01:27:19 -08:00
stat-time.c
stat-time.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
stdalign.in.h Update from gnulib 2019-12-31 19:11:56 -08:00
stddef.in.h Update from gnulib 2019-12-31 19:11:56 -08:00
stdint.in.h Update from gnulib 2019-12-31 19:11:56 -08:00
stdio-impl.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
stdio.in.h Update from Gnulib 2020-02-23 01:27:19 -08:00
stdlib.in.h Update from Gnulib 2020-02-23 01:27:19 -08:00
stpcpy.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
str-two-way.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
strftime.h Update from Gnulib 2020-02-23 16:15:01 -08:00
string.in.h Update from Gnulib 2020-02-23 16:15:01 -08:00
strnlen.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
strtoimax.c Update from gnulib 2019-12-31 19:11:56 -08:00
strtol.c Update from gnulib 2019-12-31 19:11:56 -08:00
strtoll.c Update from gnulib 2019-12-31 19:11:56 -08:00
symlink.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
sys_select.in.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
sys_stat.in.h Update from Gnulib 2020-02-23 01:27:19 -08:00
sys_time.in.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
sys_types.in.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
tempname.c Update from gnulib 2019-12-31 19:11:56 -08:00
tempname.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
time-internal.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
time.in.h Update from Gnulib 2020-02-23 01:27:19 -08:00
time_r.c Update from gnulib 2019-12-31 19:11:56 -08:00
time_rz.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
timegm.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
timespec-add.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
timespec-sub.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
timespec.c
timespec.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
u64.c Merge from gnulib 2015-10-13 23:34:47 -07:00
u64.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
unistd.c Merge from gnulib 2015-10-13 23:34:47 -07:00
unistd.in.h Update from Gnulib 2020-02-23 01:27:19 -08:00
unlocked-io.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
utimens.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
utimens.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
utimensat.c Add ‘nofollow’ flag to set-file-times 2020-03-07 12:15:43 -08:00
verify.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
vla.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
warn-on-use.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
xalloc-oversized.h Update from gnulib 2019-12-31 19:11:56 -08:00