diff options
| author | Kenichi Handa | 2012-11-14 22:39:49 +0900 |
|---|---|---|
| committer | Kenichi Handa | 2012-11-14 22:39:49 +0900 |
| commit | 9ba02fc3046a5aeaca7e4d3e207a365f6ce33a93 (patch) | |
| tree | d648c55dca0513838634254617723954c50567d2 /src/ChangeLog | |
| parent | 0cdbf84521791935fdfeabf2e84f585cc64db325 (diff) | |
| parent | c62792e7dfa403db8c36cb92f32fb69258a199ef (diff) | |
| download | emacs-9ba02fc3046a5aeaca7e4d3e207a365f6ce33a93.tar.gz emacs-9ba02fc3046a5aeaca7e4d3e207a365f6ce33a93.zip | |
merge trunk
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 74 |
1 files changed, 73 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index e67518d63ba..ba476cdacba 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -3,13 +3,85 @@ | |||
| 3 | * font.c (font_unparse_xlfd): Exclude special characters from the | 3 | * font.c (font_unparse_xlfd): Exclude special characters from the |
| 4 | generating XLFD name. | 4 | generating XLFD name. |
| 5 | 5 | ||
| 6 | 2012-11-14 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 7 | |||
| 8 | * xdisp.c (echo_area_display, redisplay_internal): | ||
| 9 | Omit redundant check whether frame_garbaged is set. | ||
| 10 | |||
| 11 | 2012-11-14 Paul Eggert <eggert@cs.ucla.edu> | ||
| 12 | |||
| 13 | Use faccessat, not access, when checking file permissions (Bug#12632). | ||
| 14 | This fixes a bug that has been present in Emacs since its creation. | ||
| 15 | It was reported by Chris Torek in 1983 even before GNU Emacs existed, | ||
| 16 | which must set some sort of record. (Torek's bug report was against | ||
| 17 | a predecessor of GNU Emacs, but GNU Emacs happened to have the | ||
| 18 | same common flaw.) See Torek's Usenet posting | ||
| 19 | "setuid/setgid programs & Emacs" Article-I.D.: sri-arpa.858 | ||
| 20 | Posted: Fri Apr 8 14:18:56 1983. | ||
| 21 | * Makefile.in (LIB_EACCESS): New macro. | ||
| 22 | (LIBES): Use it. | ||
| 23 | * callproc.c (init_callproc): | ||
| 24 | * charset.c (init_charset): | ||
| 25 | * fileio.c (check_existing, check_executable, check_writable) | ||
| 26 | (Ffile_readable_p): | ||
| 27 | * lread.c (openp, load_path_check): | ||
| 28 | * process.c (allocate_pty): | ||
| 29 | * xrdb.c (file_p): | ||
| 30 | Use effective UID when checking permissions, not real UID. | ||
| 31 | * callproc.c (init_callproc): | ||
| 32 | * charset.c (init_charset): | ||
| 33 | * lread.c (load_path_check, init_lread): | ||
| 34 | Test whether directories are accessible, not merely whether they exist. | ||
| 35 | * conf_post.h (GNULIB_SUPPORT_ONLY_AT_FDCWD): New macro. | ||
| 36 | * fileio.c (check_existing, check_executable, check_writable) | ||
| 37 | (Ffile_readable_p): | ||
| 38 | Use symbolic names instead of integers for the flags, as they're | ||
| 39 | portable now. | ||
| 40 | (check_writable): New arg AMODE. All uses changed. | ||
| 41 | Set errno on failure. | ||
| 42 | (Ffile_readable_p): Use faccessat, not stat + open + close. | ||
| 43 | (Ffile_writable_p): No need to call check_existing + check_writable. | ||
| 44 | Just call check_writable and then look at errno. This saves a syscall. | ||
| 45 | dir should never be nil; replace an unnecessary runtime check | ||
| 46 | with an eassert. When checking the parent directory of a nonexistent | ||
| 47 | file, check that the directory is searchable as well as writable, as | ||
| 48 | we can't create files in unsearchable directories. | ||
| 49 | (file_directory_p): New function, which uses 'stat' on most platforms | ||
| 50 | but faccessat with D_OK (for efficiency) if WINDOWSNT. | ||
| 51 | (Ffile_directory_p, Fset_file_times): Use it. | ||
| 52 | (file_accessible_directory_p): New function, which uses a single | ||
| 53 | syscall for efficiency. | ||
| 54 | (Ffile_accessible_directory_p): Use it. | ||
| 55 | * xrdb.c (file_p): Use file_directory_p. | ||
| 56 | * lisp.h (file_directory_p, file_accessible_directory_p): New decls. | ||
| 57 | * lread.c (openp): When opening a file, use fstat rather than | ||
| 58 | stat, as that avoids a permissions race. When not opening a file, | ||
| 59 | use file_directory_p rather than stat. | ||
| 60 | (dir_warning): First arg is now a usage string, not a format. | ||
| 61 | Use errno. All uses changed. | ||
| 62 | * nsterm.m (ns_term_init): Remove unnecessary call to file-readable | ||
| 63 | that merely introduced a race. | ||
| 64 | * process.c, sysdep.c, term.c: All uses of '#ifdef O_NONBLOCK' | ||
| 65 | changed to '#if O_NONBLOCK', to accommodate gnulib O_* style, | ||
| 66 | and similarly for the other O_* flags. | ||
| 67 | * w32.c (sys_faccessat): Rename from sys_access and switch to | ||
| 68 | faccessat's API. All uses changed. | ||
| 69 | * xrdb.c: Do not include <sys/stat.h>; no longer needed. | ||
| 70 | (magic_db): Rename from magic_file_p. | ||
| 71 | (magic_db, search_magic_path): Return an XrmDatabase rather than a | ||
| 72 | char *, so that we don't have to test for file existence | ||
| 73 | separately from opening the file for reading. This removes a race | ||
| 74 | fixes a permission-checking problem, and simplifies the code. | ||
| 75 | All uses changed. | ||
| 76 | (file_p): Remove; no longer needed. | ||
| 77 | |||
| 6 | 2012-11-13 Dmitry Antipov <dmantipov@yandex.ru> | 78 | 2012-11-13 Dmitry Antipov <dmantipov@yandex.ru> |
| 7 | 79 | ||
| 8 | Omit glyphs initialization at startup. | 80 | Omit glyphs initialization at startup. |
| 9 | * dispnew.c (glyphs_initialized_initially_p): Remove. | 81 | * dispnew.c (glyphs_initialized_initially_p): Remove. |
| 10 | (adjust_frame_glyphs_initially): Likewise. Adjust users. | 82 | (adjust_frame_glyphs_initially): Likewise. Adjust users. |
| 11 | (Fredraw_frame): Move actual code from here... | 83 | (Fredraw_frame): Move actual code from here... |
| 12 | (redraw_here): ...to here. Add eassert. Adjust comment. | 84 | (redraw_frame): ...to here. Add eassert. Adjust comment. |
| 13 | (Fredraw_display): Use redraw_frame. | 85 | (Fredraw_display): Use redraw_frame. |
| 14 | * xdisp.c (clear_garbaged_frames): Likewise. | 86 | * xdisp.c (clear_garbaged_frames): Likewise. |
| 15 | 87 | ||