From: Robert D. <rob...@us...> - 2007-02-11 05:33:27
|
Update of /cvsroot/maxima/maxima/src In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv8057/src Modified Files: macsys.lisp displa.lisp ldisp.lisp init-cl.lisp Log Message: Implement a --very-quiet command line option, which suppresses input and output labels and the banner message. - src/macsys.lisp: Suppress input labels when *DISPLAY-LABELS-P* is NIL - src/displa.lisp: Suppress labels in 2-d output when *DISPLAY-LABELS-P* is NIL - src/ldisp.lisp: Suppress labels in 1-d output when *DISPLAY-LABELS-P* is NIL - src/init-cl.lisp: Define command line option --very-quiet New option works as intended when tested with SBCL 1.0, GCL 2.6.7, and Clisp 2.38 (all on Linux). Index: macsys.lisp =================================================================== RCS file: /cvsroot/maxima/maxima/src/macsys.lisp,v retrieving revision 1.54 retrieving revision 1.55 diff -u -d -r1.54 -r1.55 --- macsys.lisp 28 Jan 2007 01:18:05 -0000 1.54 +++ macsys.lisp 11 Feb 2007 05:33:21 -0000 1.55 @@ -26,8 +26,11 @@ ;; and take a format string and format arguments. ;; Even easier and more general is for MREAD to take ;; a FUNARG as the prompt. -gjc - (format () "~A(~A~D) ~A" *prompt-prefix* - (print-invert-case (stripdollar $inchar)) $linenum *prompt-suffix*)) + (declare (special *display-labels-p*)) + (if *display-labels-p* + (format () "~A(~A~D) ~A" *prompt-prefix* + (print-invert-case (stripdollar $inchar)) $linenum *prompt-suffix*) + "")) (defun break-prompt () (declare (special $prompt)) Index: displa.lisp =================================================================== RCS file: /cvsroot/maxima/maxima/src/displa.lisp,v retrieving revision 1.26 retrieving revision 1.27 diff -u -d -r1.26 -r1.27 --- displa.lisp 27 Dec 2006 20:59:46 -0000 1.26 +++ displa.lisp 11 Feb 2007 05:33:22 -0000 1.27 @@ -1094,12 +1094,14 @@ (displa-def mlable dim-mlabel 0 0) +(defvar *display-labels-p* t) + (defun dim-mlabel (form result) (prog (dummy (w 0) (h 0) (d 0)) (declare (fixnum w h d)) (cond ((eq nil (cadr form)) (setq w 0 h 0 d 0)) - (mratp (setq result (append mratp (dimension-paren (cadr form) result)) + (mratp (setq result (append mratp (if *display-labels-p* (dimension-paren (cadr form) result))) w (f+ 4 width) h height d depth)) - (t (setq result (cons #\space (dimension-paren (cadr form) result)) + (t (setq result (cons #\space (if *display-labels-p* (dimension-paren (cadr form) result))) w (f1+ width) h height d depth))) (let ((level linel)) (checkbreak result w)) (setq dummy (list 0 0)) Index: ldisp.lisp =================================================================== RCS file: /cvsroot/maxima/maxima/src/ldisp.lisp,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- ldisp.lisp 29 Jan 2007 17:48:14 -0000 1.4 +++ ldisp.lisp 11 Feb 2007 05:33:22 -0000 1.5 @@ -22,12 +22,12 @@ ;;; its input. (defun linear-displa (x) - (declare (special chrps)) + (declare (special chrps *display-labels-p*)) (fresh-line *standard-output*) (cond ((not (atom x)) (cond ((eq (caar x) 'mlable) (setq chrps 0) - (cond ((cadr x) + (cond ((and (cadr x) *display-labels-p*) (princ "(") (setq chrps (+ 3 (length (mgrind (cadr x) nil)))) Index: init-cl.lisp =================================================================== RCS file: /cvsroot/maxima/maxima/src/init-cl.lisp,v retrieving revision 1.88 retrieving revision 1.89 diff -u -d -r1.88 -r1.89 --- init-cl.lisp 4 Feb 2007 15:35:09 -0000 1.88 +++ init-cl.lisp 11 Feb 2007 05:33:22 -0000 1.89 @@ -570,7 +570,11 @@ *autoconf-version*) ($quit)) :help-string - "Display the default installed version."))) + "Display the default installed version.") + (make-cl-option :names '("--very-quiet") + :action #'(lambda () (declare (special *maxima-quiet* *display-labels-p*)) + (setq *maxima-quiet* t *display-labels-p* nil)) + :help-string "Suppress expression labels and Maxima start-up message."))) (process-args (get-application-args) maxima-options)) (values input-stream batch-flag)) |