You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(20) |
Dec
(17) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(39) |
Feb
(21) |
Mar
(33) |
Apr
(135) |
May
(53) |
Jun
(88) |
Jul
(47) |
Aug
(59) |
Sep
(207) |
Oct
(40) |
Nov
(7) |
Dec
(26) |
2003 |
Jan
(49) |
Feb
(39) |
Mar
(117) |
Apr
(50) |
May
(62) |
Jun
(6) |
Jul
(19) |
Aug
(24) |
Sep
(11) |
Oct
(11) |
Nov
(49) |
Dec
(9) |
2004 |
Jan
(29) |
Feb
(123) |
Mar
(32) |
Apr
(53) |
May
(52) |
Jun
(19) |
Jul
(33) |
Aug
(10) |
Sep
(76) |
Oct
(86) |
Nov
(171) |
Dec
(163) |
2005 |
Jan
(147) |
Feb
(121) |
Mar
(120) |
Apr
(126) |
May
(120) |
Jun
(213) |
Jul
(76) |
Aug
(79) |
Sep
(140) |
Oct
(83) |
Nov
(156) |
Dec
(202) |
2006 |
Jan
(181) |
Feb
(171) |
Mar
(157) |
Apr
(98) |
May
(96) |
Jun
(97) |
Jul
(193) |
Aug
(76) |
Sep
(130) |
Oct
(63) |
Nov
(196) |
Dec
(253) |
2007 |
Jan
(256) |
Feb
(293) |
Mar
(276) |
Apr
(258) |
May
(181) |
Jun
(91) |
Jul
(108) |
Aug
(69) |
Sep
(107) |
Oct
(179) |
Nov
(137) |
Dec
(121) |
2008 |
Jan
(124) |
Feb
(129) |
Mar
(192) |
Apr
(201) |
May
(90) |
Jun
(86) |
Jul
(115) |
Aug
(142) |
Sep
(49) |
Oct
(91) |
Nov
(95) |
Dec
(218) |
2009 |
Jan
(230) |
Feb
(149) |
Mar
(118) |
Apr
(72) |
May
(77) |
Jun
(68) |
Jul
(102) |
Aug
(72) |
Sep
(89) |
Oct
(76) |
Nov
(125) |
Dec
(86) |
2010 |
Jan
(75) |
Feb
(90) |
Mar
(89) |
Apr
(121) |
May
(111) |
Jun
(66) |
Jul
(75) |
Aug
(66) |
Sep
(66) |
Oct
(166) |
Nov
(121) |
Dec
(73) |
2011 |
Jan
(74) |
Feb
|
Mar
|
Apr
(14) |
May
(22) |
Jun
(31) |
Jul
(53) |
Aug
(37) |
Sep
(23) |
Oct
(25) |
Nov
(31) |
Dec
(28) |
2012 |
Jan
(18) |
Feb
(11) |
Mar
(32) |
Apr
(17) |
May
(48) |
Jun
(37) |
Jul
(23) |
Aug
(54) |
Sep
(15) |
Oct
(11) |
Nov
(19) |
Dec
(22) |
2013 |
Jan
(11) |
Feb
(32) |
Mar
(24) |
Apr
(37) |
May
(31) |
Jun
(14) |
Jul
(26) |
Aug
(33) |
Sep
(40) |
Oct
(21) |
Nov
(36) |
Dec
(84) |
2014 |
Jan
(23) |
Feb
(20) |
Mar
(27) |
Apr
(24) |
May
(31) |
Jun
(27) |
Jul
(34) |
Aug
(26) |
Sep
(21) |
Oct
(45) |
Nov
(23) |
Dec
(73) |
2015 |
Jan
(33) |
Feb
(8) |
Mar
(24) |
Apr
(45) |
May
(27) |
Jun
(19) |
Jul
(21) |
Aug
(51) |
Sep
(43) |
Oct
(29) |
Nov
(61) |
Dec
(86) |
2016 |
Jan
(99) |
Feb
(52) |
Mar
(80) |
Apr
(61) |
May
(24) |
Jun
(23) |
Jul
(36) |
Aug
(30) |
Sep
(41) |
Oct
(43) |
Nov
(27) |
Dec
(46) |
2017 |
Jan
(57) |
Feb
(34) |
Mar
(40) |
Apr
(31) |
May
(78) |
Jun
(49) |
Jul
(72) |
Aug
(33) |
Sep
(26) |
Oct
(82) |
Nov
(69) |
Dec
(29) |
2018 |
Jan
(43) |
Feb
(9) |
Mar
|
Apr
(40) |
May
(34) |
Jun
(49) |
Jul
(45) |
Aug
(8) |
Sep
(51) |
Oct
(75) |
Nov
(103) |
Dec
(80) |
2019 |
Jan
(153) |
Feb
(78) |
Mar
(47) |
Apr
(48) |
May
(63) |
Jun
(54) |
Jul
(10) |
Aug
(7) |
Sep
(17) |
Oct
(24) |
Nov
(29) |
Dec
(17) |
2020 |
Jan
(22) |
Feb
(74) |
Mar
(47) |
Apr
(48) |
May
(12) |
Jun
(44) |
Jul
(13) |
Aug
(18) |
Sep
(26) |
Oct
(36) |
Nov
(25) |
Dec
(23) |
2021 |
Jan
(28) |
Feb
(25) |
Mar
(58) |
Apr
(76) |
May
(72) |
Jun
(70) |
Jul
(25) |
Aug
(67) |
Sep
(17) |
Oct
(24) |
Nov
(30) |
Dec
(30) |
2022 |
Jan
(51) |
Feb
(39) |
Mar
(72) |
Apr
(65) |
May
(30) |
Jun
(72) |
Jul
(129) |
Aug
(44) |
Sep
(45) |
Oct
(30) |
Nov
(48) |
Dec
(275) |
2023 |
Jan
(235) |
Feb
(232) |
Mar
(68) |
Apr
(16) |
May
(52) |
Jun
(87) |
Jul
(143) |
Aug
(32) |
Sep
(26) |
Oct
(15) |
Nov
(20) |
Dec
(74) |
2024 |
Jan
(119) |
Feb
(32) |
Mar
(64) |
Apr
(68) |
May
(30) |
Jun
(50) |
Jul
(37) |
Aug
(32) |
Sep
(10) |
Oct
(27) |
Nov
(47) |
Dec
(36) |
2025 |
Jan
(94) |
Feb
(68) |
Mar
(79) |
Apr
(66) |
May
(46) |
Jun
(21) |
Jul
(134) |
Aug
(8) |
Sep
|
Oct
|
Nov
|
Dec
|
From: villate <vi...@us...> - 2025-07-23 21:22:50
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Maxima CAS". The branch, master has been updated via bc7f33f1ec56a334cf238a7276f8f61d9e052508 (commit) from 253a9581aa0fae31ba113d1ff0bc2af149b93009 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit bc7f33f1ec56a334cf238a7276f8f61d9e052508 Author: villate <vi...@fe...> Date: Wed Jul 23 22:22:11 2025 +0100 Fixes a typo. diff --git a/interfaces/xmaxima/Tkmaxima/Browser.tcl b/interfaces/xmaxima/Tkmaxima/Browser.tcl index ef2c33d19..cc76ef20c 100644 --- a/interfaces/xmaxima/Tkmaxima/Browser.tcl +++ b/interfaces/xmaxima/Tkmaxima/Browser.tcl @@ -1082,7 +1082,7 @@ proc savePreferences {} { # ] # } Villate: This block seems wrong to me. - close $file + close $fi } catch { set hf [open "$::xmaxima_priv(home)/.xmaxima_history" w] ----------------------------------------------------------------------- Summary of changes: interfaces/xmaxima/Tkmaxima/Browser.tcl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- Maxima CAS |
From: villate <vi...@us...> - 2025-07-23 20:53:39
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Maxima CAS". The branch, master has been updated via 253a9581aa0fae31ba113d1ff0bc2af149b93009 (commit) from 1ba3ab1ff56ad80cbb0907dbab33554acf0ad595 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 253a9581aa0fae31ba113d1ff0bc2af149b93009 Author: villate <vi...@fe...> Date: Wed Jul 23 21:47:16 2025 +0100 Parses the configuration file .xmaximarc, intead of "running" it. Only lines with a relevant key and a value (separated by spaces) will be used to update the xmaxima default array. This will work correctly with .xmaximarc files created by older versions of Xmaxima and will prevent unnecessary keys and values to be introduced. TO DO: I will next change the configuration file from ~/.xmaximarc to ~/.config/xmaxima/xmaxima_default diff --git a/interfaces/xmaxima/Tkmaxima/Browser.tcl b/interfaces/xmaxima/Tkmaxima/Browser.tcl index 1b3500f33..ef2c33d19 100644 --- a/interfaces/xmaxima/Tkmaxima/Browser.tcl +++ b/interfaces/xmaxima/Tkmaxima/Browser.tcl @@ -1060,27 +1060,29 @@ proc savePreferences {} { set ::xmaxima_default(iConsoleWidth) [textWindowWidth $console] set ::xmaxima_default(iConsoleHeight) [textWindowHeight $console] + # Saves the ::maxima_default array into .xmaximarc + # Each line will contain a key and value separated by space + # and the keys will be in alphabetical order catch { if {[winfo exists .browser]} { set ::xmaxima_default(browser) 1 } else { set ::xmaxima_default(browser) 0} - set fi [open "$::xmaxima_priv(home)/.xmaximarc" w] - puts $fi "array set ::xmaxima_default {" + set fileId [open "$::xmaxima_priv(home)/.xmaximarc" w] foreach {k v} [array get ::xmaxima_default *] { lappend all [list $k $v] } set all [lsort $all] - foreach v $all { puts $fi $v } - puts $fi "}" + foreach v $all { puts $fileId $v } #mike FIXME: make this a _default - if { [info exists ::xmaxima_priv(proxy,http)] && \ - [llength $::xmaxima_priv(proxy,http)] == 2 } { - puts $fi [list array set ::xmaxima_priv [array get ::xmaxima_priv proxy,http] - ] - } - close $fi + # if { [info exists ::xmaxima_priv(proxy,http)] && \ + # [llength $::xmaxima_priv(proxy,http)] == 2 } { + # puts $fileId [list array set ::xmaxima_priv [array get ::xmaxima_priv proxy,http] + # ] + # } Villate: This block seems wrong to me. + + close $file } catch { set hf [open "$::xmaxima_priv(home)/.xmaxima_history" w] diff --git a/interfaces/xmaxima/Tkmaxima/Constants.tcl b/interfaces/xmaxima/Tkmaxima/Constants.tcl index 6b753bed9..baec0bc37 100644 --- a/interfaces/xmaxima/Tkmaxima/Constants.tcl +++ b/interfaces/xmaxima/Tkmaxima/Constants.tcl @@ -35,7 +35,6 @@ proc cMAXINITBeforeIni {} { set ::xmaxima_default(OpenDir) "$::xmaxima_priv(home)/" # The last files opened and saved. Any default value serves # but a good starting value is Xmaxima's initialization file. - # TO DO: change ~ for a home directory customized for each system. set ::xmaxima_default(OpenFile) "$::xmaxima_priv(home)/.xmaximarc" set ::xmaxima_default(SaveFile) "$::xmaxima_priv(home)/.xmaximarc" @@ -49,13 +48,24 @@ proc cMAXINITBeforeIni {} { set ::xmaxima_priv(cachedir) "$::xmaxima_priv(home)/.xmaxima/cache" } +# Reads the xmaxima configuration file and if a line contains +# a key valid key and a value, separated by space, the value +# associated to that key in ::xmaxima_default will be set to +# that value. proc cMAXINITReadIni {} { if {[file isfile "$::xmaxima_priv(home)/.xmaximarc"]} { - if {[catch {uplevel "#0" [list source "$::xmaxima_priv(home)/.xmaximarc"]}\ - err]} { - tk_messageBox -title Error -icon error -message \ - [mc "Error sourcing %s\n%s" [file native ~/.xmaximarc] $err] - } + set fileId [open ~/.xmaximarc r] + foreach line [split [read $fileId] \n] { + if {![catch {llength $line}]} { + if {[llength $line] == 2} { + set key [lindex $line 0] + if {[info exists ::xmaxima_default($key)]} { + set ::xmaxima_default($key) [lindex $line 1] + } + } + } + } + close $fileId } } diff --git a/interfaces/xmaxima/Tkmaxima/Myhtml.tcl b/interfaces/xmaxima/Tkmaxima/Myhtml.tcl index 45a122d09..a9298fce2 100644 --- a/interfaces/xmaxima/Tkmaxima/Myhtml.tcl +++ b/interfaces/xmaxima/Tkmaxima/Myhtml.tcl @@ -1076,7 +1076,6 @@ proc xHMsetDefaultPreferences {} { } xHMsetDefaultPreferences -catch { source ~/.xmaximarc } proc dputs {x} { puts $x ; flush stdout ----------------------------------------------------------------------- Summary of changes: interfaces/xmaxima/Tkmaxima/Browser.tcl | 22 ++++++++++++---------- interfaces/xmaxima/Tkmaxima/Constants.tcl | 22 ++++++++++++++++------ interfaces/xmaxima/Tkmaxima/Myhtml.tcl | 1 - 3 files changed, 28 insertions(+), 17 deletions(-) hooks/post-receive -- Maxima CAS |
From: villate <vi...@us...> - 2025-07-23 15:06:09
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Maxima CAS". The branch, master has been updated via 1ba3ab1ff56ad80cbb0907dbab33554acf0ad595 (commit) from d7e8c9e09f6807e44cf68a3d70afd127308b812c (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 1ba3ab1ff56ad80cbb0907dbab33554acf0ad595 Author: villate <vi...@fe...> Date: Wed Jul 23 16:05:03 2025 +0100 Some other uncessary global commands removed. diff --git a/interfaces/xmaxima/Tkmaxima/CMMenu.tcl b/interfaces/xmaxima/Tkmaxima/CMMenu.tcl index bf89f03c6..8bd4053dc 100644 --- a/interfaces/xmaxima/Tkmaxima/CMMenu.tcl +++ b/interfaces/xmaxima/Tkmaxima/CMMenu.tcl @@ -26,9 +26,7 @@ proc CMmenu { win } { set file $::xmaxima_priv(pReferenceToc) $m add command -underline 0 -label {Maxima Help} \ -command "OpenMathOpenUrl \"file:/$file\"" - - global tcl_platform - if {$tcl_platform(platform) == "windows"} { + if {$::tcl_platform(platform) == "windows"} { set browse start } else { # FIXME: get a browser object diff --git a/interfaces/xmaxima/Tkmaxima/Cygwin.tcl b/interfaces/xmaxima/Tkmaxima/Cygwin.tcl index 905bdcce7..ca123b135 100644 --- a/interfaces/xmaxima/Tkmaxima/Cygwin.tcl +++ b/interfaces/xmaxima/Tkmaxima/Cygwin.tcl @@ -1,15 +1,14 @@ # Voodo for CYGWIN # Is there a canonical way of telling we are under CYGWIN? -global env tcl_platform -if {$tcl_platform(platform) == "windows" && \ - [info exists env(PATH)] && $env(PATH) != "" && \ - [string match {*/usr/bin*} $env(PATH)] && \ - [string match {*:*} $env(PATH)] && \ - ![string match {*;*} $env(PATH)]} { +if {$::tcl_platform(platform) == "windows" && \ + [info exists ::env(PATH)] && $::env(PATH) != "" && \ + [string match {*/usr/bin*} $::env(PATH)] && \ + [string match {*:*} $::env(PATH)] && \ + ![string match {*;*} $::env(PATH)]} { # CYGWIN uses Unix PATH but Tcl considers it Windows # What's even worse auto_execok uses ; but exec uses : if {0} { - set env(PATH) [join [split $env(PATH) ":"] ";"] + set ::env(PATH) [join [split $::env(PATH) ":"] ";"] } else { set ::xmaxima_priv(platform) cygwin # Windows version. @@ -20,25 +19,25 @@ if {$tcl_platform(platform) == "windows" && \ # components are separated with semicolons, not colons as under Unix. # proc auto_execok name { - global auto_execs env tcl_platform + global auto_execs if {[info exists auto_execs($name)]} { return $auto_execs($name) } set auto_execs($name) "" set shellBuiltins [list cls copy date del erase dir echo mkdir \ md rename ren rmdir rd time type ver vol] - if {[string equal $tcl_platform(os) "Windows NT"]} { + if {[string equal $::tcl_platform(os) "Windows NT"]} { # NT includes the 'start' built-in lappend shellBuiltins "start" } - if {[info exists env(PATHEXT)]} { + if {[info exists ::env(PATHEXT)]} { # Add an initial : to have the {} extension check first. - set execExtensions [split ":$env(PATHEXT)" ":"] + set execExtensions [split ":$::env(PATHEXT)" ":"] } else { set execExtensions [list {} .bat .com .exe] } if {[lsearch -exact $shellBuiltins $name] != -1} { - return [set auto_execs($name) [list $env(COMSPEC) /c $name]] + return [set auto_execs($name) [list $::env(COMSPEC) /c $name]] } if {[llength [file split $name]] != 1} { foreach ext $execExtensions { @@ -50,18 +49,18 @@ if {$tcl_platform(platform) == "windows" && \ return "" } set path "[file dirname [info nameof]]:.:" - if {[info exists env(WINDIR)]} { - set windir $env(WINDIR) + if {[info exists ::env(WINDIR)]} { + set windir $::env(WINDIR) } if {[info exists windir]} { - if {[string equal $tcl_platform(os) "Windows NT"]} { + if {[string equal $::tcl_platform(os) "Windows NT"]} { append path "$windir/system32:" } append path "$windir/system:$windir:" } foreach var {PATH Path path} { - if {[info exists env($var)]} { - append path ":$env($var)" + if {[info exists ::env($var)]} { + append path ":$::env($var)" break } } @@ -82,5 +81,5 @@ if {$tcl_platform(platform) == "windows" && \ } } } else { - set ::xmaxima_priv(platform) $tcl_platform(platform) + set ::xmaxima_priv(platform) $::tcl_platform(platform) } diff --git a/interfaces/xmaxima/Tkmaxima/Fonts.tcl b/interfaces/xmaxima/Tkmaxima/Fonts.tcl index 9732d48a2..b73a7060c 100644 --- a/interfaces/xmaxima/Tkmaxima/Fonts.tcl +++ b/interfaces/xmaxima/Tkmaxima/Fonts.tcl @@ -34,7 +34,7 @@ set fontSize $_pixel # setup defaults depending on the OS and Window Manager # Really should do another version for mono -switch -exact -- $tcl_platform(platform) { +switch -exact -- $::tcl_platform(platform) { windows { set _prop_default Tahoma set _fixed_default {Courier New} @@ -82,9 +82,9 @@ if {0} { ######### font choosing utilities ######### -global tcl_platform isFixedp +global isFixedp -if { "$tcl_platform(platform)" == "unix" } { +if { "$::tcl_platform(platform)" == "unix" } { array set isFixedp { fixed 1 {fangsong ti} 1 {clearlyu alternate glyphs} 0 lucidatypewriter 1 charter 0 lucidabright 0 times 0 ming 1 {lucidux sans} 0 {open look glyph} 0 {song ti} 1 newspaper 0 helvetica 0 {open look cursor} 1 li 1 mincho 1 {clearlyu ligature} 0 {clearlyu pua} 0 {lucidux mono} 1 courier 1 clearlyu 0 utopia 0 lucida 0 nil 1 clean 1 terminal 1 kai 1 gothic 1 cursor 0 symbol 0 {clearlyu arabic extra} 0 {lucidux serif} 0 {new century schoolbook} 0 song 1 } diff --git a/interfaces/xmaxima/Tkmaxima/Menu.tcl b/interfaces/xmaxima/Tkmaxima/Menu.tcl index 7a54839bd..7dc798cbd 100644 --- a/interfaces/xmaxima/Tkmaxima/Menu.tcl +++ b/interfaces/xmaxima/Tkmaxima/Menu.tcl @@ -78,8 +78,6 @@ proc pMAXSaveTexToFile {text} { } proc vMAXAddBrowserMenu {win} { - global tcl_platform env - if {[winfo exists .browser.menu]} {destroy .browser.menu} set bm .browser.menu menu $bm @@ -109,14 +107,11 @@ proc vMAXAddBrowserMenu {win} { } proc vMAXAddSystemMenu {fr text} { - global tcl_platform env set win $fr.textcommands - # Build a menubar if {[winfo exists .menu]} {destroy .menu} menu .menu . configure -menu .menu - # Add a File menu set m [menu .menu.file -tearoff 0] .menu add cascade -label [mc "File"] -menu $m -underline 0 @@ -306,7 +301,7 @@ proc vMAXAddSystemMenu {fr text} { # } # Maxima manual set file $::xmaxima_priv(pReferenceToc) - if {$tcl_platform(platform) == "windows"} { + if {$::tcl_platform(platform) == "windows"} { # decodeURL is broken and needs fixing # This is a workaround set file [file attrib $file -shortname] @@ -317,7 +312,7 @@ proc vMAXAddSystemMenu {fr text} { # } else { # set state disabled # } - if {$tcl_platform(platform) == "windows"} { + if {$::tcl_platform(platform) == "windows"} { if {[string match *maxima.chm* $file]} { $m add command -underline 1 -label [mc "Maxima Manual"] \ -state $state \ @@ -341,8 +336,8 @@ proc vMAXAddSystemMenu {fr text} { set browse {exec} # FIXME: get a browser object - if {$tcl_platform(platform) == "windows"} { - if {$tcl_platform(os) == "Windows 95"} { + if {$::tcl_platform(platform) == "windows"} { + if {$::tcl_platform(os) == "Windows 95"} { # Windows 95/98/ME lappend browse start } else { @@ -360,7 +355,7 @@ proc vMAXAddSystemMenu {fr text} { lappend browse $selectedbrowser } $m add separator - if {$tcl_platform(platform) != "windows"} { + if {$::tcl_platform(platform) != "windows"} { $m add command -underline 0 -label [mc "Maxima Manual (web browser)"] \ -command [list eval $browse "file://$file" &] } diff --git a/interfaces/xmaxima/Tkmaxima/Myhtml.tcl b/interfaces/xmaxima/Tkmaxima/Myhtml.tcl index 664eadf83..45a122d09 100644 --- a/interfaces/xmaxima/Tkmaxima/Myhtml.tcl +++ b/interfaces/xmaxima/Tkmaxima/Myhtml.tcl @@ -242,8 +242,7 @@ proc xHMsetFont { win fonttag } { set slant roman } #puts "font config $font -family $family -size $::xmaxima_default($fam,$si) -slant $slant -weight $weight" - global tcl_platform - if { "$tcl_platform(platform)" == "unix" } { + if { "$::tcl_platform(platform)" == "unix" } { set usePixel "-" } else { set usePixel "" @@ -1046,9 +1045,7 @@ proc xHMassureNewlines { n } { } proc xHMsetDefaultPreferences {} { - global tcl_platform - - if { "$tcl_platform(platform)" == "unix" } { + if { "$::tcl_platform(platform)" == "unix" } { set pairs { 1 8 2 10 3 12 diff --git a/interfaces/xmaxima/Tkmaxima/Parse.tcl b/interfaces/xmaxima/Tkmaxima/Parse.tcl index ff3f87df8..fb95b9d19 100644 --- a/interfaces/xmaxima/Tkmaxima/Parse.tcl +++ b/interfaces/xmaxima/Tkmaxima/Parse.tcl @@ -112,7 +112,7 @@ proc nexttok { } { #---------------------------------------------------------------- # proc parseToSuffixLists { a } { - global Parser + global Parser set Parser(result) "" set Parser(tokenlist) [parseTokenize $a] set Parser(tokenind) -1 @@ -329,7 +329,7 @@ set Parser(convertOptions) { { variables "" "list of variables to change from x to \$x" } } proc parseConvert { expr args } { - global Parser + global Parser getOptions $Parser(convertOptions) $args if { "$expr" == "" } { return [list {} {}] } set parselist [parseToSuffixLists "$expr;"] diff --git a/interfaces/xmaxima/Tkmaxima/Paths.tcl b/interfaces/xmaxima/Tkmaxima/Paths.tcl index 35c1efc90..57c7d668c 100644 --- a/interfaces/xmaxima/Tkmaxima/Paths.tcl +++ b/interfaces/xmaxima/Tkmaxima/Paths.tcl @@ -9,9 +9,7 @@ # to start up the interface. proc setMaxDir {} { - global env autoconf tcl_platform - - if {$tcl_platform(platform) == "windows"} { + if {$::tcl_platform(platform) == "windows"} { # Make sure the signals thread is started set env(MAXIMA_SIGNALS_THREAD) "1" @@ -19,35 +17,35 @@ proc setMaxDir {} { # for 5.6 this was src/ and for 5.9 its bin/ set up [file dir [file dir [info name]]] - if {[info exists autoconf] && \ - [info exists autoconf(prefix)] && \ - [info exists autoconf(exec_prefix)] && \ - [info exists autoconf(libdir)] && \ - [info exists autoconf(libexecdir)] && \ - [info exists autoconf(datadir)] && \ - [info exists autoconf(infodir)] && \ - [info exists autoconf(version)] && \ - [info exists autoconf(package)] && \ - [file isdir $autoconf(datadir)] && \ + if {[info exists ::autoconf] && \ + [info exists ::autoconf(prefix)] && \ + [info exists ::autoconf(exec_prefix)] && \ + [info exists ::autoconf(libdir)] && \ + [info exists ::autoconf(libexecdir)] && \ + [info exists ::autoconf(datadir)] && \ + [info exists ::autoconf(infodir)] && \ + [info exists ::autoconf(version)] && \ + [info exists ::autoconf(package)] && \ + [file isdir $::autoconf(datadir)] && \ [file isdir \ - [file join $autoconf(datadir) \ - $autoconf(package) $autoconf(version)]]} { + [file join $::autoconf(datadir) \ + $::autoconf(package) $::autoconf(version)]]} { # Assume it's CYGWIN or MSYS in /usr/local } elseif {[file isdir $up/lib] && \ [file isdir $up/bin] && \ [file isdir $up/libexec] && \ [file isdir $up/info] && \ [file isdir $up/share]} { - set autoconf(prefix) $up + set ::autoconf(prefix) $up set env(MAXIMA_PREFIX) $up - set autoconf(exec_prefix) $up - set autoconf(libdir) "$up/lib" - set autoconf(libexecdir) "$up/libexec" - set autoconf(datadir) "$up/share" - set autoconf(infodir) "$up/info" + set ::autoconf(exec_prefix) $up + set ::autoconf(libdir) "$up/lib" + set ::autoconf(libexecdir) "$up/libexec" + set ::autoconf(datadir) "$up/share" + set ::autoconf(infodir) "$up/info" # These two should be valid - # set autoconf(package) "maxima" - # set autoconf(version) "5.9.0rc1" + # set ::autoconf(package) "maxima" + # set ::autoconf(version) "5.9.0rc1" } else { # Old windows 5.5 layout # Assume we are in the same directory as saved_maxima @@ -71,7 +69,7 @@ proc setMaxDir {} { } } #mike Could someone document all of these environment variables? - # autoconf(prefix) does not seem to me to be the equivalent of + # ::autoconf(prefix) does not seem to me to be the equivalent of # $env(MAXIMA_DIRECTORY) so I don't understand the next statement # jfa: MAXIMA_PREFIX supersedes MAXIMA_DIRECTORY. (Why? Because the @@ -87,7 +85,7 @@ proc setMaxDir {} { # paths is as follows: # 1) Use the environment variables if they exist. # 2) Otherwise, attempt to use the compile-time settings from - # autoconf. + # ::autoconf. # 3) If the entire package has been moved to a prefix other than # that given at compile time, use the location of the (x)maxima # executable to determine the new prefix. @@ -101,7 +99,7 @@ proc setMaxDir {} { # End temporary workaround. It's only a workaround because the next # section is backwards: - #mike Is it correct to assume that autoconf exists and is valid + #mike Is it correct to assume that ::autoconf exists and is valid # for binary windows distributions? I think it would be better # to make (MAXIMA_DIRECTORY) take precedence, and work off # [info nameofexe] if necessary. @@ -111,7 +109,7 @@ proc setMaxDir {} { } elseif { [info exists env(MAXIMA_PREFIX)] } { set ::xmaxima_priv(maxima_prefix) $env(MAXIMA_PREFIX) } else { - set ::xmaxima_priv(maxima_prefix) $autoconf(prefix) + set ::xmaxima_priv(maxima_prefix) $::autoconf(prefix) } if {[info exists ::xmaxima_priv(maxima_verpkgdatadir)]} { # drop through @@ -122,7 +120,7 @@ proc setMaxDir {} { set maxima_datadir \ [file join $env(MAXIMA_PREFIX) share] } else { - set maxima_datadir $autoconf(datadir) + set maxima_datadir $::autoconf(datadir) } # maxima_datadir is unused outside of this proc @@ -132,8 +130,8 @@ proc setMaxDir {} { [file native $maxima_datadir]] } set ::xmaxima_priv(maxima_verpkgdatadir) \ - [file join $maxima_datadir $autoconf(package) \ - $autoconf(version)] + [file join $maxima_datadir $::autoconf(package) \ + $::autoconf(version)] } # omplotdata messages @@ -145,12 +143,12 @@ proc setMaxDir {} { set ::xmaxima_priv(maxima_verpkglibdir) $env(MAXIMA_VERPKGLIBDIR) } elseif { [info exists env(MAXIMA_PREFIX)] } { set ::xmaxima_priv(maxima_verpkglibdir) \ - [file join $env(MAXIMA_PREFIX) lib $autoconf(package) \ - $autoconf(version)] + [file join $env(MAXIMA_PREFIX) lib $::autoconf(package) \ + $::autoconf(version)] } else { set ::xmaxima_priv(maxima_verpkglibdir) \ - [file join $autoconf(libdir) $autoconf(package) \ - $autoconf(version)] + [file join $::autoconf(libdir) $::autoconf(package) \ + $::autoconf(version)] } if {[info exists ::xmaxima_priv(maxima_xmaximadir)]} { # drop through @@ -168,7 +166,7 @@ proc setMaxDir {} { if { [info exists env(MAXIMA_LANG_SUBDIR)] } { set ::xmaxima_priv(maxima_lang_subdir) $env(MAXIMA_LANG_SUBDIR) } else { - if { $tcl_platform(platform) == "windows" } { + if { $::tcl_platform(platform) == "windows" } { set wlocale [ ::msgcat::mclocale ] } else { set wlocale "" @@ -236,7 +234,7 @@ proc setMaxDir {} { } # On Windows ::msgcat::mclocale is a good way to derive locale - if { $tcl_platform(platform) == "windows" } { + if { $::tcl_platform(platform) == "windows" } { set env(LANG) [ ::msgcat::mclocale ] } @@ -263,7 +261,7 @@ proc setMaxDir {} { # 2nd priority: localized HTML # 3rd priority: english CHM # 4th priority: english HTML - if { $tcl_platform(platform) == "windows" } { + if { $::tcl_platform(platform) == "windows" } { if { $::xmaxima_priv(maxima_lang_subdir) != "" } { if {[file exists [file join $dir chm $::xmaxima_priv(maxima_lang_subdir) maxima.chm] ] } { set ::xmaxima_priv(pReferenceToc) [file join $dir chm $::xmaxima_priv(maxima_lang_subdir) maxima.chm] @@ -311,7 +309,7 @@ proc setMaxDir {} { # who cares } set file [file join $::xmaxima_priv(maxima_xmaximadir) "intro.html"] - if {$tcl_platform(platform) == "windows"} { + if {$::tcl_platform(platform) == "windows"} { # convert to unix set file [file dir $file]/[file tail $file] } @@ -328,17 +326,17 @@ proc setMaxDir {} { # MAXIMA_USERDIR defaults to HOME, which is usually C:\. # Make the default something else under Windows 98 as a workaround. # This is ugly. - if {$tcl_platform(os) == "Windows 95"} { + if {$::tcl_platform(os) == "Windows 95"} { if {![info exists env(MAXIMA_USERDIR)]} { set env(MAXIMA_USERDIR) "$::xmaxima_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"} { + 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"} { + if {$::tcl_platform(os) == "Windows 95"} { # Windows 95 or Windows 98 regsub -all {/} "$::xmaxima_priv(maxima_prefix)\\BIN" {\\} maxbinpath } else { @@ -350,8 +348,6 @@ proc setMaxDir {} { } proc vMAXSetMaximaCommand {} { - global tcl_platform env - set ::xmaxima_priv(localMaximaServer) "" if {[info exists ::xmaxima_priv(xmaxima_maxima)] && \ $::xmaxima_priv(xmaxima_maxima) != ""} { @@ -377,10 +373,10 @@ proc vMAXSetMaximaCommand {} { } # jfa: bypass maxima script on windows # vvz: on Windows 9X/ME only - if {$tcl_platform(os) == "Windows 95"} { + if {$::tcl_platform(os) == "Windows 95"} { # maybe it's in lib - I don't like this set dir $::xmaxima_priv(maxima_verpkglibdir) - # FIXME - need autoconf(lisp) so we don't need glob + # 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]] == "" || \ @@ -401,7 +397,7 @@ proc vMAXSetMaximaCommand {} { lappend command $exe eval lappend command $::xmaxima_priv(opts) lappend command -s PORT - if {$tcl_platform(platform) == "windows"} { + if {$::tcl_platform(platform) == "windows"} { lappend command > NUL } else { lappend command > /dev/null diff --git a/interfaces/xmaxima/Tkmaxima/Printops.tcl b/interfaces/xmaxima/Tkmaxima/Printops.tcl index 6153dd8ef..5fd4777bf 100644 --- a/interfaces/xmaxima/Tkmaxima/Printops.tcl +++ b/interfaces/xmaxima/Tkmaxima/Printops.tcl @@ -136,8 +136,7 @@ global printOption set printOption(setupDone) 0 proc getEnv { name } { - global env - if { [catch { set tem $env($name) } ] } { return "" } + if { [catch { set tem $::env($name) } ] } { return "" } return $tem } proc setPrintOptions { lis } { @@ -163,7 +162,7 @@ proc mkentryPr { w var text buttonFont } { proc mkPrintDialog { name args } { - global printSet argv env printOptions printOption printSetUpDone paperSizes buttonfont + global printSet argv printOptions printOption printSetUpDone paperSizes buttonfont set canv [assoc -canvas $args ] set buttonFont [assoc -buttonfont $args $buttonfont] diff --git a/interfaces/xmaxima/Tkmaxima/RunMaxima.tcl b/interfaces/xmaxima/Tkmaxima/RunMaxima.tcl index d6e9324f7..1b1ec53e1 100644 --- a/interfaces/xmaxima/Tkmaxima/RunMaxima.tcl +++ b/interfaces/xmaxima/Tkmaxima/RunMaxima.tcl @@ -97,12 +97,9 @@ proc acceptMaxima { win port filter } { } proc openMaxima { win filter } { - global env - if {$::xmaxima_priv(localMaximaServer) == ""} { return -code error [mc "Could not start Maxima - empty command"] } - set port $::xmaxima_default(iLocalPort) set port [acceptMaxima $win $port $filter] if { $port >= 0 } { @@ -110,13 +107,12 @@ proc openMaxima { win filter } { set command [list eval exec] # This may be needed under CYGWIN # if {$::xmaxima_priv(platform) == "cygwin"} {lappend command "/bin/bash"} - append com $::xmaxima_priv(localMaximaServer) regsub PORT $com $port com - if { [info exists env(MAXIMA_INT_INPUT_STRING)] } { - regsub PORT $env(MAXIMA_INT_INPUT_STRING) $port env(MAXIMA_INT_INPUT_STRING) - #puts env(MAXIMA_INT_LISP_PRELOAD)=$env(MAXIMA_INT_LISP_PRELOAD) - #puts env(MAXIMA_INT_INPUT_STRING)=$env(MAXIMA_INT_INPUT_STRING) + if { [info exists ::env(MAXIMA_INT_INPUT_STRING)] } { + regsub PORT $::env(MAXIMA_INT_INPUT_STRING) $port ::env(MAXIMA_INT_INPUT_STRING) + #puts ::env(MAXIMA_INT_LISP_PRELOAD)=$::env(MAXIMA_INT_LISP_PRELOAD) + #puts ::env(MAXIMA_INT_INPUT_STRING)=$::env(MAXIMA_INT_INPUT_STRING) } #puts com=$com set command [concat $command $com] @@ -365,11 +361,11 @@ proc runOneMaxima { win } { SetPlotFormat $::xmaxima_priv(cConsoleText) set res [list [oget $win pid] $sock ] - global pdata autoconf + global pdata set pdata(maxima,socket) $sock fileevent $sock readable [list maximaFilter $win $sock] sendMaxima $win ":lisp-quiet (setq \$maxima_frontend \"Xmaxima\")\n" - sendMaxima $win ":lisp-quiet (setq \$maxima_frontend_version \"$autoconf(version)\")\n" + sendMaxima $win ":lisp-quiet (setq \$maxima_frontend_version \"$::autoconf(version)\")\n" sendMaxima $win ":lisp-quiet (setq \$maxima_frontend_bugreportinfo \"XMaxima is part of maxima.\")\n" return $res @@ -498,12 +494,10 @@ proc CMresetFilter { win } { } proc CMkill { signal pid } { - global tcl_platform - # Windows pids can be negative if {[string is int $pid]} { maxStatus [mc "Sending signal %s to process %s" "$signal" "$pid"] - if {$tcl_platform(platform) == "windows" } { + if {$::tcl_platform(platform) == "windows" } { exec $::xmaxima_priv(kill) $signal $pid } else { exec $::xmaxima_priv(kill) $signal $pid diff --git a/interfaces/xmaxima/Tkmaxima/Tryembed.tcl b/interfaces/xmaxima/Tkmaxima/Tryembed.tcl index de37f31ac..a0a746cd5 100644 --- a/interfaces/xmaxima/Tkmaxima/Tryembed.tcl +++ b/interfaces/xmaxima/Tkmaxima/Tryembed.tcl @@ -12,7 +12,7 @@ # jack # % safe::interpInit $slave # jack -# % interp eval $slave set env(DISPLAY) $env(DISPLAY) +# % interp eval $slave set ::env(DISPLAY) $::env(DISPLAY) # :0.0 # % load {} Tk $slave # % interp eval jack {entry .ja ; pack .ja} @@ -23,7 +23,7 @@ # % interp eval jack plot2d -xfun {sin(x)} proc makeEmbedWin { parent width height } { - global env auto_index + global auto_index set win $parent.embed[incr ::xmaxima_priv(counter)] set fr [frame $win -width $width -height $height -container 1] set slave tclet$::xmaxima_priv(counter) @@ -39,8 +39,8 @@ proc makeEmbedWin { parent width height } { interp eval $slave [list set argv [list -use [winfo id $fr]]] } - if { [info exists env(DISPLAY)] } { - interp eval $slave set env(DISPLAY) $env(DISPLAY) + if { [info exists ::env(DISPLAY)] } { + interp eval $slave set ::env(DISPLAY) $::env(DISPLAY) } interp eval $slave { proc policy {args } {} } # $slave alias bgerror bgerror @@ -151,9 +151,9 @@ proc Safesock_PolicyInit {slave {version 1.0}} { set browser_state($slave,safesock,homebase) $server # Tell the slave about itself: - interp eval $slave [list set env(SERVER) $server] - interp eval $slave [list set env(PORT) $port] - interp eval $slave [list set env(URL) $url] + interp eval $slave [list set ::env(SERVER) $server] + interp eval $slave [list set ::env(PORT) $port] + interp eval $slave [list set ::env(URL) $url] browser_log $slave security installed policy Safesock } ----------------------------------------------------------------------- Summary of changes: interfaces/xmaxima/Tkmaxima/CMMenu.tcl | 4 +- interfaces/xmaxima/Tkmaxima/Cygwin.tcl | 35 ++++++------ interfaces/xmaxima/Tkmaxima/Fonts.tcl | 6 +-- interfaces/xmaxima/Tkmaxima/Menu.tcl | 15 ++---- interfaces/xmaxima/Tkmaxima/Myhtml.tcl | 7 +-- interfaces/xmaxima/Tkmaxima/Parse.tcl | 4 +- interfaces/xmaxima/Tkmaxima/Paths.tcl | 88 +++++++++++++++---------------- interfaces/xmaxima/Tkmaxima/Printops.tcl | 5 +- interfaces/xmaxima/Tkmaxima/RunMaxima.tcl | 20 +++---- interfaces/xmaxima/Tkmaxima/Tryembed.tcl | 14 ++--- 10 files changed, 88 insertions(+), 110 deletions(-) hooks/post-receive -- Maxima CAS |
From: villate <vi...@us...> - 2025-07-23 14:40:01
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Maxima CAS". The branch, master has been updated via d7e8c9e09f6807e44cf68a3d70afd127308b812c (commit) from 94fb643618d5081abf207c85d7da4ed41243d8da (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit d7e8c9e09f6807e44cf68a3d70afd127308b812c Author: villate <vi...@fe...> Date: Wed Jul 23 15:39:18 2025 +0100 Moves the julia example to the right place, respecting alphabetical order. diff --git a/demo/manual.demo b/demo/manual.demo index 8916741a0..31423bb92 100644 --- a/demo/manual.demo +++ b/demo/manual.demo @@ -595,10 +595,6 @@ assume(a>1); is(log(log(a+1)+1)>0 and a^2+1>2*a); -&& julia - - julia(-0.55,0.6,[iterations,30],[x,-0.3,0.2],[y,0.3,0.9],[grid,400,400])$ - && isolate (a+b)^4*(1+x*(2*x+(c+d)^2)); @@ -608,6 +604,10 @@ (a+b)*(x+a+b)^2*%e^(x^2+a*x+b); isolate(%,x),exptisolate:true; +&& julia + + julia(-0.55,0.6,[iterations,30],[x,-0.3,0.2],[y,0.3,0.9],[grid,400,400])$ + && lambda lambda([x,y,z],x^2+y^2+z^2); ----------------------------------------------------------------------- Summary of changes: demo/manual.demo | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) hooks/post-receive -- Maxima CAS |
From: villate <vi...@us...> - 2025-07-23 14:36:24
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Maxima CAS". The branch, master has been updated via 94fb643618d5081abf207c85d7da4ed41243d8da (commit) from 2f51bf5ccf1ac4025874f99022869f8ea06d7d03 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 94fb643618d5081abf207c85d7da4ed41243d8da Author: villate <vi...@fe...> Date: Wed Jul 23 15:35:33 2025 +0100 Some improvements to the HTML pagesof the tutorial used in Xmaxima. diff --git a/interfaces/xmaxima/ChangeLog.txt b/interfaces/xmaxima/ChangeLog.txt index 44dd79f22..39e082eca 100644 --- a/interfaces/xmaxima/ChangeLog.txt +++ b/interfaces/xmaxima/ChangeLog.txt @@ -1,3 +1,6 @@ +Changes after 2005 are described in the Changelog of the whole Maxima +project, in the top directory. + 2002-09-06 Mike Clarkson <mik...@us...> * xmaxima.tcl: Massive breakup of xmaxima.tcl diff --git a/interfaces/xmaxima/Makefile.am b/interfaces/xmaxima/Makefile.am index 92e5af1a2..90b903106 100755 --- a/interfaces/xmaxima/Makefile.am +++ b/interfaces/xmaxima/Makefile.am @@ -20,7 +20,7 @@ endif genericdir = $(xmaximadir) -genericdirDATA = demos.html examples.html intro.html plotmaxima.html net.sourceforge.maxima.png net.sourceforge.maxima.svg net.sourceforge.maxima.gif net.sourceforge.maxima.ico +genericdirDATA = demos.html examples.html primer.html intro.html plotmaxima.html net.sourceforge.maxima.png net.sourceforge.maxima.svg net.sourceforge.maxima.gif net.sourceforge.maxima.ico appicondir = $(datarootdir)/icons dist_appicon_DATA = xmaxima.png xmaxima.svg diff --git a/interfaces/xmaxima/Readme.txt b/interfaces/xmaxima/Readme.txt index cc61ad105..eab65c18e 100644 --- a/interfaces/xmaxima/Readme.txt +++ b/interfaces/xmaxima/Readme.txt @@ -24,7 +24,7 @@ may have to be preserved. Ultimately may of these constants will go away, but for now the breaking up must be done carefully. -Utils subdirectory +Utils subdirectory (as of 2025 that directory no longer exists) ------------------ There are a number of simple Tcl utilities that are diff --git a/interfaces/xmaxima/demos.html b/interfaces/xmaxima/demos.html index b9a4f390f..308c2136f 100644 --- a/interfaces/xmaxima/demos.html +++ b/interfaces/xmaxima/demos.html @@ -1,10 +1,12 @@ <html> -<img src=maxima-icon.gif align=center border=0> -<br> - <h4 align=center>Demo programs</h4> +<head> +<title>Demo programs</title> +</head> <body BGCOLOR=#ffffff TEXT=#000000 LINK=#244C21> - - +<br> +<img src=net.sourceforge.maxima.png align=left border=0> +<h2 align=center>Demo programs</h2> +<p>Double click on the examples in blue to see the result.</p> <ul> <li><eval program=maxima>demo("array")</eval> <li><eval program=maxima>demo("cf")</eval> @@ -36,4 +38,6 @@ <li><eval program=maxima>demo("optmiz")</eval> <li><eval program=maxima>demo("optvar")</eval> <li><eval program=maxima>demo("pfaff")</eval> +</ul> +</body> </html> diff --git a/interfaces/xmaxima/examples.html b/interfaces/xmaxima/examples.html index dd143558f..f55f56398 100644 --- a/interfaces/xmaxima/examples.html +++ b/interfaces/xmaxima/examples.html @@ -1,9 +1,12 @@ <html> -<img src=maxima-icon.gif align=center border=0> +<head> +<title>Examples</title> +</head> <br> - <h4 align=center>Demo programs</h4> <body BGCOLOR=#ffffff TEXT=#000000 LINK=#244C21> - +<img src=net.sourceforge.maxima.png align=left border=0> +<h2 align=center>Examples</h2> +<p>Double click on the examples in blue to see the result.</p> <ul> <li><eval program=maxima>example( additive )</eval> <li><eval program=maxima>example( algsys )</eval> @@ -70,17 +73,18 @@ <li><eval program=maxima>example( integrate )</eval> <li><eval program=maxima>example( is )</eval> <li><eval program=maxima>example( isolate )</eval> +<li><eval program=maxima>example( julia )</eval> <li><eval program=maxima>example( lambda )</eval> <li><eval program=maxima>example( laplace )</eval> <li><eval program=maxima>example( lassociative )</eval> <li><eval program=maxima>example( let )</eval> -<li><eval program=maxima>example( letrules )</eval> <li><eval program=maxima>example( limit )</eval> <li><eval program=maxima>example( linear )</eval> <li><eval program=maxima>example( linsolve )</eval> <li><eval program=maxima>example( listofvars )</eval> <li><eval program=maxima>example( lists )</eval> <li><eval program=maxima>example( logcontract )</eval> +<li><eval program=maxima>example( mandelbrot )</eval> <li><eval program=maxima>example( map )</eval> <li><eval program=maxima>example( matchdeclare )</eval> <li><eval program=maxima>example( matrices )</eval> @@ -102,6 +106,8 @@ <li><eval program=maxima>example( partfrac )</eval> <li><eval program=maxima>example( partition )</eval> <li><eval program=maxima>example( pickapart )</eval> +<li><eval program=maxima>example( plot2d )</eval> +<li><eval program=maxima>example( plot3d )</eval> <li><eval program=maxima>example( poissimp )</eval> <li><eval program=maxima>example( polarform )</eval> <li><eval program=maxima>example( poly_discriminant )</eval> @@ -137,6 +143,7 @@ <li><eval program=maxima>example( sqfr )</eval> <li><eval program=maxima>example( subst )</eval> <li><eval program=maxima>example( substinpart )</eval> +<li><eval program=maxima>example( substitute )</eval> <li><eval program=maxima>example( substpart )</eval> <li><eval program=maxima>example( sum )</eval> <li><eval program=maxima>example( symmetric )</eval> @@ -151,30 +158,7 @@ <li><eval program=maxima>example( trigreduce )</eval> <li><eval program=maxima>example( unorder )</eval> <li><eval program=maxima>example( xthru )</eval> - </ul> -<p> -<h5 align=center>Demo of user Programs</h5> - -The following are demos of some user contributed programs. -As each item is showed <br> -<b>double click on -<!comment notice the 'nex' in the following: 'next' is a keyword for maxima - and would give a syntax error> - -<eval program=maxima doinsert=0>nex</eval>t </b>to advance items and -<b> <eval program=maxima doinsert=0>quit</eval> to finish </b>that demo. -<br> Or in the maxima text window type ';' followed by enter to advance -or q; to quit. - - -<ul> -<li><eval program=maxima doinsert=0>demo("cf")</eval> -<li><eval program=maxima doinsert=0>demo("ezgcd")</eval> -<li><eval program=maxima doinsert=0>demo("macex")</eval> -<li><eval program=maxima doinsert=0>demo("macro")</eval> -<li><eval program=maxima doinsert=0>demo("eigen")</eval> -<li><eval program=maxima doinsert=0>demo("functs")</eval> -<li><eval program=maxima doinsert=0>demo("simpsn")</eval> - +</body> </html> + diff --git a/interfaces/xmaxima/intro.html b/interfaces/xmaxima/intro.html index d6003a3b7..97f1a4554 100644 --- a/interfaces/xmaxima/intro.html +++ b/interfaces/xmaxima/intro.html @@ -1,197 +1,33 @@ <html> +<head> +<title>Introduction to Maxima</title> +</head> <br> - -<img src=maxima-icon.gif align=center border=0> - - - <h1 align=center>Maxima Primer</h1> - <body BGCOLOR=#ffffff TEXT=#000000 LINK=#244C21> +<img src=net.sourceforge.maxima.png align=left border=0> +<h1 align=center>Introduction to Maxima</h1> - - -<p>Maxima is a computer program for doing mathematics calculations, +<p>Maxima is a computer program for doing mathematical calculations, symbolic manipulations, numerical computations and graphics. Procedures can be programmed and then run by Maxima to -do complex tasks. Much of the syntax for other languages such as -Maple was copied from Maxima.</p> +do complex tasks. Much of the syntax for other computer algebra systems +such as Maple was copied from Maxima.</p> + +<h2>Sections</h2> +<h4>1. <a href="primer.html">Maxima Primer</a></h4> +<h4>2. <a href="examples.html">Examples</a></h4> +<h4>3. <a href="demos.html">Demos</a></h4> +<h4>4. <a href="plotmaxima.html">Plots</a></h4> +</li> +</ul> <h2>Project and documentation links</h2> <p>The <em>Help</em> menu in Xmaxima gives you access to the following documents:</p> <ul> <li>Maxima reference manual</li> <li>Xmaxima reference manual</li> -<li>Maxima home page, https://maxima.sourceforge.io</li> +<li>Maxima Website, https://maxima.sourceforge.io</li> <li>Maxima project page, https://sourceforge.net/projects/maxima</li> </ul> - -<h2>Getting started</h2> - -<p>To do basic operations, a line is typed, followed by a -semicolon, and then entered. This can be done in the window above. -Alternately you may edit the blue portions in this buffer, and click -on them, to see the result evaluated above and/or inserted in -this window, depending on what was specified in the html source for this -file. -For example clicking below -<br> -<ul><li> -<eval program=maxima doinsert=0 ->integrate(1/(1+x^3),x)</eval> -</ul> -You may double click the above formula, and the integral will be substituted into the Maxima evaluation in the other window. - -There are <a href="examples.html">examples</a> which you may also look at -<a href="plotmaxima.html">3d plotting </a> -If you wish to have your plots appear in a separate window, go to the -preferences button under file, and select separate. -You may also go to the <http://www.ma.utexas.edu/users/wfs/netmath/netmath.html> -netmath page </a> to see some more capabilities. - - -<p>Here are some examples from basic calculus. To have Maxima -evaluate the derivative of the function below, click on this line. -<ul><li> -<eval program=maxima doinsert=1> diff(cos(x),x);</eval> returns <result modified>result</result>. -</ul> - -<p>Maxima can calculate <b>indefinite integrals</b>. -<ul> -<li><eval program=maxima doinsert=1> integrate( x/(1+x^3),x );</eval> returns <result modified>result</result> - -<li>...and definite integrals with respect to x from 0 to 1. -<br><eval program=maxima doinsert=1> integrate( 1/(1+x^2), x, 0, 1 ); </eval> returns <result modified>result</result> -<li><eval program=maxima doinsert=0> plot2d(sin(x),[x,0,2*%pi])</eval> -<li><eval program=maxima doinsert=0> plot3d(x^2-y^2,[x,-2,2],[y,-2,2],[grid,12,12])</eval> -</ul> -<ul> -<li>Also, limits can be evaluated as x goes to infinity: -<br><eval program=maxima doinsert=1> limit( (2*x+1)/(3*x+2), x,inf );</eval> produces <result modified>result</result> - -<li><eval program=maxima doinsert=1> limit( sin(3*x)/x, x,0);</eval> evaluates to <result modified>result</result> -</ul> - -<p>Maxima can perform calculations to arbitrary precision. The -following example computes Pi to one hundred decimal places. -<ul><li><eval program=maxima doinsert=1>block([fpprec:100],bfloat(%pi))</eval> yields <result modified>result</result> -if we took sin of this we would get 0 to to within 100 decimal places.. -<li><eval program=maxima doinsert=1>block([fpprec:100],sin(bfloat(%pi)))</eval> gives <result modified>result</result> - -<p>Maxima can solve equations. Click this line to solve the system. -<li><eval program=maxima doinsert=1> solve([x+y+z=5,3*x-5*y=10,y+2*z=3],[x,y,z]);</eval> returns <result modified>result</result> - -<li><eval program=maxima doinsert=1> solve(x^2-5*x+6 =0,x);</eval> produces <result modified>result</result> -</ul> -<h5>Linear Algebra</h5> -<p> -For example, matrices can be -entered and manipulated. Click these two lines. -<ul> -<li><eval program=maxima doinsert=1> A:matrix([1,2],[3,4]);</eval> gives <result modified>result</result> - - -<li><eval program=maxima doinsert=1> B:matrix([1,1],[1,1]);</eval> gives <result modified>result</result> - -<p>The matrices can then be added, for example: -<li><eval program=maxima doinsert=1> A + B ;</eval> returns the sum <result modified>result</result> - -...and multiplied. -<li><eval program=maxima doinsert=1> A . B ;</eval> gives the product<result modified>result</result> - - -<li><eval program=maxima doinsert=1> A^^-1</eval> evaluates to the inverse: <result modified>result</result> - -<li><eval program=maxima doinsert=1>determinant(matrix([a,b],[c,d]))</eval> gives <result modified>result</result> -<li><eval program=maxima doinsert=0 -> Fib[0] : 0; - Fib[1] : 1; - Fib[n] := Fib[n-1] + Fib[n-2]; -</eval> -</ul> -Then the procedure can be called. <eval program=maxima doinsert=1> Fib[8];</eval> gives <result>21</result> - - -<p>Maxima can solve ordinary differential equations analytically and numerically. Click the -following line for an example of an analytic solution. - - -<ul><li> -<eval program=maxima doinsert=1>ode2('diff(y,x)+3*x*y = sin(x)/x, y,x)</eval> returns <result modified>result</result> -<li><eval program=maxima doinsert=1>ode2('diff(y,x) -y = 1, y,x)</eval> returns <result modified>result</result> -<li> -<eval program=maxima doinsert=1> ode2('diff(y,x,2) - y = 1, y,x)</eval> gives <result modified>result</result> -</ul> - -<h4 align=left>Defining a Function</h4> - - - <p>The standard form is - -<ul> -<li> -<eval program=maxima doinsert=1>f(3)</eval> gives <result>f(3)</result> - -<li> -<eval program=maxima doinsert=0>f(x):=x+2</eval> -<li>now <eval program=maxima doinsert=1>f(3)</eval> gives <result>5</result> -</ul> -<p>Local variables: - -<p>The <b>block</b> construct lets us introduce local variables, and also lets -us have a sequence of statements: - - <pre>block([v1:val1,v2:val2,v3,v4:val4],stmt1,stmt2,... stmtn)</pre> -the value is the value of the last statement. During the execution the -variables v1,v2,... will have the values indicated. If no value is given -for v3 then it will just evaluate to itself: - -<p>Thus if we set v3 globally to be 7, -<ul><li><eval program=maxima doinsert=1>v3:7</eval> produces <result>7</result> -<li> , then <eval program=maxima doinsert=1>block([v3],v3)</eval> gives <result>v3</result>. - </ul> -An example in a function: - -<ul> -<li><eval program=maxima doinsert=0>g(x):=block([u:x+3,w], u:u^2, w:(y+2)^2, u+w);</eval> - - - -<li><eval program=maxima doinsert=1>g(2)</eval> yields <result><pre> - 2 - (y + 2) + 25 -</pre></result> -Using <b>if</b>: - - - -<li><eval program=maxima doinsert=0>h(x):=block([u:x+3,w], u:u^2, - if (u<3) then w:(y+2)^2 else w:(y+2)^2+1, - u+w); -</eval> - - - -<li><eval program=maxima doinsert=1>[h(3),h(2)]</eval> gives <result><pre> - 2 2 - [(y + 2) + 37, (y + 2) + 26] -</pre></result> - - </ul> -Using for: - - -<ul> -<li><eval program=maxima doinsert=1> block([w:0], for i:1 thru 10 do (w:w+i^2))</eval> gives <result>done</result> -</ul> -<p>a for loop always returns 'done as its value. To get the value you want -add the w. - - -<ul> -<li><eval program=maxima doinsert=1> block([w:0], for i:1 thru 10 do (w:w+i^2),w)</eval> gives <result>385</result> -</ul> - -The function <b>describe(</b><i>s</i><b>)</b> -returns documentation on all functions whose names include the string <i>s</i>. -For example, if the string is "log", -<br><eval program=maxima doinsert=1>describe("log");all</eval> prints <result modified>this output</result> +</body> +</html> diff --git a/interfaces/xmaxima/plotmaxima.html b/interfaces/xmaxima/plotmaxima.html index f575aa1e9..3a19bda55 100644 --- a/interfaces/xmaxima/plotmaxima.html +++ b/interfaces/xmaxima/plotmaxima.html @@ -1,55 +1,82 @@ <html> - -<title>Maxima Plotting</title> +<head> +<title>Maxima Plots</title> +</head> +<br> <body BGCOLOR=#ffffff TEXT=#000000 LINK=#244C21> +<img src=net.sourceforge.maxima.png align=left border=0> +<h2>Maxima Plots</h2> -<br> -<h4>Maxima 3d Plotting</h4> -<br> +<p>Double click on the examples in blue to see the result.</p> +<h4>plot2d</h4> -<pre> - - Function:<b> plot3d (expr, xrange, yrange,..., options,...)</b> - - Function:<b> plot3d ([expr1,expr2,expr3], xrange, yrange,..., options,...)</b> -</pre> -When viewed with the netmath plotting routines, you can rotate the object -by dragging with the right mouse button depressed. <ul> -<li> <eval program=maxima> plot3d(2^(-u^2+v^2),[u,-2,2],[v,-2,2]);</eval> - would plot z = 2^(-u^2+v^2) with u and v varying in [-2,2] and - [-2,2] respectively, and with u on the x axis, and v on the y axis. - -<li> a <b>moebius band uses the second pattern of arguments</b> - +<li>Plot of a function of one variable:<br> <eval program=maxima> -plot3d([cos(x)*(3+y*cos(x/2)), sin(x)*(3+y*cos(x/2)), y*sin(x/2)], - [x,-%pi,%pi],[y,-1,1],['grid,40,15]);</eval> - <br> -parametrized by the 3 expressions given as the first -argument to plot3d. An additional optional argument [grid,50,15] -gives the grid number of rectangles in the x direction and y -direction. - -<li>A <b>Riemann surface</b>: Real part of z^1/3 + plot2d (sin(x), [x, -%pi, %pi])$ +</eval> +</li> +<li>Plot of two implicit functions:<br> <eval program=maxima> -plot3d(r^.33*cos(th/3),[r,0,1],[th,0,6*%pi], - ['grid,12,80], - ['transform_xy,polar_to_xy]);</eval> - -<li> a <b>Klein bottle</b>: + plot2d([x^2+y^2=1, -abs(x)], [x, -1.5, 1.5], [y, -2, 2], + same_xy, nolegend); +</eval> +</li> +<li>Plot of a function and data points:<br> <eval program=maxima> -plot3d([5*cos(x)*(cos(x/2)*cos(y)+sin(x/2)*sin(2*y)+3.0) - 10.0, - -5*sin(x)*(cos(x/2)*cos(y)+sin(x/2)*sin(2*y)+3.0), - 5*(-sin(x/2)*cos(y)+cos(x/2)*sin(2*y))], - [x,-%pi,%pi],[y,-%pi,%pi],['grid,40,40]);</eval> + plot2d([[discrete,[[10,.6],[20,.9],[30,1.1],[40,1.3],[50,1.4]]], + 2*%pi*sqrt(l/980)], [l,0,50], [style,points,lines], + [point_type, asterisk], [legend, "experiment", "theory"], + [xlabel,"length"], [ylabel,"period"])$ +</eval> +</li> +</ul> +<br> -<li>a <b>torus</b> +<h4>plot3d</h4> +<p>When using the "gnuplot_pipes" or "xmaxima" plot formats, you can rotate the +object by dragging with the left mouse button depressed.</p> +<ul> +<li>To plot the function of two variables: z = 2^(-u^2+v^2) with u and v +varying in [-2,2] and [-2,2] respectively, and with u on the x axis, and v +on the y axis, do the following:<br> <eval program=maxima> -plot3d([cos(y)*(10.0+6*cos(x)), - sin(y)*(10.0+6*cos(x)), - -6*sin(x)], - [x,0,2*%pi],[y,0,2*%pi], ['grid,20,20]);</eval> - - - - + plot3d(2^(-u^2+v^2),[u,-2,2],[v,-2,2]); +</eval> +</li> +<li> A <b>Moebius band</b> can be plotted given 3 expressions (for the +coordinates in the three axes) depending on two parameters, x and y in +this example<br> +<eval program=maxima> + plot3d([cos(a)*(3+b*cos(a/2)), sin(a)*(3+b*cos(a/2)), b*sin(a/2)], + [a,-%pi,%pi], [b,-1,1], [grid,40,15]); +</eval> +<br> +The additional optional option [grid,50,15] +gives the grid number of rectangles in the a direction and b direction. +</li> +<li>A <b>Riemann surface</b>: Real part of z^1/3<br> +<eval program=maxima> + plot3d(r^.33*cos(th/3),[r,0,1],[th,0,6*%pi], [grid,12,80], + [transform_xy,polar_to_xy]); +</eval> +</li> +<li>A <b>Klein bottle</b>:<br> +<eval program=maxima> + plot3d([5*cos(x)*(cos(x/2)*cos(y)+sin(x/2)*sin(2*y)+3.0) - 10.0, + -5*sin(x)*(cos(x/2)*cos(y)+sin(x/2)*sin(2*y)+3.0), + 5*(-sin(x/2)*cos(y)+cos(x/2)*sin(2*y))], + [x,-%pi,%pi], [y,-%pi,%pi], [grid,40,40]); +</eval> +</li> +<li>A <b>torus</b><br> +<eval program=maxima> + plot3d([cos(y)*(10.0+6*cos(x)), sin(y)*(10.0+6*cos(x)), -6*sin(x)], + [x,0,2*%pi], [y,0,2*%pi], [grid,20,20]); +</eval> +</li> +</ul> +<br> +</body> +</html> diff --git a/interfaces/xmaxima/primer.html b/interfaces/xmaxima/primer.html new file mode 100644 index 000000000..f2c923cc7 --- /dev/null +++ b/interfaces/xmaxima/primer.html @@ -0,0 +1,185 @@ +<html> +<head> +<title>Maxima Primer</title> +</head> +<br> +<body BGCOLOR=#ffffff TEXT=#000000 LINK=#244C21> +<img src=net.sourceforge.maxima.png align=left border=0> +<h1 align=center>Maxima Primer</h1> + +<h2>Getting started</h2> + +<p>To do basic operations, a line is typed, followed by a +semicolon, and then entered. This can be done in the window above titled +"Xmaxima: console". +Alternately you may edit the blue portions in this buffer, and click +on them, to see the result evaluated in that window and/or inserted in +this window, depending on what was specified in the html source for this +file.</p> +<p>For example clicking below</p> +<ul> +<li> +<eval program=maxima doinsert=0>integrate(1/(1+x^3),x)</eval> +</li> +</ul> +<p>You may double click the above formula, and the integral will be +substituted into the Maxima evaluation in the other window.</p> +<p>There are <a href="examples.html">examples</a> which you may also look at +<a href="plotmaxima.html">3d plotting </a> +If you wish to have your plots appear in a separate window, go to the +preferences button under file, and select separate. +You may also go to the Website to see some more capabilities.</p> +<p>Here are some examples from basic calculus. To have Maxima +evaluate the derivative of the function below, click on this line.</p> +<ul> +<li> +<eval program=maxima doinsert=1> diff(cos(x),x);</eval> returns <result modified>result</result>. +</li> +</ul> + +<p>Maxima can calculate <b>indefinite integrals</b>.</p> +<ul> +<li> +<eval program=maxima doinsert=1> integrate( x/(1+x^3),x );</eval> returns <result modified>result</result> +</li> +<li>as well as definite integrals within an interval, from 0 to 1, in the +following example: +<br><eval program=maxima doinsert=1> integrate( 1/(1+x^2), x, 0, 1 ); </eval> returns <result modified>result</result> +<li><eval program=maxima doinsert=0> plot2d(sin(x),[x,0,2*%pi])</eval> +<li><eval program=maxima doinsert=0> plot3d(x^2-y^2,[x,-2,2],[y,-2,2],[grid,12,12])</eval> +</li> +</ul> +<ul> +<li>Also, limits can be evaluated as x goes to infinity: +<br><eval program=maxima doinsert=1> limit( (2*x+1)/(3*x+2), x,inf );</eval> produces <result modified>result</result> + +<li><eval program=maxima doinsert=1> limit( sin(3*x)/x, x,0);</eval> evaluates to <result modified>result</result> +</ul> + +<p>Maxima can perform calculations to arbitrary precision. The +following example computes Pi to one hundred decimal places. +<ul><li><eval program=maxima doinsert=1>block([fpprec:100],bfloat(%pi))</eval> yields <result modified>result</result> +if we took sin of this we would get 0 to to within 100 decimal places.. +<li><eval program=maxima doinsert=1>block([fpprec:100],sin(bfloat(%pi)))</eval> gives <result modified>result</result> + +<p>Maxima can solve equations. Click this line to solve the system. +<li><eval program=maxima doinsert=1> solve([x+y+z=5,3*x-5*y=10,y+2*z=3],[x,y,z]);</eval> returns <result modified>result</result> + +<li><eval program=maxima doinsert=1> solve(x^2-5*x+6 =0,x);</eval> produces <result modified>result</result> +</ul> +<h5>Linear Algebra</h5> +<p> +For example, matrices can be +entered and manipulated. Click these two lines. +<ul> +<li><eval program=maxima doinsert=1> A:matrix([1,2],[3,4]);</eval> gives <result modified>result</result> + + +<li><eval program=maxima doinsert=1> B:matrix([1,1],[1,1]);</eval> gives <result modified>result</result> + +<p>The matrices can then be added, for example: +<li><eval program=maxima doinsert=1> A + B ;</eval> returns the sum <result modified>result</result> + +...and multiplied. +<li><eval program=maxima doinsert=1> A . B ;</eval> gives the product<result modified>result</result> + + +<li><eval program=maxima doinsert=1> A^^-1</eval> evaluates to the inverse: <result modified>result</result> + +<li><eval program=maxima doinsert=1>determinant(matrix([a,b],[c,d]))</eval> gives <result modified>result</result> +<li><eval program=maxima doinsert=0 +> Fib[0] : 0; + Fib[1] : 1; + Fib[n] := Fib[n-1] + Fib[n-2]; +</eval> +</ul> +Then the procedure can be called. <eval program=maxima doinsert=1> Fib[8];</eval> gives <result>21</result> + + +<p>Maxima can solve ordinary differential equations analytically and numerically. Click the +following line for an example of an analytic solution. + + +<ul><li> +<eval program=maxima doinsert=1>ode2('diff(y,x)+3*x*y = sin(x)/x, y,x)</eval> returns <result modified>result</result> +<li><eval program=maxima doinsert=1>ode2('diff(y,x) -y = 1, y,x)</eval> returns <result modified>result</result> +<li> +<eval program=maxima doinsert=1> ode2('diff(y,x,2) - y = 1, y,x)</eval> gives <result modified>result</result> +</ul> + +<h4 align=left>Defining a Function</h4> + + + <p>The standard form is + +<ul> +<li> +<eval program=maxima doinsert=1>f(3)</eval> gives <result>f(3)</result> + +<li> +<eval program=maxima doinsert=0>f(x):=x+2</eval> +<li>now <eval program=maxima doinsert=1>f(3)</eval> gives <result>5</result> +</ul> +<p>Local variables: + +<p>The <b>block</b> construct lets us introduce local variables, and also lets +us have a sequence of statements: + + <pre>block([v1:val1,v2:val2,v3,v4:val4],stmt1,stmt2,... stmtn)</pre> +the value is the value of the last statement. During the execution the +variables v1,v2,... will have the values indicated. If no value is given +for v3 then it will just evaluate to itself: + +<p>Thus if we set v3 globally to be 7, +<ul><li><eval program=maxima doinsert=1>v3:7</eval> produces <result>7</result> +<li> , then <eval program=maxima doinsert=1>block([v3],v3)</eval> gives <result>v3</result>. + </ul> +An example in a function: + +<ul> +<li><eval program=maxima doinsert=0>g(x):=block([u:x+3,w], u:u^2, w:(y+2)^2, u+w);</eval> + + + +<li><eval program=maxima doinsert=1>g(2)</eval> yields <result><pre> + 2 + (y + 2) + 25 +</pre></result> +Using <b>if</b>: + + + +<li><eval program=maxima doinsert=0>h(x):=block([u:x+3,w], u:u^2, + if (u<3) then w:(y+2)^2 else w:(y+2)^2+1, + u+w); +</eval> + + + +<li><eval program=maxima doinsert=1>[h(3),h(2)]</eval> gives <result><pre> + 2 2 + [(y + 2) + 37, (y + 2) + 26] +</pre></result> + + </ul> +Using for: + + +<ul> +<li><eval program=maxima doinsert=1> block([w:0], for i:1 thru 10 do (w:w+i^2))</eval> gives <result>done</result> +</ul> +<p>a for loop always returns 'done as its value. To get the value you want +add the w. + + +<ul> +<li><eval program=maxima doinsert=1> block([w:0], for i:1 thru 10 do (w:w+i^2),w)</eval> gives <result>385</result> +</ul> + +<p>The function <b>describe(</b><i>s</i><b>)</b> +returns documentation on all functions whose names include the string <i>s</i>. +For example, if the string is "log", +<br><eval program=maxima doinsert=1>describe("log");all</eval> prints <result modified>this output</result> +</p> +</body> +</html> ----------------------------------------------------------------------- Summary of changes: interfaces/xmaxima/ChangeLog.txt | 3 + interfaces/xmaxima/Makefile.am | 2 +- interfaces/xmaxima/Readme.txt | 2 +- interfaces/xmaxima/demos.html | 14 +- interfaces/xmaxima/examples.html | 42 ++--- interfaces/xmaxima/intro.html | 202 +++---------------------- interfaces/xmaxima/plotmaxima.html | 115 ++++++++------ interfaces/xmaxima/{intro.html => primer.html} | 80 +++++----- 8 files changed, 151 insertions(+), 309 deletions(-) copy interfaces/xmaxima/{intro.html => primer.html} (77%) hooks/post-receive -- Maxima CAS |
From: villate <vi...@us...> - 2025-07-23 12:49:40
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Maxima CAS". The branch, master has been updated via 2f51bf5ccf1ac4025874f99022869f8ea06d7d03 (commit) from e276b59b4a941c0a475662e01a5a9bf432ec0693 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 2f51bf5ccf1ac4025874f99022869f8ea06d7d03 Author: villate <vi...@fe...> Date: Wed Jul 23 13:48:05 2025 +0100 Adds 3 more plotting options: noxlabel, noylabel and nozlabel. diff --git a/doc/info/Plotting.texi b/doc/info/Plotting.texi index c9bf1761a..b9b09c121 100644 --- a/doc/info/Plotting.texi +++ b/doc/info/Plotting.texi @@ -1857,18 +1857,6 @@ See @mrefcomma{make_transform} @mref{polar_to_xy} and @closecatbox @end defvr -@c ----------------------------------------------------------------------------- -@anchor{xmaxima} -@defvr {Plot option} xmaxima - -This is an abbreviation for @code{[plot_format, xmaxima]}. See -@mrefdot{plot_format} - -@opencatbox{Categories:} -@category{Plotting} -@closecatbox -@end defvr - @c ----------------------------------------------------------------------------- @anchor{window} @defvr {Plot option} window [window, @var{n}] @@ -1882,7 +1870,6 @@ will be replaced by the current plot. @closecatbox @end defvr - @c ----------------------------------------------------------------------------- @anchor{x} @defvr {Plot option} x [x, @var{min}, @var{max}] @@ -1900,13 +1887,26 @@ horizontal domain that will be shown in the plot. @c ----------------------------------------------------------------------------- @anchor{xlabel} -@defvr {Plot option} xlabel [xlabel, @var{string}] +@defvr {Plot option} xlabel [xlabel, @var{string}], noxlabel Specifies the @var{string} that will label the first axis; if this option is not used, that label will be the name of the independent variable, when plotting functions with @mref{plot2d} the name of the first variable, when plotting surfaces with @mref{plot3d}, or the first -expression in the case of a parametric plot. +expression in the case of a parametric plot. @code{noxlabel} is equivalent +to @code{[xlabel, ""]}, which does not print any label on the first axis. + +@opencatbox{Categories:} +@category{Plotting} +@closecatbox +@end defvr + +@c ----------------------------------------------------------------------------- +@anchor{xmaxima} +@defvr {Plot option} xmaxima + +This is an abbreviation for @code{[plot_format, xmaxima]}. See +@mrefdot{plot_format} @opencatbox{Categories:} @category{Plotting} @@ -1969,13 +1969,14 @@ shown in the plot. @c ----------------------------------------------------------------------------- @anchor{ylabel} -@defvr {Plot option} ylabel [ylabel, @var{string}] +@defvr {Plot option} ylabel [ylabel, @var{string}], noylabel Specifies the @var{string} that will label the second axis; if this option is not used, that label will be ``y'', when plotting explicit functions with @mref{plot2d}, or the name of the second variable, when plotting surfaces with @mref{plot3d}, or the second expression in the -case of a parametric plot. +case of a parametric plot. @code{noylabel} is equivalent to +@code{[ylabel, ""]}, which does not print any label on the second axis. @opencatbox{Categories:} @category{Plotting} @@ -2030,13 +2031,14 @@ shown in the plot. @c ----------------------------------------------------------------------------- @anchor{zlabel} -@defvr {Plot option} zlabel [zlabel, @var{string}] +@defvr {Plot option} zlabel [zlabel, @var{string}], nozlabel Specifies the @var{string} that will label the third axis, when using -@mrefdot{plot3d} If this option is not used, that label will be ``z'', when -plotting surfaces, or the third expression in the case of a parametric -plot. It can not be used with @mref{set_plot_option} and it will be -ignored by @mrefdot{plot2d} +@mrefdot{plot3d} If this option is not used, that label will be ``z'', +when plotting surfaces, or the third expression in the case of a +parametric plot. It can not be used with @mref{set_plot_option} and it +will be ignored by @mrefdot{plot2d} @code{nozlabel} is equivalent to +@code{[zlabel, ""]}, which does not print any label on the third axis. @opencatbox{Categories:} @category{Plotting} diff --git a/src/plot.lisp b/src/plot.lisp index 9db4b6f36..5f2f2e603 100644 --- a/src/plot.lisp +++ b/src/plot.lisp @@ -1974,12 +1974,15 @@ plot3d([cos(y)*(10.0+6*cos(x)), sin(y)*(10.0+6*cos(x)),-6*sin(x)], ($nopalette (setf (getf options '$palette) nil)) ($noplot_realpart (setf (getf options '$plot_realpart) nil)) ($norun_viewer (setf (getf options '$run_viewer) nil)) + ($noxlabel (setf (getf options '$xlabel) "")) ($nosame_xy (setf (getf options '$same_xy) nil)) ($nosame_xyz (setf (getf options '$same_xyz) nil)) ($notransform_xy (remf options '$transform_xy)) ($noxtics (setf (getf options '$xtics) nil)) + ($noylabel (setf (getf options '$ylabel) "")) ($noytics (setf (getf options '$ytics) nil)) ($noztics (setf (getf options '$ztics) nil)) + ($nozlabel (setf (getf options '$zlabel) "")) ($nognuplot_strings (setf (getf options '$gnuplot_strings) nil)) ($nognuplot_svg_background (setf (getf options '$gnuplot_svg_background) nil)) (t ----------------------------------------------------------------------- Summary of changes: doc/info/Plotting.texi | 46 ++++++++++++++++++++++++---------------------- src/plot.lisp | 3 +++ 2 files changed, 27 insertions(+), 22 deletions(-) hooks/post-receive -- Maxima CAS |
From: villate <vi...@us...> - 2025-07-23 12:11:51
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Maxima CAS". The branch, master has been updated via e276b59b4a941c0a475662e01a5a9bf432ec0693 (commit) from 23f86438017de804ad43ec25d3be2c59bc26e462 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit e276b59b4a941c0a475662e01a5a9bf432ec0693 Author: villate <vi...@fe...> Date: Wed Jul 23 13:10:29 2025 +0100 Reencodes the Russian manual page into UTF8, as proposed on the list. diff --git a/doc/man/ru/maxima.1.in b/doc/man/ru/maxima.1.in index f6ec45333..e0eda30cd 100644 --- a/doc/man/ru/maxima.1.in +++ b/doc/man/ru/maxima.1.in @@ -13,105 +13,105 @@ .ds Pr @prefix@ .ds Vr @VERSION@ -.SH -Maxima \- Common Lisp MACSYMA, - GNU +.SH НАЗВАНИЕ +Maxima \- Common Lisp версия символьного математического пакета MACSYMA, +выпущенного под Общественной лицензией GNU .LP -Xmaxima \- maxima -.SH +Xmaxima \- графическая версия maxima +.SH КРАТКАЯ СВОДКА .B maxima [\fIoptions\fR] .LP .B xmaxima [\fIoptions\fR] -.SH -Maxima - \*(Cl MACSYMA, - . - - . \*(Li, -, , , - , - , , -, . - ALGOL- ; \*(Li- , - . , Maxima, - . -Maxima . -.SH +.SH ОПИСАНИЕ +Maxima - модифицированная для работы под \*(Cl версия системы MACSYMA, +разработанной в Массачусетском технологическом институте. Это диалоговая +экспертная система и среда программирования для символьных и численных +математических преобразований. Написанная на \*(Li, она позволяет +дифференцировать, интегрировать, решать линейные или полиномиальные уравнения, +производить факторизацию многочленов, разлагать функции в +ряды Лорана или Тейлора, вычислять ряды Пуассона, производить матричные и тензорные +преобразования, двухмерная и трехмерная графика. Процедуры могут быть записаны +с помощью ALGOL-подобного синтаксиса; предусмотрены как \*(Li-подобные функции, +так и средства сопоставления с образцом. Файлы, содержащие объекты Maxima, +могут читаться и записываться на диск. Предварительно записанные команды +Maxima могут читаться из файла и выполняться в пакетном режиме. +.SH КЛЮЧИ .TP \fB\-b\fR \fIfile\fR, \fB\-\-batch=\fR\fIfile\fR - \fIfile\fR . +Обработать \fIfile\fR в пакетном режиме. .TP \fB\-\-batch-lisp=\fR\fIfile\fR - Lisp \fIfile\fR . +Обработать Lisp файл \fIfile\fR в пакетном режиме. .TP \fB\-\-batch-string=\fR\fIstring\fR - \fIstring\fR . +Обработать \fIstring\fR в пакетном режиме. .TP \fB\-d\fR, \fB\-\-directories\fR - Maxima. +Вывести информацию о директориях Maxima. .TP \fB\-\-disable\-readline\fR - readline. +Отключить поддержку readline. .TP \fB\-g\fR, \fB\-\-enable\-lisp\-debugger\fR - Lisp . +Включить Lisp отладчик. .TP \fB\-h\fR, \fB\-\-help\fR - . +Вывести краткую информацию об использовании. .TP \fB\-l\fR \fIlisp\fR, \fB\-\-lisp=\fR\fIlisp\fR - Lisp \fIlisp\fR. \fB\-\-list-avail\fR - . +Использовать реализацию Lisp \fIlisp\fR. Используйте \fB\-\-list-avail\fR для +вывода списка возможных значений. .TP \fB\-\-list-avail\fR - Lisp Maxima. +Вывести список доступных версий Lisp и Maxima. .TP \fB\-p\fR \fIlisp_file\fR, \fB\-\-preload-lisp=\fR\fIlisp_file\fR - \fIlisp_file\fR. +Предварительно загрузить \fIlisp_file\fR. .TP \fB\-q\fR, \fB\-\-quiet\fR - Maxima. +Не выводить стартовое сообщение Maxima. .TP \fB\-r\fR \fIstring\fR, \fB\-\-run-string=\fR\fIstring\fR - \fIstring\fR Maxima. +Обработать \fIstring\fR в диалоговом режиме Maxima. .TP \fB\-s\fR \fIport\fR, \fB\-\-server=\fR\fIport\fR - Maxima \fIport\fR. +Запустить сервер Maxima на порту \fIport\fR. .TP \fB\-u\fR \fIversion\fR, \fB\-\-use-version=\fR\fIversion\fR - Maxima \fIversion\fR. \fB\-\-list-avail\fR - . +Запустить Maxima версии \fIversion\fR. Используйте \fB\-\-list-avail\fR для +вывода списка возможных значений. .TP \fB\-v\fR, \fB\-\-verbose\fR - Maxima. +Вывести дополнительную информацию из сценария запуска Maxima. .TP \fB\-\-version\fR - ( ). +Вывести установленную версию (по умолчанию). .TP \fB\-\-very\-quiet\fR - Maxima. +Не выводить метки выражений и стартовое сообщение Maxima. -.SH - +.SH ВВОДНЫЕ ИНСТРУКЦИИ +При инициализации .I maxima - , : +выводит стартовое сообщение, после чего появляется приглашение командной строки: .LP .B (%i1) .LP - Maxima : +Все команды Maxima должны завершаться: .TP 1) - ( - , +точкой с запятой (в этом случае результат выполнения команды выводится на экран +в строке, начинающейся с .B %o , - ), +к которой добавляется номер команды), или .TP 2) - , . +знаком доллара, подавляющим печать строки с результатом. .LP -.SH +.SH ПРИМЕР .LP (%i1) diff(sin(x),x); .LP @@ -121,244 +121,244 @@ Maxima .LP (%o2) sin(x) .LP - , -.I " Maxima" -( ) . +Пользователь вводит команды, создающие +.I "объекты Maxima" +(такие как функции и системные переменные) и выполняющие действия над ними. .LP - UNIX Maxima GNU Emacs XEmacs. - +В UNIX может оказаться предпочтительным запускать Maxima под управлением GNU Emacs или XEmacs. +Это можно сделать вызвав командный режим из .IR emacs , - +а затем ввести .IR maxima . - +Желательно установить .I maxima.el - : +из дистрибутива и использовать команду: .IP .B M-x maxima .LP - +Главное преимущество работы внутри .I emacs -- , /. +- то, что он предоставляет полную историю ввода/вывода. Выполнив команду .IP .B display2d:false , .LP - -/. +Вы получите возможность использовать вывод для ввод с помощью операций +вырезки/вставки. .LP -\*(Li Maxima. - to_lisp() -- Lisp. -\*(Li (run) Maxima. , - \*(Li +\*(Li встроен в Maxima. +Функция to_lisp() входит в цикл чтения-вычисления-вывода Lisp. Функция +\*(Li (run) может использоваться для возврата в Maxima. Кроме того, одиночные +команды \*(Li могут быть вызваны при запуске в командной строке с ключом \fB:lisp\fR. -.SH - . - +.SH ВСТРОЕННАЯ СПРАВКА +В систему встроена обширная диалоговая документация. Описание заданной команды +можно получить с помощью команды .LP \fBdescribe(command);\fR .LP -, , +или, проще, .LP \fB ? command\fR, .LP - \fIcommand\fR. - , -Maxima, +которая ищет в списке функций строку \fIcommand\fR. +Демонстрационные файлы, предоставляющие полные примеры решения задач с помощью +Maxima, могут быть вызваны командой \fBdemo(command);\fR. - , - (" "), - . -.SH - info html. -.SH +Дополнительно поставляется библиотека командных файлов, созданных +пользователями ("разделяемая библиотека"), предлагающая решения +разнообразных задач. +.SH ДРУГАЯ ДОКУМЕНТАЦИЯ +Полная документация поставляется в форматах info и html. +.SH КОМАНДЫ ДЛЯ НАЧИНАЮЩИХ .LP - , -, . +Этот список включает только те команды, которые могут быть полезны начинающим +пользователям, до изучения справочного руководства. .TP .B batch("myfile"); - +Выполняет содержимое файла .IR myfile , - Maxima. +который должен содержать команды Maxima. .TP .B closefile("myfile"); - , writefile (. ). +Закрывает файловый сеанс, открытый командой writefile (см. ниже). .TP .B demo("myfile"); - +Выполняет содержимое файла .IR myfile , - Maxima, - . +который должен содержать команды Maxima, +по одной. .TP .B ev(infolists); - . +Выводит содержимое всех доступных информационных списков. .TP .B functions; - . +Выводит список имен определенных к данному моменту функций. .TP .B infolists; - . +Выводит список различных доступных информационных списков. .TP .B kill(objectlist); - (), . +Удаляет объект(ы), записанные внутри круглых скобок. .I kill(all) - , , +удаляет все объекты, созданные пользователем, восстанавливая начальное состояние Maxima. .TP .B quit(); - +Выход из .IR Maxima . .TP .B reset(); - Maxima . +Сбрасывает все управляющие параметры Maxima в значения по умолчанию. .TP .B values; - , . +Выводит список имен переменных, содержащих скалярные значения. .TP .B writefile("myfile"); - +Начинает запись сеанса в файл .IR myfile ; - , +одновременно может быть открыт только один файл, а команда .I closefile - Maxima . -.SH -Maxima . - +должна быть вызвана до выхода из Maxima для сброса буфера. +.SH ГРАФИЧЕСКИЕ КОМАНДЫ +Maxima способна строить двухмерные и трехмерные графики. Ниже приведены +простой двумерный .LP .B plot2d (sin(x), [x, -2*%pi, 2*%pi]); .LP - +и трехмерный примеры .LP .B plot3d (2^(-u^2+v^2), [u, -5, 5], [v, -7, 7]); .LP - +По умолчанию построение графиков осуществляется программой .I gnuplot . - ; . "? plot_options". - , . "? plot". -.SH +Есть и другие способы построения графиков; см. "? plot_options". +Для более подробной информации о построении графиков, см. "? plot". +.SH ФАЙЛЫ .TP 1.0i .I \*(Pr/lib/maxima/\*(Vr/binary-\fIlisp\fR - Lisp \fIlisp\fR +Скомпилированные файлы для реализации Lisp \fIlisp\fR .TP 1.0i .I \*(Pr/info - , info-, - `describe', emacs - info-. +первичный каталог документации, содержащий info-файлы, используемые +командой `describe', с возможностью просмотра в emacs и других программах +для просмотра info-файлов. .TP 1.0i .I \*(Pr/share/maxima/\*(Vr/doc/html -HTML- . +HTML-версия документации. .TP 1.0i .I \*(Pr/share/maxima/\*(Vr/demo - Maxima. +Демонстрационные файлы Maxima. .TP 1.0i .I \*(Pr/share/maxima/\*(Vr/emacs - Elisp Emacs XEmacs. +Файлы Elisp для использования с Emacs или XEmacs. .TP 1.0i .I \*(Pr/share/maxima/\*(Vr/share - . +Дополнительные внешние пакеты. .TP 1.0i .I \*(Pr/share/maxima/\*(Vr/doc/share - . +Документация для дополнительных внешних пакетов. .TP 1.0i .I \*(Pr/share/maxima/\*(Vr/src - Maxima. +Полные исходные тексты Maxima. .TP 1.0i .I \*(Pr/share/maxima/\*(Vr/tests - . +Набор тестов. .TP 1.0i .I \*(Pr/share/maxima/\*(Vr/xmaxima - Xmaxima. +Файлы поддержки Xmaxima. .TP 1.0i .I \*(Pr/libexec/maxima/\*(Vr/ - Maxima . -.SH +Сценарии сопутствующих Maxima утилит. +.SH ПЕРЕМЕННЫЕ ОКРУЖЕНИЯ .TP \fBMAXIMA_USERDIR\fR - . - Maxima \fBMAXIMA_USERDIR\fR. : +Указывает на каталог с файлами пользовательских настроек. По умолчанию пути +поиска Maxima включают \fBMAXIMA_USERDIR\fR. Значение по умолчанию: \fB$HOME/.maxima\fR. .TP \fBMAXIMA_PREFIX\fR - Maxima , , -\*(Pr. Maxima +Свои входные файлы Maxima ищет в каталоге, указанном во время компиляции, +\*(Pr. Maxima можно переместить в другой каталог до тех пор пока сценарий .I maxima - - Maxima. , - , +поддерживает то же относительное положение по отношениею к входным +файлам Maxima. Если, в силу каких-то причин, сценарий .I maxima - , , - , +перемещается отдельно, для указания вершины дерева, +содержащего входные файлы системы, необходимо установить значение \fBMAXIMA_PREFIX\fR. .TP \fBMAXIMA_DIRECTORY\fR -\fBMAXIMA_DIRECTORY\fR \fBMAXIMA_PREFIX\fR. - Maxima. +\fBMAXIMA_DIRECTORY\fR экивалентна \fBMAXIMA_PREFIX\fR. Включена только для +обратной совместимости с предыдущими версиями Maxima. .LP -Maxima - +Maxima использует несколько дополнительных переменных окружения для +взаимодействия между сценарием .I maxima - Lisp-. - \fIMAXIMA_\fR . -.SH +и образом Lisp-системы. Все эти переменные +начинаются с \fIMAXIMA_\fR и не должны меняться пользователем. +.SH ФАЙЛЫ НАСТРОЕК .TP \fBmaximarc\fR -\fBmaximarc\fR +\fBmaximarc\fR загружается скриптом .I maxima - . - \fB$MAXIMA_USERDIR\fR (. ). \fBmaximarc\fR , -\fI\fR, - Lisp CMUCL "MAXIMA_LISP=cmucl". +при запуске системы. Он должен +быть расположен в каталоге \fB$MAXIMA_USERDIR\fR (см. выше). \fBmaximarc\fR можно использовать, +\fIнапример\fR, для изменения выбранной по умолчанию +реализации Lisp на CMUCL включением строки "MAXIMA_LISP=cmucl". .TP \fBmaxima-init.lisp\fR - Maxima Lisp- \fBmaxima-init.lisp\fR, - . , -\fBmaxima-init.lisp\fR \fB$MAXIMA_USERDIR\fR -(. ). Maxima -\fBmaxima-init.lisp\fR, \fBmaxima-init.lisp\fR - . +При запуске Maxima загрузит Lisp-файл \fBmaxima-init.lisp\fR, если найдет его в +каталогах для поиска. Для пользовательской настройке, +\fBmaxima-init.lisp\fR должен располагаться в \fB$MAXIMA_USERDIR\fR +(см. выше). Поскольку Maxima обычно имеет системный файл +\fBmaxima-init.lisp\fR, пользователь может скопировать содержимое системного \fBmaxima-init.lisp\fR +в свой личный файл. .TP \fBmaxima-init.mac\fR - Maxima Maxima- \fBmaxima-init.mac\fR, - . , -\fBmaxima-init.mac\fR \fB$MAXIMA_USERDIR\fR -(. ). -.SH - : -.I "MACSYMA. " -( 1 2). - Mathlab, - , . - 10. - 1983 . +При запуске Maxima загрузит Maxima-файл \fBmaxima-init.mac\fR, если найдет его в +каталогах для поиска. Для пользовательской настройке, +\fBmaxima-init.mac\fR должен располагаться в \fB$MAXIMA_USERDIR\fR +(см. выше). +.SH ССЫЛКИ +Старая ссылка: +.I "MACSYMA. Справочное руководство" +(тома 1 и 2). +Группа Mathlab, +Лаборатория компьютерных наук, МТИ. +Версия 10. +Январь 1983 г. .LP - : +Новые ссылки: .I http://maxima.sourceforge.net -.SH +.SH ОШИБКИ .I Maxima -- , , . - . Maxima +- сложная система, содержащая как известные, так и неизвестные ошибки. +Используйте ее на свой страх и риск. База ошибок Maxima доступна по адресу .LP https://sourceforge.net/p/maxima/bugs/ .LP - . , - Maxima "build_info()". -.SH +Новые сообщения об ошибках всегда приветствуются. Пожалуйста, +включайте в сообщение вывод функции Maxima "build_info()". +.SH АВТОРЫ -MACSYMA ( MAC's SYmbolic MAnipulation System) - Mathlab ( - MAC) 1969-1972 . - NSG 1323 NASA, N00014-77-C-0641 , -ET-78-C-02-4687 F49620-79-C-020 . - MACSYMA - UNIX ( DEC VAX Sun) - ; - MACSYMA VAXIMA. - MIT MACSYMA \*(Ky, - ( ), - 2001 . , - . - ... (ro...@ma...) - (-, CA 94143) - 1989 ., 2002 . +MACSYMA (Проект MAC's SYmbolic MAnipulation System) была разработана +группой Mathlab в лаборатории компьютерных наук МТИ (первоначально +известной как Проект MAC) в 1969-1972 гг. Эта работа была поддержана +грантами NSG 1323 NASA, N00014-77-C-0641 Исследовательского агентства ВМС, +ET-78-C-02-4687 Министерства энергетики США и F49620-79-C-020 ВВС США. +Затем MACSYMA была модифицирована для использования под операционной +системой UNIX (на компьютерах DEC VAX и рабочих станциях Sun) Ричардом +Фейтманом и его коллегами из Калифорнийского университета в Беркли; эта +версия MACSYMA известная как VAXIMA. +Настоящая версия развивается из переработки общедоступной MIT MACSYMA для \*(Ky, +выполненной Уильямом Шелтером (Техасский университет в Остине), который +развивал ее до своей кончины в 2001 г. Она содержит многочисленные дополнения, +расширения и улучшения относительно оригинала. Оригинальная версия этой +справочной страницы была написана Р.П.К. Роджерсом (ro...@ma...) +из Фармацевтической школы Калифорнийского университета (Сан-Франциско, CA 94143) +в 1989 г., и существенно переработана Джеймсом Амундсоном в 2002 г. - Maxima Maxima <http://maxima.sourceforge.net>. +Сейчас Maxima развивается и поддерживается проектом Maxima <http://maxima.sourceforge.net>. .\" ----------------------------------------------------------------------- Summary of changes: doc/man/ru/maxima.1.in | 358 ++++++++++++++++++++++++------------------------- 1 file changed, 179 insertions(+), 179 deletions(-) hooks/post-receive -- Maxima CAS |
From: villate <vi...@us...> - 2025-07-23 10:47:03
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Maxima CAS". The branch, master has been updated via 23f86438017de804ad43ec25d3be2c59bc26e462 (commit) from c5c490ba9ce3b53a9bcb5628b3a9520579556eb7 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 23f86438017de804ad43ec25d3be2c59bc26e462 Author: villate <vi...@fe...> Date: Wed Jul 23 11:45:45 2025 +0100 Renamed array maxima_priv to xmaxima_priv and removed the global declaration. diff --git a/interfaces/xmaxima/Tkmaxima/Bindings.tcl b/interfaces/xmaxima/Tkmaxima/Bindings.tcl index 7890f141d..b3bae65e0 100644 --- a/interfaces/xmaxima/Tkmaxima/Bindings.tcl +++ b/interfaces/xmaxima/Tkmaxima/Bindings.tcl @@ -82,33 +82,29 @@ proc vMAXSetCNTextBindings {w} { bind CNtext <Control-Key-V> {tk_textPaste %W ;break} } - -global maxima_priv -set maxima_priv(doublek) 0 +set ::xmaxima_priv(doublek) 0 bind OpenMathText <Control-Key-k><Control-Key-k> { - set maxima_priv(doublek) 1 + set ::xmaxima_priv(doublek) 1 } bind OpenMathText <Control-Key-K><Control-Key-K> { - set maxima_priv(doublek) 1 + set ::xmaxima_priv(doublek) 1 } -global maxima_priv if {0} { # xmaxima should not be binding the Text class - if {! [info exists maxima_priv(bindings_added) ] } { + if {! [info exists ::xmaxima_priv(bindings_added) ] } { bind Text <Control-Key-k> "+openMathControlK %W" bind Text <B3-Motion> [bind Text <B2-Motion>] bind Text <Button-3> [bind Text <Button-2>] - set maxima_priv(bindings_added) 1 + set ::xmaxima_priv(bindings_added) 1 } } else { bind OpenMathText <Control-Key-k> "+openMathControlK %W" bind OpenMathText <Control-Key-K> "+openMathControlK %W" } - #mike - I'm decreeing windows Cut/Copy/Paste conventions for # keybindings, and will preobably reserve Alt-key for menu shortcuts. @@ -166,8 +162,6 @@ bind OpenMathText <Control-Key-w> { } } - - proc openMathAnyKey { win keysym s } { # puts "$win `$keysym' `$s'" if { "$s" != "" } { @@ -182,25 +176,24 @@ proc openMathAnyKey { win keysym s } { #mike this code is impenetrable: proc OpenMathYank {win level} { - global maxima_priv #puts "doing OpenMathYank $win $level" if { $level == 0 } { - set maxima_priv(currentwin) $win + set ::xmaxima_priv(currentwin) $win pushCommand $win OpenMathYank [list $win $level] - set maxima_priv(point) insert + set ::xmaxima_priv(point) insert $win mark set beforeyank insert $win mark gravity beforeyank left eval [peekl killRing "" ] - } elseif { ![info exists maxima_priv(lastcom,$win)]} { + } elseif { ![info exists ::xmaxima_priv(lastcom,$win)]} { #mike this case was not forseen in the code below and # it always occurs on the first Yank if nothing has benn Killed } elseif { [catch { - set last $maxima_priv(lastcom,$win) + set last $::xmaxima_priv(lastcom,$win) set m [lindex [lindex $last 1] 1] incr m if { [lindex $last 0] == "OpenMathYank" && \ - "$maxima_priv(currentwin)" == "$win" && \ - "$maxima_priv(point)" == "insert"} { + "$::xmaxima_priv(currentwin)" == "$win" && \ + "$::xmaxima_priv(point)" == "insert"} { set doit 1 } else { #mike the following was missing, and its @@ -273,16 +266,13 @@ proc saveText { win args } { return $result } - - proc openMathControlK { win } { - global maxima_priv - if { $maxima_priv(doublek) != 0 } { + if { $::xmaxima_priv(doublek) != 0 } { set now [popl killRing ""] } else { set now "" } - set maxima_priv(doublek) 0 + set ::xmaxima_priv(doublek) 0 if { [$win compare insert == "insert lineend" ] } { if { [$win compare insert < end] } { append now "\nTins {[ldelete sel [$win tag names insert]]} {\n}" diff --git a/interfaces/xmaxima/Tkmaxima/Browser.tcl b/interfaces/xmaxima/Tkmaxima/Browser.tcl index 284f2a0ce..1b3500f33 100644 --- a/interfaces/xmaxima/Tkmaxima/Browser.tcl +++ b/interfaces/xmaxima/Tkmaxima/Browser.tcl @@ -7,15 +7,13 @@ ############################################################ proc peekLastCommand {win} { - global maxima_priv - if { [info exists maxima_priv(lastcom,$win)] } { - return $maxima_priv(lastcom,$win) + if { [info exists ::xmaxima_priv(lastcom,$win)] } { + return $::xmaxima_priv(lastcom,$win) } } proc pushCommand { win command arglist } { - global maxima_priv - set maxima_priv(lastcom,$win) [list $command $arglist] + set ::xmaxima_priv(lastcom,$win) [list $command $arglist] } # #----------------------------------------------------------------- @@ -32,7 +30,6 @@ proc pushCommand { win command arglist } { #---------------------------------------------------------------- # proc tkTextInsert { w s } { - global maxima_priv set after [$w tag names insert] set before [$w tag names "insert-1char"] set both [intersect $after $before] @@ -40,13 +37,13 @@ proc tkTextInsert { w s } { # puts "before=$before" foreach v [concat $after $before] { - if { [regexp -- $maxima_priv(sticky) $v] } { + if { [regexp -- $::xmaxima_priv(sticky) $v] } { lappend both $v } } - if { [info exists maxima_priv($w,inputTag) ] } { - lappend both $maxima_priv($w,inputTag) + if { [info exists ::xmaxima_priv($w,inputTag) ] } { + lappend both $::xmaxima_priv($w,inputTag) } if {($s == "") || ([$w cget -state] == "disabled")} { @@ -164,18 +161,17 @@ proc thisRange { win tag index } { #---------------------------------------------------------------- # proc insertRichText {win index list } { - global maxima_priv - set maxima_priv(currentwin) $win - set maxima_priv(point) $index - foreach v $maxima_priv(richTextCommands) { - set maxima_priv($v,richTextCommand) [llength [info args $v]] + set ::xmaxima_priv(currentwin) $win + set ::xmaxima_priv(point) $index + foreach v $::xmaxima_priv(richTextCommands) { + set ::xmaxima_priv($v,richTextCommand) [llength [info args $v]] } set i 0 set ll [llength $list] while { $i < $ll } { set com [lindex $list $i] incr i - if { [catch { set n $maxima_priv($com,richTextCommand)} ] } { + if { [catch { set n $::xmaxima_priv($com,richTextCommand)} ] } { return -code error -errorinfo [concat [mc "illegal command in rich text:"] "$com"] } set form [concat $com [lrange $list $i [expr {$i +$n -1}]]] @@ -186,15 +182,13 @@ proc insertRichText {win index list } { } } proc Tins { tags text } { - global maxima_priv # foreach v $args { append text $v } - $maxima_priv(currentwin) insert $maxima_priv(point) $text $tags + $::xmaxima_priv(currentwin) insert $::xmaxima_priv(point) $text $tags } proc TinsSlashEnd { tags text } { - global maxima_priv # foreach v $args { append text $v } - $maxima_priv(currentwin) insert $maxima_priv(point) "$text\\" $tags + $::xmaxima_priv(currentwin) insert $::xmaxima_priv(point) "$text\\" $tags } proc underTop {top win} { @@ -455,8 +449,6 @@ proc resolveURL { name current {post ""} } { } proc getURLrequest { path server port types {post ""} {meth ""} } { - global maxima_priv - if { "$meth" != "" } { set method $meth } else { @@ -464,7 +456,7 @@ proc getURLrequest { path server port types {post ""} {meth ""} } { if { "$post" != "" } {set method POST} } #puts "getURLrequest $path $server $port [list $types]" - foreach {v handler} $maxima_priv(urlHandlers) { + foreach {v handler} $::xmaxima_priv(urlHandlers) { lappend types $v, } set ans "$method $path HTTP/1.0\nConnection: Keep-Alive\nUser-agent: netmath\nHost: $server:$port\nAccept: $types\n" @@ -481,7 +473,6 @@ proc canonicalizeContentType { type } { } proc getURL { resolved type {mimeheader ""} {post ""} } { - global maxima_priv set res $resolved set ans "" set method "" @@ -495,9 +486,9 @@ proc getURL { resolved type {mimeheader ""} {post ""} } { #mike FIXME: replace with http get # puts $res # puts "socket [assoc server $res] [assoc port $res 80]" - if { [info exists maxima_priv(proxy,http) ] } { - set sock [eval socket $maxima_priv(proxy,http)] - # puts "opening proxy request socket $maxima_priv(proxy,http)" + if { [info exists ::xmaxima_priv(proxy,http) ] } { + set sock [eval socket $::xmaxima_priv(proxy,http)] + # puts "opening proxy request socket $::xmaxima_priv(proxy,http)" } else { set server [assoc server $res] set port [assoc port $res 80] @@ -524,19 +515,19 @@ proc getURL { resolved type {mimeheader ""} {post ""} } { oset $sock cachename "" } flush $sock - if { [readAllData $sock -tovar maxima_priv(url_result) \ - -translation binary -mimeheader maxima_priv(mimeheader) \ + if { [readAllData $sock -tovar ::xmaxima_priv(url_result) \ + -translation binary -mimeheader ::xmaxima_priv(mimeheader) \ -timeout 120000 -chunksize 2024] > 0 } { - #puts "length=[string length $maxima_priv(url_result)]" + #puts "length=[string length $::xmaxima_priv(url_result)]" # flush stdout - set contentType [canonicalizeContentType [assoc content-type $maxima_priv(mimeheader) text/plain]] + set contentType [canonicalizeContentType [assoc content-type $::xmaxima_priv(mimeheader) text/plain]] uplevel 1 set $type [list $contentType] if { "$mimeheader" != "" } { - uplevel 1 set $mimeheader \[ uplevel "#0" set maxima_priv(mimeheader) \] + uplevel 1 set $mimeheader \[ uplevel "#0" set ::xmaxima_priv(mimeheader) \] } - set ans $maxima_priv(url_result) - unset maxima_priv(url_result) + set ans $::xmaxima_priv(url_result) + unset ::xmaxima_priv(url_result) return $ans } else { return "had error" @@ -570,7 +561,7 @@ proc getURL { resolved type {mimeheader ""} {post ""} } { return $answer } xmaxima { - set answer $maxima_priv(error) + set answer $::xmaxima_priv(error) set contentType text/html uplevel 1 set $type $contentType return $answer @@ -583,25 +574,23 @@ proc getURL { resolved type {mimeheader ""} {post ""} } { } proc getImage { resolved width height} { - global maxima_priv set res $resolved #puts [list getImage [list $resolved] $width $height] set ans "" catch { - if { "" != "[image type $maxima_priv(image,$res,$width,$height)]" } { - set ans $maxima_priv(image,$res,$width,$height) + if { "" != "[image type $::xmaxima_priv(image,$res,$width,$height)]" } { + set ans $::xmaxima_priv(image,$res,$width,$height) } } if { "$ans" != "" } { return $ans } set image [image create photo -width $width -height $height] after 10 backgroundGetImage $image [list $resolved] $width $height - set maxima_priv(image,$res,$width,$height) $image + set ::xmaxima_priv(image,$res,$width,$height) $image return $image } proc backgroundGetImage { image res width height } { - global maxima_priv #puts [list backgroundGetImage $image $res $width $height ] if { [catch { backgroundGetImage1 $image $res $width $height } err ] } { set im ::img::brokenimage @@ -612,15 +601,14 @@ proc backgroundGetImage { image res width height } { proc backgroundGetImage1 { image res width height } { #puts "resolved=$res" - global maxima_priv #puts [list backgroundGetImage $image $res $width $height] switch [assoc type $res] { http { set server [assoc server $res] set port [assoc port $res 80] - if { [info exists maxima_priv(proxy,http) ] } { - set s [eval socket $maxima_priv(proxy,http)] - # puts "opening proxy request socket $maxima_priv(proxy,http)" + if { [info exists ::xmaxima_priv(proxy,http) ] } { + set s [eval socket $::xmaxima_priv(proxy,http)] + # puts "opening proxy request socket $::xmaxima_priv(proxy,http)" } else { set s [socket [assoc server $res] [assoc port $res 80]] } @@ -631,24 +619,24 @@ proc backgroundGetImage1 { image res width height } { flush $s - if { [regexp -nocase $maxima_priv(imgregexp) [assoc filename $res] mm extension] } { + if { [regexp -nocase $::xmaxima_priv(imgregexp) [assoc filename $res] mm extension] } { fconfigure $s -translation binary - set tmp xxtmp[incr maxima_priv(imagecounter)].$extension + set tmp xxtmp[incr ::xmaxima_priv(imagecounter)].$extension - if { [info exists maxima_priv(inbrowser)] || [catch {set out [open $tmp w] } ] } { + if { [info exists ::xmaxima_priv(inbrowser)] || [catch {set out [open $tmp w] } ] } { # if have binary.. if { "[info command binary]" != "binary" } { error [mc "need version of tk with 'binary' command for images"]} #puts "hi binary" ; flush stdout if { [readAllData $s -tovar \ - maxima_priv($s,url_result) -mimeheader \ - maxima_priv($s,mimeheader) - ] > 0 && [string match *$extension [assoc content-type $maxima_priv($s,mimeheader)]] } { + ::xmaxima_priv($s,url_result) -mimeheader \ + ::xmaxima_priv($s,mimeheader) + ] > 0 && [string match *$extension [assoc content-type $::xmaxima_priv($s,mimeheader)]] } { set ans $image - $image configure -data [tobase64 $maxima_priv($s,url_result)] + $image configure -data [tobase64 $::xmaxima_priv($s,url_result)] - unset maxima_priv($s,mimeheader) - unset maxima_priv($s,url_result) + unset ::xmaxima_priv($s,mimeheader) + unset ::xmaxima_priv($s,url_result) } else { error [mc "could not get image"] @@ -658,11 +646,11 @@ proc backgroundGetImage1 { image res width height } { if { [readAllData $s -tochannel $out \ -translation binary \ -mimeheader \ - maxima_priv($s,mimeheader) -timeout 15000 -chunksize 2024 ] > 0 } { + ::xmaxima_priv($s,mimeheader) -timeout 15000 -chunksize 2024 ] > 0 } { set ans $image $image config -file \ $tmp - unset maxima_priv($s,mimeheader) + unset ::xmaxima_priv($s,mimeheader) } # all the below just to try to remove the file.. # depending on versions and in environments.. @@ -693,46 +681,43 @@ proc backgroundGetImage1 { image res width height } { # #----------------------------------------------------------------- # -# readData -- read data from S, storing the result -# in maxima_priv($s,url_result). It times out after TIMEOUT without any data coming. -# it can be aborted by setting set maxima_priv($s,done) -1 +# readData -- read data from S, storing the result in +# ::xmaxima_priv($s,url_result). It times out after TIMEOUT without any +# data coming. +# It can be aborted by setting set ::xmaxima_priv($s,done) -1 # # # Results: -1 on failure and 1 on success. # -# Side Effects: it initially empties maxima_priv($s,url_result) and then -# adds data to it as read. maxima_priv($s,done) is initialized to 0 +# Side Effects: it initially empties ::xmaxima_priv($s,url_result) and then +# adds data to it as read. ::xmaxima_priv($s,done) is initialized to 0 # #---------------------------------------------------------------- # proc readData { s { timeout 10000 }} { - global maxima_priv - - after $timeout "set maxima_priv($s,done) -1" + after $timeout "set ::xmaxima_priv($s,done) -1" fconfigure $s -blocking 0 - set maxima_priv($s,done) 0 - set maxima_priv($s,url_result) "" + set ::xmaxima_priv($s,done) 0 + set ::xmaxima_priv($s,url_result) "" #mike FIXME: this is a wrong use of after cancel fileevent $s readable \ - "after cancel {set maxima_priv($s,done) -1} ; after $timeout {set maxima_priv($s,done) -1} ; set da \[read $s 8000] ; append maxima_priv($s,url_result) \$da; if { \[string length \$da] < 8000 && \[eof $s] } {after cancel {set maxima_priv($s,done) -1} ; set maxima_priv($s,done) 1; fileevent $s readable {} ; }" - myVwait maxima_priv($s,done) + "after cancel {set ::xmaxima_priv($s,done) -1} ; after $timeout {set ::xmaxima_priv($s,done) -1} ; set da \[read $s 8000] ; append ::xmaxima_priv($s,url_result) \$da; if { \[string length \$da] < 8000 && \[eof $s] } {after cancel {set ::xmaxima_priv($s,done) -1} ; set ::xmaxima_priv($s,done) 1; fileevent $s readable {} ; }" + myVwait ::xmaxima_priv($s,done) catch { close $s } #mike FIXME: this is a wrong use of after cancel - after cancel "set maxima_priv($s,done) -1" - return $maxima_priv($s,done) + after cancel "set ::xmaxima_priv($s,done) -1" + return $::xmaxima_priv($s,done) } proc doRead { sock } { - global maxima_priv - #puts reading; flush stdout; set tem [read $sock] - append maxima_priv(url_result) $tem + append ::xmaxima_priv(url_result) $tem # puts read:<$tem> # flush stdout if { [eof $sock] } { - set maxima_priv(done) 1 + set ::xmaxima_priv(done) 1 close $sock } } @@ -760,7 +745,6 @@ proc ws_outputToTemp { string file ext encoding } { } proc OpenMathOpenUrl { name args} { - global maxima_priv if {![winfo exists .browser]} {createBrowser .browser} # Removes any white spaces at the end of the Url given @@ -832,7 +816,7 @@ proc OpenMathOpenUrl { name args} { set name $tem } #puts "contentType defined:[info exists contentType]" - set handler [assoc $contentType $maxima_priv(urlHandlers)] + set handler [assoc $contentType $::xmaxima_priv(urlHandlers)] if { "$handler" != "netmath" && "$handler" != "" } { set tmp [ws_outputToTemp result netmath ps "[assoc content-encoding $mimeheader]"] # to do fix this for windows ##### @@ -849,10 +833,10 @@ proc OpenMathOpenUrl { name args} { # puts "using $baseprogram" if { $reload } { forgetCurrent $commandPanel } - #puts "maxima_priv(counter)=$maxima_priv(counter)" - set win [mkOpenMath [set w $toplevel.t[incr maxima_priv(counter)]] ] + #puts "::xmaxima_priv(counter)=$::xmaxima_priv(counter)" + set win [mkOpenMath [set w $toplevel.t[incr ::xmaxima_priv(counter)]] ] - #puts "maxima_priv(counter)=$maxima_priv(counter)" + #puts "::xmaxima_priv(counter)=$::xmaxima_priv(counter)" makeLocal $w commandPanel #puts "resolveURL $name $currentUrl" if { [set anchor [assoc anchor $new]] != "" } { @@ -1033,10 +1017,9 @@ proc fontDialog { top } { entry $win.entry -textvariable _servers -width 40 $win window create insert -window $win.entry $win insert insert "\n\n" - global maxima_priv $win insert insert [mc "http Proxy host and port:"] entry $win.entryproxy -width 40 - catch { $win.entryproxy insert 0 $maxima_priv(proxy,http) } + catch { $win.entryproxy insert 0 $::xmaxima_priv(proxy,http) } $win window create insert -window $win.entryproxy $win insert insert [mc "\nIf you are behind a firewall enter the name of your http proxy host and port,\n eg: `some.server.example.org 3128', otherwise leave this blank"] @@ -1051,11 +1034,11 @@ proc fontDialog { top } { $win insert insert " " $win insert insert [mc " Cancel "] "cancel raised" proc _FontDialogApply { win } { - global _servers maxima_priv + global _servers ::xmaxima_priv set ::xmaxima_default(defaultservers) $_servers catch {xHMresetFonts .} if { [llength [$win.entryproxy get]] == 2 } { - set maxima_priv(proxy,http) [$win.entryproxy get] + set ::xmaxima_priv(proxy,http) [$win.entryproxy get] } } $win tag bind click <1> "_FontDialogApply $win" @@ -1070,11 +1053,10 @@ proc fontDialog { top } { } proc savePreferences {} { - global maxima_priv makeLocal {.maxima.text} inputs # Save current console size in ::xmaxima_default - set console [lindex [array get maxima_priv cConsoleText] end] + set console [lindex [array get ::xmaxima_priv cConsoleText] end] set ::xmaxima_default(iConsoleWidth) [textWindowWidth $console] set ::xmaxima_default(iConsoleHeight) [textWindowHeight $console] @@ -1083,7 +1065,7 @@ proc savePreferences {} { set ::xmaxima_default(browser) 1 } else { set ::xmaxima_default(browser) 0} - set fi [open "$maxima_priv(home)/.xmaximarc" w] + set fi [open "$::xmaxima_priv(home)/.xmaximarc" w] puts $fi "array set ::xmaxima_default {" foreach {k v} [array get ::xmaxima_default *] { lappend all [list $k $v] @@ -1093,15 +1075,15 @@ proc savePreferences {} { puts $fi "}" #mike FIXME: make this a _default - if { [info exists maxima_priv(proxy,http)] && \ - [llength $maxima_priv(proxy,http)] == 2 } { - puts $fi [list array set maxima_priv [array get maxima_priv proxy,http] + if { [info exists ::xmaxima_priv(proxy,http)] && \ + [llength $::xmaxima_priv(proxy,http)] == 2 } { + puts $fi [list array set ::xmaxima_priv [array get ::xmaxima_priv proxy,http] ] } close $fi } catch { - set hf [open "$maxima_priv(home)/.xmaxima_history" w] + set hf [open "$::xmaxima_priv(home)/.xmaxima_history" w] puts $hf "oset {.maxima.text} inputs {" foreach v [lrange $inputs end-99 end] { puts $hf "{$v}" } puts $hf "}" diff --git a/interfaces/xmaxima/Tkmaxima/CMMenu.tcl b/interfaces/xmaxima/Tkmaxima/CMMenu.tcl index c27399876..bf89f03c6 100644 --- a/interfaces/xmaxima/Tkmaxima/CMMenu.tcl +++ b/interfaces/xmaxima/Tkmaxima/CMMenu.tcl @@ -6,7 +6,7 @@ ############################################################ proc CMmenu { win } { - global buttonfont maxima_priv + global buttonfont set menubar $win.textcommands set win $menubar if { [winfo exists $menubar] } { @@ -19,18 +19,15 @@ proc CMmenu { win } { $menubar add $win.$v } - ####### begin help button - setHelp $win.help {Bring down a menu with some help options} set m [oget $win.help menu] #oset $win showHelpBar "show help bar" - set file $maxima_priv(pReferenceToc) + set file $::xmaxima_priv(pReferenceToc) $m add command -underline 0 -label {Maxima Help} \ -command "OpenMathOpenUrl \"file:/$file\"" global tcl_platform - if {$tcl_platform(platform) == "windows"} { set browse start } else { @@ -44,22 +41,19 @@ proc CMmenu { win } { -command [list $browse https://sourceforge.net/projects/maxima/] $m add command -underline 0 -label {Bug Reports} \ -command [list $browse https://sourceforge.net/p/maxima/bugs/] - $m add sep - set dir $maxima_priv(pTestsDir) + set dir $::xmaxima_priv(pTestsDir) $m add command -underline 0 -label {Run Tests} \ -command "sendMaxima \[oget $win textwin\] {:lisp (progn (xchdir \"$dir\")(load \"tests.lisp\"))\n}" - ####### begin file button - setHelp $win.file {Bring down a menu with some file options} set m [oget $win.file menu] #oset $win showFileBar "show file bar" $m add command -underline 0 -label {Toggle Browser Visibility} \ -help {Toggle display of Browser} -command {if { [catch { pack info .browser }] } { pack .browser -side bottom } else { pack forget .browser }} $m add command -underline 0 -label {Exit} \ - -command "maxExit $maxima_priv(cConsoleText)" \ + -command "maxExit $::xmaxima_priv(cConsoleText)" \ -help "End this session of Maxima" $m add command -underline 0 -label {Interrupt C-c C-c} -command "CMinterrupt \[oget $win textwin\]" \ -help "Interrupt the Maxima process and reset the filter" @@ -75,10 +69,7 @@ proc CMmenu { win } { {This console is used mainly in debugging xmaxima} } - - ####### begin edit button - setHelp $win.edit {Bring down a menu with some edit options} set m [oget $win.edit menu] #oset $win showEditBar "show edit bar" diff --git a/interfaces/xmaxima/Tkmaxima/Constants.tcl b/interfaces/xmaxima/Tkmaxima/Constants.tcl index 8f0628599..6b753bed9 100644 --- a/interfaces/xmaxima/Tkmaxima/Constants.tcl +++ b/interfaces/xmaxima/Tkmaxima/Constants.tcl @@ -7,7 +7,7 @@ ############################################################ proc cMAXINITBeforeIni {} { - global maxima_priv embed_args tk_version + global embed_args tk_version # default settings. Might be changed by local configuration file set ::xmaxima_default(plotwindow) multiple @@ -26,33 +26,32 @@ proc cMAXINITBeforeIni {} { set ::xmaxima_default(iLocalPort) 4008 set ::xmaxima_default(bDebugParse) 0 if {[string index $tk_version 0] == 9} { - set maxima_priv(home) [file home] + set ::xmaxima_priv(home) [file home] } else { - set maxima_priv(home) "~" + set ::xmaxima_priv(home) "~" } # from FileDlg.tcl - set ::xmaxima_default(OpenDir) "$maxima_priv(home)/" + set ::xmaxima_default(OpenDir) "$::xmaxima_priv(home)/" # The last files opened and saved. Any default value serves # but a good starting value is Xmaxima's initialization file. # TO DO: change ~ for a home directory customized for each system. - set ::xmaxima_default(OpenFile) "$maxima_priv(home)/.xmaximarc" - set ::xmaxima_default(SaveFile) "$maxima_priv(home)/.xmaximarc" + set ::xmaxima_default(OpenFile) "$::xmaxima_priv(home)/.xmaximarc" + set ::xmaxima_default(SaveFile) "$::xmaxima_priv(home)/.xmaximarc" if { "[info var embed_args]" != "" } { # the following will be defined only in the plugin set ::xmaxima_default(defaultservers) nmtp://some.server.example.org/ } - set maxima_priv(imgregexp) {[.](gif|png|jpe?g)[^/]*$} + set ::xmaxima_priv(imgregexp) {[.](gif|png|jpe?g)[^/]*$} # from Getdata1.tcl - set maxima_priv(cachedir) "$maxima_priv(home)/.xmaxima/cache" + set ::xmaxima_priv(cachedir) "$::xmaxima_priv(home)/.xmaxima/cache" } proc cMAXINITReadIni {} { - global maxima_priv - if {[file isfile "$maxima_priv(home)/.xmaximarc"]} { - if {[catch {uplevel "#0" [list source "$maxima_priv(home)/.xmaximarc"]}\ + if {[file isfile "$::xmaxima_priv(home)/.xmaximarc"]} { + if {[catch {uplevel "#0" [list source "$::xmaxima_priv(home)/.xmaximarc"]}\ err]} { tk_messageBox -title Error -icon error -message \ [mc "Error sourcing %s\n%s" [file native ~/.xmaximarc] $err] @@ -61,11 +60,10 @@ proc cMAXINITReadIni {} { } proc cMAXINITAfterIni {} { - global maxima_priv lMaxInitSetOpts # from plot3d.tcl - set maxima_priv(speed) [expr {(9700.0 / (1 + [lindex [time {set i 0 ; while { [incr i] < 1000} {}} 1] 0]))}] + set ::xmaxima_priv(speed) [expr {(9700.0 / (1 + [lindex [time {set i 0 ; while { [incr i] < 1000} {}} 1] 0]))}] # from Wmenu.tcl global show_balloons @@ -78,24 +76,23 @@ proc cMAXINITAfterIni {} { if {[info exists ::xmaxima_default(lProxyHttp)] && \ [llength $::xmaxima_default(lProxyHttp)] == "2"} { #mike FIXME: make this a _default - set maxima_priv(proxy,http) $::xmaxima_default(lProxyHttp) + set ::xmaxima_priv(proxy,http) $::xmaxima_default(lProxyHttp) } } # Constants -global maxima_priv -set maxima_priv(date) 21/03/2024 +set ::xmaxima_priv(date) 21/03/2024 -if { ![info exists maxima_priv(date)] } { - set maxima_priv(date) [clock format [clock seconds] -format {%m/%d/%Y} ] +if { ![info exists ::xmaxima_priv(date)] } { + set ::xmaxima_priv(date) [clock format [clock seconds] -format {%m/%d/%Y} ] } # from Preamble.tcl -set maxima_priv(clicks_per_second) 1000000 +set ::xmaxima_priv(clicks_per_second) 1000000 # from Plot2d.tcl -array set maxima_priv { bitmap,disc4 {#define disc4_width 4 +array set ::xmaxima_priv { bitmap,disc4 {#define disc4_width 4 #define disc4_height 4 static unsigned char disc4_bits[] = { 0x06, 0x0f, 0x0f, 0x06};} @@ -106,25 +103,25 @@ static unsigned char disc_bits[] = { } # from xmaxima.tcl -set maxima_priv(options,maxima) {{doinsert 0 "Do an insertion" boolean}} +set ::xmaxima_priv(options,maxima) {{doinsert 0 "Do an insertion" boolean}} # from EHref.tcl -set maxima_priv(options,href) { +set ::xmaxima_priv(options,href) { {src "" [mc "A URL (universal resource locator) such as http://maxima.sourceforge.net/index.html"]} {search "" [mc "A string to search for, to get an initial position"]} {searchregexp "" [mc "A regexp to search for, to get an initial position"]} } # from Preamble.tcl -set maxima_priv(counter) 0 +set ::xmaxima_priv(counter) 0 # the linelength initially will have Maxima's default value. -set maxima_priv(linelength) 79 +set ::xmaxima_priv(linelength) 79 # From Browser.tcl -set maxima_priv(sticky) "^Teval$|^program:" -set maxima_priv(richTextCommands) {Tins TinsSlashEnd} -set maxima_priv(urlHandlers) { +set ::xmaxima_priv(sticky) "^Teval$|^program:" +set ::xmaxima_priv(richTextCommands) {Tins TinsSlashEnd} +set ::xmaxima_priv(urlHandlers) { text/html netmath text/plain netmath image/gif netmath @@ -135,13 +132,13 @@ set maxima_priv(urlHandlers) { application/pdf "acroread %s" application/x-dvi "xdvi %s" } -set maxima_priv(imagecounter) 0 +set ::xmaxima_priv(imagecounter) 0 global evalPrograms set evalPrograms { gp gap gb } -#set maxima_priv(options,maxima) {{doinsert 1 "Do an insertion" boolean}} -#set maxima_priv(options,gp) {{doinsert 1 "Do an insertion" boolean}} -#set maxima_priv(options,openplot) {{doinsert 0 "Do an insertion" boolean}} +#set ::xmaxima_priv(options,maxima) {{doinsert 1 "Do an insertion" boolean}} +#set ::xmaxima_priv(options,gp) {{doinsert 1 "Do an insertion" boolean}} +#set ::xmaxima_priv(options,openplot) {{doinsert 0 "Do an insertion" boolean}} # Icons from the Tango Desktop Project (http://tango.freedesktop.org) # "The Tango base icon theme is released to the Public Domain. diff --git a/interfaces/xmaxima/Tkmaxima/Cygwin.tcl b/interfaces/xmaxima/Tkmaxima/Cygwin.tcl index 943471211..905bdcce7 100644 --- a/interfaces/xmaxima/Tkmaxima/Cygwin.tcl +++ b/interfaces/xmaxima/Tkmaxima/Cygwin.tcl @@ -1,8 +1,6 @@ -# -*-mode: tcl; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*- - # Voodo for CYGWIN # Is there a canonical way of telling we are under CYGWIN? -global env tcl_platform maxima_priv +global env tcl_platform if {$tcl_platform(platform) == "windows" && \ [info exists env(PATH)] && $env(PATH) != "" && \ [string match {*/usr/bin*} $env(PATH)] && \ @@ -13,83 +11,76 @@ if {$tcl_platform(platform) == "windows" && \ if {0} { set env(PATH) [join [split $env(PATH) ":"] ";"] } else { - set maxima_priv(platform) cygwin -# Windows version. -# -# Note that info executable doesn't work under Windows, so we have to -# look for files with .exe, .com, or .bat extensions. Also, the path -# may be in the Path or PATH environment variables, and path -# components are separated with semicolons, not colons as under Unix. -# -proc auto_execok name { - global auto_execs env tcl_platform - - if {[info exists auto_execs($name)]} { - return $auto_execs($name) + set ::xmaxima_priv(platform) cygwin + # Windows version. + # + # Note that info executable doesn't work under Windows, so we have to + # look for files with .exe, .com, or .bat extensions. Also, the path + # may be in the Path or PATH environment variables, and path + # components are separated with semicolons, not colons as under Unix. + # + proc auto_execok name { + global auto_execs env tcl_platform + if {[info exists auto_execs($name)]} { + return $auto_execs($name) + } + set auto_execs($name) "" + set shellBuiltins [list cls copy date del erase dir echo mkdir \ + md rename ren rmdir rd time type ver vol] + if {[string equal $tcl_platform(os) "Windows NT"]} { + # NT includes the 'start' built-in + lappend shellBuiltins "start" + } + if {[info exists env(PATHEXT)]} { + # Add an initial : to have the {} extension check first. + set execExtensions [split ":$env(PATHEXT)" ":"] + } else { + set execExtensions [list {} .bat .com .exe] + } + if {[lsearch -exact $shellBuiltins $name] != -1} { + return [set auto_execs($name) [list $env(COMSPEC) /c $name]] + } + if {[llength [file split $name]] != 1} { + foreach ext $execExtensions { + set file ${name}${ext} + if {[file exists $file] && ![file isdirectory $file]} { + return [set auto_execs($name) [list $file]] + } + } + return "" + } + set path "[file dirname [info nameof]]:.:" + if {[info exists env(WINDIR)]} { + set windir $env(WINDIR) + } + if {[info exists windir]} { + if {[string equal $tcl_platform(os) "Windows NT"]} { + append path "$windir/system32:" + } + append path "$windir/system:$windir:" + } + foreach var {PATH Path path} { + if {[info exists env($var)]} { + append path ":$env($var)" + break + } + } + foreach dir [split $path {:}] { + # Skip already checked directories + if {[info exists checked($dir)] || [string equal {} $dir]} { + continue + } + set checked($dir) {} + foreach ext $execExtensions { + set file [file join $dir ${name}${ext}] + if {[file exists $file] && ![file isdirectory $file]} { + return [set auto_execs($name) [list $file]] + } + } + } + return "" + } } - set auto_execs($name) "" - - set shellBuiltins [list cls copy date del erase dir echo mkdir \ - md rename ren rmdir rd time type ver vol] - if {[string equal $tcl_platform(os) "Windows NT"]} { - # NT includes the 'start' built-in - lappend shellBuiltins "start" - } - if {[info exists env(PATHEXT)]} { - # Add an initial : to have the {} extension check first. - set execExtensions [split ":$env(PATHEXT)" ":"] - } else { - set execExtensions [list {} .bat .com .exe] - } - - if {[lsearch -exact $shellBuiltins $name] != -1} { - return [set auto_execs($name) [list $env(COMSPEC) /c $name]] - } - - if {[llength [file split $name]] != 1} { - foreach ext $execExtensions { - set file ${name}${ext} - if {[file exists $file] && ![file isdirectory $file]} { - return [set auto_execs($name) [list $file]] - } - } - return "" - } - - set path "[file dirname [info nameof]]:.:" - if {[info exists env(WINDIR)]} { - set windir $env(WINDIR) - } - if {[info exists windir]} { - if {[string equal $tcl_platform(os) "Windows NT"]} { - append path "$windir/system32:" - } - append path "$windir/system:$windir:" - } - - foreach var {PATH Path path} { - if {[info exists env($var)]} { - append path ":$env($var)" - break - } - } - - foreach dir [split $path {:}] { - # Skip already checked directories - if {[info exists checked($dir)] || [string equal {} $dir]} { continue } - set checked($dir) {} - foreach ext $execExtensions { - set file [file join $dir ${name}${ext}] - if {[file exists $file] && ![file isdirectory $file]} { - return [set auto_execs($name) [list $file]] - } - } - } - return "" -} - - } - } else { - set maxima_priv(platform) $tcl_platform(platform) + set ::xmaxima_priv(platform) $tcl_platform(platform) } diff --git a/interfaces/xmaxima/Tkmaxima/EOpenplot.tcl b/interfaces/xmaxima/Tkmaxima/EOpenplot.tcl index 6ec728459..6822c546d 100644 --- a/interfaces/xmaxima/Tkmaxima/EOpenplot.tcl +++ b/interfaces/xmaxima/Tkmaxima/EOpenplot.tcl @@ -46,10 +46,12 @@ proc eval_openplot { program w thisRange resultRange } { #---------------------------------------------------------------- # proc plotWindowName { w command } { - upvar #0 maxima_priv(plot,count) count if {[info exists ::xmaxima_default(plotwindow)]} { set plot $::xmaxima_default(plotwindow) } + if {[info exists ::xmaxima_priv(plot,count)]} { + set count $::xmaxima_priv(plot,count) + } set name "" if { "$command" == "scene" } { diff --git a/interfaces/xmaxima/Tkmaxima/Fonts.tcl b/interfaces/xmaxima/Tkmaxima/Fonts.tcl index 07ce178d1..9732d48a2 100644 --- a/interfaces/xmaxima/Tkmaxima/Fonts.tcl +++ b/interfaces/xmaxima/Tkmaxima/Fonts.tcl @@ -1,6 +1,6 @@ # set font {Courier 8} -global maxima_priv fontCourier8 fixedFont fontSize -set maxima_priv(fixedFont) Courier +global fontCourier8 fixedFont fontSize +set ::xmaxima_priv(fixedFont) Courier # Pick a default font size in pixels set _screenheight [winfo screenheight .] @@ -82,8 +82,7 @@ if {0} { ######### font choosing utilities ######### -global tcl_platform -global isFixedp +global tcl_platform isFixedp if { "$tcl_platform(platform)" == "unix" } { array set isFixedp { diff --git a/interfaces/xmaxima/Tkmaxima/Getdata1.tcl b/interfaces/xmaxima/Tkmaxima/Getdata1.tcl index a7aadb12a..57927e167 100644 --- a/interfaces/xmaxima/Tkmaxima/Getdata1.tcl +++ b/interfaces/xmaxima/Tkmaxima/Getdata1.tcl @@ -36,7 +36,7 @@ #---------------------------------------------------------------- # proc readAllData { sock args } { - global readAllData [oarray $sock] maxima_priv + global readAllData [oarray $sock] array set [oarray $sock] { timeout 5000 @@ -68,7 +68,7 @@ proc readAllData { sock args } { fconfigure $sock -blocking 0 catch { - $maxima_priv(cStatusWindow).scale \ + $::xmaxima_priv(cStatusWindow).scale \ config -variable [oloc $sock percent] } lappend [oloc $sock after] [after [oget $sock timeout] "oset $sock done -1"] @@ -150,7 +150,7 @@ proc readMimeHeader { sock } { proc readAllData1 { sock } { #puts "readAllData1 $sock" ; flush stdout - global maxima_priv [oarray $sock] + global [oarray $sock] makeLocal $sock timeout tovar tochannel docommand chunksize after contentlength begin @@ -180,7 +180,7 @@ proc readAllData1 { sock } { return finished } } - set maxima_priv(load_rate) "[expr {round ($bytesread * ($maxima_priv(clicks_per_second)*1.0 / ([clock clicks] - $begin)))}] bytes/sec" + set ::xmaxima_priv(load_rate) "[expr {round ($bytesread * ($::xmaxima_priv(clicks_per_second)*1.0 / ([clock clicks] - $begin)))}] bytes/sec" if { $contentlength > 0 } { oset $sock percent \ @@ -204,7 +204,8 @@ proc readAllData1 { sock } { if { "$errmsg" == "finished" } { return } else { - global errorInfo ; error [concat [mc "error:"] "$errmsg , $errorInfo"] + global errorInfo + error [concat [mc "error:"] "$errmsg , $errorInfo"] } } lappend [oloc $sock after] \ @@ -298,10 +299,10 @@ proc testit { addr usecommand args } { #---------------------------------------------------------------- # proc tryGetCache { path alist } { - global ws_Cache maxima_priv + global ws_Cache set tem [ws_Cache($path)] if { "$tem" != "" } { - set filename [file join $maxima_priv(cachedir) [lindex $tem 1]] + set filename [file join $::xmaxima_priv(cachedir) [lindex $tem 1]] set etag [assoc etag $alist] if { "$etag" != "" } { if { "[lindex $tem 0]" == "$etag" } { @@ -326,8 +327,8 @@ proc tryGetCache { path alist } { } proc saveInCache { path etag result} { - global ws_Cache maxima_priv - set cachedir $maxima_priv(cachedir) + global ws_Cache + set cachedir $::xmaxima_priv(cachedir) # todo add a catch set type [lindex [split [file tail $path] .] 1] set count 0 @@ -356,8 +357,7 @@ proc cleanCache { } { } proc cacheName { name } { - global maxima_priv - return [ file join $maxima_priv(cachedir) $name] + return [ file join $::xmaxima_priv(cachedir) $name] } # #----------------------------------------------------------------- @@ -373,7 +373,7 @@ proc cacheName { name } { #---------------------------------------------------------------- # proc readAndSyncCache { } { - global maxima_priv ws_Cache + global ws_Cache if { [catch { set fi [open [cacheName index.dat] r] } ] } { return } diff --git a/interfaces/xmaxima/Tkmaxima/Gui.tcl b/interfaces/xmaxima/Tkmaxima/Gui.tcl index 6edc1e85a..fcf2f5790 100644 --- a/interfaces/xmaxima/Tkmaxima/Gui.tcl +++ b/interfaces/xmaxima/Tkmaxima/Gui.tcl @@ -8,39 +8,37 @@ # Creates the browser if it doesn't exist proc createBrowser {bname} { - global maxima_priv if {[winfo exists $bname]} { focus $bname } else { toplevel $bname wm title $bname [mc {Xmaxima: browser}] - if {[file isfile [string map {file:/ ""} $maxima_priv(firstUrl)]]} { - OpenMathOpenUrl $maxima_priv(firstUrl) -toplevel $bname + if {[file isfile [string map {file:/ ""} $::xmaxima_priv(firstUrl)]]} { + OpenMathOpenUrl $::xmaxima_priv(firstUrl) -toplevel $bname } else { - set maxima_priv(error) \ + set ::xmaxima_priv(error) \ "<h1>Error</h1>\ - <p>Maxima primer not found in: $maxima_priv(firstUrl)</p>" + <p>Maxima primer not found in: $::xmaxima_priv(firstUrl)</p>" OpenMathOpenUrl "xmaxima://error" -toplevel $bname } - set maxima_priv(cBrowser) $bname + set ::xmaxima_priv(cBrowser) $bname set ::xmaxima_default(browser) 1 # Adds the menubar and the toolbar to the browser vMAXAddBrowserMenu $bname}} # Creates the Maxima console proc createConsole {cname} { - global maxima_priv # Makes the status panel.... set st .status frame $st - set maxima_priv(cStatusWindow) $st + set ::xmaxima_priv(cStatusWindow) $st label $st.rate -width 35 -bd 1 -relief sunken -justify left \ - -textvariable maxima_priv(load_rate) -anchor w + -textvariable ::xmaxima_priv(load_rate) -anchor w scale $st.scale -showvalue 0 -length 200 -orient horizontal pack $st.rate -side left -fill x -expand 1 -anchor w pack $st.scale -side left pack $st -side bottom -fill x -anchor w - set maxima_priv(cStatusLabel) $st.rate + set ::xmaxima_priv(cStatusLabel) $st.rate # Adds the toolbar to the Maxima console vMAXAddSystemBar @@ -49,7 +47,7 @@ proc createConsole {cname} { set w $cname.text clearLocal $w oset $w heightDesired 80% - set maxima_priv(maximaWindow) $w + set ::xmaxima_priv(maximaWindow) $w closeMaxima $w clearLocal $w @@ -62,7 +60,7 @@ proc createConsole {cname} { pack $cname.bottom -side bottom -fill x text $w -yscrollcommand "$cname.scroll set" \ -selectbackground yellow -selectforeground blue - set maxima_priv($w,inputTag) input + set ::xmaxima_priv($w,inputTag) input # resetMaximaFont $w scrollbar $cname.scroll -command "$w yview" pack $cname.scroll -side right -fill y @@ -81,9 +79,9 @@ proc createConsole {cname} { # CNtext ans OpenMathText bindings are set up in Bindings.tcl bindtags $w [linsert [bindtags $w] 1 CNtext OpenMathText ] - if {![regexp -- input $maxima_priv(sticky)] } { - append maxima_priv(sticky) {|^input$}} - set maxima_priv(cConsoleText) $cname.text + if {![regexp -- input $::xmaxima_priv(sticky)] } { + append ::xmaxima_priv(sticky) {|^input$}} + set ::xmaxima_priv(cConsoleText) $cname.text vMAXSetCNTextBindings $w wm protocol . WM_DELETE_WINDOW [list maxExit $w] @@ -98,7 +96,7 @@ proc createConsole {cname} { vMAXAddSystemMenu $cname $cname.text # Reads the history from previous runs - set histfile "$maxima_priv(home)/.xmaxima_history" + set histfile "$::xmaxima_priv(home)/.xmaxima_history" if {[file isfile $histfile]} { if {[catch {uplevel "#0" [list source $histfile]} err]} { tk_messageBox -title Error -icon error -message \ @@ -107,6 +105,6 @@ proc createConsole {cname} { # Updates the information in the status bar at the bottom of the console proc maxStatus {mess} { - global maxima_priv - set maxima_priv(load_rate) $mess - $maxima_priv(cStatusLabel) configure -text $mess} + set ::xmaxima_priv(load_rate) $mess + $::xmaxima_priv(cStatusLabel) configure -text $mess +} diff --git a/interfaces/xmaxima/Tkmaxima/Menu.tcl b/interfaces/xmaxima/Tkmaxima/Menu.tcl index 6cb2ed9f3..7a54839bd 100644 --- a/interfaces/xmaxima/Tkmaxima/Menu.tcl +++ b/interfaces/xmaxima/Tkmaxima/Menu.tcl @@ -7,12 +7,11 @@ ############################################################ proc zoomConsole {f} { - global maxima_priv set ffamily [lindex $::xmaxima_default(ConsoleFont) 0] set fsize [lindex $::xmaxima_default(ConsoleFont) 1] set fsize [expr round($fsize*pow(1.2,$f))] font configure ConsoleFont -family $ffamily -size $fsize - set text $maxima_priv(cConsoleText) + set text $::xmaxima_priv(cConsoleText) resizeSubPlotWindows $text [winfo width $text] [winfo height $text] resizeMaxima $text [winfo width $text] [winfo height $text] set ::xmaxima_default(ConsoleFont) [list $ffamily $fsize] @@ -79,7 +78,7 @@ proc pMAXSaveTexToFile {text} { } proc vMAXAddBrowserMenu {win} { - global maxima_priv tcl_platform env + global tcl_platform env if {[winfo exists .browser.menu]} {destroy .browser.menu} set bm .browser.menu @@ -110,7 +109,7 @@ proc vMAXAddBrowserMenu {win} { } proc vMAXAddSystemMenu {fr text} { - global maxima_priv tcl_platform env + global tcl_platform env set win $fr.textcommands # Build a menubar @@ -127,7 +126,7 @@ proc vMAXAddSystemMenu {fr text} { -command [set command [cIDECreateEvent $text $label { set file [getOpenFile [mc "Open a file to Batch"] maxima] if {$file != ""} { - sendMaxima $maxima_priv(cConsoleText) "batch(\"$file\")\$\n" + sendMaxima $::xmaxima_priv(cConsoleText) "batch(\"$file\")\$\n" maxStatus [concat [mc "Batched File "] "$file"] } }]] @@ -138,7 +137,7 @@ proc vMAXAddSystemMenu {fr text} { -command [set command [cIDECreateEvent $text $label { set file [getOpenFile [mc "Open a file to Batch Silently"] maxima] if {$file != ""} { - sendMaxima $maxima_priv(cConsoleText) "batchload(\"$file\")\$\n" + sendMaxima $::xmaxima_priv(cConsoleText) "batchload(\"$file\")\$\n" maxStatus [concat [mc "Batched File "] "$file"] } }]] @@ -150,7 +149,7 @@ proc vMAXAddSystemMenu {fr text} { -command [set command [cIDECreateEvent $text $label { set file [getOpenFile [mc "Open a file to Restore State"] lisp] if {$file != ""} { - sendMaxima $maxima_priv(cConsoleText) ":lisp-quiet (prog2 (mfuncall '\$load \"$file\") nil)\n" + sendMaxima $::xmaxima_priv(cConsoleText) ":lisp-quiet (prog2 (mfuncall '\$load \"$file\") nil)\n" maxStatus [concat [mc "Maxima State Restored from "] "$file"] } }]] @@ -163,7 +162,7 @@ proc vMAXAddSystemMenu {fr text} { -command [set command [cIDECreateEvent $text $label { set file [getSaveFile [mc "Save to a file"] lisp] if {$file != ""} { - sendMaxima $maxima_priv(cConsoleText) ":lisp-quiet (prog2 (mfuncall '\$save \"$file\" '\$all) nil)\n" + sendMaxima $::xmaxima_priv(cConsoleText) ":lisp-quiet (prog2 (mfuncall '\$save \"$file\" '\$all) nil)\n" maxStatus [concat [mc "Maxima State Saved to "] "$file"] } }]] @@ -175,7 +174,7 @@ proc vMAXAddSystemMenu {fr text} { -command [set command [cIDECreateEvent $text $label { set file [getSaveFile [mc "Save to a file"] maxima] if {$file != ""} { - sendMaxima $maxima_priv(cConsoleText) ":lisp-quiet (prog2 (mfuncall '\$stringout \"$file\" '\$input) nil)\n" + sendMaxima $::xmaxima_priv(cConsoleText) ":lisp-quiet (prog2 (mfuncall '\$stringout \"$file\" '\$input) nil)\n" maxStatus [concat [mc "Maxima Input Saved to "] "$file"] } }]] @@ -237,7 +236,7 @@ proc vMAXAddSystemMenu {fr text} { -command [list CNclearinput $text] $m add separator $m add command -underline 0 -label [mc "Save Console to File"] \ - -command [list pMAXSaveTexToFile $maxima_priv(cConsoleText)] + -command [list pMAXSaveTexToFile $::xmaxima_priv(cConsoleText)] # Add an Options menubutton set m [menu .menu.options -tearoff 0] @@ -277,7 +276,7 @@ proc vMAXAddSystemMenu {fr text} { -command [list sendMaxima $text "kill($elt)\$\n"] } $m add separator - set dir $maxima_priv(pTestsDir) + set dir $::xmaxima_priv(pTestsDir) if {[file isdir $dir]} { set state normal } else { @@ -297,7 +296,7 @@ proc vMAXAddSystemMenu {fr text} { .menu add cascade -label [mc "Help"] -menu $m -underline 0 # Xmaxima manual - set xmaximahelpfile [file join $maxima_priv(maxima_verpkgdatadir) xmaxima html index.html] + set xmaximahelpfile [file join $::xmaxima_priv(maxima_verpkgdatadir) xmaxima html index.html] set xmaximahelpfile [file normalize $xmaximahelpfile] set xstate normal # if {[file isfile $xmaximahelpfile]} { @@ -306,7 +305,7 @@ proc vMAXAddSystemMenu {fr text} { # set xstate disabled # } # Maxima manual - set file $maxima_priv(pReferenceToc) + set file $::xmaxima_priv(pReferenceToc) if {$tcl_platform(platform) == "windows"} { # decodeURL is broken and needs fixing # This is a workaround diff --git a/interfaces/xmaxima/Tkmaxima/Myhtml.tcl b/interfaces/xmaxima/Tkmaxima/Myhtml.tcl index 2f93995f6..664eadf83 100644 --- a/interfaces/xmaxima/Tkmaxima/Myhtml.tcl +++ b/interfaces/xmaxima/Tkmaxima/Myhtml.tcl @@ -559,7 +559,6 @@ defTag option -body { set text [string trimright $text] global xHMpriv set xHMpriv(counter) 0 - # #----------------------------------------------------------------- # @@ -976,8 +975,8 @@ proc xHMdo_img {} { incr wvar(measure) [image width $image] } label $w -image $im -background $bg - bind $w <Enter> [list set maxima_priv(load_rate) "$alt" ] - bind $w <Leave> [list set maxima_priv(load_rate) "" ] + bind $w <Enter> [list set ::xmaxima_priv(load_rate) "$alt" ] + bind $w <Leave> [list set ::xmaxima_priv(load_rate) "" ] } catch { $w configure -border $border} diff --git a/interfaces/xmaxima/Tkmaxima/Myhtml1.tcl b/interfaces/xmaxima/Tkmaxima/Myhtml1.tcl index b6bd4dfb3..62a38f38e 100644 --- a/interfaces/xmaxima/Tkmaxima/Myhtml1.tcl +++ b/interfaces/xmaxima/Tkmaxima/Myhtml1.tcl @@ -49,8 +49,7 @@ defTag netmath -body { set paramList [xHMsplitParams $params] catch { if { [xHMextract_param $paramList version ""] } { - global maxima_priv - if { [clock scan $version] > [clock scan $maxima_priv(date)] } { + if { [clock scan $version] > [clock scan $::xmaxima_priv(date)] } { xHMextract_param $paramList oldversion "" append oldversion $text diff --git a/interfaces/xmaxima/Tkmaxima/NConsole.tcl b/interfaces/xmaxima/Tkmaxima/NConsole.tcl index 9aca582a7..3ab982cdf 100644 --- a/interfaces/xmaxima/Tkmaxima/NConsole.tcl +++ b/interfaces/xmaxima/Tkmaxima/NConsole.tcl @@ -4,7 +4,6 @@ # For distribution under GNU public License. See COPYING. # ############################################################ - proc mkConsole { fr program } { catch { destroy $fr } global NCtextHelp @@ -12,23 +11,17 @@ proc mkConsole { fr program } { pack $fr -expand 1 -fill both set w $fr.text label [set msg $fr.label] -height 1 -relief sunken \ - -textvariable maxima_priv(load_rate) - + -textvariable ::xmaxima_priv(load_rate) oset $w program $program oset $w prompt "% " text $w bind $w <Configure> "resizeSubPlotWindows $w %w %h" - $w tag configure input -foreground blue # -relief sunken -borderwidth 1 bindtags $w [linsert [bindtags $w] 1 CNtext OpenMathText ] - - global maxima_priv - - if { ![regexp -- $maxima_priv(sticky) input] } { - append maxima_priv(sticky) {|^input$} + if { ![regexp -- $::xmaxima_priv(sticky) input] } { + append ::xmaxima_priv(sticky) {|^input$} } - CNinsertPrompt $w $w mark gravity lastStart left pack $w -side top -expand 1 -fill both @@ -47,7 +40,6 @@ proc CNclearinput { w } { } } - proc CNinsertPrompt { w } { set prompt [oget $w prompt] $w mark set insert end @@ -81,7 +73,6 @@ proc CNeval { w } { #puts "sendind <$expr>" set res [sendOneWait [oget $w program] $expr] message "received result" - if { "$res" != "" } { if { ![regexp \n $res] } { set tag center @@ -100,7 +91,6 @@ proc CNeval { w } { } else { $w insert end $res "$tag result" } - } CNinsertPrompt $w if { [info exists view] } {$w yview $view } @@ -111,7 +101,6 @@ proc CNpreviousInput { w direction } { linkLocal $w inputIndex matching if { [catch {makeLocal $w inputs}] } { return } if { [$w compare insert < lastStart ] } { return } - set last [lindex [peekLastCommand $w] 1] if { ("[lindex $last 2]" != "ALT_p" && "[lindex $last 2]" != "ALT_n") || \ ![info exists inputIndex] } { @@ -151,8 +140,6 @@ proc CNblinkMatchingParen { win ch } { } } } - - # #----------------------------------------------------------------- # diff --git a/interfaces/xmaxima/Tkmaxima/OpenMath.tcl b/interfaces/xmaxima/Tkmaxima/OpenMath.tcl index 4b0014153..55996feac 100644 --- a/interfaces/xmaxima/Tkmaxima/OpenMath.tcl +++ b/interfaces/xmaxima/Tkmaxima/OpenMath.tcl @@ -20,16 +20,14 @@ proc genSample { x n } { } } - # font measuring is very slow so we cache the result of measuring a line # of x's. proc fontMeasure { font size } { - global maxima_priv - set ll $maxima_priv(linelength) - if { ![catch {set answer [set $maxima_priv($font,$size,$ll)]} ] } { return $answer} + set ll $::xmaxima_priv(linelength) + if { ![catch {set answer [set $::xmaxima_priv($font,$size,$ll)]} ] } { return $answer} set sample [genSample x $ll] - set maxima_priv($font,$size,$ll) [font measure [list $font $size] $sample] - return $maxima_priv($font,$size,$ll) + set ::xmaxima_priv($font,$size,$ll) [font measure [list $font $size] $sample] + return $::xmaxima_priv($font,$size,$ll) } proc getDefaultFontSize { width } { @@ -46,7 +44,6 @@ proc getDefaultFontSize { width } { set answer [list $guess [fontMeasure $fixedFont $guess]] } return $answer - } proc getMaxDimensions { } { @@ -70,7 +67,7 @@ proc getPercentDim { dim direction win } { proc computeTextWinDimensions { win width height } { # leave room for scroll bar - global fixedFont maxima_priv + global fixedFont # desetq "fsize wid" [getDefaultFontSize [expr {$width -15}]] set wid $width # set fixedFont [xHMmapFont font:fixed:normal:r:3] @@ -81,29 +78,24 @@ proc computeTextWinDimensions { win width height } { oset $win fixedFont $fixedFont oset $win fontSize $fsize oset $win width $width - oset $win width_chars $maxima_priv(linelength) + oset $win width_chars $::xmaxima_priv(linelength) set hei [expr {round($height/$lh)}] oset $win height_chars $hei oset $win height [expr {$hei * $lh}] oset $win lineheight $lh } - - proc setFontOptions { fsize } { - global maxima_priv - global _fixed_default _prop_default fontSize set helvetica $_prop_default set courier $_fixed_default - global buttonfont entryfont labelfont fixedtextfont set buttonfont [font create -family $helvetica -size $fsize] set labelfont [font create -family $helvetica -size $fsize] set fixedtextfont [font create -family $courier -size $fsize] set entryfont [font create -family $courier -size $fsize] -return + return if { $fsize > 10 } { set fsize 12 } if { $fsize == 8 } { set entrysize 10 } else {set entrysize $fsize } @@ -119,22 +111,17 @@ return # option add *Button.font $buttonfont # option add *Label.font $labelfont # option add *Entry.font $entryfont - option add *Dialog.msg.wrapLength 500 - } - } # omPanel # Creates the browser window # proc omPanel { w args } { - global buttonfont entryfont labelfont maxima_priv - + global buttonfont entryfont labelfont set top [winfo toplevel $w] linkLocal $top omPanel if { [info exists omPanel] } {return $omPanel } - set top [winfo parent $w] # if { "$top" == "." } { set top ""} @@ -173,7 +160,6 @@ proc omPanel { w args } { set url [oget $v location] $m add command -label $url \ -command [list OpenMathOpenUrl $url -commandpanel $win] - } } } else { @@ -197,7 +183,7 @@ proc omPanel { w args } { oset $win history "" pack $win -side top -expand 1 -fill x - oset $win status $maxima_priv(cStatusWindow) + oset $win status $::xmaxima_priv(cStatusWindow) return $win } @@ -221,22 +207,15 @@ proc forgetCurrent { win } { } proc omDoStop { win } { - global maxima_priv - set st $maxima_priv(cStatusWindow) + set st $::xmaxima_priv(cStatusWindow) set var [$st.scale cget -variable] if { [regexp {sock[0-9]+} $var sock] } { oset $sock done -1 if { ![catch { close $sock} ] } { - - append maxima_priv(load_rate) "--aborted" + append ::xmaxima_priv(load_rate) "--aborted" } } } - - - - - # #----------------------------------------------------------------- # @@ -249,16 +228,14 @@ proc omDoStop { win } { #---------------------------------------------------------------- # proc setTypeForEval { menu program } { - global maxima_priv #puts "$menu program" set slaves [pack slaves $menu.program ] set men $menu.program.$program if { [llength $slaves] > 0 } {eval pack forget $slaves} - if { ![catch { set options $maxima_priv(options,$program) } ] } { + if { ![catch { set options $::xmaxima_priv(options,$program) } ] } { if { ![winfo exists $menu.program.$program] } { #puts "options=$options" # puts "there" - ### set up to add menu items to a new frame set key $menu.program @@ -269,30 +246,23 @@ proc setTypeForEval { menu program } { oset $men items "" oset $key parent $menu proc $men {option args } $body - ##### end - foreach v $options { desetq "key dflt help" $v - - if { [catch { set maxima_priv(options,$program,$key)} ] } { - set maxima_priv(options,$program,$key) $dflt + if { [catch { set ::xmaxima_priv(options,$program,$key)} ] } { + set ::xmaxima_priv(options,$program,$key) $dflt } switch [lindex $v 3] { boolean { - $men add check -label $key -variable maxima_priv(options,$program,$key) -help [concat $program option -$key: $help] -onvalue 1 -offvalue 0 + $men add check -label $key -variable ::xmaxima_priv(options,$program,$key) -help [concat $program option -$key: $help] -onvalue 1 -offvalue 0 } default { - $men add entry -label "$key:" -entryvariable maxima_priv(options,$program,$key) -help [concat $program option -$key: $help] - + $men add entry -label "$key:" -entryvariable ::xmaxima_priv(options,$program,$key) -help [concat $program option -$key: $help] } - } - - # label $new.label -text $key: - # entry $new.entry -textvariable maxima_priv(options,$program,$key) + # entry $new.entry -textvariable ::xmaxima_priv(options,$program,$key) # pack $new.label $new.entry -side top -anchor w -fill x # pack $new -fill x # setHelp $new [concat $program option -$v: $help] @@ -302,10 +272,7 @@ proc setTypeForEval { menu program } { } catch { pack $men} - } - - # #----------------------------------------------------------------- # @@ -319,13 +286,12 @@ proc setTypeForEval { menu program } { #---------------------------------------------------------------- # proc getGlobalOptions { program } { - global maxima_priv set ans "" - if { ![catch { set options $maxima_priv(options,$program) } ] } { + if { ![catch { set options $::xmaxima_priv(options,$program) } ] } { foreach v $options {... [truncated message content] |
From: villate <vi...@us...> - 2025-07-23 09:30:47
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Maxima CAS". The branch, master has been updated via c5c490ba9ce3b53a9bcb5628b3a9520579556eb7 (commit) from 012130bcf851bf470d7325264f36299ca7778f05 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit c5c490ba9ce3b53a9bcb5628b3a9520579556eb7 Author: villate <vi...@fe...> Date: Wed Jul 23 10:30:00 2025 +0100 Removes old CVS tags and obsolete tcl files. diff --git a/interfaces/xmaxima/Makefile.am b/interfaces/xmaxima/Makefile.am index d138cfde7..92e5af1a2 100755 --- a/interfaces/xmaxima/Makefile.am +++ b/interfaces/xmaxima/Makefile.am @@ -69,7 +69,6 @@ TKSOURCES = \ Tkmaxima/OpenMath.tcl \ Tkmaxima/NConsole.tcl \ Tkmaxima/String.tcl \ - Tkmaxima/Prefs.tcl \ Tkmaxima/RunMaxima.tcl \ Tkmaxima/Menu.tcl \ Tkmaxima/Paths.tcl \ diff --git a/interfaces/xmaxima/Tkmaxima/Base64.tcl b/interfaces/xmaxima/Tkmaxima/Base64.tcl index ce4a898a6..66d267731 100644 --- a/interfaces/xmaxima/Tkmaxima/Base64.tcl +++ b/interfaces/xmaxima/Tkmaxima/Base64.tcl @@ -1,13 +1,8 @@ -# -*-mode: tcl; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*- -# -# $Id: Base64.tcl,v 1.3 2002-09-14 17:25:34 mikeclarkson Exp $ -# ###### Base64.tcl ###### ############################################################ # Netmath Copyright (C) 1998 William F. Schelter # # For distribution under GNU public License. See COPYING. # ############################################################ -# aaaaaabb bbbbcccc ccdddddd proc tobase64 { binary } { set ll [string length $binary ] diff --git a/interfaces/xmaxima/Tkmaxima/Bindings.tcl b/interfaces/xmaxima/Tkmaxima/Bindings.tcl index 2bd3774a9..7890f141d 100644 --- a/interfaces/xmaxima/Tkmaxima/Bindings.tcl +++ b/interfaces/xmaxima/Tkmaxima/Bindings.tcl @@ -1,7 +1,3 @@ -# -*-mode: tcl; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*- -# -# $Id: Bindings.tcl,v 1.10 2007-03-23 00:05:06 villate Exp $ -# ###### Bindings.tcl ###### ############################################################ # Netmath Copyright (C) 1998 William F. Schelter # diff --git a/interfaces/xmaxima/Tkmaxima/Bitmaps.tcl b/interfaces/xmaxima/Tkmaxima/Bitmaps.tcl index 97b9c38ad..66ab6d92c 100644 --- a/interfaces/xmaxima/Tkmaxima/Bitmaps.tcl +++ b/interfaces/xmaxima/Tkmaxima/Bitmaps.tcl @@ -1,7 +1,3 @@ -# -*-mode: tcl; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*- -# -# $Id: Bitmaps.tcl,v 1.2 2002-09-07 05:21:42 mikeclarkson Exp $ -# ###### Bitmaps.tcl ###### ############################################################ # Netmath Copyright (C) 1998 William F. Schelter # diff --git a/interfaces/xmaxima/Tkmaxima/EHref.tcl b/interfaces/xmaxima/Tkmaxima/EHref.tcl index 239084986..0481405ab 100644 --- a/interfaces/xmaxima/Tkmaxima/EHref.tcl +++ b/interfaces/xmaxima/Tkmaxima/EHref.tcl @@ -1,7 +1,3 @@ -# -*-mode: tcl; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*- -# -# $Id: EHref.tcl,v 1.3 2004-10-13 12:08:57 vvzhy Exp $ -# ###### EHref.tcl ###### ############################################################ # Netmath Copyright (C) 1998 William F. Schelter # diff --git a/interfaces/xmaxima/Tkmaxima/EMaxima.tcl b/interfaces/xmaxima/Tkmaxima/EMaxima.tcl index dbaa21a12..f5f3bce13 100644 --- a/interfaces/xmaxima/Tkmaxima/EMaxima.tcl +++ b/interfaces/xmaxima/Tkmaxima/EMaxima.tcl @@ -1,7 +1,3 @@ -# -*-mode: tcl; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*- -# -# $Id: EMaxima.tcl,v 1.4 2011-03-19 23:16:41 villate Exp $ -# ###### EMaxima.tcl ###### ############################################################ # Netmath Copyright (C) 1998 William F. Schelter # diff --git a/interfaces/xmaxima/Tkmaxima/Fonts.tcl b/interfaces/xmaxima/Tkmaxima/Fonts.tcl index 4f1a21843..07ce178d1 100644 --- a/interfaces/xmaxima/Tkmaxima/Fonts.tcl +++ b/interfaces/xmaxima/Tkmaxima/Fonts.tcl @@ -1,8 +1,3 @@ -# -*-mode: tcl; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*- -# -# $Id: Fonts.tcl,v 1.8 2006-06-27 13:33:42 villate Exp $ -# - # set font {Courier 8} global maxima_priv fontCourier8 fixedFont fontSize set maxima_priv(fixedFont) Courier diff --git a/interfaces/xmaxima/Tkmaxima/Getopt.tcl b/interfaces/xmaxima/Tkmaxima/Getopt.tcl index d1978a3f9..a20f29bb5 100644 --- a/interfaces/xmaxima/Tkmaxima/Getopt.tcl +++ b/interfaces/xmaxima/Tkmaxima/Getopt.tcl @@ -1,7 +1,3 @@ -# -*-mode: tcl; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*- -# -# $Id: Getopt.tcl,v 1.4 2004-10-13 12:08:57 vvzhy Exp $ -# ###### Getopt.tcl ###### ############################################################ # Netmath Copyright (C) 1998 William F. Schelter # diff --git a/interfaces/xmaxima/Tkmaxima/Myhtml.tcl b/interfaces/xmaxima/Tkmaxima/Myhtml.tcl index 0f534180d..2f93995f6 100644 --- a/interfaces/xmaxima/Tkmaxima/Myhtml.tcl +++ b/interfaces/xmaxima/Tkmaxima/Myhtml.tcl @@ -1,7 +1,3 @@ -# -*-mode: tcl; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*- -# -# $Id: Myhtml.tcl,v 1.15 2006-10-01 23:58:29 villate Exp $ -# ###### Myhtml.tcl ###### ############################################################ # Netmath Copyright (C) 1998 William F. Schelter # diff --git a/interfaces/xmaxima/Tkmaxima/Myhtml1.tcl b/interfaces/xmaxima/Tkmaxima/Myhtml1.tcl index 4a8c08107..b6bd4dfb3 100644 --- a/interfaces/xmaxima/Tkmaxima/Myhtml1.tcl +++ b/interfaces/xmaxima/Tkmaxima/Myhtml1.tcl @@ -1,7 +1,3 @@ -# -*-mode: tcl; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*- -# -# $Id: Myhtml1.tcl,v 1.6 2002-09-14 17:25:34 mikeclarkson Exp $ -# ###### Myhtml1.tcl ###### ############################################################ # Netmath Copyright (C) 1998 William F. Schelter # diff --git a/interfaces/xmaxima/Tkmaxima/NConsole.tcl b/interfaces/xmaxima/Tkmaxima/NConsole.tcl index e2da86ea5..9aca582a7 100644 --- a/interfaces/xmaxima/Tkmaxima/NConsole.tcl +++ b/interfaces/xmaxima/Tkmaxima/NConsole.tcl @@ -1,7 +1,3 @@ -# -*-mode: tcl; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*- -# -# $Id: NConsole.tcl,v 1.10 2006-12-04 10:45:46 villate Exp $ -# ###### NConsole.tcl ###### ############################################################ # Netmath Copyright (C) 1998 William F. Schelter # diff --git a/interfaces/xmaxima/Tkmaxima/Parse.tcl b/interfaces/xmaxima/Tkmaxima/Parse.tcl index 93c6f0b43..ff3f87df8 100644 --- a/interfaces/xmaxima/Tkmaxima/Parse.tcl +++ b/interfaces/xmaxima/Tkmaxima/Parse.tcl @@ -1,7 +1,3 @@ -# -*-mode: tcl; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*- -# -# $Id: Parse.tcl,v 1.8 2009-03-27 00:14:45 villate Exp $ -# ###### Parse.tcl ###### ############################################################ # Netmath Copyright (C) 1998 William F. Schelter # diff --git a/interfaces/xmaxima/Tkmaxima/Plotting.tcl b/interfaces/xmaxima/Tkmaxima/Plotting.tcl index 412a1355a..0e7905a06 100644 --- a/interfaces/xmaxima/Tkmaxima/Plotting.tcl +++ b/interfaces/xmaxima/Tkmaxima/Plotting.tcl @@ -1,7 +1,3 @@ -# -*-mode: tcl; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*- -# -# $Id: Plotting.tcl,v 1.3 2002-09-07 23:20:49 mikeclarkson Exp $ -# ###### plotting.tcl ###### ############################################################ # Netmath Copyright (C) 1998 William F. Schelter # diff --git a/interfaces/xmaxima/Tkmaxima/Preamble.tcl b/interfaces/xmaxima/Tkmaxima/Preamble.tcl index 7068fc2df..e1296dfc0 100644 --- a/interfaces/xmaxima/Tkmaxima/Preamble.tcl +++ b/interfaces/xmaxima/Tkmaxima/Preamble.tcl @@ -1,7 +1,3 @@ -# -*-mode: tcl; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*- -# -# $Id: Preamble.tcl,v 1.4 2004-10-13 12:08:58 vvzhy Exp $ -# ###### preamble.tcl ###### # get the number of clicks per second on this machine.. diff --git a/interfaces/xmaxima/Tkmaxima/Prefs.tcl b/interfaces/xmaxima/Tkmaxima/Prefs.tcl deleted file mode 100644 index d5e85cf79..000000000 --- a/interfaces/xmaxima/Tkmaxima/Prefs.tcl +++ /dev/null @@ -1,11 +0,0 @@ -# -*-mode: tcl; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*- -# -# $Id: Prefs.tcl,v 1.4 2002-09-13 17:42:21 mikeclarkson Exp $ -# -proc resetMaximaFont { w } { - $w config -font [xHMmapFont font:fixed:normal:r:[expr $::xmaxima_default(fontAdjust) + 3]] -} - - - - diff --git a/interfaces/xmaxima/Tkmaxima/Printops.tcl b/interfaces/xmaxima/Tkmaxima/Printops.tcl index d9a883037..6153dd8ef 100644 --- a/interfaces/xmaxima/Tkmaxima/Printops.tcl +++ b/interfaces/xmaxima/Tkmaxima/Printops.tcl @@ -1,7 +1,3 @@ -# -*-mode: tcl; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*- -# -# $Id: Printops.tcl,v 1.11 2006-08-24 07:03:23 vvzhy Exp $ -# ###### Printops.tcl ###### ############################################################ # Netmath Copyright (C) 1998 William F. Schelter # diff --git a/interfaces/xmaxima/Tkmaxima/Private.tcl b/interfaces/xmaxima/Tkmaxima/Private.tcl index 592903479..8f0b165a3 100644 --- a/interfaces/xmaxima/Tkmaxima/Private.tcl +++ b/interfaces/xmaxima/Tkmaxima/Private.tcl @@ -1,7 +1,3 @@ -# -*-mode: tcl; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*- -# -# $Id: Private.tcl,v 1.3 2006-06-30 15:04:58 villate Exp $ -# ###### private.tcl ###### ############################################################ # Netmath Copyright (C) 1998 William F. Schelter # diff --git a/interfaces/xmaxima/Tkmaxima/Proxy.tcl b/interfaces/xmaxima/Tkmaxima/Proxy.tcl index fb9b02eb9..2591ef7f7 100644 --- a/interfaces/xmaxima/Tkmaxima/Proxy.tcl +++ b/interfaces/xmaxima/Tkmaxima/Proxy.tcl @@ -1,11 +1,3 @@ -# -*-mode: tcl; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*- -# -# $Id: Proxy.tcl,v 1.4 2004-10-13 12:08:58 vvzhy Exp $ -# -###### Proxy.tcl ###### - - - # #----------------------------------------------------------------- # diff --git a/interfaces/xmaxima/Tkmaxima/Push.tcl b/interfaces/xmaxima/Tkmaxima/Push.tcl index f548c47d3..ac4cfd27c 100644 --- a/interfaces/xmaxima/Tkmaxima/Push.tcl +++ b/interfaces/xmaxima/Tkmaxima/Push.tcl @@ -1,7 +1,3 @@ -# -*-mode: tcl; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*- -# -# $Id: Push.tcl,v 1.4 2003-01-22 02:59:02 mikeclarkson Exp $ -# ###### push.tcl ###### ############################################################ # Netmath Copyright (C) 1998 William F. Schelter # diff --git a/interfaces/xmaxima/Tkmaxima/Readdata.tcl b/interfaces/xmaxima/Tkmaxima/Readdata.tcl index d7f30b607..461fa8610 100644 --- a/interfaces/xmaxima/Tkmaxima/Readdata.tcl +++ b/interfaces/xmaxima/Tkmaxima/Readdata.tcl @@ -1,7 +1,3 @@ -# -*-mode: tcl; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*- -# -# $Id: Readdata.tcl,v 1.2 2002-09-07 05:21:42 mikeclarkson Exp $ -# ###### Readdata.tcl ###### ############################################################ # Netmath Copyright (C) 1998 William F. Schelter # diff --git a/interfaces/xmaxima/Tkmaxima/String.tcl b/interfaces/xmaxima/Tkmaxima/String.tcl index 22b793850..54c8c1a3c 100644 --- a/interfaces/xmaxima/Tkmaxima/String.tcl +++ b/interfaces/xmaxima/Tkmaxima/String.tcl @@ -1,7 +1,3 @@ -# -*-mode: tcl; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*- -# -# $Id: String.tcl,v 1.2 2002-09-07 05:21:42 mikeclarkson Exp $ -# ###### String.tcl ###### @@ -58,4 +54,8 @@ proc genword { string count } { return $ans } +proc resetMaximaFont { w } { + $w config -font [xHMmapFont font:fixed:normal:r:[expr $::xmaxima_default(fontAdjust) + 3]] +} + ## endsource string.tcl diff --git a/interfaces/xmaxima/Tkmaxima/Textinsert.tcl b/interfaces/xmaxima/Tkmaxima/Textinsert.tcl index 5340024d8..c51c461be 100644 --- a/interfaces/xmaxima/Tkmaxima/Textinsert.tcl +++ b/interfaces/xmaxima/Tkmaxima/Textinsert.tcl @@ -1,7 +1,3 @@ -# -*-mode: tcl; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*- -# -# $Id: Textinsert.tcl,v 1.4 2004-03-21 07:30:58 vvzhy Exp $ -# ###### Textinsert.tcl ###### ############################################################ # Netmath Copyright (C) 1998 William F. Schelter # diff --git a/interfaces/xmaxima/Tkmaxima/colors.tcl b/interfaces/xmaxima/Tkmaxima/colors.tcl index bb566ca07..1d0441531 100644 --- a/interfaces/xmaxima/Tkmaxima/colors.tcl +++ b/interfaces/xmaxima/Tkmaxima/colors.tcl @@ -1,5 +1,3 @@ -# $Id: colors.tcl,v 1.1 2009-11-15 22:55:35 villate Exp $ -# # Copyright (c) 2009, Jaime E. Villate <vi...@fe...> # # Procedures to work with colors diff --git a/interfaces/xmaxima/Tkmaxima/maxima-local.tcl b/interfaces/xmaxima/Tkmaxima/maxima-local.tcl deleted file mode 100644 index 8d0862aa9..000000000 --- a/interfaces/xmaxima/Tkmaxima/maxima-local.tcl +++ /dev/null @@ -1,20 +0,0 @@ -# -*-mode: tcl; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*- -# -# $Id: maxima-local.tcl,v 1.2 2002-09-07 05:21:42 mikeclarkson Exp $ -# -# Old code - no content - -## source maxima-local.tcl - -###### maxima-local.tcl ###### -############################################################ -# Netmath Copyright (C) 1998 William F. Schelter # -# For distribution under GNU public License. See COPYING. # -############################################################ -#proc start_program { } {runOneMaxima .temp } ; source maxima-local.tcl; set argv "maxima 10 billy -debug" ; set argc 4 ; set argv0 ./run-one.tcl ; source run-one.tcl -# on other side ; openConnection localhost 5099 billy maxima - - - -## endsource maxima-local.tcl - diff --git a/interfaces/xmaxima/Tkmaxima/patchold.tcl b/interfaces/xmaxima/Tkmaxima/patchold.tcl deleted file mode 100644 index 29f26d561..000000000 --- a/interfaces/xmaxima/Tkmaxima/patchold.tcl +++ /dev/null @@ -1,100 +0,0 @@ -# -*-mode: tcl; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*- -# -# $Id: patchold.tcl,v 1.2 2002-09-07 05:21:42 mikeclarkson Exp $ -# -#mike Obsolete unused code -###### patchold.tcl ###### -############################################################ -# Netmath Copyright (C) 1998 William F. Schelter # -# For distribution under GNU public License. See COPYING. # -############################################################ - -# these are some compatibility patches for older versions -# eg tk4.1 Before tk4.1 it wont work. - -proc mproc { name argl body } { - if { "[info command $name]" == "" } { - proc $name $argl $body - } -} -mproc event {args} {} -mproc font {option args} { - global ws_openMath - switch $option { - create { - - # puts "args=$args" - - set family [assoc -family $args "courier"] - set family [string tolower $family] - set slant [assoc -slant $args r] - if { "$slant" == "italic" || "$slant" == "oblique" } { - set slant o - } else { set slant r} - - set size [assoc -size $args 10] - set weight [assoc -weight $args normal] - if { [fontExistsp $family $weight $slant $size ] } { - return [.bfontexists cget -font] - } - if { [fontExistsp $family * $slant $size ] || - [fontExistsp $family * $slant $size ] || - [fontExistsp $family $weight * $size ] || - [fontExistsp $family $weight $slant [expr $size -1]] || - [fontExistsp $family $weight $slant [expr $size +1]] || - [fontExistsp $family $weight $slant *] || - [fontExistsp * $weight $slant *] || - [fontExistsp * $weight * *] || - [fontExistsp * * * *] } { - return [.bfontexists cget -font] - } else { return [lindex [.bfontexists config -font] 3] - } - } - default { error "cant measure" -} -} -} - -mproc font {option args} { - global bil ws_openMath - switch $option { - create { - set bil $args - # puts "args=$args" - - set family [assoc -family $args "courier"] - set family [string tolower $family] - set slant [assoc -slant $args r] - if { "$slant" == "italic" || "$slant" == "oblique" } { - set slant o - } else { set slant r} - - set size [assoc -size $args 10] - set weight [assoc -weight $args normal] - if { [catch { set allfonts $ws_openMath(allfonts)} ] && - [catch { set allfonts [exec xlsfonts] } ] - } { return [list $family $size $weight] - } - set ws_openMath(allfonts) $allfonts - # puts " lsearch -glob \$allfonts *$family*-*$weight-$slant*-$size-*" - # puts *$family-$weight-$slant*-$size-* - if { [set ind [lsearch -glob $allfonts *$family-$weight-$slant*-$size-*]] < 0 } { - # puts *$family-normal-$slant*-$size-* - if { [set ind [lsearch -glob $allfonts *$family-normal-$slant*-$size-*]] >= 0 } { return [lindex $allfonts $ind] } - return [list $family $size $weight] - } else { return [lindex $allfonts $ind] } - } - default { error "cant measure" -} -} -} - -proc fontExistsp { family weight slant size } { - if { ![winfo exists .bfontexists ] } { entry .bfontexists } - return [expr ![catch { .bfontexists config -font *-$family-$weight-$slant-*--$size-*-*-*-*-*-*-* }]] -} - - - - -## endsource patchold.tcl diff --git a/interfaces/xmaxima/Tkmaxima/scene.tcl b/interfaces/xmaxima/Tkmaxima/scene.tcl index 7975746bb..c3b80501d 100644 --- a/interfaces/xmaxima/Tkmaxima/scene.tcl +++ b/interfaces/xmaxima/Tkmaxima/scene.tcl @@ -1,5 +1,3 @@ -# $Id: scene.tcl,v 1.2 2011-03-19 23:13:04 villate Exp $ -# ###### scene.tcl ###### # Copyright (c) 2011, Jaime E. Villate <vi...@fe...> # ----------------------------------------------------------------------- Summary of changes: interfaces/xmaxima/Makefile.am | 1 - interfaces/xmaxima/Tkmaxima/Base64.tcl | 5 -- interfaces/xmaxima/Tkmaxima/Bindings.tcl | 4 -- interfaces/xmaxima/Tkmaxima/Bitmaps.tcl | 4 -- interfaces/xmaxima/Tkmaxima/EHref.tcl | 4 -- interfaces/xmaxima/Tkmaxima/EMaxima.tcl | 4 -- interfaces/xmaxima/Tkmaxima/Fonts.tcl | 5 -- interfaces/xmaxima/Tkmaxima/Getopt.tcl | 4 -- interfaces/xmaxima/Tkmaxima/Myhtml.tcl | 4 -- interfaces/xmaxima/Tkmaxima/Myhtml1.tcl | 4 -- interfaces/xmaxima/Tkmaxima/NConsole.tcl | 4 -- interfaces/xmaxima/Tkmaxima/Parse.tcl | 4 -- interfaces/xmaxima/Tkmaxima/Plotting.tcl | 4 -- interfaces/xmaxima/Tkmaxima/Preamble.tcl | 4 -- interfaces/xmaxima/Tkmaxima/Prefs.tcl | 11 --- interfaces/xmaxima/Tkmaxima/Printops.tcl | 4 -- interfaces/xmaxima/Tkmaxima/Private.tcl | 4 -- interfaces/xmaxima/Tkmaxima/Proxy.tcl | 8 --- interfaces/xmaxima/Tkmaxima/Push.tcl | 4 -- interfaces/xmaxima/Tkmaxima/Readdata.tcl | 4 -- interfaces/xmaxima/Tkmaxima/String.tcl | 8 +-- interfaces/xmaxima/Tkmaxima/Textinsert.tcl | 4 -- interfaces/xmaxima/Tkmaxima/colors.tcl | 2 - interfaces/xmaxima/Tkmaxima/maxima-local.tcl | 20 ------ interfaces/xmaxima/Tkmaxima/patchold.tcl | 100 --------------------------- interfaces/xmaxima/Tkmaxima/scene.tcl | 2 - 26 files changed, 4 insertions(+), 222 deletions(-) delete mode 100644 interfaces/xmaxima/Tkmaxima/Prefs.tcl delete mode 100644 interfaces/xmaxima/Tkmaxima/maxima-local.tcl delete mode 100644 interfaces/xmaxima/Tkmaxima/patchold.tcl hooks/post-receive -- Maxima CAS |
From: villate <vi...@us...> - 2025-07-23 09:04:41
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Maxima CAS". The branch, master has been updated via 012130bcf851bf470d7325264f36299ca7778f05 (commit) from edc596a2bde2b40e60383d195d03970f412ac019 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 012130bcf851bf470d7325264f36299ca7778f05 Author: villate <vi...@fe...> Date: Wed Jul 23 10:02:55 2025 +0100 Adds an extra check, usually unnecessary, but just in case. diff --git a/interfaces/xmaxima/Tkmaxima/EOpenplot.tcl b/interfaces/xmaxima/Tkmaxima/EOpenplot.tcl index 5d89e96ca..6ec728459 100644 --- a/interfaces/xmaxima/Tkmaxima/EOpenplot.tcl +++ b/interfaces/xmaxima/Tkmaxima/EOpenplot.tcl @@ -46,8 +46,10 @@ proc eval_openplot { program w thisRange resultRange } { #---------------------------------------------------------------- # proc plotWindowName { w command } { - set plot $::xmaxima_default(plotwindow) upvar #0 maxima_priv(plot,count) count + if {[info exists ::xmaxima_default(plotwindow)]} { + set plot $::xmaxima_default(plotwindow) + } set name "" if { "$command" == "scene" } { ----------------------------------------------------------------------- Summary of changes: interfaces/xmaxima/Tkmaxima/EOpenplot.tcl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) hooks/post-receive -- Maxima CAS |
From: villate <vi...@us...> - 2025-07-23 08:33:14
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Maxima CAS". The branch, master has been updated via edc596a2bde2b40e60383d195d03970f412ac019 (commit) from 1aea5f0a9d75cdc78199a8ba66627e972c3f6d4d (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit edc596a2bde2b40e60383d195d03970f412ac019 Author: villate <vi...@fe...> Date: Wed Jul 23 09:31:16 2025 +0100 Fixes a bug that I accidentally introduced when I added support for URLs of the form xmaxima://error diff --git a/interfaces/xmaxima/Tkmaxima/Gui.tcl b/interfaces/xmaxima/Tkmaxima/Gui.tcl index 8b35fafb2..6edc1e85a 100644 --- a/interfaces/xmaxima/Tkmaxima/Gui.tcl +++ b/interfaces/xmaxima/Tkmaxima/Gui.tcl @@ -14,7 +14,7 @@ proc createBrowser {bname} { } else { toplevel $bname wm title $bname [mc {Xmaxima: browser}] - if {[file isfile $maxima_priv(firstUrl)]} { + if {[file isfile [string map {file:/ ""} $maxima_priv(firstUrl)]]} { OpenMathOpenUrl $maxima_priv(firstUrl) -toplevel $bname } else { set maxima_priv(error) \ ----------------------------------------------------------------------- Summary of changes: interfaces/xmaxima/Tkmaxima/Gui.tcl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- Maxima CAS |
From: villate <vi...@us...> - 2025-07-23 08:24:17
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Maxima CAS". The branch, master has been updated via 1aea5f0a9d75cdc78199a8ba66627e972c3f6d4d (commit) from b5cf06fe80dc22e091d6fd95b3eee872914a6217 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 1aea5f0a9d75cdc78199a8ba66627e972c3f6d4d Author: villate <vi...@fe...> Date: Wed Jul 23 09:20:47 2025 +0100 Renames array maxima_default as xmaxima_default and doesn't declare as global. In newer versions of Tcl, instead o declaring variables as global, one can simple prepend :: to the variable name to refer to it. diff --git a/interfaces/xmaxima/Tkmaxima/Browser.tcl b/interfaces/xmaxima/Tkmaxima/Browser.tcl index 67b819f7d..284f2a0ce 100644 --- a/interfaces/xmaxima/Tkmaxima/Browser.tcl +++ b/interfaces/xmaxima/Tkmaxima/Browser.tcl @@ -972,8 +972,7 @@ proc addTagSameRange { win oldtag newtag index } { } proc getBaseprogram { } { - global maxima_default - return [lindex $maxima_default(defaultservers) 0] + return [lindex $::xmaxima_default(defaultservers) 0] } #mike FIXME: This is an abomination @@ -994,8 +993,6 @@ proc fileBaseprogram { textwin parent x y } { } proc fontDialog { top } { - global maxima_default - set font [xHMmapFont font:propor:normal:r:3] if {[winfo exists $top]} {catch { destroy $top }} @@ -1016,10 +1013,10 @@ proc fontDialog { top } { if { "$fam" == "fixed" } { set fixed 1 } else { set fixed 0 } - mkLabelListBoxChooser $win.size$fam "list $lis" maxima_default($fam,adjust) - mkLabelListBoxChooser $win.family$fam "getFontFamilies $fixed " maxima_default($fam) + mkLabelListBoxChooser $win.size$fam "list $lis" ::xmaxima_default($fam,adjust) + mkLabelListBoxChooser $win.family$fam "getFontFamilies $fixed " ::xmaxima_default($fam) set fo [xHMmapFont "font:$fam:normal:r:3"] - catch { set maxima_default($fam) [assoc -family [font actual $fo]]} + catch { set ::xmaxima_default($fam) [assoc -family [font actual $fo]]} } $win insert insert [mc "Font Settings\nThe proportional font is "] $win window create insert -window $win.familypropor @@ -1032,7 +1029,7 @@ proc fontDialog { top } { $win insert insert "\n" $win insert insert [mc "Default nmtp servers "] global _servers - set _servers $maxima_default(defaultservers) + set _servers $::xmaxima_default(defaultservers) entry $win.entry -textvariable _servers -width 40 $win window create insert -window $win.entry $win insert insert "\n\n" @@ -1043,7 +1040,7 @@ proc fontDialog { top } { $win window create insert -window $win.entryproxy $win insert insert [mc "\nIf you are behind a firewall enter the name of your http proxy host and port,\n eg: `some.server.example.org 3128', otherwise leave this blank"] - set men [tk_optionMenu $win.plottype maxima_default(plotwindow) embedded separate multiple ] + set men [tk_optionMenu $win.plottype ::xmaxima_default(plotwindow) embedded separate multiple ] $win insert insert [mc "\nShould plot windows be "] $win window create insert -window $win.plottype $win insert insert "?" @@ -1054,8 +1051,8 @@ proc fontDialog { top } { $win insert insert " " $win insert insert [mc " Cancel "] "cancel raised" proc _FontDialogApply { win } { - global maxima_default _servers maxima_priv - set maxima_default(defaultservers) $_servers + global _servers maxima_priv + set ::xmaxima_default(defaultservers) $_servers catch {xHMresetFonts .} if { [llength [$win.entryproxy get]] == 2 } { set maxima_priv(proxy,http) [$win.entryproxy get] @@ -1073,22 +1070,22 @@ proc fontDialog { top } { } proc savePreferences {} { - global maxima_default maxima_priv + global maxima_priv makeLocal {.maxima.text} inputs - # Save current console size in maxima_default + # Save current console size in ::xmaxima_default set console [lindex [array get maxima_priv cConsoleText] end] - set maxima_default(iConsoleWidth) [textWindowWidth $console] - set maxima_default(iConsoleHeight) [textWindowHeight $console] + set ::xmaxima_default(iConsoleWidth) [textWindowWidth $console] + set ::xmaxima_default(iConsoleHeight) [textWindowHeight $console] catch { if {[winfo exists .browser]} { - set maxima_default(browser) 1 + set ::xmaxima_default(browser) 1 } else { - set maxima_default(browser) 0} + set ::xmaxima_default(browser) 0} set fi [open "$maxima_priv(home)/.xmaximarc" w] - puts $fi "array set maxima_default {" - foreach {k v} [array get maxima_default *] { + puts $fi "array set ::xmaxima_default {" + foreach {k v} [array get ::xmaxima_default *] { lappend all [list $k $v] } set all [lsort $all] @@ -1130,8 +1127,6 @@ proc mkLabelListBoxChooser { win items textvar} { } proc listBoxChoose { win items textvar } { - global maxima_default - set whei [winfo height $win] set items [eval $items] set hei [llength $items] diff --git a/interfaces/xmaxima/Tkmaxima/Constants.tcl b/interfaces/xmaxima/Tkmaxima/Constants.tcl index 862fd9aae..8f0628599 100644 --- a/interfaces/xmaxima/Tkmaxima/Constants.tcl +++ b/interfaces/xmaxima/Tkmaxima/Constants.tcl @@ -7,24 +7,24 @@ ############################################################ proc cMAXINITBeforeIni {} { - global maxima_default maxima_priv embed_args tk_version + global maxima_priv embed_args tk_version # default settings. Might be changed by local configuration file - set maxima_default(plotwindow) multiple - set maxima_default(iShowBalloons) 0 - set maxima_default(fontAdjust) 0 - set maxima_default(iConsoleWidth) 80 - set maxima_default(iConsoleHeight) 32 - set maxima_default(browser) 1 + set ::xmaxima_default(plotwindow) multiple + set ::xmaxima_default(iShowBalloons) 0 + set ::xmaxima_default(fontAdjust) 0 + set ::xmaxima_default(iConsoleWidth) 80 + set ::xmaxima_default(iConsoleHeight) 32 + set ::xmaxima_default(browser) 1 # Set up Maxima console font set cfont [font actual TkFixedFont -family] set cfontsize [font actual TkFixedFont -size] catch {font delete ConsoleFont} font create ConsoleFont -family $cfont -size $cfontsize - set maxima_default(ConsoleFont) [list $cfont $cfontsize] - set maxima_default(iLocalPort) 4008 - set maxima_default(bDebugParse) 0 + set ::xmaxima_default(ConsoleFont) [list $cfont $cfontsize] + set ::xmaxima_default(iLocalPort) 4008 + set ::xmaxima_default(bDebugParse) 0 if {[string index $tk_version 0] == 9} { set maxima_priv(home) [file home] } else { @@ -32,16 +32,16 @@ proc cMAXINITBeforeIni {} { } # from FileDlg.tcl - set maxima_default(OpenDir) "$maxima_priv(home)/" + set ::xmaxima_default(OpenDir) "$maxima_priv(home)/" # The last files opened and saved. Any default value serves # but a good starting value is Xmaxima's initialization file. # TO DO: change ~ for a home directory customized for each system. - set maxima_default(OpenFile) "$maxima_priv(home)/.xmaximarc" - set maxima_default(SaveFile) "$maxima_priv(home)/.xmaximarc" + set ::xmaxima_default(OpenFile) "$maxima_priv(home)/.xmaximarc" + set ::xmaxima_default(SaveFile) "$maxima_priv(home)/.xmaximarc" if { "[info var embed_args]" != "" } { # the following will be defined only in the plugin - set maxima_default(defaultservers) nmtp://some.server.example.org/ + set ::xmaxima_default(defaultservers) nmtp://some.server.example.org/ } set maxima_priv(imgregexp) {[.](gif|png|jpe?g)[^/]*$} @@ -61,7 +61,7 @@ proc cMAXINITReadIni {} { } proc cMAXINITAfterIni {} { - global maxima_default maxima_priv + global maxima_priv lMaxInitSetOpts # from plot3d.tcl @@ -69,16 +69,16 @@ proc cMAXINITAfterIni {} { # from Wmenu.tcl global show_balloons - set show_balloons $maxima_default(iShowBalloons) + set show_balloons $::xmaxima_default(iShowBalloons) # From Browser.tcl global debugParse - set debugParse $maxima_default(bDebugParse) + set debugParse $::xmaxima_default(bDebugParse) - if {[info exists maxima_default(lProxyHttp)] && \ - [llength $maxima_default(lProxyHttp)] == "2"} { + if {[info exists ::xmaxima_default(lProxyHttp)] && \ + [llength $::xmaxima_default(lProxyHttp)] == "2"} { #mike FIXME: make this a _default - set maxima_priv(proxy,http) $maxima_default(lProxyHttp) + set maxima_priv(proxy,http) $::xmaxima_default(lProxyHttp) } } diff --git a/interfaces/xmaxima/Tkmaxima/EOpenplot.tcl b/interfaces/xmaxima/Tkmaxima/EOpenplot.tcl index 0d8f319e6..5d89e96ca 100644 --- a/interfaces/xmaxima/Tkmaxima/EOpenplot.tcl +++ b/interfaces/xmaxima/Tkmaxima/EOpenplot.tcl @@ -46,7 +46,7 @@ proc eval_openplot { program w thisRange resultRange } { #---------------------------------------------------------------- # proc plotWindowName { w command } { - upvar #0 maxima_default(plotwindow) plot + set plot $::xmaxima_default(plotwindow) upvar #0 maxima_priv(plot,count) count set name "" diff --git a/interfaces/xmaxima/Tkmaxima/Fonts.tcl b/interfaces/xmaxima/Tkmaxima/Fonts.tcl index 630695729..4f1a21843 100644 --- a/interfaces/xmaxima/Tkmaxima/Fonts.tcl +++ b/interfaces/xmaxima/Tkmaxima/Fonts.tcl @@ -68,9 +68,7 @@ set fontCourier8 [list $_fixed_default $_pixel] set fixedFont [font create -family $_fixed_default -size $_pixel] set buttonfont [font create -family $_prop_default -size $_pixel] - -global maxima_default -set maxima_default(adjust) 0 +set ::xmaxima_default(adjust) 0 # I think this is too crude and wont work with WM schemes if {0} { catch { @@ -78,7 +76,7 @@ if {0} { if { [winfo width .] >= 500 } { set width_ [winfo width .] } - set maxima_default(adjust) [expr { + set ::xmaxima_default(adjust) [expr { $width_<= 640 ? -1 : $width_<= 800 ? 0 : 1 } ] diff --git a/interfaces/xmaxima/Tkmaxima/Gui.tcl b/interfaces/xmaxima/Tkmaxima/Gui.tcl index c3361ac4a..8b35fafb2 100644 --- a/interfaces/xmaxima/Tkmaxima/Gui.tcl +++ b/interfaces/xmaxima/Tkmaxima/Gui.tcl @@ -8,7 +8,7 @@ # Creates the browser if it doesn't exist proc createBrowser {bname} { - global maxima_priv maxima_default + global maxima_priv if {[winfo exists $bname]} { focus $bname } else { @@ -23,13 +23,13 @@ proc createBrowser {bname} { OpenMathOpenUrl "xmaxima://error" -toplevel $bname } set maxima_priv(cBrowser) $bname - set Maxima_default(browser) 1 + set ::xmaxima_default(browser) 1 # Adds the menubar and the toolbar to the browser vMAXAddBrowserMenu $bname}} # Creates the Maxima console proc createConsole {cname} { - global maxima_priv maxima_default + global maxima_priv # Makes the status panel.... set st .status frame $st @@ -88,10 +88,10 @@ proc createConsole {cname} { wm protocol . WM_DELETE_WINDOW [list maxExit $w] # Sets up the console size and font - $w configure -height $maxima_default(iConsoleHeight) \ - -width $maxima_default(iConsoleWidth) - font configure ConsoleFont -family [lindex $maxima_default(ConsoleFont) 0] \ - -size [lindex $maxima_default(ConsoleFont) 1] + $w configure -height $::xmaxima_default(iConsoleHeight) \ + -width $::xmaxima_default(iConsoleWidth) + font configure ConsoleFont -family [lindex $::xmaxima_default(ConsoleFont) 0] \ + -size [lindex $::xmaxima_default(ConsoleFont) 1] $w configure -font ConsoleFont # Adds the menu bar to the Maxima console diff --git a/interfaces/xmaxima/Tkmaxima/Menu.tcl b/interfaces/xmaxima/Tkmaxima/Menu.tcl index de6e92295..6cb2ed9f3 100644 --- a/interfaces/xmaxima/Tkmaxima/Menu.tcl +++ b/interfaces/xmaxima/Tkmaxima/Menu.tcl @@ -7,15 +7,15 @@ ############################################################ proc zoomConsole {f} { - global maxima_default maxima_priv - set ffamily [lindex $maxima_default(ConsoleFont) 0] - set fsize [lindex $maxima_default(ConsoleFont) 1] + global maxima_priv + set ffamily [lindex $::xmaxima_default(ConsoleFont) 0] + set fsize [lindex $::xmaxima_default(ConsoleFont) 1] set fsize [expr round($fsize*pow(1.2,$f))] font configure ConsoleFont -family $ffamily -size $fsize set text $maxima_priv(cConsoleText) resizeSubPlotWindows $text [winfo width $text] [winfo height $text] resizeMaxima $text [winfo width $text] [winfo height $text] - set maxima_default(ConsoleFont) [list $ffamily $fsize] + set ::xmaxima_default(ConsoleFont) [list $ffamily $fsize] } proc fileType {type} { @@ -29,9 +29,8 @@ proc fileType {type} { return [list {"All Files" *}]}} proc getOpenFile {title {type "all"}} { - global maxima_default set types [fileType $type] - set file $maxima_default(OpenFile) + set file $::xmaxima_default(OpenFile) if {$file ne ""} {set dir [file dir $file]} {set dir ""} set proc tk_getOpenFile set list [list $proc -title $title -filetypes $types] @@ -41,13 +40,12 @@ proc getOpenFile {title {type "all"}} { tk_messageBox -title Error -icon error -message \ [mc "Error opening file:\n%s" $errorInfo] return ""} - if {$retval ne ""} { set maxima_default(OpenFile) $retval } + if {$retval ne ""} { set ::xmaxima_default(OpenFile) $retval } return $retval} proc getSaveFile {title {type "all"}} { - global maxima_default set types [fileType $type] - set file $maxima_default(SaveFile) + set file $::xmaxima_default(SaveFile) if {$file ne ""} {set dir [file dir $file]} {set dir ""} set proc tk_getSaveFile set list [list $proc -title $title -filetypes $types] @@ -57,7 +55,7 @@ proc getSaveFile {title {type "all"}} { tk_messageBox -title Error -icon error -message \ [mc "Error saving file:\n%s" $errorInfo] return ""} - if {$retval ne ""} { set maxima_default(SaveFile) $retval } + if {$retval ne ""} { set ::xmaxima_default(SaveFile) $retval } return $retval} proc cIDECreateEvent {text label code} { @@ -81,8 +79,7 @@ proc pMAXSaveTexToFile {text} { } proc vMAXAddBrowserMenu {win} { - global maxima_priv maxima_default - global tcl_platform env + global maxima_priv tcl_platform env if {[winfo exists .browser.menu]} {destroy .browser.menu} set bm .browser.menu @@ -113,8 +110,7 @@ proc vMAXAddBrowserMenu {win} { } proc vMAXAddSystemMenu {fr text} { - global maxima_priv maxima_default - global tcl_platform env + global maxima_priv tcl_platform env set win $fr.textcommands # Build a menubar @@ -253,7 +249,7 @@ proc vMAXAddSystemMenu {fr text} { $m add cascade -label [mc "Plot Windows"] -menu $pm foreach elt { embedded separate multiple } { $pm add radio -label [mc [string totit $elt]] \ - -variable maxima_default(plotwindow) \ + -variable ::xmaxima_default(plotwindow) \ -value $elt -command [list SetPlotFormat $text ] } # $m add separator @@ -395,8 +391,7 @@ proc vMAXAddSystemBar {} { } proc SetPlotFormat { text } { - global maxima_default - if { $maxima_default(plotwindow) == "embedded" } { + if { $::xmaxima_default(plotwindow) == "embedded" } { sendMaxima $text ":lisp-quiet (prog2 (\$set_plot_option '((mlist simp) \$plot_format \$xmaxima)) nil) \n" } } diff --git a/interfaces/xmaxima/Tkmaxima/Myhtml.tcl b/interfaces/xmaxima/Tkmaxima/Myhtml.tcl index 929e19d97..0f534180d 100644 --- a/interfaces/xmaxima/Tkmaxima/Myhtml.tcl +++ b/interfaces/xmaxima/Tkmaxima/Myhtml.tcl @@ -206,7 +206,7 @@ proc xHMsetFont { win fonttag } { # on font type. proc xHMmapFont { fonttag } { # font:family:weight:style:size - global maxima_default xHMfonts + global xHMfonts if { [info exists xHMfonts($fonttag) ] } { return $xHMfonts($fonttag) } else { @@ -219,8 +219,7 @@ proc xHMsetFont { win fonttag } { proc xHMconfigFont { fonttag } { # font:family:weight:style:size - global maxima_default xHMfonts - + global xHMfonts set font $xHMfonts($fonttag) set s [split $fonttag :] if {[llength $s] < "2"} { @@ -231,14 +230,14 @@ proc xHMsetFont { win fonttag } { if { "$fam" == "" } { set fam propor } - set si [expr {$maxima_default($fam,adjust) + [lindex $s 4]}] + set si [expr {$::xmaxima_default($fam,adjust) + [lindex $s 4]}] #set si [lindex $s 4] set si [expr {($si < 1 ? 1 : ($si > 8 ? 8 : $si))}] set elt [lindex $s 1] - if {![info exists maxima_default($fam)]} { + if {![info exists ::xmaxima_default($fam)]} { error [concat [mc "Internal font error:"] "'$fam'"] } - set family $maxima_default($fam) + set family $::xmaxima_default($fam) set weight [lindex $s 2] set slant [lindex $s 3] if { "$slant" == "i" } { @@ -246,14 +245,14 @@ proc xHMsetFont { win fonttag } { } else { set slant roman } - #puts "font config $font -family $family -size $maxima_default($fam,$si) -slant $slant -weight $weight" + #puts "font config $font -family $family -size $::xmaxima_default($fam,$si) -slant $slant -weight $weight" global tcl_platform if { "$tcl_platform(platform)" == "unix" } { set usePixel "-" } else { set usePixel "" } - font config $font -family $family -size $usePixel$maxima_default($fam,$si) -slant $slant -weight $weight + font config $font -family $family -size $usePixel$::xmaxima_default($fam,$si) -slant $slant -weight $weight return } @@ -1052,7 +1051,7 @@ proc xHMassureNewlines { n } { } proc xHMsetDefaultPreferences {} { - global maxima_default tcl_platform + global tcl_platform if { "$tcl_platform(platform)" == "unix" } { set pairs { 1 8 @@ -1077,11 +1076,11 @@ proc xHMsetDefaultPreferences {} { } foreach fam {propor fixed} { - foreach {n si} $pairs { set maxima_default($fam,$n) $si} + foreach {n si} $pairs { set ::xmaxima_default($fam,$n) $si} } - set maxima_default(propor,adjust) [expr {$maxima_default(adjust) + 0}] - set maxima_default(fixed,adjust) [expr {$maxima_default(adjust) + 0}] - array set maxima_default { propor arial fixed courier indentwidth .7 } + set ::xmaxima_default(propor,adjust) [expr {$::xmaxima_default(adjust) + 0}] + set ::xmaxima_default(fixed,adjust) [expr {$::xmaxima_default(adjust) + 0}] + array set ::xmaxima_default { propor arial fixed courier indentwidth .7 } } xHMsetDefaultPreferences @@ -1094,7 +1093,6 @@ proc dputs {x} { proc xHMinit_state { win args } { upvar #0 xHMvar$win wvar upvar #0 xHMtaglist$win taglist - global maxima_default array set saveme [array get wvar W_*] catch { unset wvar} catch { unset taglist} @@ -1188,13 +1186,12 @@ proc toPixelWidth { dim win } { proc xHMinit_win { win } { upvar #0 xHMvar$win wvar - global maxima_default # global xHMvar$win # catch { unset xHMvar$win } xHMinit_state $win $win config -font [xHMmapFont font:fixed:normal:r:3] catch { eval destroy [winfo children $win] } - set iwidth [toPixelWidth [set maxima_default(indentwidth)]c $win] + set iwidth [toPixelWidth [set ::xmaxima_default(indentwidth)]c $win] # puts iwidth=$iwidth for { set i 0 } { $i < 12 } { incr i } { set half [expr {$iwidth/2.0 }] diff --git a/interfaces/xmaxima/Tkmaxima/Myhtml1.tcl b/interfaces/xmaxima/Tkmaxima/Myhtml1.tcl index 98dfa3e7b..4a8c08107 100644 --- a/interfaces/xmaxima/Tkmaxima/Myhtml1.tcl +++ b/interfaces/xmaxima/Tkmaxima/Myhtml1.tcl @@ -72,7 +72,7 @@ defTag netmath -body { defTag math -body { set paramList [xHMsplitParams $params] upvar #0 xHMtaglist$win taglist - global xHMpriv maxima_default + global xHMpriv set pre {$} if { [xHMextract_param $paramList display] } { set pre {$\displaystyle} @@ -88,7 +88,7 @@ defTag math -body { } set si [expr {($si < 1 ? 1 : ($si > 7 ? 7 : $si))}] - set ptsize $maxima_default([lindex $wvar(family) end],$si) + set ptsize $::xmaxima_default([lindex $wvar(family) end],$si) if { [regexp & $text] } { set text [xHMconvert_ampersand $text] } diff --git a/interfaces/xmaxima/Tkmaxima/OpenMath.tcl b/interfaces/xmaxima/Tkmaxima/OpenMath.tcl index 58c6fd6b0..4b0014153 100644 --- a/interfaces/xmaxima/Tkmaxima/OpenMath.tcl +++ b/interfaces/xmaxima/Tkmaxima/OpenMath.tcl @@ -416,7 +416,7 @@ if { [catch { package require Safesock } ] } { proc mkOpenMath { win } { - global maxima_priv + global maxima_priv set w $win if {[winfo exists $w]} {catch {destroy $w}} @@ -628,11 +628,10 @@ proc doInvoke { w index } { } else { global err if { [catch { sendOneInsertTextWin $program [eval $w get $this] $w $this $nextResult} err ] && [regexp "Can't connect" $err ]} { - global maxima_default set now [encodeURL [oget $w baseprogram] ] - set tem [ldelete $now $maxima_default(defaultservers)] + set tem [ldelete $now $::xmaxima_default(defaultservers)] if { [tk_dialog .jil 0 "$err: connect to one of $tem?" "" 0 change "keep $now"] == 0 } { - set maxima_default(defaultservers) $tem + set ::xmaxima_default(defaultservers) $tem oset $w baseprogram [decodeURL [getBaseprogram]] doInvoke $w $index return diff --git a/interfaces/xmaxima/Tkmaxima/Prefs.tcl b/interfaces/xmaxima/Tkmaxima/Prefs.tcl index a115b20cb..d5e85cf79 100644 --- a/interfaces/xmaxima/Tkmaxima/Prefs.tcl +++ b/interfaces/xmaxima/Tkmaxima/Prefs.tcl @@ -3,9 +3,7 @@ # $Id: Prefs.tcl,v 1.4 2002-09-13 17:42:21 mikeclarkson Exp $ # proc resetMaximaFont { w } { - global maxima_default - - $w config -font [xHMmapFont font:fixed:normal:r:[expr $maxima_default(fontAdjust) + 3]] + $w config -font [xHMmapFont font:fixed:normal:r:[expr $::xmaxima_default(fontAdjust) + 3]] } diff --git a/interfaces/xmaxima/Tkmaxima/RunMaxima.tcl b/interfaces/xmaxima/Tkmaxima/RunMaxima.tcl index 3d8cfd223..94d9addd8 100644 --- a/interfaces/xmaxima/Tkmaxima/RunMaxima.tcl +++ b/interfaces/xmaxima/Tkmaxima/RunMaxima.tcl @@ -97,13 +97,13 @@ proc acceptMaxima { win port filter } { } proc openMaxima { win filter } { - global maxima_priv env maxima_default + global maxima_priv env if {$maxima_priv(localMaximaServer) == ""} { return -code error [mc "Could not start Maxima - empty command"] } - set port $maxima_default(iLocalPort) + set port $::xmaxima_default(iLocalPort) set port [acceptMaxima $win $port $filter] if { $port >= 0 } { set com "" @@ -327,8 +327,7 @@ if { ![info exists maxima_priv(timeout)] } { } proc runOneMaxima { win } { - global maxima_priv - global pdata + global maxima_priv pdata closeMaxima $win linkLocal $win pid @@ -522,8 +521,6 @@ proc CMinterrupt { win } { } proc doShowPlot { w data } { - global maxima_default - #puts data=$data set command [lindex [lindex $data 0] 0] set name [plotWindowName $w $command] diff --git a/interfaces/xmaxima/xmaxima-trailer.tcl b/interfaces/xmaxima/xmaxima-trailer.tcl index 2a73f678c..f015b36f6 100644 --- a/interfaces/xmaxima/xmaxima-trailer.tcl +++ b/interfaces/xmaxima/xmaxima-trailer.tcl @@ -1,5 +1,4 @@ # xmaxima-trailer.tcl -# Time-stamp: "2024-04-01 14:13:55 villate" # # Attach this at the bottom of the xmaxima code to start up the interface. @@ -53,7 +52,7 @@ if { [llength $maxima_priv(plotfile)] > 0 } { wm deiconify . # Creates the browser in a separate window - if {$maxima_default(browser)} {createBrowser .browser} + if {$::xmaxima_default(browser)} {createBrowser .browser} ### end of replacement o object gui ----------------------------------------------------------------------- Summary of changes: interfaces/xmaxima/Tkmaxima/Browser.tcl | 37 +++++++++++++--------------- interfaces/xmaxima/Tkmaxima/Constants.tcl | 40 +++++++++++++++---------------- interfaces/xmaxima/Tkmaxima/EOpenplot.tcl | 2 +- interfaces/xmaxima/Tkmaxima/Fonts.tcl | 6 ++--- interfaces/xmaxima/Tkmaxima/Gui.tcl | 14 +++++------ interfaces/xmaxima/Tkmaxima/Menu.tcl | 29 ++++++++++------------ interfaces/xmaxima/Tkmaxima/Myhtml.tcl | 29 ++++++++++------------ interfaces/xmaxima/Tkmaxima/Myhtml1.tcl | 4 ++-- interfaces/xmaxima/Tkmaxima/OpenMath.tcl | 7 +++--- interfaces/xmaxima/Tkmaxima/Prefs.tcl | 4 +--- interfaces/xmaxima/Tkmaxima/RunMaxima.tcl | 9 +++---- interfaces/xmaxima/xmaxima-trailer.tcl | 3 +-- 12 files changed, 81 insertions(+), 103 deletions(-) hooks/post-receive -- Maxima CAS |
From: villate <vi...@us...> - 2025-07-22 18:06:58
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Maxima CAS". The branch, master has been updated via b5cf06fe80dc22e091d6fd95b3eee872914a6217 (commit) from bb950776daad12ffc0c9d2d915a7567d640ba1ca (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit b5cf06fe80dc22e091d6fd95b3eee872914a6217 Author: villate <vi...@fe...> Date: Tue Jul 22 19:05:43 2025 +0100 In my opinion, the headers look better with a less saturated background color. It also makes it look different from the example boxes. diff --git a/doc/info/manual.css b/doc/info/manual.css index 349d48b64..6ab5f2188 100644 --- a/doc/info/manual.css +++ b/doc/info/manual.css @@ -56,7 +56,7 @@ img { /* Put background color on the navigation bar */ div.header { - background-color: #DDDDFF; + background-color: #F2F1F0; padding: 3px 10px; } @media screen and (min-width: 600px) { ----------------------------------------------------------------------- Summary of changes: doc/info/manual.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- Maxima CAS |
From: villate <vi...@us...> - 2025-07-22 17:38:45
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Maxima CAS". The branch, master has been updated via bb950776daad12ffc0c9d2d915a7567d640ba1ca (commit) from a1a98c23f745fb050a57967ddd744c443f6dda00 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit bb950776daad12ffc0c9d2d915a7567d640ba1ca Author: villate <vi...@fe...> Date: Tue Jul 22 18:37:47 2025 +0100 Updates the icon for the html version of the manual to the modern version. diff --git a/doc/info/Makefile.am b/doc/info/Makefile.am index a4052c5c5..a4c394d84 100644 --- a/doc/info/Makefile.am +++ b/doc/info/Makefile.am @@ -61,6 +61,7 @@ figures/dynamics5.png\ figures/dynamics6.png\ figures/dynamics7.png\ figures/dynamics8.png\ +figures/maxima.svg\ figures/maxima-unicode-display-variety-1-ascii.png\ figures/maxima-unicode-display-variety-1.png\ figures/plotdf1.png\ diff --git a/doc/info/figures/favicon.ico b/doc/info/figures/favicon.ico index c476352a2..a488692fe 100644 Binary files a/doc/info/figures/favicon.ico and b/doc/info/figures/favicon.ico differ diff --git a/doc/info/figures/maxima.svg b/doc/info/figures/maxima.svg new file mode 100644 index 000000000..5c618497b --- /dev/null +++ b/doc/info/figures/maxima.svg @@ -0,0 +1,63 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!-- Maxima logo - Jaime E. Villate, 2014 --> +<svg height="120" width="120" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<defs> +<filter id="shadow" filterUnits="objectBoundingBox" width="1.4" +height="1.4"> +<feGaussianBlur in="SourceAlpha" stdDeviation="4" /> +<feOffset dx="4" dy="4" /> +<feComponentTransfer result="shadow"> +<feFuncA type="linear" slope=".5" intercept="0" /> +</feComponentTransfer> +</filter> +<filter id="emboss" > +<feGaussianBlur in="SourceAlpha" stdDeviation="2" result="blur"/> +<feSpecularLighting in="blur" surfaceScale="-3" +style="lighting-color:white" specularConstant="1" +specularExponent="16" result="spec" kernelUnitLength="1" > +<feDistantLight azimuth="45" elevation="45" /> +</feSpecularLighting> +<feComposite in="spec" in2="SourceGraphic" operator="in" result="specOut"/> +</filter> +<path d="M20.04,-75.84 H40.32 C54.24,-75.84 57.96,-73.08 60,-61.2 H63.12 +L61.92,-80.76 H2.64 L28.8,-38.4 0.6,0 H64.2 L70.68,-21.6 H67.56 +C63.72,-12 60.12,-9.96 46.2,-9.96 H14.16 L39.48,-44.28 20.04,-75.84 Z" +id="Sigma"/> +<path d="M64.704,-55.008 V-11.52 C64.704,-3.552 63.552,-2.304 55.968,-1.824 +H82.848 V-1.824 C75.84,-2.304 74.496,-3.648 74.496,-10.464 V-53.088 +C74.496,-59.904 75.744,-61.152 82.848,-61.728 V-63.552 H63.744 L42.528,-15.072 +20.352,-63.552 H1.344 V-61.728 C9.216,-61.248 10.464,-60.096 10.464,-53.088 +V-14.112 C10.464,-4.224 9.12,-2.4 1.152,-1.824 H23.712 V-1.824 +C16.32,-2.208 14.688,-4.416 14.688,-14.112 V-52.8 L38.784,0 H40.128 +L64.704,-55.008 Z" id="M"/> +<path d="M36.12,-91.68 C35.04,-91.8 34.08,-91.92 33.48,-91.92 28.08,-91.92 +22.68,-87.6 21.84,-82.68 21.12,-78.24 23.16,-75.6 28.68,-73.92 25.32,-71.04 +23.16,-67.44 22.44,-63.48 21.72,-58.92 23.04,-55.08 26.88,-50.76 22.2,-47.64 +19.92,-45.84 17.4,-43.44 12.24,-38.4 8.4,-31.08 7.32,-24.12 5.64,-14.64 +9.12,-5.88 15.72,-2.28 19.32,-0.36 23.76,0.36 31.08,0.36 33.24,0.36 35.88,0.24 +41.64,0 46.32,-0.24 49.44,3.24 48.72,7.92 48.0,12.48 44.16,15.84 39.72,15.84 +39.12,15.84 36.84,15.6 34.56,15.12 31.8,14.76 30.84,14.64 29.76,14.64 +26.76,14.64 24.36,16.68 23.88,19.68 23.16,23.76 26.76,26.64 32.64,26.64 +38.28,26.64 42.96,24.24 47.76,19.08 51.96,14.52 54.72,9 55.68,3.48 56.64,-1.92 +55.32,-6.12 51.96,-9 49.56,-11.16 46.92,-11.76 41.52,-11.76 H31.08 +C25.92,-11.76 21.96,-12.24 19.92,-13.2 15.24,-15.48 12.6,-21.12 13.68,-27.36 +15.12,-35.88 21.48,-43.08 32.52,-48.84 35.64,-47.64 38.04,-47.28 41.76,-47.28 +51.24,-47.28 57.36,-49.8 58.08,-54 58.56,-56.76 55.68,-58.32 50.4,-58.32 +45.72,-58.32 41.16,-57 32.16,-53.28 27.6,-57 26.4,-59.4 27,-63.24 27.6,-66.96 +30.48,-70.56 35.52,-73.92 41.52,-74.16 45.72,-74.88 49.32,-76.56 53.64,-78.6 +56.88,-81.6 57.24,-84.36 57.72,-86.64 55.92,-87.96 52.56,-87.96 48.12,-87.96 +42.72,-85.2 33.96,-78.36 30.12,-78.48 27.96,-80.76 28.56,-83.88 28.92,-86.52 +31.32,-88.32 35.76,-89.52 L36.12,-91.68Z" id="xi" /> +</defs> +<g> +<use xlink:href="#xi" x="-5" y="93" style="filter:url(#shadow);" /> +<use xlink:href="#xi" x="-5" y="93" style="fill:rgb(0,0,128);" /> +<use xlink:href="#xi" x="-5" y="93" style="filter:url(#emboss)" /> +<use xlink:href="#Sigma" x="50" y="93" style="filter:url(#shadow);" /> +<use xlink:href="#Sigma" x="50" y="93" style="fill:rgb(0,0,128);" /> +<use xlink:href="#Sigma" x="50" y="93" style="filter:url(#emboss);" /> +<use xlink:href="#M" x="23" y="89" style="filter:url(#shadow);"/> +<use xlink:href="#M" x="23" y="89" style="fill:rgb(180,0,0);"/> +<use xlink:href="#M" x="23" y="89" style="filter:url(#emboss);"/> +</g> +</svg> diff --git a/doc/info/texi2html.init.in b/doc/info/texi2html.init.in index 77f1faa71..2c7fd4ad3 100644 --- a/doc/info/texi2html.init.in +++ b/doc/info/texi2html.init.in @@ -1,4 +1,5 @@ -@TEXI_EXTRA_HEAD@ q{<link rel="icon" href="figures/favicon.ico"> +@TEXI_EXTRA_HEAD@ q{<link rel="icon" type="image/svg+xml" href="figures/maxima.svg"> +<link rel="alternate icon" href="figures/favicon.ico"> @HIGHLIGHT1@ @HIGHLIGHT2@ @NEED_MATHJAX@} ----------------------------------------------------------------------- Summary of changes: doc/info/Makefile.am | 1 + doc/info/figures/favicon.ico | Bin 318 -> 1150 bytes .../info/figures/maxima.svg | 20 ++++++++++---------- doc/info/texi2html.init.in | 3 ++- 4 files changed, 13 insertions(+), 11 deletions(-) copy interfaces/xmaxima/net.sourceforge.maxima.svg => doc/info/figures/maxima.svg (81%) hooks/post-receive -- Maxima CAS |
From: villate <vi...@us...> - 2025-07-22 13:55:12
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Maxima CAS". The branch, master has been updated via a1a98c23f745fb050a57967ddd744c443f6dda00 (commit) from 4f56d6a75437353abfdc7a797b1ab8a824894ae5 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit a1a98c23f745fb050a57967ddd744c443f6dda00 Author: villate <vi...@fe...> Date: Tue Jul 22 14:53:01 2025 +0100 An adaptive version for the HTML version of the manual. The stylesheet manual.css now overrides some default CSS properties of makeinfo. Tha page will now be installed together with the .html pages of the manual. diff --git a/common-html.mk b/common-html.mk index 8f4455341..af18aacde 100644 --- a/common-html.mk +++ b/common-html.mk @@ -3,7 +3,7 @@ # htmlinstdir -- html installation directory install-data-local: install-maxima-html -install-maxima-html: $(wildcard index.html $(htmlname).html $(htmlname)_*.html) +install-maxima-html: $(wildcard index.html manual.css $(htmlname).html $(htmlname)_*.html) @d=$(DESTDIR)$(htmlinstdir); \ test -d $$d && $(mkinstalldirs) $$d; \ list="$^"; for p in $$list; do \ @@ -30,6 +30,7 @@ install-maxima-html: $(wildcard index.html $(htmlname).html $(htmlname)_*.html) uninstall-local: uninstall-maxima-html uninstall-maxima-html: rm -f $(DESTDIR)$(htmlinstdir)/index.html + rm -f $(DESTDIR)$(htmlinstdir)/manual.css rm -f $(DESTDIR)$(htmlinstdir)/$(htmlname).html rm -f $(DESTDIR)$(htmlinstdir)/$(htmlname)_*.html diff --git a/doc/info/manual.css b/doc/info/manual.css index a75140de4..349d48b64 100644 --- a/doc/info/manual.css +++ b/doc/info/manual.css @@ -1,8 +1,13 @@ +/* Overrides to the default Makeinfo CSS */ +div.display {margin-left: 0} +div.example {margin-left: 0} +/* end of overrides */ + body { color: black; background: white; - margin-left: 8%; - margin-right: 13%; + margin-left: 5px; + margin-right: 5px; font-family: "FreeSans", sans-serif } h1 { font-size: 150%; font-family: "FreeSans", sans-serif } @@ -28,7 +33,7 @@ div.synopsisbox { } pre.example, pre.example-preformatted { border: 1px solid rgb(180,180,180); - padding: 1em; + padding: 5px; background-color: rgb(238,238,255); /* Add scrollbar for examples for narrow windows */ overflow: auto @@ -54,4 +59,13 @@ div.header { background-color: #DDDDFF; padding: 3px 10px; } - +@media screen and (min-width: 600px) { + body { + max-width: 900px; + margin-left: auto; + margin-right: auto; + } + div.display { margin: 0 2em } + div.example { margin: 0 2em } + pre.example, pre.example-preformatted { padding: 1em } +} ----------------------------------------------------------------------- Summary of changes: common-html.mk | 3 ++- doc/info/manual.css | 22 ++++++++++++++++++---- 2 files changed, 20 insertions(+), 5 deletions(-) hooks/post-receive -- Maxima CAS |
From: villate <vi...@us...> - 2025-07-22 10:55:55
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Maxima CAS". The branch, master has been updated via 4f56d6a75437353abfdc7a797b1ab8a824894ae5 (commit) from 87ecbc72c3d5e8b4f08534779d88d4d8a91ad0e2 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 4f56d6a75437353abfdc7a797b1ab8a824894ae5 Author: villate <vi...@fe...> Date: Tue Jul 22 11:49:01 2025 +0100 Fixes the background color of the navigation bar of the HTML manual pages. As far as I know, we have never used "nav-panel" for the navigation bar; the bar is inside a div of class header (at least in texinfo 6.8 which I'm using). Some other visual enhancements to the CSS stylesheet. TO DO: manual.css must be installed together with the .html files and the HTML files must not include their own stylesheet, which defies the purpose of manual.css diff --git a/doc/info/manual.css b/doc/info/manual.css index 2df5a72a6..a75140de4 100644 --- a/doc/info/manual.css +++ b/doc/info/manual.css @@ -1,36 +1,57 @@ -body {color: black; background: white; margin-left: 8%; margin-right: 13%; - font-family: "FreeSans", sans-serif} -h1 {font-size: 150%; font-family: "FreeSans", sans-serif} -h2 {font-size: 125%; font-family: "FreeSans", sans-serif} -h3 {font-size: 100%; font-family: "FreeSans", sans-serif} -a[href] {color: rgb(0,0,255); text-decoration: none;} -a[href]:hover {background: rgb(220,220,220);} -div.textbox {border: solid; border-width: thin; padding-top: 1em; - padding-bottom: 1em; padding-left: 2em; padding-right: 2em} -div.titlebox {border: none; padding-top: 1em; padding-bottom: 1em; - padding-left: 2em; padding-right: 2em; background: rgb(200,255,255); - font-family: sans-serif} +body { + color: black; + background: white; + margin-left: 8%; + margin-right: 13%; + font-family: "FreeSans", sans-serif +} +h1 { font-size: 150%; font-family: "FreeSans", sans-serif } +h2 { font-size: 125%; font-family: "FreeSans", sans-serif } +h3 { font-size: 100%; font-family: "FreeSans", sans-serif } +a[href] { color: rgb(0,0,255); text-decoration: none } +a[href]:hover {background: rgb(220,220,220) } +div.textbox { + border: solid; + border-width: thin; + padding: 1em 2em; +} +div.titlebox { + border: none; + padding-top: 1em 2em; + background: rgb(200,255,255); + font-family: "FreeSans", sans-serif +} div.synopsisbox { - border: none; padding-top: 1em; padding-bottom: 1em; padding-left: 2em; - padding-right: 2em; background: rgb(255,220,255);} + border: none; + padding-top: 1em 2em; + background: rgb(255,220,255) +} pre.example, pre.example-preformatted { border: 1px solid rgb(180,180,180); - padding-top: 1em; - padding-bottom: 1em; - padding-left: 1em; - padding-right: 1em; + padding: 1em; background-color: rgb(238,238,255); /* Add scrollbar for examples for narrow windows */ - overflow: auto; + overflow: auto } -div.spacerbox {border: none; padding-top: 2em; padding-bottom: 2em} -div.image {margin: 0; padding: 1em; text-align: center} -div.categorybox {border: 1px solid gray; padding-top: 1em; padding-bottom: 1em; - padding-left: 1em; padding-right: 1em; background: rgb(247,242,220)} -img {max-width:80%; max-height: 80%; display: block; margin-left: auto; margin-right: auto} +div.spacerbox { border: none; padding: 2em 0 } +div.image { margin: 0; padding: 1em; text-align: center } +div.categorybox { + border: 1px solid gray; + padding: 1em; + background: rgb(247,242,220) +} +img { + max-width:80%; + max-height: 80%; + display: block; + margin-left: auto; + margin-right: auto +} /* Put background color on the navigation bar */ -.nav-panel { +div.header { background-color: #DDDDFF; + padding: 3px 10px; } + ----------------------------------------------------------------------- Summary of changes: doc/info/manual.css | 71 ++++++++++++++++++++++++++++++++++------------------- 1 file changed, 46 insertions(+), 25 deletions(-) hooks/post-receive -- Maxima CAS |
From: rtoy <rt...@us...> - 2025-07-21 16:04:59
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Maxima CAS". The branch, master has been updated via 87ecbc72c3d5e8b4f08534779d88d4d8a91ad0e2 (commit) via 8476bb548e40b0e6692d40f653f726c3f9ecddc5 (commit) from aa96b9d794666c3fd25156308065363cc523b282 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- ----------------------------------------------------------------------- Summary of changes: doc/info/manual.css | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) hooks/post-receive -- Maxima CAS |
From: rtoy <rt...@us...> - 2025-07-21 16:04:35
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Maxima CAS". The branch, bug-4577-navbar-background-and-example-scrollbar has been updated via 87ecbc72c3d5e8b4f08534779d88d4d8a91ad0e2 (commit) via aa96b9d794666c3fd25156308065363cc523b282 (commit) via 87f6f7305b00a3d4677fc2147aaa7dab690fd9c6 (commit) via 2438c509d3e5691f191b99f7f28f7bcfc935f48e (commit) via 707a271359f809132bb48871b89a34dbc124160d (commit) via 4f885a69244ca4bca6304bc485521441c8c8961a (commit) via 7001c0287b0c55fd36c17f526060766587dad195 (commit) via 953e3047444df4fd379b6345a972c2a3fec6c50f (commit) via d1da25f9fd2c8a73d7fe79d7057672ea1ccf00f9 (commit) via b522ed3219efb3006032390ae94c7b95bf76d5e0 (commit) via 07e02d5f45c07418cbafe5fa19d4f5baf053e1ae (commit) via 53740f344525fe24dcd9f7ccfd47ccd25665d438 (commit) via 9eb2a8e5c581fddef714a6c86e33ef3dc285c6b8 (commit) via e1a91077c67f0e10e5c10885f0db1377e1cd33f8 (commit) via 6d453cecdd040cdc38f4ff66fc2c7d1e9e2ad93e (commit) via fb6d06f2a68b3c4c5198a6df6ee0306ea95980b1 (commit) via 050f4ea033e6e1c4a17aad2b6c2eadc7ec319b59 (commit) via 78fd98e1042c5ab74cf4d035a4bdc43ab2ee4752 (commit) via 07ec604bfea7910018544ab152a4d1d92498d2b8 (commit) via 227d11d128fc26962a4251c345c9928e60295c66 (commit) via f312d41b7105caf2380071fc1a18e879a74965f0 (commit) via 3fc6f6c21850ddae1044dc22e4a7a1e232176791 (commit) via 62ff00785d32313d870f816fc75f9fffb67cb961 (commit) from 8476bb548e40b0e6692d40f653f726c3f9ecddc5 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 87ecbc72c3d5e8b4f08534779d88d4d8a91ad0e2 Merge: 8476bb548 aa96b9d79 Author: Raymond Toy <toy...@gm...> Date: Mon Jul 21 09:01:40 2025 -0700 Merge branch 'master' into bug-4577-navbar-background-and-example-scrollbar ----------------------------------------------------------------------- Summary of changes: ChangeLog | 12 +- configure.ac | 4 + demo/manual.demo | 22 +- doc/info/Constants.texi.m4 | 28 +- doc/info/Integration.texi.m4 | 426 ++++++++++++++-------------- doc/info/Matrices.texi.m4 | 24 +- doc/info/Special.texi.m4 | 18 +- doc/info/build_html.sh.in | 2 +- doc/info/cobyla.texi.m4 | 14 +- doc/info/colnew.texi.m4 | 96 +++---- doc/info/distrib.texi.m4 | 79 +++--- doc/info/format.texi.m4 | 130 ++++++--- doc/info/levin.texi.m4 | 4 +- doc/info/zeilberger.texi.m4 | 15 +- interfaces/xmaxima/Tkmaxima/Browser.tcl | 26 +- interfaces/xmaxima/Tkmaxima/Gui.tcl | 11 +- interfaces/xmaxima/Tkmaxima/Menu.tcl | 32 ++- interfaces/xmaxima/Tkmaxima/Paths.tcl | 17 +- share/distrib/distrib.mac | 2 +- share/integration/rtest_antid.mac | 11 +- share/to_poly_solve/rtest_to_poly_solve.mac | 16 +- src/simp.lisp | 56 ++-- src/testsuite.lisp | 6 +- tests/rtest14.mac | 11 +- tests/rtest15.mac | 10 +- tests/rtest16.mac | 2 +- tests/rtest7.mac | 6 +- tests/rtest9.mac | 4 +- tests/rtest9a.mac | 4 +- tests/rtest_great.mac | 99 +++++++ tests/rtest_great_slow.mac | 174 ++++++++++++ tests/rtest_hypgeo.mac | 24 +- tests/rtest_integrate.mac | 149 +++++----- tests/rtest_laplace.mac | 16 +- tests/rtest_powerseries.mac | 2 +- tests/rtesthyp.mac | 69 ++--- tests/rtestint.mac | 47 ++- tests/rtestode.mac | 16 +- 38 files changed, 1041 insertions(+), 643 deletions(-) create mode 100644 tests/rtest_great.mac create mode 100644 tests/rtest_great_slow.mac hooks/post-receive -- Maxima CAS |
From: rtoy <rt...@us...> - 2025-07-21 15:59:51
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Maxima CAS". The branch, master has been updated via aa96b9d794666c3fd25156308065363cc523b282 (commit) via 87f6f7305b00a3d4677fc2147aaa7dab690fd9c6 (commit) from 2438c509d3e5691f191b99f7f28f7bcfc935f48e (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- ----------------------------------------------------------------------- Summary of changes: doc/info/distrib.texi.m4 | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) hooks/post-receive -- Maxima CAS |
From: rtoy <rt...@us...> - 2025-07-21 15:58:47
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Maxima CAS". The branch, bug-4583-more-docs-cdf-general-finite-discrete has been created at aa96b9d794666c3fd25156308065363cc523b282 (commit) - Log ----------------------------------------------------------------- commit aa96b9d794666c3fd25156308065363cc523b282 Author: Raymond Toy <toy...@gm...> Date: Mon Jul 21 08:56:46 2025 -0700 Make refs to pdf_general_finite_discrete be a link Replace @code{pdf_general_finite_discrete} with a @ref. This is very nice in the HTML manual so you can click a link to get the referenced section. Also make Pr(X=i) = v_i into math so it shows up nicely in HTML. diff --git a/doc/info/distrib.texi.m4 b/doc/info/distrib.texi.m4 index a949fd61c..1bc42f4d7 100644 --- a/doc/info/distrib.texi.m4 +++ b/doc/info/distrib.texi.m4 @@ -5293,7 +5293,7 @@ Maxima knows the following kinds of discrete distributions @deffn {Function} pdf_general_finite_discrete (@var{x},@var{v}) Returns the value at @var{x} of the probability function of a general finite discrete random variable, with vector probabilities @math{v}, -such that @code{Pr(X=i) = v_i}. Vector @math{v} can be a list of +such that @math{Pr(X=i) = v_i}. Vector @math{v} can be a list of nonnegative expressions whose components will be normalized to get a vector of probabilities. To make use of this function, write first @code{load("distrib")}. @@ -5332,7 +5332,7 @@ Note that @math{i=1} corresponds to the first element of @math{v}. @deffn {Function} cdf_general_finite_discrete (@var{x},@var{v}) Returns the value at @var{x} of the cumulative distribution function of a general finite discrete random variable, with vector probabilities @math{v}. -See @code{pdf_general_finite_discrete} for more details. +See @ref{pdf_general_finite_discrete} for more details. @c ===beg=== @c load ("distrib")$ @@ -5373,7 +5373,7 @@ See @code{pdf_general_finite_discrete} for more details. @deffn {Function} quantile_general_finite_discrete (@var{q},@var{v}) Returns the @var{q}-quantile of a general finite discrete random variable, with vector probabilities @math{v}. -See @code{pdf_general_finite_discrete} for more details. +See @ref{pdf_general_finite_discrete} for more details. @opencatbox{Categories:} @category{Package distrib} @@ -5386,7 +5386,7 @@ See @code{pdf_general_finite_discrete} for more details. @deffn {Function} mean_general_finite_discrete (@var{v}) Returns the mean of a general finite discrete random variable, with vector probabilities @math{v}. -See @code{pdf_general_finite_discrete} for more details. +See @ref{pdf_general_finite_discrete} for more details. @opencatbox{Categories:} @category{Package distrib} @@ -5399,7 +5399,7 @@ See @code{pdf_general_finite_discrete} for more details. @deffn {Function} var_general_finite_discrete (@var{v}) Returns the variance of a general finite discrete random variable, with vector probabilities @math{v}. -See @code{pdf_general_finite_discrete} for more details. +See @ref{pdf_general_finite_discrete} for more details. @opencatbox{Categories:} @category{Package distrib} @@ -5412,7 +5412,7 @@ See @code{pdf_general_finite_discrete} for more details. @deffn {Function} std_general_finite_discrete (@var{v}) Returns the standard deviation of a general finite discrete random variable, with vector probabilities @math{v}. -See @code{pdf_general_finite_discrete} for more details. +See @ref{pdf_general_finite_discrete} for more details. @opencatbox{Categories:} @category{Package distrib} @@ -5425,7 +5425,7 @@ See @code{pdf_general_finite_discrete} for more details. @deffn {Function} skewness_general_finite_discrete (@var{v}) Returns the skewness coefficient of a general finite discrete random variable, with vector probabilities @math{v}. -See @code{pdf_general_finite_discrete} for more details. +See @ref{pdf_general_finite_discrete} for more details. @opencatbox{Categories:} @category{Package distrib} @@ -5438,7 +5438,7 @@ See @code{pdf_general_finite_discrete} for more details. @deffn {Function} kurtosis_general_finite_discrete (@var{v}) Returns the kurtosis coefficient of a general finite discrete random variable, with vector probabilities @math{v}. -See @code{pdf_general_finite_discrete} for more details. +See @ref{pdf_general_finite_discrete} for more details. @opencatbox{Categories:} @category{Package distrib} @@ -5453,7 +5453,7 @@ See @code{pdf_general_finite_discrete} for more details. Returns a general finite discrete random variate, with vector probabilities @math{v}. Calling @code{random_general_finite_discrete} with a second argument @var{m}, a random sample of size @var{m} will be simulated. -See @code{pdf_general_finite_discrete} for more details. +See @ref{pdf_general_finite_discrete} for more details. @c ===beg=== @c load ("distrib")$ commit 87f6f7305b00a3d4677fc2147aaa7dab690fd9c6 Author: Raymond Toy <toy...@gm...> Date: Mon Jul 21 08:47:07 2025 -0700 Fix #4583: More documentation for cdf_general_finite_discrete Just add a note that in pdf_general_finite_discrete that index 1 corresponds to the first element of the list of probabilities. diff --git a/doc/info/distrib.texi.m4 b/doc/info/distrib.texi.m4 index e82ba3b6e..a949fd61c 100644 --- a/doc/info/distrib.texi.m4 +++ b/doc/info/distrib.texi.m4 @@ -5291,7 +5291,14 @@ Maxima knows the following kinds of discrete distributions @anchor{pdf_general_finite_discrete} @deffn {Function} pdf_general_finite_discrete (@var{x},@var{v}) -Returns the value at @var{x} of the probability function of a general finite discrete random variable, with vector probabilities @math{v}, such that @code{Pr(X=i) = v_i}. Vector @math{v} can be a list of nonnegative expressions, whose components will be normalized to get a vector of probabilities. To make use of this function, write first @code{load("distrib")}. +Returns the value at @var{x} of the probability function of a general +finite discrete random variable, with vector probabilities @math{v}, +such that @code{Pr(X=i) = v_i}. Vector @math{v} can be a list of +nonnegative expressions whose components will be normalized to get a +vector of probabilities. To make use of this function, write first +@code{load("distrib")}. + +Note that @math{i=1} corresponds to the first element of @math{v}. @c ===beg=== @c load ("distrib")$ ----------------------------------------------------------------------- hooks/post-receive -- Maxima CAS |
From: rtoy <rt...@us...> - 2025-07-21 15:05:25
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Maxima CAS". The branch, master has been updated via 2438c509d3e5691f191b99f7f28f7bcfc935f48e (commit) from 707a271359f809132bb48871b89a34dbc124160d (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 2438c509d3e5691f191b99f7f28f7bcfc935f48e Author: Raymond Toy <toy...@gm...> Date: Mon Jul 21 08:03:34 2025 -0700 Use --css-ref to load the CSS file Texinfo support --css-ref to specify the CSS file to load. Use that in build_html.sh.in. Remove the link from texi2html.init.in since it's not needed anymore. Tested this with texinfo 6.8, the oldest "officially" supported version for building the user manual. diff --git a/doc/info/build_html.sh.in b/doc/info/build_html.sh.in index fa1d7eedc..d38c78399 100755 --- a/doc/info/build_html.sh.in +++ b/doc/info/build_html.sh.in @@ -207,7 +207,7 @@ fi # There should be no errors in the texi files so don't use "--force -e # 10000" to force building the docs. We want to fail building if # there are errors now. -TEXIOPT="$FORCE --html -c OUTPUT_ENCODING_NAME=UTF-8 -e 10000 --document-lang=$language -I . -I $languagedir -I ../.. -I @abs_srcdir@/figures --init-file $texiinitfile ${SET_HTML_MATH}" +TEXIOPT="$FORCE --html -c OUTPUT_ENCODING_NAME=UTF-8 -e 10000 --document-lang=$language -I . -I $languagedir --css-ref=manual.css -I ../.. -I @abs_srcdir@/figures --init-file $texiinitfile ${SET_HTML_MATH}" # Show the commands. set -x @MAKEINFO@ $FORCE --split=chapter --no-node-files --output="$languagedestdir" $TEXIOPT maxima.texi diff --git a/doc/info/texi2html.init.in b/doc/info/texi2html.init.in index ef79696f4..77f1faa71 100644 --- a/doc/info/texi2html.init.in +++ b/doc/info/texi2html.init.in @@ -1,5 +1,4 @@ @TEXI_EXTRA_HEAD@ q{<link rel="icon" href="figures/favicon.ico"> -<link rel="stylesheet" type="text/css" href="manual.css"> @HIGHLIGHT1@ @HIGHLIGHT2@ @NEED_MATHJAX@} ----------------------------------------------------------------------- Summary of changes: doc/info/build_html.sh.in | 2 +- doc/info/texi2html.init.in | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) hooks/post-receive -- Maxima CAS |
From: rtoy <rt...@us...> - 2025-07-20 22:45:56
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Maxima CAS". The branch, master has been updated via 707a271359f809132bb48871b89a34dbc124160d (commit) via 4f885a69244ca4bca6304bc485521441c8c8961a (commit) via 7001c0287b0c55fd36c17f526060766587dad195 (commit) via 953e3047444df4fd379b6345a972c2a3fec6c50f (commit) via d1da25f9fd2c8a73d7fe79d7057672ea1ccf00f9 (commit) via b522ed3219efb3006032390ae94c7b95bf76d5e0 (commit) via 07e02d5f45c07418cbafe5fa19d4f5baf053e1ae (commit) via 9eb2a8e5c581fddef714a6c86e33ef3dc285c6b8 (commit) via e1a91077c67f0e10e5c10885f0db1377e1cd33f8 (commit) from 53740f344525fe24dcd9f7ccfd47ccd25665d438 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- ----------------------------------------------------------------------- Summary of changes: doc/info/Constants.texi.m4 | 28 ++- doc/info/Integration.texi.m4 | 426 ++++++++++++++++++++++--------------------- doc/info/Matrices.texi.m4 | 24 +-- doc/info/Special.texi.m4 | 18 +- doc/info/cobyla.texi.m4 | 14 +- doc/info/colnew.texi.m4 | 96 +++++----- doc/info/distrib.texi.m4 | 54 +++--- doc/info/format.texi.m4 | 130 ++++++++----- doc/info/levin.texi.m4 | 4 +- doc/info/zeilberger.texi.m4 | 15 +- 10 files changed, 446 insertions(+), 363 deletions(-) hooks/post-receive -- Maxima CAS |
From: rtoy <rt...@us...> - 2025-07-20 21:14:43
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Maxima CAS". The branch, rtoy-regenerate-doc-examples has been updated via 707a271359f809132bb48871b89a34dbc124160d (commit) via 4f885a69244ca4bca6304bc485521441c8c8961a (commit) via 53740f344525fe24dcd9f7ccfd47ccd25665d438 (commit) via 6d453cecdd040cdc38f4ff66fc2c7d1e9e2ad93e (commit) from 7001c0287b0c55fd36c17f526060766587dad195 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 707a271359f809132bb48871b89a34dbc124160d Author: Raymond Toy <toy...@gm...> Date: Sun Jul 20 14:03:33 2025 -0700 Regenerate examples in distrib.texi.m4 Run update_examples. Note that the formula for pdf_bernoulli(1,p) has changed a lot, but the result is correct. diff --git a/doc/info/distrib.texi.m4 b/doc/info/distrib.texi.m4 index 75c76514d..e82ba3b6e 100644 --- a/doc/info/distrib.texi.m4 +++ b/doc/info/distrib.texi.m4 @@ -455,7 +455,7 @@ random variable, with @math{s>0}; in other words, this is the inverse of @mrefdo @end group @group (%i3) float(%); -(%o3) 1.644853626951472 +(%o3) 1.6448536269514724 @end group @end example @@ -986,23 +986,23 @@ Sometimes an extra work is necessary to get the final result. (%i1) load ("distrib")$ @group (%i2) expand(pdf_noncentral_student_t(3,5,0.1)); -rat: replaced 0.01889822365046136 by 15934951/843198350 = 0.01889822365046136 +rat: replaced 0.018898223650461364 by 15934951/843198350 = 0.018898223650461364 rat: replaced -8.734356480209641 by -294697965/33740089 = -8.734356480209641 rat: replaced 4.136255165816327 by 51033443/12338079 = 4.136255165816332 -rat: replaced 1.08061432164203 by 56754827/52520891 = 1.08061432164203 +rat: replaced 1.0806143216420299 by 49366521/45683756 = 1.0806143216420296 rat: replaced 0.0565127306411839 by 5608717/99246965 = 0.05651273064118384 -rat: replaced -300.8069396896258 by -79782423/265228 = -300.8069396896256 +rat: replaced -300.8069396896258 by -79782423/265228 = -300.80693968962555 -rat: replaced 160.6269176184973 by 178374907/1110492 = 160.626917618497 - 7/2 7/2 - 0.04296414417400905 5 1.323650307289301e-6 5 -(%o2) ------------------------ + ------------------------- - 3/2 5/2 sqrt(%pi) +rat: replaced 160.62691761849732 by 178374907/1110492 = 160.62691761849703 + 7/2 7/2 + 0.042964144174009046 5 1.3236503072892878e-6 5 +(%o2) ------------------------- + -------------------------- + 3/2 5/2 sqrt(%pi) 2 14 sqrt(%pi) 7/2 1.94793720435093e-4 5 @@ -1011,7 +1011,7 @@ rat: replaced 160.6269176184973 by 178374907/1110492 = 160.626917618497 @end group @group (%i3) float(%); -(%o3) 0.02080593159405671 +(%o3) 0.020805931594056706 @end group @end example @@ -1397,12 +1397,12 @@ m4_displaymath( (%i1) load ("distrib")$ @group (%i2) pdf_chi2(x,n); - n/2 - 1 - x/2 - x %e unit_step(x) + - x/2 n/2 - 1 + %e x unit_step(x) (%o2) ----------------------------- - n n/2 - gamma(-) 2 - 2 + n/2 n + 2 gamma(-) + 2 @end group @end example @@ -1453,7 +1453,7 @@ where @math{Q(a,z)} is the @ref{gamma_incomplete_regularized} function. @end group @group (%i3) float(%); -(%o3) 0.4421745996289252 +(%o3) 0.44217459962892525 @end group @end example @@ -2316,8 +2316,8 @@ f(x, m) = [ (%i1) load ("distrib")$ @group (%i2) pdf_exp(x,m); - - m x -(%o2) m %e unit_step(x) + - m x +(%o2) %e m unit_step(x) @end group @end example @@ -4358,9 +4358,9 @@ f(x, b) = [ (%i1) load ("distrib")$ @group (%i2) pdf_rayleigh(x,b); - 2 2 - 2 - b x -(%o2) 2 b x %e unit_step(x) + 2 2 + - b x 2 +(%o2) 2 %e b x unit_step(x) @end group @end example @@ -4438,9 +4438,9 @@ m4_Weibull_RV(2,1/b) (%i1) load ("distrib")$ @group (%i2) quantile_rayleigh(0.99,b); - 2.145966026289347 -(%o2) ----------------- - b + 2.1459660262893467 +(%o2) ------------------ + b @end group @end example @@ -5461,7 +5461,7 @@ See @code{pdf_general_finite_discrete} for more details. @end group @group (%i3) random_general_finite_discrete([1,3,1,5], 10); -(%o3) [3, 4, 3, 4, 4, 4, 4, 2, 4, 4] +(%o3) [4, 4, 2, 4, 2, 2, 4, 2, 2, 4] @end group @end example @@ -5774,7 +5774,7 @@ function. @end group @group (%i3) float(%); -(%o3) 0.2650259152973619 +(%o3) 0.26502591529736186 @end group @end example @@ -5972,7 +5972,7 @@ m4_displaymath( (%i1) load ("distrib")$ @group (%i2) pdf_bernoulli(1,p); -(%o2) p +(%o2) if equal(p, 0) then 0 elseif equal(p, 1) then 1 else p @end group @end example commit 4f885a69244ca4bca6304bc485521441c8c8961a Merge: 7001c0287 53740f344 Author: Raymond Toy <toy...@gm...> Date: Sun Jul 20 10:43:55 2025 -0700 Merge branch 'master' into rtoy-regenerate-doc-examples ----------------------------------------------------------------------- Summary of changes: doc/info/build_html.sh.in | 2 +- doc/info/distrib.texi.m4 | 54 +++++++++++++++++++++++----------------------- doc/info/texi2html.init.in | 1 + share/distrib/distrib.mac | 2 +- 4 files changed, 30 insertions(+), 29 deletions(-) hooks/post-receive -- Maxima CAS |
From: rtoy <rt...@us...> - 2025-07-20 16:50:27
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Maxima CAS". The branch, rtoy-regenerate-doc-examples has been updated via 7001c0287b0c55fd36c17f526060766587dad195 (commit) via 953e3047444df4fd379b6345a972c2a3fec6c50f (commit) via d1da25f9fd2c8a73d7fe79d7057672ea1ccf00f9 (commit) via b522ed3219efb3006032390ae94c7b95bf76d5e0 (commit) from 07e02d5f45c07418cbafe5fa19d4f5baf053e1ae (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 7001c0287b0c55fd36c17f526060766587dad195 Author: Raymond Toy <toy...@gm...> Date: Sun Jul 20 09:49:54 2025 -0700 Regenerate examples in zeilberger.texi.m4 Run update_examples. diff --git a/doc/info/zeilberger.texi.m4 b/doc/info/zeilberger.texi.m4 index e919d2656..f256f73ae 100644 --- a/doc/info/zeilberger.texi.m4 +++ b/doc/info/zeilberger.texi.m4 @@ -1,3 +1,4 @@ +@c -*- mode: texinfo -*- @menu * Introduction to zeilberger:: * Functions and Variables for zeilberger:: @@ -131,10 +132,9 @@ Examples: (%i1) load ("zeilberger")$ @group (%i2) GosperSum ((-1)^k*k / (4*k^2 - 1), k, 1, n); -Dependent equations eliminated: (1) - 3 n + 1 - (n + -) (- 1) - 2 1 + n + 1 3 + (- 1) (n + -) + 2 1 (%o2) - ------------------ - - 2 4 2 (4 (n + 1) - 1) @@ -157,14 +157,13 @@ Dependent equations eliminated: (1) @end group @group (%i5) GosperSum ((-1)^k*a! / (k!*(a - k)!), k, 1, n); - n + 1 - a! (n + 1) (- 1) a! + n + 1 + (- 1) a! (n + 1) a! (%o5) - ------------------------- - ---------- - a (- n + a - 1)! (n + 1)! a (a - 1)! + a (- n + a - 1)! (n + 1)! (a - 1)! a @end group @group (%i6) GosperSum (k*k!, k, 1, n); -Dependent equations eliminated: (1) (%o6) (n + 1)! - 1 @end group @group commit 953e3047444df4fd379b6345a972c2a3fec6c50f Author: Raymond Toy <toy...@gm...> Date: Sun Jul 20 09:40:49 2025 -0700 Regenerate examples in Special.texi.m4 Run update_examples diff --git a/doc/info/Special.texi.m4 b/doc/info/Special.texi.m4 index 9a028857f..3793cfcbe 100644 --- a/doc/info/Special.texi.m4 +++ b/doc/info/Special.texi.m4 @@ -237,11 +237,11 @@ Numerical evaluation: @example @group (%i1) hankel_1(1,0.5); -(%o1) 0.24226845767487 - 1.471472392670243 %i +(%o1) 0.24226845767487384 - 1.4714723926702433 %i @end group @group (%i2) hankel_1(1,0.5+%i); -(%o2) - 0.25582879948621 %i - 0.23957560188301 +(%o2) - 0.2558287994862166 %i - 0.23957560188301597 @end group @end example @@ -2873,19 +2873,27 @@ Examples: @c ===end=== @example (%i1) load ("hypergeometric") $ +@group (%i2) foo : [hypergeometric([1,1], [2], z), hypergeometric([1/2], [1], z)]; (%o2) [hypergeometric([1, 1], [2], z), 1 hypergeometric([-], [1], z)] 2 +@end group +@group (%i3) hypergeometric_simp (foo); - log(1 - z) z z/2 -(%o3) [- ----------, bessel_i(0, -) %e ] - z 2 + log(1 - z) z/2 z +(%o3) [- ----------, %e bessel_i(0, -)] + z 2 +@end group +@group (%i4) bar : hypergeometric([n], [m], z + 1); (%o4) hypergeometric([n], [m], z + 1) +@end group +@group (%i5) hypergeometric_simp (bar); (%o5) hypergeometric([n], [m], z + 1) +@end group @end example @opencatbox{Categories:} commit d1da25f9fd2c8a73d7fe79d7057672ea1ccf00f9 Author: Raymond Toy <toy...@gm...> Date: Sun Jul 20 08:26:28 2025 -0700 Regenerate examples in Matrices.texi.m4 Run update_examples. diff --git a/doc/info/Matrices.texi.m4 b/doc/info/Matrices.texi.m4 index aa9cef68f..0e9b3dd9f 100644 --- a/doc/info/Matrices.texi.m4 +++ b/doc/info/Matrices.texi.m4 @@ -272,8 +272,8 @@ Examples: @c cauchy_matrix([x1, x2]); @c ===end=== @example -(%i1) cauchy_matrix([x1, x2], [y1, y2]); @group +(%i1) cauchy_matrix([x1, x2], [y1, y2]); [ 1 1 ] [ ------- ------- ] [ y1 + x1 y2 + x1 ] @@ -282,7 +282,7 @@ Examples: [ ------- ------- ] [ y1 + x2 y2 + x2 ] @end group - +@group (%i2) cauchy_matrix([x1, x2]); [ 1 1 ] [ ---- ------- ] @@ -291,6 +291,7 @@ Examples: [ 1 1 ] [ ------- ---- ] [ x2 + x1 2 x2 ] +@end group @end example @opencatbox{Categories:} @@ -1091,18 +1092,17 @@ A matrix which has two eigenvectors for one eigenvalue (namely 2). @c ===end=== @example @group -(%i1) M1: matrix ([0, 1, 0, 0], [0, 0, 0, 0], [0, 0, 2, 0], - [0, 0, 0, 2]); - [ 0 1 0 0 ] - [ ] - [ 0 0 0 0 ] -(%o1) [ ] - [ 0 0 2 0 ] - [ ] - [ 0 0 0 2 ] +(%i1) M1 : matrix ([0, 1, 0, 0], [0, 0, 0, 0], [0, 0, 2, 0], [0, 0, 0, 2]); + [ 0 1 0 0 ] + [ ] + [ 0 0 0 0 ] +(%o1) [ ] + [ 0 0 2 0 ] + [ ] + [ 0 0 0 2 ] @end group @group -(%i2) [vals, vecs]: eigenvectors (M1); +(%i2) [vals, vecs] : eigenvectors (M1); (%o2) [[[0, 2], [2, 2]], [[[1, 0, 0, 0]], [[0, 0, 1, 0], [0, 0, 0, 1]]]] @end group commit b522ed3219efb3006032390ae94c7b95bf76d5e0 Author: Raymond Toy <toy...@gm...> Date: Sun Jul 20 07:54:12 2025 -0700 Regenerate examples in levin.texi.m4 Run update_examples. diff --git a/doc/info/levin.texi.m4 b/doc/info/levin.texi.m4 index 7e995336a..8ed66a66a 100644 --- a/doc/info/levin.texi.m4 +++ b/doc/info/levin.texi.m4 @@ -350,11 +350,11 @@ with anti-limit equal to log(3) = 1.0986122886681098... @end group @group (%i4) exact: log(3.0); -(%o4) 1.0986122886681098 +(%o4) 1.0986122886681096 @end group @group (%i5) s - exact; -(%o5) - 1.1131075616788166e-8 +(%o5) - 1.1131075394743561e-8 @end group @end example ----------------------------------------------------------------------- Summary of changes: doc/info/Matrices.texi.m4 | 24 ++++++++++++------------ doc/info/Special.texi.m4 | 18 +++++++++++++----- doc/info/levin.texi.m4 | 4 ++-- doc/info/zeilberger.texi.m4 | 15 +++++++-------- 4 files changed, 34 insertions(+), 27 deletions(-) hooks/post-receive -- Maxima CAS |
From: rtoy <rt...@us...> - 2025-07-20 14:49:16
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Maxima CAS". The branch, rtoy-regenerate-doc-examples has been updated via 07e02d5f45c07418cbafe5fa19d4f5baf053e1ae (commit) from 9eb2a8e5c581fddef714a6c86e33ef3dc285c6b8 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 07e02d5f45c07418cbafe5fa19d4f5baf053e1ae Author: Raymond Toy <toy...@gm...> Date: Sun Jul 20 07:42:59 2025 -0700 Regenerate examples in Integration.texi.m4 Run update_examples. To make this look right, we had to add assume's in a few places so we don't ask (new) questions. We also had to remove "input:pos" in a few places because we don't ask that question any more. Finally, in a few places we had to tweak the output to make it look right. These places start with "@c WARNING". diff --git a/doc/info/Integration.texi.m4 b/doc/info/Integration.texi.m4 index 164201ef1..8b6781baa 100644 --- a/doc/info/Integration.texi.m4 +++ b/doc/info/Integration.texi.m4 @@ -56,9 +56,9 @@ The change of variable can also be written @code{@var{f(x)} = @var{g(y)}}. (%i2) 'integrate (%e**sqrt(a*y), y, 0, 4); 4 / - [ sqrt(a) sqrt(y) -(%o2) I %e dy - ] + | sqrt(a) sqrt(y) +(%o2) | %e dy + | / 0 @end group @@ -66,9 +66,9 @@ The change of variable can also be written @code{@var{f(x)} = @var{g(y)}}. (%i3) changevar (%, y-z^2/a, z, y); 0 / - [ abs(z) - 2 I z %e dz - ] + | abs(z) + 2 | %e z dz + | / - 2 sqrt(a) (%o3) - ---------------------------- @@ -92,23 +92,23 @@ higher degree function. E.g., @c ===end=== @example @group -(%i4) sum (a[i]*x^(i-2), i, 0, inf); +(%i1) sum (a[i]*x^(i-2), i, 0, inf); inf - ==== + ____ \ i - 2 -(%o4) > a x +(%o1) > a x / i - ==== + ---- i = 0 @end group @group -(%i5) changevar (%, i-2-n, n, i); +(%i2) changevar (%, i-2-n, n, i); inf - ==== + ____ \ n -(%o5) > a x +(%o2) > a x / n + 2 - ==== + ---- n = - 2 @end group @end example @@ -232,6 +232,8 @@ By using the functions @code{laplace} and @code{ilt} together with the @code{solve} or @code{linsolve} functions the user can solve a single differential or convolution integral equation or a set of them. +@c WARNING: This needs manual editing for the last test to put the +@c answer in the right place. @c ===beg=== @c 'integrate (sinh(a*x)*f(t-x), x, 0, t) + b*f(t) = t**2; @c laplace (%, t, s); @@ -244,18 +246,18 @@ differential or convolution integral equation or a set of them. (%i1) 'integrate (sinh(a*x)*f(t-x), x, 0, t) + b*f(t) = t**2; t / - [ 2 -(%o1) I f(t - x) sinh(a x) dx + b f(t) = t - ] + | 2 +(%o1) | f(t - x) sinh(a x) dx + b f(t) = t + | / 0 @end group @group (%i2) laplace (%, t, s); - a laplace(f(t), t, s) 2 -(%o2) b laplace(f(t), t, s) + --------------------- = -- - 2 2 3 - s - a s + a laplace(f(t), t, s) 2 +(%o2) --------------------- + b laplace(f(t), t, s) = -- + 2 2 3 + s - a s @end group @group (%i3) linsolve ([%], ['laplace(f(t), t, s)]); @@ -267,16 +269,15 @@ differential or convolution integral equation or a set of them. @end group @group (%i4) ilt (rhs (first (%)), s, t); -Is a b (a b - 1) positive, negative, or zero? - +Is a b (a b - 1) positive, negative or zero? pos; + sqrt(a b (a b - 1)) t 2 cosh(---------------------) 2 b a t (%o4) - ----------------------------- + ------- 3 2 2 a b - 1 a b - 2 a b + a - 2 + ------------------ 3 2 2 @@ -309,32 +310,29 @@ Maxima can solve the following integrals, when @mref{intanalysis} is set to @c ===beg=== @c integrate(1/(sqrt(x+1)+1),x,0,1); @c integrate(1/(sqrt(x)+1),x,0,1),intanalysis:false; -@c integrate(cos(a)/sqrt((tan(a))^2+1),a,-%pi/2,%pi/2); +@c integrate(cos(a)/sqrt((tan(a))^2+1),a,-%pi/2,%pi/2),intanalysis:false; @c intanalysis:false$ @c integrate(cos(a)/sqrt((tan(a))^2 +1),a,-%pi/2,%pi/2); @c ===end=== @example -(%i1) integrate(1/(sqrt(x)+1),x,0,1); - 1 - / - [ 1 -(%o1) I ----------- dx - ] sqrt(x) + 1 - / - 0 - +@group +(%i1) integrate(1/(sqrt(x+1)+1),x,0,1); + 3/2 +(%o1) - 2 log(sqrt(2) + 1) + 2 log(2) + 2 - 2 +@end group +@group (%i2) integrate(1/(sqrt(x)+1),x,0,1),intanalysis:false; -(%o2) 2 - 2 log(2) - -(%i3) integrate(cos(a)/sqrt((tan(a))^2 +1),a,-%pi/2,%pi/2); -The number 1 isn't in the domain of atanh - -- an error. To debug this try: debugmode(true); - +(%o2) 2 - 2 log(2) +@end group +@group +(%i3) integrate(cos(a)/sqrt((tan(a))^2+1),a,-%pi/2,%pi/2),intanalysis:false; +(%o3) %i log(2) - %i log(2 %i) +@end group (%i4) intanalysis:false$ -(%i5) integrate(cos(a)/sqrt((tan(a))^2+1),a,-%pi/2,%pi/2); - %pi -(%o5) --- - 2 +@group +(%i5) integrate(cos(a)/sqrt((tan(a))^2 +1),a,-%pi/2,%pi/2); +(%o5) %i log(2) - %i log(2 %i) +@end group @end example @opencatbox{Categories:} @@ -468,6 +466,8 @@ Elementary indefinite and definite integrals. @item Use of @code{assume} and interactive query. +@c WARNING: This needs manual editing to get the answers to the +@c questions in the right place. @c ===beg=== @c assume (a > 1)$ @c integrate (x**a/(x+1)**(5/2), x, 0, inf); @@ -478,17 +478,16 @@ Use of @code{assume} and interactive query. (%i1) assume (a > 1)$ @group (%i2) integrate (x**a/(x+1)**(5/2), x, 0, inf); - 2 a + 2 -Is ------- an integer? - 5 - +Is a an integer? no; -Is 2 a - 3 positive, negative, or zero? +@end group +@group +Is 2 a - 1 positive, negative or zero? neg; - 3 -(%o2) beta(a + 1, - - a) - 2 + 3 +(%o2) beta(- - a, a + 1) + 2 @end group @end example @@ -504,20 +503,20 @@ derivation @code{diff(r(x))} of an unspecified function @code{r(x)}. @c ===end=== @example @group -(%i3) gradef (q(x), sin(x**2)); -(%o3) q(x) +(%i1) gradef (q(x), sin(x**2)); +(%o1) q(x) @end group @group -(%i4) diff (log (q (r (x))), x); +(%i2) diff (log (q (r (x))), x); d 2 (-- (r(x))) sin(r (x)) dx -(%o4) ---------------------- +(%o2) ---------------------- q(r(x)) @end group @group -(%i5) integrate (%, x); -(%o5) log(q(r(x))) +(%i3) integrate (%, x); +(%o3) log(q(r(x))) @end group @end example @@ -542,9 +541,9 @@ noun form @code{'integrate} in the result. See also @group (%i2) integrate (1/%, x); / 2 - [ x + 4 x + 18 - I ------------- dx - ] 3 + | x + 4 x + 18 + | ------------- dx + | 3 log(x - 4) / x + 2 x + 1 (%o2) ---------- - ------------------ 73 73 @@ -552,6 +551,7 @@ noun form @code{'integrate} in the result. See also @group (%i3) grind (%); log(x-4)/73-('integrate((x^2+4*x+18)/(x^3+2*x+1),x))/73$ +(%o3) done @end group @end example @@ -565,7 +565,7 @@ body of @code{f_2}. @c ===beg=== @c f_1 (a) := integrate (x^3, x, 1, a); @c ev (f_1 (7), nouns); -@c /* Note parentheses around integrate(...) here */ f_2 (a) := ''(integrate (x^3, x, 1, a)); +@c /* Note parentheses around integrate(...) here */ f_2 (a) := ''(integrate (x^3, x, 1, a)); @c f_2 (7); @c ===end=== @example @@ -724,13 +724,13 @@ form: (%i1) integrate_use_rootsof: false$ @group (%i2) integrate (1/(1+x+x^5), x); - / 2 - [ x - 4 x + 5 - I ------------ dx 2 x + 1 - ] 3 2 2 5 atan(-------) - / x - x + 1 log(x + x + 1) sqrt(3) -(%o2) ----------------- - --------------- + --------------- - 7 14 7 sqrt(3) + / 2 + | x - 4 x + 5 + | ------------ dx 2 x + 1 + | 3 2 2 5 atan(-------) + / x - x + 1 log(x + x + 1) sqrt(3) +(%o2) ----------------- - --------------- + --------------- + 7 14 7 sqrt(3) @end group @end example @@ -743,24 +743,25 @@ function: @c integrate (1/(1+x+x^5), x); @c ===end=== @example -(%i3) integrate_use_rootsof: true$ -@group -(%i4) integrate (1/(1+x+x^5), x); - ==== 2 - \ (%r4 - 4 %r4 + 5) log(x - %r4) - > ------------------------------- - / 2 - ==== 3 %r4 - 2 %r4 - 3 2 - %r4 in rootsof(%r4 - %r4 + 1, %r4) -(%o4) ---------------------------------------------------------- - 7 - - 2 x + 1 - 2 5 atan(-------) - log(x + x + 1) sqrt(3) - - --------------- + --------------- - 14 7 sqrt(3) +(%i1) integrate_use_rootsof: true$ +@group +(%i2) integrate (1/(1+x+x^5), x); + ____ + \ 2 +(%o2) ( > ((%r1 - 4 %r1 + 5) + / + ---- + 3 2 + %r1 in rootsof(%r1 - %r1 + 1, %r1) + 2 + 2 log(x + x + 1) + log(x - %r1))/(3 %r1 - 2 %r1))/7 - --------------- + 14 + 2 x + 1 + 5 atan(-------) + sqrt(3) + + --------------- + 7 sqrt(3) @end group @end example @@ -837,69 +838,74 @@ Examples: @c laplace ('diff (f (x), x), x, s); @c diff (diff (delta (t), t), t); @c laplace (%, t, s); -@c assume(a>0)$ +@c assume(a>1)$ @c declare(a, integer)$ @c laplace(gamma_incomplete(a,t),t,s),gamma_expand:true; @c factor(laplace(gamma_incomplete(1/2,t),t,s)); -@c assume(exp(%pi*s)>1)$ +@c assume(exp(%pi*s)>1, n > 0)$ @c laplace(sum((-1)^n*unit_step(t-n*%pi)*sin(t),n,0,inf),t,s), -@c simpsum; +@c simpsum; @c ===end=== @example +@group (%i1) laplace (exp (2*t + a) * sin(t) * t, t, s); a %e (2 s - 4) -(%o1) --------------- - 2 2 - (s - 4 s + 5) +(%o1) ----------------------------- + 4 3 2 + s - 8 s + 26 s - 40 s + 25 +@end group +@group (%i2) laplace ('diff (f (x), x), x, s); (%o2) s laplace(f(x), x, s) - f(0) +@end group +@group (%i3) diff (diff (delta (t), t), t); 2 d (%o3) --- (delta(t)) 2 dt +@end group +@group (%i4) laplace (%, t, s); - ! - d ! 2 -(%o4) - -- (delta(t))! + s - delta(0) s - dt ! - !t = 0 -(%i5) assume(a>0)$ -(%i6) laplace(gamma_incomplete(a,t),t,s),gamma_expand:true; - - a - 1 - gamma(a) gamma(a) s -(%o6) -------- - ----------------- - s 1 a - (- + 1) + | + d | 2 +(%o4) - -- (delta(t))| + s - delta(0) s + dt | + |t = 0 +@end group +(%i5) assume(a>1)$ +(%i6) declare(a, integer)$ +@group +(%i7) laplace(gamma_incomplete(a,t),t,s),gamma_expand:true; + - a - 1 + gamma(a) gamma(a) s +(%o7) -------- - ----------------- + s 1 a + (- + 1) + s +@end group +@group +(%i8) factor(laplace(gamma_incomplete(1/2,t),t,s)); + s + 1 + sqrt(%pi) (sqrt(s) sqrt(-----) - 1) s -(%i7) factor(laplace(gamma_incomplete(1/2,t),t,s)); - s + 1 - sqrt(%pi) (sqrt(s) sqrt(-----) - 1) - s -(%o7) ----------------------------------- - 3/2 s + 1 - s sqrt(-----) - s -(%i8) assume(exp(%pi*s)>1)$ -(%i9) laplace(sum((-1)^n*unit_step(t-n*%pi)*sin(t),n,0,inf),t,s), - simpsum; -@group - %i %i - ------------------------ - ------------------------ - - %pi s - %pi s - (s + %i) (1 - %e ) (s - %i) (1 - %e ) -(%o9) --------------------------------------------------- - 2 -@end group -(%i9) factor(%); - %pi s - %e -(%o9) ------------------------------- - %pi s - (s - %i) (s + %i) (%e - 1) - +(%o8) ----------------------------------- + 3/2 s + 1 + s sqrt(-----) + s +@end group +(%i9) assume(exp(%pi*s)>1, n > 0)$ +@group +(%i10) laplace(sum((-1)^n*unit_step(t-n*%pi)*sin(t),n,0,inf),t,s), + simpsum; + %pi s + %e +(%o10) ------------------------------ + %pi s 2 %pi s + (%e - 1) s + %e - 1 +@end group @end example @opencatbox{Categories:} @@ -951,17 +957,20 @@ Two examples where @code{ilt} fails: @c pwilt ((s^2+2)/(s^2-1), s, t); @c ===end=== @example +@group (%i1) pwilt (exp(-s)*s/(s^3-2*s-s+2), s, t); - t - 1 - 2 (t - 1) - (t - 1) %e 2 %e -(%o1) hstep(t - 1) (--------------- - ---------------) - 3 9 - + t - 1 - 2 (t - 1) + %e (t - 1) 2 %e +(%o1) hstep(t - 1) (--------------- - ---------------) + 3 9 +@end group +@group (%i2) pwilt ((s^2+2)/(s^2-1), s, t); - t - t - 3 %e 3 %e -(%o2) delta(t) + ----- - ------- - 2 2 + t - t + 3 %e 3 %e +(%o2) delta(t) + ----- - ------- + 2 2 +@end group @end example @opencatbox{Categories:} @@ -1007,25 +1016,22 @@ when @code{prefer_d} is @code{true}. @example @group (%i1) assume(s>0); -(%o1) [s > 0] +(%o1) [s > 0] @end group @group -(%i2) factor(specint(ex:%e^-(t^2/8)*exp(-s*t),t)); - 2 - 2 s -(%o2) - sqrt(2) sqrt(%pi) %e (erf(sqrt(2) s) - 1) +(%i2) factor(ex:specint(%e^-(t^2/8)*exp(-s*t),t)); + 2 + 2 s +(%o2) - sqrt(2) %e sqrt(%pi) (erf(sqrt(2) s) - 1) @end group @group (%i3) specint(ex,t),prefer_d=true; - 2 - s - -- - s 8 - parabolic_cylinder_d(- 1, -------) %e - sqrt(2) -(%o3) --------------------------------------- - sqrt(2) - + 2 + 2 s +(%o3) specint(- sqrt(2) %e sqrt(%pi) erf(sqrt(2) s), t) + 2 + 2 s + + specint(sqrt(2) %e sqrt(%pi), t) @end group @end example @@ -1091,9 +1097,9 @@ with. @example @group (%i1) risch (x^2*erf(x), x); - 2 - 3 2 - x - %pi x erf(x) + (sqrt(%pi) x + sqrt(%pi)) %e + 2 + 3 - x 2 + %pi x erf(x) + %e (sqrt(%pi) x + sqrt(%pi)) (%o1) ------------------------------------------------- 3 %pi @end group @@ -1160,8 +1166,8 @@ Examples: @group (%i3) specint (t^(1/2) * bessel_j(1, 2 * a^(1/2) * t^(1/2)) * exp(-p*t), t); - - a/p - sqrt(a) %e + - a/p + %e sqrt(a) (%o3) --------------- 2 p @@ -1456,7 +1462,7 @@ Examples: @example @group (%i1) quad_qag (x^(1/2)*log(1/x), x, 0, 1, 3, 'epsrel=5d-8); -(%o1) [.4444444444492108, 3.1700968502883E-9, 961, 0] +(%o1) [0.44444444445742953, 8.737223570614865e-9, 899, 0] @end group @group (%i2) integrate (x^(1/2)*log(1/x), x, 0, 1); @@ -1553,7 +1559,7 @@ Examples: @example @group (%i1) quad_qags (x^(1/2)*log(1/x), x, 0, 1, 'epsrel=1d-10); -(%o1) [.4444444444444448, 1.11022302462516E-15, 315, 0] +(%o1) [0.44444444444444475, 1.1102230246251565e-15, 315, 0] @end group @end example @@ -1659,7 +1665,7 @@ Examples: @example @group (%i1) quad_qagi (x^2*exp(-4*x), x, 0, inf, 'epsrel=1d-8); -(%o1) [0.03125, 2.95916102995002E-11, 105, 0] +(%o1) [0.03125, 2.9591610299500215e-11, 105, 0] @end group @group (%i2) integrate (x^2*exp(-4*x), x, 0, inf); @@ -1753,34 +1759,36 @@ Examples: @c ===end=== @example @group -(%i1) quad_qawc (2^(-5)*((x-1)^2+4^(-5))^(-1), x, 2, 0, 5, - 'epsrel=1d-7); -(%o1) [- 3.130120337415925, 1.306830140249558E-8, 495, 0] +(%i1) quad_qawc (2^(-5)*((x-1)^2+4^(-5))^(-1), x, 2, 0, 5, 'epsrel=1d-7); +(%o1) [- 3.130120337415925, 1.3068301402495579e-8, 495, 0] @end group @group -(%i2) integrate (2^(-alpha)*(((x-1)^2 + 4^(-alpha))*(x-2))^(-1), - x, 0, 5); +(%i2) integrate (2^(-alpha)*(((x-1)^2 + 4^(-alpha))*(x-2))^(-1), x, 0, 5); Principal Value - alpha - alpha 9 4 9 - 4 log(------------- + -------------) - alpha alpha - 64 4 + 4 64 4 + 4 -(%o2) (----------------------------------------- - alpha - 2 4 + 2 - - 3 alpha 3 alpha - ------- ------- - 2 alpha/2 2 alpha/2 - 2 4 atan(4 4 ) 2 4 atan(4 ) alpha - - --------------------------- - -------------------------)/2 - alpha alpha - 2 4 + 2 2 4 + 2 + 2 alpha - 1 2 alpha + 4 + 2 log(2 + 1) +(%o2) (- ---------------------------------- + 2 alpha + 2 + 1 + 3 alpha alpha + 2 2 alpha - 1 2 alpha + 2 atan(2 ) 2 log(2 + 1) + - ------------------------- + ------------------------------ + 2 alpha 2 alpha + 2 + 1 2 + 1 + 3 alpha + 1 alpha 3 alpha alpha + 2 atan(2 ) 2 atan(2 ) + - ------------------------- + --------------------- + 2 alpha 2 alpha + 2 + 1 2 + 1 + 2 alpha 2 alpha + 2 log(3) 2 log(2) alpha + + --------------- - ---------------)/2 + 2 alpha 2 alpha + 2 + 1 2 + 1 @end group @group (%i3) ev (%, alpha=5, numer); -(%o3) - 3.130120337415917 +(%o3) - 3.1301203374159177 @end group @end example @@ -1879,7 +1887,7 @@ Examples: @example @group (%i1) quad_qawf (exp(-x^2), x, 0, 1, 'cos, 'epsabs=1d-9); -(%o1) [.6901942235215714, 2.84846300257552E-11, 215, 0] +(%o1) [0.6901942235215714, 2.848463002545743e-11, 215, 0] @end group @group (%i2) integrate (exp(-x^2)*cos(x), x, 0, inf); @@ -1890,7 +1898,7 @@ Examples: @end group @group (%i3) ev (%, numer); -(%o3) .6901942235215714 +(%o3) 0.6901942235215714 @end group @end example @@ -1993,26 +2001,26 @@ Examples: @c ===beg=== @c quad_qawo (x^(-1/2)*exp(-2^(-2)*x), x, 1d-8, 20*2^2, 1, cos); @c rectform (integrate (x^(-1/2)*exp(-2^(-alpha)*x) * cos(x), x, 0, inf)); -@c input:pos; @c ev (%, alpha=2, numer); @c ===end=== @example @group (%i1) quad_qawo (x^(-1/2)*exp(-2^(-2)*x), x, 1d-8, 20*2^2, 1, cos); -(%o1) [1.376043389877692, 4.72710759424899E-11, 765, 0] +(%o1) [1.3760433898776214, 4.7271075942489915e-11, 765, 0] @end group @group -(%i2) rectform (integrate (x^(-1/2)*exp(-2^(-alpha)*x) * cos(x), - x, 0, inf)); - alpha/2 - 1/2 2 alpha - sqrt(%pi) 2 sqrt(sqrt(2 + 1) + 1) -(%o2) ----------------------------------------------------- - 2 alpha - sqrt(2 + 1) +(%i2) rectform (integrate (x^(-1/2)*exp(-2^(-alpha)*x) * cos(x), x, 0, inf)); + alpha + 1 + --------- - 1 + 2 2 alpha + 2 sqrt(sqrt(2 + 1) %pi + %pi) +(%o2) ------------------------------------------------- + 2 alpha + sqrt(2 + 1) @end group @group (%i3) ev (%, alpha=2, numer); -(%o3) 1.376043390090716 +(%o3) 1.376043390090716 @end group @end example @@ -2107,30 +2115,24 @@ Examples: @c ===beg=== @c quad_qaws (1/(x+1+2^(-4)), x, -1, 1, -0.5, -0.5, 1, 'epsabs=1d-9); @c integrate ((1-x*x)^(-1/2)/(x+1+2^(-alpha)), x, -1, 1); -@c input:pos; @c ev (%, alpha=4, numer); @c ===end=== @example @group -(%i1) quad_qaws (1/(x+1+2^(-4)), x, -1, 1, -0.5, -0.5, 1, - 'epsabs=1d-9); -(%o1) [8.750097361672832, 1.24321522715422E-10, 170, 0] +(%i1) quad_qaws (1/(x+1+2^(-4)), x, -1, 1, -0.5, -0.5, 1, 'epsabs=1d-9); +(%o1) [8.750097361672843, 1.2761903591126173e-8, 130, 0] @end group @group (%i2) integrate ((1-x*x)^(-1/2)/(x+1+2^(-alpha)), x, -1, 1); - alpha -Is 4 2 - 1 positive, negative, or zero? - -pos; - alpha alpha - 2 %pi 2 sqrt(2 2 + 1) -(%o2) ------------------------------- - alpha - 4 2 + 2 + alpha + 2 %pi +(%o2) -------------------- + alpha + 1 + sqrt(2 + 1) @end group @group (%i3) ev (%, alpha=4, numer); -(%o3) 8.750097361672829 +(%o3) 8.75009736167283 @end group @end example @@ -2228,11 +2230,11 @@ Examples: @example @group (%i1) quad_qagp(x^3*log(abs((x^2-1)*(x^2-2))),x,0,3,[1,sqrt(2)]); -(%o1) [52.74074838347143, 2.6247632689546663e-7, 1029, 0] +(%o1) [52.740748383471434, 2.6247632689546663e-7, 1029, 0] @end group @group (%i2) quad_qags(x^3*log(abs((x^2-1)*(x^2-2))), x, 0, 3); -(%o2) [52.74074847951494, 4.088443219529836e-7, 1869, 0] +(%o2) [52.74074847951494, 4.088443219529836e-7, 1869, 0] @end group @end example ----------------------------------------------------------------------- Summary of changes: doc/info/Integration.texi.m4 | 426 ++++++++++++++++++++++--------------------- 1 file changed, 214 insertions(+), 212 deletions(-) hooks/post-receive -- Maxima CAS |