Re: Fwd: plot2d cannot create maxout.gnuplot



hello volker,

thank you for sending the modified plot.lisp and init-cl.lisp files.
do i understand correctly that your problems hinge on
the assumed value of the user directory ?
this topic has come up before, without resolution, so far as i know.

for reference i have appended as a postscript to this message
a diff of the files you sent wrt version-591 of those files.

can someone with a windows installation comment on this?

all the best,
robert dodier

PS. the original bug report is
http://sourceforge.net/tracker/index.php?func=detail&aid=1286024&group_id=4933&atid=104933

[robert@chromium src]$ diff -u -b -i plot.lisp /tmp/van_nek/
--- plot.lisp   2005-09-15 22:55:10.000000000 -0600
+++ /tmp/van_nek/plot.lisp      2005-09-15 19:45:06.000000000 -0600
@@ -47,7 +47,7 @@
                        ;; Controls the number of splittings
                        ;; adaptive-plotting will do.
                        ((mlist) $adapt_depth 10)
-                       ((mlist) $gnuplot_pm3d nil)
+                       ((mlist) $gnuplot_pm3d t)
                        ((mlist) $gnuplot_preamble "")
                        ((mlist) $gnuplot_curve_titles 
                         ((mlist) $default))
@@ -753,7 +753,7 @@
                     and do (sloop::loop-finish))))))
 
 ;;; Adaptive plotting, based on the adaptive plotting code from
-;;; YACAS. See http://yacas.sourceforge.net/Algo.html#c3s1 for a
+;;; YACAS. See http://yacas.sourceforge.net/Algo.html#c4s1 for a
 ;;; description of the algorithm.  More precise details can be found
 ;;; in the file yacas/scripts/plots.rep/plot2d.ys.
 
@@ -1025,9 +1025,14 @@
         (setf view-file file)
         (setf view-file gnuplot-out-file-string))
       (case gnuplot-term
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
        ($default
-        ($system (format nil "~a ~a" $gnuplot_command
+         ($system (format nil "~a \"~a\"\\~a" 
+                               ;; \"~a\" due to paths with blanks 
+                     $gnuplot_command 
+                     *maxima-userdir* ;; *maxima-userdir* must exist
                          (format nil $gnuplot_view_args view-file))))
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
        ($ps
         (if gnuplot-out-file
             ($system (format nil $viewps_command view-file))
@@ -1067,8 +1072,12 @@
           gnuplot-out-file)
       (setf file gnuplot-out-file)
       (setf file (format nil "maxout.~(~a~)" (stripdollar plot-format))))
-  
-  (with-open-file (st file :direction :output :if-exists :supersede)
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+  (with-open-file ( st 
+                    (format nil "~a\\~a" *maxima-userdir* file) 
+                      ;; *maxima-userdir* must be an existing directory
+                    :direction :output :if-exists :supersede)
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     (case plot-format
       ($gnuplot
        (gnuplot-print-header st)
@@ -1128,7 +1137,7 @@
     ($xgraph
      ($system "xgraph -t 'Maxima Plot' < maxout.xgraph &"))
     )
-  "")
+  "") ;end $plot2d
 
 (defun maxima-bin-search (command)
   (or ($file_search command
[robert@chromium src]$ diff -u -b -i init-cl.lisp /tmp/van_nek/
--- init-cl.lisp        2005-09-15 22:55:07.000000000 -0600
+++ /tmp/van_nek/init-cl.lisp   2005-09-15 20:09:22.000000000 -0600
@@ -183,7 +183,7 @@
   (let ((home-env (maxima-getenv "HOME"))
        (base-dir "")
        (maxima-dir (if (string= *autoconf-win32* "true") 
-                       "maxima" 
+                       "maxima" ;not used
                        ".maxima")))
     (setf base-dir 
          (if (and home-env (string/= home-env ""))
@@ -197,7 +197,11 @@
              (if (string= *autoconf-win32* "true")
                  "c:\\user\\"
                  "/tmp")))
-    (combine-path (list (maxima-parse-dirstring base-dir) maxima-dir))))
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+    (if (string= *autoconf-win32* "true")
+       (maxima-parse-dirstring base-dir)
+       (combine-path (list (maxima-parse-dirstring base-dir) maxima-dir)))))
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
 (defun set-pathnames ()
   (let ((maxima-prefix-env (maxima-getenv "MAXIMA_PREFIX"))