diff options
Diffstat (limited to 'module/c/cpp-environment.scm')
-rw-r--r-- | module/c/cpp-environment.scm | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/module/c/cpp-environment.scm b/module/c/cpp-environment.scm index 76219edc..a6401e71 100644 --- a/module/c/cpp-environment.scm +++ b/module/c/cpp-environment.scm @@ -22,7 +22,9 @@ enter-inactive-if flip-flop-if leave-if - in-comment-block? + in-conditional/active? + in-conditional/inactive? + in-conditional? enter-file leave-file @@ -110,7 +112,7 @@ ;; for #else (define (flip-flop-if environment) - ((if (in-comment-block? environment) + ((if (in-conditional/inactive? environment) enter-active-if enter-inactive-if) (leave-if environment))) @@ -118,9 +120,16 @@ (define (leave-if environment) (modify environment cpp-if-status cdr)) -(define (in-comment-block? environment) +(define (in-conditional/inactive? environment) (eq? 'inactive-if (get environment cpp-if-status car*))) +(define (in-conditional/active? environment) + (eq? 'active-if (get environment cpp-if-status car*))) + +(define (in-conditional? environment) + (or (in-conditional/inactive? environment) + (in-conditional/active? environment))) + (define (enter-file environment filename) |