Commit graph

343 commits

Author SHA1 Message Date
Philipp Stephani
1eb4e5c3c8 Make FILENAME argument of 'file-name-base' mandatory
* lisp/files.el (file-name-base): Make FILENAME argument mandatory.

* lisp/autoinsert.el (auto-insert-alist):
* lisp/progmodes/cperl-mode.el (cperl-electric-pod):
* lisp/progmodes/idlwave.el (idlwave-parse-definition):
* lisp/textmodes/reftex-ref.el (reftex-replace-prefix-escapes): Fix
all callers.
2017-09-24 10:02:00 +02:00
Eric Abrahamsen
ee512e9a82 Ignore buffers whose name begins with a space in save-some-buffers
* lisp/files.el (save-some-buffers): Consider these buffers
  "internal", and don't prompt the user to save them.
* doc/lispref/files.texi: Document.
2017-09-18 13:29:44 -07:00
Eric Abrahamsen
9b980e2691 Allow write-contents-functions to short-circuit buffer save
Bug#28412

* lisp/files.el (basic-save-buffer): Re-arrange function so that
  write-contents-functions are run earlier. If they return non-nil,
  consider the buffer saved without requiring the buffer to be
  visiting a file.
  (save-some-buffers): This function should consider any buffer with a
  buffer-local value for write-contents-functions eligible for
  saving.
* test/lisp/files-tests.el (files-test-no-file-write-contents): New
  test.
