1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-30 19:53:09 +00:00
emacs/doc/lispref
Paul Eggert 9d626dffc6 Add 'nofollow' flag to set-file-modes etc.
This avoids some race conditions (Bug#39683).  E.g., if some other
program changes a file to a symlink between the time Emacs creates
the file and the time it changes the file’s permissions, using the
new flag prevents Emacs from inadvertently changing the
permissions of a victim in some completely unrelated directory.
* admin/merge-gnulib (GNULIB_MODULES): Add fchmodat.
* doc/lispref/files.texi (Testing Accessibility, Changing Files):
* doc/lispref/os.texi (File Notifications):
* etc/NEWS:
Adjust documentation accordingly.
* lib/chmodat.c, lib/fchmodat.c, lib/lchmod.c, m4/fchmodat.m4:
* m4/lchmod.m4: New files, copied from Gnulib.
* lib/gnulib.mk.in: Regenerate.
* lisp/dired-aux.el (dired-do-chmod):
* lisp/doc-view.el (doc-view-make-safe-dir):
* lisp/emacs-lisp/autoload.el (autoload--save-buffer):
* lisp/emacs-lisp/bytecomp.el (byte-compile-file):
* lisp/eshell/em-pred.el (eshell-pred-file-mode):
* lisp/files.el (backup-buffer-copy, copy-directory):
* lisp/gnus/mail-source.el (mail-source-movemail):
* lisp/gnus/mm-decode.el (mm-display-external):
* lisp/gnus/nnmail.el (nnmail-write-region):
* lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy)
(tramp-adb-handle-write-region):
* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-directly):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-write-region):
* lisp/net/tramp.el (tramp-handle-write-region)
(tramp-make-tramp-temp-file):
* lisp/server.el (server-ensure-safe-dir):
* lisp/url/url-util.el (url-make-private-file):
When getting or setting file modes, avoid following symbolic links
when the file is not supposed to be a symbolic link.
* lisp/doc-view.el (doc-view-make-safe-dir):
Omit no-longer-needed separate symlink test.
* lisp/gnus/gnus-util.el (gnus-set-file-modes):
* lisp/net/tramp.el (tramp-handle-file-modes):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-set-file-modes):
* src/fileio.c (symlink_nofollow_flag): New function.
(Ffile_modes, Fset_file_modes):
Support an optional FLAG arg.  All C callers changed.
* lisp/net/ange-ftp.el (ange-ftp-set-file-modes):
* lisp/net/tramp-adb.el (tramp-adb-handle-set-file-modes):
* lisp/net/tramp-sh.el (tramp-sh-handle-set-file-modes):
* lisp/net/tramp-smb.el (tramp-smb-handle-set-file-modes):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-set-file-modes):
Accept an optional FLAG arg that is currently ignored,
and add a FIXME comment for it.
* m4/gnulib-comp.m4: Regenerate.
2020-02-23 16:45:50 -08:00
..
abbrevs.texi Update copyright year to 2020 2020-01-01 00:59:52 +00:00
anti.texi ; * doc/lispref/anti.texi (Antinews): Fix typo. 2020-01-11 14:14:11 +01:00
back.texi Update copyright year to 2020 2020-01-01 00:59:52 +00:00
backups.texi Update copyright year to 2020 2020-01-01 00:59:52 +00:00
book-spine.texi Fix single-quoting style in PDF manuals 2015-05-01 12:06:38 -07:00
buffers.texi Update copyright year to 2020 2020-01-01 00:59:52 +00:00
ChangeLog.1 Update copyright year to 2020 2020-01-01 00:59:52 +00:00
commands.texi Update copyright year to 2020 2020-01-01 00:59:52 +00:00
compile.texi Update copyright year to 2020 2020-01-01 00:59:52 +00:00
control.texi Update copyright year to 2020 2020-01-01 00:59:52 +00:00
customize.texi Update copyright year to 2020 2020-01-01 00:59:52 +00:00
debugging.texi Update copyright year to 2020 2020-01-01 00:59:52 +00:00
display.texi Fix display of minibuffer prompt in ido.el 2020-02-12 21:39:44 +02:00
doclicense.texi Merge from Gnulib 2017-10-01 18:31:10 -07:00
edebug.texi Introduce element &error into edebug specification lists for macros 2020-01-17 21:53:13 +00:00
elisp.texi Update Antinews in ELisp manual 2020-01-11 13:36:07 +02:00
errors.texi Update copyright year to 2020 2020-01-01 00:59:52 +00:00
eval.texi Update copyright year to 2020 2020-01-01 00:59:52 +00:00
files.texi Add 'nofollow' flag to set-file-modes etc. 2020-02-23 16:45:50 -08:00
frames.texi Minor fixes of the last commit 2020-02-07 12:10:43 +02:00
functions.texi ; Move the description of define-inline to a different node in functions.texi 2020-01-11 11:48:17 +02:00
gpl.texi Merge from Gnulib 2017-10-01 18:31:10 -07:00
hash.texi Update copyright year to 2020 2020-01-01 00:59:52 +00:00
help.texi Update copyright year to 2020 2020-01-01 00:59:52 +00:00
hooks.texi Update copyright year to 2020 2020-01-01 00:59:52 +00:00
index.texi
internals.texi Merge from origin/emacs-27 2020-01-20 07:50:26 -08:00
intro.texi Update copyright year to 2020 2020-01-01 00:59:52 +00:00
keymaps.texi Add new help command describe-keymap 2020-02-04 02:04:20 +01:00
lay-flat.texi Update copyright year to 2020 2020-01-01 00:59:52 +00:00
lists.texi Clarify lexvar restrictions for add-to-ordered-list, add-to-history 2020-02-02 12:52:44 +01:00
loading.texi Merge from origin/emacs-27 2020-01-01 01:08:16 +00:00
macros.texi Update copyright year to 2020 2020-01-01 00:59:52 +00:00
Makefile.in Prefer saying "Info manual" to "info page" in docs 2020-01-23 14:44:27 +01:00
maps.texi Update copyright year to 2020 2020-01-01 00:59:52 +00:00
markers.texi Update copyright year to 2020 2020-01-01 00:59:52 +00:00
minibuf.texi Merge from origin/emacs-27 2020-02-06 07:50:29 -08:00
modes.texi Add and remove backslashes in regexps 2020-02-20 16:03:30 +01:00
nonascii.texi Update copyright year to 2020 2020-01-01 00:59:52 +00:00
numbers.texi Clarify when fixnums are used. 2020-02-17 13:54:36 -08:00
objects.texi Merge from origin/emacs-27 2020-01-28 07:50:22 -08:00
os.texi Add 'nofollow' flag to set-file-modes etc. 2020-02-23 16:45:50 -08:00
package.texi Update copyright year to 2020 2020-01-01 00:59:52 +00:00
positions.texi Update copyright year to 2020 2020-01-01 00:59:52 +00:00
processes.texi Remove references to obsolete libraries 2020-01-16 15:33:17 +01:00
README Update copyright year to 2020 2020-01-01 00:59:52 +00:00
records.texi Update copyright year to 2020 2020-01-01 00:59:52 +00:00
searching.texi Warn about the likes of "[:alnum:]" in regexps 2020-02-22 11:07:42 +02:00
sequences.texi Update copyright year to 2020 2020-01-01 00:59:52 +00:00
spellfile Update lispref spellfile 2019-06-04 08:34:16 -07:00
streams.texi * doc/lispref/streams.texi (Output Functions): Improve indexing. 2020-01-25 19:15:32 +01:00
strings.texi Update copyright year to 2020 2020-01-01 00:59:52 +00:00
symbols.texi Update copyright year to 2020 2020-01-01 00:59:52 +00:00
syntax.texi Update copyright year to 2020 2020-01-01 00:59:52 +00:00
text.texi Fix display of minibuffer prompt in ido.el 2020-02-12 21:39:44 +02:00
threads.texi Update copyright year to 2020 2020-01-01 00:59:52 +00:00
tips.texi Moderate recommendation to escape '(' in doc strings 2020-01-26 14:52:15 +01:00
two-volume-cross-refs.txt Update copyright year to 2020 2020-01-01 00:59:52 +00:00
two-volume.make Update copyright year to 2020 2020-01-01 00:59:52 +00:00
variables.texi * doc/lispref/variables.texi (special-variable-p): Clarify limits 2020-02-13 15:01:28 -05:00
windows.texi Fix sxhash-equal on bytecodes, markers, etc. 2020-01-07 11:29:42 -08:00

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Copyright (C) 2001-2020 Free Software Foundation, Inc.  -*- outline -*-
See the end of the file for license conditions.


README for the Emacs Lisp Reference Manual.

* This directory contains the texinfo source files for the Emacs Lisp
Reference Manual.

* Report bugs in the Lisp Manual (or in Emacs) using M-x report-emacs-bug.
To ask questions, use the help-gnu-emacs mailing list.

* The Emacs Lisp Reference Manual is quite large.  It totals around
1100 pages in smallbook format; the info files total around 3.0 megabytes.

* You can format this manual for Info, for printing hardcopy using TeX,
or for HTML.

* You can buy nicely printed copies from the Free Software Foundation.
Buying a manual from the Free Software Foundation helps support our GNU
development work.  See <https://shop.fsf.org/>.
(At time of writing, this manual is out of print.)

* The master file for formatting this manual for Tex is called 'elisp.texi'.
It contains @include commands to include all the chapters that make up
the manual.

* This distribution contains a Makefile that you can use with GNU Make.

** To make an Info file, you need to install Texinfo, then run 'make info'.

** Use 'make elisp.pdf' or 'make elisp.html' to create PDF or HTML versions.


This file is part of GNU Emacs.

GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.