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)
openSUSE Build Service is sponsored by