aboutsummaryrefslogtreecommitdiffstats
path: root/src/dired.c
diff options
context:
space:
mode:
authorGlenn Morris2014-08-03 16:34:33 -0400
committerGlenn Morris2014-08-03 16:34:33 -0400
commit3cc0c06094c8731c9e15536fefd3382d8ca1eba0 (patch)
tree3e6011e46b620c73efdccacf932bdc3565488655 /src/dired.c
parent308cc448e5d6ffd44c7ff366a99d34bbfb0e8c4d (diff)
parenta270fa7cf82cb23c6dcd84aab7f2c178ac0cca55 (diff)
downloademacs-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.c7
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