aboutsummaryrefslogtreecommitdiffstats
path: root/src/ChangeLog
diff options
context:
space:
mode:
authorKenichi Handa2012-11-14 22:39:49 +0900
committerKenichi Handa2012-11-14 22:39:49 +0900
commit9ba02fc3046a5aeaca7e4d3e207a365f6ce33a93 (patch)
treed648c55dca0513838634254617723954c50567d2 /src/ChangeLog
parent0cdbf84521791935fdfeabf2e84f585cc64db325 (diff)
parentc62792e7dfa403db8c36cb92f32fb69258a199ef (diff)
downloademacs-9ba02fc3046a5aeaca7e4d3e207a365f6ce33a93.tar.gz
emacs-9ba02fc3046a5aeaca7e4d3e207a365f6ce33a93.zip
merge trunk
Diffstat (limited to 'src/ChangeLog')
-rw-r--r--src/ChangeLog74
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
62012-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
112012-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
62012-11-13 Dmitry Antipov <dmantipov@yandex.ru> 782012-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