Commit graph

343 commits

Author SHA1 Message Date
Romain Francoise
7c3d167f48 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'.
2012-12-16 19:22:27 +01:00
Paul Eggert
97976f9f3f Fix permissions bugs with setgid directories etc.
* configure.ac (BSD4_2): Remove; no longer needed.
* admin/CPP-DEFINES (BSD4_2): Remove.
* doc/lispintro/emacs-lisp-intro.texi (Files List):
directory-files-and-attributes now outputs t for attribute that's
now a placeholder.
* doc/lispref/files.texi (Testing Accessibility): Document GROUP arg
of file-ownership-preserved-p.
(File Attributes): Document that 9th element is now
just a placeholder.
* doc/lispref/os.texi (User Identification): Document new functions group-gid,
group-real-gid.
* etc/NEWS: Document changes to file-attributes,
file-ownership-preserved-p.
Mention new functions group-gid, group-real-gid.
* lisp/files.el (backup-buffer): Don't rely on 9th output of
file-attributes, as it's now a placeholder.  Instead, use the new
optional arg of file-ownership-preserved-p.
(file-ownership-preserved-p): New optional arg GROUP.
Fix mishandling of setuid directories that would cause this
function to return t when it should have returned nil.
Document what happens if the file does not exist, and when
it's not known whether the ownership will be preserved.
* lisp/net/tramp-sh.el (tramp-sh-handle-file-ownership-preserved-p):
Likewise.
(tramp-get-local-gid): Use group-gid for integer, as that's
faster and more reliable.
* src/dired.c (Ffile_attributes): Return t as the 9th attribute,
to mark it as a placeholder.  The old value was often wrong.
The only user of this attribute has been changed to use
file-ownership-preserved-p instead, with its new group arg.
* src/editfns.c (Fgroup_gid, Fgroup_real_gid): New functions.

Fixes: debbugs:13125
2012-12-14 10:59:00 -08:00
Paul Eggert
1df7defd80 Fix minor whitespace issues after "." in manual.
Be more systematic about using "@." (not ".") at end of sentence that
ends in a capital letter, and about appending "@:" after non-ends of
sentences that end in a lower case letter followed by "." followed by
whitespace.  Omit unnecessary use of "@:" and "@.".  Similarly for "?"
and "!".  Be more consistent about putting a comma after "i.e." and
"e.g."; this is the typical American style and it's easier to code in
Texinfo.

Fixes: debbugs:12973
2012-12-05 14:27:56 -08:00
Paul Eggert
72ec96fb41 Update manual for new time stamp format.
These instances were missed the first time around.
Problem reported by Glenn Morris in <http://bugs.gnu.org/12706#25>.
* doc/lispintro/emacs-lisp-intro.texi (Files List):
* doc/lispref/buffers.texi (Modification Time):
* doc/lispref/files.texi (Testing Accessibility, File Attributes):
* doc/lispref/intro.texi (Version Info):
* doc/lispref/os.texi (Time of Day):
* doc/misc/emacs-mime.texi (time-date): 
Update for new time stamp format (HIGH LOW MICROSEC PICOSEC).
* doc/misc/emacs-mime.texi (time-date): 
Also, fix bogus time stamp and modernize a bit.
2012-10-24 05:12:23 +00:00
Paul Eggert
c4132fd4f0 Fix outdated timestamp documentation in Elisp manual.
* doc/lispref/files.texi (File Attributes):
* doc/lispref/text.texi (Undo):
Time stamp resolution is now 1 picosecond, not 1 second.
* etc/NEWS: Document increased precision in undo list.

Fixes: debbugs:12706
2012-10-23 00:57:42 -07:00
Glenn Morris
e61d39cddf Merge from emacs-24; up to 2012-05-07T21:26:08Z!rgm@gnu.org 2012-09-28 09:02:31 -07:00
Leo Liu
03922966f3 Fix typo in files.texi 2012-09-25 22:40:20 +08:00
Sam Steingold
d2c32364fd * lisp/files.el (file-name-base): New convenience function.
* lisp/autoinsert.el, lisp/cus-dep.el, lisp/doc-view.el, lisp/image-dired.el,
* lisp/woman.el, lisp/eshell/esh-cmd.el, lisp/progmodes/ada-xref.el,
* lisp/progmodes/cc-defs.el, lisp/progmodes/cperl-mode.el,
* lisp/progmodes/flymake.el, lisp/progmodes/gud.el, lisp/progmodes/idlwave.el,
* lisp/textmodes/ispell.el, lisp/textmodes/reftex-ref.el,
* lisp/textmodes/tex-mode.el: Use it.
Did not touch cedet and org because they are maintained elsewhere.
2012-06-26 12:23:01 -04:00
Chong Yidong
41b7f8bc6c Merge changes from emacs-24; up to 2012-04-26T02:03:19Z!ueno@unixuser.org 2012-06-17 13:13:40 +08:00
Chong Yidong
84f4a53180 More minor manual copyedits to fix 7x9 manual underfull/overfull hboxes.
* doc/emacs/emacs.texi: Remove urlcolor setting.

