|
From: Robert D. <rob...@us...> - 2011-06-13 05:29:54
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Maxima, A Computer Algebra System".
The branch, master has been updated
via 08abefa45acd03c16c4fcb716732994c519028b3 (commit)
via 549036a9866aec4b9e76829e8755f495c4c479bc (commit)
via 8b2a24b85747214b2b40400fc47a6cf67234b855 (commit)
via 2139e37a20cc678f6dd8e34f38b2405e3a0b3946 (commit)
via 2e871f6ca20248fc594071044926fb71f847b908 (commit)
via 6ae2ff898cb48c8aff187d52aa9adc0b712aa633 (commit)
via b1f98bb025f702ef2e6248a23b2c063d980425d5 (commit)
via 697a9995f8053ca30bc9b7ed3eb85dce08addbe3 (commit)
via 874d4ea4ad1562e00349a91556f8c972329d848f (commit)
via 1320d669100e2c9455930ab98aa688399f5cd43b (commit)
via ba9de002989651a8c8e2d5c35575d89217fe21a2 (commit)
from 437d5571d5c6a6f45cd38f112a37ff1b4843c8ee (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 08abefa45acd03c16c4fcb716732994c519028b3
Merge: 549036a 8b2a24b
Author: robert_dodier <rob...@us...>
Date: Sun Jun 12 23:22:37 2011 -0600
Merge branch 'some-translation-cleanup-branch'
commit 549036a9866aec4b9e76829e8755f495c4c479bc
Merge: 874d4ea 437d557
Author: robert_dodier <rob...@us...>
Date: Sun Jun 12 23:21:42 2011 -0600
Merge branch 'master' of ssh://robert_dodier@maxima.git.sourceforge.net/gitroot/maxima/maxima
commit 8b2a24b85747214b2b40400fc47a6cf67234b855
Author: robert_dodier <rob...@us...>
Date: Sun Jun 12 16:38:16 2011 -0600
Regularize messages printed by TR-FORMAT.
Cut out some messages of the form "this does not work well in translated code";
if indeed that is the case, we need to fix the translator.
diff --git a/src/trans3.lisp b/src/trans3.lisp
index 3843df4..42ca33c 100644
--- a/src/trans3.lisp
+++ b/src/trans3.lisp
@@ -226,7 +226,7 @@
(defun side-effect-free-check (varl form)
(cond ((null varl) t)
(t
- (tr-format (intl:gettext "translator: unsupported side effects on ~:M in expression ~M~%") `((mlist) ,@varl) form)
+ (tr-format (intl:gettext "error: unsupported side effects on ~:M in expression ~M~%") `((mlist) ,@varl) form)
nil)))
@@ -292,7 +292,7 @@
(cond ((or (member '*bad* arg-info :test #'eq)
(and (member t arg-info :test #'eq)
(cdr (member t arg-info :test #'eq)))) ;;; the &REST is not the last one.
- (tr-format (intl:gettext "translator: unsupported argument list ~:M in lambda expression.~%") (cadr form))
+ (tr-format (intl:gettext "error: unsupported argument list ~:M in lambda expression.~%") (cadr form))
(setq tr-abort t)
nil)
(t
diff --git a/src/trans4.lisp b/src/trans4.lisp
index e49c2a6..f79af01 100644
--- a/src/trans4.lisp
+++ b/src/trans4.lisp
@@ -120,7 +120,7 @@
"PATCH-UP-MEVAL-IN-FSET: not a lambda expression: ~A~%"
definition)
(barfo))
- (tr-format "Translating rule or match ~:M ..." ssymbol)
+ (tr-format (intl:gettext "note: translating rule or match ~:M ...~%") ssymbol)
(setq definition (lisp->lisp-tr-lambda definition))
(if (null definition)
form
@@ -149,12 +149,12 @@
(if (symbolp op)
(funcall (or (get op 'tr-lisp->lisp) #'tr-lisp->lisp-default)
exp)
- (progn (tr-format (intl:gettext "translator: found a non-symbolic operator; I give up.~%"))
+ (progn (tr-format (intl:gettext "error: found a non-symbolic operator; I give up.~%"))
(throw 'lisp->lisp-tr-lambda ()))))))
(defun tr-lisp->lisp-default (exp)
(cond ((macsyma-special-op-p (car exp))
- (tr-format (intl:gettext "translator: unhandled special operator ~:@M~%") (car exp))
+ (tr-format (intl:gettext "error: unhandled special operator ~:@M~%") (car exp))
(throw 'lisp->lisp-tr-lambda ()))
('else
(tr-lisp->lisp-fun exp))))
@@ -227,7 +227,7 @@
;; and appears like a useless double-evaluation of arguments.
form)
('else
- (tr-format (intl:gettext "translator: found unbound MEVAL; I give up.~%"))
+ (tr-format (intl:gettext "error: found unbound MEVAL; I give up.~%"))
(throw 'lisp->lisp-tr-lambda ()))))
(defun-prop (is tr-lisp->lisp) (form)
@@ -236,5 +236,5 @@
(eq (car form) 'quote))
(cdr (translate `(($is) ,(cadr form)))))
('else
- (tr-format (intl:gettext "translator: found unbound IS; I give up.~%"))
+ (tr-format (intl:gettext "error: found unbound IS; I give up.~%"))
(throw 'lisp->lisp-tr-lambda ()))))
diff --git a/src/trans5.lisp b/src/trans5.lisp
index 25cbaca..6c19ea4 100644
--- a/src/trans5.lisp
+++ b/src/trans5.lisp
@@ -186,7 +186,7 @@
((eq (caar var) 'msetq)
`(cons ',(cadr var) ,(dtranslate (caddr var))))
(t (setq tr-abort t)
- (tr-format (intl:gettext "translator: found unhandled variable ~:M in 'buildq'.~%") var))))
+ (tr-format (intl:gettext "error: found unhandled variable ~:M in 'buildq'.~%") var))))
;right thing to do here??
;how much error checking does transl do now?
; Yes. Not as much as it should! -GJC
diff --git a/src/transl.lisp b/src/transl.lisp
index 9ab504f..6f6af23 100644
--- a/src/transl.lisp
+++ b/src/transl.lisp
@@ -269,7 +269,7 @@ APPLY means like APPLY.")
(cond ((member form warned-undefined-variables :test #'eq))
(t
(push form warned-undefined-variables)
- (tr-format (intl:gettext "note: encountered undefined variable ~:M in translation.") form)
+ (tr-format (intl:gettext "warning: encountered undefined variable ~:M in translation.~%") form)
(tr-warnbreak)))))
(defun warn-undeclared (form &optional comment)
@@ -277,8 +277,8 @@ APPLY means like APPLY.")
(cond ((member form *warned-un-declared-vars* :test #'equal) t)
(t
(push form *warned-un-declared-vars*)
- (tr-format (intl:gettext "note: no type declaration for ~:M; assume type is 'any'.") form)
- (tr-format (intl:gettext "note: 'modedeclare' declares types for translation."))
+ (tr-format (intl:gettext "warning: no type declaration for ~:M; assume type is 'any'.~%") form)
+ (tr-format (intl:gettext "note: 'modedeclare' declares types for translation.~%"))
(cond (comment
(dolist (v *translation-msgs-files*)
(terpri v)
@@ -288,8 +288,7 @@ APPLY means like APPLY.")
(defun warn-meval (form &optional comment)
(cond ((tr-warnp $tr_warn_meval)
- (tr-format (intl:gettext "warning: translator emits call to MEVAL for expression: ~:M") form)
- (tr-format (intl:gettext "warning: translator can't figure out what else to do."))
+ (tr-format (intl:gettext "warning: emit call to MEVAL for expression: ~:M~%") form)
(cond (comment (dolist (v *translation-msgs-files*)
(terpri v)
(princ comment v))))
@@ -304,7 +303,7 @@ APPLY means like APPLY.")
(not (covers mode newmode))
(not (member (list var mode newmode) *warned-mode-vars* :test #'equal)))
(push (list var mode newmode) *warned-mode-vars*)
- (tr-format (intl:gettext "warning: variable ~:M (declared type ~:M) assigned type ~:M.") var mode newmode)
+ (tr-format (intl:gettext "warning: variable ~:M (declared type ~:M) assigned type ~:M.~%") var mode newmode)
(cond (comment
(dolist (v *translation-msgs-files*)
(terpri v)
@@ -315,8 +314,8 @@ APPLY means like APPLY.")
(cond ((and (tr-warnp $tr_warn_fexpr)
(not (member form *warned-fexprs* :test #'equal)))
(push form *warned-fexprs*)
- (tr-format (intl:gettext "warning: ~:M is a special function without a full Lisp translation.") form)
- (tr-format (intl:gettext "warning: calling ~:M in compiled code might not have the desired effect.") form)
+ (tr-format (intl:gettext "warning: ~:M is a special function without a full Lisp translation.~%") form)
+ (tr-format (intl:gettext "warning: calling ~:M in compiled code might not have the desired effect.~%") form)
(cond (comment
(dolist (v *translation-msgs-files*)
(terpri v)
@@ -443,7 +442,7 @@ APPLY means like APPLY.")
((lambda) ((mlist) ,@(cdr args)) ,body))))
((member tr-unique a-args :test #'eq)
;; WHAT IS "BAD" ABOUT THE ARGUMENT LIST HERE ??
- (tr-format (intl:gettext "translator: unhandled argument list in function definition: ~:M~%") `((mlist),@args))
+ (tr-format (intl:gettext "error: unhandled argument list in function definition: ~:M~%") `((mlist),@args))
(setq tr-abort t)
nil)
((member (caar form) '(mdefine mdefmacro) :test #'eq)
@@ -525,7 +524,7 @@ APPLY means like APPLY.")
(defun trfail (x)
- (tr-format x (intl:gettext "translator: failed to translate.~%")) nil)
+ (tr-format x (intl:gettext "error: failed to translate.~%")) nil)
(defmfun translate-and-eval-macsyma-expression (form)
;; this is the hyper-random entry to the transl package!
@@ -560,7 +559,7 @@ APPLY means like APPLY.")
(setq whens (cond (($listp whens) (cdr whens))
((atom whens) (list whens))
(t
- (tr-format (intl:gettext "translator: 'eval-when' argument must be a list or atom; found: ~:M~%") (cadr form))
+ (tr-format (intl:gettext "error: 'eval-when' argument must be a list or atom; found: ~:M~%") (cadr form))
nil)))
(setq tr-whens (mapcar 'stripdollar whens))
(cond ((member '$translate whens :test #'eq)
@@ -588,11 +587,11 @@ APPLY means like APPLY.")
((member (caar form) '(mdefine mdefmacro) :test #'eq)
(let ((name (caaadr form))
(trl))
- (tr-format (intl:gettext "translator: translating ~:@M") name)
+ (tr-format (intl:gettext "note: translating ~:@M~%") name)
(setq trl (tr-mdefine-toplevel form))
(cond (tr-abort
- (tr-format (intl:gettext "translator: failed to translate ~:@M") name)
- (tr-format (intl:gettext "translator: keep going and hope for the best."))
+ (tr-format (intl:gettext "error: failed to translate ~:@M~%") name)
+ (tr-format (intl:gettext "note: keep going and hope for the best.~%"))
`(meval* ',form))
(t trl))))
((eq 'mprogn (caar form))
@@ -646,7 +645,7 @@ APPLY means like APPLY.")
;; tailrecursion should always arrange for a counter
;; to check for mobylossage.
((> kount $tr_optimize_max_loop)
- (tr-format (intl:gettext "translator: I've looped ~A times in macro expansion; just give up and return ~:@M")
+ (tr-format (intl:gettext "warning: I've looped ~A times in macro expansion; just give up and return ~:@M~%")
$tr_optimize_max_loop (caar form))
form)
(setq new-form (toplevel-optimize-1 form))
@@ -782,8 +781,8 @@ APPLY means like APPLY.")
;;; G(F,X):=F(X+1); case.
((and $tr_bound_function_applyp (tboundp function))
(let ((new-form `(($apply) ,function ((mlist) ,@args))))
- (tr-format (intl:gettext "translator: ~:M is a bound variable in ~:M, but it is used as a function.~%") function form)
- (tr-format (intl:gettext "translator: instead I'll translate it as: ~:M~%") new-form)
+ (tr-format (intl:gettext "warning: ~:M is a bound variable in ~:M, but it is used as a function.~%") function form)
+ (tr-format (intl:gettext "note: instead I'll translate it as: ~:M~%") new-form)
(translate new-form)))
;; MFUNCTION-CALL cleverely punts this question to a FSUBR in the
;; interpreter, and a macro in the compiler. This is good style,
@@ -865,6 +864,7 @@ APPLY means like APPLY.")
(cond
((stringp atom)
(cond
+ ;; I WONDER IF THIS NEXT CONDITION CAN BE CUT OUT ?? !!
((equal atom "**") ;;; foolishness. The PARSER should do this.
;; Losing Fortran hackers.
(tr-format "~% `**' is obsolete, use `^' !!!")
@@ -923,36 +923,24 @@ APPLY means like APPLY.")
(setq nl (cons (cadr l) (cons (car l) nl)))))
(def%tr $eval_when (form)
- (tr-format (intl:gettext "translator: found 'eval_when' in a function or expression: ~:M~%") form)
- (tr-format (intl:gettext "translator: 'eval_when' can appear only at the top level in a file.~%"))
+ (tr-format (intl:gettext "error: found 'eval_when' in a function or expression: ~:M~%") form)
+ (tr-format (intl:gettext "note: 'eval_when' can appear only at the top level in a file.~%"))
(setq tr-abort t)
'($any . nil))
(def%tr mdefine (form) ;; ((MDEFINE) ((F) ...) ...)
- (tr-format
- "A definition of the function ~:@M is given inside a program.~
- ~%This doesn't work well, try using `lambda' expressions instead.~%"
- (caar (cadr form)))
`($any . (meval ',form)))
(def%tr mdefmacro (form)
- (tr-format "A definiton of a macro ~:@M is being given inside the~
- ~%body of a function or expression. This probably isn't going~
- ~%to work, local macro definitions are not supported.~%"
- (caar (cadr form)))
- (meval form)
+ (meval form) ;; HMM, THIS HAS A SIDE EFFECT AT THE TIME OF TRANSLATION !!
`($any . (meval ',form)))
(def%tr $local (form)
(cond (local
- (tr-format (intl:gettext "translator: there is already a 'local' in this block."))
+ (tr-format (intl:gettext "error: there is already a 'local' in this block.~%"))
(setq tr-abort t))
(t
(setq local t)))
- (tr-format "Local does not work well in translated code.~
- ~%Try to use value cell and the Use_fast_arrays:true
- ~%if this is for arrays. For functions, local definitions are~
- ~%not advised so use lambda expression")
(cons nil `(mapply 'mlocal ',(cdr form) '$local)))
@@ -1088,7 +1076,6 @@ APPLY means like APPLY.")
(setq arglist nil
body (cdr form))))
(cond ((null body)
- (tr-format "A `block' with no body: ~:M" form)
(setq body '(((mquote) $done)))))
(setq val-list (mapcar #'(lambda (u)
(if (atom u) u
@@ -1163,7 +1150,7 @@ APPLY means like APPLY.")
(def%tr mreturn (form)
(if (null inside-mprog)
- (tr-format (intl:gettext "translator: 'return' not within 'block' or 'do': ~:M") form))
+ (tr-format (intl:gettext "warning: 'return' not within 'block' or 'do': ~:M~%") form))
(setq need-prog? t)
(setq form (translate (cadr form)))
(setq return-mode (if return-mode (*union-mode (car form) return-mode)
@@ -1175,9 +1162,9 @@ APPLY means like APPLY.")
(def%tr mgo (form)
(if (null inside-mprog)
- (tr-format (intl:gettext "translator: 'go' not within 'block' or 'do': ~:M") form))
+ (tr-format (intl:gettext "warning: 'go' not within 'block' or 'do': ~:M~%") form))
(if (not (symbolp (cadr form)))
- (tr-format (intl:gettext "translator: 'go' tag must be a symbol: ~:M") form))
+ (tr-format (intl:gettext "warning: 'go' tag must be a symbol: ~:M~%") form))
(setq need-prog? t)
`($any . (go ,(cadr form))))
@@ -1199,7 +1186,7 @@ APPLY means like APPLY.")
($listp arg))
'bogus)))
(cdr (cadr fn))) :test #'eq)
- (tr-format (intl:gettext "translator: quote or list arguments are not allowed in MQAPPLY; found: ~:M") form)
+ (tr-format (intl:gettext "error: quote or list arguments are not allowed in MQAPPLY; found: ~:M~%") form)
(setq tr-abort t)
nil)
(t
@@ -1363,8 +1350,8 @@ APPLY means like APPLY.")
(tr-arraysetq var val))
(t
(unless (safe-get (caar var) 'mset_extension_operator)
- (tr-format (intl:gettext "translator: no assignment operator known for ~:M") var)
- (tr-format (intl:gettext "translator: just keep going and hope for the best.")))
+ (tr-format (intl:gettext "warning: no assignment operator known for ~:M~%") var)
+ (tr-format (intl:gettext "note: just keep going and hope for the best.~%")))
(setq val (translate val))
`(,(car val) mset ',(translate-atoms var) ,(cdr val))))))
@@ -1462,7 +1449,7 @@ APPLY means like APPLY.")
(and var (symbolp var) (not (eq var t))))
(defun bad-var-warn (var)
- (tr-format (intl:gettext "translator: ~:M cannot be used as a variable.") var))
+ (tr-format (intl:gettext "warning: ~:M cannot be used as a variable.~%") var))
(defun tbind (var &aux old)
(cond ((variable-p var)
diff --git a/src/transs.lisp b/src/transs.lisp
index c56a944..167de66 100644
--- a/src/transs.lisp
+++ b/src/transs.lisp
@@ -371,7 +371,7 @@ translated."
(let ((it (translate-function ($verbify (car l)))))
(if it (push it v))))
(t
- (tr-format (intl:gettext "translator: 'translate' argument must be an atom; found: ~:M~%") (car l))))))))
+ (tr-format (intl:gettext "error: 'translate' argument must be an atom; found: ~:M~%") (car l))))))))
(declare-top (special forms-to-compile-queue))
diff --git a/src/trmode.lisp b/src/trmode.lisp
index f7061c6..005fb16 100644
--- a/src/trmode.lisp
+++ b/src/trmode.lisp
@@ -68,7 +68,7 @@
`(defprop ,var assign-mode-check assign))
(def-mtrvar ,(cadr form) ,(dtranslate (caddr form))))))))
(t
- (tr-format (intl:gettext "translator: 'define_variable' must have 3 arguments; found: ~:M~%") form)
+ (tr-format (intl:gettext "error: 'define_variable' must have 3 arguments; found: ~:M~%") form)
nil)))
;; the priority fails when a DEF-MTRVAR is done, then the user
diff --git a/src/trutil.lisp b/src/trutil.lisp
index dc37872..1075e2c 100644
--- a/src/trutil.lisp
+++ b/src/trutil.lisp
@@ -35,7 +35,7 @@
;; push one with a priority of 1, which will be over-rided
;; by any user-specified settings.
(if (eq $define_variable '$mode)
- (tr-format "~%Note: ~:M being given a default setting of ~:M"
+ (tr-format (intl:gettext "note: variable ~:M being given a default assignment ~:M~%")
var (if (atom val) val
;; strip off the quote
(cadr val))))
@@ -83,7 +83,7 @@
(caar form))
(mgrind form *translation-msgs-files*))
((and max (> nargs max))
- (tr-format "~%Error: Too many arguments supplied to ~:@M~%" (caar form))
+ (tr-format (intl:gettext "error: too many arguments supplied to ~:@M~%") (caar form))
(mgrind form *translation-msgs-files*)))))
nargs) ;; return the number of arguments.
commit 2139e37a20cc678f6dd8e34f38b2405e3a0b3946
Author: robert_dodier <rob...@us...>
Date: Sat Jun 11 12:07:01 2011 -0600
Cut out undocumented function bind_during_translation.
diff --git a/src/transl.lisp b/src/transl.lisp
index 7785713..9ab504f 100644
--- a/src/transl.lisp
+++ b/src/transl.lisp
@@ -541,27 +541,6 @@ APPLY means like APPLY.")
(defun translator-eval (x)
(eval x))
-(defun apply-in$bind_during_translation (f form &rest l)
- (cond ((not ($listp (cadr form)))
- (tr-format "Badly formed `bind_during_translation' variable list.~%~:M"
- (cadr form))
- (apply f form l))
- (t
- (do ((l (cdr (cadr form)) (cdr l))
- (vars nil)
- (vals nil))
- ((null l)
- (mbinding (vars vals '$bind_during_translation)
- (apply f form l)))
- (let ((p (car l)))
- (cond ((atom p) (push p vars) (push (meval p) vals))
- ((eq (caar p) 'msetq)
- (push (cadr p) vars) (push (meval (caddr p)) vals))
- (t
- (tr-format
- "Badly formed `bind_during_translation' binding~%~:M"
- p))))))))
-
;; This basically tells the msetq def%tr to use defparameter insetad
;; of setq because we're doing a setq at top-level, which isn't
;; specified by ANSI CL.
@@ -575,13 +554,6 @@ APPLY means like APPLY.")
;; Except msetq at top-level is special for ANSI CL. See below.
(setq form (toplevel-optimize form))
(cond ((atom form) nil)
- ((eq (caar form) '$bind_during_translation)
- (apply-in$bind_during_translation
- #'(lambda (form)
- `(progn
- 'compile
- ,@(mapcar 'translate-macexpr-toplevel (cddr form))))
- form))
((eq (caar form) '$eval_when)
(let ((whens (cadr form))
(body (cddr form)) tr-whens)
@@ -937,12 +909,6 @@ APPLY means like APPLY.")
(t
`(,mode simplify (,fun . ,args)))))
-(def%tr $bind_during_translation (form)
- (apply-in$bind_during_translation
- #'(lambda (form)
- (translate `((mprogn) ,@(cddr form))))
- form))
-
(defmspec $declare_translated (fns)
(setq fns (cdr fns))
(loop for v in fns
diff --git a/src/trmode.lisp b/src/trmode.lisp
index 83e05e0..f7061c6 100644
--- a/src/trmode.lisp
+++ b/src/trmode.lisp
@@ -249,6 +249,3 @@
(($integer $integerp) '$fixnum)
(($complex) "to ask about this")
(t "to see the documentation on"))))
-
-(defmspec $bind_during_translation (form)
- (mevaln (cddr form)))
commit 2e871f6ca20248fc594071044926fb71f847b908
Author: robert_dodier <rob...@us...>
Date: Sat Jun 11 11:38:53 2011 -0600
Call TR-FORMAT instead of TR-TELL throughout. Cut out definition of TR-TELL.
diff --git a/src/sys-proclaim.lisp b/src/sys-proclaim.lisp
index 1fc47b9..353b30c 100644
--- a/src/sys-proclaim.lisp
+++ b/src/sys-proclaim.lisp
@@ -5849,7 +5849,6 @@
(PROCLAIM '(FTYPE (FUNCTION (T *) T) MAXIMA::TR-NARGS-CHECK))
(PROCLAIM '(FTYPE (FUNCTION (T) T) MAXIMA::TR-NOSIMPP))
(PROCLAIM '(FTYPE (FUNCTION (T) T) MAXIMA::TR-SEQ))
-(PROCLAIM '(FTYPE (FUNCTION (*) T) MAXIMA::TR-TELL))
(PROCLAIM '(FTYPE (FUNCTION (T) T) MAXIMA::TR-TRACE))
(PROCLAIM '(FTYPE (FUNCTION (T) T) MAXIMA::TR-TRACE-HANDLE))
(PROCLAIM '(FTYPE (FUNCTION (T) T) MAXIMA::TR-UNTRACE))
diff --git a/src/trans3.lisp b/src/trans3.lisp
index ae64ba2..3843df4 100644
--- a/src/trans3.lisp
+++ b/src/trans3.lisp
@@ -226,7 +226,7 @@
(defun side-effect-free-check (varl form)
(cond ((null varl) t)
(t
- (tr-tell (intl:gettext "translator: unsupported side effects on ~:M in expression ~M~%") `((mlist) ,@varl) form)
+ (tr-format (intl:gettext "translator: unsupported side effects on ~:M in expression ~M~%") `((mlist) ,@varl) form)
nil)))
@@ -292,7 +292,7 @@
(cond ((or (member '*bad* arg-info :test #'eq)
(and (member t arg-info :test #'eq)
(cdr (member t arg-info :test #'eq)))) ;;; the &REST is not the last one.
- (tr-tell (intl:gettext "translator: unsupported argument list ~:M in lambda expression.~%") (cadr form))
+ (tr-format (intl:gettext "translator: unsupported argument list ~:M in lambda expression.~%") (cadr form))
(setq tr-abort t)
nil)
(t
diff --git a/src/trans4.lisp b/src/trans4.lisp
index 6daa804..e49c2a6 100644
--- a/src/trans4.lisp
+++ b/src/trans4.lisp
@@ -149,12 +149,12 @@
(if (symbolp op)
(funcall (or (get op 'tr-lisp->lisp) #'tr-lisp->lisp-default)
exp)
- (progn (tr-tell (intl:gettext "translator: found a non-symbolic operator; I give up.~%"))
+ (progn (tr-format (intl:gettext "translator: found a non-symbolic operator; I give up.~%"))
(throw 'lisp->lisp-tr-lambda ()))))))
(defun tr-lisp->lisp-default (exp)
(cond ((macsyma-special-op-p (car exp))
- (tr-tell (intl:gettext "translator: unhandled special operator ~:@M~%") (car exp))
+ (tr-format (intl:gettext "translator: unhandled special operator ~:@M~%") (car exp))
(throw 'lisp->lisp-tr-lambda ()))
('else
(tr-lisp->lisp-fun exp))))
@@ -227,7 +227,7 @@
;; and appears like a useless double-evaluation of arguments.
form)
('else
- (tr-tell (intl:gettext "translator: found unbound MEVAL; I give up.~%"))
+ (tr-format (intl:gettext "translator: found unbound MEVAL; I give up.~%"))
(throw 'lisp->lisp-tr-lambda ()))))
(defun-prop (is tr-lisp->lisp) (form)
@@ -236,5 +236,5 @@
(eq (car form) 'quote))
(cdr (translate `(($is) ,(cadr form)))))
('else
- (tr-tell (intl:gettext "translator: found unbound IS; I give up.~%"))
+ (tr-format (intl:gettext "translator: found unbound IS; I give up.~%"))
(throw 'lisp->lisp-tr-lambda ()))))
diff --git a/src/trans5.lisp b/src/trans5.lisp
index 274c22e..25cbaca 100644
--- a/src/trans5.lisp
+++ b/src/trans5.lisp
@@ -186,7 +186,7 @@
((eq (caar var) 'msetq)
`(cons ',(cadr var) ,(dtranslate (caddr var))))
(t (setq tr-abort t)
- (tr-tell (intl:gettext "translator: found unhandled variable ~:M in 'buildq'.~%") var))))
+ (tr-format (intl:gettext "translator: found unhandled variable ~:M in 'buildq'.~%") var))))
;right thing to do here??
;how much error checking does transl do now?
; Yes. Not as much as it should! -GJC
diff --git a/src/transl.lisp b/src/transl.lisp
index c7f8424..7785713 100644
--- a/src/transl.lisp
+++ b/src/transl.lisp
@@ -207,11 +207,8 @@ APPLY means like APPLY.")
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-(defun tr-tell (&rest x)
- (apply #'tr-format x))
-
(defun barfo (&rest l)
- (apply #'tr-tell
+ (apply #'tr-format
(nconc (list (intl:gettext "translator: internal error. Message: ~:M~%")) l))
(cond (*transl-debug*
(break "transl barfo ~S" t))
@@ -446,7 +443,7 @@ APPLY means like APPLY.")
((lambda) ((mlist) ,@(cdr args)) ,body))))
((member tr-unique a-args :test #'eq)
;; WHAT IS "BAD" ABOUT THE ARGUMENT LIST HERE ??
- (tr-tell (intl:gettext "translator: unhandled argument list in function definition: ~:M~%") `((mlist),@args))
+ (tr-format (intl:gettext "translator: unhandled argument list in function definition: ~:M~%") `((mlist),@args))
(setq tr-abort t)
nil)
((member (caar form) '(mdefine mdefmacro) :test #'eq)
@@ -528,7 +525,7 @@ APPLY means like APPLY.")
(defun trfail (x)
- (tr-tell x (intl:gettext "translator: failed to translate.~%")) nil)
+ (tr-format x (intl:gettext "translator: failed to translate.~%")) nil)
(defmfun translate-and-eval-macsyma-expression (form)
;; this is the hyper-random entry to the transl package!
@@ -591,7 +588,7 @@ APPLY means like APPLY.")
(setq whens (cond (($listp whens) (cdr whens))
((atom whens) (list whens))
(t
- (tr-tell (intl:gettext "translator: 'eval-when' argument must be a list or atom; found: ~:M~%") (cadr form))
+ (tr-format (intl:gettext "translator: 'eval-when' argument must be a list or atom; found: ~:M~%") (cadr form))
nil)))
(setq tr-whens (mapcar 'stripdollar whens))
(cond ((member '$translate whens :test #'eq)
@@ -813,8 +810,8 @@ APPLY means like APPLY.")
;;; G(F,X):=F(X+1); case.
((and $tr_bound_function_applyp (tboundp function))
(let ((new-form `(($apply) ,function ((mlist) ,@args))))
- (tr-tell (intl:gettext "translator: ~:M is a bound variable in ~:M, but it is used as a function.~%") function form)
- (tr-tell (intl:gettext "translator: instead I'll translate it as: ~:M~%") new-form)
+ (tr-format (intl:gettext "translator: ~:M is a bound variable in ~:M, but it is used as a function.~%") function form)
+ (tr-format (intl:gettext "translator: instead I'll translate it as: ~:M~%") new-form)
(translate new-form)))
;; MFUNCTION-CALL cleverely punts this question to a FSUBR in the
;; interpreter, and a macro in the compiler. This is good style,
@@ -960,8 +957,8 @@ APPLY means like APPLY.")
(setq nl (cons (cadr l) (cons (car l) nl)))))
(def%tr $eval_when (form)
- (tr-tell (intl:gettext "translator: found 'eval_when' in a function or expression: ~:M~%") form)
- (tr-tell (intl:gettext "translator: 'eval_when' can appear only at the top level in a file.~%"))
+ (tr-format (intl:gettext "translator: found 'eval_when' in a function or expression: ~:M~%") form)
+ (tr-format (intl:gettext "translator: 'eval_when' can appear only at the top level in a file.~%"))
(setq tr-abort t)
'($any . nil))
diff --git a/src/transs.lisp b/src/transs.lisp
index c3dd4b0..c56a944 100644
--- a/src/transs.lisp
+++ b/src/transs.lisp
@@ -371,7 +371,7 @@ translated."
(let ((it (translate-function ($verbify (car l)))))
(if it (push it v))))
(t
- (tr-tell (intl:gettext "translator: 'translate' argument must be an atom; found: ~:M~%") (car l))))))))
+ (tr-format (intl:gettext "translator: 'translate' argument must be an atom; found: ~:M~%") (car l))))))))
(declare-top (special forms-to-compile-queue))
diff --git a/src/trmode.lisp b/src/trmode.lisp
index 9790c91..83e05e0 100644
--- a/src/trmode.lisp
+++ b/src/trmode.lisp
@@ -68,7 +68,7 @@
`(defprop ,var assign-mode-check assign))
(def-mtrvar ,(cadr form) ,(dtranslate (caddr form))))))))
(t
- (tr-tell (intl:gettext "translator: 'define_variable' must have 3 arguments; found: ~:M~%") form)
+ (tr-format (intl:gettext "translator: 'define_variable' must have 3 arguments; found: ~:M~%") form)
nil)))
;; the priority fails when a DEF-MTRVAR is done, then the user
commit 6ae2ff898cb48c8aff187d52aa9adc0b712aa633
Author: robert_dodier <rob...@us...>
Date: Sat Jun 11 10:58:59 2011 -0600
(1) Message about translating kill is no longer needed, so cut it out.
(2) That message was the only use of tr_windy anywhere, so cut out the
definition of tr_windy and all references to it in source code and documentation
(except for doc/info/ru, which I do not know how to edit).
diff --git a/doc/info/Function.texi b/doc/info/Function.texi
index 96dc9f5..4c3b41f 100644
--- a/doc/info/Function.texi
+++ b/doc/info/Function.texi
@@ -2090,9 +2090,8 @@ See also
@code{tr_warn_fexpr},
@code{tr_warn_meval},
@code{tr_warn_mode},
-@code{tr_warn_undeclared},
-@code{tr_warn_undefined_variable}, and
-@code{tr_windy}.
+@code{tr_warn_undeclared},
+and @code{tr_warn_undefined_variable}.
@end flushleft
@opencatbox
@@ -2380,24 +2379,6 @@ undefined global variables are seen.
@closecatbox
@end defvr
-@c $tr_windy IS USED IN EXACTLY ONE PLACE (def%tr $kill IN src/trans1.lisp)
-@c WHERE IT CAUSES A WARNING ABOUT USING kill.
-@c HOW ABOUT IF WE PERMANENTLY ENABLE THE WARNING MESSAGE
-@c AND CUT OUT tr_windy FROM CODE AND DOCS.
-
-@c -----------------------------------------------------------------------------
-@anchor{tr_windy}
-@defvr {Option variable} tr_windy
-Default value: @code{true}
-
-- Generate helpful comments and
-programming hints.
-
-@opencatbox
-@category{Translation flags and variables}
-@closecatbox
-@end defvr
-
@c -----------------------------------------------------------------------------
@anchor{compile_file}
@deffn {Function} compile_file (@var{filename})
diff --git a/doc/info/de/Translator.de.texi b/doc/info/de/Translator.de.texi
index 8c99faf..ff90d78 100644
--- a/doc/info/de/Translator.de.texi
+++ b/doc/info/de/Translator.de.texi
@@ -714,9 +714,8 @@ Siehe auch die folgenden Optionsvariablen:
@code{tr_warn_fexpr},
@code{tr_warn_meval},
@code{tr_warn_mode},
-@code{tr_warn_undeclared},
-@code{tr_warn_undefined_variable} und
-@code{tr_windy}.
+@code{tr_warn_undeclared},
+und @code{tr_warn_undefined_variable}.
@end flushleft
@end deffn
@@ -1020,21 +1019,5 @@ Gebe eine Warnung aus, wenn undefinierte globale Variablen auftreten.
@end defvr
-@c $tr_windy IS USED IN EXACTLY ONE PLACE (def%tr $kill IN src/trans1.lisp)
-@c WHERE IT CAUSES A WARNING ABOUT USING kill.
-@c HOW ABOUT IF WE PERMANENTLY ENABLE THE WARNING MESSAGE
-@c AND CUT OUT tr_windy FROM CODE AND DOCS.
-
-@c --- 05.01.2011 DK -----------------------------------------------------------
-@anchor{tr_windy}
-@defvr {Optionsvariable} tr_windy
-Standardwert: @code{true}
-
-@c Generate helpful comments and programming hints.
-
-Generiere Kommentare und Hinweise zur Programmierung.
-
-@end defvr
-
@c --- End of file Translator.de.texi ------------------------------------------
diff --git a/doc/info/es/Function.es.texi b/doc/info/es/Function.es.texi
index 864167b..8c25129 100644
--- a/doc/info/es/Function.es.texi
+++ b/doc/info/es/Function.es.texi
@@ -1612,9 +1612,8 @@ V@'eanse tambi@'en @code{tr_array_as_ref},
@code{tr_warn_fexpr},
@code{tr_warn_meval},
@code{tr_warn_mode},
-@code{tr_warn_undeclared},
-@code{tr_warn_undefined_variable},
-y @code{tr_windy}.
+@code{tr_warn_undeclared},
+y @code{tr_warn_undefined_variable}.
@end deffn
@@ -1746,13 +1745,6 @@ Devuelve un aviso cuando se detectan variables globales no definidas.
@end defvr
-@defvr {Variable opcional} tr_windy
-Valor por defecto: @code{true}
-
-Genera comentarios de ayuda y consejos sobre programaci@'on.
-
-@end defvr
-
@deffn {Funci@'on} compile_file (@var{nombre_fich})
@deffnx {Funci@'on} compile_file (@var{nombre_fich}, @var{nombre_fich_compilado})
@deffnx {Funci@'on} compile_file (@var{nombre_fich}, @var{nombre_fich_compilado}, @var{nombre_fich_lisp})
diff --git a/doc/info/it/Function.texi b/doc/info/it/Function.texi
index fd48b75..61a9ea5 100644
--- a/doc/info/it/Function.texi
+++ b/doc/info/it/Function.texi
@@ -206,10 +206,6 @@ THIS ITEM NEEDS TO BE TRANSLATED.
THIS ITEM NEEDS TO BE TRANSLATED.
@end defvr
-@defvr {Option variable} tr_windy
-THIS ITEM NEEDS TO BE TRANSLATED.
-@end defvr
-
@deffn {Function} compile_file (@var{filename})
@deffnx {Function} compile_file (@var{filename}, @var{compiled_filename})
@deffnx {Function} compile_file (@var{filename}, @var{compiled_filename}, @var{lisp_filename})
diff --git a/doc/info/pt/Function.texi b/doc/info/pt/Function.texi
index fb0dff2..c0566d7 100644
--- a/doc/info/pt/Function.texi
+++ b/doc/info/pt/Function.texi
@@ -1688,9 +1688,8 @@ Veja tamb@'em @code{tr_array_as_ref},
@code{tr_warn_fexpr},
@code{tr_warn_meval},
@code{tr_warn_mode},
-@code{tr_warn_undeclared},
-@code{tr_warn_undefined_variable},
-and @code{tr_windy}.
+@code{tr_warn_undeclared},
+e @code{tr_warn_undefined_variable}.
@end deffn
@@ -1883,18 +1882,6 @@ vari@'aveis globais indefinidas forem vistas.
@end defvr
-@c $tr_windy IS USED IN EXACTLY ONE PLACE (def%tr $kill IN src/trans1.lisp)
-@c WHERE IT CAUSES A WARNING ABOUT USING kill.
-@c HOW ABOUT IF WE PERMANENTLY ENABLE THE WARNING MESSAGE
-@c AND CUT OUT tr_windy FROM CODE AND DOCS.
-@defvr {Vari@'avel de op@value{cedilha}@~ao} tr_windy
-Valor por omiss@~ao: @code{true}
-
-- Gera coment@'arios "de grande ajuda" e
-dicas de programa@value{cedilha}@~ao.
-
-@end defvr
-
@deffn {Fun@value{cedilha}@~ao} compile_file (@var{nomeficheiro})
@deffnx {Fun@value{cedilha}@~ao} compile_file (@var{nomeficheiro}, @var{nomeficheiro_compilado})
@deffnx {Fun@value{cedilha}@~ao} compile_file (@var{nomeficheiro}, @var{nomeficheiro_compilado}, @var{lisp_nomeficheiro})
diff --git a/doc/info/pt_BR/Function.texi b/doc/info/pt_BR/Function.texi
index f4dac55..f0d758a 100644
--- a/doc/info/pt_BR/Function.texi
+++ b/doc/info/pt_BR/Function.texi
@@ -1824,9 +1824,8 @@ Veja tamb@'{e}m @code{tr_array_as_ref},
@code{tr_warn_fexpr},
@code{tr_warn_meval},
@code{tr_warn_mode},
-@code{tr_warn_undeclared},
-@code{tr_warn_undefined_variable},
-and @code{tr_windy}.
+@code{tr_warn_undeclared},
+e @code{tr_warn_undefined_variable}.
@end deffn
@@ -2020,18 +2019,6 @@ vari@'{a}veis globais indefinidas forem vistas.
@end defvr
-@c $tr_windy IS USED IN EXACTLY ONE PLACE (def%tr $kill IN src/trans1.lisp)
-@c WHERE IT CAUSES A WARNING ABOUT USING kill.
-@c HOW ABOUT IF WE PERMANENTLY ENABLE THE WARNING MESSAGE
-@c AND CUT OUT tr_windy FROM CODE AND DOCS.
-@defvr {Vari@'{a}vel de op@value{cedilha}@~{a}o} tr_windy
-Valor padr@~{a}o: @code{true}
-
-- Gera coment@'{a}rios "de grande ajuda" e
-dicas de programa@value{cedilha}@~{a}o.
-
-@end defvr
-
@deffn {Fun@value{cedilha}@~{a}o} compile_file (@var{nomearquivo})
@deffnx {Fun@value{cedilha}@~{a}o} compile_file (@var{nomearquivo}, @var{nomearquivo_compilado})
@deffnx {Fun@value{cedilha}@~{a}o} compile_file (@var{nomearquivo}, @var{nomearquivo_compilado}, @var{lisp_nomearquivo})
diff --git a/interfaces/emacs/emaxima/maxima-font-lock.el b/interfaces/emacs/emaxima/maxima-font-lock.el
index 6bd22d6..644e0c6 100644
--- a/interfaces/emacs/emaxima/maxima-font-lock.el
+++ b/interfaces/emacs/emaxima/maxima-font-lock.el
@@ -149,7 +149,6 @@
"tr_warn_mode"
"tr_warn_undeclared"
"tr_warn_undefined_variable"
- "tr_windy"
"use_fast_arrays"))
diff --git a/interfaces/emacs/emaxima/maxima.sty b/interfaces/emacs/emaxima/maxima.sty
index b4782eb..3adff69 100644
--- a/interfaces/emacs/emaxima/maxima.sty
+++ b/interfaces/emacs/emaxima/maxima.sty
@@ -156,7 +156,7 @@
tr_state_vars, tr_true_name_of_file_being_translated, tr_version,
tr_warn_bad_function_calls, tr_warn_fexpr, tr_warn_meval,
tr_warn_mode, tr_warn_undeclared, tr_warn_undefined_variable,
- tr_warnings_get, tr_windy, trace, trace_options,
+ tr_warnings_get, trace, trace_options,
transcompile, transform, translate, translate_file, transpose,
transrun, treillis, treinat, triangularize, trigexpand,
trigexpandplus, trigexpandtimes, triginverses, trigrat,
diff --git a/share/builtins-list.txt b/share/builtins-list.txt
index a9f31f1..a960cbf 100644
--- a/share/builtins-list.txt
+++ b/share/builtins-list.txt
@@ -1059,7 +1059,6 @@ tr_warn_meval
tr_warn_mode
tr_warn_undeclared
tr_warn_undefined_variable
-tr_windy
ttyoff
ueivects
ufg
diff --git a/src/lmdcls.lisp b/src/lmdcls.lisp
index 523d70a..9042a61 100644
--- a/src/lmdcls.lisp
+++ b/src/lmdcls.lisp
@@ -99,7 +99,7 @@
$tr_predicate_brain_damage $tr_semicompile $tr_state_vars
$tr_true_name_of_file_being_translated $tr_warn_bad_function_calls
$tr_warn_fexpr $tr_warn_meval $tr_warn_mode $tr_warn_undeclared
- $tr_warn_undefined_variable $tr_windy $ttyintfun $ttyintnum
+ $tr_warn_undefined_variable $ttyintfun $ttyintnum
$universe $user_mesfile $use_fast_arrays $values $vect_cross
$zerobern %e-val %p%i %pi-val %pi//2 %pi//4 %pi2 *$any-modes*
*alpha *const* *fnewvarsw *gcdl* *in *in-$batchload* *in-compile*
diff --git a/src/trans1.lisp b/src/trans1.lisp
index 45ae33e..35f4740 100644
--- a/src/trans1.lisp
+++ b/src/trans1.lisp
@@ -294,11 +294,6 @@
'($any . '$**error**))))
(def%tr $kill (form)
- (cond ($tr_windy
- (tr-tell "
-Warning:" form
-"Use of KILL in translated program is not recommended. See GJC for
-a replacement form. Translating anyway though.")))
`($any . (mapply '$kill ',(cdr form) nil)))
;;; Macsyma arrays are the biggest crock since STATUS PUNT NIL days.
diff --git a/src/transs.lisp b/src/transs.lisp
index c8681ee..c3dd4b0 100644
--- a/src/transs.lisp
+++ b/src/transs.lisp
@@ -32,9 +32,6 @@
"It TRUE messages about translation of the file are sent
to the TTY also.")
-(defmvar $tr_windy t
- "Generate helpful comments and programming hints.")
-
(defvar *translation-msgs-files* nil
"Where the warning and other comments goes.")
commit b1f98bb025f702ef2e6248a23b2c063d980425d5
Author: robert_dodier <rob...@us...>
Date: Sat Jun 11 10:21:14 2011 -0600
Emit correct code for function kill.
diff --git a/src/trans1.lisp b/src/trans1.lisp
index b30103a..45ae33e 100644
--- a/src/trans1.lisp
+++ b/src/trans1.lisp
@@ -299,7 +299,7 @@
Warning:" form
"Use of KILL in translated program is not recommended. See GJC for
a replacement form. Translating anyway though.")))
- `($any . (apply '$kill ',(cdr form))))
+ `($any . (mapply '$kill ',(cdr form) nil)))
;;; Macsyma arrays are the biggest crock since STATUS PUNT NIL days.
;;; The basic idea of ARRAY(<frob>,type,dims...) is that
commit 697a9995f8053ca30bc9b7ed3eb85dce08addbe3
Author: robert_dodier <rob...@us...>
Date: Sat Jun 11 10:07:25 2011 -0600
Regularize TR-TELL messages and enclose in GETTEXT.
Revise TR-TELL so it just punts to TR-FORMAT.
diff --git a/src/trans3.lisp b/src/trans3.lisp
index 6f71e43..ae64ba2 100644
--- a/src/trans3.lisp
+++ b/src/trans3.lisp
@@ -226,11 +226,7 @@
(defun side-effect-free-check (varl form)
(cond ((null varl) t)
(t
- (tr-tell "This form:" form
- "has side effects on these variables:"
- `((mlist) ,@varl)
- "which cannot be supported in the translated code."
- "(at this time)")
+ (tr-tell (intl:gettext "translator: unsupported side effects on ~:M in expression ~M~%") `((mlist) ,@varl) form)
nil)))
@@ -296,7 +292,7 @@
(cond ((or (member '*bad* arg-info :test #'eq)
(and (member t arg-info :test #'eq)
(cdr (member t arg-info :test #'eq)))) ;;; the &REST is not the last one.
- (tr-tell (cadr form) "translator: unsupported argument list in lambda expression.")
+ (tr-tell (intl:gettext "translator: unsupported argument list ~:M in lambda expression.~%") (cadr form))
(setq tr-abort t)
nil)
(t
diff --git a/src/trans4.lisp b/src/trans4.lisp
index 8d2c60d..6daa804 100644
--- a/src/trans4.lisp
+++ b/src/trans4.lisp
@@ -149,12 +149,12 @@
(if (symbolp op)
(funcall (or (get op 'tr-lisp->lisp) #'tr-lisp->lisp-default)
exp)
- (progn (tr-tell "Punting: non-symbolic operator")
+ (progn (tr-tell (intl:gettext "translator: found a non-symbolic operator; I give up.~%"))
(throw 'lisp->lisp-tr-lambda ()))))))
(defun tr-lisp->lisp-default (exp)
(cond ((macsyma-special-op-p (car exp))
- (tr-tell "Punting: unhandled special operator ~:@M" (car exp))
+ (tr-tell (intl:gettext "translator: unhandled special operator ~:@M~%") (car exp))
(throw 'lisp->lisp-tr-lambda ()))
('else
(tr-lisp->lisp-fun exp))))
@@ -227,7 +227,7 @@
;; and appears like a useless double-evaluation of arguments.
form)
('else
- (tr-tell "Punting: Unbound `meval' found!")
+ (tr-tell (intl:gettext "translator: found unbound MEVAL; I give up.~%"))
(throw 'lisp->lisp-tr-lambda ()))))
(defun-prop (is tr-lisp->lisp) (form)
@@ -236,5 +236,5 @@
(eq (car form) 'quote))
(cdr (translate `(($is) ,(cadr form)))))
('else
- (tr-tell "Punting: Unbound `is' found!")
+ (tr-tell (intl:gettext "translator: found unbound IS; I give up.~%"))
(throw 'lisp->lisp-tr-lambda ()))))
diff --git a/src/trans5.lisp b/src/trans5.lisp
index b98ed27..274c22e 100644
--- a/src/trans5.lisp
+++ b/src/trans5.lisp
@@ -186,7 +186,7 @@
((eq (caar var) 'msetq)
`(cons ',(cadr var) ,(dtranslate (caddr var))))
(t (setq tr-abort t)
- (tr-tell var "Illegal `buildq' form encountered during translation"))))
+ (tr-tell (intl:gettext "translator: found unhandled variable ~:M in 'buildq'.~%") var))))
;right thing to do here??
;how much error checking does transl do now?
; Yes. Not as much as it should! -GJC
diff --git a/src/transl.lisp b/src/transl.lisp
index 2b9b269..c7f8424 100644
--- a/src/transl.lisp
+++ b/src/transl.lisp
@@ -207,21 +207,12 @@ APPLY means like APPLY.")
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-(defun tr-tell (&rest x &aux (tp t))
- (do ((x x (cdr x)))
- ((null x))
- (cond ((atom (car x)) ;;; simple heuristic that seems to work.
- (cond ((or tp (> (flatc (car x)) 10.))
- (dolist (v *translation-msgs-files*) (terpri v))
- (setq tp nil)))
- (dolist (v *translation-msgs-files*)
- (princ (print-invert-case (stripdollar (car x))) v)))
- (t
- (dolist (v *translation-msgs-files*) (mgrind (car x) v))))))
+(defun tr-tell (&rest x)
+ (apply #'tr-format x))
(defun barfo (&rest l)
(apply #'tr-tell
- (nconc l '("translator: internal error.")))
+ (nconc (list (intl:gettext "translator: internal error. Message: ~:M~%")) l))
(cond (*transl-debug*
(break "transl barfo ~S" t))
(t
@@ -455,7 +446,7 @@ APPLY means like APPLY.")
((lambda) ((mlist) ,@(cdr args)) ,body))))
((member tr-unique a-args :test #'eq)
;; WHAT IS "BAD" ABOUT THE ARGUMENT LIST HERE ??
- (tr-tell "Bad argument list for a function to translate->" `((mlist),@args))
+ (tr-tell (intl:gettext "translator: unhandled argument list in function definition: ~:M~%") `((mlist),@args))
(setq tr-abort t)
nil)
((member (caar form) '(mdefine mdefmacro) :test #'eq)
@@ -537,7 +528,7 @@ APPLY means like APPLY.")
(defun trfail (x)
- (tr-tell x (intl:gettext "translator: failed to translate.")) nil)
+ (tr-tell x (intl:gettext "translator: failed to translate.~%")) nil)
(defmfun translate-and-eval-macsyma-expression (form)
;; this is the hyper-random entry to the transl package!
@@ -600,7 +591,7 @@ APPLY means like APPLY.")
(setq whens (cond (($listp whens) (cdr whens))
((atom whens) (list whens))
(t
- (tr-tell (intl:gettext "translator: 'eval-when' argument must be a list or atom; found:") (cadr form))
+ (tr-tell (intl:gettext "translator: 'eval-when' argument must be a list or atom; found: ~:M~%") (cadr form))
nil)))
(setq tr-whens (mapcar 'stripdollar whens))
(cond ((member '$translate whens :test #'eq)
@@ -822,12 +813,8 @@ APPLY means like APPLY.")
;;; G(F,X):=F(X+1); case.
((and $tr_bound_function_applyp (tboundp function))
(let ((new-form `(($apply) ,function ((mlist) ,@args))))
- (tr-tell function
- "in the form "
- form
- "has been used as a function, yet is a bound variable"
- "in this context. This code being translated as :"
- new-form)
+ (tr-tell (intl:gettext "translator: ~:M is a bound variable in ~:M, but it is used as a function.~%") function form)
+ (tr-tell (intl:gettext "translator: instead I'll translate it as: ~:M~%") new-form)
(translate new-form)))
;; MFUNCTION-CALL cleverely punts this question to a FSUBR in the
;; interpreter, and a macro in the compiler. This is good style,
@@ -973,10 +960,8 @@ APPLY means like APPLY.")
(setq nl (cons (cadr l) (cons (car l) nl)))))
(def%tr $eval_when (form)
- (tr-tell
- "`eval_when' can only be used at top level in a file"
- form
- "it cannot be used inside an expression or function.")
+ (tr-tell (intl:gettext "translator: found 'eval_when' in a function or expression: ~:M~%") form)
+ (tr-tell (intl:gettext "translator: 'eval_when' can appear only at the top level in a file.~%"))
(setq tr-abort t)
'($any . nil))
diff --git a/src/transs.lisp b/src/transs.lisp
index 586f38c..c8681ee 100644
--- a/src/transs.lisp
+++ b/src/transs.lisp
@@ -374,9 +374,7 @@ translated."
(let ((it (translate-function ($verbify (car l)))))
(if it (push it v))))
(t
- (tr-tell
- (car l)
- " is an illegal argument to `translate'.")))))))
+ (tr-tell (intl:gettext "translator: 'translate' argument must be an atom; found: ~:M~%") (car l))))))))
(declare-top (special forms-to-compile-queue))
diff --git a/src/trmode.lisp b/src/trmode.lisp
index 7b1d2f8..9790c91 100644
--- a/src/trmode.lisp
+++ b/src/trmode.lisp
@@ -68,7 +68,7 @@
`(defprop ,var assign-mode-check assign))
(def-mtrvar ,(cadr form) ,(dtranslate (caddr form))))))))
(t
- (tr-tell "Wrong number of arguments" form)
+ (tr-tell (intl:gettext "translator: 'define_variable' must have 3 arguments; found: ~:M~%") form)
nil)))
;; the priority fails when a DEF-MTRVAR is done, then the user
commit 874d4ea4ad1562e00349a91556f8c972329d848f
Merge: ba9de00 2c3efda
Author: robert_dodier <rob...@us...>
Date: Thu Jun 9 22:54:27 2011 -0600
Merge branch 'master' of ssh://robert_dodier@maxima.git.sourceforge.net/gitroot/maxima/maxima
commit 1320d669100e2c9455930ab98aa688399f5cd43b
Author: robert_dodier <rob...@us...>
Date: Thu Jun 9 00:43:23 2011 -0600
Cut out call to FLUIDIZE (can never be called) and cut
out definition of FLUIDIZE. This is residual special-variable stuff.
diff --git a/src/mlisp.lisp b/src/mlisp.lisp
index dee937a..cad77eb 100644
--- a/src/mlisp.lisp
+++ b/src/mlisp.lisp
@@ -1426,8 +1426,6 @@ wrapper for this."
(dolist (1-char (coerce var 'list))
(add2lnc 1-char *alphabet*)))
- ((eq prop 'special)(proclaim (list 'special var))
- (fluidize var))
(mpropp
(if (and (member prop '($scalar $nonscalar) :test #'eq)
(mget var (if (eq prop '$scalar) '$nonscalar '$scalar)))
@@ -1565,7 +1563,7 @@ wrapper for this."
(not (mgetl var '($nonscalar $scalar $mainvar $numer
matchdeclare $atomgrad atvalues)))
(not (getl var '(evfun evflag translated nonarray bindtest
- sp2 operators opers special data autoload mode)))))
+ sp2 operators opers data autoload mode)))))
(not (member var *builtin-$props* :test #'equal)))
(delete var $props :count 1 :test #'equal)))
diff --git a/src/sys-proclaim.lisp b/src/sys-proclaim.lisp
index 04c4d20..1fc47b9 100644
--- a/src/sys-proclaim.lisp
+++ b/src/sys-proclaim.lisp
@@ -2676,7 +2676,6 @@
(PROCLAIM '(FTYPE (FUNCTION (T) *) MAXIMA::FLOOR-INTEGRAL))
(PROCLAIM '(FTYPE (FUNCTION (T T) T) MAXIMA::FLRED))
(PROCLAIM '(FTYPE (FUNCTION (T) T) MAXIMA::FLSORT))
-(PROCLAIM '(FTYPE (FUNCTION (T) T) MAXIMA::FLUIDIZE))
(PROCLAIM '(FTYPE (FUNCTION (T T T) *) MAXIMA::FMAP1))
(PROCLAIM '(FTYPE (FUNCTION (T *) T) MAXIMA::FMAPL1))
(PROCLAIM '(FTYPE (FUNCTION (T) T) MAXIMA::FMP1))
diff --git a/src/trmode.lisp b/src/trmode.lisp
index f2834c7..7b1d2f8 100644
--- a/src/trmode.lisp
+++ b/src/trmode.lisp
@@ -250,15 +250,5 @@
(($complex) "to ask about this")
(t "to see the documentation on"))))
-(defmfun fluidize (variable)
- (mapc #'(lambda (v) (or (boundp v) (setf (symbol-value v) nil)))
- ;; what a sorry crock to have all these switches.
- '(*in-compile* *in-compfile* *in-translate* *in-translate-file*))
-
- (putprop variable t 'special)
- (if (and $transcompile
- (or *in-compile* *in-compfile* *in-translate* *in-translate-file*))
- (pushnew variable specials :test #'eq)))
-
(defmspec $bind_during_translation (form)
(mevaln (cddr form)))
commit ba9de002989651a8c8e2d5c35575d89217fe21a2
Author: robert_dodier <rob...@us...>
Date: Wed Jun 8 21:11:55 2011 -0600
Regularize messages and enclose them in GETTEXT calls.
diff --git a/src/trans3.lisp b/src/trans3.lisp
index eedccf5..6f71e43 100644
--- a/src/trans3.lisp
+++ b/src/trans3.lisp
@@ -296,7 +296,7 @@
(cond ((or (member '*bad* arg-info :test #'eq)
(and (member t arg-info :test #'eq)
(cdr (member t arg-info :test #'eq)))) ;;; the &REST is not the last one.
- (tr-tell (cadr form) " bad `lambda' list. -`translate'")
+ (tr-tell (cadr form) "translator: unsupported argument list in lambda expression.")
(setq tr-abort t)
nil)
(t
diff --git a/src/transl.lisp b/src/transl.lisp
index a8bac01..2b9b269 100644
--- a/src/transl.lisp
+++ b/src/transl.lisp
@@ -221,7 +221,7 @@ APPLY means like APPLY.")
(defun barfo (&rest l)
(apply #'tr-tell
- (nconc l '("***BARFO*** gasp. Internal TRANSLATE error. i.e. *BUG*")))
+ (nconc l '("translator: internal error.")))
(cond (*transl-debug*
(break "transl barfo ~S" t))
(t
@@ -300,11 +300,8 @@ APPLY means like APPLY.")
(defun warn-meval (form &optional comment)
(cond ((tr-warnp $tr_warn_meval)
- (tr-format
- "~%WARNING-> ~:M~
- ~%has caused a call to the evaluator to be output,~
- ~%due to lack of information. Code will not work compiled."
- form)
+ (tr-format (intl:gettext "warning: translator emits call to MEVAL for expression: ~:M") form)
+ (tr-format (intl:gettext "warning: translator can't figure out what else to do."))
(cond (comment (dolist (v *translation-msgs-files*)
(terpri v)
(princ comment v))))
@@ -319,10 +316,7 @@ APPLY means like APPLY.")
(not (covers mode newmode))
(not (member (list var mode newmode) *warned-mode-vars* :test #'equal)))
(push (list var mode newmode) *warned-mode-vars*)
- (tr-format
- "~%WARNING-> Assigning variable ~:M, whose mode is ~:M,~
- a value of mode ~:M."
- var mode newmode)
+ (tr-format (intl:gettext "warning: variable ~:M (declared type ~:M) assigned type ~:M.") var mode newmode)
(cond (comment
(dolist (v *translation-msgs-files*)
(terpri v)
@@ -333,11 +327,8 @@ APPLY means like APPLY.")
(cond ((and (tr-warnp $tr_warn_fexpr)
(not (member form *warned-fexprs* :test #'equal)))
(push form *warned-fexprs*)
- (tr-format
- "~%WARNING->~%~:M~
- ~%is a special function without a full LISP translation~
- ~%scheme. Use in compiled code may not work."
- form)
+ (tr-format (intl:gettext "warning: ~:M is a special function without a full Lisp translation.") form)
+ (tr-format (intl:gettext "warning: calling ~:M in compiled code might not have the desired effect.") form)
(cond (comment
(dolist (v *translation-msgs-files*)
(terpri v)
@@ -463,6 +454,7 @@ APPLY means like APPLY.")
`(,(car form) ,(car args)
((lambda) ((mlist) ,@(cdr args)) ,body))))
((member tr-unique a-args :test #'eq)
+ ;; WHAT IS "BAD" ABOUT THE ARGUMENT LIST HERE ??
(tr-tell "Bad argument list for a function to translate->" `((mlist),@args))
(setq tr-abort t)
nil)
@@ -545,7 +537,7 @@ APPLY means like APPLY.")
(defun trfail (x)
- (tr-tell x " failed to translate.") nil)
+ (tr-tell x (intl:gettext "translator: failed to translate.")) nil)
(defmfun translate-and-eval-macsyma-expression (form)
;; this is the hyper-random entry to the transl package!
@@ -608,7 +600,7 @@ APPLY means like APPLY.")
(setq whens (cond (($listp whens) (cdr whens))
((atom whens) (list whens))
(t
- (tr-tell "Bad `eval-when' times" (cadr form))
+ (tr-tell (intl:gettext "translator: 'eval-when' argument must be a list or atom; found:") (cadr form))
nil)))
(setq tr-whens (mapcar 'stripdollar whens))
(cond ((member '$translate whens :test #'eq)
@@ -636,10 +628,11 @@ APPLY means like APPLY.")
((member (caar form) '(mdefine mdefmacro) :test #'eq)
(let ((name (caaadr form))
(trl))
- (tr-format "~%Translating: ~:@M" name)
+ (tr-format (intl:gettext "translator: translating ~:@M") name)
(setq trl (tr-mdefine-toplevel form))
(cond (tr-abort
- (tr-format "~%~:@M failed to Translate. Continuing..." name)
+ (tr-format (intl:gettext "translator: failed to translate ~:@M") name)
+ (tr-format (intl:gettext "translator: keep going and hope for the best."))
`(meval* ',form))
(t trl))))
((eq 'mprogn (caar form))
@@ -693,9 +686,7 @@ APPLY means like APPLY.")
;; tailrecursion should always arrange for a counter
;; to check for mobylossage.
((> kount $tr_optimize_max_loop)
- (tr-format
- "~%Looping over ~A times in optimization of call to ~:@M~
- ~%macro expand MAXIMA-ERROR likely so punting at this level."
+ (tr-format (intl:gettext "translator: I've looped ~A times in macro expansion; just give up and return ~:@M")
$tr_optimize_max_loop (caar form))
form)
(setq new-form (toplevel-optimize-1 form))
@@ -974,7 +965,7 @@ APPLY means like APPLY.")
when (or (symbolp v) (and (stringp v) (setq v ($verbify v))))
do (setf (get v 'once-translated) t)
(pushnew v *declared-translated-functions*)
- else do (merror "declare_translated: Arguments should be symbols or strings.")))
+ else do (merror (intl:gettext "declare_translated: arguments must be symbols or strings; found: ~:M") v)))
(def%tr $declare (form)
(do ((l (cdr form) (cddr l)) (nl))
@@ -1006,7 +997,7 @@ APPLY means like APPLY.")
(def%tr $local (form)
(cond (local
- (tr-format "Too many `local' statements in one block")
+ (tr-format (intl:gettext "translator: there is already a 'local' in this block."))
(setq tr-abort t))
(t
(setq local t)))
@@ -1224,7 +1215,7 @@ APPLY means like APPLY.")
(def%tr mreturn (form)
(if (null inside-mprog)
- (tr-format "`return' found not inside a `block' 'do': ~%~:M" form))
+ (tr-format (intl:gettext "translator: 'return' not within 'block' or 'do': ~:M") form))
(setq need-prog? t)
(setq form (translate (cadr form)))
(setq return-mode (if return-mode (*union-mode (car form) return-mode)
@@ -1236,9 +1227,9 @@ APPLY means like APPLY.")
(def%tr mgo (form)
(if (null inside-mprog)
- (tr-format "~%`go' found not inside a `block' or `do'. ~%~:M" form))
+ (tr-format (intl:gettext "translator: 'go' not within 'block' or 'do': ~:M") form))
(if (not (symbolp (cadr form)))
- (tr-format "~%`go' tag in form not symbolic.~%~:M" form))
+ (tr-format (intl:gettext "translator: 'go' tag must be a symbol: ~:M") form))
(setq need-prog? t)
`($any . (go ,(cadr form))))
@@ -1246,7 +1237,9 @@ APPLY means like APPLY.")
(let ((fn (cadr form)) (args (cddr form))
(aryp (member 'array (cdar form) :test #'eq)))
(cond ((atom fn)
- (mformat *translation-msgs-files* "~%Illegal mqapply form:~%~:M" form)
+ ;; I'm guessing (ATOM FN) is a parser error or other Lisp error,
+ ;; so don't bother to translate the following error message.
+ (mformat *translation-msgs-files* "translator: MQAPPLY operator must be a cons; found: ~:M" form)
nil)
((eq (caar fn) 'mquote)
`($any list ',(cons (cadr fn) aryp) ,@(tr-args args)))
@@ -1258,10 +1251,7 @@ APPLY means like APPLY.")
($listp arg))
'bogus)))
(cdr (cadr fn))) :test #'eq)
- (tr-format
- "~%QUOTE or [] args are not allowed in mqapply forms.~%~
- ~:M"
- form)
+ (tr-format (intl:gettext "translator: quote or list arguments are not allowed in MQAPPLY; found: ~:M") form)
(setq tr-abort t)
nil)
(t
@@ -1425,7 +1415,8 @@ APPLY means like APPLY.")
(tr-arraysetq var val))
(t
(unless (safe-get (caar var) 'mset_extension_operator)
- (tr-format "~%Dubious first LHS argument to ~:@M~%~:M" (caar form) var))
+ (tr-format (intl:gettext "translator: no assignment operator known for ~:M") var)
+ (tr-format (intl:gettext "translator: just keep going and hope for the best.")))
(setq val (translate val))
`(,(car val) mset ',(translate-atoms var) ,(cdr val))))))
@@ -1523,7 +1514,7 @@ APPLY means like APPLY.")
(and var (symbolp var) (not (eq var t))))
(defun bad-var-warn (var)
- (tr-format "~%Bad object to use as a variable:~%~:M~%" var))
+ (tr-format (intl:gettext "translator: ~:M cannot be used as a variable.") var))
(defun tbind (var &aux old)
(cond ((variable-p var)
-----------------------------------------------------------------------
Summary of changes:
doc/info/Function.texi | 23 +----
doc/info/de/Translator.de.texi | 21 +----
doc/info/es/Function.es.texi | 12 +--
doc/info/it/Function.texi | 4 -
doc/info/pt/Function.texi | 17 +---
doc/info/pt_BR/Function.texi | 17 +---
interfaces/emacs/emaxima/maxima-font-lock.el | 1 -
interfaces/emacs/emaxima/maxima.sty | 2 +-
share/builtins-list.txt | 1 -
src/lmdcls.lisp | 2 +-
src/mlisp.lisp | 4 +-
src/sys-proclaim.lisp | 2 -
src/trans1.lisp | 7 +-
src/trans3.lisp | 8 +-
src/trans4.lisp | 10 +-
src/trans5.lisp | 2 +-
src/transl.lisp | 144 ++++++-------------------
src/transs.lisp | 7 +-
src/trmode.lisp | 15 +---
src/trutil.lisp | 4 +-
20 files changed, 61 insertions(+), 242 deletions(-)
hooks/post-receive
--
Maxima, A Computer Algebra System
|