diff options
Diffstat (limited to 'doc/lispref/files.texi')
| -rw-r--r-- | doc/lispref/files.texi | 78 |
1 files changed, 48 insertions, 30 deletions
diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi index 93bee961929..114eb1f38ea 100644 --- a/doc/lispref/files.texi +++ b/doc/lispref/files.texi @@ -1,7 +1,7 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 -@c Free Software Foundation, Inc. +@c Copyright (C) 1990-1995, 1998-1999, 2001-2013 Free Software +@c Foundation, Inc. @c See the file elisp.texi for copying conditions. @node Files @chapter Files @@ -1356,24 +1356,17 @@ support, then the return value is @code{(nil nil nil nil)}. @cindex ACL entries If Emacs has been compiled with @dfn{ACL} (access control list) support, you can use the function @code{file-acl} to retrieve a file's -ACL entries. The format is platform-specific; on GNU/Linux and BSD, -Emacs uses the POSIX ACL interface. For the function -@code{set-file-acl}, see @ref{Changing Files}. +ACL entries. The interface implementation is platform-specific; on +GNU/Linux and BSD, Emacs uses the POSIX ACL interface, while on +MS-Windows Emacs emulates the POSIX ACL interface with native file +security APIs. @defun file-acl filename -This function returns the ACL entries of the file @var{filename}. -The return value is a string containing the textual representation of -the ACL entries, like the following: - -@example -@group -user::rw- -group::r-- -group:gnu:rwx -mask::rwx -other::r-- -@end group -@end example +This function returns the ACL entries of the file @var{filename}. The +return value is a platform-dependent object containing some +representation of the ACL entries. Don't use it for anything except +passing it to the @code{set-file-acl} function (@pxref{Changing Files, +set-file-acl}). If the file does not exist or is inaccessible, or if Emacs was unable to determine the ACL entries, then the return value is @code{nil}. The @@ -1710,16 +1703,21 @@ This function sets the SELinux security context of the file @var{filename} to @var{context}. @xref{File Attributes}, for a brief description of SELinux contexts. The @var{context} argument should be a list @code{(@var{user} @var{role} @var{type} @var{range})}, like the -return value of @code{file-selinux-context}. The function does -nothing if SELinux is disabled, or if Emacs was compiled without -SELinux support. +return value of @code{file-selinux-context}. The function returns +@code{t} if it succeeds to set the SELinux security context of +@var{filename}, @code{nil} otherwise. The function does nothing and +returns @code{nil} if SELinux is disabled, or if Emacs was compiled +without SELinux support. @end defun @defun set-file-acl filename acl-string This function sets the ACL entries of the file @var{filename} to @var{acl-string}. @xref{File Attributes}, for a brief description of ACLs. The @var{acl-string} argument should be a string containing the -textual representation of the desired ACL entries. +textual representation of the desired ACL entries as returned by +@code{file-acl} (@pxref{File Attributes, file-acl}). The function +returns @code{t} if it succeeds to set the ACL entries of +@var{filename}, @code{nil} otherwise. @end defun @node File Names @@ -1739,12 +1737,20 @@ how to manipulate file names. can operate on file names that do not refer to an existing file or directory. +@findex cygwin-convert-file-name-from-windows +@findex cygwin-convert-file-name-to-windows +@cindex MS-Windows file-name syntax +@cindex converting file names from/to MS-Windows syntax On MS-DOS and MS-Windows, these functions (like the function that actually operate on files) accept MS-DOS or MS-Windows file-name syntax, where backslashes separate the components, as well as Unix syntax; but they always return Unix syntax. This enables Lisp programs to specify file names in Unix syntax and work properly on all systems without -change. +change.@footnote{In MS-Windows versions of Emacs compiled for the Cygwin +environment, you can use the functions +@code{cygwin-convert-file-name-to-windows} and +@code{cygwin-convert-file-name-from-windows} to convert between the +two file-name syntaxes.} @menu * File Name Components:: The directory part of a file name, and the rest. @@ -2756,9 +2762,12 @@ first, before handlers for jobs such as remote file access. @code{dired-compress-file}, @code{dired-uncache},@* @code{expand-file-name}, @code{file-accessible-directory-p}, +@code{file-acl}, @code{file-attributes}, @code{file-directory-p}, +@code{file-equal-p}, @code{file-executable-p}, @code{file-exists-p}, +@code{file-in-directory-p}, @code{file-local-copy}, @code{file-remote-p}, @code{file-modes}, @code{file-name-all-completions}, @code{file-name-as-directory}, @@ -2767,9 +2776,10 @@ first, before handlers for jobs such as remote file access. @code{file-name-nondirectory}, @code{file-name-sans-versions}, @code{file-newer-than-file-p}, @code{file-ownership-preserved-p}, -@code{file-readable-p}, @code{file-regular-p}, @code{file-in-directory-p}, +@code{file-readable-p}, @code{file-regular-p}, +@code{file-selinux-context}, @code{file-symlink-p}, @code{file-truename}, @code{file-writable-p}, -@code{file-equal-p}, @code{find-backup-file-name}, +@code{find-backup-file-name}, @c Not sure why it was here: @code{find-file-noselect},@* @code{get-file-buffer}, @code{insert-directory}, @@ -2780,7 +2790,8 @@ first, before handlers for jobs such as remote file access. @code{make-directory-internal}, @code{make-symbolic-link},@* @code{process-file}, -@code{rename-file}, @code{set-file-modes}, @code{set-file-times}, +@code{rename-file}, @code{set-file-acl}, @code{set-file-modes}, +@code{set-file-selinux-context}, @code{set-file-times}, @code{set-visited-file-modtime}, @code{shell-command}, @code{start-file-process}, @code{substitute-in-file-name},@* @@ -2803,9 +2814,12 @@ first, before handlers for jobs such as remote file access. @code{dired-compress-file}, @code{dired-uncache}, @code{expand-file-name}, @code{file-accessible-direc@discretionary{}{}{}tory-p}, +@code{file-acl}, @code{file-attributes}, @code{file-direct@discretionary{}{}{}ory-p}, +@code{file-equal-p}, @code{file-executable-p}, @code{file-exists-p}, +@code{file-in-directory-p}, @code{file-local-copy}, @code{file-remote-p}, @code{file-modes}, @code{file-name-all-completions}, @code{file-name-as-directory}, @@ -2814,18 +2828,22 @@ first, before handlers for jobs such as remote file access. @code{file-name-nondirec@discretionary{}{}{}tory}, @code{file-name-sans-versions}, @code{file-newer-than-file-p}, @code{file-ownership-pre@discretionary{}{}{}served-p}, -@code{file-readable-p}, @code{file-regular-p}, @code{file-symlink-p}, -@code{file-truename}, @code{file-writable-p}, +@code{file-readable-p}, @code{file-regular-p}, +@code{file-selinux-context}, +@code{file-symlink-p}, @code{file-truename}, @code{file-writable-p}, @code{find-backup-file-name}, @c Not sure why it was here: @code{find-file-noselect}, @code{get-file-buffer}, @code{insert-directory}, @code{insert-file-contents}, -@code{load}, @code{make-direc@discretionary{}{}{}tory}, +@code{load}, +@code{make-auto-save-file-name}, +@code{make-direc@discretionary{}{}{}tory}, @code{make-direc@discretionary{}{}{}tory-internal}, @code{make-symbolic-link}, @code{process-file}, -@code{rename-file}, @code{set-file-modes}, +@code{rename-file}, @code{set-file-acl}, @code{set-file-modes}, +@code{set-file-selinux-context}, @code{set-file-times}, @code{set-visited-file-modtime}, @code{shell-command}, @code{start-file-process}, @code{substitute-in-file-name}, |
