1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-24 14:30:43 -08:00
emacs/admin
Paul Eggert a6ad98ad66 Improve make-temp-file performance on local files
For the motivation behind this patch, please see Bug#28023 and:
http://emacshorrors.com/posts/make-temp-name.html
Although, given the recent changes to Tramp, the related security
problem in make-temp-file is already fixed, make-temp-file still has
several unnecessary system calls.  In the typical case on GNU/Linux,
this patch replaces 8 syscalls (symlink, open, close, readlinkat, uname,
getpid, unlink, umask) by 2 (open, close).
* admin/merge-gnulib (GNULIB_MODULES): Add tempname, now
that Emacs is using it directly.
* configure.ac (AUTO_DEPEND): Remove AC_SYS_LONG_FILE_NAMES;
no longer needed.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* lisp/files.el (files--make-magic-temp-file): Rename from
make-temp-file.
(make-temp-file): Use make-temp-file-internal for
non-magic file names.
* src/fileio.c: Include tempname.h.
(make_temp_name_tbl, make_temp_name_count)
(make_temp_name_count_initialized_p, make_temp_name): Remove.
(Fmake_temp_file_internal): New function.
(Fmake_temp_name): Use it.
* src/filelock.c (get_boot_time): Use Fmake_temp_file_internal
instead of make_temp_name.
2017-08-12 15:14:45 -07:00
..
charsets Update copyright year to 2017 2016-12-31 19:42:26 -08:00
coccinelle Minor quoting fixes in scripts and doc 2015-09-16 16:07:15 -07:00
grammars Update copyright year to 2017 2016-12-31 19:42:26 -08:00
notes * admin/notes/hydra: Small updates. 2017-07-20 14:00:27 -04:00
nt Update copyright year to 2017 2016-12-31 19:42:26 -08:00
unidata Update Unicode data and files to Unicode 10.0 2017-07-08 13:02:47 +03:00
admin.el Merge from origin/emacs-25 2017-04-27 22:03:56 -07:00
alloc-colors.c Update copyright year to 2017 2016-12-31 19:42:26 -08:00
authors.el More authors.el updates 2017-06-07 14:27:21 -04:00
build-configs Update copyright year to 2017 2016-12-31 19:42:26 -08:00
bzrmerge.el Update copyright year to 2017 2016-12-31 19:42:26 -08:00
ChangeLog.1 Update copyright year to 2017 2016-12-31 19:42:26 -08:00
check-doc-strings Port "$@" to OpenIndiana ksh93 2016-01-24 17:29:01 -08:00
CPP-DEFINES Improve make-temp-file performance on local files 2017-08-12 15:14:45 -07:00
cus-test.el Update copyright year to 2017 2016-12-31 19:42:26 -08:00
diff-tar-files Update copyright year to 2017 2016-12-31 19:42:26 -08:00
find-gc.el Update copyright year to 2017 2016-12-31 19:42:26 -08:00
gitmerge.el Amend gitmerge to recognize the injunction "don't merge". 2017-03-29 17:58:37 +00:00
last-chance.el Update copyright year to 2017 in master 2017-01-01 01:48:59 -08:00
MAINTAINERS Fix obsolete ‘test/automated’ references 2017-03-27 11:30:08 -07:00
make-emacs Update copyright year to 2017 2016-12-31 19:42:26 -08:00
make-tarball.txt Merge from origin/emacs-25 2017-03-19 12:34:03 -07:00
merge-gnulib Improve make-temp-file performance on local files 2017-08-12 15:14:45 -07:00
merge-pkg-config Update copyright year to 2017 2016-12-31 19:42:26 -08:00
quick-install-emacs Update copyright year to 2017 2016-12-31 19:42:26 -08:00
README Update copyright year to 2017 2016-12-31 19:42:26 -08:00
release-process * admin/release-process: Update versions and blocking bug numbers. 2016-11-19 09:23:33 +02:00
update-copyright Update copyright year to 2017 2016-12-31 19:42:26 -08:00
update_autogen * admin/update_autogen: Remove bzr support. 2017-05-30 21:03:16 -04: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-2017 Free Software Foundation, Inc.
See the end of the file for license conditions.


			 The admin directory

This directory contains scripts and other things useful for developing
and maintaining Emacs.  These files are not part of Emacs releases
because they are not deemed generally useful, and you have to know
what you do when using them.


* Instructions and scripts used to prepare an Emacs release.

** release-process

The release process used by GNU Emacs.

** make-tarball.txt

Instructions to create pretest or release tarballs, announcements, etc.

** admin.el

Utilities for setting version numbers and alike.


* Scripts that can be used to build and test Emacs.

** build-configs

Build Emacs in various configurations.

** make-emacs

Build Emacs in various ways.

** quick-install-emacs

Install emacs quickly ("incrementally").

** alloc-colors.c

A utility program that allocates a given number of colors on X.  Can
be used to debug Emacs with dense colormaps (PseudoColor).

** check-doc-strings

Check doc strings against documentation.

** cus-test.el

Tests for custom types and load problems.

** diff-tar-files

Show files added/removed between two tar files.


Brief description of sub-directories:

charsets		scripts for generating charset map files
			in ../etc/charsets
unidata			scripts for generating character property files
			in ../lisp/international


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 <http://www.gnu.org/licenses/>.

Local variables:
mode: outline
paragraph-separate: "[ 	]*$"
end: