Mercurial > emacs
comparison src/doc.c @ 109955:4ed076eb5529
Merge changes from emacs-23 branch.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Sun, 22 Aug 2010 16:04:34 -0400 |
parents | 53205019b195 |
children | ce960720ed3f |
comparison
equal
deleted
inserted
replaced
109953:bcdbcc64ea7d | 109955:4ed076eb5529 |
---|---|
620 | 620 |
621 buf[filled] = 0; | 621 buf[filled] = 0; |
622 p = buf; | 622 p = buf; |
623 end = buf + (filled < 512 ? filled : filled - 128); | 623 end = buf + (filled < 512 ? filled : filled - 128); |
624 while (p != end && *p != '\037') p++; | 624 while (p != end && *p != '\037') p++; |
625 /* p points to ^_Ffunctionname\n or ^_Vvarname\n. */ | 625 /* p points to ^_Ffunctionname\n or ^_Vvarname\n or ^_Sfilename\n. */ |
626 if (p != end) | 626 if (p != end) |
627 { | 627 { |
628 end = strchr (p, '\n'); | 628 end = strchr (p, '\n'); |
629 | 629 |
630 /* See if this is a file name, and if it is a file in build-files. */ | 630 /* See if this is a file name, and if it is a file in build-files. */ |
631 if (p[1] == 'S' && end - p > 4 && end[-2] == '.' | 631 if (p[1] == 'S') |
632 && (end[-1] == 'o' || end[-1] == 'c')) | |
633 { | 632 { |
634 int len = end - p - 2; | 633 skip_file = 0; |
635 char *fromfile = alloca (len + 1); | 634 if (end - p > 4 && end[-2] == '.' |
636 strncpy (fromfile, &p[2], len); | 635 && (end[-1] == 'o' || end[-1] == 'c')) |
637 fromfile[len] = 0; | 636 { |
638 if (fromfile[len-1] == 'c') | 637 int len = end - p - 2; |
639 fromfile[len-1] = 'o'; | 638 char *fromfile = alloca (len + 1); |
640 | 639 strncpy (fromfile, &p[2], len); |
641 skip_file = NILP (Fmember (build_string (fromfile), | 640 fromfile[len] = 0; |
642 Vbuild_files)); | 641 if (fromfile[len-1] == 'c') |
642 fromfile[len-1] = 'o'; | |
643 | |
644 skip_file = NILP (Fmember (build_string (fromfile), | |
645 Vbuild_files)); | |
646 } | |
643 } | 647 } |
644 | 648 |
645 sym = oblookup (Vobarray, p + 2, | 649 sym = oblookup (Vobarray, p + 2, |
646 multibyte_chars_in_text (p + 2, end - p - 2), | 650 multibyte_chars_in_text (p + 2, end - p - 2), |
647 end - p - 2); | 651 end - p - 2); |