From 37b8de2f956c36a311c5162dbdbc8af631a9bc59 Mon Sep 17 00:00:00 2001 From: felix Date: Wed, 8 Nov 2023 14:52:15 +0100 Subject: [PATCH] Warn if processing egg property in wrong context (#1492) --- egg-compile.scm | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/egg-compile.scm b/egg-compile.scm index c9a5565e..dd7c429e 100644 --- a/egg-compile.scm +++ b/egg-compile.scm @@ -379,7 +379,7 @@ link-objects: lobjs eggfile: eggfile) prgs))))) - (else (compile-common info compile-component)))) + (else (compile-common info compile-component 'component)))) (define (compile-extension/program info) (case (car info) ((linkage) @@ -416,8 +416,8 @@ (set! cdeps (append cdeps (map ->dep (cdr info))))) ((source-dependencies) (set! sdeps (append sdeps (map ->dep (cdr info))))) - (else (compile-common info compile-extension/program)))) - (define (compile-common info walk) + (else (compile-common info compile-extension/program 'extension/program)))) + (define (compile-common info walk context) (case (car info) ((target) (when (eq? mode 'target) @@ -428,14 +428,16 @@ ((error) (apply error (cdr info))) ((cond-expand) - (compile-cond-expand info walk)))) + (compile-cond-expand info walk)) + (else + (fprintf (current-error-port) "\nWarning (~a): property `~a' invalid or in wrong context (~a)\n\n" eggfile (car info) context)))) (define (compile-data/include info) (case (car info) ((destination) (set! dest (->string (arg info 1 name?)))) ((files) (set! files (append files (map ->string (cdr info))))) - (else (compile-common info compile-data/include)))) + (else (compile-common info compile-data/include 'data/include)))) (define (compile-options info) (case (car info) ((csc-options) (set! opts (append opts (cdr info)))) @@ -457,10 +459,13 @@ (error "invalid dependency" x))) (define (compile info) (case (car info) + ((synopsis dependencies test-dependencies category version author maintainer + license build-dependencies foreign-dependencies platform + distribution-files) #f) ((components) (for-each compile-component (cdr info))) ((component-options) (for-each compile-options (cdr info))) - (else (compile-common info compile)))) + (else (compile-common info compile 'toplevel)))) (define (arg info n #!optional (pred (constantly #t))) (when (< (length info) n) (error "missing argument" info n)) -- 2.40.0