summaryrefslogtreecommitdiff
path: root/python.diff
diff options
context:
space:
mode:
Diffstat (limited to 'python.diff')
-rw-r--r--python.diff70
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"