Subject: xmaxima issues on windows, but probably generic
From: Billinghurst, David (CALCRTS)
Date: Wed, 9 Jun 2004 10:52:58 +1000
I have been working on packaging a windows version the next maxima release.
I have package that works (modulo problems below) after a one line post-install
edit on NT4/XP but xmaxima will cannot start maxima on win95.
There are a couple of generic xmaxima problems.
1) The results box in the lower window wasn't being replaced by computed results.
This is fallout from the prompt change, and seems to be fixed by the patch below.
The patch adapted to work with C/D and %i/%o if desired. I will commit this in a
couple of days unless there are objections.
2) Plotting doesn't work. No ideas yet.
$ diff -u RunMaxima.tcl.~1.17.~ RunMaxima.tcl
--- RunMaxima.tcl.~1.17.~ Sun Feb 2 00:21:26 2003
+++ RunMaxima.tcl Wed Jun 9 10:23:56 2004
@@ -222,7 +222,7 @@
if { [regexp -indices "\{plot\[d23]\[fd]" $it inds] } {
set plotPending [string range $it [lindex $inds 0] end]
set it ""
- if { [regexp {\(C[0-9]+\) $} $it ff] } {
+ if { [regexp {\(%i[0-9]+\) $} $it ff] } {
regexp "\{plot\[d23]\[df].*\}" $ff it
# set it $ff
}
@@ -231,7 +231,7 @@
#puts "plotPending=<$plotPending>,it=<$it>"
append plotPending $it
set it ""
- if { [regexp -indices "\n\\(D\[0-9\]+\\)" $plotPending inds] } {
+ if { [regexp -indices "\n\\(%o\[0-9\]+\\)" $plotPending inds] } {
set it [string range $plotPending [lindex $inds 0] end]
set plotPending [string range $plotPending 0 [lindex $inds 0]]
set data $plotPending
@@ -245,7 +245,7 @@
$win insert end $it "output"
$win mark set lastStart "end -1char"
- if { [regexp {\(C[0-9]+\) $|\(dbm:[0-9]+\) $|([A-Z]+>[>]*)$} $it junk lisp] } {
+ if { [regexp {\(%i[0-9]+\) $|\(dbm:[0-9]+\) $|([A-Z]+>[>]*)$} $it junk lisp] } {
#puts "junk=$junk, lisp=$lisp,[expr { 0 == [string compare $lisp {}] }]"
#puts "it=<$it>,pdata={[array get pdata *]},[$win index end],[$win index insert]"
@@ -400,7 +400,7 @@
global pdata
set begin [$win index lastStart]
- if { [regexp {C([0-9]+)} [$win get "$begin linestart" $begin] junk \
+ if { [regexp {%i([0-9]+)} [$win get "$begin linestart" $begin] junk \
counter ] } {
# set af [after 5000 set pdata($maximaSocket,wait) -1]
set pdata($maximaSocket,wait) 1
@@ -539,7 +539,7 @@
if { [string first \n $string] == 0 } {
set string [string range $string 1 end]
}
- if { [regexp -indices "(^|\n)(\\(D\[0-9\]+\\))" $string all junk inds] } {
+ if { [regexp -indices "(^|\n)(\\(%o\[0-9\]+\\))" $string all junk inds] } {
set len [expr {[lindex $inds 1] - [lindex $inds 0] }]
set repl [genword " " $len]
set ans [string range $string 0 [expr {[lindex $inds 0 ] -1}]]