changeset 109923:ac121cf6d1fc

* doc.c (Fsnarf_documentation): Set skip_file only if p[1] is S.
author Jan D <jan.h.d@swipnet.se>
date Sat, 14 Aug 2010 08:42:09 +0200
parents 91b062787a2c
children 8b3d0eb73cbe
files src/ChangeLog src/doc.c
diffstat 2 files changed, 19 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Fri Aug 13 19:23:56 2010 -0700
+++ b/src/ChangeLog	Sat Aug 14 08:42:09 2010 +0200
@@ -1,3 +1,7 @@
+2010-08-14  Jan Djärv  <jan.h.d@swipnet.se>
+
+	* doc.c (Fsnarf_documentation): Set skip_file only if p[1] is S.
+
 2010-08-13  Jan Djärv  <jan.h.d@swipnet.se>
 
 	* doc.c (Fsnarf_documentation): Initialize skip_file before
--- a/src/doc.c	Fri Aug 13 19:23:56 2010 -0700
+++ b/src/doc.c	Sat Aug 14 08:42:09 2010 +0200
@@ -640,25 +640,28 @@
       p = buf;
       end = buf + (filled < 512 ? filled : filled - 128);
       while (p != end && *p != '\037') p++;
-      /* p points to ^_Ffunctionname\n or ^_Vvarname\n.  */
+      /* p points to ^_Ffunctionname\n or ^_Vvarname\n or ^_Sfilename\n.  */
       if (p != end)
 	{
 	  end = (char *) index (p, '\n');
-          skip_file = 0;
 
           /* See if this is a file name, and if it is a file in build-files.  */
-          if (p[1] == 'S' && end - p > 4 && end[-2] == '.'
-              && (end[-1] == 'o' || end[-1] == 'c'))
+          if (p[1] == 'S')
             {
-              int len = end - p - 2;
-              char *fromfile = alloca (len + 1);
-              strncpy (fromfile, &p[2], len);
-              fromfile[len] = 0;
-              if (fromfile[len-1] == 'c')
-                fromfile[len-1] = 'o';
+              skip_file = 0;
+              if (end - p > 4 && end[-2] == '.'
+                  && (end[-1] == 'o' || end[-1] == 'c'))
+                {
+                  int len = end - p - 2;
+                  char *fromfile = alloca (len + 1);
+                  strncpy (fromfile, &p[2], len);
+                  fromfile[len] = 0;
+                  if (fromfile[len-1] == 'c')
+                    fromfile[len-1] = 'o';
 
-	      skip_file = NILP (Fmember (build_string (fromfile),
-					 Vbuild_files));
+                  skip_file = NILP (Fmember (build_string (fromfile),
+                                             Vbuild_files));
+                }
             }
 
 	  sym = oblookup (Vobarray, p + 2,