diff options
| author | Glenn Morris | 2014-08-03 16:34:33 -0400 |
|---|---|---|
| committer | Glenn Morris | 2014-08-03 16:34:33 -0400 |
| commit | 3cc0c06094c8731c9e15536fefd3382d8ca1eba0 (patch) | |
| tree | 3e6011e46b620c73efdccacf932bdc3565488655 /src/dired.c | |
| parent | 308cc448e5d6ffd44c7ff366a99d34bbfb0e8c4d (diff) | |
| parent | a270fa7cf82cb23c6dcd84aab7f2c178ac0cca55 (diff) | |
| download | emacs-3cc0c06094c8731c9e15536fefd3382d8ca1eba0.tar.gz emacs-3cc0c06094c8731c9e15536fefd3382d8ca1eba0.zip | |
Merge from emacs-24; up to 2014-06-27T16:27:08Z!rgm@gnu.org
Diffstat (limited to 'src/dired.c')
| -rw-r--r-- | src/dired.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/dired.c b/src/dired.c index d3fe5b4943d..ba6a61a2f5b 100644 --- a/src/dired.c +++ b/src/dired.c | |||
| @@ -150,6 +150,12 @@ directory_files_internal (Lisp_Object directory, Lisp_Object full, | |||
| 150 | Lisp_Object w32_save = Qnil; | 150 | Lisp_Object w32_save = Qnil; |
| 151 | #endif | 151 | #endif |
| 152 | 152 | ||
| 153 | /* Don't let the compiler optimize away all copies of DIRECTORY, | ||
| 154 | which would break GC; see Bug#16986. Although this is required | ||
| 155 | only in the common case where GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS, | ||
| 156 | it shouldn't break anything in the other cases. */ | ||
| 157 | Lisp_Object volatile directory_volatile = directory; | ||
| 158 | |||
| 153 | /* Because of file name handlers, these functions might call | 159 | /* Because of file name handlers, these functions might call |
| 154 | Ffuncall, and cause a GC. */ | 160 | Ffuncall, and cause a GC. */ |
| 155 | list = encoded_directory = dirfilename = Qnil; | 161 | list = encoded_directory = dirfilename = Qnil; |
| @@ -325,6 +331,7 @@ directory_files_internal (Lisp_Object directory, Lisp_Object full, | |||
| 325 | list = Fsort (Fnreverse (list), | 331 | list = Fsort (Fnreverse (list), |
| 326 | attrs ? Qfile_attributes_lessp : Qstring_lessp); | 332 | attrs ? Qfile_attributes_lessp : Qstring_lessp); |
| 327 | 333 | ||
| 334 | (void) directory_volatile; | ||
| 328 | RETURN_UNGCPRO (list); | 335 | RETURN_UNGCPRO (list); |
| 329 | } | 336 | } |
| 330 | 337 | ||