|
From: James A. <amu...@us...> - 2003-11-23 19:43:59
|
Update of /cvsroot/maxima/maxima/src
In directory sc8-pr-cvs1:/tmp/cvs-serv4456
Modified Files:
init-cl.lisp
Log Message:
Fixed --list-avail in the presence of MAXIMA_PREFIX. Also cleaned up some indentation/whitespace.
Index: init-cl.lisp
===================================================================
RCS file: /cvsroot/maxima/maxima/src/init-cl.lisp,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -d -r1.26 -r1.27
--- init-cl.lisp 21 Nov 2003 19:37:29 -0000 1.26
+++ init-cl.lisp 23 Nov 2003 19:43:55 -0000 1.27
@@ -74,47 +74,37 @@
(setq maxima-prefix-env (maxima-getenv "MAXIMA_DIRECTORY")))
(if maxima-prefix-env
(setq *maxima-prefix* maxima-prefix-env)
- (setq *maxima-prefix* *autoconf-prefix*))
+ (setq *maxima-prefix* *autoconf-prefix*))
(if maxima-datadir-env
(setq *maxima-datadir* maxima-datadir-env)
- (if maxima-prefix-env
- (setq *maxima-datadir* (concatenate 'string *maxima-prefix*
- "/"
- "share"))
- (setq *maxima-datadir* *autoconf-datadir*)))
+ (if maxima-prefix-env
+ (setq *maxima-datadir* (concatenate 'string *maxima-prefix*
+ "/share"))
+ (setq *maxima-datadir* *autoconf-datadir*)))
(if maxima-verpkgdatadir-env
(setq *maxima-verpkgdatadir* maxima-verpkgdatadir-env)
- (setq *maxima-verpkgdatadir* (concatenate 'string
- *maxima-datadir*
- "/"
- *autoconf-package*
- "/"
- *autoconf-version*)))
+ (setq *maxima-verpkgdatadir* (concatenate 'string *maxima-datadir*
+ "/" *autoconf-package*
+ "/" *autoconf-version*)))
(if maxima-prefix-env
(setq *maxima-libexecdir* (concatenate 'string *maxima-prefix*
- "/"
- "libexec"))
- (setq *maxima-libexecdir* *autoconf-libexecdir*))
- (setq *maxima-verpkglibexecdir* (concatenate 'string
- *maxima-libexecdir*
- "/"
- *autoconf-package*
- "/"
- *autoconf-version*))
+ "/libexec"))
+ (setq *maxima-libexecdir* *autoconf-libexecdir*))
+ (setq *maxima-verpkglibexecdir* (concatenate 'string *maxima-libexecdir*
+ "/" *autoconf-package*
+ "/" *autoconf-version*))
(if maxima-plotdir-env
(setq *maxima-plotdir* (maxima-getenv "MAXIMA_PLOTDIR"))
- (setq *maxima-plotdir* *maxima-verpkglibexecdir*))
+ (setq *maxima-plotdir* *maxima-verpkglibexecdir*))
(if maxima-infodir-env
(setq *maxima-infodir* maxima-infodir-env)
- (if maxima-prefix-env
- (setq *maxima-infodir* (concatenate 'string *maxima-prefix*
- "/"
- "info"))
- (setq *maxima-infodir* *autoconf-infodir*)))
+ (if maxima-prefix-env
+ (setq *maxima-infodir* (concatenate 'string *maxima-prefix*
+ "/info"))
+ (setq *maxima-infodir* *autoconf-infodir*)))
(if maxima-userdir-env
(setq *maxima-userdir* maxima-userdir-env)
- (setq *maxima-userdir* (concatenate 'string home-env "/.maxima"))))
-
+ (setq *maxima-userdir* (concatenate 'string home-env "/.maxima"))))
(let* ((ext #+gcl "o"
#+cmu (c::backend-fasl-file-type c::*target-backend*)
@@ -137,157 +127,159 @@
(concatenate 'string *maxima-userdir* "/" lisp-patterns)
(maxima-data-path share-with-subdirs lisp-patterns)
(maxima-data-path "src" lisp-patterns)))
- (setq $file_search_maxima
- (list '(mlist)
- (concatenate 'string *maxima-userdir* "/" "###.{mac,mc}")
- (maxima-data-path share-with-subdirs "###.{mac,mc}")))
- (setq $file_search_demo
- (list '(mlist)
- (maxima-data-path share-with-subdirs
- "###.{dem,dm1,dm2,dm3,dmt}")
- (maxima-data-path "{demo}"
- "###.{dem,dm1,dm2,dm3,dmt}")))
- (setq $file_search_usage
- (list '(mlist) (maxima-data-path share-with-subdirs
- "###.{usg,texi}")
- (maxima-data-path "doc" "###.{mac}")))
- (setq $chemin
- (maxima-data-path "sym" ""))
- (setq cl-info::*info-paths* (list (concatenate 'string
- *maxima-infodir* "/")))))
+ (setq $file_search_maxima
+ (list '(mlist)
+ (concatenate 'string *maxima-userdir* "/" "###.{mac,mc}")
+ (maxima-data-path share-with-subdirs "###.{mac,mc}")))
+ (setq $file_search_demo
+ (list '(mlist)
+ (maxima-data-path share-with-subdirs
+ "###.{dem,dm1,dm2,dm3,dmt}")
+ (maxima-data-path "{demo}"
+ "###.{dem,dm1,dm2,dm3,dmt}")))
+ (setq $file_search_usage
+ (list '(mlist) (maxima-data-path share-with-subdirs
+ "###.{usg,texi}")
+ (maxima-data-path "doc" "###.{mac}")))
+ (setq $chemin
+ (maxima-data-path "sym" ""))
+ (setq cl-info::*info-paths* (list (concatenate 'string
+ *maxima-infodir* "/")))))
(defun get-dirs (path)
#+(or :clisp :sbcl)
(directory (concatenate 'string (namestring path) "/*/"))
#-(or :clisp :sbcl)
(directory (concatenate 'string (namestring path) "/*")))
-
+
(defun unix-like-basename (path)
(let* ((pathstring (namestring path))
- (len (length pathstring)))
+ (len (length pathstring)))
(if (equal (subseq pathstring (- len 1) len) "/")
(progn (setf len (- len 1))
- (setf pathstring (subseq pathstring 0 len))))
+ (setf pathstring (subseq pathstring 0 len))))
(subseq pathstring (+ (position #\/ pathstring :from-end t) 1) len)))
(defun unix-like-dirname (path)
(let* ((pathstring (namestring path))
- (len (length pathstring)))
+ (len (length pathstring)))
(if (equal (subseq pathstring (- len 1) len) "/")
(progn (setf len (- len 1))
- (setf pathstring (subseq pathstring 0 len))))
+ (setf pathstring (subseq pathstring 0 len))))
(subseq pathstring 0 (position #\/ pathstring :from-end t))))
(defun list-avail-action ()
- ;; jfa *autoconf-libdir* is only correct if the environment
- ;; variable MAXIMA_PREFIX has not been set. Fixme, please. 11/21/03
- (let* ((mvpldir (concatenate 'string
- *autoconf-libdir*
- "/"
- *autoconf-package*
- "/"
- *autoconf-version*))
+ (let* ((mvpldir (if (maxima-getenv "MAXIMA-VERPKGLIBDIR")
+ (maxima-getenv "MAXIMA-VERPKGLIBDIR")
+ (if (maxima-getenv "MAXIMA_PREFIX")
+ (concatenate 'string (maxima-getenv "MAXIMA_PREFIX")
+ "/lib/" *autoconf-package* "/"
+ *autoconf-version*)
+ (concatenate 'string *autoconf-libdir* "/"
+ *autoconf-package* "/"
+ *autoconf-version*))))
(len (length mvpldir))
(base-dir nil)
(versions nil)
(version-string nil)
(lisps nil)
(lisp-string nil))
- (format t "Available versions:~%")
- (if (not (equal (subseq mvpldir (- len 1) len) "/"))
- (setf mvpldir (concatenate 'string mvpldir "/")))
- (setf base-dir (unix-like-dirname mvpldir))
- (setf versions (get-dirs base-dir))
- (dolist (version versions)
- (setf lisps (get-dirs version))
- (setf version-string (unix-like-basename version))
- (dolist (lisp lisps)
- (setf lisp-string (unix-like-basename lisp))
- (setf lisp-string (subseq lisp-string (length "binary-")
- (length lisp-string)))
- (format t "version ~a, lisp ~a~%" version-string lisp-string)))
- (bye)))
+ (format t "Available versions:~%")
+ (if (not (equal (subseq mvpldir (- len 1) len) "/"))
+ (setf mvpldir (concatenate 'string mvpldir "/")))
+ (setf base-dir (unix-like-dirname mvpldir))
+ (setf versions (get-dirs base-dir))
+ (dolist (version versions)
+ (setf lisps (get-dirs version))
+ (setf version-string (unix-like-basename version))
+ (dolist (lisp lisps)
+ (setf lisp-string (unix-like-basename lisp))
+ (setf lisp-string (subseq lisp-string (length "binary-")
+ (length lisp-string)))
+ (format t "version ~a, lisp ~a~%" version-string lisp-string)))
+ (bye)))
-;#+gcl (setq si::*top-level-hook* 'user::run)
(defun process-maxima-args (input-stream batch-flag)
-;; (format t "processing maxima args = ")
-;; (mapc #'(lambda (x) (format t "\"~a\"~%" x)) (get-application-args))
-;; (terpri)
+ ;; (format t "processing maxima args = ")
+ ;; (mapc #'(lambda (x) (format t "\"~a\"~%" x)) (get-application-args))
+ ;; (terpri)
(let ((maxima-options nil))
(setf maxima-options
(list
(make-cl-option :names '("-h" "--help")
- :action #'(lambda ()
- (format t "usage: maxima [options]~%")
- (list-cl-options maxima-options)
- (bye))
- :help-string "Display this usage message.")
+ :action #'(lambda ()
+ (format t "usage: maxima [options]~%")
+ (list-cl-options maxima-options)
+ (bye))
+ :help-string "Display this usage message.")
(make-cl-option :names '("-l" "--lisp")
- :argument "<lisp>"
- :action nil
- :help-string "Use lisp implementation <lisp>.")
+ :argument "<lisp>"
+ :action nil
+ :help-string "Use lisp implementation <lisp>.")
(make-cl-option :names '("-u" "--use-version")
- :argument "<version>"
- :action nil
- :help-string "Use maxima version <version>.")
+ :argument "<version>"
+ :action nil
+ :help-string "Use maxima version <version>.")
(make-cl-option :names '("--list-avail")
- :action 'list-avail-action
- :help-string
- "List the installed version/lisp combinations.")
+ :action 'list-avail-action
+ :help-string
+ "List the installed version/lisp combinations.")
(make-cl-option :names '("-b" "--batch")
- :argument "<file>"
- :action #'(lambda (file)
- (setf input-stream
- (make-string-input-stream
- (format nil "batch(\"~a\");" file)))
- (setf batch-flag :batch))
- :help-string
- "Process maxima file <file> in batch mode.")
+ :argument "<file>"
+ :action #'(lambda (file)
+ (setf input-stream
+ (make-string-input-stream
+ (format nil "batch(\"~a\");"
+ file)))
+ (setf batch-flag :batch))
+ :help-string
+ "Process maxima file <file> in batch mode.")
(make-cl-option :names '("--batch-lisp")
- :argument "<file>"
- :action #'(lambda (file)
- (setf input-stream
- (make-string-input-stream
- (format nil ":lisp (load \"~a\");"
- file)))
- (setf batch-flag :batch))
- :help-string "Process lisp file <file> in batch mode.")
+ :argument "<file>"
+ :action #'(lambda (file)
+ (setf input-stream
+ (make-string-input-stream
+ (format nil
+ ":lisp (load \"~a\");"
+ file)))
+ (setf batch-flag :batch))
+ :help-string
+ "Process lisp file <file> in batch mode.")
(make-cl-option :names '("--batch-string")
- :argument "<string>"
- :action #'(lambda (string)
- (setf input-stream
- (make-string-input-stream string))
- (setf batch-flag :batch))
- :help-string
- "Process maxima command(s) <string> in batch mode.")
+ :argument "<string>"
+ :action #'(lambda (string)
+ (setf input-stream
+ (make-string-input-stream string))
+ (setf batch-flag :batch))
+ :help-string
+ "Process maxima command(s) <string> in batch mode.")
(make-cl-option :names '("-r" "--run-string")
- :argument "<string>"
- :action #'(lambda (string)
- (setf input-stream
- (make-string-input-stream string))
- (setf batch-flag nil))
- :help-string
- "Process maxima command(s) <string> in interactive mode.")
+ :argument "<string>"
+ :action #'(lambda (string)
+ (setf input-stream
+ (make-string-input-stream string))
+ (setf batch-flag nil))
+ :help-string
+ "Process maxima command(s) <string> in interactive mode.")
(make-cl-option :names '("-p" "--preload-lisp")
- :argument "<lisp-file>"
- :action #'(lambda (file)
- (load file))
- :help-string "Preload <lisp-file>.")
+ :argument "<lisp-file>"
+ :action #'(lambda (file)
+ (load file))
+ :help-string "Preload <lisp-file>.")
(make-cl-option :names '("-v" "--verbose")
- :action nil
- :help-string
- "Display lisp invocation in maxima wrapper script.")
+ :action nil
+ :help-string
+ "Display lisp invocation in maxima wrapper script.")
(make-cl-option :names '("--version")
- :action #'(lambda ()
- (format t "Maxima ~a~%" *autoconf-version*)
- ($quit))
- :help-string
- "Display the default installed version.")))
+ :action #'(lambda ()
+ (format t "Maxima ~a~%"
+ *autoconf-version*)
+ ($quit))
+ :help-string
+ "Display the default installed version.")))
(process-args (get-application-args) maxima-options))
(values input-stream batch-flag))
-
-
(defun user::run ()
"Run Maxima in its own package."
(in-package "MAXIMA")
@@ -301,20 +293,20 @@
(progn
(set-readtable-for-macsyma)
(setf *read-default-float-format* 'lisp::double-float))
-
+
(catch 'to-lisp
(set-pathnames)
#+(or cmu sbcl clisp allegro mcl)
(progn
(loop
- (with-simple-restart (macsyma-quit "Macsyma top-level")
- (macsyma-top-level input-stream batch-flag))))
+ (with-simple-restart (macsyma-quit "Macsyma top-level")
+ (macsyma-top-level input-stream batch-flag))))
#-(or cmu sbcl clisp allegro mcl)
(catch 'macsyma-quit
(macsyma-top-level input-stream batch-flag)))))
(import 'user::run)
-
+
($setup_autoload "eigen.mac" '$eigenvectors '$eigenvalues)
(defun $to_lisp ()
|