* doc/lispref/files.texi (Saving Buffers): Mention in docs.
* etc/NEWS: And in NEWS.
2017-09-12 16:06:12 -07:00
Paul Eggert
e22794867d Make copy-directory act like copy-file etc.
Do the special dance with the destination only if it is a
directory name, for consistency with copy-file etc. (Bug#27986).
* doc/emacs/files.texi (Copying and Naming):
* doc/lispref/files.texi (Create/Delete Dirs):
* etc/NEWS: Document this.
* lisp/files.el (copy-directory): Treat NEWNAME as special
only if it is a directory name.
2017-09-10 22:31:23 -07:00
Paul Eggert
01c885f21f Fix race with rename-file etc. with dir NEWNAME
This changes the behavior of rename-file etc. slightly.
The old behavior mostly disagreed with the documentation, and had
a race condition bug that could allow attackers to modify victims'
write-protected directories (Bug#27986).
* doc/lispref/files.texi (Changing Files): Document that in
rename-file etc., NEWFILE is special if it is a directory name.
* etc/NEWS: Document the change in behavior.
* src/fileio.c (directory_like): Remove.  All uses removed.
(expand_cp_target): Test only whether NEWNAME is a directory name,
not whether it is currently a directory.  This avoids a race.
(Fcopy_file, Frename_file, Fadd_name_to_file, Fmake_symbolic_link):
Document behavior if NEWNAME is a directory name.
(Frename_file): Simplify now that the destdir behavior occurs
only when NEWNAME is a directory name.
* test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
(tramp-test12-rename-file, tramp--test-check-files):
Adjust tests to match new behavior.
2017-09-10 15:46:51 -07:00
Paul Eggert
743b95cc63 Be more consistent about "directory name" in manual
This clarifies the documentation, partly in response to the
discussion in Bug#27986.
2017-09-09 13:41:20 -07:00
Michael Albinus
8d251607e0 Doc precisment about remote link targets
* doc/lispref/files.texi (Truenames): Explain handling of
targets of `file-truename' and `make-symbolic-link', which
look like a remote file name.

* etc/NEWS: Precise examples for symlinks which look like
remote file names.  MUSTBENEW of `write-region' is not
propagated to file name handlers.
2017-09-05 15:32:03 +02:00
Paul Eggert
e8001d4c27 Do not munge contents of local symbolic links
This lets Emacs deal with arbitrary local symlinks without
mishandling their contents (Bug#28156).  For example,
(progn (shell-command "ln -fs '~' 'x'") (rename-file "x" "/tmp/x"))
now consistently creates a symbolic link from '/tmp/x' to '~'.
Formerly, it did that only if the working directory was on the
same filesystem as /tmp; otherwise, it expanded the '~' to
the user's home directory.
* lisp/dired.el (dired-get-filename): Use files--name-absolute-system-p
instead of rolling our own code.
* lisp/files.el (files--name-absolute-system-p): New function.
(file-truename, file-chase-links): Use it to avoid mishandling
symlink contents that begin with ~.
(copy-directory, move-file-to-trash):
Use concat rather than expand-file-name, to avoid mishandling
symlink contents that begin with ~.
* src/fileio.c (Fmake_symbolic_link): Do not expand leading "~" in the
target unless interactive.  Strip leading "/:" if interactive.
(emacs_readlinkat): Do not prepend "/:" to the link target if
it starts with "/" and contains ":" before NUL.
* test/src/fileio-tests.el (try-link): Rename from try-char,
and accept a string instead of a char.  All uses changed.
(fileio-tests--symlink-failure): Also test leading ~, and "/:",
to test the new behavior.
2017-08-26 18:36:38 -07:00
Paul Eggert
0becd64d63 Improve doc for file-name-absolute-p. 2017-08-26 13:45:25 -07:00
Paul Eggert
05f9ffd53c Improve expand-file-name doc
* doc/lispref/files.texi (Relative File Names, Directory Names)
(File Name Expansion):
* doc/lispref/minibuf.texi (Reading File Names):
Document expand-file-name behavior with ~ more clearly
and accurately.
* doc/misc/org.texi (Batch execution): Simplify example
script so that it does not need expand-file-name and thus
will not mishandle file names with leading ~.
2017-08-25 21:14:06 -07:00
Noam Postavsky
a7ed4ec095 ; * doc/lispref/files.texi (File Attributes): Add missing word. 2017-08-25 22:47:51 -04:00
Paul Eggert
2b7e009257 Fix file-attributes race on GNU hosts
* doc/lispref/files.texi (File Attributes):
Document file-attributes atomicity.
* etc/NEWS: Document the fix.
* src/dired.c (file_attributes): New args DIRNAME and FILENAME,
for diagnostics.  All callers changed.  On platforms like
GNU/Linux that support O_PATH, fix a race condition in
file-attributes and similar functions, so that these functions do
not return nonsense if a directory entry is replaced while getting
its attributes.  On non-GNU platforms, do a better (though not
perfect) job of detecting the race, and return nil if detected.
2017-08-25 13:19:45 -07:00
Paul Eggert
e58b3ef78b Clarify behavior of symlinks and directories
* doc/lispref/files.texi (Saving Buffers): Document how functions
like rename-file work with symlinks and directories.  This patch
attempts to document the current behavior better, in preparation
for possibly changing it.  See Bug#27986.
2017-08-19 00:49:39 -07:00
Ted Zlatanov
94f3f13d6d
Fix and document make-temp-file optional text parameter
* lisp/files.el (make-temp-file): Fix initial TEXT parameter.
(files--make-magic-temp-file): Support optional TEXT parameter.
* etc/NEWS: Document it.
* doc/lispref/files.texi: Document it.
* test/lisp/auth-source-tests.el: Minor reformat.
2017-08-18 21:59:39 -04:00
Paul Eggert
5bdc97d55d Be consistent in spelling 'ok-if-already-exists'. 2017-08-13 11:55:12 -07:00
Paul Eggert
7d1115e0c7 Document make-temp-name magic limitations
* doc/lispref/files.texi (Unique File Names):
* src/fileio.c (Fmake_temp_name): Document that make-temp-name
does not guarantee uniqueness on magic file names.
2017-08-08 09:50:15 -07:00
Paul Eggert
e6fd84d2d5 Merge from origin/emacs-25
ab0a60a ; * CONTRIBUTE (Generating ChangeLog entries): Drop duplicate...
7e02a47 Index byte-compile-debug
7c1e598 Document `byte-compile-debug' in the ELisp manual
4d81eb4 Document variable `byte-compile-debug'
72ef710 Fix call to debugger on assertion failure
ae8264c Call modification hooks in org-src fontify buffers
b3139da ; Fix last change in doc/lispref/strings.texi
c331f39 Improve documentation of 'format' conversions
9f52f67 Remove stale functions from ert manual
c416b14 Fix a typo in Eshell manual
06695a0 ; Fix a typo in ediff-merg.el
954e9e9 Improve documentation of hooks related to saving buffers
9fcab85 Improve documentation of auto-save-visited-file-name
2236c53 fix typo in mailcap-mime-extensions
85a3e4e Fix typos in flymake.el
a1ef10e More NEWS checking for admin.el's set-version

# Conflicts:
#	lisp/emacs-lisp/bytecomp.el
2017-03-19 12:29:06 -07:00
Eli Zaretskii
12a79dc3ce Document 'save-some-buffers-default-predicate'
* doc/lispref/files.texi (Saving Buffers):
* doc/emacs/files.texi (Save Commands): Document
save-some-buffers-default-predicate.
2017-02-04 11:33:54 +02:00
Eli Zaretskii
954e9e983b Improve documentation of hooks related to saving buffers
* lisp/files.el (write-file-functions, write-contents-functions)
(before-save-hook, after-save-hook): Note that these are only used
by save-buffer.

* doc/lispref/backups.texi (Auto-Saving):
* doc/lispref/files.texi (Saving Buffers): Mention that
save-related hooks are not run by auto-saving.  (Bug#25460)
2017-01-20 10:57:14 +02:00
Paul Eggert
bcf244ef9b Merge from origin/emacs-25
2e2a806 Fix copyright years by hand
5badc81 Update copyright year to 2017
2017-01-01 01:10:47 -08:00
Paul Eggert
5badc81c1c Update copyright year to 2017
Run admin/update-copyright.
2016-12-31 19:42:26 -08:00
Michael Albinus
57a77f833e Document file-name-quote, file-name-unquote and file-name-quoted-p
* doc/lispref/files.texi (File Name Expansion):
* etc/NEWS: Mention file-name-quote, file-name-unquote and
file-name-quoted-p.

* lisp/files.el (file-name-non-special): Revert using
file-name-quote, file-name-unquote and file-name-quoted-p.
2016-12-09 10:03:05 +01:00
Paul Eggert
c5532f5a5c Merge from origin/emacs-25
3980903 ; Update ChangeLog.2, etc/AUTHORS and ldef-boot.el for Emacs ...
5878abf Fix 'expand-file-name' during startup on MS-Windows
2016-12-07 12:40:43 -08:00
Michael Albinus
e72b24fb4a Mention `file-name-case-insensitive-p' as magic file name
* doc/lispref/files.texi (Magic File Names):
Mention `file-name-case-insensitive-p'.

* doc/lispref/variables.texi (Connection Local Variables):
Fix typo.
2016-12-03 19:54:24 +01:00
Eli Zaretskii
5878abf87b Fix 'expand-file-name' during startup on MS-Windows
* src/w32.c (w32_init_file_name_codepage): New function, resets
file_name_codepage and w32_ansi_code_page to undo the values
recorded during dumping.
(codepage_for_filenames): Fix an embarrassing typo.  Ignore the
cached value of file-name encoding if it is nil, i.e. not
initialized yet.  Actually cache the last used file-name encoding
to avoid calling APIs when not necessary.

* src/w32.h (w32_init_file_name_codepage): Add prototype.

* src/w32term.c (syms_of_w32term): Set the value of
w32_unicode_filenames according to the OS version.  This avoids
resetting it during startup, which then causes temacs to run with
the incorrect value.

* src/emacs.c (main): Call w32_init_file_name_codepage early
during the startup.

* src/fileio.c (Fexpand_file_name) [WINDOWSNT]: Update 'newdir'
after converting $HOME to a UTF-8 string, so that 'newdirlim' is
consistent with it.  (Bug#25038)

* lisp/international/mule-cmds.el (set-locale-environment): Set
'default-file-name-coding-system' to the ANSI codepage even in
non-interactive sessions.

* lisp/files.el (directory-abbrev-alist, abbreviated-home-dir):
Doc fix.
(abbreviate-file-name): Decode 'abbreviated-home-dir' if it is a
unibyte string.

* doc/lispref/files.texi (Directory Names): Index
'directory-abbrev-alist'.
2016-11-28 17:43:25 +02:00
Michael Albinus
22946702b4 Add file-local-name
* doc/lispref/files.texi (Magic File Names): Add `file-local-name'.
(Unique File Names): Use it.

* etc/NEWS: Mention `file-local-name'.

* lisp/files.el (file-local-name): New defun.
(file-expand-wildcards):
* lisp/eshell/em-tramp.el (eshell/su, eshell/sudo):
* lisp/eshell/esh-ext.el (eshell-remote-command):
* lisp/eshell/esh-proc.el (eshell-gather-process-output):
* lisp/org/ob-core.el (org-babel-local-file-name):
* lisp/progmodes/gud.el (gud-common-init, gud-format-command):
* lisp/progmodes/python.el (python-shell-send-file):
* lisp/shell.el (shell):
* lisp/vc/ediff-diff.el (ediff-same-file-contents):
* lisp/vc/vc-git.el (vc-git-checkin): Use it.
2016-11-20 16:29:47 +01:00
Michael Albinus
024d5b0c41 Implement file name handler for `file-name-case-insensitive-p'
* doc/lispref/files.texi (Truenames): `file-name-case-insensitive-p'
is also applicable for remote hosts.

* lisp/net/tramp.el (tramp-methods): Improve docstring.
(tramp-file-name-for-operation): Add `file-name-case-insensitive-p'.
(tramp-handle-file-name-case-insensitive-p): New defun.

* lisp/net/tramp-smb.el (tramp-methods) <smb>:
Add `tramp-case-insensitive' entry.

* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist)
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
* lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
<file-name-case-insensitive-p>: Add handler.  (Bug#22300, Bug#24441)
2016-11-15 20:50:49 +01:00
Eli Zaretskii
4b87030972 Revert "Improve case-insensitive checks (Bug#24441)"
This reverts commit 2f5e0b1bf7.
I see no reason for removing code, documentation, and comments
in the original commit.
2016-11-14 21:25:44 +02:00
Paul Eggert
2f5e0b1bf7 Improve case-insensitive checks (Bug#24441)
* doc/lispref/files.texi (Truenames): Simplify documentation,
to avoid giving too much platform-specific information that
may not be accurate anyway.
* src/fileio.c (file_name_case_insensitive_p): Use pathconf with
_PC_CASE_SENSITIVE if _PC_CASE_INSENSITIVE is not available.
Otherwise if one approach fails (e.g., with errno == EINVAL), fall
back on an alternative rather than returning false.  Try skipping
the Darwin code, as it (1) no longer seems to be needed and (2)
does not seem to match the Apple documentation.  Leave in two
alternatives conditionally compiled based on
DARWIN_OS_CASE_SENSITIVE_FIXME in case (1) or (2) is incorrect.
2016-11-14 09:09:48 -08:00
Ken Brown
2809012c8f Check case-sensitivity when renaming files
* src/fileio.c (file_name_case_insensitive_p)
(Ffile_name_case_insensitive_p):  New functions.
(Frename_file): Allow renames that simply change case when the
FILE argument is on a case-insensitive filesystem.  (Bug#24441)

* lisp/dired-aux.el (dired-do-create-files): Use
'file-name-case-insensitive-p' instead of 'system-type' to check
for case-insensitivity.  (Bug#24441)

* doc/lispref/files.texi (Truenames): Document
'file-name-case-insensitive-p'.
2016-11-12 21:54:45 -05:00
Paul Eggert
ae0a1a890e Merge from origin/emacs-25
acae275 ; Spelling fixes
d8fac73 Update README for precompiled windows Emacs.
23570fd Clarify documentation of 'vc-responsible-backend' wrt symlinks
f708cb2 Clarify doc string of 'transpose-sexps'
cd05b1d Fix docstring of 'browse-url-firefox-new-window-is-tab'
bdc89eb Improve documentation of 'font-lock-remove-keywords'
4a0c590 Fix documentation of the command summary key
0221b7a Mark relocation workarounds with REL_ALLOC
2016-11-04 15:02:03 -07:00
Hong Xu
23570fd995 Clarify documentation of 'vc-responsible-backend' wrt symlinks
* lisp/vc/vc.el (vc-responsible-backend): Clarify that symlinks
are not resolved when the VC backend is reported.

* doc/lispref/files.texi (Truenames): Document
'vc-responsible-backend'.  (Bug#23436)
* doc/emacs/maintaining.texi (Version Control Systems): Fix a
typo.
2016-11-04 12:06:00 +02:00
Paul Eggert
897998291f New error file-missing
This fixes a recently-introduced bug in delete-directory,
where the code assumes the C locale when determining
whether a file-error corresponds to a missing file (Bug#24714).
* doc/lispref/errors.texi (Standard Errors):
* doc/lispref/files.texi (Changing Files):
* etc/NEWS:
Document this.
* doc/lispref/loading.texi (How Programs Do Loading):
Say "a file-error" rather than "the error file-error" since
it might be a file-missing now.
* lisp/emacs-lisp/bytecomp.el (byte-compile-file):
* lisp/epa-file.el (epa-file--find-file-not-found-function):
(epa-file-insert-file-contents, epa-file-write-region):
* lisp/ffap.el (find-file-at-point, dired-at-point):
* lisp/jka-compr.el (jka-compr-insert-file-contents)
(jka-compr-insert-file-contents):
* lisp/net/ange-ftp.el (ange-ftp-barf-if-not-directory)
(ange-ftp-insert-file-contents, ange-ftp-copy-file-internal):
* lisp/progmodes/etags.el (visit-tags-table):
* lisp/url/url-handlers.el (url-copy-file):
* src/fileio.c (report_file_errno):
Signal file-missing if appropriate.
* lisp/epa-file.el (epa-file-insert-file-contents):
* lisp/jka-compr.el (jka-compr-insert-file-contents):
Don't assume file-error is a leaf in the error hierarchy.
* lisp/files.el (files--force):
* lisp/gnus/nnmaildir.el (nnmaildir--enoent-p):
* lisp/jka-compr.el (jka-compr-insert-file-contents):
Use file-missing to detect whether the file is missing.
* lisp/url/url-handlers.el (url-copy-file):
Signal file-already-exists if appropriate.
* src/fileio.c (syms_of_fileio): Define file-missing.

2016-10-18  Paul Eggert  <eggert@cs.ucla.edu>
2016-10-21 13:06:03 -07:00
Paul Eggert
704fd2a7ae delete-directory no longer errors when racing
Problem reported by Glenn Morris for package-test.el (Bug#24714).
* doc/lispref/files.texi (Create/Delete Dirs), etc/NEWS: Document this.
* lisp/files.el (files--force): New function.
(delete-directory): Use it to avoid error in this case.
2016-10-18 09:37:13 -07:00
Paul Eggert
74c5b73521 * doc/lispref/files.texi: Remove @vindex. 2016-09-11 19:55:41 -07:00
Paul Eggert
073048d5de Remove unnecessary ref to coreutils manual
* doc/lispref/files.texi: Document write-region-inhibit-fsync.
2016-09-11 15:44:05 -07:00
Paul Eggert
31407634f7 Document file synchronization issues
* doc/lispref/files.texi (Files and Storage): New section.
2016-09-10 19:14:44 -07:00
Michael Albinus
2c0506173d Add make-nearby-temp-file' and temporary-file-directory'
* doc/lispref/files.texi (Unique File Names):
Introduce `make-nearby-temp-file' and `temporary-file-directory'.
(Magic File Names): Mention `make-nearby-temp-file' and
`temporary-file-directory'.

* etc/NEWS (provided): Mention `make-nearby-temp-file' and
`temporary-file-directory'.

* lisp/files.el (mounted-file-systems): New defcustom.
(temporary-file-directory, make-nearby-temp-file): New defuns.
(normal-backup-enable-predicate): Fix docstring.

* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
* lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
<make-nearby-temp-file, temporary-file-directory>: Add handler.

* lisp/net/tramp.el (tramp-file-name-for-operation):
Add `make-nearby-temp-file' and `temporary-file-directory'.
(tramp-get-remote-tmpdir): Remove compatibility code.
(tramp-handle-temporary-file-directory)
(tramp-handle-make-nearby-temp-file): New defuns.

* lisp/org/ob-core.el (org-babel-local-file-name):
* lisp/progmodes/gud.el (gud-common-init):
* lisp/vc/vc-hooks.el (vc-user-login-name): Use `file-remote-p'.

* lisp/vc/vc-git.el (vc-git-checkin): Handle remote log message.

* test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
Check `tramp--test-enabled'.
(tramp-test18-file-attributes): Add tests for
`file-ownership-preserved-p'.
(tramp-test27-start-file-process, tramp-test28-shell-command):
Reduce timeouts in `accept-process-output'.
(tramp-test--shell-command-to-string-asynchronously): Add timeout.
(tramp-test29-environment-variables): Remove additional sleep calls.
(tramp-test32-make-nearby-temp-file): New test.
(tramp--test-special-characters, tramp--test-utf8): Adapt docstring.
(tramp-test33-special-characters)
(tramp-test33-special-characters-with-stat)
(tramp-test33-special-characters-with-perl)
(tramp-test33-special-characters-with-ls, tramp-test34-utf8)
(tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
(tramp-test34-utf8-with-ls)
(tramp-test35-asynchronous-requests)
(tramp-test36-recursive-load, tramp-test37-unload): Rename.
(tramp--test-ftp-p): Simplify check.
(tramp--test-sh-p): New defun.
(tramp-test20-file-modes, tramp-test22-file-times)
(tramp-test26-process-file, tramp-test27-start-file-process)
(tramp-test28-shell-command)
(tramp-test29-environment-variables)
(tramp-test30-vc-registered)
(tramp-test33-special-characters-with-stat)
(tramp-test33-special-characters-with-perl)
(tramp-test33-special-characters-with-ls)
(tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
(tramp-test34-utf8-with-ls)
(tramp-test35-asynchronous-requests): Use it.
2016-08-07 13:57:23 +02:00
Andrew Hyatt
113b3852d7 Add warning to format-alist docs.
*/doc/lispref/files.texi (format-alist) Change documentation for
format-alist to warn against file modifications when formatting, which
leads to incorrect results.  (Bug#5440)

Changes suggested by Eli.
2016-07-25 21:31:48 -04:00
Glenn Morris
9f9b4fa783 * doc/lispref/files.texi (File Attributes): Fix typo. 2016-03-04 12:41:14 -05:00
Lars Ingebrigtsen
2d5b20f68c Add accessors for `file-attributes'
* doc/lispref/files.texi (File Attributes): Mention the accessors.

* lisp/files.el (file-attribute-type)
(file-attribute-link-number, file-attribute-user-id)
(file-attribute-group-id, file-attribute-access-time)
(file-attribute-modification-time)
(file-attribute-change-time, file-attribute-size)
(file-attribute-modes, file-attribute-inode-number)
(file-attribute-device-number): New functions.

* src/dired.c (Ffile_attributes): Mention the accessors (bug#22890).
2016-03-04 15:33:38 +00:00
Paul Eggert
0e963201d0 Update copyright year to 2016
Run admin/update-copyright.
2016-01-01 01:34:24 -08:00
Eli Zaretskii
eca277f937 Fix documentation and implementation of 'directory-name-p'
* lisp/files.el (directory-name-p): Modify to recognize
backslashes on MS-Windows and MS-DOS.  Adjust the doc string
accordingly.  Use '=', not char-equal, for comparison, as
letter-case cannot possibly be an issue here.

* doc/lispref/files.texi (Directory Names): Move the documentation
of directory-name-p here from "Relative File Names".  Update the
description per the changes in implementation.

* etc/NEWS: Move the entry for 'directory-name-p' to its proper
place and mark it documented.
2015-12-03 16:59:42 +02:00
Eli Zaretskii
b99a34bcb0 Document 'directory-files-recursively'
* lisp/files.el (directory-files-recursively): Doc fix.  Rename
the argument MATCH to REGEXP, to be more explicit about its form.

* doc/lispref/files.texi (Contents of Directories): Improve the
documentation of 'directory-files-recursively'.  Add
cross-references.

* etc/NEWS: Move the entry for 'directory-files-recursively' to
its place and mark it documented.
2015-12-01 18:16:22 +02:00
Eli Zaretskii
8e8a06803c ; Improve documentation of 'unhandled-file-name-directory'
* doc/lispref/files.texi (Magic File Names): Better wording for the
last change in the documentation of 'unhandled-file-name-directory'.
2015-10-29 19:48:18 +02:00
Dmitry Gutov
ffa41ad2a0 Don't require default-directory to end with a slash
* doc/lispref/files.texi (Magic File Names): Document the change
in unhandled-file-name-directory.

* lisp/url/url-handlers.el
(url-handler-unhandled-file-name-directory): Update accordingly.

* src/buffer.c (default-directory): Update the docsting.

* src/fileio.c (unhandled-file-name-directory): Default to calling
`file-name-as-directory'
(http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02294.html).
2015-10-29 03:01:45 +02:00
Stephen Leake
93dba9c2d7 Clarify that load-path contents should be directory file names
* doc/lispref/files.texi (Directory Names): Define and use "directory
file name". Recommend `expand-file-name'.

* src/lread.c (load-path): Fix doc string; elements are directory file
names.
2015-10-26 14:40:34 -05:00
Eli Zaretskii
f1575763c0 Fix return value of 'set-file-extended-attributes'
* lisp/files.el (set-file-extended-attributes): Return non-nil
when setting either ACLs or SELinux context succeeds.  Document
the return value.  (Bug#21699)

* doc/lispref/files.texi (Changing Files): Document the return
value of set-file-extended-attributes.
2015-10-19 10:04:50 +03:00
Eli Zaretskii
bca2bc4fe9 Improve documentation of functions that change files
* doc/lispref/files.texi (Changing Files): Document that these
functions signal an error on failure.
2015-10-19 08:31:58 +03:00
Michael Albinus
f5bdcb3221 Improve file notifications, especially for Tramp
* doc/lispref/files.texi (Magic File Names):
Mention `file-notify-valid-p'.

* doc/lispref/os.texi (File Notifications):
Describe `file-notify-valid-p'.

* etc/NEWS: Add `file-notify-valid-p'.

* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
Improve implementation.
(tramp-gvfs-monitor-file-process-filter): Rename from
`tramp-gvfs-file-gvfs-monitor-file-process-filter'.  Delete
process if appropriate.

* lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
Improve implementation.
(tramp-sh-gvfs-monitor-dir-process-filter): Rename from
`tramp-sh-file-gvfs-monitor-dir-process-filter'.  Delete process
if appropriate.
(tramp-sh-inotifywait-process-filter): Rename from
`tramp-sh-file-inotifywait-process-filter'.  Delete process if
appropriate.

* lisp/net/tramp.el (tramp-handle-file-notify-rm-watch):
Use `delete-process'
(tramp-handle-file-notify-valid-p): Check also, that file or
directory to be watched still exists.

* test/automated/file-notify-tests.el (file-notify--test-timeout):
New defun.  Use it at all places a timeout is needed.
(file-notify--test-cleanup): Delete directories recursively.
Cleanup also Tramp connections.
(file-notify-test02-events): Add tests for `attribute-change'.
(file-notify-test04-file-validity, file-notify-test05-dir-validity):
Add tests for `file-notify-rm-watch'.
2015-09-20 18:44:36 +02:00