File xemacs-21.5.29-dired-550145.patch of Package xemacs
diff -dur xemacs-21.5.29.ORIG/src/ChangeLog xemacs-21.5.29/src/ChangeLog
--- xemacs-21.5.29.ORIG/src/ChangeLog 2010-01-07 09:31:59.535640632 -0700
+++ xemacs-21.5.29/src/ChangeLog 2010-01-07 09:32:56.046643371 -0700
@@ -1,3 +1,8 @@
+2010-01-07 Henrique Martins <xemacs@martins.cc>
+
+ * dired.c (file_name_completion): If a file is too big to stat(),
+ ignore the error, since we don't use the size.
+
2010-01-07 Aidan Kehoe <kehoea@parhasard.net>
* mule-charset.c:
diff -dur xemacs-21.5.29.ORIG/src/dired.c xemacs-21.5.29/src/dired.c
--- xemacs-21.5.29.ORIG/src/dired.c 2009-05-18 08:51:08.000000000 -0600
+++ xemacs-21.5.29/src/dired.c 2010-01-07 09:34:05.666614699 -0700
@@ -371,8 +371,10 @@
|| 0 <= scmp (d_name, XSTRING_DATA (file), file_name_length))
continue;
- if (file_name_completion_stat (directory, dp, &st) < 0)
- continue;
+ /* Ignore file-too-large conditions; the mode is still filled in. */
+ if (file_name_completion_stat (directory, dp, &st) < 0 &&
+ errno != EOVERFLOW)
+ continue;
directoryp = ((st.st_mode & S_IFMT) == S_IFDIR);
if (directoryp)