diff options
| author | Paul Eggert | 2012-11-03 11:54:17 -0700 |
|---|---|---|
| committer | Paul Eggert | 2012-11-03 11:54:17 -0700 |
| commit | 7ccfb720b477df05042729e0e300bae5922f5120 (patch) | |
| tree | d5bfded71b48dfefbc4e3334c0ae586de29ab7bc /admin | |
| parent | 376a8e83bb3438f77dadf2d9910ef7baabcc82c2 (diff) | |
| download | emacs-7ccfb720b477df05042729e0e300bae5922f5120.tar.gz emacs-7ccfb720b477df05042729e0e300bae5922f5120.zip | |
Fix data-loss with --batch.
* admin/merge-gnulib (GNULIB_MODULES): Add close-stream.
* lib/close-stream.c, lib/close-stream.h, lib/fpending.c
* lib/fpending.h, m4/close-stream.m4, m4/fpending.m4:
New files, from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* src/emacs.c: Include <close-stream.h>.
(close_output_streams): New function.
(main): Pass it to atexit, so that Emacs closes stdout and stderr
and handles errors appropriately.
(Fkill_emacs): Don't worry about flushing, as close_output_stream
does that now.
Fixes: debbugs:9574
Diffstat (limited to 'admin')
| -rw-r--r-- | admin/ChangeLog | 5 | ||||
| -rwxr-xr-x | admin/merge-gnulib | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/admin/ChangeLog b/admin/ChangeLog index e21293d618d..da318dd662a 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2012-11-01 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | Fix data-loss with --batch (Bug#9574). | ||
| 4 | * merge-gnulib (GNULIB_MODULES): Add close-stream. | ||
| 5 | |||
| 1 | 2012-10-12 Kenichi Handa <handa@gnu.org> | 6 | 2012-10-12 Kenichi Handa <handa@gnu.org> |
| 2 | 7 | ||
| 3 | * charsets/Makefile (JISC6226.map): Add missing mappings. | 8 | * charsets/Makefile (JISC6226.map): Add missing mappings. |
diff --git a/admin/merge-gnulib b/admin/merge-gnulib index 7fc0b5f4844..901daf4e442 100755 --- a/admin/merge-gnulib +++ b/admin/merge-gnulib | |||
| @@ -27,7 +27,7 @@ GNULIB_URL=git://git.savannah.gnu.org/gnulib.git | |||
| 27 | 27 | ||
| 28 | GNULIB_MODULES=' | 28 | GNULIB_MODULES=' |
| 29 | alloca-opt c-ctype c-strcase | 29 | alloca-opt c-ctype c-strcase |
| 30 | careadlinkat crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 | 30 | careadlinkat close-stream crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 |
| 31 | dtoastr dtotimespec dup2 environ execinfo | 31 | dtoastr dtotimespec dup2 environ execinfo |
| 32 | filemode getloadavg getopt-gnu gettime gettimeofday | 32 | filemode getloadavg getopt-gnu gettime gettimeofday |
| 33 | ignore-value intprops largefile lstat | 33 | ignore-value intprops largefile lstat |