* doc/lispref/elisp.texi, vol1.texi, vol2.texi: Remove urlcolor setting.

* doc/lispref/vol2.texi: Include package.texi.
2012-06-11 14:48:47 +08:00
Glenn Morris
ecc6530da9 Nuke hand-written node pointers in doc/lispref
Let makeinfo figure them out, as is recommended.
2012-05-26 18:34:14 -07:00
Glenn Morris
33017fafd1 Merge from emacs-24; up to 2012-04-24T08:35:02Z!lekktu@gmail.com 2012-05-26 18:06:44 -07:00
Martin Rudalics
0b128ac426 Some minor fixes of Elisp manual.
* commands.texi (Recursive Editing): recursive-edit is a
command.
* compile.texi (Docs and Compilation):
byte-compile-dynamic-docstrings is an option.
* debugging.texi (Invoking the Debugger): debug is a command.
* display.texi (Progress): progress-reporter-update and
progress-reporter-force-update have VALUE argument optional.
(Animated Images): Use non-@code{nil} instead of non-nil.
* files.texi (Format Conversion Round-Trip): Use non-@code{nil}
instead of non-nil.
* frames.texi (Creating Frames): make-frame is a command.
(Input Focus): select-frame is a command.
(Pointer Shape): void-text-area-pointer is an option.
* help.texi (Describing Characters): read-kbd-macro is a
command.
(Help Functions): describe-prefix-bindings is a command.
* markers.texi (Creating Markers): Both arguments of copy-marker
are optional.
* minibuf.texi (Reading File Names): Use @kbd instead of @code.
* modes.texi (Mode Line Variables): mode-line-remote and
mode-line-client are not options.
(Imenu): imenu-add-to-menubar is a command.
(SMIE Indentation Helpers): Use non-@code{nil} instead of
non-nil.
* os.texi (Sound Output): play-sound-file is a command.
* package.texi (Package Archives): Use @key{RET} instead of
@kbd{RET}.
* processes.texi (Signals to Processes): Use @key{RET} instead
of @code{RET}.
(Signals to Processes): signal-process is a command.
* text.texi (Clickable Text): Use @key{RET} instead of
@kbd{RET}.
(Base 64): base64-encode-string is not a command while
base64-decode-region is.
* windows.texi (Switching Buffers): pop-to-buffer is a command.
2012-05-15 11:38:50 +02:00
Glenn Morris
dc0f75c82c Document new create-lockfiles option 2012-05-09 20:58:16 -04:00
Glenn Morris
90207a1525 Merge from emacs-24; up to 2012-04-16T19:06:02Z!rgm@gnu.org 2012-05-02 00:20:29 -07:00
Glenn Morris
7eac3782ca Reword some doc/lispref to remove/reduce some overly long/short lines.
* package.texi (Packaging Basics):
* loading.texi (Autoload):
* files.texi (Magic File Names):
Reword to remove/reduce some overly long/short lines.
2012-04-28 01:05:01 -07:00
Chong Yidong
a8e7d6d783 Merge changes from emacs-24 branch 2012-04-27 11:10:38 +08:00
Glenn Morris
16152b76a4 Use Texinfo recommended convention for quotes+punctuation. 2012-04-25 20:31:47 -04:00
Chong Yidong
c07a4c0b59 Merge from emacs-24 branch 2012-04-20 16:48:50 +08:00
Christopher Schmidt
0e80650b8b Docfix for require-final-newline in Lisp manual.
* doc/lispref/files.texi (Saving Buffers): Document `visit and `visit-save'
values of require-final-newline.
2012-04-18 14:20:47 +08:00
Glenn Morris
1e103a7cd8 Remove unnecessary @setfilename commands from many doc/lispref/*.texi 2012-04-13 18:59:01 -07:00
Glenn Morris
8fc85b2054 Use @env for environment variables in texinfo manuals
It renders the same as @code, so in many cases this change is entirely cosmetic.

* doc/emacs/misc.texi (Gnus Startup):
* doc/lispref/files.texi, doc/lispref/frames.texi:
* doc/lispref/loading.texi, doc/lispref/os.texi, doc/lispref/processes.texi:
Use @env for environment variables.
2012-04-07 19:07:16 -07:00
Chong Yidong
42ee526b1a Rename file-subdir-of-p to file-in-directory-p.
* lisp/files.el (file-in-directory-p): Rename from file-subdir-of-p.
Handle root directory properly.
(copy-directory): Caller changed.

* lisp/dired-aux.el (dired-copy-file-recursive, dired-create-files):
* lisp/net/tramp.el (tramp-file-name-for-operation): Callers changed.

* doc/lispref/files.texi (Kinds of Files): file-subdir-of-p renamed to
file-in-directory-p.
2012-04-01 10:44:24 +08:00
Michael Albinus
7272fbf3f6 * files.texi (Kinds of Files): The return value of file-equal-p is
unspecified, if FILE1 or FILE2 does not exist.
2012-03-01 09:21:32 +01:00
thierry volpiatto
96b4930127 * lisp/files.el (file-equal-p): renamed from `files-equal-p'.
Now return nil when one or both files doesn't exists.
(file-subdir-of-p): Now only top directory must exists,
return nil if it doesn't.
(copy-directory): No need to test with `file-subdir-of-p' after creating dir.
* tramp.el (tramp-file-name-for-operation): Rename `files-equal-p' to `file-equal-p'.
* files.texi: Rename `files-equal-p' to `file-equal-p'.
2012-02-28 10:28:52 +01:00
Chong Yidong
431ee44bbe More updates for Buffers and Files chapters of Lisp manual.
* doc/emacs/buffers.texi (Creating Buffers): Clarify that
generate-new-buffer uses generate-new-buffer-names.
(Killing Buffers): Remove bogus example duplicating buffer-live-p.

* doc/emacs/files.texi (Directory Names): Index entry for file name abbreviations.
(Relative File Names, File Name Expansion): Refer to it.
(Locating Files): Move locate-user-emacs-file documentation to
Standard File Names.
(Standard File Names): Add locate-user-emacs-file; update examples.
2012-02-27 15:26:13 +08:00
Michael Albinus
6a11ec9d5c * files.texi (Magic File Names): Add files-equal-p and file-subdir-of-p. 2012-02-26 10:41:13 +01:00
Chong Yidong
fa9a085539 * doc/misc/ediff.texi (Quick Help Commands): Add a couple of index entries.
Fixes: debbugs:10834
2012-02-26 17:29:50 +08:00
Chong Yidong
9a4888c093 Code and doc fixes for file-subdir-of-p and files-equal-p.
* lisp/files.el (files-equal-p): Doc fix.
(file-subdir-of-p): Doc fix.  Convert loop macro to plain Lisp,
and quit the loop once a mismatch is found.

* doc/lispref/files.texi (Kinds of Files): Improve documentation of
files-equal-p and file-subdir-of-p.
2012-02-26 17:08:19 +08:00
thierry volpiatto
2345325552 * doc/lispref/files.texi: (files-equal-p, file-subdir-of-p): Add documentation. 2012-02-25 16:31:07 +01:00
Chong Yidong
fa74b241a3 Document SELinux support functions in Lisp manual.
* doc/lispref/backups.texi (Making Backups): Return value of backup-buffer is
changed.

* doc/lispref/files.texi (File Attributes): Document file-selinux-context.
(Changing Files): Link to it.
(Changing Files): Document set-file-selinux-context.

* fileio.c (Ffile_selinux_context, Fset_file_selinux_context):
Doc fix.
2012-02-25 17:07:23 +08:00
Chong Yidong
a59225b146 Update Files chapter in Lisp manual.
* doc/lispref/files.texi (Files): Mention magic file names as arguments.
(Reading from Files): Copyedits.
(File Attributes): Mention how to change file modes.
(Changing Files): Use standard "file permissions" terminology.
Add xref to File Attributes node.
(Locating Files): Document locate-user-emacs-file.
(Unique File Names): Recommend against using make-temp-name.

* src/buffer.c (Fget_file_buffer): Protect against invalid file
handler return value.

* src/fileio.c (Vfile_name_handler_alist): Doc fix.
2012-02-21 21:24:48 +08:00
Glenn Morris
b011fbfe6c Doc fixes for remote-file-name-inhibit-cache
* doc/lispref/files.texi (Magic File Names):
Tweak remote-file-name-inhibit-cache entry.
* lisp/files.el (remote-file-name-inhibit-cache): Doc fixes.
* etc/NEWS: Edits.
2012-02-10 00:08:23 -08:00
Glenn Morris
641cac0992 * doc/lispref/files.texi (Changing Files): Remove part of previous change. 2012-01-28 19:11:45 -08:00
Glenn Morris
a49ca6b95b Document SELinux support.
* doc/lispref/files.texi (Changing Files): Document SELinux support.
* etc/NEWS: Markup.
2012-01-28 18:49:57 -08:00
Glenn Morris
acaf905b11 Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
Paul Eggert
8d80ef01d9 doc: Use clearer notations for permissions.
* doc/lispref/files.texi (File Attributes, Changing Files):
Use a more-natural notation for octal numbers.
* doc/misc/gnus.texi (Mail Source Customization, Mail Back End Variables):
Use octal notation for file permissions, which are normally
thought of in octal.
(Mail Back End Variables): Use more-plausible modes in example.
2011-12-27 22:59:21 -08:00
Paul Eggert
f6b1b0a848 Spelling fixes. 2011-11-12 23:48:23 -08:00
Chong Yidong
0e406a72ed Document display-buffer and other window changes in Lisp manual.
* doc/lispref/windows.texi (Window History): New node.  Move text here
from Buffers and Windows.
(Switching Buffers): Rename from Displaying Buffers, since we
don't document display-buffer here; callers changed.  Document
FORCE-SAME-WINDOW arg to switch-to-buffer and
switch-to-buffer-other-frame.  Delete duplicate
replace-buffer-in-windows doc.
(Choosing Window): Document display actions.
2011-09-24 18:49:32 -04:00
Chong Yidong
e2aeef63a6 Add xrefs to View Mode node to Emacs manual.
* doc/emacs/files.texi (File Archives):
* doc/emacs/cal-xtra.texi (Diary Display):
* doc/emacs/help.texi (Help Mode): Add xref to View Mode.
2011-08-28 17:15:20 -04:00
Chong Yidong
a632608298 Document copy-directory and related changes in manuals.
* doc/emacs/buffers.texi (Misc Buffer): Move view-buffer to View Mode.

* doc/emacs/display.texi (View Mode): New node.  Move view-file here from
Misc File Ops.  Move view-buffer here from Misc Buffer.

* doc/emacs/files.texi (Misc File Ops): Document new
delete-by-moving-to-trash behavior.  Remove view-file.

* doc/lispref/files.texi (Changing Files, Create/Delete Dirs): Document new
arguments for delete-file, delete-directory, and copy-directory.
2011-08-28 17:07:10 -04:00
Chong Yidong
04e2ce72d0 Document trash changes in manual.
* doc/emacs/dired.texi (Dired Deletion): Shorten description of Trash.

* doc/emacs/files.texi (Misc File Ops): Document new
delete-by-moving-to-trash behavior.

* doc/lispref/files.texi (Changing Files, Create/Delete Dirs): Document TRASH
argument.
2011-08-28 16:22:10 -04:00
Paul Eggert
001903b549 Merge: Document wide integers better. 2011-06-06 12:43:39 -07:00
Paul Eggert
2d365993f1 Document wide integers better.
* files.texi (File Attributes):
ino_t values no longer map to anything larger than a single cons.
2011-06-03 12:04:41 -07:00
Paul Eggert
be14b9ab10 Document wide integers better.
* files.texi (File Attributes): Document ino_t values better.
* numbers.texi (Integer Basics, Integer Basics, Arithmetic Operations):
(Bitwise Operations):
* objects.texi (Integer Type): Integers are typically 62 bits now.
* os.texi (Time Conversion): Document time_t values better.
2011-06-03 11:49:33 -07:00
Glenn Morris
d2fc7e3d0f Merge from emacs-23; up to 2010-06-10T12:56:11Z!michael.albinus@gmx.de. 2011-05-12 00:07:06 -07:00
Eli Zaretskii
3ee240faef Typo fix in doc/lispref/files.texi. 2011-05-09 23:38:50 +03:00
Glenn Morris
06083aa12d file-truename doc fix for bug#2341.
* lisp/files.el (file-truename): Doc fix.

* doc/lispref/files.texi (Truenames): Minor clarification.
2011-03-03 00:10:52 -08:00
Glenn Morris
67ab0163d6 Merge from emacs-23; up to 2010-06-01T01:49:15Z!monnier@iro.umontreal.ca 2011-02-19 11:40:59 -08:00
Eli Zaretskii
e03b2fd40d Document find-file-literally in the ELisp manual.
files.texi (Visiting Functions): Document find-file-literally,
 both the command and the variable.
2011-02-18 12:23:51 +02:00