diff options
Diffstat (limited to 'python.diff')
-rw-r--r-- | python.diff | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/python.diff b/python.diff new file mode 100644 index 0000000..aa2ffd7 --- /dev/null +++ b/python.diff @@ -0,0 +1,70 @@ +diff --git a/module/system/base/compile.scm b/module/system/base/compile.scm +index c110512f0..d5d63a9e0 100644 +--- a/module/system/base/compile.scm ++++ b/module/system/base/compile.scm +@@ -132,9 +132,30 @@ + (and (false-if-exception (ensure-directory (dirname f))) + f)))) + ++(define *do-extension-dispatch* #f) ++(define *extension-dispatches* '((("py") . python) (("pl") . prolog))) ++ ++(define (default-language file) ++ (define default (current-language)) ++ (if *do-extension-dispatch* ++ (let ((ext (car (reverse (string-split file #\.))))) ++ (let lp ((l *extension-dispatches*)) ++ (if (pair? l) ++ (if (member ext (caar l)) ++ (let ((r (cdar l))) ++ (if (language? default) ++ (if (eq? (language-name default) r) ++ default ++ r) ++ r)) ++ (lp (cdr l))) ++ default))) ++ default)) ++ ++ + (define* (compile-file file #:key + (output-file #f) +- (from (current-language)) ++ (from (default-language file)) + (to 'bytecode) + (env (default-environment from)) + (opts '()) +diff --git a/module/system/base/message.scm b/module/system/base/message.scm +index 979291c1e..c0d639235 100644 +--- a/module/system/base/message.scm ++++ b/module/system/base/message.scm +@@ -34,7 +34,8 @@ + warning-type? warning-type-name warning-type-description + warning-type-printer lookup-warning-type + +- %warning-types)) ++ %warning-types ++ %dont-warn-list)) + + + ;;; +@@ -74,6 +75,7 @@ + (description warning-type-description) + (printer warning-type-printer)) + ++(define %dont-warn-list '()) + (define %warning-types + ;; List of known warning types. + (map (lambda (args) +@@ -112,8 +114,9 @@ + (unbound-variable + "report possibly unbound variables" + ,(lambda (port loc name) +- (emit port "~A: warning: possibly unbound variable `~A'~%" +- loc name))) ++ (if (not (member name %dont-warn-list)) ++ (emit port "~A: warning: possibly unbound variable `~A'~%" ++ loc name)))) + + (macro-use-before-definition + "report possibly mis-use of macros before they are defined" |