summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Wingo <wingo@oblong.net>2010-01-17 18:22:51 +0100
committerAndy Wingo <wingo@oblong.net>2010-01-17 18:22:51 +0100
commit445f31fc06d338f0cafda188d0287f935c2edc3c (patch)
tree6253269b43feee3d76d80d00ff1dfe6eb51737e0
parent06bfe276c8bfd71cf601761659d6b20acebc23b8 (diff)
downloadguile-445f31fc06d338f0cafda188d0287f935c2edc3c.tar.gz
fix doc snarfing with fedora 12
* module/scripts/snarf-check-and-output-texi.scm (process-multiline-directive): Be more accepting of source location markers in the preprocessed source, by adding a couple cases in which they can appear. Not foolproof, but it does adapt to what new GCCs are putting out (e.g. cpp (GCC) 4.4.2 20091222 (Red Hat 4.4.2-20)).
-rw-r--r--module/scripts/snarf-check-and-output-texi.scm11
1 files changed, 11 insertions, 0 deletions
diff --git a/module/scripts/snarf-check-and-output-texi.scm b/module/scripts/snarf-check-and-output-texi.scm
index 0e7efae..f92c833 100644
--- a/module/scripts/snarf-check-and-output-texi.scm
+++ b/module/scripts/snarf-check-and-output-texi.scm
@@ -262,6 +262,17 @@
(set! *file* file)
(set! *line* line))
+ ;; newer gccs like to throw around more location markers into the
+ ;; preprocessed source; these (hash . hash) bits are what they translate to
+ ;; in snarfy terms.
+ (('location ('string . file) ('int . line) ('hash . 'hash))
+ (set! *file* file)
+ (set! *line* line))
+
+ (('location ('hash . 'hash) ('string . file) ('int . line) ('hash . 'hash))
+ (set! *file* file)
+ (set! *line* line))
+
(('arglist rest ...)
(set! *args* (do-arglist rest)))