diff options
| author | Fabián Ezequiel Gallina | 2015-01-28 01:08:18 -0300 |
|---|---|---|
| committer | Fabián Ezequiel Gallina | 2015-01-28 01:08:18 -0300 |
| commit | 95a2cb24b0697558e6629460d8bc693b394f0138 (patch) | |
| tree | cf6cc03950fc6b0982497f00ff6c92eec1912b45 /src | |
| parent | f5ebe84d75bb75156db9e2e0a7ab356941b4ea75 (diff) | |
| parent | 9664defd262252faf037c5fe1ea095f1cc4b308b (diff) | |
| download | emacs-95a2cb24b0697558e6629460d8bc693b394f0138.tar.gz emacs-95a2cb24b0697558e6629460d8bc693b394f0138.zip | |
Merge from origin/emacs-24
9664def Signal a file-error from directory-files on MS-Windows (Bug#19701)
fd4e65e Added missing test for previous commit
5485e3e5 python.el: New non-global state dependent indentation engine.
3b23e6a Fix the description of --insert command-line option (Bug#19694)
7a7e594 Add a cross-reference in ELisp manual. (Bug#19668)
b4f4075 Fixes: debbugs:19660
83b3c31 * test/automated/regexp-tests.el: Require regexp-opt
Conflicts:
lisp/progmodes/python.el
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 13 | ||||
| -rw-r--r-- | src/dired.c | 13 | ||||
| -rw-r--r-- | src/nsterm.m | 2 | ||||
| -rw-r--r-- | src/w32.c | 17 |
4 files changed, 44 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index d46e34c8525..8efc90727e1 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,16 @@ | |||
| 1 | 2015-01-27 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * dired.c (directory_files_internal) [WINDOWSNT]: If readdir | ||
| 4 | returns NULL and errno is ENOTDIR, behave as if opendir failed to | ||
| 5 | open the directory. (Bug#19701) | ||
| 6 | |||
| 7 | * w32.c (sys_readdir): If FindFirstFile fails because the | ||
| 8 | directory doesn't exist, set errno to ENOTDIR. | ||
| 9 | |||
| 10 | 2015-01-24 Jan Djärv <jan.h.d@swipnet.se> | ||
| 11 | |||
| 12 | * nsterm.m (drawRect:): Add block/unblock_input (Bug#19660). | ||
| 13 | |||
| 1 | 2015-01-21 Paul Eggert <eggert@cs.ucla.edu> | 14 | 2015-01-21 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 15 | ||
| 3 | Fix coding.c subscript error | 16 | Fix coding.c subscript error |
diff --git a/src/dired.c b/src/dired.c index e31fdf87ac2..757eb6d30cd 100644 --- a/src/dired.c +++ b/src/dired.c | |||
| @@ -238,6 +238,19 @@ directory_files_internal (Lisp_Object directory, Lisp_Object full, | |||
| 238 | QUIT; | 238 | QUIT; |
| 239 | continue; | 239 | continue; |
| 240 | } | 240 | } |
| 241 | #ifdef WINDOWSNT | ||
| 242 | /* The MS-Windows implementation of 'opendir' doesn't | ||
| 243 | actually open a directory until the first call to | ||
| 244 | 'readdir'. If 'readdir' fails to open the directory, it | ||
| 245 | sets errno to ENOTDIR; we convert it here to ENOENT so | ||
| 246 | that the error message is similar to what happens on | ||
| 247 | Posix hosts in such cases. */ | ||
| 248 | if (errno == ENOTDIR) | ||
| 249 | { | ||
| 250 | errno = ENOENT; | ||
| 251 | report_file_error ("Opening directory", directory); | ||
| 252 | } | ||
| 253 | #endif | ||
| 241 | break; | 254 | break; |
| 242 | } | 255 | } |
| 243 | 256 | ||
diff --git a/src/nsterm.m b/src/nsterm.m index ee1268ef850..e90c3d70db3 100644 --- a/src/nsterm.m +++ b/src/nsterm.m | |||
| @@ -6773,7 +6773,9 @@ if (cols > 0 && rows > 0) | |||
| 6773 | return; | 6773 | return; |
| 6774 | 6774 | ||
| 6775 | ns_clear_frame_area (emacsframe, x, y, width, height); | 6775 | ns_clear_frame_area (emacsframe, x, y, width, height); |
| 6776 | block_input (); | ||
| 6776 | expose_frame (emacsframe, x, y, width, height); | 6777 | expose_frame (emacsframe, x, y, width, height); |
| 6778 | unblock_input (); | ||
| 6777 | 6779 | ||
| 6778 | /* | 6780 | /* |
| 6779 | drawRect: may be called (at least in OS X 10.5) for invisible | 6781 | drawRect: may be called (at least in OS X 10.5) for invisible |
| @@ -3433,7 +3433,22 @@ sys_readdir (DIR *dirp) | |||
| 3433 | } | 3433 | } |
| 3434 | 3434 | ||
| 3435 | if (dir_find_handle == INVALID_HANDLE_VALUE) | 3435 | if (dir_find_handle == INVALID_HANDLE_VALUE) |
| 3436 | return NULL; | 3436 | { |
| 3437 | switch (GetLastError ()) | ||
| 3438 | { | ||
| 3439 | case ERROR_PATH_NOT_FOUND: | ||
| 3440 | case ERROR_ACCESS_DENIED: | ||
| 3441 | case ERROR_INVALID_DRIVE: | ||
| 3442 | case ERROR_BAD_NETPATH: | ||
| 3443 | /* This special value will be noticed by | ||
| 3444 | directory_files_internal, which see. */ | ||
| 3445 | errno = ENOTDIR; | ||
| 3446 | break; | ||
| 3447 | default: | ||
| 3448 | break; | ||
| 3449 | } | ||
| 3450 | return NULL; | ||
| 3451 | } | ||
| 3437 | } | 3452 | } |
| 3438 | else if (w32_unicode_filenames) | 3453 | else if (w32_unicode_filenames) |
| 3439 | { | 3454 | { |