diff -uNr maxima-5.9.0.9beta2-orig/interfaces/xmaxima/Tkmaxima/Paths.tcl maxima-5.9.0.9beta2/interfaces/xmaxima/Tkmaxima/Paths.tcl
--- maxima-5.9.0.9beta2-orig/interfaces/xmaxima/Tkmaxima/Paths.tcl 2004-07-24 21:10:11 +0400
+++ maxima-5.9.0.9beta2/interfaces/xmaxima/Tkmaxima/Paths.tcl 2004-08-25 22:17:58 +0400
@@ -1,6 +1,6 @@
# -*-mode: tcl; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
-# $Id: Paths.tcl,v 1.12 2004/07/04 03:30:35 billingd Exp $
+# $Id: Paths.tcl,v 1.10 2004/03/28 07:16:55 vvzhy Exp $
#
# Attach this near the bottom of the xmaxima code to find the paths needed
# to start up the interface.
@@ -225,6 +225,21 @@
set env(MAXIMA_USERDIR) "$maxima_priv(maxima_prefix)/user"
}
}
+
+ # jfa: extend path so that gcl can see gcc in windows package
+ # I don't know that this is the best place for this
+ if {$tcl_platform(platform) == "windows"} {
+ # jfa: This is an attempt to get a working path designation
+ # on various Windows versions.
+ if {$tcl_platform(os) == "Windows 95"} {
+ # Windows 95 or Windows 98
+ regsub -all {/} "$maxima_priv(maxima_prefix)\\BIN" {\\} maxbinpath
+ } else {
+ # Other versions of Windows
+ set maxbinpath "$maxima_priv(maxima_prefix)/bin"
+ }
+ set env(PATH) "$maxbinpath;$env(PATH)"
+ }
}
proc vMAXSetMaximaCommand {} {
@@ -253,10 +268,25 @@
if {[set exe [auto_execok $maxima_priv(xmaxima_maxima)]] == "" } {
tide_failure [M "Error: Maxima executable not found\n\n Try setting the environment variable XMAXIMA_MAXIMA."]
}
-
- set maxima_priv(xmaxima_maxima) maxima
- if {[set exe [auto_execok $maxima_priv(xmaxima_maxima)]] == "" } {
- tide_failure [M "Error: Maxima executable not found\n\n Try setting the environment variable XMAXIMA_MAXIMA."]
+ # jfa: bypass maxima script on windows
+ # vvz: on Windows 9X/ME only
+ if {$tcl_platform(os) == "Windows 95"} {
+ # maybe it's in lib - I don't like this
+ set dir $maxima_priv(maxima_verpkglibdir)
+ # FIXME - need autoconf(lisp) so we don't need glob
+ set exes [glob -nocomplain $dir/binary-*/maxima.exe]
+ if {[llength $exes] != "1" || \
+ [set exe [lindex $exes 0]] == "" || \
+ ![file isfile $exe]} {
+ tide_failure [M "Error: Maxima executable not found\n\n Try setting the environment variable XMAXIMA_MAXIMA."]
+ return
+ }
+
+ } else {
+ set maxima_priv(xmaxima_maxima) maxima
+ if {[set exe [auto_execok $maxima_priv(xmaxima_maxima)]] == "" } {
+ tide_failure [M "Error: Maxima executable not found\n\n Try setting the environment variable XMAXIMA_MAXIMA."]
+ }
}
}
@@ -271,19 +301,31 @@
set exe [file attrib $exe -shortname]
}
}
+
set command {}
lappend command $exe
eval lappend command $maxima_opts
-
- # vvz: Windows NT/2000/XP
- # db: All windows now
- if {$tcl_platform(platform) == "windows"} {
- lappend command -s PORT
- # vvz: Unix. Should be as above but we need this due to
- # weird behaviour with some lisps - Why?
- } else {
+ # FIXME: This is gcl specific so -lisp option is bogus
+ if {$tcl_platform(os) == "Windows 95"} {
+ # A gruesome hack. Normally, we communicate to the
+ # maxima image through the maxima shell script, as
+ # above. If the maxima script is not available,
+ # as may happen on windows, directly talk to the GCL
+ # saved image. jfa 04/28/2002
+ #mike FIXME: this means xmaxima on windows is GCL only
+ # vvz: We need this only on Windows 9X/ME
+
+ lappend command -eval "(maxima::start-server PORT)" -eval "(run)" -f
+ } else {
+ # vvz: Windows NT/2000/XP
+ if {$tcl_platform(platform) == "windows"} {
+ lappend command -s PORT
+ # vvz: Unix. Should be as above but we need this due to
+ # weird behaviour with some lisps - Why?
+ } else {
lappend command -r ":lisp (start-server PORT)"
+ }
}
lappend command &
@@ -291,3 +333,4 @@
}
+
diff -uNr maxima-5.9.0.9beta2-orig/interfaces/xmaxima/win32/InfoBefore.txt maxima-5.9.0.9beta2/interfaces/xmaxima/win32/InfoBefore.txt
--- maxima-5.9.0.9beta2-orig/interfaces/xmaxima/win32/InfoBefore.txt 1970-01-01 03:00:00 +0300
+++ maxima-5.9.0.9beta2/interfaces/xmaxima/win32/InfoBefore.txt 2004-07-07 21:53:58 +0400
@@ -0,0 +1,2 @@
+Windows 9x users should read the section of the readme file on
+environment space.
diff -uNr maxima-5.9.0.9beta2-orig/interfaces/xmaxima/win32/readme.txt maxima-5.9.0.9beta2/interfaces/xmaxima/win32/readme.txt
--- maxima-5.9.0.9beta2-orig/interfaces/xmaxima/win32/readme.txt 1970-01-01 03:00:00 +0300
+++ maxima-5.9.0.9beta2/interfaces/xmaxima/win32/readme.txt 2004-07-07 21:53:58 +0400
@@ -0,0 +1,93 @@
+This is the windows README file.
+
+Binary files included with this distribution
+--------------------------------------------
+
+The windows version package of maxima includes binary files
+from other Open Source projects also hosted on Sourceforge.
+
+gcc:
+
+gcc.exe, cc1.exe and the files in lib/gcc-lib and include/
+subdirectories are from the mingw version of gcc. This is
+available from http://prdownloads.sf.net/mingw/
+
+
+binutils:
+
+as.exe is from the mingw (http://www.mingw.org/) port of binutils
+available from http://prdownloads.sf.net/mingw/
+
+
+gnuplot:
+
+The files wgnuplot.exe, wgnuplot.hlp and wgnuplot.mnu are from the
+Windows distribution of gnuplot from http://gnuplot.sourceforge.net
+
+
+Out of Environment Space
+------------------------
+
+When you attempt to run maxima on a Windows 9x machine
+you may get the error
+
+ Out of environment space
+
+The following advice from Microsoft Knowledge Base Article 230205
+(http://support.microsoft.com/support/kb/articles/Q230/2/05.ASP)
+may be of assistance.
+
+CAUSE
+
+This issue can occur if you do not have enough memory in the MS-DOS
+environment to set an environment variable.
+
+RESOLUTION
+
+To resolve this issue, increase the default environment space available
+for MS-DOS programs. To do this, use one of the following methods.
+
+Modify the Environment for All MS-DOS Programs
+
+To increase the default environment space for all MS-DOS programs
+running in Windows, edit the Shell command in the Config.sys file.
+To do this, follow these steps:
+
+1. Click Start, and then click Run.
+
+2. In the Open box, type sysedit, and then click OK.
+
+3. Click the Config.sys window.
+
+4. At the beginning of the Shell= line, type REM, and then press
+ the SPACEBAR.
+
+ If the Shell= line does not exist, proceed to the next step.
+
+5. Press the HOME key.
+
+6. Type the following line to create a new Shell= line, and then
+ press ENTER:
+
+ SHELL=C:\COMMAND.COM /E:4096 /P
+
+7. On the File menu, click Save.
+
+8. On the File menu, click Exit.
+
+9. Restart the computer.
+
+
+Modify the Environment for a Specific MS-DOS Program
+
+To increase the default environment space just for maxima.bat, follow
+these steps:
+
+1. Right-click the maxima.bat program icon, and then click Properties.
+
+2. Click the Memory tab.
+
+3. In the Initial Environment box, type the number of kilobytes (KB)
+ that the program requires, and then click OK.
+
+NOTE: The maximum amount of memory that you can allocate is 4096 KB.
diff -uNr maxima-5.9.0.9beta2-orig/src/macdes.lisp maxima-5.9.0.9beta2/src/macdes.lisp
--- maxima-5.9.0.9beta2-orig/src/macdes.lisp 2004-07-25 21:19:14 +0400
+++ maxima-5.9.0.9beta2/src/macdes.lisp 2004-08-25 22:50:32 +0400
@@ -129,7 +129,7 @@
;; are not empty. --jfa 07/25/04
#+gcl
(if (and (string= *prompt-prefix* "") (string= *prompt-suffix* ""))
- (system::info x '("maxima.info") *info-paths*)
+ (prog2 (setq system::*info-paths* *info-paths*) (system::info x '("maxima.info")))
(cl-info:info x '("maxima.info") *info-paths*))))
(defun $apropos ( s )