aboutsummaryrefslogtreecommitdiffstats
path: root/src/doc.c
diff options
context:
space:
mode:
authorChong Yidong <[email protected]>2010-08-22 16:02:16 -0400
committerChong Yidong <[email protected]>2010-08-22 16:02:16 -0400
commitb0126eac41487b9bca5af5cbb2212ff5b2c58b80 (patch)
tree680ba932d259776ebfdb6d424fa8f668e1001f7c /src/doc.c
parentb613941ba003bbf5024415ac4f8c2a0e12434751 (diff)
parentbc7d7ea63ba9d98b3ecc3b6decf4392a651dcbfb (diff)
Merge changes from emacs-23 branch.
Diffstat (limited to 'src/doc.c')
-rw-r--r--src/doc.c28
1 files changed, 16 insertions, 12 deletions
diff --git a/src/doc.c b/src/doc.c
index 9a7001eb01..a8601d930d 100644
--- a/src/doc.c
+++ b/src/doc.c
@@ -622,24 +622,28 @@ the same file name is found in the `doc-directory'. */)
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 = strchr (p, '\n');
/* 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 = NILP (Fmember (build_string (fromfile),
- Vbuild_files));
+ 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));
+ }
}
sym = oblookup (Vobarray, p + 2,