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
(134) |
Sep
(53) |
Oct
(24) |
Nov
(56) |
Dec
|
|
From: rtoy <rt...@us...> - 2025-11-26 15:03: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, rtoy-manual-css-more-vars has been updated
via d9e825f93c06d0092373599bc7e9836b316f9af2 (commit)
via 4f004058ae370c216242632a2f5128109a61b170 (commit)
via 81041bd8c03bddb7cd7c55c90b42552bf8a57f40 (commit)
from 021ea6918064b38f86b38e219538ec255edf6e6e (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 d9e825f93c06d0092373599bc7e9836b316f9af2
Author: Raymond Toy <toy...@gm...>
Date: Wed Nov 26 07:03:19 2025 -0800
Move pygment CSS stuff together
diff --git a/doc/info/manual.css b/doc/info/manual.css
index 016c5978f..98ffcfbb4 100644
--- a/doc/info/manual.css
+++ b/doc/info/manual.css
@@ -93,15 +93,6 @@ pre.example, pre.example-preformatted {
overflow: auto;
}
-/*
- * For pygments, make the background color of the highlighted code the
- * same as the example background color. Without this, it looks funny.
- */
-
-div.highlight {
- background-color: var(--example-background-color) !important;
-}
-
div.spacerbox { border: none; padding: 2em 0 }
div.image { margin: 0; padding: 1em; text-align: center }
div.categorybox {
@@ -152,14 +143,27 @@ dd { margin-left: 0.5em }
dd { margin-left: 1.5em }
}
-/* CSS for pygment highlighting */
+/*
+ * CSS customizations for pygment highlighting
+ */
+
+/*
+ * For pygments, make the background color of the highlighted code the
+ * same as the example background color. Without this, it looks funny.
+ */
+
+div.highlight {
+ background-color: var(--example-background-color) !important;
+}
+
.example.user-maxima {
overflow-x: auto
}
.highlight.pre {
- /* Lines for highlighted examples are too close by default with
- * pygments. Make it larger.
+ /*
+ * Lines for highlighted examples are too close by default with
+ * pygments. Make it larger.
*/
line-height: normal !important;
}
commit 4f004058ae370c216242632a2f5128109a61b170
Author: Raymond Toy <toy...@gm...>
Date: Wed Nov 26 06:58:54 2025 -0800
Remove @media dark mode CSS that's not used anymore
This has all been replaced with variables for dark-mode colors, so
this @media isn't used. Remove it.
Also add a comment about div.textbox and friends apparently not being
used anywhere. We comment them out for now, but they should
eventually be removed if not used.
diff --git a/doc/info/manual.css b/doc/info/manual.css
index 22b096742..016c5978f 100644
--- a/doc/info/manual.css
+++ b/doc/info/manual.css
@@ -61,6 +61,11 @@ a:hover, span.button:hover {
background-color: var(--hover-background-color);
color: var(--hover-color);
}
+/*
+ * What are these used for? I (rtoy) can't find these anywhere.
+ * Commenting these out for now, but they should be removed if they're
+ * not really used anywhere.
+ */
/*
div.textbox {
border: solid;
@@ -78,6 +83,7 @@ div.synopsisbox {
background: var(--div-synopsisbox-background-color);
}
*/
+
pre.example, pre.example-preformatted {
border: var(--pre-example-border);
color: var(--text-color);
@@ -145,38 +151,6 @@ dd { margin-left: 0.5em }
ul,ol { padding-left: 2em }
dd { margin-left: 1.5em }
}
-@media (prefers-color-scheme: dark) {
-/*
- body {
- background: #444;
- color: #eee
- }
- a:link {
- color: #9df;
- }
- a:visited {color: #9fd }
- a:hover, span.button:hover {
- background-color: #ddd;
- color: #55f;
- }
- div.header, div.nav-panel {
- background-color: #555;
- }
- pre.example, pre.example-preformatted {
- border: 1px solid black;
- color: black;
- background-color: var(--example-background-color);
- }
- div.highlight {
- background-color: var(--example-background-color) !important;
- }
- div.categorybox { background-color: #544 }
-*/
-/*
- div.textbox, div.titlebox, div.synopsisbox {
- color: var(--div-titlebox-background-color);}
-*/
-}
/* CSS for pygment highlighting */
.example.user-maxima {
commit 81041bd8c03bddb7cd7c55c90b42552bf8a57f40
Author: Raymond Toy <toy...@gm...>
Date: Mon Nov 24 13:46:31 2025 -0800
Comment out CSS for textbox, titlebox, and synposisbox
These don't seem to be used anywhere so comment them out.
Also do some minor cleanups and add some comments.
diff --git a/doc/info/manual.css b/doc/info/manual.css
index 2947b0145..22b096742 100644
--- a/doc/info/manual.css
+++ b/doc/info/manual.css
@@ -1,7 +1,7 @@
-/* Define variable for background color for examples */
+/* Define colors for light and dark mode */
:root {
/* Default light mode colors */
- --background-color: #ffffff; /* White background */
+ --background-color: white;
--text-color: black;
--example-background-color: rgb(238,238,255);
--link-color: #00f;
@@ -61,6 +61,7 @@ a:hover, span.button:hover {
background-color: var(--hover-background-color);
color: var(--hover-color);
}
+/*
div.textbox {
border: solid;
border-width: thin;
@@ -76,6 +77,7 @@ div.synopsisbox {
padding-top: 1em 2em;
background: var(--div-synopsisbox-background-color);
}
+*/
pre.example, pre.example-preformatted {
border: var(--pre-example-border);
color: var(--text-color);
-----------------------------------------------------------------------
Summary of changes:
doc/info/manual.css | 66 +++++++++++++++++++----------------------------------
1 file changed, 23 insertions(+), 43 deletions(-)
hooks/post-receive
--
Maxima CAS
|
|
From: rtoy <rt...@us...> - 2025-11-25 16:03:46
|
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-remove-scl has been updated
via 015e5cc9072906c6f3133aaeee860ae0bbc3b503 (commit)
from ea4518bc2b5a01fc8c876bde2313cdee425035d6 (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 015e5cc9072906c6f3133aaeee860ae0bbc3b503
Author: Raymond Toy <toy...@gm...>
Date: Tue Nov 25 07:27:46 2025 -0800
Remove SCL conditionals
Just removed some of the simpler cases with SCL conditionals. There
are many, many more.
diff --git a/src/command-line.lisp b/src/command-line.lisp
index 16eb423fb..9c7413dff 100644
--- a/src/command-line.lisp
+++ b/src/command-line.lisp
@@ -166,9 +166,6 @@
ext::*command-line-application-arguments*
(rest ext:*command-line-strings*))
- #+scl
- (rest ext:*command-line-strings*)
-
#+sbcl
(rest sb-ext:*posix-argv*)
diff --git a/src/globals.lisp b/src/globals.lisp
index 322961fdb..76644e4d4 100644
--- a/src/globals.lisp
+++ b/src/globals.lisp
@@ -1692,7 +1692,6 @@
(defvar *maxima-lispname*
#+clisp "clisp"
#+cmu "cmucl"
- #+scl "scl"
#+sbcl "sbcl"
#+gcl "gcl"
#+allegro "acl"
@@ -1700,7 +1699,7 @@
#+abcl "abcl"
#+lispworks "lispworks"
#+ecl "ecl"
- #-(or clisp cmu scl sbcl gcl allegro openmcl abcl lispworks ecl) "unknownlisp")
+ #-(or clisp cmu sbcl gcl allegro openmcl abcl lispworks ecl) "unknownlisp")
;;; Locations of various types of files. These variables are discussed
;;; in more detail in the file doc/implementation/dir_vars.txt. Since
diff --git a/src/maxima-build.lisp b/src/maxima-build.lisp
index 817f2dcec..3376886ad 100644
--- a/src/maxima-build.lisp
+++ b/src/maxima-build.lisp
@@ -23,11 +23,10 @@
#+sbcl (sb-ext:save-lisp-and-die "binary-sbcl/maxima.core" :toplevel (symbol-function 'cl-user::run))
#+gcl (si:save-system "binary-gcl/maxima")
#+cmu (extensions:save-lisp "binary-cmucl/maxima.core" :init-function 'cl-user::run)
- #+scl (extensions:save-lisp "binary-scl/maxima.core" :init-function 'cl-user::run)
#+allegro (excl:dumplisp :name "binary-acl/maxima.dxl")
#+lispworks (hcl:save-image "binary-lispworks/maxima" :restart-function 'cl-user::run)
#+(and openmcl (not 64-bit-target)) (ccl:save-application "binary-openmcl/maxima" :toplevel-function 'cl-user::run)
#+(and openmcl 64-bit-target) (ccl:save-application "binary-ccl64/maxima" :toplevel-function 'cl-user::run)
- #-(or clisp sbcl gcl cmu scl allegro lispworks ccl)
+ #-(or clisp sbcl gcl cmu allegro lispworks ccl)
(format t "Sorry, I don't know how to dump an image on this Lisp"))
-----------------------------------------------------------------------
Summary of changes:
src/command-line.lisp | 3 ---
src/globals.lisp | 3 +--
src/maxima-build.lisp | 3 +--
3 files changed, 2 insertions(+), 7 deletions(-)
hooks/post-receive
--
Maxima CAS
|
|
From: rtoy <rt...@us...> - 2025-11-25 15: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, rtoy-remove-scl has been created
at ea4518bc2b5a01fc8c876bde2313cdee425035d6 (commit)
- Log -----------------------------------------------------------------
commit ea4518bc2b5a01fc8c876bde2313cdee425035d6
Author: Raymond Toy <toy...@gm...>
Date: Tue Nov 25 07:21:02 2025 -0800
Remove support for scl in configure.ac
Scl has not been available for a long time now. Remove support for
scl from configure.ac.
diff --git a/configure.ac b/configure.ac
index 310fb7070..72e902142 100644
--- a/configure.ac
+++ b/configure.ac
@@ -260,58 +260,6 @@ if test x"${cmucl}" = xtrue ; then
fi
fi
-dnl n.b. scl_default_name is hardcoded in "with" message
-scl_default_name=scl
-SCL_RUNTIME=lisp
-AC_ARG_ENABLE(scl,
- [AS_HELP_STRING([--enable-scl],
- [Use SCL])],
- [case "${enableval}" in
- yes) scl=true
- lisps_enabled="${lisps_enabled} scl"
- explicit_lisp=true ;;
- no) scl=false ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --enable-scl) ;;
- esac
- explicit_lisp=true],
- [scl=false])
-AC_ARG_WITH(scl,
- [AS_HELP_STRING([--with-scl=<prog>],
- [Use SCL executable <prog> (default scl)])],
- [scl=true
- lisps_enabled="${lisps_enabled} scl"
- explicit_lisp=true
- if test "$withval" = "yes"; then
- SCL_NAME="${scl_default_name}"
- else
- SCL_NAME="$withval"
- fi],
- [SCL_NAME=${scl_default_name}])
-AC_ARG_WITH(scl-runtime,
- [AS_HELP_STRING([--with-scl-runtime=<path>],
- [Use SCL runtime <path> (default
- file://library/../bin/lisp)])],
- [scl=true
- lisps_enabled="${lisps_enabled} scl"
- SCL_RUNTIME_PATH="$withval"
- SCL_RUNTIME=`basename ${SCL_RUNTIME_PATH}`],
- [])
-if test x"${scl}" = xtrue ; then
- if test `echo "$SCL_NAME" | sed 's/\(.\).*/\1/'` = "/" ; then
- if test -x "$SCL_NAME" ; then
- scl_found=true
- else
- scl_found=false
- fi
- else
- AC_CHECK_PROG(scl_found,$SCL_NAME,true,false)
- fi
- AC_CHECK_PROG(scl_found,$SCL_NAME,true,false)
- if test x"${scl_found}" = xfalse ; then
- AC_MSG_WARN(scl executable ${SCL_NAME} not found in PATH)
- fi
-fi
-
dnl n.b. sbcl_default_name is hardcoded in "with" message
sbcl_default_name=sbcl
AC_ARG_ENABLE(sbcl,
@@ -1027,7 +975,6 @@ if test x"${explicit_lisp}" = xfalse ; then
AC_CHECK_PROG(clisp_found,${clisp_default_name},true,false)
AC_CHECK_PROG(gcl_found,${gcl_default_name},true,false)
AC_CHECK_PROG(cmucl_found,$CMUCL_NAME,true,false)
- AC_CHECK_PROG(scl_found,$SCL_NAME,true,false)
AC_CHECK_PROG(sbcl_found,$SBCL_NAME,true,false)
AC_CHECK_PROG(acl_found,$ACL_NAME,true,false)
AC_CHECK_PROG(openmcl_found,$OPENMCL_NAME,true,false)
@@ -1046,10 +993,6 @@ if test x"${explicit_lisp}" = xfalse ; then
cmucl=true
lisps_enabled="${lisps_enabled} cmucl"
fi
- if test x"${scl_found}" = xtrue ; then
- scl=true
- lisps_enabled="${lisps_enabled} scl"
- fi
if test x"${sbcl_found}" = xtrue ; then
sbcl=true
lisps_enabled="${lisps_enabled} sbcl"
@@ -1063,7 +1006,7 @@ if test x"${explicit_lisp}" = xfalse ; then
lisps_enabled="${lisps_enabled} ecl"
fi
if test x"${lisps_enabled}" = x; then
- AC_MSG_ERROR(No lisp implementation specified and none of the default executables [${clisp_default_name}(clisp),${gcl_default_name}(GCL),${cmucl_default_name}(CMUCL),${scl_default_name}(SCL),${sbcl_default_name}(SBCL),${acl_default_name}(ACL),${openmcl_default_name}(OpenMCL),${ecl_default_name}(ECL)] were found in PATH)
+ AC_MSG_ERROR(No lisp implementation specified and none of the default executables [${clisp_default_name}(clisp),${gcl_default_name}(GCL),${cmucl_default_name}(CMUCL),${sbcl_default_name}(SBCL),${acl_default_name}(ACL),${openmcl_default_name}(OpenMCL),${ecl_default_name}(ECL)] were found in PATH)
fi
fi
@@ -1073,7 +1016,6 @@ AM_CONDITIONAL(CLISP_EXEC, test x$clisp_exec = xtrue)
AM_CONDITIONAL(GCL, test x$gcl = xtrue)
AM_CONDITIONAL(CMUCL, test x$cmucl = xtrue)
AM_CONDITIONAL(CMUCL_EXEC, test x${cmucl_exec} = xtrue)
-AM_CONDITIONAL(SCL, test x$scl = xtrue)
AM_CONDITIONAL(SBCL, test x$sbcl = xtrue)
AM_CONDITIONAL(SBCL_EXEC, test x$sbcl_exec = xtrue)
AM_CONDITIONAL(ACL, test x$acl = xtrue)
@@ -1137,30 +1079,6 @@ flag.)
fi
fi
-if test x"${scl}" = xtrue; then
- if test x"${SCL_RUNTIME_PATH}" = x"" ; then
- SCL_RUNTIME_PATH=`${SCL_NAME} -noinit -nositeinit -quiet -batch -eval '(progn (enumerate-pathname-translations (pathname "file://library/../bin/lisp") (when (probe-file pathname) (format t "~A~%" (unix-namestring pathname)))) (quit))'`
- fi
- if test -x "${SCL_RUNTIME_PATH}" ; then
- echo "scl runtime is \"${SCL_RUNTIME_PATH}\""
- else
-dnl last chance: find SCL_NAME in path. Use it if it doesn't appear to
-dnl be a shell script.
- scl_path=`type -p "${SCL_NAME}"`
- if test x"`grep -c '#!.*bin.*sh.*' ${scl_path}`" = x"0" ; then
- SCL_RUNTIME_PATH="${scl_path}"
- else
- AC_MSG_ERROR([Unable to determine SCL runtime path.
-The best guess for SCL runtime, "${SCL_RUNTIME_PATH}", is not
-an executable. Use the argument
- --with-scl-runtime=<path>
-to set the actual SCL executable. If the SCL lisp command is a shell
-script the SCL executable is the program exec'd by that shell script.])
- fi
- fi
- SCL_RUNTIME=`basename ${SCL_RUNTIME_PATH}`
-fi
-
if test x"${gcl}" = xtrue; then
AC_MSG_CHECKING([if gcl version >= 2.6.14])
dnl Check gcl version
@@ -1227,13 +1145,6 @@ AC_ARG_WITH(default-lisp,
AC_MSG_ERROR(cmucl not enabled)
fi
;;
- scl)
- if test x"${scl}" = xtrue ; then
- DEFAULTLISP=scl
- else
- AC_MSG_ERROR(scl not enabled)
- fi
- ;;
sbcl)
if test x"${sbcl}" = xtrue ; then
DEFAULTLISP=sbcl
@@ -1291,8 +1202,6 @@ AC_ARG_WITH(default-lisp,
DEFAULTLISP=sbcl
elif test x"${cmucl}" = xtrue ; then
DEFAULTLISP=cmucl
- elif test x"${scl}" = xtrue ; then
- DEFAULTLISP=scl
elif test x"${clisp}" = xtrue ; then
DEFAULTLISP=clisp
elif test x"${gcl}" = xtrue ; then
@@ -1520,18 +1429,6 @@ if test x"${cmucl}" = xtrue ; then
echo Use "--enable-cmucl-exec to build a standalone executable instead."
fi
fi
-if test x"${scl}" = xtrue ; then
- echo "SCL enabled, using \"${SCL_NAME}\""
- echo "SCL runtime is \"${SCL_RUNTIME_PATH}\""
-fi
-if test x"${sbcl}" = xtrue ; then
- echo "Compiling a maxima image using \"${SBCL_NAME}\""
- if test x"${sbcl_exec}" = xtrue ; then
- echo "sbcl executable image enabled for maxima."
- else
- echo Use "--enable-sbcl-exec to build a standalone executable instead."
- fi
-fi
if test x"${gcl}" = xtrue ; then
echo "Compiling a maxima image using \"${GCL_NAME}\""
if test x"${gcl_alt_link}" = xtrue ; then
-----------------------------------------------------------------------
hooks/post-receive
--
Maxima CAS
|
|
From: rtoy <rt...@us...> - 2025-11-24 21:17: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, rtoy-manual-css-more-vars has been created
at 021ea6918064b38f86b38e219538ec255edf6e6e (commit)
- Log -----------------------------------------------------------------
commit 021ea6918064b38f86b38e219538ec255edf6e6e
Author: Raymond Toy <toy...@gm...>
Date: Mon Nov 24 13:15:11 2025 -0800
Use CSS variables to set the colors for light and dark mode
Instead of having a completely separate @media section for dark mode,
use variables to define the colors for light and dark modes.
This makes the CSS file smaller and hopefully, it will be easier set
colors for the different modes since all the info is in basically one
place instead of duplicating all the different elements into a
separate @media for dark mode.
diff --git a/doc/info/manual.css b/doc/info/manual.css
index 674e23ae7..2947b0145 100644
--- a/doc/info/manual.css
+++ b/doc/info/manual.css
@@ -1,10 +1,36 @@
/* Define variable for background color for examples */
:root {
+ /* Default light mode colors */
+ --background-color: #ffffff; /* White background */
+ --text-color: black;
--example-background-color: rgb(238,238,255);
+ --link-color: #00f;
+ --link-visited-color: #a0a;
+ --hover-background-color: #555753;
+ --hover-color: #cdf;
+ --nav-panel-background-color: #CDCCDD;
+ --div-titlebox-background-color: rgb(200,255,255);
+ --div-synopsisbox-backgraound-color: rgb(255,220,255);
+ --pre-example-border: 1px solid rgb(180,180,180);
+ --div-categorybox-border: 1px solid gray;
+ --div-categorybox-background-color: #fdf6e3;
}
@media (prefers-color-scheme: dark) {
:root {
+ /* Dark Mode Overrides */
+ --background-color: #444;
+ --text-color: #eee;
--example-background-color: #aab;
+ --link-color: #9df;
+ --link-visited-color: #9fd;
+ --hover-background-color: #ddd;
+ --hover-color: #55f;
+ --nav-panel-background-color: #555;
+ --div-titlebox-background-color: black;
+ --div-synopsisbox-backgraound-color: black;
+ --pre-example-border: 1px solid black;
+ --div-categorybox-border: 1px solid gray;
+ --div-categorybox-background-color: #544;
}
}
@@ -17,8 +43,8 @@ div.example {
/* end of overrides */
body {
- color: black;
- background: white;
+ color: var(--text-color);
+ background: var(--background-color);
margin-left: 5px;
margin-right: 5px;
font-family: Arial, Verdana, Helvetica, sans-serif
@@ -28,12 +54,12 @@ h2 { font-size: 125% }
h3 { font-size: 110% }
a:link {
text-decoration: none;
- color: #00f
+ color: var(--link-color);
}
-a:visited {color: #a0a }
+a:visited {color: var(--link-visited-color) }
a:hover, span.button:hover {
- background-color: #555753;
- color: #cdf;
+ background-color: var(--hover-background-color);
+ color: var(--hover-color);
}
div.textbox {
border: solid;
@@ -43,15 +69,16 @@ div.textbox {
div.titlebox {
border: none;
padding-top: 1em 2em;
- background: rgb(200,255,255)
+ background: var(--div-titlebox-background-color);
}
div.synopsisbox {
border: none;
padding-top: 1em 2em;
- background: rgb(255,220,255)
+ background: var(--div-synopsisbox-background-color);
}
pre.example, pre.example-preformatted {
- border: 1px solid rgb(180,180,180);
+ border: var(--pre-example-border);
+ color: var(--text-color);
padding: 5px;
background-color: var(--example-background-color);
/* Add scrollbar for examples for narrow windows */
@@ -70,9 +97,9 @@ div.highlight {
div.spacerbox { border: none; padding: 2em 0 }
div.image { margin: 0; padding: 1em; text-align: center }
div.categorybox {
- border: 1px solid gray;
+ border: var(--div-categorybox-border);
padding: 1em;
- background: #fdf6e3
+ background: var(--div-categorybox-background-color);
}
img {
max-width:80%;
@@ -88,7 +115,7 @@ tt, code { font-family: "Courier New", "DejaVu Sans Mono", monospace }
* Texinfo 7.1 and later uses div.nav-panel. 6.8 uses div.header.
*/
div.header, div.nav-panel {
- background-color: #CDCCDD;
+ background-color: var(--nav-panel-background-color);
padding: 3px 10px;
}
@@ -117,6 +144,7 @@ dd { margin-left: 0.5em }
dd { margin-left: 1.5em }
}
@media (prefers-color-scheme: dark) {
+/*
body {
background: #444;
color: #eee
@@ -141,7 +169,11 @@ dd { margin-left: 0.5em }
background-color: var(--example-background-color) !important;
}
div.categorybox { background-color: #544 }
- div.textbox, div.titlebox, div.synopsisbox { color: black;}
+*/
+/*
+ div.textbox, div.titlebox, div.synopsisbox {
+ color: var(--div-titlebox-background-color);}
+*/
}
/* CSS for pygment highlighting */
-----------------------------------------------------------------------
hooks/post-receive
--
Maxima CAS
|
|
From: rtoy <rt...@us...> - 2025-11-24 20:42: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, rtoy-highlightjs-example-maxima-blocks-texi-dev has been updated
via 6be27cc3d78d7b20357bd426a5cb73d6a4664c7f (commit)
via ed8c8819d4f337f72d93e052ad798da342c6e467 (commit)
from 7ae65db9239f3325615db30dc57cf3d57197a5e3 (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 6be27cc3d78d7b20357bd426a5cb73d6a4664c7f
Author: Raymond Toy <toy...@gm...>
Date: Mon Nov 24 12:40:48 2025 -0800
Use pgyments option -O classprefix=pyg-
When running makeinfo for custom-pygments, be sure to add the option
`-O classprefix=pyg-` to prefix the classes. This is important since
the CSS files now have the prefix.
diff --git a/doc/info/build_html.sh.in b/doc/info/build_html.sh.in
index 318dacdf6..e8899137d 100755
--- a/doc/info/build_html.sh.in
+++ b/doc/info/build_html.sh.in
@@ -225,14 +225,14 @@ set -x
# TEXIOPT because shell quoting is all wrong that way. Make sure we
# use the same pygmentize options here and below for the singlepage
# version.
-@MAKEINFO@ $FORCE ${SET_CUSTOM:+-c HIGHLIGHT_SYNTAX='pygmentize -f html -l %l'} --split=chapter --no-node-files --output="$languagedestdir" $TEXIOPT maxima.texi
+@MAKEINFO@ $FORCE ${SET_CUSTOM:+-c HIGHLIGHT_SYNTAX='pygmentize -O classprefix=pyg- -f html -l %l'} --split=chapter --no-node-files --output="$languagedestdir" $TEXIOPT maxima.texi
rc=$?
if [ $rc -ne 0 ]; then
echo Failed to build multi-page html docs
exit $rc
fi
-@MAKEINFO@ $FORCE ${SET_CUSTOM:+-c HIGHLIGHT_SYNTAX='pygmentize -f html -l %l'} --no-split --output="$languagedestdir/maxima_singlepage.html" $TEXIOPT maxima.texi
+@MAKEINFO@ $FORCE ${SET_CUSTOM:+-c HIGHLIGHT_SYNTAX='pygmentize -O classprefix=pyg- -f html -l %l'} --no-split --output="$languagedestdir/maxima_singlepage.html" $TEXIOPT maxima.texi
rc=$?
if [ $rc -ne 0 ]; then
echo Failed to build single page html doc
commit ed8c8819d4f337f72d93e052ad798da342c6e467
Author: Raymond Toy <toy...@gm...>
Date: Mon Nov 24 12:38:59 2025 -0800
Use pgyments option -O classprefix=pyg-
To prevent clashes with other HTML classes, tell pygments to use a
prefix of "pyg-" for the classes it uses. Update the comment in
configure.ac about how to generate the CSS files.
Update the pygments CSS files with the class prefix.
diff --git a/configure.ac b/configure.ac
index 555c8dc0a..45104dace 100644
--- a/configure.ac
+++ b/configure.ac
@@ -966,16 +966,18 @@ EOF
dnl To create these style sheets, do
dnl
- dnl pygmentize -S default -f html > pygments.light.css
- dnl pygmentize -S rrt -f html > pygments.dark.css
+ dnl pygmentize -O classprefix=pyg- -S default -f html > pygments.light.css
+ dnl pygmentize -O classprefix=pyg- -S rrt -f html > pygments.dark.css
dnl
dnl Change "default" and "rrt" to choose different styles
dnl for light and dark modes, respectively.
CUSTOM_PYGMENTS_CSS="$(cat | tr -s '\n' ' ' <<EOF
<link rel="stylesheet"
+ type="text/css"
href="pygments.light.css"
media="(prefers-color-scheme: light)">
<link rel="stylesheet"
+ type="text/css"
href="pygments.dark.css"
media="(prefers-color-scheme: dark)">
EOF
diff --git a/doc/info/pygments.dark.css b/doc/info/pygments.dark.css
index e18586d29..bf1b86d99 100644
--- a/doc/info/pygments.dark.css
+++ b/doc/info/pygments.dark.css
@@ -4,81 +4,81 @@ span.linenos { color: inherit; background-color: transparent; padding-left: 5px;
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.hll { background-color: #0000ff }
-.c { color: #0F0 } /* Comment */
-.err { color: #DDD } /* Error */
-.esc { color: #DDD } /* Escape */
-.g { color: #DDD } /* Generic */
-.k { color: #F00 } /* Keyword */
-.l { color: #DDD } /* Literal */
-.n { color: #DDD } /* Name */
-.o { color: #DDD } /* Operator */
-.x { color: #DDD } /* Other */
-.p { color: #DDD } /* Punctuation */
-.ch { color: #0F0 } /* Comment.Hashbang */
-.cm { color: #0F0 } /* Comment.Multiline */
-.cp { color: #E5E5E5 } /* Comment.Preproc */
-.cpf { color: #0F0 } /* Comment.PreprocFile */
-.c1 { color: #0F0 } /* Comment.Single */
-.cs { color: #0F0 } /* Comment.Special */
-.gd { color: #DDD } /* Generic.Deleted */
-.ge { color: #DDD } /* Generic.Emph */
-.ges { color: #DDD } /* Generic.EmphStrong */
-.gr { color: #DDD } /* Generic.Error */
-.gh { color: #DDD } /* Generic.Heading */
-.gi { color: #DDD } /* Generic.Inserted */
-.go { color: #DDD } /* Generic.Output */
-.gp { color: #DDD } /* Generic.Prompt */
-.gs { color: #DDD } /* Generic.Strong */
-.gu { color: #DDD } /* Generic.Subheading */
-.gt { color: #DDD } /* Generic.Traceback */
-.kc { color: #F00 } /* Keyword.Constant */
-.kd { color: #F00 } /* Keyword.Declaration */
-.kn { color: #F00 } /* Keyword.Namespace */
-.kp { color: #F00 } /* Keyword.Pseudo */
-.kr { color: #F00 } /* Keyword.Reserved */
-.kt { color: #EE82EE } /* Keyword.Type */
-.ld { color: #DDD } /* Literal.Date */
-.m { color: #F0F } /* Literal.Number */
-.s { color: #87CEEB } /* Literal.String */
-.na { color: #DDD } /* Name.Attribute */
-.nb { color: #DDD } /* Name.Builtin */
-.nc { color: #DDD } /* Name.Class */
-.no { color: #7FFFD4 } /* Name.Constant */
-.nd { color: #DDD } /* Name.Decorator */
-.ni { color: #DDD } /* Name.Entity */
-.ne { color: #DDD } /* Name.Exception */
-.nf { color: #FF0 } /* Name.Function */
-.nl { color: #DDD } /* Name.Label */
-.nn { color: #DDD } /* Name.Namespace */
-.nx { color: #DDD } /* Name.Other */
-.py { color: #DDD } /* Name.Property */
-.nt { color: #DDD } /* Name.Tag */
-.nv { color: #EEDD82 } /* Name.Variable */
-.ow { color: #F00 } /* Operator.Word */
-.pm { color: #DDD } /* Punctuation.Marker */
-.w { color: #DDD } /* Text.Whitespace */
-.mb { color: #F0F } /* Literal.Number.Bin */
-.mf { color: #F0F } /* Literal.Number.Float */
-.mh { color: #F0F } /* Literal.Number.Hex */
-.mi { color: #F0F } /* Literal.Number.Integer */
-.mo { color: #F0F } /* Literal.Number.Oct */
-.sa { color: #87CEEB } /* Literal.String.Affix */
-.sb { color: #87CEEB } /* Literal.String.Backtick */
-.sc { color: #87CEEB } /* Literal.String.Char */
-.dl { color: #87CEEB } /* Literal.String.Delimiter */
-.sd { color: #87CEEB } /* Literal.String.Doc */
-.s2 { color: #87CEEB } /* Literal.String.Double */
-.se { color: #87CEEB } /* Literal.String.Escape */
-.sh { color: #87CEEB } /* Literal.String.Heredoc */
-.si { color: #87CEEB } /* Literal.String.Interpol */
-.sx { color: #87CEEB } /* Literal.String.Other */
-.sr { color: #87CEEB } /* Literal.String.Regex */
-.s1 { color: #87CEEB } /* Literal.String.Single */
-.ss { color: #87CEEB } /* Literal.String.Symbol */
-.bp { color: #DDD } /* Name.Builtin.Pseudo */
-.fm { color: #FF0 } /* Name.Function.Magic */
-.vc { color: #EEDD82 } /* Name.Variable.Class */
-.vg { color: #EEDD82 } /* Name.Variable.Global */
-.vi { color: #EEDD82 } /* Name.Variable.Instance */
-.vm { color: #EEDD82 } /* Name.Variable.Magic */
-.il { color: #F0F } /* Literal.Number.Integer.Long */
+.pyg-c { color: #0F0 } /* Comment */
+.pyg-err { color: #DDD } /* Error */
+.pyg-esc { color: #DDD } /* Escape */
+.pyg-g { color: #DDD } /* Generic */
+.pyg-k { color: #F00 } /* Keyword */
+.pyg-l { color: #DDD } /* Literal */
+.pyg-n { color: #DDD } /* Name */
+.pyg-o { color: #DDD } /* Operator */
+.pyg-x { color: #DDD } /* Other */
+.pyg-p { color: #DDD } /* Punctuation */
+.pyg-ch { color: #0F0 } /* Comment.Hashbang */
+.pyg-cm { color: #0F0 } /* Comment.Multiline */
+.pyg-cp { color: #E5E5E5 } /* Comment.Preproc */
+.pyg-cpf { color: #0F0 } /* Comment.PreprocFile */
+.pyg-c1 { color: #0F0 } /* Comment.Single */
+.pyg-cs { color: #0F0 } /* Comment.Special */
+.pyg-gd { color: #DDD } /* Generic.Deleted */
+.pyg-ge { color: #DDD } /* Generic.Emph */
+.pyg-ges { color: #DDD } /* Generic.EmphStrong */
+.pyg-gr { color: #DDD } /* Generic.Error */
+.pyg-gh { color: #DDD } /* Generic.Heading */
+.pyg-gi { color: #DDD } /* Generic.Inserted */
+.pyg-go { color: #DDD } /* Generic.Output */
+.pyg-gp { color: #DDD } /* Generic.Prompt */
+.pyg-gs { color: #DDD } /* Generic.Strong */
+.pyg-gu { color: #DDD } /* Generic.Subheading */
+.pyg-gt { color: #DDD } /* Generic.Traceback */
+.pyg-kc { color: #F00 } /* Keyword.Constant */
+.pyg-kd { color: #F00 } /* Keyword.Declaration */
+.pyg-kn { color: #F00 } /* Keyword.Namespace */
+.pyg-kp { color: #F00 } /* Keyword.Pseudo */
+.pyg-kr { color: #F00 } /* Keyword.Reserved */
+.pyg-kt { color: #EE82EE } /* Keyword.Type */
+.pyg-ld { color: #DDD } /* Literal.Date */
+.pyg-m { color: #F0F } /* Literal.Number */
+.pyg-s { color: #87CEEB } /* Literal.String */
+.pyg-na { color: #DDD } /* Name.Attribute */
+.pyg-nb { color: #DDD } /* Name.Builtin */
+.pyg-nc { color: #DDD } /* Name.Class */
+.pyg-no { color: #7FFFD4 } /* Name.Constant */
+.pyg-nd { color: #DDD } /* Name.Decorator */
+.pyg-ni { color: #DDD } /* Name.Entity */
+.pyg-ne { color: #DDD } /* Name.Exception */
+.pyg-nf { color: #FF0 } /* Name.Function */
+.pyg-nl { color: #DDD } /* Name.Label */
+.pyg-nn { color: #DDD } /* Name.Namespace */
+.pyg-nx { color: #DDD } /* Name.Other */
+.pyg-py { color: #DDD } /* Name.Property */
+.pyg-nt { color: #DDD } /* Name.Tag */
+.pyg-nv { color: #EEDD82 } /* Name.Variable */
+.pyg-ow { color: #F00 } /* Operator.Word */
+.pyg-pm { color: #DDD } /* Punctuation.Marker */
+.pyg-w { color: #DDD } /* Text.Whitespace */
+.pyg-mb { color: #F0F } /* Literal.Number.Bin */
+.pyg-mf { color: #F0F } /* Literal.Number.Float */
+.pyg-mh { color: #F0F } /* Literal.Number.Hex */
+.pyg-mi { color: #F0F } /* Literal.Number.Integer */
+.pyg-mo { color: #F0F } /* Literal.Number.Oct */
+.pyg-sa { color: #87CEEB } /* Literal.String.Affix */
+.pyg-sb { color: #87CEEB } /* Literal.String.Backtick */
+.pyg-sc { color: #87CEEB } /* Literal.String.Char */
+.pyg-dl { color: #87CEEB } /* Literal.String.Delimiter */
+.pyg-sd { color: #87CEEB } /* Literal.String.Doc */
+.pyg-s2 { color: #87CEEB } /* Literal.String.Double */
+.pyg-se { color: #87CEEB } /* Literal.String.Escape */
+.pyg-sh { color: #87CEEB } /* Literal.String.Heredoc */
+.pyg-si { color: #87CEEB } /* Literal.String.Interpol */
+.pyg-sx { color: #87CEEB } /* Literal.String.Other */
+.pyg-sr { color: #87CEEB } /* Literal.String.Regex */
+.pyg-s1 { color: #87CEEB } /* Literal.String.Single */
+.pyg-ss { color: #87CEEB } /* Literal.String.Symbol */
+.pyg-bp { color: #DDD } /* Name.Builtin.Pseudo */
+.pyg-fm { color: #FF0 } /* Name.Function.Magic */
+.pyg-vc { color: #EEDD82 } /* Name.Variable.Class */
+.pyg-vg { color: #EEDD82 } /* Name.Variable.Global */
+.pyg-vi { color: #EEDD82 } /* Name.Variable.Instance */
+.pyg-vm { color: #EEDD82 } /* Name.Variable.Magic */
+.pyg-il { color: #F0F } /* Literal.Number.Integer.Long */
diff --git a/doc/info/pygments.light.css b/doc/info/pygments.light.css
index 8e6fbf1b4..fd0d7ab1c 100644
--- a/doc/info/pygments.light.css
+++ b/doc/info/pygments.light.css
@@ -4,71 +4,71 @@ span.linenos { color: inherit; background-color: transparent; padding-left: 5px;
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.hll { background-color: #ffffcc }
-.c { color: #3D7B7B; font-style: italic } /* Comment */
-.err { border: 1px solid #F00 } /* Error */
-.k { color: #008000; font-weight: bold } /* Keyword */
-.o { color: #666 } /* Operator */
-.ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */
-.cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */
-.cp { color: #9C6500 } /* Comment.Preproc */
-.cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */
-.c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */
-.cs { color: #3D7B7B; font-style: italic } /* Comment.Special */
-.gd { color: #A00000 } /* Generic.Deleted */
-.ge { font-style: italic } /* Generic.Emph */
-.ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
-.gr { color: #E40000 } /* Generic.Error */
-.gh { color: #000080; font-weight: bold } /* Generic.Heading */
-.gi { color: #008400 } /* Generic.Inserted */
-.go { color: #717171 } /* Generic.Output */
-.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
-.gs { font-weight: bold } /* Generic.Strong */
-.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
-.gt { color: #04D } /* Generic.Traceback */
-.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
-.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
-.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
-.kp { color: #008000 } /* Keyword.Pseudo */
-.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
-.kt { color: #B00040 } /* Keyword.Type */
-.m { color: #666 } /* Literal.Number */
-.s { color: #BA2121 } /* Literal.String */
-.na { color: #687822 } /* Name.Attribute */
-.nb { color: #008000 } /* Name.Builtin */
-.nc { color: #00F; font-weight: bold } /* Name.Class */
-.no { color: #800 } /* Name.Constant */
-.nd { color: #A2F } /* Name.Decorator */
-.ni { color: #717171; font-weight: bold } /* Name.Entity */
-.ne { color: #CB3F38; font-weight: bold } /* Name.Exception */
-.nf { color: #00F } /* Name.Function */
-.nl { color: #767600 } /* Name.Label */
-.nn { color: #00F; font-weight: bold } /* Name.Namespace */
-.nt { color: #008000; font-weight: bold } /* Name.Tag */
-.nv { color: #19177C } /* Name.Variable */
-.ow { color: #A2F; font-weight: bold } /* Operator.Word */
-.w { color: #BBB } /* Text.Whitespace */
-.mb { color: #666 } /* Literal.Number.Bin */
-.mf { color: #666 } /* Literal.Number.Float */
-.mh { color: #666 } /* Literal.Number.Hex */
-.mi { color: #666 } /* Literal.Number.Integer */
-.mo { color: #666 } /* Literal.Number.Oct */
-.sa { color: #BA2121 } /* Literal.String.Affix */
-.sb { color: #BA2121 } /* Literal.String.Backtick */
-.sc { color: #BA2121 } /* Literal.String.Char */
-.dl { color: #BA2121 } /* Literal.String.Delimiter */
-.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
-.s2 { color: #BA2121 } /* Literal.String.Double */
-.se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */
-.sh { color: #BA2121 } /* Literal.String.Heredoc */
-.si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */
-.sx { color: #008000 } /* Literal.String.Other */
-.sr { color: #A45A77 } /* Literal.String.Regex */
-.s1 { color: #BA2121 } /* Literal.String.Single */
-.ss { color: #19177C } /* Literal.String.Symbol */
-.bp { color: #008000 } /* Name.Builtin.Pseudo */
-.fm { color: #00F } /* Name.Function.Magic */
-.vc { color: #19177C } /* Name.Variable.Class */
-.vg { color: #19177C } /* Name.Variable.Global */
-.vi { color: #19177C } /* Name.Variable.Instance */
-.vm { color: #19177C } /* Name.Variable.Magic */
-.il { color: #666 } /* Literal.Number.Integer.Long */
+.pyg-c { color: #3D7B7B; font-style: italic } /* Comment */
+.pyg-err { border: 1px solid #F00 } /* Error */
+.pyg-k { color: #008000; font-weight: bold } /* Keyword */
+.pyg-o { color: #666 } /* Operator */
+.pyg-ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */
+.pyg-cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */
+.pyg-cp { color: #9C6500 } /* Comment.Preproc */
+.pyg-cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */
+.pyg-c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */
+.pyg-cs { color: #3D7B7B; font-style: italic } /* Comment.Special */
+.pyg-gd { color: #A00000 } /* Generic.Deleted */
+.pyg-ge { font-style: italic } /* Generic.Emph */
+.pyg-ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
+.pyg-gr { color: #E40000 } /* Generic.Error */
+.pyg-gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.pyg-gi { color: #008400 } /* Generic.Inserted */
+.pyg-go { color: #717171 } /* Generic.Output */
+.pyg-gp { color: #000080; font-weight: bold } /* Generic.Prompt */
+.pyg-gs { font-weight: bold } /* Generic.Strong */
+.pyg-gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.pyg-gt { color: #04D } /* Generic.Traceback */
+.pyg-kc { color: #008000; font-weight: bold } /* Keyword.Constant */
+.pyg-kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
+.pyg-kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
+.pyg-kp { color: #008000 } /* Keyword.Pseudo */
+.pyg-kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
+.pyg-kt { color: #B00040 } /* Keyword.Type */
+.pyg-m { color: #666 } /* Literal.Number */
+.pyg-s { color: #BA2121 } /* Literal.String */
+.pyg-na { color: #687822 } /* Name.Attribute */
+.pyg-nb { color: #008000 } /* Name.Builtin */
+.pyg-nc { color: #00F; font-weight: bold } /* Name.Class */
+.pyg-no { color: #800 } /* Name.Constant */
+.pyg-nd { color: #A2F } /* Name.Decorator */
+.pyg-ni { color: #717171; font-weight: bold } /* Name.Entity */
+.pyg-ne { color: #CB3F38; font-weight: bold } /* Name.Exception */
+.pyg-nf { color: #00F } /* Name.Function */
+.pyg-nl { color: #767600 } /* Name.Label */
+.pyg-nn { color: #00F; font-weight: bold } /* Name.Namespace */
+.pyg-nt { color: #008000; font-weight: bold } /* Name.Tag */
+.pyg-nv { color: #19177C } /* Name.Variable */
+.pyg-ow { color: #A2F; font-weight: bold } /* Operator.Word */
+.pyg-w { color: #BBB } /* Text.Whitespace */
+.pyg-mb { color: #666 } /* Literal.Number.Bin */
+.pyg-mf { color: #666 } /* Literal.Number.Float */
+.pyg-mh { color: #666 } /* Literal.Number.Hex */
+.pyg-mi { color: #666 } /* Literal.Number.Integer */
+.pyg-mo { color: #666 } /* Literal.Number.Oct */
+.pyg-sa { color: #BA2121 } /* Literal.String.Affix */
+.pyg-sb { color: #BA2121 } /* Literal.String.Backtick */
+.pyg-sc { color: #BA2121 } /* Literal.String.Char */
+.pyg-dl { color: #BA2121 } /* Literal.String.Delimiter */
+.pyg-sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
+.pyg-s2 { color: #BA2121 } /* Literal.String.Double */
+.pyg-se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */
+.pyg-sh { color: #BA2121 } /* Literal.String.Heredoc */
+.pyg-si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */
+.pyg-sx { color: #008000 } /* Literal.String.Other */
+.pyg-sr { color: #A45A77 } /* Literal.String.Regex */
+.pyg-s1 { color: #BA2121 } /* Literal.String.Single */
+.pyg-ss { color: #19177C } /* Literal.String.Symbol */
+.pyg-bp { color: #008000 } /* Name.Builtin.Pseudo */
+.pyg-fm { color: #00F } /* Name.Function.Magic */
+.pyg-vc { color: #19177C } /* Name.Variable.Class */
+.pyg-vg { color: #19177C } /* Name.Variable.Global */
+.pyg-vi { color: #19177C } /* Name.Variable.Instance */
+.pyg-vm { color: #19177C } /* Name.Variable.Magic */
+.pyg-il { color: #666 } /* Literal.Number.Integer.Long */
-----------------------------------------------------------------------
Summary of changes:
configure.ac | 6 +-
doc/info/build_html.sh.in | 4 +-
doc/info/pygments.dark.css | 156 ++++++++++++++++++++++----------------------
doc/info/pygments.light.css | 136 +++++++++++++++++++-------------------
4 files changed, 152 insertions(+), 150 deletions(-)
hooks/post-receive
--
Maxima CAS
|
|
From: <ap...@us...> - 2025-11-24 06:05:26
|
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 c380557ab485e0d5fc5b4c775216081f686214df (commit)
from bb404ea5eeb2a3bae0d3cea46708d36992124b09 (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 c380557ab485e0d5fc5b4c775216081f686214df
Author: Robert Dodier <rob...@so...>
Date: Sun Nov 23 21:32:21 2025 -0800
Package gentran: create test cases which output C, Fortran, and Ratfor code for a given expression.
In each case, the expected values, as calculated by Maxima, are baked
into the generated code, and the values calculated by the translated
code are compared to those.
Command lines: to generate the translated code,
$ maxima -b compare_var_translations.mac
where maxima is a recent enough (post-109691d) version.
To compile and run the code for each one,
$ gcc foomain.c -o foomain-c -lm
$ ./foomain-c
$ f77 foomain.f -o foomain-f
$ ./foomain-f
$ ratfor foomain.rat > foomain-rat.f
$ f77 foomain-rat.f -o foomain-rat
$ ./foomain-rat
with:
* gcc 9.4.0
* f77 reporting its version as "GNU Fortran (Ubuntu 5.5.0-12ubuntu1~16.04) 5.5.0 20171010"
* ratfor built from https://github.com/arnoldrobbins/ratfor as of commit 419cf3
diff --git a/share/contrib/gentran/test/compare_var_translations.mac b/share/contrib/gentran/test/compare_var_translations.mac
new file mode 100644
index 000000000..2742a881b
--- /dev/null
+++ b/share/contrib/gentran/test/compare_var_translations.mac
@@ -0,0 +1,81 @@
+var:-((sqrt(m_piM^4+W^8*cost^2-W^8+4*P0^2*W^6)+((cost^2-1)*m_nuc^2+W^2*cost^2-W^2)*m_piM^4+sqrt(m_piM^2+P0^2)*(4*W^2*m_nuc*m_piM^2-4*W^2*m_nuc^3+4*W^4*m_nuc)+((2-2*cost^2)*m_nuc^4-4*W^2*cost^2*m_nuc^2-2*W^4*cost^2-2*W^4)*m_piM^2+(cost^2-1)*m_nuc^6+(W^2-W^2*cost^2)*m_nuc^4+(W^4-W^4*cost^2)*m_nuc^2+W^6*cost^2-W^6)/((cost^2-1)*m_piM^4+((2-2*cost^2)*m_nuc^2-2*W^2*cost^2-2*W^2)*m_piM^2+(cost^2-1)*m_nuc^4+(2*W^2-2*W^2*cost^2)*m_nuc^2+W^4*cost^2-W^4));
+
+/* should find that translated functions produce same results as original */
+
+freevars: listofvars (var);
+
+implicit_integer (varname) :=
+ block ([S1: charat (string (varname), 1)],
+ is (member (S1, ["i", "j", "k", "l", "m", "n", "I", "J", "K", "L", "M", "N"]) # false));
+
+make_type_decls (l) :=
+ block ([l1, l2a, l2b],
+ l1: makelist (if implicit_integer (x) then ['integer, x] else ['real, x], x, l),
+ [l2_real, l2_integer]: partition (l1, 'integer),
+ [ funmake (type, cons ('real, map (second, l2_real))),
+ funmake (type, cons ('integer, map (second, l2_integer))) ]);
+
+type_decls: cons (type (real, foo), make_type_decls (freevars));
+
+define (funmake (foo, freevars), buildq ([var, type_decls], block (splice (type_decls), return (var))));
+
+random_for (x, lower_limit, upper_limit) :=
+ if implicit_integer (x)
+ then lower_limit + random (upper_limit - lower_limit)
+ else lower_limit + random (float (upper_limit - lower_limit));
+
+random_values_for (l) := map (lambda ([x], random_for (x, 1, 4)), l);
+
+random_values_for_freevars: makelist (random_values_for (freevars), 20);
+
+foo_values: map (lambda ([l], apply (foo, l)), random_values_for_freevars);
+
+load (gentran);
+
+translated_foos: makelist (concat ('translated_foo, i), i, 1, length (random_values_for_freevars));
+original_foos: makelist (concat ('original_foo, i), i, 1, length (random_values_for_freevars));
+
+block ([gentranlang: 'fortran], gentranin ("foo-fortran.template", ["foomain.f"]));
+block ([gentranlang: 'ratfor, ratlinelen: 1000],
+ gentranin ("foo-ratfor.template", ["foomain.rat"]));
+
+/* need explicit type declarations for C, but gentranin disables type declaration output,
+ * so output boilerplate via printf to C output file instead of working with template.
+ */
+
+gentranlang: 'c;
+
+S: openw ("foomain.c");
+printf (S, "
+#include <stdio.h>
+#include <math.h>
+
+typedef float real;
+typedef int integer;
+");
+
+gentranpush (S);
+gentran (eval (fundef (foo)));
+
+printf (S, "
+int main (int argc, char** argv) {
+");
+
+for i thru length (random_values_for_freevars)
+ do (gentran (type (real, eval (translated_foos[i]), eval (original_foos[i])),
+ eval (translated_foos[i]): eval (funmake ('foo, random_values_for_freevars[i])),
+ eval (original_foos[i]): eval (foo_values[i]),
+ printf ("original foo%d = %g\\n", eval (i), eval (original_foos[i])),
+ printf ("translated foo%d = %g\\n", eval (i), eval (translated_foos[i])),
+ if eval (translated_foos[i]) = eval (original_foos[i])
+ then printf ("same\\n")
+ else printf ("DIFFERENCE = %g\\n", eval (translated_foos[i] - original_foos[i]))));
+
+printf (S, "
+ return (0);
+}
+");
+
+close (S);
+
+gentranpop (false);
diff --git a/share/contrib/gentran/test/foo-fortran.template b/share/contrib/gentran/test/foo-fortran.template
new file mode 100644
index 000000000..96885645d
--- /dev/null
+++ b/share/contrib/gentran/test/foo-fortran.template
@@ -0,0 +1,20 @@
+ program foomain
+
+<<
+ for i thru length (random_values_for_freevars)
+ do (gentran (eval (translated_foos[i]): eval (funmake ('foo, random_values_for_freevars[i]))),
+ gentran (eval (original_foos[i]): eval (foo_values[i])),
+ gentran (print ("original foo", eval (i), "=", eval (original_foos[i]))),
+ gentran (print ("translated foo", eval (i), "=", eval (translated_foos[i]))),
+ gentran (if eval (translated_foos[i]) = eval (original_foos[i])
+ then print ("same")
+ else print ("DIFFERENCE =", eval (translated_foos[i]) - eval (original_foos[i]))));
+>>
+
+ stop
+ end
+
+<<
+ gentran (eval (fundef (foo)));
+>>
+
diff --git a/share/contrib/gentran/test/foo-ratfor.template b/share/contrib/gentran/test/foo-ratfor.template
new file mode 100644
index 000000000..a8ddfb942
--- /dev/null
+++ b/share/contrib/gentran/test/foo-ratfor.template
@@ -0,0 +1,15 @@
+<<
+ gentran (eval (fundef (foo)));
+
+ for i thru length (random_values_for_freevars)
+ do (gentran (eval (translated_foos[i]): eval (funmake ('foo, random_values_for_freevars[i]))),
+ gentran (eval (original_foos[i]): eval (foo_values[i])),
+ gentran (print ("original foo", eval (i), "=", eval (original_foos[i]))),
+ gentran (print ("translated foo", eval (i), "=", eval (translated_foos[i]))),
+ gentran (if eval (translated_foos[i]) = eval (original_foos[i])
+ then print ("same")
+ else print ("DIFFERENCE =", eval (translated_foos[i]) - eval (original_foos[i]))));
+>>
+
+ stop
+ end
-----------------------------------------------------------------------
Summary of changes:
.../gentran/test/compare_var_translations.mac | 81 ++++++++++++++++++++++
share/contrib/gentran/test/foo-fortran.template | 20 ++++++
share/contrib/gentran/test/foo-ratfor.template | 15 ++++
3 files changed, 116 insertions(+)
create mode 100644 share/contrib/gentran/test/compare_var_translations.mac
create mode 100644 share/contrib/gentran/test/foo-fortran.template
create mode 100644 share/contrib/gentran/test/foo-ratfor.template
hooks/post-receive
--
Maxima CAS
|
|
From: l_butler <l_b...@us...> - 2025-11-21 21:42: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 bb404ea5eeb2a3bae0d3cea46708d36992124b09 (commit)
from 4e3369868f0e9eab00d57fb011f9c7824a93927c (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 bb404ea5eeb2a3bae0d3cea46708d36992124b09
Author: Leo Butler <l_b...@us...>
Date: Fri Nov 21 15:39:20 2025 -0600
batch_answers_from_file: correct the texinfo documentation
The references in doc/info/{Input,Bugs}.texi produced non-sensical
constructs, because @mrefdot behaves different compared to @ref.
diff --git a/doc/info/Bugs.texi b/doc/info/Bugs.texi
index a5c38ed36..69442f3cf 100644
--- a/doc/info/Bugs.texi
+++ b/doc/info/Bugs.texi
@@ -156,9 +156,9 @@ these additional tests are run as a part of the testsuite. If
Of course, the actual set of test that are run can be controlled by
the @code{tests} option. The default is @code{false}.
@item answers_from_file
-Read answers to interactive questions from the source file
-@mrefdot{batch_answers_from_file} May only be @code{false} or
-@code{true} (default).
+Read answers to interactive questions from the source file. May only be
+@code{false} or @code{true} (default). See also
+@mrefdot{batch_answers_from_file}
@end table
For example @code{run_testsuite(display_known_bugs = true, tests=[rtest5])}
diff --git a/doc/info/Input.texi b/doc/info/Input.texi
index 16747981c..03aae6bec 100644
--- a/doc/info/Input.texi
+++ b/doc/info/Input.texi
@@ -156,7 +156,7 @@ expressions. @code{batch} evaluates every input expression in the file
unless there is an error. If user input is requested (by @mref{asksign}
or @mrefcomma{askinteger} for example) @code{batch} pauses to collect
the requisite input and then continue; if @code{batch_answers_from_file}
-is @code{true}, the input is read from the file itself
+is @code{true}, the input is read from the file itself. See also
@mrefdot{batch_answers_from_file}
@c CTRL-C BREAKS batch IN CMUCL, BUT CLISP (ALTHOUGH IT SHOWS "User break")
@@ -266,7 +266,7 @@ result.
The command-line option @code{--batch-string} binds
@code{batch_answers_from_file} to @code{true}. The @code{run_testsuite}
function, as a default, also binds @code{batch_answers_from_file} to
-@code{true}. @mref{command_line_options} and @mrefdot{run_testsuite}
+@code{true}. See also @mref{command_line_options} and @mrefdot{run_testsuite}
@opencatbox{Categories:}
@category{File input}
-----------------------------------------------------------------------
Summary of changes:
doc/info/Bugs.texi | 6 +++---
doc/info/Input.texi | 4 ++--
2 files changed, 5 insertions(+), 5 deletions(-)
hooks/post-receive
--
Maxima CAS
|
|
From: rtoy <rt...@us...> - 2025-11-21 15:11:31
|
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 4e3369868f0e9eab00d57fb011f9c7824a93927c (commit)
via 6e49a965367ebb5410dcfa195147d433e92d0012 (commit)
via 5c0df12aadf24e0ed8bf0a9dcaf654a295fea9bf (commit)
via ac7f321aa11bfc2eb0aa98f1f9ebdd1468fc5028 (commit)
via 71ff3c56185e723a9d0bacfecdb6f96b732d99f2 (commit)
via d2edf1daed08af4ea45ddd7d1ae79604a7e15d28 (commit)
via 7b0ca10415d19903d8e65e88f3293a1ddf38f0bc (commit)
via 7f57f45cce15f7fbf3119227a6025845c110ba99 (commit)
from c3b58349472a8103ff571fc6d59836bcb317b870 (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 4e3369868f0e9eab00d57fb011f9c7824a93927c
Merge: c3b583494 6e49a9653
Author: Raymond Toy <toy...@gm...>
Date: Fri Nov 21 07:11:14 2025 -0800
Merge branch 'rtoy-lisp-list-avail-consistently'
-----------------------------------------------------------------------
Summary of changes:
maxima-local.in | 15 ++++----------
src/init-cl.lisp | 61 ++++++++++++++++++++++++++++++++++++++------------------
src/mload.lisp | 16 +++++++++++----
3 files changed, 58 insertions(+), 34 deletions(-)
hooks/post-receive
--
Maxima CAS
|
|
From: rtoy <rt...@us...> - 2025-11-21 15:10: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, rtoy-lisp-list-avail-consistently has been updated
via 6e49a965367ebb5410dcfa195147d433e92d0012 (commit)
via 5c0df12aadf24e0ed8bf0a9dcaf654a295fea9bf (commit)
via ac7f321aa11bfc2eb0aa98f1f9ebdd1468fc5028 (commit)
via 71ff3c56185e723a9d0bacfecdb6f96b732d99f2 (commit)
from d2edf1daed08af4ea45ddd7d1ae79604a7e15d28 (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 6e49a965367ebb5410dcfa195147d433e92d0012
Author: Raymond Toy <toy...@gm...>
Date: Fri Nov 21 07:09:42 2025 -0800
Let lisp handle --list-avail
This script handled --list-avail if it was the first arg. That's
weird if it's not. Remove this and let lisp handle all of the
command-line args as usual.
diff --git a/maxima-local.in b/maxima-local.in
index ceb735c08..a819dc770 100755
--- a/maxima-local.in
+++ b/maxima-local.in
@@ -17,17 +17,6 @@ export MAXIMA_HTMLDIR
MAXIMA_LOCAL=yes
export MAXIMA_LOCAL
-# report the compiled in Lisp versions
-if [ x"$1" = "x--list-avail" ]; then
- V="@VERSION@"
- echo "Available versions:"
- for i in src/binary-* ; do
- L=`echo $i | sed s/src.binary-//`
- echo "version $V, lisp $L"
- done;
- exit;
-fi;
-
# quick fix for plotting with plot_format=openmath (bug 3052)
if [ ! -d "@abs_top_srcdir@/bin" ]; then
mkdir -p "@abs_top_srcdir@/bin"
commit 5c0df12aadf24e0ed8bf0a9dcaf654a295fea9bf
Author: Raymond Toy <toy...@gm...>
Date: Wed Nov 19 07:31:22 2025 -0800
Add more info to unix-like-dirname docstring
I expect was expecting "a/b/c/" to return "a/b/c", but it doesn't. It
returns "a/b". Add that as an example, even though it's fairly clear
from the dirname manpage that that is the expected answer.
diff --git a/src/mload.lisp b/src/mload.lisp
index 5f737548c..b39e5706f 100644
--- a/src/mload.lisp
+++ b/src/mload.lisp
@@ -44,7 +44,8 @@
(defun unix-like-dirname (path)
"A Lisp equivalent of the Unix program dirname. This strips the last
component from the given PATH. The last non-slash component and
- trailing slashes are removed."
+ trailing slashes are removed. In particular for \"a/b/c/\", this
+ returns \"a/b\", not \"a/b/c/\"."
(let* ((pathstring (namestring path))
(len (length pathstring)))
(when (equal (subseq pathstring (- len 1) len) "/")
commit ac7f321aa11bfc2eb0aa98f1f9ebdd1468fc5028
Author: Raymond Toy <toy...@gm...>
Date: Wed Nov 19 07:25:52 2025 -0800
Update get-dirs to support cmucl and add some comments
`get-dirs` was returning all the files in the given `path` for cmucl
because a trailing slash was not appended. Append the slash.
Also add some docstrings and comments to `get-dirs`.
Finally, add comments to `unix-like-dirname` because I was confused on
what `unix-like-dirname` was returning. It is doing what the program
`dirname` does.
diff --git a/src/mload.lisp b/src/mload.lisp
index dfce018e4..5f737548c 100644
--- a/src/mload.lisp
+++ b/src/mload.lisp
@@ -21,11 +21,15 @@
(errset (pathname x))))
(defun get-dirs (path &aux (ns (namestring path)))
+ "Find all the directories in the directory given by PATH. We do not
+ descend into the subdirectories."
+ ;; Basically get a directory listing from "<path>/*/". The last
+ ;; slash tells DIRECTORY to return just the directories in PATH.
(directory (concatenate 'string
ns
(if (eql #\/ (char ns (1- (length ns)))) "" "/")
"*"
- #+(or :clisp :sbcl :ecl :openmcl :gcl) "/")
+ #+(or :clisp :sbcl :ecl :openmcl :gcl :cmucl) "/")
#+openmcl :directories #+openmcl t))
(defun unix-like-basename (path)
@@ -38,16 +42,19 @@
(position #\\ pathstring :from-end t) -1)) len)))
(defun unix-like-dirname (path)
+ "A Lisp equivalent of the Unix program dirname. This strips the last
+ component from the given PATH. The last non-slash component and
+ trailing slashes are removed."
(let* ((pathstring (namestring path))
(len (length pathstring)))
(when (equal (subseq pathstring (- len 1) len) "/")
(decf len)
(setf pathstring (subseq pathstring 0 len)))
(let ((last-slash (or (position #\/ pathstring :from-end t)
- (position #\\ pathstring :from-end t))))
+ (position #\\ pathstring :from-end t))))
(if last-slash
- (subseq pathstring 0 last-slash)
- "."))))
+ (subseq pathstring 0 last-slash)
+ "."))))
(defmfun $filename_merge (&rest file-specs)
(when (or (null file-specs) (cddr file-specs))
commit 71ff3c56185e723a9d0bacfecdb6f96b732d99f2
Author: Raymond Toy <toy...@gm...>
Date: Wed Nov 19 07:13:05 2025 -0800
Use get-dirs to get directories and add some comments
Use `get-dirs` to get a list of directories instead of calling
`directory` ourselves.
Add some more comments about regexp pattern.
diff --git a/src/init-cl.lisp b/src/init-cl.lisp
index c5ab0a2de..771897d8d 100644
--- a/src/init-cl.lisp
+++ b/src/init-cl.lisp
@@ -332,7 +332,8 @@ maxima [options] --batch-string='batch_answers_from_file:false; ...'
(let ((maxima-dir (maxima-getenv "MAXIMA_PREFIX"))
;; I (rtoy) am lazy. Just use regexp to match
;; "src/binary-foo" which is the directory containing the
- ;; build using lisp "foo".
+ ;; build using lisp "foo". Since it's a directory, the
+ ;; pattern should not include the slash.
(pattern (pregexp:pregexp "src/binary-([^/]+)")))
;; maxima-local MUST define MAXIMA_PREFIX envvar so we know where we are.
(unless maxima-dir
@@ -341,7 +342,7 @@ maxima [options] --batch-string='batch_answers_from_file:false; ...'
(bye))
(setf maxima-dir (combine-path maxima-dir "src"))
(format t "Available versions:~%")
- (dolist (p (directory (concatenate 'string maxima-dir "/*")))
+ (dolist (p (get-dirs (concatenate 'string maxima-dir "/*")))
(destructuring-bind (&optional whole-match lisp-name)
(pregexp:pregexp-match pattern (namestring p))
(declare (ignore whole-match))
@@ -360,11 +361,7 @@ maxima [options] --batch-string='batch_answers_from_file:false; ...'
(format t "Available versions:~%")
(unless (equal (subseq maxima-verpkglibdir (- len 1) len) "/")
(setf maxima-verpkglibdir (concatenate 'string maxima-verpkglibdir "/")))
- (format t "maxima-verpkglibdir = ~A~%" maxima-verpkglibdir)
- (format t "unix-like-dirname = ~A~%" (unix-like-dirname maxima-verpkglibdir))
- (format t "get-dirs = ~A~%" (get-dirs (unix-like-dirname maxima-verpkglibdir)))
(dolist (version (get-dirs (unix-like-dirname maxima-verpkglibdir)))
- (format t "version = ~A~%" version)
(dolist (lisp (get-dirs version))
(setf lisp-string (unix-like-basename lisp))
(when (search "binary-" lisp-string)
-----------------------------------------------------------------------
Summary of changes:
maxima-local.in | 11 -----------
src/init-cl.lisp | 9 +++------
src/mload.lisp | 16 ++++++++++++----
3 files changed, 15 insertions(+), 21 deletions(-)
hooks/post-receive
--
Maxima CAS
|
|
From: rtoy <rt...@us...> - 2025-11-21 14:35:44
|
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-highlightjs-example-maxima-blocks-texi-dev has been updated
via 7ae65db9239f3325615db30dc57cf3d57197a5e3 (commit)
via e55407b86daed075159cdc331b8980abf6dc831f (commit)
via 76ebed3a3fdfe8850b46db8913cea5d7ec22fa0a (commit)
from 362e9ff9084001b6e7953073700ef11402f6f09d (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 7ae65db9239f3325615db30dc57cf3d57197a5e3
Author: Raymond Toy <toy...@gm...>
Date: Fri Nov 21 06:21:57 2025 -0800
Use HERE docs for variables and fix a typo
To make it easier to read and modify the values for HIGHLIGHT1,
HIGHLIGHT2, and CUSTOM_PYGMENTS_CSS use a HERE document. Then use
`tr` to replace the newlines with spaces.
Finally fix a typo in the filenames for the pygments css files. Also
set the appropriate media values for the light and dark modes.
diff --git a/configure.ac b/configure.ac
index 4bfd9cf40..555c8dc0a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -916,12 +916,38 @@ if test x"${enable_build_docs}" = xtrue ; then
dnl Make sure HIGHLIGHT1 and HIGHLIGHT2 are all on one line
dnl because these variables are placed in the Makefile and
dnl make doesn't support multiple-line variable
- dnl assignments.
- HIGHLIGHT1=$(cat <<EOF
-<link rel="stylesheet" media="(prefers-color-scheme: light)" href="$CDN/$HIGHLIGHT_VER/styles/$LIGHTMODE" integrity="$LIGHTMODECSS_HASH" crossorigin="anonymous"> <link rel="stylesheet" media="(prefers-color-scheme: dark)" href="$CDN/$HIGHLIGHT_VER/styles/$DARKMODE" integrity="$DARKMODECSS_HASH" crossorigin="anonymous"> <script src="$CDN/$HIGHLIGHT_VER/highlight.min.js" integrity="$HIGHLIGHTJS_HASH" crossorigin="anonymous"></script> <script src="$CDN/$HIGHLIGHT_VER/languages/maxima.min.js" integrity="$MAXIMAJS_HASH" crossorigin="anonymous"></script>
+ dnl assignments. Hence, use tr to remove newlines from the
+ dnl HERE document. The HERE document makes it easier to read
+ dnl and understand what's being done.
+ HIGHLIGHT1="$(cat | tr -s '\n' ' ' <<EOF
+<link rel="stylesheet"
+ media="(prefers-color-scheme: light)"
+ href="$CDN/$HIGHLIGHT_VER/styles/$LIGHTMODE"
+ integrity="$LIGHTMODECSS_HASH"
+ crossorigin="anonymous">
+<link rel="stylesheet"
+ media="(prefers-color-scheme: dark)"
+ href="$CDN/$HIGHLIGHT_VER/styles/$DARKMODE"
+ integrity="$DARKMODECSS_HASH"
+ crossorigin="anonymous">
+<script src="$CDN/$HIGHLIGHT_VER/highlight.min.js"
+ integrity="$HIGHLIGHTJS_HASH"
+ crossorigin="anonymous">
+</script>
+<script src="$CDN/$HIGHLIGHT_VER/languages/maxima.min.js"
+ integrity="$MAXIMAJS_HASH"
+ crossorigin="anonymous">
+</script>
EOF
-)
- HIGHLIGHT2="<script> hljs.configure({languages: [['Maxima']], cssSelector: ${HLJS_CSS_SELECTOR}}); hljs.highlightAll(); </script>"
+)"
+ HIGHLIGHT2="$(cat | tr -s '\n' ' ' <<EOF
+<script>
+ hljs.configure({languages: [['Maxima']],
+ cssSelector: ${HLJS_CSS_SELECTOR}});
+ hljs.highlightAll();
+</script>
+EOF
+)"
fi
if test x${syntax_highlighting} = xpygments; then
if test ${makeinfo_version} -ge 70200; then
@@ -945,7 +971,15 @@ EOF
dnl
dnl Change "default" and "rrt" to choose different styles
dnl for light and dark modes, respectively.
- CUSTOM_PYGMENTS_CSS='<link rel="stylesheet" href="pgyments.light.css"><link rel="stylesheet" href="pgyments.dark.css">'
+ CUSTOM_PYGMENTS_CSS="$(cat | tr -s '\n' ' ' <<EOF
+<link rel="stylesheet"
+ href="pygments.light.css"
+ media="(prefers-color-scheme: light)">
+<link rel="stylesheet"
+ href="pygments.dark.css"
+ media="(prefers-color-scheme: dark)">
+EOF
+)"
fi
fi
AC_SUBST(TEXI_EXTRA_HEAD)
commit e55407b86daed075159cdc331b8980abf6dc831f
Author: Raymond Toy <toy...@gm...>
Date: Fri Nov 21 06:21:10 2025 -0800
Remove debugging statements
We had an extra `set -x` and and `echo` for debugging. Remove these.
diff --git a/doc/info/build_html.sh.in b/doc/info/build_html.sh.in
index 8668090c9..318dacdf6 100755
--- a/doc/info/build_html.sh.in
+++ b/doc/info/build_html.sh.in
@@ -218,9 +218,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.
-set -x
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} ${SET_HIGHLIGHT}"
-echo $TEXIOPT
# Show the commands.
set -x
# NOTE: We need to do the SET_CUSTOM here instead of putting it in
commit 76ebed3a3fdfe8850b46db8913cea5d7ec22fa0a
Author: Raymond Toy <toy...@gm...>
Date: Fri Nov 21 05:48:33 2025 -0800
Forgot to AC_SUBST CUSTOM_PYGMENTS_CSS
diff --git a/configure.ac b/configure.ac
index b1cb8d232..4bfd9cf40 100644
--- a/configure.ac
+++ b/configure.ac
@@ -955,6 +955,7 @@ EOF
AC_SUBST(USE_PYGMENTS)
AC_SUBST(USE_CUSTOM_HILITE)
AC_SUBST(CUSTOM_PYGMENTS)
+ AC_SUBST(CUSTOM_PYGMENTS_CSS)
TEXI2HTML=texi2html.init
AC_SUBST(TEXI2HTML)
-----------------------------------------------------------------------
Summary of changes:
configure.ac | 47 +++++++++++++++++++++++++++++++++++++++++------
doc/info/build_html.sh.in | 2 --
2 files changed, 41 insertions(+), 8 deletions(-)
hooks/post-receive
--
Maxima CAS
|
|
From: rtoy <rt...@us...> - 2025-11-21 03:36: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, rtoy-highlightjs-example-maxima-blocks-texi-dev has been updated
via 362e9ff9084001b6e7953073700ef11402f6f09d (commit)
via 82f6a5e015c57f206c908fa3c983fc24951557d1 (commit)
via c3b58349472a8103ff571fc6d59836bcb317b870 (commit)
via 18f73e887e4a81c88c267ad20cb9e82125f43642 (commit)
via 55f4cc17155732c280e7639f638a92cf0163a53c (commit)
via 9f875ef1bc10456a254f072cb632a428795c6efa (commit)
via 73bf030a4c3bb5f20954fb63dd5d8608f1d93dd0 (commit)
via 309ed0d3c9c48df480aafcd6c31d5c425c58f935 (commit)
via 31a22907ca4c85c8fc5093c5401f9a0a9ceefc41 (commit)
from 64c9bd227da5822e631ee775c30998b1018c9006 (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 362e9ff9084001b6e7953073700ef11402f6f09d
Author: Raymond Toy <toy...@gm...>
Date: Thu Nov 20 19:34:17 2025 -0800
Require at least 7.2dev for custom-pygments
Let's use 70299 (which is 7.2dev) as the minimum version to support
custom-pygments. Previously we disallowed 7.2 or earlier, but 7.2dev
seems a bit safer for now.
diff --git a/configure.ac b/configure.ac
index 5668b3d40..b1cb8d232 100644
--- a/configure.ac
+++ b/configure.ac
@@ -931,7 +931,7 @@ EOF
fi
fi
if test x${syntax_highlighting} = "xcustom-pygments"; then
- if test ${makeinfo_version} -le 70200; then
+ if test ${makeinfo_version} -lt 70299; then
AC_MSG_ERROR([Makeinfo version (${makeinfo_version_string}) too old to use custom-pygments for syntax highlighting. Disable or use highlightjs or pygments])
else
dnl This tells build_html.sh to use a custom call to
commit 82f6a5e015c57f206c908fa3c983fc24951557d1
Merge: 64c9bd227 c3b583494
Author: Raymond Toy <toy...@gm...>
Date: Thu Nov 20 14:04:45 2025 -0800
Merge branch 'master' into rtoy-highlightjs-example-maxima-blocks-texi-dev
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 4 +-
configure.ac | 173 ++++++++++++++--------
share/contrib/integration/rtest_abs_integrate.mac | 10 +-
src/limit.lisp | 59 ++++++--
src/testsuite.lisp | 2 +-
tests/rtest_limit.mac | 21 ++-
tests/rtest_log.mac | 2 +-
7 files changed, 180 insertions(+), 91 deletions(-)
hooks/post-receive
--
Maxima CAS
|
|
From: rtoy <rt...@us...> - 2025-11-20 22:02:23
|
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 c3b58349472a8103ff571fc6d59836bcb317b870 (commit)
via 18f73e887e4a81c88c267ad20cb9e82125f43642 (commit)
via 55f4cc17155732c280e7639f638a92cf0163a53c (commit)
from 9f875ef1bc10456a254f072cb632a428795c6efa (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:
configure.ac | 171 ++++++++++++++++++++++++++++++++++++++---------------------
1 file changed, 111 insertions(+), 60 deletions(-)
hooks/post-receive
--
Maxima CAS
|
|
From: rtoy <rt...@us...> - 2025-11-20 21:08: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-use-ac-help-string has been created
at c3b58349472a8103ff571fc6d59836bcb317b870 (commit)
- Log -----------------------------------------------------------------
commit c3b58349472a8103ff571fc6d59836bcb317b870
Author: Raymond Toy <toy...@gm...>
Date: Thu Nov 20 13:07:28 2025 -0800
Use AS_HELP_STRING for languages and other options
diff --git a/configure.ac b/configure.ac
index e00ac1481..310fb7070 100644
--- a/configure.ac
+++ b/configure.ac
@@ -836,7 +836,8 @@ fi
dnl languages
AC_ARG_ENABLE(lang-de,
- [ --enable-lang-de German language support],
+ [AS_HELP_STRING([--enable-lang-de],
+ [German language support])],
[case "${enableval}" in
yes) lang_de=true ;;
no) lang_de=false ;;
@@ -847,7 +848,8 @@ AC_ARG_ENABLE(lang-de,
AM_CONDITIONAL(LANG_DE, test x$lang_de = xtrue)
AC_ARG_ENABLE(lang-ja,
- [ --enable-lang-ja Japanese language support],
+ [AS_HELP_STRING([--enable-lang-ja],
+ [Japanese language support])],
[case "${enableval}" in
yes) lang_ja=true ;;
no) lang_ja=false ;;
@@ -858,7 +860,8 @@ AC_ARG_ENABLE(lang-ja,
AM_CONDITIONAL(LANG_JA, test x$lang_ja = xtrue)
AC_ARG_ENABLE(lang-es,
- [ --enable-lang-es Spanish language support],
+ [AS_HELP_STRING([--enable-lang-es],
+ [Spanish language support])],
[case "${enableval}" in
yes) lang_es=true ;;
no) lang_es=false ;;
@@ -870,7 +873,8 @@ AC_SUBST(lang_es)
AM_CONDITIONAL(LANG_ES, test x$lang_es = xtrue)
AC_ARG_ENABLE(lang-pt,
- [ --enable-lang-pt Portuguese language support],
+ [AS_HELP_STRING([--enable-lang-pt],
+ [Portuguese language support])],
[case "${enableval}" in
yes) lang_pt=true ;;
no) lang_pt=false ;;
@@ -882,7 +886,8 @@ AC_SUBST(lang_pt)
AM_CONDITIONAL(LANG_PT, test x$lang_pt = xtrue)
AC_ARG_ENABLE(lang-pt_BR,
- [ --enable-lang-pt_BR Brazilian Portuguese language support],
+ [AS_HELP_STRING([--enable-lang-pt_BR],
+ [Brazilian Portuguese language support])],
[case "${enableval}" in
yes) lang_pt_br=true ;;
no) lang_pt_br=false ;;
@@ -894,7 +899,8 @@ AC_SUBST(lang_pt_br)
AM_CONDITIONAL(LANG_PT_BR, test x$lang_pt_br = xtrue)
AC_ARG_ENABLE(lang-ru,
- [ --enable-lang-ru Russian language support],
+ [AS_HELP_STRING([--enable-lang-ru],
+ [Russian language support])],
[case "${enableval}" in
yes) lang_ru=true ;;
no) lang_ru=false ;;
@@ -907,7 +913,8 @@ AM_CONDITIONAL(LANG_RU, test x$lang_ru = xtrue)
dnl Optionally build the windows CHM help files
dnl default to false as requires win32 and Microsoft HTML Help Workshop
AC_ARG_ENABLE(chm,
- [ --enable-chm Build Windows CHM help files],
+ [AS_HELP_STRING([--enable-chm],
+ [Build Windows CHM help files])],
[case "${enableval}" in
yes) chm=true ;;
no) chm=false ;;
@@ -946,7 +953,8 @@ fi
dnl Make the build quiet
AC_ARG_ENABLE(quiet_build,
- [ --enable-quiet-build Make the build quieter],
+ [AS_HELP_STRING([--enable-quiet-build],
+ [Make the build quieter])],
[case "${enableval}" in
yes) quiet_build=true ;;
no) quiet_build=false ;;
@@ -958,7 +966,8 @@ AM_CONDITIONAL(QUIET_BUILD, test x${quiet_build} = xtrue)
dnl Optionally build xmaxima.exe under windows
dnl default to false as additional software
AC_ARG_ENABLE(xmaxima_exe,
- [ --enable-xmaxima-exe Build Windows xmaxima.exe for installer],
+ [AS_HELP_STRING([--enable-xmaxima-exe],
+ [Build Windows xmaxima.exe for installer])],
[case "${enableval}" in
yes) xmaxima_exe=true ;;
no) xmaxima_exe=false ;;
@@ -970,7 +979,8 @@ AM_CONDITIONAL(XMAXIMA_EXE, test x$xmaxima_exe = xtrue)
dnl Optionally build winkill.exe under windows
dnl default to false as additional software
AC_ARG_ENABLE(winkill_exe,
- [ --enable-winkill Build Windows winkill.exe and winkill_lib.dll for installer],
+ [AS_HELP_STRING([--enable-winkill],
+ [Build Windows winkill.exe and winkill_lib.dll for installer])],
[case "${enableval}" in
yes) winkill_exe=true ;;
no) winkill_exe=false ;;
@@ -981,7 +991,8 @@ AM_CONDITIONAL(WINKILL_EXE, test x$winkill_exe = xtrue)
dnl Should we build a win64 installer?
AC_ARG_ENABLE(win64-installer,
- [ --enable-win64-installer Build a 64bit installer on Windows],
+ [AS_HELP_STRING([--enable-win64-installer],
+ [Build a 64bit installer on Windows])],
[case "${enableval}" in
yes) win64_installer=true ;;
no) win64_installer=false ;;
@@ -1187,7 +1198,8 @@ The gcl ANSI-CL check returned
fi
AC_ARG_ENABLE(gcl-alt-link,
- [ --enable-gcl-alt-link Use GCL's alternate linking mechanism],
+ [AS_HELP_STRING([--enable-gcl-alt-link],
+ [Use GCL's alternate linking mechanism])],
[case "${enableval}" in
yes) gcl_alt_link=true ;;
no) gcl_alt_link=false ;;
@@ -1322,7 +1334,7 @@ AC_SUBST(ABCL_JAR)
AC_SUBST(JRE)
AC_ARG_WITH(posix-shell,
- [AS_HELP_STRING([--with-posix-shell=<path>]
+ [AS_HELP_STRING([--with-posix-shell=<path>],
[Use <shell> for maxima script (default /bin/sh)])],
[posix_shell_list="${withval}"],
[posix_shell_list="/bin/sh /bin/bash /usr/bin/bash /usr/local/bin/bash"])
commit 18f73e887e4a81c88c267ad20cb9e82125f43642
Author: Raymond Toy <toy...@gm...>
Date: Thu Nov 20 12:58:01 2025 -0800
Use AS_HELP_STRING for --with-foo options
diff --git a/configure.ac b/configure.ac
index 7e65635b6..e00ac1481 100644
--- a/configure.ac
+++ b/configure.ac
@@ -918,7 +918,8 @@ AM_CONDITIONAL(CHM, test x$chm = xtrue)
dnl hhc is the HTML Help Compiler for CHM documentation
hhc_default_name=hhc$EXEEXT
AC_ARG_WITH(hhc,
- [ --with-hhc=<prog> Use HTML Help Compiler executable <prog> (default hhc)],
+ [AS_HELP_STRING([--with-hhc=<prog>],
+ [Use HTML Help Compiler executable <prog> (default hhc)])],
[hhc=true
if test "$withval" = "yes"; then
HHC="${hhc_default_name}"
@@ -1197,7 +1198,8 @@ AC_ARG_ENABLE(gcl-alt-link,
AM_CONDITIONAL(GCL_ALT_LINK, test x$gcl_alt_link = xtrue)
AC_ARG_WITH(default-lisp,
- [ --with-default-lisp=<lisp> Set default lisp implementation to <lisp>],
+ [AS_HELP_STRING([--with-default-lisp=<lisp>],
+ [Set default lisp implementation to <lisp>])],
[case "${withval}" in
clisp)
if test x"${clisp}" = xtrue ; then
@@ -1320,12 +1322,14 @@ AC_SUBST(ABCL_JAR)
AC_SUBST(JRE)
AC_ARG_WITH(posix-shell,
- [ --with-posix-shell=<path> Use <shell> for maxima script (default /bin/sh)],
+ [AS_HELP_STRING([--with-posix-shell=<path>]
+ [Use <shell> for maxima script (default /bin/sh)])],
[posix_shell_list="${withval}"],
[posix_shell_list="/bin/sh /bin/bash /usr/bin/bash /usr/local/bin/bash"])
AC_ARG_WITH(wish,
- [ --with-wish=<prog> Use <prog> for Tk wish shell (default wish)],
+ [AS_HELP_STRING([--with-wish=<prog>],
+ [Use <prog> for Tk wish shell (default wish)])],
[WISH="${withval}"],
[WISH="wish"])
AC_SUBST(WISH)
@@ -1392,7 +1396,8 @@ AC_SUBST(default_layout_autotools)
AC_SUBST(LDFLAGS)
AC_ARG_WITH(emacs-prefix,
- [ --emacs-prefix=<path> Where to install the emacs modes to],
+ [AS_HELP_STRING([--emacs-prefix=<path>],
+ [Where to install the emacs modes to])],
[EMACSDIR="$withval"],
[EMACSDIR="${datarootdir}/emacs/site-lisp"])
AC_SUBST(EMACSDIR)
commit 55f4cc17155732c280e7639f638a92cf0163a53c
Author: Raymond Toy <toy...@gm...>
Date: Thu Nov 20 12:55:14 2025 -0800
Use AS_HELP_STRING for --enable-foo options
diff --git a/configure.ac b/configure.ac
index 2e6668797..7e65635b6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -68,7 +68,8 @@ lisps_enabled=""
dnl Compiling with abcl requires a jre and the path to abcl.jar
AC_ARG_ENABLE(abcl,
- [ --enable-abcl Use abcl, requires --with-abcl-jar],
+ [AS_HELP_STRING([--enable-abcl],
+ [Use abcl, requires --with-abcl-jar])],
[case "${enableval}" in
yes) abcl=true
lisps_enabled="${lisps_enabled} abcl"
@@ -80,14 +81,16 @@ AC_ARG_ENABLE(abcl,
[abcl=false])
ABCL_JAR=`pwd`/"abcl.jar"
AC_ARG_WITH(abcl-jar,
- [ --with-abcl-jar=<jarfile> Use <jarfile> as abcl install (default ./abcl.jar)],
+ [AS_HELP_STRING([--with-abcl-jar=<jarfile>],
+ [Use <jarfile> as abcl install (default ./abcl.jar)])],
[abcl=true
lisps_enabled="${lisps_enabled} abcl"
explicit_lisp=true
ABCL_JAR="${withval}"])
AC_ARG_WITH(jre,
- [ --with-jre=<jre> When compiling with abcl: use <jre> as Java interpreter],
+ [AS_HELP_STRING([--with-jre=<jre>],
+ [When compiling with abcl: use <jre> as Java interpreter])],
[JRE="${withval}"],
[JRE="java"])
@@ -102,7 +105,8 @@ fi
dnl n.b. clisp_default_name is hardcoded in "with" message
clisp_default_name=clisp
AC_ARG_ENABLE(clisp,
- [ --enable-clisp Use clisp],
+ [AS_HELP_STRING([--enable-clisp],
+ [Use clisp])],
[case "${enableval}" in
yes) clisp=true
lisps_enabled="${lisps_enabled} clisp"
@@ -113,7 +117,8 @@ AC_ARG_ENABLE(clisp,
explicit_lisp=true],
[clisp=false])
AC_ARG_WITH(clisp,
- [ --with-clisp=<prog> Use clisp executable <prog> (default clisp)],
+ [AS_HELP_STRING([--with-clisp=<prog>],
+ [Use clisp executable <prog> (default clisp)])],
[clisp=true
lisps_enabled="${lisps_enabled} clisp"
explicit_lisp=true
@@ -125,18 +130,20 @@ AC_ARG_WITH(clisp,
[CLISP_NAME=${clisp_default_name}])
CLISP_RUNTIME="lisp${CLISPEXT}"
AC_ARG_WITH(clisp-runtime,
- [ --with-clisp-runtime=<path> Use clisp runtime <path> (default
+ [AS_HELP_STRING([--with-clisp-runtime=<path>],
+ [Use clisp runtime <path> (default
*lib-directory*/base/lisp.run on unix,
- *lib-directory*\\lisp.exe on windows) ],
+ *lib-directory*\\lisp.exe on windows) ])],
[clisp=true
lisps_enabled="${lisps_enabled} clisp"
CLISP_RUNTIME_PATH="$withval"
CLISP_RUNTIME=`basename ${CLISP_RUNTIME_PATH}`],
[])
AC_ARG_ENABLE(clisp-exec,
- [ --enable-clisp-exec Create a maxima executable image using CLISP.
+ [AS_HELP_STRING([--enable-clisp-exec],
+ [Create a maxima executable image using CLISP.
No check is made if the version of
- CLISP supports executable images],
+ CLISP supports executable images])],
[case "${enableval}" in
yes) clisp_exec=true
clisp=true
@@ -189,7 +196,8 @@ dnl n.b. cmucl_default_name is hardcoded in "with" message
cmucl_default_name=lisp
CMUCL_RUNTIME=lisp
AC_ARG_ENABLE(cmucl,
- [ --enable-cmucl Use CMUCL],
+ [AS_HELP_STRING([--enable-cmucl],
+ [Use CMUCL])],
[case "${enableval}" in
yes) cmucl=true
lisps_enabled="${lisps_enabled} cmucl"
@@ -200,7 +208,8 @@ AC_ARG_ENABLE(cmucl,
explicit_lisp=true],
[cmucl=false])
AC_ARG_WITH(cmucl,
- [ --with-cmucl=<prog> Use CMUCL executable <prog> (default lisp)],
+ [AS_HELP_STRING([--with-cmucl=<prog>],
+ [Use CMUCL executable <prog> (default lisp)])],
[cmucl=true
lisps_enabled="${lisps_enabled} cmucl"
explicit_lisp=true
@@ -211,17 +220,19 @@ AC_ARG_WITH(cmucl,
fi],
[CMUCL_NAME=${cmucl_default_name}])
AC_ARG_WITH(cmucl-runtime,
- [ --with-cmucl-runtime=<path> Use CMUCL runtime <path> (default
- *cmucl-lib*/../bin/lisp)],
+ [AS_HELP_STRING([--with-cmucl-runtime=<path>],
+ [Use CMUCL runtime <path> (default
+ *cmucl-lib*/../bin/lisp)])],
[cmucl=true
lisps_enabled="${lisps_enabled} cmucl"
CMUCL_RUNTIME_PATH="$withval"
CMUCL_RUNTIME=`basename ${CMUCL_RUNTIME_PATH}`],
[])
AC_ARG_ENABLE(cmucl-exec,
- [ --enable-cmucl-exec Create a maxima executable image using CMUCL.
+ [AS_HELP_STRING([--enable-cmucl-exec],
+ [Create a maxima executable image using CMUCL.
No check is made if the version of
- CMUCL supports executable images],
+ CMUCL supports executable images])],
[case "${enableval}" in
yes) cmucl_exec=true
cmucl=true
@@ -253,7 +264,8 @@ dnl n.b. scl_default_name is hardcoded in "with" message
scl_default_name=scl
SCL_RUNTIME=lisp
AC_ARG_ENABLE(scl,
- [ --enable-scl Use SCL],
+ [AS_HELP_STRING([--enable-scl],
+ [Use SCL])],
[case "${enableval}" in
yes) scl=true
lisps_enabled="${lisps_enabled} scl"
@@ -264,7 +276,8 @@ AC_ARG_ENABLE(scl,
explicit_lisp=true],
[scl=false])
AC_ARG_WITH(scl,
- [ --with-scl=<prog> Use SCL executable <prog> (default scl)],
+ [AS_HELP_STRING([--with-scl=<prog>],
+ [Use SCL executable <prog> (default scl)])],
[scl=true
lisps_enabled="${lisps_enabled} scl"
explicit_lisp=true
@@ -275,8 +288,9 @@ AC_ARG_WITH(scl,
fi],
[SCL_NAME=${scl_default_name}])
AC_ARG_WITH(scl-runtime,
- [ --with-scl-runtime=<path> Use SCL runtime <path> (default
- file://library/../bin/lisp)],
+ [AS_HELP_STRING([--with-scl-runtime=<path>],
+ [Use SCL runtime <path> (default
+ file://library/../bin/lisp)])],
[scl=true
lisps_enabled="${lisps_enabled} scl"
SCL_RUNTIME_PATH="$withval"
@@ -301,7 +315,8 @@ fi
dnl n.b. sbcl_default_name is hardcoded in "with" message
sbcl_default_name=sbcl
AC_ARG_ENABLE(sbcl,
- [ --enable-sbcl Use SBCL],
+ [AS_HELP_STRING([--enable-sbcl],
+ [Use SBCL])],
[case "${enableval}" in
yes) sbcl=true
lisps_enabled="${lisps_enabled} sbcl"
@@ -312,7 +327,8 @@ AC_ARG_ENABLE(sbcl,
explicit_lisp=true],
[sbcl=false])
AC_ARG_WITH(sbcl,
- [ --with-sbcl=<prog> Use SBCL executable <prog> (default sbcl)],
+ [AS_HELP_STRING([--with-sbcl=<prog>],
+ [Use SBCL executable <prog> (default sbcl)])],
[sbcl=true
lisps_enabled="${lisps_enabled} sbcl"
explicit_lisp=true
@@ -323,9 +339,10 @@ AC_ARG_WITH(sbcl,
fi],
[SBCL_NAME="${sbcl_default_name}"])
AC_ARG_ENABLE(sbcl-exec,
- [ --enable-sbcl-exec Create a maxima executable image using SBCL.
+ [AS_HELP_STRING([--enable-sbcl-exec],
+ [Create a maxima executable image using SBCL.
No check is made if the version of
- SBCL supports executable images],
+ SBCL supports executable images])],
[case "${enableval}" in
yes) sbcl_exec=true
sbcl=true
@@ -356,7 +373,8 @@ fi
dnl n.b. acl_default_name is hardcoded in "with" message
acl_default_name=lisp
AC_ARG_ENABLE(acl,
- [ --enable-acl Use ACL],
+ [AS_HELP_STRING([--enable-acl],
+ [Use ACL])],
[case "${enableval}" in
yes) acl=true
lisps_enabled="${lisps_enabled} acl"
@@ -367,7 +385,8 @@ AC_ARG_ENABLE(acl,
explicit_lisp=true],
[acl=false])
AC_ARG_WITH(acl,
- [ --with-acl=<prog> Use ACL executable <prog> (default lisp)],
+ [AS_HELP_STRING([--with-acl=<prog>],
+ [Use ACL executable <prog> (default lisp)])],
[acl=true
lisps_enabled="${lisps_enabled} acl"
explicit_lisp=true
@@ -396,7 +415,8 @@ fi
dnl n.b. gcl_default_name is hardcoded in "with" message
gcl_default_name=gcl
AC_ARG_ENABLE(gcl,
- [ --enable-gcl Use GCL],
+ [AS_HELP_STRING([--enable-gcl],
+ [Use GCL])],
[case "${enableval}" in
yes) gcl=true
lisps_enabled="${lisps_enabled} gcl"
@@ -406,7 +426,8 @@ AC_ARG_ENABLE(gcl,
esac],
[gcl=false])
AC_ARG_WITH(gcl,
- [ --with-gcl=<prog> Use GCL executable <prog> (default gcl)],
+ [AS_HELP_STRING([--with-gcl=<prog>],
+ [Use GCL executable <prog> (default gcl)])],
[gcl=true
lisps_enabled="${lisps_enabled} gcl"
explicit_lisp=true
@@ -434,7 +455,8 @@ fi
dnl n.b. openmcl_default_name is hardcoded in "with" message
openmcl_default_name=openmcl
AC_ARG_ENABLE(openmcl,
- [ --enable-openmcl Use OpenMCL],
+ [AS_HELP_STRING([--enable-openmcl],
+ [Use OpenMCL])],
[case "${enableval}" in
yes) openmcl=true
lisps_enabled="${lisps_enabled} openmcl"
@@ -444,7 +466,8 @@ AC_ARG_ENABLE(openmcl,
esac],
[openmcl=false])
AC_ARG_WITH(openmcl,
- [ --with-openmcl=<prog> Use OpenMCL executable <prog> (default openmcl)],
+ [AS_HELP_STRING([--with-openmcl=<prog>],
+ [Use OpenMCL executable <prog> (default openmcl)])],
[openmcl=true
lisps_enabled="${lisps_enabled} openmcl"
explicit_lisp=true
@@ -455,9 +478,10 @@ AC_ARG_WITH(openmcl,
fi],
[OPENMCL_NAME=${openmcl_default_name}])
AC_ARG_ENABLE(openmcl-exec,
- [ --enable-openmcl-exec Create a maxima executable image using OPENMCL.
+ [AS_HELP_STRING([--enable-openmcl-exec],
+ [Create a maxima executable image using OPENMCL.
No check is made if the version of
- OPENMCL supports executable images],
+ OPENMCL supports executable images])],
[case "${enableval}" in
yes) openmcl_exec=true
openmcl=true
@@ -472,7 +496,8 @@ AC_ARG_ENABLE(openmcl-exec,
dnl Define ccl as an alias (essentially) for openmcl
AC_ARG_ENABLE(ccl,
- [ --enable-ccl Use CCL (Clozure Common Lisp)],
+ [AS_HELP_STRING([--enable-ccl],
+ [Use CCL (Clozure Common Lisp)])],
[case "${enableval}" in
yes) openmcl=true
lisps_enabled="${lisps_enabled} openmcl"
@@ -482,7 +507,8 @@ AC_ARG_ENABLE(ccl,
esac],
[openmcl=false])
AC_ARG_WITH(ccl,
- [ --with-ccl=<prog> Use OpenMCL executable <prog> (default ccl)],
+ [AS_HELP_STRING([--with-ccl=<prog>],
+ [Use OpenMCL executable <prog> (default ccl)])],
[openmcl=true
lisps_enabled="${lisps_enabled} openmcl"
explicit_lisp=true
@@ -493,9 +519,10 @@ AC_ARG_WITH(ccl,
fi],
[OPENMCL_NAME=${openmcl_default_name}])
AC_ARG_ENABLE(ccl-exec,
- [ --enable-ccl-exec Create a maxima executable image using CCL.
+ [AS_HELP_STRING([--enable-ccl-exec],
+ [Create a maxima executable image using CCL.
No check is made if the version of
- CCL supports executable images],
+ CCL supports executable images])],
[case "${enableval}" in
yes) openmcl_exec=true
openmcl=true
@@ -559,7 +586,8 @@ case "${host_os}" in
esac
AC_ARG_ENABLE(ccl64,
- [ --enable-ccl64 Use CCL (Clozure Common Lisp), 64-bit],
+ [AS_HELP_STRING([--enable-ccl64],
+ [Use CCL (Clozure Common Lisp), 64-bit])],
[case "${enableval}" in
yes) ccl64=true
lisps_enabled="${lisps_enabled} ccl64"
@@ -569,7 +597,8 @@ AC_ARG_ENABLE(ccl64,
esac],
[ccl64=false])
AC_ARG_WITH(ccl64,
- [ --with-ccl64=<prog> Use ccl64 executable <prog> (default ${ccl64_default_name})],
+ [AS_HELP_STRING([--with-ccl64=<prog>],
+ [Use ccl64 executable <prog> (default ${ccl64_default_name})])],
[ccl64=true
lisps_enabled="${lisps_enabled} ccl64"
explicit_lisp=true
@@ -580,9 +609,10 @@ AC_ARG_WITH(ccl64,
fi],
[CCL64_NAME=${ccl64_default_name}])
AC_ARG_ENABLE(ccl64-exec,
- [ --enable-ccl64-exec Create a maxima executable image using CCL.
+ [AS_HELP_STRING([--enable-ccl64-exec],
+ [Create a maxima executable image using CCL.
No check is made if the version of
- CCL supports executable images],
+ CCL supports executable images])],
[case "${enableval}" in
yes) ccl64_exec=true
ccl64=true
@@ -598,7 +628,8 @@ AC_ARG_ENABLE(ccl64-exec,
dnl n.b. ecl_default_name is hardcoded in "with" message
ecl_default_name=ecl
AC_ARG_ENABLE(ecl,
- [ --enable-ecl Use ECL],
+ [AS_HELP_STRING([--enable-ecl],
+ [Use ECL])],
[case "${enableval}" in
yes) ecl=true
lisps_enabled="${lisps_enabled} ecl"
@@ -608,7 +639,8 @@ AC_ARG_ENABLE(ecl,
esac],
[ecl=false])
AC_ARG_WITH(ecl,
- [ --with-ecl=<prog> Use ECL executable <prog> (default ecl)],
+ [AS_HELP_STRING([--with-ecl=<prog>],
+ [Use ECL executable <prog> (default ecl)])],
[ecl=true
lisps_enabled="${lisps_enabled} ecl"
explicit_lisp=true
@@ -635,7 +667,8 @@ fi
dnl xgettext
AC_ARG_ENABLE(gettext,
- [ --enable-gettext Locale support],
+ [AS_HELP_STRING([--enable-gettext],
+ [Locale support])],
[case "${enableval}" in
yes) enable_gettext=true ;;
no) enable_gettext=false ;;
@@ -647,7 +680,8 @@ AC_ARG_ENABLE(gettext,
AM_CONDITIONAL(ENABLE_GETTEXT, test x$enable_gettext = xtrue)
AC_ARG_ENABLE(build-docs,
- [ --enable-build-docs Execute make in doc directories],
+ [AS_HELP_STRING([--enable-build-docs],
+ [Execute make in doc directories])],
[case "${enableval}" in
yes) enable_build_docs=true ;;
no) enable_build_docs=false ;;
-----------------------------------------------------------------------
hooks/post-receive
--
Maxima CAS
|
|
From: rtoy <rt...@us...> - 2025-11-20 20:31:44
|
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-highlightjs-example-maxima-blocks-texi-dev has been updated
via 64c9bd227da5822e631ee775c30998b1018c9006 (commit)
via be0d865610f38b5f899f5e10405e1e9df8957bb4 (commit)
via 239481fe3c322f170a9115fcc5ba5983dd3f0c02 (commit)
via 0e236a206511a3bac31a0d187b88b8590207f3ff (commit)
via ac0376da85fda136023af3994be85bd543a85323 (commit)
via eb7932cc762ae3232b141208c8a13e605325510a (commit)
from 8776caa54f9260b1fe16b969e48c95f72fdf50e2 (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 64c9bd227da5822e631ee775c30998b1018c9006
Author: Raymond Toy <toy...@gm...>
Date: Thu Nov 20 12:30:21 2025 -0800
Document custom-pygments for the syntax-highlighting option
Let user's know about the custom-pygments value when enabling
syntax-highlighting.
diff --git a/configure.ac b/configure.ac
index 64e57d620..7c374dcc0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -658,7 +658,7 @@ AC_ARG_ENABLE(build-docs,
AC_ARG_ENABLE(syntax-highlighting,
[AS_HELP_STRING([--enable-syntax-highlighting],
[Enable syntax highlighting for the HTML manual (default = no).
- Set to "highlightjs" to use highlightjs or "pygments" to use pygments. No value implies highlightjs])],
+ Set to "highlightjs" to use highlightjs, "pygments" to use pygments or "custom-pygments" to use custom pygments styling. No value implies highlightjs])],
[case "${enableval}" in
yes|highlightjs) syntax_highlighting=highlightjs ;;
pygments) syntax_highlighting=pygments ;;
commit be0d865610f38b5f899f5e10405e1e9df8957bb4
Author: Raymond Toy <toy...@gm...>
Date: Thu Nov 20 12:26:16 2025 -0800
Don't include the patch number if it's 0 for the version string
When setting the version string, don't include the patch version if
it's 0. If we did, for texinfo 7.2, we get a version string of
"7.20" (or "7.2.0") which would be confusing because texinfo
identifies itself as "7.2".
diff --git a/configure.ac b/configure.ac
index e4522949b..64e57d620 100644
--- a/configure.ac
+++ b/configure.ac
@@ -828,7 +828,12 @@ if test x"${enable_build_docs}" = xtrue ; then
makeinfo_patch=99
makeinfo_version_string="${makeinfo_version_string}${VERSION_SUFFIX}"
else
- makeinfo_version_string="${makeinfo_version_string}${VERSION_P}"
+ dnl Don't include the patch version if it's 0.
+ if test "${VERSION_P}" = "0"; then
+ makeinfo_version_string="${makeinfo_version_string}"
+ else
+ makeinfo_version_string="${makeinfo_version_string}${VERSION_P}"
+ fi
fi
dnl echo string ${makeinfo_version_string}
@@ -892,18 +897,22 @@ EOF
fi
fi
if test x${syntax_highlighting} = "xcustom-pygments"; then
- dnl This tells build_html.sh to use a custom call to
- dnl pgymentize so that we can use the style sheets we want.
- USE_CUSTOM_HILITE=true
-
- dnl To create these style sheets, do
- dnl
- dnl pygmentize -S default -f html > pygments.light.css
- dnl pygmentize -S rrt -f html > pygments.dark.css
- dnl
- dnl Change "default" and "rrt" to choose different styles
- dnl for light and dark modes, respectively.
- CUSTOM_PYGMENTS_CSS='<link rel="stylesheet" href="pgyments.light.css"><link rel="stylesheet" href="pgyments.dark.css">'
+ if test ${makeinfo_version} -le 70200; then
+ AC_MSG_ERROR([Makeinfo version (${makeinfo_version_string}) too old to use custom-pygments for syntax highlighting. Disable or use highlightjs or pygments])
+ else
+ dnl This tells build_html.sh to use a custom call to
+ dnl pgymentize so that we can use the style sheets we want.
+ USE_CUSTOM_HILITE=true
+
+ dnl To create these style sheets, do
+ dnl
+ dnl pygmentize -S default -f html > pygments.light.css
+ dnl pygmentize -S rrt -f html > pygments.dark.css
+ dnl
+ dnl Change "default" and "rrt" to choose different styles
+ dnl for light and dark modes, respectively.
+ CUSTOM_PYGMENTS_CSS='<link rel="stylesheet" href="pgyments.light.css"><link rel="stylesheet" href="pgyments.dark.css">'
+ fi
fi
AC_SUBST(TEXI_EXTRA_HEAD)
AC_SUBST(TEXI_EXTRA_TAIL)
commit 239481fe3c322f170a9115fcc5ba5983dd3f0c02
Author: Raymond Toy <toy...@gm...>
Date: Thu Nov 20 12:18:59 2025 -0800
Put back SET_HIGHLIGHT
We accidentally deleted SET_HIGHLIGHT from TEXIOPT. Put it back so
that when pygments is selected, we use texinfo's pygments style.
diff --git a/doc/info/build_html.sh.in b/doc/info/build_html.sh.in
index 52224d8c0..8668090c9 100755
--- a/doc/info/build_html.sh.in
+++ b/doc/info/build_html.sh.in
@@ -219,7 +219,7 @@ fi
# 10000" to force building the docs. We want to fail building if
# there are errors now.
set -x
-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}"
+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} ${SET_HIGHLIGHT}"
echo $TEXIOPT
# Show the commands.
set -x
commit 0e236a206511a3bac31a0d187b88b8590207f3ff
Author: Raymond Toy <toy...@gm...>
Date: Thu Nov 20 12:15:28 2025 -0800
Remove pygments inline CSS from manual.css
The pygments CSS in pygments.light.css and pygments.dark.css files.
Remove the styles we had previously in manual.css
Of course, add the new files pygments.light.css and pygments.dark.css.
diff --git a/doc/info/manual.css b/doc/info/manual.css
index 59103443c..c65a29667 100644
--- a/doc/info/manual.css
+++ b/doc/info/manual.css
@@ -164,173 +164,3 @@ dd { margin-left: 0.5em }
*/
line-height: normal !important;
}
-
-/*
- * CSS from pygmentize -S default -f html
- */
-@media (prefers-color-scheme: light) {
- pre { line-height: 125%; }
- td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
- span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
- td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
- span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
- .hll { background-color: #ffffcc }
- .c { color: #3D7B7B; font-style: italic } /* Comment */
- .err { border: 1px solid #F00 } /* Error */
- .k { color: #008000; font-weight: bold } /* Keyword */
- .o { color: #666 } /* Operator */
- .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */
- .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */
- .cp { color: #9C6500 } /* Comment.Preproc */
- .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */
- .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */
- .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */
- .gd { color: #A00000 } /* Generic.Deleted */
- .ge { font-style: italic } /* Generic.Emph */
- .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
- .gr { color: #E40000 } /* Generic.Error */
- .gh { color: #000080; font-weight: bold } /* Generic.Heading */
- .gi { color: #008400 } /* Generic.Inserted */
- .go { color: #717171 } /* Generic.Output */
- .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
- .gs { font-weight: bold } /* Generic.Strong */
- .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
- .gt { color: #04D } /* Generic.Traceback */
- .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
- .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
- .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
- .kp { color: #008000 } /* Keyword.Pseudo */
- .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
- .kt { color: #B00040 } /* Keyword.Type */
- .m { color: #666 } /* Literal.Number */
- .s { color: #BA2121 } /* Literal.String */
- .na { color: #687822 } /* Name.Attribute */
- .nb { color: #008000 } /* Name.Builtin */
- .nc { color: #00F; font-weight: bold } /* Name.Class */
- .no { color: #800 } /* Name.Constant */
- .nd { color: #A2F } /* Name.Decorator */
- .ni { color: #717171; font-weight: bold } /* Name.Entity */
- .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */
- .nf { color: #00F } /* Name.Function */
- .nl { color: #767600 } /* Name.Label */
- .nn { color: #00F; font-weight: bold } /* Name.Namespace */
- .nt { color: #008000; font-weight: bold } /* Name.Tag */
- .nv { color: #19177C } /* Name.Variable */
- .ow { color: #A2F; font-weight: bold } /* Operator.Word */
- .w { color: #BBB } /* Text.Whitespace */
- .mb { color: #666 } /* Literal.Number.Bin */
- .mf { color: #666 } /* Literal.Number.Float */
- .mh { color: #666 } /* Literal.Number.Hex */
- .mi { color: #666 } /* Literal.Number.Integer */
- .mo { color: #666 } /* Literal.Number.Oct */
- .sa { color: #BA2121 } /* Literal.String.Affix */
- .sb { color: #BA2121 } /* Literal.String.Backtick */
- .sc { color: #BA2121 } /* Literal.String.Char */
- .dl { color: #BA2121 } /* Literal.String.Delimiter */
- .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
- .s2 { color: #BA2121 } /* Literal.String.Double */
- .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */
- .sh { color: #BA2121 } /* Literal.String.Heredoc */
- .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */
- .sx { color: #008000 } /* Literal.String.Other */
- .sr { color: #A45A77 } /* Literal.String.Regex */
- .s1 { color: #BA2121 } /* Literal.String.Single */
- .ss { color: #19177C } /* Literal.String.Symbol */
- .bp { color: #008000 } /* Name.Builtin.Pseudo */
- .fm { color: #00F } /* Name.Function.Magic */
- .vc { color: #19177C } /* Name.Variable.Class */
- .vg { color: #19177C } /* Name.Variable.Global */
- .vi { color: #19177C } /* Name.Variable.Instance */
- .vm { color: #19177C } /* Name.Variable.Magic */
- .il { color: #666 } /* Literal.Number.Integer.Long */
-}
-
-/*
- * CSS from pygmentize -S rrt -f html
- */
-@media (prefers-color-scheme: dark) {
- pre { line-height: 125%; }
- td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
- span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
- td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
- span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
- .hll { background-color: #0000ff }
- .c { color: #0F0 } /* Comment */
- .err { color: #DDD } /* Error */
- .esc { color: #DDD } /* Escape */
- .g { color: #DDD } /* Generic */
- .k { color: #F00 } /* Keyword */
- .l { color: #DDD } /* Literal */
- .n { color: #DDD } /* Name */
- .o { color: #DDD } /* Operator */
- .x { color: #DDD } /* Other */
- .p { color: #DDD } /* Punctuation */
- .ch { color: #0F0 } /* Comment.Hashbang */
- .cm { color: #0F0 } /* Comment.Multiline */
- .cp { color: #E5E5E5 } /* Comment.Preproc */
- .cpf { color: #0F0 } /* Comment.PreprocFile */
- .c1 { color: #0F0 } /* Comment.Single */
- .cs { color: #0F0 } /* Comment.Special */
- .gd { color: #DDD } /* Generic.Deleted */
- .ge { color: #DDD } /* Generic.Emph */
- .ges { color: #DDD } /* Generic.EmphStrong */
- .gr { color: #DDD } /* Generic.Error */
- .gh { color: #DDD } /* Generic.Heading */
- .gi { color: #DDD } /* Generic.Inserted */
- .go { color: #DDD } /* Generic.Output */
- .gp { color: #DDD } /* Generic.Prompt */
- .gs { color: #DDD } /* Generic.Strong */
- .gu { color: #DDD } /* Generic.Subheading */
- .gt { color: #DDD } /* Generic.Traceback */
- .kc { color: #F00 } /* Keyword.Constant */
- .kd { color: #F00 } /* Keyword.Declaration */
- .kn { color: #F00 } /* Keyword.Namespace */
- .kp { color: #F00 } /* Keyword.Pseudo */
- .kr { color: #F00 } /* Keyword.Reserved */
- .kt { color: #EE82EE } /* Keyword.Type */
- .ld { color: #DDD } /* Literal.Date */
- .m { color: #F0F } /* Literal.Number */
- .s { color: #87CEEB } /* Literal.String */
- .na { color: #DDD } /* Name.Attribute */
- .nb { color: #DDD } /* Name.Builtin */
- .nc { color: #DDD } /* Name.Class */
- .no { color: #7FFFD4 } /* Name.Constant */
- .nd { color: #DDD } /* Name.Decorator */
- .ni { color: #DDD } /* Name.Entity */
- .ne { color: #DDD } /* Name.Exception */
- .nf { color: #FF0 } /* Name.Function */
- .nl { color: #DDD } /* Name.Label */
- .nn { color: #DDD } /* Name.Namespace */
- .nx { color: #DDD } /* Name.Other */
- .py { color: #DDD } /* Name.Property */
- .nt { color: #DDD } /* Name.Tag */
- .nv { color: #EEDD82 } /* Name.Variable */
- .ow { color: #F00 } /* Operator.Word */
- .pm { color: #DDD } /* Punctuation.Marker */
- .w { color: #DDD } /* Text.Whitespace */
- .mb { color: #F0F } /* Literal.Number.Bin */
- .mf { color: #F0F } /* Literal.Number.Float */
- .mh { color: #F0F } /* Literal.Number.Hex */
- .mi { color: #F0F } /* Literal.Number.Integer */
- .mo { color: #F0F } /* Literal.Number.Oct */
- .sa { color: #87CEEB } /* Literal.String.Affix */
- .sb { color: #87CEEB } /* Literal.String.Backtick */
- .sc { color: #87CEEB } /* Literal.String.Char */
- .dl { color: #87CEEB } /* Literal.String.Delimiter */
- .sd { color: #87CEEB } /* Literal.String.Doc */
- .s2 { color: #87CEEB } /* Literal.String.Double */
- .se { color: #87CEEB } /* Literal.String.Escape */
- .sh { color: #87CEEB } /* Literal.String.Heredoc */
- .si { color: #87CEEB } /* Literal.String.Interpol */
- .sx { color: #87CEEB } /* Literal.String.Other */
- .sr { color: #87CEEB } /* Literal.String.Regex */
- .s1 { color: #87CEEB } /* Literal.String.Single */
- .ss { color: #87CEEB } /* Literal.String.Symbol */
- .bp { color: #DDD } /* Name.Builtin.Pseudo */
- .fm { color: #FF0 } /* Name.Function.Magic */
- .vc { color: #EEDD82 } /* Name.Variable.Class */
- .vg { color: #EEDD82 } /* Name.Variable.Global */
- .vi { color: #EEDD82 } /* Name.Variable.Instance */
- .vm { color: #EEDD82 } /* Name.Variable.Magic */
- .il { color: #F0F } /* Literal.Number.Integer.Long */
-}
diff --git a/doc/info/pygments.dark.css b/doc/info/pygments.dark.css
new file mode 100644
index 000000000..e18586d29
--- /dev/null
+++ b/doc/info/pygments.dark.css
@@ -0,0 +1,84 @@
+pre { line-height: 125%; }
+td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+.hll { background-color: #0000ff }
+.c { color: #0F0 } /* Comment */
+.err { color: #DDD } /* Error */
+.esc { color: #DDD } /* Escape */
+.g { color: #DDD } /* Generic */
+.k { color: #F00 } /* Keyword */
+.l { color: #DDD } /* Literal */
+.n { color: #DDD } /* Name */
+.o { color: #DDD } /* Operator */
+.x { color: #DDD } /* Other */
+.p { color: #DDD } /* Punctuation */
+.ch { color: #0F0 } /* Comment.Hashbang */
+.cm { color: #0F0 } /* Comment.Multiline */
+.cp { color: #E5E5E5 } /* Comment.Preproc */
+.cpf { color: #0F0 } /* Comment.PreprocFile */
+.c1 { color: #0F0 } /* Comment.Single */
+.cs { color: #0F0 } /* Comment.Special */
+.gd { color: #DDD } /* Generic.Deleted */
+.ge { color: #DDD } /* Generic.Emph */
+.ges { color: #DDD } /* Generic.EmphStrong */
+.gr { color: #DDD } /* Generic.Error */
+.gh { color: #DDD } /* Generic.Heading */
+.gi { color: #DDD } /* Generic.Inserted */
+.go { color: #DDD } /* Generic.Output */
+.gp { color: #DDD } /* Generic.Prompt */
+.gs { color: #DDD } /* Generic.Strong */
+.gu { color: #DDD } /* Generic.Subheading */
+.gt { color: #DDD } /* Generic.Traceback */
+.kc { color: #F00 } /* Keyword.Constant */
+.kd { color: #F00 } /* Keyword.Declaration */
+.kn { color: #F00 } /* Keyword.Namespace */
+.kp { color: #F00 } /* Keyword.Pseudo */
+.kr { color: #F00 } /* Keyword.Reserved */
+.kt { color: #EE82EE } /* Keyword.Type */
+.ld { color: #DDD } /* Literal.Date */
+.m { color: #F0F } /* Literal.Number */
+.s { color: #87CEEB } /* Literal.String */
+.na { color: #DDD } /* Name.Attribute */
+.nb { color: #DDD } /* Name.Builtin */
+.nc { color: #DDD } /* Name.Class */
+.no { color: #7FFFD4 } /* Name.Constant */
+.nd { color: #DDD } /* Name.Decorator */
+.ni { color: #DDD } /* Name.Entity */
+.ne { color: #DDD } /* Name.Exception */
+.nf { color: #FF0 } /* Name.Function */
+.nl { color: #DDD } /* Name.Label */
+.nn { color: #DDD } /* Name.Namespace */
+.nx { color: #DDD } /* Name.Other */
+.py { color: #DDD } /* Name.Property */
+.nt { color: #DDD } /* Name.Tag */
+.nv { color: #EEDD82 } /* Name.Variable */
+.ow { color: #F00 } /* Operator.Word */
+.pm { color: #DDD } /* Punctuation.Marker */
+.w { color: #DDD } /* Text.Whitespace */
+.mb { color: #F0F } /* Literal.Number.Bin */
+.mf { color: #F0F } /* Literal.Number.Float */
+.mh { color: #F0F } /* Literal.Number.Hex */
+.mi { color: #F0F } /* Literal.Number.Integer */
+.mo { color: #F0F } /* Literal.Number.Oct */
+.sa { color: #87CEEB } /* Literal.String.Affix */
+.sb { color: #87CEEB } /* Literal.String.Backtick */
+.sc { color: #87CEEB } /* Literal.String.Char */
+.dl { color: #87CEEB } /* Literal.String.Delimiter */
+.sd { color: #87CEEB } /* Literal.String.Doc */
+.s2 { color: #87CEEB } /* Literal.String.Double */
+.se { color: #87CEEB } /* Literal.String.Escape */
+.sh { color: #87CEEB } /* Literal.String.Heredoc */
+.si { color: #87CEEB } /* Literal.String.Interpol */
+.sx { color: #87CEEB } /* Literal.String.Other */
+.sr { color: #87CEEB } /* Literal.String.Regex */
+.s1 { color: #87CEEB } /* Literal.String.Single */
+.ss { color: #87CEEB } /* Literal.String.Symbol */
+.bp { color: #DDD } /* Name.Builtin.Pseudo */
+.fm { color: #FF0 } /* Name.Function.Magic */
+.vc { color: #EEDD82 } /* Name.Variable.Class */
+.vg { color: #EEDD82 } /* Name.Variable.Global */
+.vi { color: #EEDD82 } /* Name.Variable.Instance */
+.vm { color: #EEDD82 } /* Name.Variable.Magic */
+.il { color: #F0F } /* Literal.Number.Integer.Long */
diff --git a/doc/info/pygments.light.css b/doc/info/pygments.light.css
new file mode 100644
index 000000000..8e6fbf1b4
--- /dev/null
+++ b/doc/info/pygments.light.css
@@ -0,0 +1,74 @@
+pre { line-height: 125%; }
+td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+.hll { background-color: #ffffcc }
+.c { color: #3D7B7B; font-style: italic } /* Comment */
+.err { border: 1px solid #F00 } /* Error */
+.k { color: #008000; font-weight: bold } /* Keyword */
+.o { color: #666 } /* Operator */
+.ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */
+.cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */
+.cp { color: #9C6500 } /* Comment.Preproc */
+.cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */
+.c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */
+.cs { color: #3D7B7B; font-style: italic } /* Comment.Special */
+.gd { color: #A00000 } /* Generic.Deleted */
+.ge { font-style: italic } /* Generic.Emph */
+.ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
+.gr { color: #E40000 } /* Generic.Error */
+.gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.gi { color: #008400 } /* Generic.Inserted */
+.go { color: #717171 } /* Generic.Output */
+.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
+.gs { font-weight: bold } /* Generic.Strong */
+.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.gt { color: #04D } /* Generic.Traceback */
+.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
+.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
+.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
+.kp { color: #008000 } /* Keyword.Pseudo */
+.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
+.kt { color: #B00040 } /* Keyword.Type */
+.m { color: #666 } /* Literal.Number */
+.s { color: #BA2121 } /* Literal.String */
+.na { color: #687822 } /* Name.Attribute */
+.nb { color: #008000 } /* Name.Builtin */
+.nc { color: #00F; font-weight: bold } /* Name.Class */
+.no { color: #800 } /* Name.Constant */
+.nd { color: #A2F } /* Name.Decorator */
+.ni { color: #717171; font-weight: bold } /* Name.Entity */
+.ne { color: #CB3F38; font-weight: bold } /* Name.Exception */
+.nf { color: #00F } /* Name.Function */
+.nl { color: #767600 } /* Name.Label */
+.nn { color: #00F; font-weight: bold } /* Name.Namespace */
+.nt { color: #008000; font-weight: bold } /* Name.Tag */
+.nv { color: #19177C } /* Name.Variable */
+.ow { color: #A2F; font-weight: bold } /* Operator.Word */
+.w { color: #BBB } /* Text.Whitespace */
+.mb { color: #666 } /* Literal.Number.Bin */
+.mf { color: #666 } /* Literal.Number.Float */
+.mh { color: #666 } /* Literal.Number.Hex */
+.mi { color: #666 } /* Literal.Number.Integer */
+.mo { color: #666 } /* Literal.Number.Oct */
+.sa { color: #BA2121 } /* Literal.String.Affix */
+.sb { color: #BA2121 } /* Literal.String.Backtick */
+.sc { color: #BA2121 } /* Literal.String.Char */
+.dl { color: #BA2121 } /* Literal.String.Delimiter */
+.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
+.s2 { color: #BA2121 } /* Literal.String.Double */
+.se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */
+.sh { color: #BA2121 } /* Literal.String.Heredoc */
+.si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */
+.sx { color: #008000 } /* Literal.String.Other */
+.sr { color: #A45A77 } /* Literal.String.Regex */
+.s1 { color: #BA2121 } /* Literal.String.Single */
+.ss { color: #19177C } /* Literal.String.Symbol */
+.bp { color: #008000 } /* Name.Builtin.Pseudo */
+.fm { color: #00F } /* Name.Function.Magic */
+.vc { color: #19177C } /* Name.Variable.Class */
+.vg { color: #19177C } /* Name.Variable.Global */
+.vi { color: #19177C } /* Name.Variable.Instance */
+.vm { color: #19177C } /* Name.Variable.Magic */
+.il { color: #666 } /* Literal.Number.Integer.Long */
commit ac0376da85fda136023af3994be85bd543a85323
Author: Raymond Toy <toy...@gm...>
Date: Thu Nov 20 12:14:47 2025 -0800
Add some comments on what we're doing
diff --git a/doc/info/build_html.sh.in b/doc/info/build_html.sh.in
index b01521732..52224d8c0 100755
--- a/doc/info/build_html.sh.in
+++ b/doc/info/build_html.sh.in
@@ -195,10 +195,13 @@ if [ -z "@NEED_MATHJAX@" ]; then
fi
if [ -n "@USE_PYGMENTS@" ]; then
+ # Use texinfo's default pygments highlighting. This prevents any
+ # styling of the highlighting.
SET_HIGHLIGHT="--set-customization-variable HIGHLIGHT_SYNTAX=pygments"
fi
if [ -n "@USE_CUSTOM_HILITE@" ]; then
+ # Tell makeinfo we're using our own highlighting command.
SET_CUSTOM=true
fi
@@ -219,6 +222,11 @@ set -x
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}"
echo $TEXIOPT
# Show the commands.
+set -x
+# NOTE: We need to do the SET_CUSTOM here instead of putting it in
+# TEXIOPT because shell quoting is all wrong that way. Make sure we
+# use the same pygmentize options here and below for the singlepage
+# version.
@MAKEINFO@ $FORCE ${SET_CUSTOM:+-c HIGHLIGHT_SYNTAX='pygmentize -f html -l %l'} --split=chapter --no-node-files --output="$languagedestdir" $TEXIOPT maxima.texi
rc=$?
if [ $rc -ne 0 ]; then
commit eb7932cc762ae3232b141208c8a13e605325510a
Author: Raymond Toy <toy...@gm...>
Date: Thu Nov 20 12:06:41 2025 -0800
If custom-pygments, load up separate CSS files for the styles
If we're using custom-pygments, load up the CSS files for the light
and dark CSS styles to be used with pygments highlighting.
This is done by adding a new variable CUSTOM_PYGMENTS_CSS to
configure.ac to add appropriate HTML link attributes. Then update
texi2html.init.in to recognize CUSTOM_PYGMENTS_CSS so that the links
are included.
diff --git a/configure.ac b/configure.ac
index 10962016d..e4522949b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -892,7 +892,18 @@ EOF
fi
fi
if test x${syntax_highlighting} = "xcustom-pygments"; then
+ dnl This tells build_html.sh to use a custom call to
+ dnl pgymentize so that we can use the style sheets we want.
USE_CUSTOM_HILITE=true
+
+ dnl To create these style sheets, do
+ dnl
+ dnl pygmentize -S default -f html > pygments.light.css
+ dnl pygmentize -S rrt -f html > pygments.dark.css
+ dnl
+ dnl Change "default" and "rrt" to choose different styles
+ dnl for light and dark modes, respectively.
+ CUSTOM_PYGMENTS_CSS='<link rel="stylesheet" href="pgyments.light.css"><link rel="stylesheet" href="pgyments.dark.css">'
fi
AC_SUBST(TEXI_EXTRA_HEAD)
AC_SUBST(TEXI_EXTRA_TAIL)
@@ -900,6 +911,7 @@ EOF
AC_SUBST(HIGHLIGHT2)
AC_SUBST(USE_PYGMENTS)
AC_SUBST(USE_CUSTOM_HILITE)
+ AC_SUBST(CUSTOM_PYGMENTS)
TEXI2HTML=texi2html.init
AC_SUBST(TEXI2HTML)
diff --git a/doc/info/texi2html.init.in b/doc/info/texi2html.init.in
index 2c7fd4ad3..c9e37ad35 100644
--- a/doc/info/texi2html.init.in
+++ b/doc/info/texi2html.init.in
@@ -2,5 +2,6 @@
<link rel="alternate icon" href="figures/favicon.ico">
@HIGHLIGHT1@
@HIGHLIGHT2@
+@CUSTOM_PYGMENTS_CSS@
@NEED_MATHJAX@}
@TEXI_EXTRA_TAIL@;
-----------------------------------------------------------------------
Summary of changes:
configure.ac | 27 ++++++-
doc/info/build_html.sh.in | 10 ++-
doc/info/manual.css | 170 --------------------------------------------
doc/info/pygments.dark.css | 84 ++++++++++++++++++++++
doc/info/pygments.light.css | 74 +++++++++++++++++++
doc/info/texi2html.init.in | 1 +
6 files changed, 192 insertions(+), 174 deletions(-)
create mode 100644 doc/info/pygments.dark.css
create mode 100644 doc/info/pygments.light.css
hooks/post-receive
--
Maxima CAS
|
|
From: rtoy <rt...@us...> - 2025-11-20 18:52:57
|
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-highlightjs-example-maxima-blocks has been updated
via 40fa90ce23a0362a2c560eaa0d8baf26ec0ad76a (commit)
via 3f014279ab12b8bb23f47c601eb964e659cd7b99 (commit)
via 4155f26fb89b8cafb17219bf0a0f293ad59013cd (commit)
via 507573f3e72941a30a57479aa09ccfa96bb4e9cc (commit)
via f65e0372ac322f19403b4cd50acbcac12bb87c45 (commit)
via 7fcb2f6d11a9e127a3d800a4626f97b952f52608 (commit)
via 04914fc8c586cbe7ec70b051a1b8a8c22b53785f (commit)
via 21129a54b2f7528bc92dece6f3587ad3eacea8d6 (commit)
via 109691dee8826b5c379e7ee47e0d09b02a067e1c (commit)
via 0bd8cc08a658e7728163d870e154a2770947c2d3 (commit)
via 69160508680b6d0c7bfd447756db87a31f02d2ae (commit)
via 4b61f10918848d94634c29d77eee7a4da206f961 (commit)
via 694baf83941e1aa872720b2a36907607b36ec232 (commit)
via c8cb782bf924da9af97bea53d19ac34b62918bca (commit)
via 0e5915d5b448cee578b9eedf2277c6970df3a61b (commit)
via d9dcda4070b3e0c483310a8edaf21e600b1dccdf (commit)
via 3fb24ffd1a7183c4805c7d03917b7d9c9d47042f (commit)
via 76ffb7905c9ef4053ad25f068ca5d87f02d61c55 (commit)
via 6b7c453050708f1600596d66328e16d5a89f47d1 (commit)
via 8d99ce03ad4dde4ae1c5e98364e2edd934cc03f1 (commit)
via 7b4522e3099553f93aed876457a28278189e48a0 (commit)
via 0c11d969bc6cb7b75d4103eab13d5ce72edcdc1b (commit)
via faefbec96674afb917063869972bcadf97972356 (commit)
via 71c0c338348f5497d65bc98185753f17737cc2a0 (commit)
via 19e93850682698d299ea8cbf4b8b07ca6777f384 (commit)
via 785ac240d1e42ff9d232ac08ce4c41c44b822909 (commit)
via 9db84f35ac78eb1076c2349ee10db398bd600f40 (commit)
via 19170d7453e76e933a7c1772725dfa966ccd7b55 (commit)
via 906257c53f595541f46b847feed9e848ca4983de (commit)
via 76f95cbc5c96ea55c888160279305b4e41d37e4d (commit)
via a664af9d132de5bff44b7214484e436aa3748965 (commit)
via 953a6d0f5e6578db6a8545a59d4f5bd5855fade3 (commit)
via 3c982e965ad9f46be50851a503f3cf87d02a1e1c (commit)
via 166d0fa124fe2caceae15ada5a0a9eebf16fd3ef (commit)
via e345492aaf713cfc36a4d18f543ea97cb9df351e (commit)
via a8f72644d12c50ca1e776f9b8718e73028f72265 (commit)
via 723cee3e66437d09f8c44b077d870255dab2f82f (commit)
via f3570d992dc1f41a2c1feb787f6fcadd1300420c (commit)
via 13a361aa8a189513e53b40eb852e94892d0c36d1 (commit)
via 5ab1425e6e09243e7cc88ae2f71f1a5d7a91e932 (commit)
via fd7d97afba64309e241610a5a71d959954d074f8 (commit)
via 14383aac40ab656ccfb15f9dcaf8c649608b9764 (commit)
via 10dfc99badd5f086069079e8bc8f4172ec17657e (commit)
via 0e6a88b52faee675fdee4c2b2a698677946245cd (commit)
via d3250f3d1c1168ec826cbfd886f967ce789ceb64 (commit)
via 2af166fef916d440dbdc24eebea1d33d685c42e5 (commit)
via eb00d13582520edbf58aed89d2d4d7aeb9217236 (commit)
via 50a7d7ca816b6547b873db940f34a9ced2dced43 (commit)
via 66001dab3be0640192eb470ace3f304536380c65 (commit)
via 9b17dd530c6b371a6ca94d1d9648d3fed1e347f8 (commit)
via 9eb0dcdddbadb95590dc200c1ddd33992ef28aa4 (commit)
via e8eaabacc55cb2f7a8bfc2fb9320b752e94f168a (commit)
via 7bea89b3f84f87adf76cdc7c21a5770e0afec20f (commit)
via 99a82633cbfdf84489a1d02ee55045f527361c29 (commit)
via 18eec5aa0ba897844f4136d32b18161413457d13 (commit)
via a1f3142a29d967cc52ed5e08284118b43c3ec34c (commit)
via d00e008a586c58f5b0dfbf7694f031ba53462a19 (commit)
via 5f931d9be7f7f34a9526feee56f3eeb86fac0bf8 (commit)
via b0da0ff57d68586c02e281ea1fbc16f8d6e46e87 (commit)
via 662f988ac60c5f544ae94e994d29f8d9feff40f1 (commit)
via cdb028fc6bf2a4a644292b9958c214bb9747332b (commit)
via 7536938aff33274ea38243217b62a73d498183a1 (commit)
via 3167c4754a0dc58a98301686698246c481a28757 (commit)
via f450059a112c34cf8c110a96584392f93c50ec3a (commit)
via d8a058f9806ffafb1e8f59e439c82a85b607b1a1 (commit)
via d974c31ece4986086fdf6ccbd60cdad160be139e (commit)
via f17a1020bddf14d8ef983dfac36fc9e2d7f9ed08 (commit)
via bedbea55d4c78181c67a15c99496c70c536ec7c4 (commit)
via 638aa82fc250aea133ce79ac87e8a1efa9f79fab (commit)
via 6d08651cb3ab5fd28c2760b6f339a35c643b8320 (commit)
via a9566ae56b1ad08506f38bc6c06e4380dbd1773c (commit)
via 0f64482b64e36b3f06c2d506af664907c1fee745 (commit)
via e69e26d612924d67caecee2e33572217a4b88ba7 (commit)
via 3c5e3255a9be6a84aaeaeb779bbb2e83809f46c3 (commit)
via ad20828202ad9d17fb38be8a49ab60aca06babd3 (commit)
via b9fd9df7cad15c2daca354b15edc6da5645ba974 (commit)
via c6fe5d3c4b717c8cd4182031be07765f52e0c362 (commit)
via 27ef93244086bb59589d2e1e624ce5a96309e4bc (commit)
via ecf6621191402edd31bc4cf2e9576d846249308c (commit)
via b3f5ec1f89b13a91e367aaa317f0ca2d287456e9 (commit)
via 09d6fb745edb9296c6c59e12a3d273eadcb6df1e (commit)
via 7d78aa96b227bdd2e6526566e8e6c53c6a6bbdc1 (commit)
via 3a9a37f764757dddbc0028f6abde43631f80be9e (commit)
via 0f29b7f5a0ae8eda3bbf81b882e1dbad793aa6e2 (commit)
via db363e9acd3412d1e0bd1f8e2f04fa1f1fd3d886 (commit)
via 9ab39fcc3b33194ee7e818e65877337cd8c4a9f4 (commit)
via e93381d18333625d565408939cf54a709973166b (commit)
via 066bd4ad705cf0cd2557d9149bbbfc292f3330d8 (commit)
via 5d25a7ff85f81f4a4014341aa8bd2cc006eff666 (commit)
via 1d2475070c8162d444ebba633bcf90db07023a70 (commit)
via e80b340145db2c0bc66579c385b42e705a106afe (commit)
via 428d4eb325e23eb4f70e974e2af19fd07214cdf1 (commit)
via 13f0dd47c1be13020c7c4145b5158b37481810ae (commit)
via a432b864aaf9d7f60af4be10ae67235b739e88b1 (commit)
via 75f7ba5205921ccf11d6dce83148934b69f8b4e3 (commit)
via 4f1f500052144c095d6fe059f71af157bdd31d85 (commit)
via 7b335132eb275361f2613e28a19c9dc11f2e1bb1 (commit)
via 25ecbac0d49fa658dbbdb1f84dc8f440f92a1155 (commit)
via f053771ccddf36028086b97bdb8cf7bc51135c39 (commit)
via 8a86e987d94ae36964c6a53b8c0ba0c325a9a3df (commit)
via bd0858ca56a4e673b71810895d5e47e947d973a8 (commit)
via 89900e3bb4fe2c81712c3fb3d6601d98887291ec (commit)
via a00a9d06b5812505b42ed93f3f6126839c07d411 (commit)
via 348231510534ebc4e78319a0642162dbd313d3ee (commit)
via 3fdfcfd0563524a67e363d76bcad56b82b44d9d7 (commit)
via 857db113bba92dee7754a4026d3e857ac7324e72 (commit)
via ffd525682aa10ed68b072c21f558b0d519ff9740 (commit)
via 9e04c6b75b7efd03f261f2073f6b31759d15dbe7 (commit)
via 7539fc26a61998da84df7a035e23cb14cdce303c (commit)
via 5864fef76066da18b2784bc82d98487b9d6a98b3 (commit)
via 37a3429614bd68b5faaa99f7b9b24828501de5d2 (commit)
via b9389997f2428d79151e6e8e0aacc39d9e01905d (commit)
via c28dd2bb70e067033a4b6d78b15fcda0c6a271f8 (commit)
via 776e8a93df620e484eba4e1b26334dad80f9a046 (commit)
via 4218874e4110454c2d89511a07c87ad053916e02 (commit)
via 86cc6f0b231464539d90da53da6fcef2f426649b (commit)
via 4dadf6e1f5e68449e071a2343a16b460538fad28 (commit)
via 0833458773fe61c62592d24b349b6508c9654b85 (commit)
via fbcd9cf93bb1d6a26f43ff368485323f71f08e85 (commit)
via 50bf73296fa3a162eb75b79be579c674001c1b62 (commit)
via cff0f2828df53f3877d3f3c7484eb7f8ef46023e (commit)
via 9f3b597d670519c7b9f76dfd00f07e88923fc342 (commit)
via 31bfeceb362ad0ca310c916e5149244c9178d0b2 (commit)
via 41b3a32aafda2396e017939295983d7cf7810472 (commit)
via 8b855d95ab9ccf8c03ab1ad5789286ff45b735e8 (commit)
via b71f4cabaac0f0aad2a09478a5d87ef0f6198da4 (commit)
via 0c83035053ad2f75160b38263a108b34db464613 (commit)
via 8a872710195853ff5f153fb7d8f412581170d395 (commit)
via 1a1a308b448e8d27064c149770ff66394fcee53a (commit)
via a9dfa27159f4bcb9e4aa04e6e53557fb53bb83f6 (commit)
via d0a6c82f5a9a09f6e50f3f02b2c3418923d12b29 (commit)
via 135296da4023172214503085e5ded6aee9e6e88c (commit)
via d7fd3e865cf14bc4a7f1e8c8262860f333d5d4fe (commit)
via 7bf10dbd1da2d2fd5b7327d60e0f290ceb19af06 (commit)
via f39e982fd144f806d198a4f9e9243706910c5f43 (commit)
via c9c414493e9fc62583522000191faacd2bdb9b79 (commit)
via 5cf35de5f76e1943c1d22a6dd28a3fedcbdd4143 (commit)
via ef8ec91fc9e85166c16d73181a4e1b292b3b2fe8 (commit)
via 79762b2b9d798e4112b2c8abae367b97d4f513ce (commit)
via 572506ce5236e5d480c3a4fce41373f4876aec42 (commit)
via bae8681eb1a1c41df5f098010e5533b3cc77d842 (commit)
via 5a10e6ea42ca1dc5bdb75c3eaaa756da85a1cd8b (commit)
via 4cce12760c05f1c760142756ee96cbc580503a35 (commit)
via 5e5664b33179e3a6362a0eb56d3311a910df39d5 (commit)
via a057ba96e011494ebc2f69945b964a8430d51a1f (commit)
via 6c2a3dbcdd2cd5193142120fda5b501ae568662a (commit)
via d22405ccc6a173cb6945c20ede2e8d1d2d53d3bc (commit)
via 4f993c18acd7cc56fabf642b3b483cf2d037769d (commit)
via a74470538d749543bb0fa4236c74322bf3625222 (commit)
via 759268ff62e7bd984d30cf93db418090be3e8858 (commit)
via 0f4c0d819f1ce0967bb93454f4796ff0eb9a51ab (commit)
via 9eab7007f9d2d2574e3ef553b0444cafbc317b99 (commit)
via 32fb421f17e44ac1e843e799b76a2ca872098c89 (commit)
via d7b969c541d34b7d61dc37a7e8b8b359ee166210 (commit)
via 7752b5fe21f5247a05cfcf636b1db89831fb663a (commit)
via 09916223147a68dfb23d99bdbc037717d6c03269 (commit)
via 978bb523289cb6da5e494da2e3697b27df684019 (commit)
via 452300729eafe1ee0ab4ee7ea4ecdb9882380967 (commit)
via e0d26227f1a2dc1b800a2636e5bed6689dc87023 (commit)
via 69eaee226c4a66210c5680b6a97c55ef0035f4f7 (commit)
via fc85adb9a192bbd88269a695efd1df4136b94dc6 (commit)
via 6353d6f79bd54696da9072bd166ec83992392d03 (commit)
via 73b8130090553a09c29f11f7d04452c38e73e763 (commit)
via bee286fe9e5b1cc8c6b99b9037ab1050364bd2b7 (commit)
via c93b81f6fa931e2ce811c876ebe5287f8ad116d6 (commit)
via a50513aa4343ded8d36d12f16373304010b8d8a5 (commit)
via d87816d205054b62dfa566c4950029bb6a182117 (commit)
via c1a14751e15eef5e5267ab23210cbb6f5cd8a047 (commit)
via d3ad02dd11f37dabe40b414df62d5a60214c2959 (commit)
via e9d6f170cdb98656288306ff539f46e40ecfa9dc (commit)
via 02647d1aa3b7fb0617790eff5f30f96f514fb52f (commit)
via db31e867f01271a6b98129203adb9630e3c4e5a0 (commit)
via 573cb0e234adff5291c5bdf1a82808f601ee2396 (commit)
via ba77ba38016dc94e10d1d2102a9b67302ca7b8f4 (commit)
via e8720d15b1ef1dca39d6abe61c7cd7f33555da43 (commit)
via c02eb9c3db662e637cb5fe8c2fbba0f796025d42 (commit)
via 8b7768a9fa06c392e33165f4a0fc59642d87662a (commit)
via d601b83ead2a673a754467893c42016da316f1a0 (commit)
via c80a0a228fdc435dfb64476c0710a6344a0ce430 (commit)
via 6466d800d08b62a492725b5aacc48fcc7dbe7ede (commit)
via 8e5b42f0bc211c6fbb088214b6406464fe3346d2 (commit)
via 327e910b84002d70d46c4f6ef2c4252d1b89f59c (commit)
via e6711073200495b969413b371889fb67bed8c007 (commit)
via cea93eb38e42058a968f849fc287eff469179e97 (commit)
via 68d0a0a417b2a22e1634eb937a880e802ea67e78 (commit)
via d5bc8c6a2c5aa13be4a719ae3feddb8503d6eff1 (commit)
via e05a73ff8a120b30e5ecf3942269031457101d5a (commit)
via 7ee83eef3638fefb031d3c02b78dc948e0cb8596 (commit)
via 03561ed63dbb385bf4f18346aa1e45cdd97f6a52 (commit)
via 53c4c7ed422e2d838cc47c572102ec440c15fb3c (commit)
via 5aec2e14c569ea90802dac67bc761794f54b8eb2 (commit)
via b7fcc23c83a5a9bbe3aef4832dca430106666672 (commit)
via 3e7e60e553e43eab250dfcd7774c921be569e6b3 (commit)
via 68d19366df69f5d4d9b433068fa7b1a5697562bf (commit)
via c7edb3092b9a94c84c63471461883ad6b64f1a7b (commit)
via ee72b20dc29abd2be730422750ebd8bab8d894bf (commit)
via 3ef6f32ec01a4e416d2740c48847de00f72487aa (commit)
via 295d924fc9106ecf2aba72150e1f35cfede8804f (commit)
via 95553106c2b2a6153d23776f586dadc3abad5c1d (commit)
via 4e6683569ba7dc7f852118ff3c60b6e151c83a3a (commit)
via 08f185dde0568bd7925cf10c3d0a86702d6f9f22 (commit)
via 272d35137bbf5993030a4eb1c0f27d6c7e78e256 (commit)
via bff16f2f4d3f77789a771bfb0b4b4e12d6cd22c6 (commit)
via 02cdcf240a0b20eae6634964e4cf4f785fcdd4b5 (commit)
via 51ed05c70394575c7052945f64915e1ba67a9f8b (commit)
via cafa88f2556e927bfc0e2f318f335349c8e571f7 (commit)
via 6b4b468cac193d2448a46b112e787c977f4a3227 (commit)
via f433ff5427e44f253fb0cb51da9de7d17b61b760 (commit)
via c32b6d1c4720f052af7d30e78fb7c5eae6d75ee6 (commit)
via 216f78d5e85050541f9d6201e64aa6a9d81d8540 (commit)
via e10c78741a110e9652a8006dd85b545a6cc78929 (commit)
via 02a518774841c893de33e913b5e685aa965f5b0a (commit)
via 46a4194b9052bbe38ba4a9176e161f49b3c48777 (commit)
via 72f5b47f38465515b857a794fcce4e32baaf3ed0 (commit)
via 01d3f5f9e304284413dabbf0e9f234f99b55a56b (commit)
via edc2c53b12857d4479b3d07c93a36f9cfd3ef567 (commit)
via 5a59cbd22aef09742256ca0d1cbf8f2dfdf7a02f (commit)
via 52630395e36edbba760afff6396da671b73132e4 (commit)
via d614552b9aa0250f4a624ddc8c33673f6c12cdcd (commit)
via 3865b325cee6ee87d94b98d5faf947049982b15e (commit)
via f4e46eba7ff2e89e532f7ca0cc47b25eaa594f1d (commit)
via 4c8187e5e6f6a5743f4f484717289852b3f9af09 (commit)
via 24b2d30fe6e752a863c78cf0d669faefe40e9b74 (commit)
via fdf8b514fd1f5858dc00ba1550b1a4b3856ac037 (commit)
via 286103f0df8f9b5ca0d0a1f22eaf7254b6305e2d (commit)
via 758016a28cb3eb32cb29c5f12d7876bd1db479dd (commit)
via d75fb58de80407a2ecf4987566f531756470b310 (commit)
via 240b4bbf8dfa754d71b1b9ab5aeed521bd25a712 (commit)
via 2f858e1f7c5a612122f03b139d43bee5a9b673d0 (commit)
via 923ea9a89d2aacb65ffc58d6bd41f2a4c9634571 (commit)
via 5bd32861611a2ac451fbee6429fb539c5f97effd (commit)
via e766f09c5c0ebb6ad6d0e38ecb6d2fafd2ade3fe (commit)
via 59d993be7be896cbd1d3dc355aef8a91c537bcda (commit)
via 8bf67729874e5e8fa85d8748a00304d106fbc414 (commit)
via 523b4ca0352b80f5b1e0deabfb59f78d6e51fe60 (commit)
via f05d717bff8c0254a3d66d18d85e236111534fb7 (commit)
via 9519ab0ecef3aa400f3835e1423dd2d31ce07b42 (commit)
via e7ab454db65fcdf43442ac429541a6bc41d49fd6 (commit)
via fb9b3de5da7ef36d0db621c2ca524585e0ab054b (commit)
via 4006dcfd532428fa8a9e0eff00f842216ba8e057 (commit)
via 644f6428fb1a902083af99917566c2246b748ef1 (commit)
via c65f6af2ee07435caa4f17d820a76ca401e41ea0 (commit)
via 5066cda1e527a012584458a8573a3c6e3893a5fb (commit)
from da563ae4f015f0dd11ed8ede87e6c6f135c7b8e7 (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 40fa90ce23a0362a2c560eaa0d8baf26ec0ad76a
Merge: da563ae4f 3f014279a
Author: Raymond Toy <toy...@gm...>
Date: Wed Nov 19 12:17:55 2025 -0800
Merge branch 'master' into rtoy-highlightjs-example-maxima-blocks
diff --cc configure.ac
index eba6ab9d0,2e6668797..14c3f0d9e
--- a/configure.ac
+++ b/configure.ac
@@@ -745,12 -745,28 +745,35 @@@ if test x"${enable_build_docs}" = xtru
TEXI_EXTRA_TAIL=')'
fi
if test x${syntax_highlighting} = xhighlightjs; then
- HIGHLIGHT1='<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.10.0/styles/github.min.css"> <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.10.0/highlight.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.10.0/languages/maxima.min.js"> </script>
- '
- HIGHLIGHT2="<script> hljs.configure({languages: [['Maxima']], cssSelector: ${HLJS_CSS_SELECTOR}}); hljs.highlightAll(); </script>
- "
+ dnl Update HIGHTLIGHT_VER, LIGHTMODE, and DARKMODE
+ dnl variables if we decide to change the version, the light
+ dnl mode style or the dark mode style.
+ CDN="https://cdnjs.cloudflare.com/ajax/libs/highlight.js"
+ HIGHLIGHT_VER="11.11.1"
+ HIGHLIGHTJS_HASH="sha512-EBLzUL8XLl+va/zAsmXwS7Z2B1F9HUHkZwyS/VKwh3S7T/U0nF4BaU29EP/ZSf6zgiIxYAnKLu6bJ8dqpmX5uw=="
+ MAXIMAJS_HASH="sha512-AhvLFkEPexok+HSQKpnwMdX1f0PVRUYera3PJV8u3lotioIqfR9ThqCEydkI7RkSjQNcJm/pQl15AgqWcufw1Q=="
+ LIGHTMODE="github.min.css"
+ LIGHTMODECSS_HASH="sha512-0aPQyyeZrWj9sCA46UlmWgKOP0mUipLQ6OZXu8l4IcAmD2u31EPEy9VcIMvl7SoAaKe8bLXZhYoMaE/in+gcgA=="
+ DARKMODE="github-dark.min.css"
+ DARKMODECSS_HASH="sha512-rO+olRTkcf304DQBxSWxln8JXCzTHlKnIdnMUwYvQa9/Jd4cQaNkItIUj6Z4nvW1dqK0SKXLbn9h4KwZTNtAyw=="
+ dnl Make sure HIGHLIGHT1 and HIGHLIGHT2 are all on one line
+ dnl because these variables are placed in the Makefile and
+ dnl make doesn't support multiple-line variable
+ dnl assignments.
+ HIGHLIGHT1=$(cat <<EOF
+ <link rel="stylesheet" media="(prefers-color-scheme: light)" href="$CDN/$HIGHLIGHT_VER/styles/$LIGHTMODE" integrity="$LIGHTMODECSS_HASH" crossorigin="anonymous"> <link rel="stylesheet" media="(prefers-color-scheme: dark)" href="$CDN/$HIGHLIGHT_VER/styles/$DARKMODE" integrity="$DARKMODECSS_HASH" crossorigin="anonymous"> <script src="$CDN/$HIGHLIGHT_VER/highlight.min.js" integrity="$HIGHLIGHTJS_HASH" crossorigin="anonymous"></script> <script src="$CDN/$HIGHLIGHT_VER/languages/maxima.min.js" integrity="$MAXIMAJS_HASH" crossorigin="anonymous"></script>
+ EOF
+ )
+ HIGHLIGHT2="<script> hljs.configure({languages: [['Maxima']], cssSelector: ${HLJS_CSS_SELECTOR}}); hljs.highlightAll(); </script>"
+ fi
+ if test x${syntax_highlighting} = xpygments; then
++ if test ${makeinfo_version} -ge 702; then
++ USE_PYGMENTS=true
++ else
++ AC_MSG_ERROR([Makeinfo version (${makeinfo_version_string}) too old to use pygments for syntax highlighting. Disable or use highlightjs])
++ fi
+ fi
+ if test x${syntax_highlighting} = xpygments; then
if test ${makeinfo_version} -ge 702; then
USE_PYGMENTS=true
else
diff --cc doc/info/manual.css
index 5bc1f205a,674e23ae7..c65a29667
--- a/doc/info/manual.css
+++ b/doc/info/manual.css
@@@ -55,18 -55,18 +55,27 @@@ pre.example, pre.example-preformatted
padding: 5px;
background-color: var(--example-background-color);
/* Add scrollbar for examples for narrow windows */
- overflow: auto
+ overflow: auto;
+ }
+
+ /*
+ * For pygments, make the background color of the highlighted code the
+ * same as the example background color. Without this, it looks funny.
+ */
+
+ div.highlight {
+ background-color: var(--example-background-color) !important;
}
+/*
+ * For pygments, make the background color of the highlighted code the
+ * same as the example background color. Without this, it looks funny.
+ */
+
+div.highlight {
+ background-color: var(--example-background-color) !important;
+}
+
div.spacerbox { border: none; padding: 2em 0 }
div.image { margin: 0; padding: 1em; text-align: center }
div.categorybox {
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 17 +
archive/doc/None.texi | 8 +-
configure.ac | 41 +-
crosscompile-windows/sbcl/CMakeLists.txt | 4 +-
doc/info/.gitignore | 4 +-
doc/info/Atensor.texi | 2 +
doc/info/Command.texi | 299 +++--
doc/info/Ctensor.texi | 4 +
doc/info/Database.texi | 429 ++++++-
doc/info/Elliptic.texi.m4 | 4 +-
doc/info/Expressions.texi | 294 +++--
doc/info/Function.texi | 221 ++--
doc/info/Groups.texi | 24 +-
doc/info/Input.texi | 233 +++-
doc/info/Integration.texi.m4 | 12 +-
doc/info/Introduction.texi | 78 +-
doc/info/Itensor.texi | 4 +-
doc/info/Makefile.am | 633 +--------
doc/info/MathFunctions.texi.m4 | 180 ++-
doc/info/Matrices.texi.m4 | 251 +++-
doc/info/Number.texi | 1149 ++++++++++++-----
doc/info/{Numerical.texi => Numerical.texi.m4} | 197 ++-
doc/info/Operators.texi | 446 ++++++-
doc/info/Plotting.texi | 260 ++--
doc/info/Polynomials.texi | 118 +-
doc/info/Program.texi | 259 ++--
doc/info/README | 10 +-
doc/info/Rules.texi | 160 ++-
doc/info/Series.texi | 570 +++++---
doc/info/Simplification.texi | 160 ++-
doc/info/build-html-index.lisp | 20 +-
doc/info/category-macros.texi.in | 84 +-
doc/info/cobyla.texi.m4 | 11 +-
doc/info/colnew.texi.m4 | 27 +-
doc/info/commandline-options.texi | 132 +-
doc/info/es/Introduction.es.texi | 12 +-
doc/info/es/Makefile.am | 2 +-
doc/info/es/Numerical.es.texi | 24 +-
doc/info/es/Plotting.es.texi | 415 ++----
doc/info/es/graphs.texi | 76 +-
doc/info/es/include-maxima.texi.in | 19 +-
doc/info/es/orthopoly.texi | 4 +-
doc/info/es/plotdf.texi | 320 -----
doc/info/figures/Makefile.am | 13 +
doc/info/figures/README | 33 +-
doc/info/figures/plotrk.mac | 2 +
doc/info/figures/plotrk.pdf | Bin 0 -> 7444 bytes
doc/info/figures/plotrk.png | Bin 0 -> 12921 bytes
doc/info/figures/plotrk2.mac | 2 +
doc/info/figures/plotrk2.pdf | Bin 0 -> 8173 bytes
doc/info/figures/plotrk2.png | Bin 0 -> 17956 bytes
doc/info/figures/wrstcse_ewc_2.mac | 21 +
doc/info/figures/wrstcse_ewc_2.pdf | Bin 0 -> 8376 bytes
doc/info/figures/wrstcse_ewc_2.png | Bin 0 -> 29637 bytes
doc/info/figures/wrstcse_ewc_3.mac | 21 +
doc/info/figures/wrstcse_ewc_3.pdf | Bin 0 -> 8620 bytes
doc/info/figures/wrstcse_ewc_3.png | Bin 0 -> 43995 bytes
doc/info/figures/wrstcse_montecarlo.mac | 12 +
doc/info/figures/wrstcse_montecarlo.pdf | Bin 0 -> 19565 bytes
doc/info/figures/wrstcse_montecarlo.png | Bin 0 -> 34587 bytes
doc/info/format.texi.m4 | 22 +-
doc/info/graphs.texi | 76 +-
doc/info/hompack.texi | 89 +-
doc/info/include-maxima.texi.in | 175 ++-
doc/info/manual.css | 31 +-
doc/info/minpack.texi.m4 | 8 +-
doc/info/nset.texi | 620 +++++++--
doc/info/{odepack.texi => odepack.texi.m4} | 195 ++-
doc/info/orthopoly.texi.m4 | 4 +-
doc/info/pt/Makefile.am | 2 +-
doc/info/pt/Plotting.texi | 572 +++++----
doc/info/pt/implicit_plot.texi | 34 -
doc/info/pt/include-maxima.texi.in | 23 +-
doc/info/trigtools.texi.m4 | 1428 ++++++++++++++-------
doc/info/wrstcse.texi | 947 +++++++++++++-
share/contrib/Grobner/grobner.lisp | 30 -
share/contrib/altsimp/altsimp.lisp | 1 +
share/contrib/gentran/allgentran.lisp | 68 +-
share/contrib/gentran/test/rtest_gentran.mac | 84 +-
share/contrib/integration/rtest_abs_integrate.mac | 25 +-
share/contrib/rtest_wrstcse.mac | 108 ++
share/contrib/wrstcse.mac | 349 ++++-
share/maxima-init.lisp | 1 -
src/asum.lisp | 12 +-
src/combin.lisp | 11 +-
src/comm.lisp | 15 +-
src/comm2.lisp | 199 ++-
src/compar.lisp | 2 +-
src/defint.lisp | 13 +-
src/defmfun-check.lisp | 88 +-
src/displa.lisp | 74 +-
src/expintegral.lisp | 12 +
src/hayat.lisp | 4 +-
src/init-cl.lisp | 3 +-
src/limit.lisp | 47 +-
src/maxima.in | 37 +-
src/nparse.lisp | 2 +
src/rpart.lisp | 119 +-
src/solve.lisp | 6 +-
src/testsuite.lisp | 9 +-
src/tlimit.lisp | 21 +-
src/trigo.lisp | 2 -
tests/rtest10.mac | 34 +
tests/rtest15.mac | 11 +-
tests/rtest3.mac | 4 +-
tests/rtest6a.mac | 16 +-
tests/rtest_atan2.mac | 265 ++++
tests/rtest_expintegral.mac | 2 +-
tests/rtest_gamma.mac | 2 +-
tests/rtest_great.mac | 32 +
tests/rtest_limit.mac | 43 +
tests/rtest_limit_extra.mac | 18 +-
tests/rtest_taylor.mac | 27 +-
tests/rtest_trig.mac | 17 +-
tests/rtest_unicode_display.mac | 114 +-
tests/test.sh.in | 2 +-
tests/test_matrix_display.mac | 145 +++
117 files changed, 9053 insertions(+), 4568 deletions(-)
rename doc/info/{Numerical.texi => Numerical.texi.m4} (92%)
delete mode 100644 doc/info/es/plotdf.texi
create mode 100644 doc/info/figures/plotrk.mac
create mode 100644 doc/info/figures/plotrk.pdf
create mode 100644 doc/info/figures/plotrk.png
create mode 100644 doc/info/figures/plotrk2.mac
create mode 100644 doc/info/figures/plotrk2.pdf
create mode 100644 doc/info/figures/plotrk2.png
create mode 100644 doc/info/figures/wrstcse_ewc_2.mac
create mode 100644 doc/info/figures/wrstcse_ewc_2.pdf
create mode 100644 doc/info/figures/wrstcse_ewc_2.png
create mode 100644 doc/info/figures/wrstcse_ewc_3.mac
create mode 100644 doc/info/figures/wrstcse_ewc_3.pdf
create mode 100644 doc/info/figures/wrstcse_ewc_3.png
create mode 100644 doc/info/figures/wrstcse_montecarlo.mac
create mode 100644 doc/info/figures/wrstcse_montecarlo.pdf
create mode 100644 doc/info/figures/wrstcse_montecarlo.png
rename doc/info/{odepack.texi => odepack.texi.m4} (66%)
delete mode 100644 doc/info/pt/implicit_plot.texi
delete mode 100644 share/maxima-init.lisp
create mode 100644 tests/rtest_atan2.mac
create mode 100644 tests/test_matrix_display.mac
hooks/post-receive
--
Maxima CAS
|
|
From: rtoy <rt...@us...> - 2025-11-20 18:15:53
|
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-highlightjs-example-maxima-blocks-texi-dev has been created
at 8776caa54f9260b1fe16b969e48c95f72fdf50e2 (commit)
- Log -----------------------------------------------------------------
commit 8776caa54f9260b1fe16b969e48c95f72fdf50e2
Author: Raymond Toy <toy...@gm...>
Date: Thu Nov 20 10:14:31 2025 -0800
Support custom pygments
This means we tell texinfo to use a custom pygments command to do what
we want. This requires that manual.css has the CSS styles we want for
pygments highlighting.
diff --git a/doc/info/build_html.sh.in b/doc/info/build_html.sh.in
index e8736aee4..b01521732 100755
--- a/doc/info/build_html.sh.in
+++ b/doc/info/build_html.sh.in
@@ -198,7 +198,9 @@ if [ -n "@USE_PYGMENTS@" ]; then
SET_HIGHLIGHT="--set-customization-variable HIGHLIGHT_SYNTAX=pygments"
fi
-SET_HIGHLIGHT="-c HIGHLIGHT_SYNTAX='pygmentize -f html -l '"
+if [ -n "@USE_CUSTOM_HILITE@" ]; then
+ SET_CUSTOM=true
+fi
# Currently the Russian documentation has errors in it, so we're just
# going to force makeinfo to build anyway.
@@ -217,14 +219,14 @@ set -x
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}"
echo $TEXIOPT
# Show the commands.
-@MAKEINFO@ $FORCE -c HIGHLIGHT_SYNTAX='pygmentize -f html -l %l' --split=chapter --no-node-files --output="$languagedestdir" $TEXIOPT maxima.texi
+@MAKEINFO@ $FORCE ${SET_CUSTOM:+-c HIGHLIGHT_SYNTAX='pygmentize -f html -l %l'} --split=chapter --no-node-files --output="$languagedestdir" $TEXIOPT maxima.texi
rc=$?
if [ $rc -ne 0 ]; then
echo Failed to build multi-page html docs
exit $rc
fi
-@MAKEINFO@ $FORCE -c HIGHLIGHT_SYNTAX='pygmentize -f html -l %l' --no-split --output="$languagedestdir/maxima_singlepage.html" $TEXIOPT maxima.texi
+@MAKEINFO@ $FORCE ${SET_CUSTOM:+-c HIGHLIGHT_SYNTAX='pygmentize -f html -l %l'} --no-split --output="$languagedestdir/maxima_singlepage.html" $TEXIOPT maxima.texi
rc=$?
if [ $rc -ne 0 ]; then
echo Failed to build single page html doc
commit 370f3906f845e3a12d16ca73585d9c2d3da09ae8
Author: Raymond Toy <toy...@gm...>
Date: Thu Nov 20 10:13:30 2025 -0800
Get pygments default and rtt for the styling
The for light mode, use the pygments default. For dark mode, use rrt.
diff --git a/doc/info/manual.css b/doc/info/manual.css
index f2dd627dc..59103443c 100644
--- a/doc/info/manual.css
+++ b/doc/info/manual.css
@@ -166,7 +166,7 @@ dd { margin-left: 0.5em }
}
/*
- * CSS from pygmentize -S paraiso-light -f html
+ * CSS from pygmentize -S default -f html
*/
@media (prefers-color-scheme: light) {
pre { line-height: 125%; }
@@ -174,83 +174,79 @@ dd { margin-left: 0.5em }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
- .hll { background-color: #a39e9b }
- .c { color: #8D8687 } /* Comment */
- .err { color: #EF6155 } /* Error */
- .k { color: #815BA4 } /* Keyword */
- .l { color: #F99B15 } /* Literal */
- .n { color: #2F1E2E } /* Name */
- .o { color: #5BC4BF } /* Operator */
- .p { color: #2F1E2E } /* Punctuation */
- .ch { color: #8D8687 } /* Comment.Hashbang */
- .cm { color: #8D8687 } /* Comment.Multiline */
- .cp { color: #8D8687 } /* Comment.Preproc */
- .cpf { color: #8D8687 } /* Comment.PreprocFile */
- .c1 { color: #8D8687 } /* Comment.Single */
- .cs { color: #8D8687 } /* Comment.Special */
- .gd { color: #EF6155 } /* Generic.Deleted */
+ .hll { background-color: #ffffcc }
+ .c { color: #3D7B7B; font-style: italic } /* Comment */
+ .err { border: 1px solid #F00 } /* Error */
+ .k { color: #008000; font-weight: bold } /* Keyword */
+ .o { color: #666 } /* Operator */
+ .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */
+ .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */
+ .cp { color: #9C6500 } /* Comment.Preproc */
+ .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */
+ .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */
+ .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */
+ .gd { color: #A00000 } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
- .gh { color: #2F1E2E; font-weight: bold } /* Generic.Heading */
- .gi { color: #48B685 } /* Generic.Inserted */
- .gp { color: #8D8687; font-weight: bold } /* Generic.Prompt */
+ .gr { color: #E40000 } /* Generic.Error */
+ .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+ .gi { color: #008400 } /* Generic.Inserted */
+ .go { color: #717171 } /* Generic.Output */
+ .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
- .gu { color: #5BC4BF; font-weight: bold } /* Generic.Subheading */
- .kc { color: #815BA4 } /* Keyword.Constant */
- .kd { color: #815BA4 } /* Keyword.Declaration */
- .kn { color: #5BC4BF } /* Keyword.Namespace */
- .kp { color: #815BA4 } /* Keyword.Pseudo */
- .kr { color: #815BA4 } /* Keyword.Reserved */
- .kt { color: #FEC418 } /* Keyword.Type */
- .ld { color: #48B685 } /* Literal.Date */
- .m { color: #F99B15 } /* Literal.Number */
- .s { color: #48B685 } /* Literal.String */
- .na { color: #06B6EF } /* Name.Attribute */
- .nb { color: #2F1E2E } /* Name.Builtin */
- .nc { color: #FEC418 } /* Name.Class */
- .no { color: #EF6155 } /* Name.Constant */
- .nd { color: #5BC4BF } /* Name.Decorator */
- .ni { color: #2F1E2E } /* Name.Entity */
- .ne { color: #EF6155 } /* Name.Exception */
- .nf { color: #06B6EF } /* Name.Function */
- .nl { color: #2F1E2E } /* Name.Label */
- .nn { color: #FEC418 } /* Name.Namespace */
- .nx { color: #06B6EF } /* Name.Other */
- .py { color: #2F1E2E } /* Name.Property */
- .nt { color: #5BC4BF } /* Name.Tag */
- .nv { color: #EF6155 } /* Name.Variable */
- .ow { color: #5BC4BF } /* Operator.Word */
- .pm { color: #2F1E2E } /* Punctuation.Marker */
- .w { color: #2F1E2E } /* Text.Whitespace */
- .mb { color: #F99B15 } /* Literal.Number.Bin */
- .mf { color: #F99B15 } /* Literal.Number.Float */
- .mh { color: #F99B15 } /* Literal.Number.Hex */
- .mi { color: #F99B15 } /* Literal.Number.Integer */
- .mo { color: #F99B15 } /* Literal.Number.Oct */
- .sa { color: #48B685 } /* Literal.String.Affix */
- .sb { color: #48B685 } /* Literal.String.Backtick */
- .sc { color: #2F1E2E } /* Literal.String.Char */
- .dl { color: #48B685 } /* Literal.String.Delimiter */
- .sd { color: #8D8687 } /* Literal.String.Doc */
- .s2 { color: #48B685 } /* Literal.String.Double */
- .se { color: #F99B15 } /* Literal.String.Escape */
- .sh { color: #48B685 } /* Literal.String.Heredoc */
- .si { color: #F99B15 } /* Literal.String.Interpol */
- .sx { color: #48B685 } /* Literal.String.Other */
- .sr { color: #48B685 } /* Literal.String.Regex */
- .s1 { color: #48B685 } /* Literal.String.Single */
- .ss { color: #48B685 } /* Literal.String.Symbol */
- .bp { color: #2F1E2E } /* Name.Builtin.Pseudo */
- .fm { color: #06B6EF } /* Name.Function.Magic */
- .vc { color: #EF6155 } /* Name.Variable.Class */
- .vg { color: #EF6155 } /* Name.Variable.Global */
- .vi { color: #EF6155 } /* Name.Variable.Instance */
- .vm { color: #EF6155 } /* Name.Variable.Magic */
- .il { color: #F99B15 } /* Literal.Number.Integer.Long */
+ .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+ .gt { color: #04D } /* Generic.Traceback */
+ .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
+ .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
+ .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
+ .kp { color: #008000 } /* Keyword.Pseudo */
+ .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
+ .kt { color: #B00040 } /* Keyword.Type */
+ .m { color: #666 } /* Literal.Number */
+ .s { color: #BA2121 } /* Literal.String */
+ .na { color: #687822 } /* Name.Attribute */
+ .nb { color: #008000 } /* Name.Builtin */
+ .nc { color: #00F; font-weight: bold } /* Name.Class */
+ .no { color: #800 } /* Name.Constant */
+ .nd { color: #A2F } /* Name.Decorator */
+ .ni { color: #717171; font-weight: bold } /* Name.Entity */
+ .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */
+ .nf { color: #00F } /* Name.Function */
+ .nl { color: #767600 } /* Name.Label */
+ .nn { color: #00F; font-weight: bold } /* Name.Namespace */
+ .nt { color: #008000; font-weight: bold } /* Name.Tag */
+ .nv { color: #19177C } /* Name.Variable */
+ .ow { color: #A2F; font-weight: bold } /* Operator.Word */
+ .w { color: #BBB } /* Text.Whitespace */
+ .mb { color: #666 } /* Literal.Number.Bin */
+ .mf { color: #666 } /* Literal.Number.Float */
+ .mh { color: #666 } /* Literal.Number.Hex */
+ .mi { color: #666 } /* Literal.Number.Integer */
+ .mo { color: #666 } /* Literal.Number.Oct */
+ .sa { color: #BA2121 } /* Literal.String.Affix */
+ .sb { color: #BA2121 } /* Literal.String.Backtick */
+ .sc { color: #BA2121 } /* Literal.String.Char */
+ .dl { color: #BA2121 } /* Literal.String.Delimiter */
+ .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
+ .s2 { color: #BA2121 } /* Literal.String.Double */
+ .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */
+ .sh { color: #BA2121 } /* Literal.String.Heredoc */
+ .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */
+ .sx { color: #008000 } /* Literal.String.Other */
+ .sr { color: #A45A77 } /* Literal.String.Regex */
+ .s1 { color: #BA2121 } /* Literal.String.Single */
+ .ss { color: #19177C } /* Literal.String.Symbol */
+ .bp { color: #008000 } /* Name.Builtin.Pseudo */
+ .fm { color: #00F } /* Name.Function.Magic */
+ .vc { color: #19177C } /* Name.Variable.Class */
+ .vg { color: #19177C } /* Name.Variable.Global */
+ .vi { color: #19177C } /* Name.Variable.Instance */
+ .vm { color: #19177C } /* Name.Variable.Magic */
+ .il { color: #666 } /* Literal.Number.Integer.Long */
}
/*
- * CSS from pygmentize -S paraiso-dark -f html
+ * CSS from pygmentize -S rrt -f html
*/
@media (prefers-color-scheme: dark) {
pre { line-height: 125%; }
@@ -258,77 +254,83 @@ dd { margin-left: 0.5em }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
- .hll { background-color: #4f424c }
- .c { color: #776E71 } /* Comment */
- .err { color: #EF6155 } /* Error */
- .k { color: #815BA4 } /* Keyword */
- .l { color: #F99B15 } /* Literal */
- .n { color: #E7E9DB } /* Name */
- .o { color: #5BC4BF } /* Operator */
- .p { color: #E7E9DB } /* Punctuation */
- .ch { color: #776E71 } /* Comment.Hashbang */
- .cm { color: #776E71 } /* Comment.Multiline */
- .cp { color: #776E71 } /* Comment.Preproc */
- .cpf { color: #776E71 } /* Comment.PreprocFile */
- .c1 { color: #776E71 } /* Comment.Single */
- .cs { color: #776E71 } /* Comment.Special */
- .gd { color: #EF6155 } /* Generic.Deleted */
- .ge { font-style: italic } /* Generic.Emph */
- .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
- .gh { color: #E7E9DB; font-weight: bold } /* Generic.Heading */
- .gi { color: #48B685 } /* Generic.Inserted */
- .gp { color: #776E71; font-weight: bold } /* Generic.Prompt */
- .gs { font-weight: bold } /* Generic.Strong */
- .gu { color: #5BC4BF; font-weight: bold } /* Generic.Subheading */
- .kc { color: #815BA4 } /* Keyword.Constant */
- .kd { color: #815BA4 } /* Keyword.Declaration */
- .kn { color: #5BC4BF } /* Keyword.Namespace */
- .kp { color: #815BA4 } /* Keyword.Pseudo */
- .kr { color: #815BA4 } /* Keyword.Reserved */
- .kt { color: #FEC418 } /* Keyword.Type */
- .ld { color: #48B685 } /* Literal.Date */
- .m { color: #F99B15 } /* Literal.Number */
- .s { color: #48B685 } /* Literal.String */
- .na { color: #06B6EF } /* Name.Attribute */
- .nb { color: #E7E9DB } /* Name.Builtin */
- .nc { color: #FEC418 } /* Name.Class */
- .no { color: #EF6155 } /* Name.Constant */
- .nd { color: #5BC4BF } /* Name.Decorator */
- .ni { color: #E7E9DB } /* Name.Entity */
- .ne { color: #EF6155 } /* Name.Exception */
- .nf { color: #06B6EF } /* Name.Function */
- .nl { color: #E7E9DB } /* Name.Label */
- .nn { color: #FEC418 } /* Name.Namespace */
- .nx { color: #06B6EF } /* Name.Other */
- .py { color: #E7E9DB } /* Name.Property */
- .nt { color: #5BC4BF } /* Name.Tag */
- .nv { color: #EF6155 } /* Name.Variable */
- .ow { color: #5BC4BF } /* Operator.Word */
- .pm { color: #E7E9DB } /* Punctuation.Marker */
- .w { color: #E7E9DB } /* Text.Whitespace */
- .mb { color: #F99B15 } /* Literal.Number.Bin */
- .mf { color: #F99B15 } /* Literal.Number.Float */
- .mh { color: #F99B15 } /* Literal.Number.Hex */
- .mi { color: #F99B15 } /* Literal.Number.Integer */
- .mo { color: #F99B15 } /* Literal.Number.Oct */
- .sa { color: #48B685 } /* Literal.String.Affix */
- .sb { color: #48B685 } /* Literal.String.Backtick */
- .sc { color: #E7E9DB } /* Literal.String.Char */
- .dl { color: #48B685 } /* Literal.String.Delimiter */
- .sd { color: #776E71 } /* Literal.String.Doc */
- .s2 { color: #48B685 } /* Literal.String.Double */
- .se { color: #F99B15 } /* Literal.String.Escape */
- .sh { color: #48B685 } /* Literal.String.Heredoc */
- .si { color: #F99B15 } /* Literal.String.Interpol */
- .sx { color: #48B685 } /* Literal.String.Other */
- .sr { color: #48B685 } /* Literal.String.Regex */
- .s1 { color: #48B685 } /* Literal.String.Single */
- .ss { color: #48B685 } /* Literal.String.Symbol */
- .bp { color: #E7E9DB } /* Name.Builtin.Pseudo */
- .fm { color: #06B6EF } /* Name.Function.Magic */
- .vc { color: #EF6155 } /* Name.Variable.Class */
- .vg { color: #EF6155 } /* Name.Variable.Global */
- .vi { color: #EF6155 } /* Name.Variable.Instance */
- .vm { color: #EF6155 } /* Name.Variable.Magic */
- .il { color: #F99B15 } /* Literal.Number.Integer.Long */
+ .hll { background-color: #0000ff }
+ .c { color: #0F0 } /* Comment */
+ .err { color: #DDD } /* Error */
+ .esc { color: #DDD } /* Escape */
+ .g { color: #DDD } /* Generic */
+ .k { color: #F00 } /* Keyword */
+ .l { color: #DDD } /* Literal */
+ .n { color: #DDD } /* Name */
+ .o { color: #DDD } /* Operator */
+ .x { color: #DDD } /* Other */
+ .p { color: #DDD } /* Punctuation */
+ .ch { color: #0F0 } /* Comment.Hashbang */
+ .cm { color: #0F0 } /* Comment.Multiline */
+ .cp { color: #E5E5E5 } /* Comment.Preproc */
+ .cpf { color: #0F0 } /* Comment.PreprocFile */
+ .c1 { color: #0F0 } /* Comment.Single */
+ .cs { color: #0F0 } /* Comment.Special */
+ .gd { color: #DDD } /* Generic.Deleted */
+ .ge { color: #DDD } /* Generic.Emph */
+ .ges { color: #DDD } /* Generic.EmphStrong */
+ .gr { color: #DDD } /* Generic.Error */
+ .gh { color: #DDD } /* Generic.Heading */
+ .gi { color: #DDD } /* Generic.Inserted */
+ .go { color: #DDD } /* Generic.Output */
+ .gp { color: #DDD } /* Generic.Prompt */
+ .gs { color: #DDD } /* Generic.Strong */
+ .gu { color: #DDD } /* Generic.Subheading */
+ .gt { color: #DDD } /* Generic.Traceback */
+ .kc { color: #F00 } /* Keyword.Constant */
+ .kd { color: #F00 } /* Keyword.Declaration */
+ .kn { color: #F00 } /* Keyword.Namespace */
+ .kp { color: #F00 } /* Keyword.Pseudo */
+ .kr { color: #F00 } /* Keyword.Reserved */
+ .kt { color: #EE82EE } /* Keyword.Type */
+ .ld { color: #DDD } /* Literal.Date */
+ .m { color: #F0F } /* Literal.Number */
+ .s { color: #87CEEB } /* Literal.String */
+ .na { color: #DDD } /* Name.Attribute */
+ .nb { color: #DDD } /* Name.Builtin */
+ .nc { color: #DDD } /* Name.Class */
+ .no { color: #7FFFD4 } /* Name.Constant */
+ .nd { color: #DDD } /* Name.Decorator */
+ .ni { color: #DDD } /* Name.Entity */
+ .ne { color: #DDD } /* Name.Exception */
+ .nf { color: #FF0 } /* Name.Function */
+ .nl { color: #DDD } /* Name.Label */
+ .nn { color: #DDD } /* Name.Namespace */
+ .nx { color: #DDD } /* Name.Other */
+ .py { color: #DDD } /* Name.Property */
+ .nt { color: #DDD } /* Name.Tag */
+ .nv { color: #EEDD82 } /* Name.Variable */
+ .ow { color: #F00 } /* Operator.Word */
+ .pm { color: #DDD } /* Punctuation.Marker */
+ .w { color: #DDD } /* Text.Whitespace */
+ .mb { color: #F0F } /* Literal.Number.Bin */
+ .mf { color: #F0F } /* Literal.Number.Float */
+ .mh { color: #F0F } /* Literal.Number.Hex */
+ .mi { color: #F0F } /* Literal.Number.Integer */
+ .mo { color: #F0F } /* Literal.Number.Oct */
+ .sa { color: #87CEEB } /* Literal.String.Affix */
+ .sb { color: #87CEEB } /* Literal.String.Backtick */
+ .sc { color: #87CEEB } /* Literal.String.Char */
+ .dl { color: #87CEEB } /* Literal.String.Delimiter */
+ .sd { color: #87CEEB } /* Literal.String.Doc */
+ .s2 { color: #87CEEB } /* Literal.String.Double */
+ .se { color: #87CEEB } /* Literal.String.Escape */
+ .sh { color: #87CEEB } /* Literal.String.Heredoc */
+ .si { color: #87CEEB } /* Literal.String.Interpol */
+ .sx { color: #87CEEB } /* Literal.String.Other */
+ .sr { color: #87CEEB } /* Literal.String.Regex */
+ .s1 { color: #87CEEB } /* Literal.String.Single */
+ .ss { color: #87CEEB } /* Literal.String.Symbol */
+ .bp { color: #DDD } /* Name.Builtin.Pseudo */
+ .fm { color: #FF0 } /* Name.Function.Magic */
+ .vc { color: #EEDD82 } /* Name.Variable.Class */
+ .vg { color: #EEDD82 } /* Name.Variable.Global */
+ .vi { color: #EEDD82 } /* Name.Variable.Instance */
+ .vm { color: #EEDD82 } /* Name.Variable.Magic */
+ .il { color: #F0F } /* Literal.Number.Integer.Long */
}
commit 06f23988d67490e9a814738f47ce5e42fe377791
Author: Raymond Toy <toy...@gm...>
Date: Thu Nov 20 10:11:45 2025 -0800
Add support for custom-pygments for syntax highlighting
custom-pygments basically means we tell texinfo to run pygmentize such
that we need to use CSS to set the colors. This updates the
appropriate configure variables to tell build_html.sh what to do.
diff --git a/configure.ac b/configure.ac
index 6f655566b..10962016d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -662,18 +662,19 @@ AC_ARG_ENABLE(syntax-highlighting,
[case "${enableval}" in
yes|highlightjs) syntax_highlighting=highlightjs ;;
pygments) syntax_highlighting=pygments ;;
+ custom-pygments) syntax_highlighting=custom-pygments ;;
no) syntax_highlighting=false ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-syntax-highlighting) ;;
esac],
[syntax_highlighting=false])
-AS_IF([test "x$syntax_highlighting" = "xpygments"],
+AS_IF([test "x$syntax_highlighting" = "xpygments" || test "xsyntax_highlighting" = "xcustom-pygments"],
[AC_CHECK_PROG([pygmentize_found], [pygmentize],
true,
false)
AS_IF([test "x$pygmetize_found" = "xfalse"],
AC_MSG_FAILURE(
- [--enable-syntax-highlighting set to "pygments" but pygmentize not found]))])
+ [--enable-syntax-highlighting set to "pygments" or "custom-pygments" but pygmentize not found]))])
AM_CONDITIONAL(ENABLE_BUILD_DOCS, test x$enable_build_docs = xtrue)
@@ -890,7 +891,7 @@ EOF
AC_MSG_ERROR([Makeinfo version (${makeinfo_version_string}) too old to use pygments for syntax highlighting. Disable or use highlightjs])
fi
fi
- if test x${syntax_highlighting} = xcustom; then
+ if test x${syntax_highlighting} = "xcustom-pygments"; then
USE_CUSTOM_HILITE=true
fi
AC_SUBST(TEXI_EXTRA_HEAD)
commit 108537d1587dd7737eb95eb96335959828fff1ce
Author: Raymond Toy <toy...@gm...>
Date: Thu Nov 20 09:55:37 2025 -0800
Print the version out again; add some comments
We accidentally deleted makeinfo_version_string that was used for
messages. Reconstitute it.
Comment out the echo statements in extract_version_from that we don't
want.
Add a comment that Gemini created the shell function.
diff --git a/configure.ac b/configure.ac
index a3019bae2..6f655566b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -694,6 +694,9 @@ Or disable building of the docs using
fi
fi
+dnl This function was created by Gemini because I was too lazy to
+dnl figure this out myself.
+
# Description: Extracts and separates the components (N, M, P, and 'dev' suffix)
# from version strings and sets them as global shell variables.
# This version uses only basic POSIX shell features, including the
@@ -729,7 +732,7 @@ extract_version_from() {
return 1
fi
- echo "--- Parsing: \"$input_string\" ---"
+ # echo "--- Parsing: \"$input_string\" ---"
full_version=""
temp_match=""
@@ -752,7 +755,7 @@ extract_version_from() {
VERSION_M=$(echo "$full_version" | sed 's/dev$//' | cut -d'.' -f2)
VERSION_SUFFIX="dev"
- echo "Found: ${VERSION_N}.${VERSION_M}${VERSION_SUFFIX}. Variables set globally."
+ # echo "Found: ${VERSION_N}.${VERSION_M}${VERSION_SUFFIX}. Variables set globally."
else
# PRIORITY 2: Try to extract N.M.P format (three components)
@@ -815,14 +818,19 @@ if test x"${enable_build_docs}" = xtrue ; then
dnl Extract the version number from makeinfo
extract_version_from "`$MAKEINFO --version | head -1`"
- makeinfo_major="$VERSION_N"
- makeinfo_minor="$VERSION_M"
+ makeinfo_major="${VERSION_N}"
+ makeinfo_minor="${VERSION_M}"
makeinfo_patch="${VERSION_P}"
+ makeinfo_version_string="${VERSION_N}.${VERSION_M}"
dnl Treat a suffix of dev as being patch 99.
- if test -n "$VERSION_SUFFIX"; then
+ if test -n "${VERSION_SUFFIX}"; then
makeinfo_patch=99
+ makeinfo_version_string="${makeinfo_version_string}${VERSION_SUFFIX}"
+ else
+ makeinfo_version_string="${makeinfo_version_string}${VERSION_P}"
fi
+ dnl echo string ${makeinfo_version_string}
dnl echo major ${makeinfo_major}
dnl echo minor ${makeinfo_minor}
dnl echo patch ${makeinfo_patch}
commit 3084c19b9b88216d0ac28c8879c788efbb5ec450
Author: Raymond Toy <toy...@gm...>
Date: Thu Nov 20 09:40:14 2025 -0800
Add shell function to extract makeinfo version number
Development versions of texinfo have a version like "7.2dev". Add a
shell function that can extract version numbers of the form 7.1,
7.1.1, and 7.2dev. A "dev" suffix is treated as a patch version of
99.
Use the shell function to extract the version. Compute a version
number from the major, minor, and patch version. Update the version
number tests to account for the fact that we have a patch version too.
diff --git a/configure.ac b/configure.ac
index 14c3f0d9e..a3019bae2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -694,6 +694,114 @@ Or disable building of the docs using
fi
fi
+# Description: Extracts and separates the components (N, M, P, and 'dev' suffix)
+# from version strings and sets them as global shell variables.
+# This version uses only basic POSIX shell features, including the
+# 'test' command for all conditionals, and avoids Bash-specific
+# constructs like 'local', arrays, '[[ ... ]]', and the 'grep -o' option.
+#
+# Patterns supported:
+# 1. N.M.P (e.g., 5.2.10)
+# 2. N.M (e.g., 5.2, P defaults to 0)
+# 3. N.Mdev (e.g., 5.2dev, P defaults to 0)
+#
+
+VERSION_N=""
+VERSION_M=""
+VERSION_P=""
+VERSION_SUFFIX=""
+
+extract_version_from() {
+ # NOTE: All variables defined here (input_string, full_version, etc.)
+ # will be set globally due to the absence of 'local'.
+
+ input_string="$1"
+
+ # 1. Clear global version variables for a clean start
+ VERSION_N=""
+ VERSION_M=""
+ VERSION_P=""
+ VERSION_SUFFIX=""
+
+ # Check for empty input using 'test'
+ if test -z "$input_string"; then
+ echo "Error: No input string provided." >&2
+ return 1
+ fi
+
+ echo "--- Parsing: \"$input_string\" ---"
+
+ full_version=""
+ temp_match=""
+
+
+ # PRIORITY 1: Try to extract the N.Mdev format (most specific)
+ # Basic RegEx pattern supports multi-digit N and M: [[0-9]][[0-9]]*\.[[0-9]][[0-9]]*dev
+ temp_match=$(echo "$input_string" | grep '[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*dev' | head -n 1)
+
+ # Check if a dev version was found using 'test'
+ if test -n "$temp_match"; then
+ # Case 1: N.Mdev format found
+
+ # Use sed to isolate the captured pattern: .* (junk before) (\(capture\)) .* (junk after)
+ full_version=$(echo "$temp_match" | sed 's/.*\([[0-9]][[0-9]]*\.[[0-9]][[0-9]]*dev\).*/\1/')
+
+ # Set global variables
+ VERSION_N=$(echo "$full_version" | cut -d'.' -f1)
+ # Remove 'dev' before cutting the minor version
+ VERSION_M=$(echo "$full_version" | sed 's/dev$//' | cut -d'.' -f2)
+ VERSION_SUFFIX="dev"
+
+ echo "Found: ${VERSION_N}.${VERSION_M}${VERSION_SUFFIX}. Variables set globally."
+
+ else
+ # PRIORITY 2: Try to extract N.M.P format (three components)
+ # Pattern for multi-digit N.M.P
+ temp_match=$(echo "$input_string" | grep '[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*' | head -n 1)
+
+ # Check if N.M.P was found using 'test'
+ if test -n "$temp_match"; then
+ # Case 2a: N.M.P found. Isolate it with sed.
+ full_version=$(echo "$temp_match" | sed 's/.*\([[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\).*/\1/')
+ else
+ # PRIORITY 3: If N.M.P not found, try to extract N.M format (two components)
+ # Pattern for multi-digit N.M
+ temp_match=$(echo "$input_string" | grep '[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*' | head -n 1)
+
+ # Check if N.M was found using 'test'
+ if test -n "$temp_match"; then
+ # Case 2b: N.M found. Isolate it with sed.
+ full_version=$(echo "$temp_match" | sed 's/.*\([[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\).*/\1/')
+ fi
+ fi
+
+ # Check if any version was successfully isolated
+ if test -z "$full_version"; then
+ echo "Error: No matching version number found in: \"$input_string\"" >&2
+ return 1
+ fi
+
+ # Case 2: N.M.P or N.M format found
+
+ # Set global variables
+ VERSION_N=$(echo "$full_version" | cut -d'.' -f1)
+ VERSION_M=$(echo "$full_version" | cut -d'.' -f2)
+ P_raw=$(echo "$full_version" | cut -d'.' -f3)
+ VERSION_P=${P_raw:-0} # Default P to 0 if not present
+ VERSION_SUFFIX="" # Ensure suffix is cleared
+
+ display_version="${VERSION_N}.${VERSION_M}"
+ # Use 'test' command for comparison
+ if test "$VERSION_P" != "0"; then
+ display_version="${display_version}.${VERSION_P}"
+ fi
+
+ echo "Found: ${display_version}. Variables set globally."
+ fi
+
+ return 0
+}
+
if test x"${enable_build_docs}" = xtrue ; then
if test x"${makeinfo_found}" = xfalse ; then
AC_MSG_ERROR(No makeinfo found; consider --disable-build-docs)
@@ -704,29 +812,30 @@ if test x"${enable_build_docs}" = xtrue ; then
makeinfo_old=false
if test x"${makeinfo_found}" = xtrue; then
AC_MSG_CHECKING([if makeinfo version >= 5.1])
- dnl expr is looking for something like "junk<digits-or-dots>"
- dnl assuming that the end of the version string contains the
- dnl version number consisting of digits separated by a period.
- dnl This allows for version numbers like 6.8.90.
- makeinfo_version_string=`expr "\`$MAKEINFO --version | head -1\`" : '.* \([[.0-9]][[.0-9]]*\)'`
- dnl echo Makeinfo version ${makeinfo_version}
-
- dnl From makeinfo_version, extract out the major and minor
- dnl version numbers. We only need the major and minor version
- dnl numbers.
- makeinfo_major=`expr $makeinfo_version_string : '\([[0-9]][[0-9]]*\)'`
- makeinfo_minor=`expr $makeinfo_version_string : '[[0-9]][[0-9]]*\.\([[0-9]][[0-9]]*\)'`
+ dnl Extract the version number from makeinfo
+ extract_version_from "`$MAKEINFO --version | head -1`"
+
+ makeinfo_major="$VERSION_N"
+ makeinfo_minor="$VERSION_M"
+ makeinfo_patch="${VERSION_P}"
+ dnl Treat a suffix of dev as being patch 99.
+ if test -n "$VERSION_SUFFIX"; then
+ makeinfo_patch=99
+ fi
+
dnl echo major ${makeinfo_major}
dnl echo minor ${makeinfo_minor}
+ dnl echo patch ${makeinfo_patch}
dnl Create a numerical version number by multiplying the major
- dnl version by 100 and adding the minor version. This assumes
- dnl the minor version is always less than or equal to 99.
- makeinfo_version=`expr ${makeinfo_major} \* 100 \+ ${makeinfo_minor}`
+ dnl version by 1000 and adding the 100 times minor version and
+ dnl adding the patch version. This assumes the minor and
+ dnl patch version is always less than or equal to 99.
+ makeinfo_version=`expr ${makeinfo_major} \* 10000 \+ ${makeinfo_minor} \* 100 \+ ${makeinfo_patch}`
dnl If version is older than 5.1, it's too old for generating
dnl maxima docs.
- if test ${makeinfo_version} -lt 501; then
+ if test ${makeinfo_version} -lt 50100; then
AC_MSG_ERROR([Makeinfo version (${makeinfo_version_string}) too old; consider --disable-build-docs])
else
AC_MSG_RESULT([${makeinfo_version_string} (6.8 or later preferred)])
@@ -735,7 +844,7 @@ if test x"${enable_build_docs}" = xtrue ; then
dnl Enable JS highlighting of examples in the HTML docs.
dnl The API has changed between 6.8 and 7.0, so we need to substitute the
dnl the appropriate things.
- if test ${makeinfo_version} -le 608; then
+ if test ${makeinfo_version} -le 60800; then
TEXI_EXTRA_HEAD='$options->{"EXTRA_HEAD"} = '
HLJS_CSS_SELECTOR="'pre.example'"
TEXI_EXTRA_TAIL=''
@@ -767,24 +876,21 @@ EOF
HIGHLIGHT2="<script> hljs.configure({languages: [['Maxima']], cssSelector: ${HLJS_CSS_SELECTOR}}); hljs.highlightAll(); </script>"
fi
if test x${syntax_highlighting} = xpygments; then
- if test ${makeinfo_version} -ge 702; then
+ if test ${makeinfo_version} -ge 70200; then
USE_PYGMENTS=true
else
AC_MSG_ERROR([Makeinfo version (${makeinfo_version_string}) too old to use pygments for syntax highlighting. Disable or use highlightjs])
fi
fi
- if test x${syntax_highlighting} = xpygments; then
- if test ${makeinfo_version} -ge 702; then
- USE_PYGMENTS=true
- else
- AC_MSG_ERROR([Makeinfo version (${makeinfo_version_string}) too old to use pygments for syntax highlighting. Disable or use highlightjs])
- fi
+ if test x${syntax_highlighting} = xcustom; then
+ USE_CUSTOM_HILITE=true
fi
AC_SUBST(TEXI_EXTRA_HEAD)
AC_SUBST(TEXI_EXTRA_TAIL)
AC_SUBST(HIGHLIGHT1)
AC_SUBST(HIGHLIGHT2)
AC_SUBST(USE_PYGMENTS)
+ AC_SUBST(USE_CUSTOM_HILITE)
TEXI2HTML=texi2html.init
AC_SUBST(TEXI2HTML)
@@ -792,7 +898,7 @@ EOF
dnl need to include MathJax ourselves when building the HTML
dnl files.
need_mathjax=false
- if test ${makeinfo_version} -le 608; then
+ if test ${makeinfo_version} -le 60800; then
need_mathjax=true
fi
if test x"${need_mathjax}" = xtrue; then
commit 752545378717656a4777d545d13f65dc441f9555
Author: Raymond Toy <toy...@gm...>
Date: Wed Nov 19 15:24:42 2025 -0800
First cut at using new texinfo custom highlighter.
WIP. This is incomplete, but it mostly works.
diff --git a/doc/info/build_html.sh.in b/doc/info/build_html.sh.in
index ee8940688..e8736aee4 100755
--- a/doc/info/build_html.sh.in
+++ b/doc/info/build_html.sh.in
@@ -198,6 +198,8 @@ if [ -n "@USE_PYGMENTS@" ]; then
SET_HIGHLIGHT="--set-customization-variable HIGHLIGHT_SYNTAX=pygments"
fi
+SET_HIGHLIGHT="-c HIGHLIGHT_SYNTAX='pygmentize -f html -l '"
+
# Currently the Russian documentation has errors in it, so we're just
# going to force makeinfo to build anyway.
#
@@ -211,17 +213,18 @@ 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 --css-ref=manual.css -I ../.. -I @abs_srcdir@/figures --init-file $texiinitfile ${SET_HTML_MATH} ${SET_HIGHLIGHT}"
-# Show the commands.
set -x
-@MAKEINFO@ $FORCE --split=chapter --no-node-files --output="$languagedestdir" $TEXIOPT maxima.texi
+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}"
+echo $TEXIOPT
+# Show the commands.
+@MAKEINFO@ $FORCE -c HIGHLIGHT_SYNTAX='pygmentize -f html -l %l' --split=chapter --no-node-files --output="$languagedestdir" $TEXIOPT maxima.texi
rc=$?
if [ $rc -ne 0 ]; then
echo Failed to build multi-page html docs
exit $rc
fi
-@MAKEINFO@ $FORCE --no-split --output="$languagedestdir/maxima_singlepage.html" $TEXIOPT maxima.texi
+@MAKEINFO@ $FORCE -c HIGHLIGHT_SYNTAX='pygmentize -f html -l %l' --no-split --output="$languagedestdir/maxima_singlepage.html" $TEXIOPT maxima.texi
rc=$?
if [ $rc -ne 0 ]; then
echo Failed to build single page html doc
diff --git a/doc/info/manual.css b/doc/info/manual.css
index c65a29667..f2dd627dc 100644
--- a/doc/info/manual.css
+++ b/doc/info/manual.css
@@ -164,3 +164,171 @@ dd { margin-left: 0.5em }
*/
line-height: normal !important;
}
+
+/*
+ * CSS from pygmentize -S paraiso-light -f html
+ */
+@media (prefers-color-scheme: light) {
+ pre { line-height: 125%; }
+ td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+ span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+ td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+ .hll { background-color: #a39e9b }
+ .c { color: #8D8687 } /* Comment */
+ .err { color: #EF6155 } /* Error */
+ .k { color: #815BA4 } /* Keyword */
+ .l { color: #F99B15 } /* Literal */
+ .n { color: #2F1E2E } /* Name */
+ .o { color: #5BC4BF } /* Operator */
+ .p { color: #2F1E2E } /* Punctuation */
+ .ch { color: #8D8687 } /* Comment.Hashbang */
+ .cm { color: #8D8687 } /* Comment.Multiline */
+ .cp { color: #8D8687 } /* Comment.Preproc */
+ .cpf { color: #8D8687 } /* Comment.PreprocFile */
+ .c1 { color: #8D8687 } /* Comment.Single */
+ .cs { color: #8D8687 } /* Comment.Special */
+ .gd { color: #EF6155 } /* Generic.Deleted */
+ .ge { font-style: italic } /* Generic.Emph */
+ .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
+ .gh { color: #2F1E2E; font-weight: bold } /* Generic.Heading */
+ .gi { color: #48B685 } /* Generic.Inserted */
+ .gp { color: #8D8687; font-weight: bold } /* Generic.Prompt */
+ .gs { font-weight: bold } /* Generic.Strong */
+ .gu { color: #5BC4BF; font-weight: bold } /* Generic.Subheading */
+ .kc { color: #815BA4 } /* Keyword.Constant */
+ .kd { color: #815BA4 } /* Keyword.Declaration */
+ .kn { color: #5BC4BF } /* Keyword.Namespace */
+ .kp { color: #815BA4 } /* Keyword.Pseudo */
+ .kr { color: #815BA4 } /* Keyword.Reserved */
+ .kt { color: #FEC418 } /* Keyword.Type */
+ .ld { color: #48B685 } /* Literal.Date */
+ .m { color: #F99B15 } /* Literal.Number */
+ .s { color: #48B685 } /* Literal.String */
+ .na { color: #06B6EF } /* Name.Attribute */
+ .nb { color: #2F1E2E } /* Name.Builtin */
+ .nc { color: #FEC418 } /* Name.Class */
+ .no { color: #EF6155 } /* Name.Constant */
+ .nd { color: #5BC4BF } /* Name.Decorator */
+ .ni { color: #2F1E2E } /* Name.Entity */
+ .ne { color: #EF6155 } /* Name.Exception */
+ .nf { color: #06B6EF } /* Name.Function */
+ .nl { color: #2F1E2E } /* Name.Label */
+ .nn { color: #FEC418 } /* Name.Namespace */
+ .nx { color: #06B6EF } /* Name.Other */
+ .py { color: #2F1E2E } /* Name.Property */
+ .nt { color: #5BC4BF } /* Name.Tag */
+ .nv { color: #EF6155 } /* Name.Variable */
+ .ow { color: #5BC4BF } /* Operator.Word */
+ .pm { color: #2F1E2E } /* Punctuation.Marker */
+ .w { color: #2F1E2E } /* Text.Whitespace */
+ .mb { color: #F99B15 } /* Literal.Number.Bin */
+ .mf { color: #F99B15 } /* Literal.Number.Float */
+ .mh { color: #F99B15 } /* Literal.Number.Hex */
+ .mi { color: #F99B15 } /* Literal.Number.Integer */
+ .mo { color: #F99B15 } /* Literal.Number.Oct */
+ .sa { color: #48B685 } /* Literal.String.Affix */
+ .sb { color: #48B685 } /* Literal.String.Backtick */
+ .sc { color: #2F1E2E } /* Literal.String.Char */
+ .dl { color: #48B685 } /* Literal.String.Delimiter */
+ .sd { color: #8D8687 } /* Literal.String.Doc */
+ .s2 { color: #48B685 } /* Literal.String.Double */
+ .se { color: #F99B15 } /* Literal.String.Escape */
+ .sh { color: #48B685 } /* Literal.String.Heredoc */
+ .si { color: #F99B15 } /* Literal.String.Interpol */
+ .sx { color: #48B685 } /* Literal.String.Other */
+ .sr { color: #48B685 } /* Literal.String.Regex */
+ .s1 { color: #48B685 } /* Literal.String.Single */
+ .ss { color: #48B685 } /* Literal.String.Symbol */
+ .bp { color: #2F1E2E } /* Name.Builtin.Pseudo */
+ .fm { color: #06B6EF } /* Name.Function.Magic */
+ .vc { color: #EF6155 } /* Name.Variable.Class */
+ .vg { color: #EF6155 } /* Name.Variable.Global */
+ .vi { color: #EF6155 } /* Name.Variable.Instance */
+ .vm { color: #EF6155 } /* Name.Variable.Magic */
+ .il { color: #F99B15 } /* Literal.Number.Integer.Long */
+}
+
+/*
+ * CSS from pygmentize -S paraiso-dark -f html
+ */
+@media (prefers-color-scheme: dark) {
+ pre { line-height: 125%; }
+ td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+ span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+ td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+ .hll { background-color: #4f424c }
+ .c { color: #776E71 } /* Comment */
+ .err { color: #EF6155 } /* Error */
+ .k { color: #815BA4 } /* Keyword */
+ .l { color: #F99B15 } /* Literal */
+ .n { color: #E7E9DB } /* Name */
+ .o { color: #5BC4BF } /* Operator */
+ .p { color: #E7E9DB } /* Punctuation */
+ .ch { color: #776E71 } /* Comment.Hashbang */
+ .cm { color: #776E71 } /* Comment.Multiline */
+ .cp { color: #776E71 } /* Comment.Preproc */
+ .cpf { color: #776E71 } /* Comment.PreprocFile */
+ .c1 { color: #776E71 } /* Comment.Single */
+ .cs { color: #776E71 } /* Comment.Special */
+ .gd { color: #EF6155 } /* Generic.Deleted */
+ .ge { font-style: italic } /* Generic.Emph */
+ .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
+ .gh { color: #E7E9DB; font-weight: bold } /* Generic.Heading */
+ .gi { color: #48B685 } /* Generic.Inserted */
+ .gp { color: #776E71; font-weight: bold } /* Generic.Prompt */
+ .gs { font-weight: bold } /* Generic.Strong */
+ .gu { color: #5BC4BF; font-weight: bold } /* Generic.Subheading */
+ .kc { color: #815BA4 } /* Keyword.Constant */
+ .kd { color: #815BA4 } /* Keyword.Declaration */
+ .kn { color: #5BC4BF } /* Keyword.Namespace */
+ .kp { color: #815BA4 } /* Keyword.Pseudo */
+ .kr { color: #815BA4 } /* Keyword.Reserved */
+ .kt { color: #FEC418 } /* Keyword.Type */
+ .ld { color: #48B685 } /* Literal.Date */
+ .m { color: #F99B15 } /* Literal.Number */
+ .s { color: #48B685 } /* Literal.String */
+ .na { color: #06B6EF } /* Name.Attribute */
+ .nb { color: #E7E9DB } /* Name.Builtin */
+ .nc { color: #FEC418 } /* Name.Class */
+ .no { color: #EF6155 } /* Name.Constant */
+ .nd { color: #5BC4BF } /* Name.Decorator */
+ .ni { color: #E7E9DB } /* Name.Entity */
+ .ne { color: #EF6155 } /* Name.Exception */
+ .nf { color: #06B6EF } /* Name.Function */
+ .nl { color: #E7E9DB } /* Name.Label */
+ .nn { color: #FEC418 } /* Name.Namespace */
+ .nx { color: #06B6EF } /* Name.Other */
+ .py { color: #E7E9DB } /* Name.Property */
+ .nt { color: #5BC4BF } /* Name.Tag */
+ .nv { color: #EF6155 } /* Name.Variable */
+ .ow { color: #5BC4BF } /* Operator.Word */
+ .pm { color: #E7E9DB } /* Punctuation.Marker */
+ .w { color: #E7E9DB } /* Text.Whitespace */
+ .mb { color: #F99B15 } /* Literal.Number.Bin */
+ .mf { color: #F99B15 } /* Literal.Number.Float */
+ .mh { color: #F99B15 } /* Literal.Number.Hex */
+ .mi { color: #F99B15 } /* Literal.Number.Integer */
+ .mo { color: #F99B15 } /* Literal.Number.Oct */
+ .sa { color: #48B685 } /* Literal.String.Affix */
+ .sb { color: #48B685 } /* Literal.String.Backtick */
+ .sc { color: #E7E9DB } /* Literal.String.Char */
+ .dl { color: #48B685 } /* Literal.String.Delimiter */
+ .sd { color: #776E71 } /* Literal.String.Doc */
+ .s2 { color: #48B685 } /* Literal.String.Double */
+ .se { color: #F99B15 } /* Literal.String.Escape */
+ .sh { color: #48B685 } /* Literal.String.Heredoc */
+ .si { color: #F99B15 } /* Literal.String.Interpol */
+ .sx { color: #48B685 } /* Literal.String.Other */
+ .sr { color: #48B685 } /* Literal.String.Regex */
+ .s1 { color: #48B685 } /* Literal.String.Single */
+ .ss { color: #48B685 } /* Literal.String.Symbol */
+ .bp { color: #E7E9DB } /* Name.Builtin.Pseudo */
+ .fm { color: #06B6EF } /* Name.Function.Magic */
+ .vc { color: #EF6155 } /* Name.Variable.Class */
+ .vg { color: #EF6155 } /* Name.Variable.Global */
+ .vi { color: #EF6155 } /* Name.Variable.Instance */
+ .vm { color: #EF6155 } /* Name.Variable.Magic */
+ .il { color: #F99B15 } /* Literal.Number.Integer.Long */
+}
commit 40fa90ce23a0362a2c560eaa0d8baf26ec0ad76a
Merge: da563ae4f 3f014279a
Author: Raymond Toy <toy...@gm...>
Date: Wed Nov 19 12:17:55 2025 -0800
Merge branch 'master' into rtoy-highlightjs-example-maxima-blocks
diff --cc configure.ac
index eba6ab9d0,2e6668797..14c3f0d9e
--- a/configure.ac
+++ b/configure.ac
@@@ -745,12 -745,28 +745,35 @@@ if test x"${enable_build_docs}" = xtru
TEXI_EXTRA_TAIL=')'
fi
if test x${syntax_highlighting} = xhighlightjs; then
- HIGHLIGHT1='<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.10.0/styles/github.min.css"> <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.10.0/highlight.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.10.0/languages/maxima.min.js"> </script>
- '
- HIGHLIGHT2="<script> hljs.configure({languages: [['Maxima']], cssSelector: ${HLJS_CSS_SELECTOR}}); hljs.highlightAll(); </script>
- "
+ dnl Update HIGHTLIGHT_VER, LIGHTMODE, and DARKMODE
+ dnl variables if we decide to change the version, the light
+ dnl mode style or the dark mode style.
+ CDN="https://cdnjs.cloudflare.com/ajax/libs/highlight.js"
+ HIGHLIGHT_VER="11.11.1"
+ HIGHLIGHTJS_HASH="sha512-EBLzUL8XLl+va/zAsmXwS7Z2B1F9HUHkZwyS/VKwh3S7T/U0nF4BaU29EP/ZSf6zgiIxYAnKLu6bJ8dqpmX5uw=="
+ MAXIMAJS_HASH="sha512-AhvLFkEPexok+HSQKpnwMdX1f0PVRUYera3PJV8u3lotioIqfR9ThqCEydkI7RkSjQNcJm/pQl15AgqWcufw1Q=="
+ LIGHTMODE="github.min.css"
+ LIGHTMODECSS_HASH="sha512-0aPQyyeZrWj9sCA46UlmWgKOP0mUipLQ6OZXu8l4IcAmD2u31EPEy9VcIMvl7SoAaKe8bLXZhYoMaE/in+gcgA=="
+ DARKMODE="github-dark.min.css"
+ DARKMODECSS_HASH="sha512-rO+olRTkcf304DQBxSWxln8JXCzTHlKnIdnMUwYvQa9/Jd4cQaNkItIUj6Z4nvW1dqK0SKXLbn9h4KwZTNtAyw=="
+ dnl Make sure HIGHLIGHT1 and HIGHLIGHT2 are all on one line
+ dnl because these variables are placed in the Makefile and
+ dnl make doesn't support multiple-line variable
+ dnl assignments.
+ HIGHLIGHT1=$(cat <<EOF
+ <link rel="stylesheet" media="(prefers-color-scheme: light)" href="$CDN/$HIGHLIGHT_VER/styles/$LIGHTMODE" integrity="$LIGHTMODECSS_HASH" crossorigin="anonymous"> <link rel="stylesheet" media="(prefers-color-scheme: dark)" href="$CDN/$HIGHLIGHT_VER/styles/$DARKMODE" integrity="$DARKMODECSS_HASH" crossorigin="anonymous"> <script src="$CDN/$HIGHLIGHT_VER/highlight.min.js" integrity="$HIGHLIGHTJS_HASH" crossorigin="anonymous"></script> <script src="$CDN/$HIGHLIGHT_VER/languages/maxima.min.js" integrity="$MAXIMAJS_HASH" crossorigin="anonymous"></script>
+ EOF
+ )
+ HIGHLIGHT2="<script> hljs.configure({languages: [['Maxima']], cssSelector: ${HLJS_CSS_SELECTOR}}); hljs.highlightAll(); </script>"
+ fi
+ if test x${syntax_highlighting} = xpygments; then
++ if test ${makeinfo_version} -ge 702; then
++ USE_PYGMENTS=true
++ else
++ AC_MSG_ERROR([Makeinfo version (${makeinfo_version_string}) too old to use pygments for syntax highlighting. Disable or use highlightjs])
++ fi
+ fi
+ if test x${syntax_highlighting} = xpygments; then
if test ${makeinfo_version} -ge 702; then
USE_PYGMENTS=true
else
diff --cc doc/info/manual.css
index 5bc1f205a,674e23ae7..c65a29667
--- a/doc/info/manual.css
+++ b/doc/info/manual.css
@@@ -55,18 -55,18 +55,27 @@@ pre.example, pre.example-preformatted
padding: 5px;
background-color: var(--example-background-color);
/* Add scrollbar for examples for narrow windows */
- overflow: auto
+ overflow: auto;
+ }
+
+ /*
+ * For pygments, make the background color of the highlighted code the
+ * same as the example background color. Without this, it looks funny.
+ */
+
+ div.highlight {
+ background-color: var(--example-background-color) !important;
}
+/*
+ * For pygments, make the background color of the highlighted code the
+ * same as the example background color. Without this, it looks funny.
+ */
+
+div.highlight {
+ background-color: var(--example-background-color) !important;
+}
+
div.spacerbox { border: none; padding: 2em 0 }
div.image { margin: 0; padding: 1em; text-align: center }
div.categorybox {
-----------------------------------------------------------------------
hooks/post-receive
--
Maxima CAS
|
|
From: willisbl <wil...@us...> - 2025-11-19 17:23:46
|
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 9f875ef1bc10456a254f072cb632a428795c6efa (commit)
from 73bf030a4c3bb5f20954fb63dd5d8608f1d93dd0 (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 9f875ef1bc10456a254f072cb632a428795c6efa
Author: Barton Willis <wi...@un...>
Date: Wed Nov 19 11:23:32 2025 -0600
Update ChangeLog for fix to bug 4633.
diff --git a/ChangeLog b/ChangeLog
index 7e6ffc3e8..f2410ec59 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -15,7 +15,8 @@ Bug fixes for numbered bugs:
* \#4615: carg range is not in (-%pi, %pi]
* \#4603: Control stack regression with abs_integrate / 5.48.0
* \#4619: limit(inf = inf) causes stack overflow
-
+ * \#4633: integrate(exp(- t) log(t), t, 0, 1) --> integral nounform
+
Changes in the Windows installer:
---------------------------------
* Update SBCL
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
hooks/post-receive
--
Maxima CAS
|
|
From: willisbl <wil...@us...> - 2025-11-19 17:18:57
|
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 73bf030a4c3bb5f20954fb63dd5d8608f1d93dd0 (commit)
from 309ed0d3c9c48df480aafcd6c31d5c425c58f935 (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 73bf030a4c3bb5f20954fb63dd5d8608f1d93dd0
Author: Barton Willis <wi...@un...>
Date: Wed Nov 19 11:18:42 2025 -0600
#4633 integrate(exp(- t) log(t), t, 0, 1) --> integral nounform
- Extended `stirling0` to include the asymptotic expansion of the incomplete gamma function.
- Updated `rtest_log` test 120: changed expected value from nounform integral to evaluated form.
No unexpected testsuite or share testsuite failures with SBCL 2.4.7 or Clozure CL 1.13.
diff --git a/src/limit.lisp b/src/limit.lisp
index d6ad437f2..555f63ed4 100644
--- a/src/limit.lisp
+++ b/src/limit.lisp
@@ -1249,8 +1249,41 @@ ignoring dummy variables and array indices."
(let ((arglim (limit (cadr e) var val 'think)))
(eq arglim '$inf)))
(ei-asymptotic-expansion $lhospitallim (cadr e)))
+ ((eq (caar e) '%gamma_incomplete) (gamma-incomplete-asymptotic e var val $lhospitallim))
(t e)))
+;; See http://dlmf.nist.gov/8.11.i
+(defun gamma-incomplete-asymptotic (e x pt n)
+ (let* ((aaa (second e)) (z (third e)) (xxx (limit z x pt 'think)))
+ (cond
+ ;; Case 1: Asymptotic expansion when z -> +/- inf and aaa is free of x
+ ;; For the series, see http://dlmf.nist.gov/8.11.i
+ ((and (or (eq '$inf xxx) (eq '$minf xxx)) (freeof x aaa))
+ (let ((f 1) (s 0))
+ (dotimes (k n)
+ (setq s (add s f))
+ (setq f (mul f (div (add aaa -1 (- k)) z))))
+ ;; return z^(a-1)*exp(-z)*s
+ (mul (ftake 'mexpt z (sub aaa 1)) (ftake 'mexpt '$%e (mul -1 z)) s)))
+ ;; Case 2: Asymptotic expansion when z -> 0, aaa integer, and aaa <= 0
+ ;; For the series, see http://dlmf.nist.gov/8.4.E15
+ ((and (zerop2 xxx) (integerp aaa) (>= 0 aaa))
+ (let ((s 0))
+ (flet ((fn (k) (if (eql (add k aaa) 0)
+ 0
+ (div (power (neg z) k) (mul (ftake 'mfactorial k) (add k aaa))))))
+ (dotimes (k n)
+ (setq s (add s (fn k))))
+
+ (sub (mul
+ (div (ftake 'mexpt -1 (neg aaa)) (ftake 'mfactorial (neg aaa)))
+ (sub
+ (simplifya (subfunmake '$psi (list 0) (list (add (neg aaa) 1))) nil)
+ (ftake '%log z)))
+ (mul (ftake 'mexpt z (neg aaa)) s)))))
+ ;; Case 3: fall back
+ (t (ftake '%gamma_incomplete aaa z)))))
+
(defun stirling (x)
"Return sqrt(2*%pi/x)*(x/%e)^x, the Stirling approximation of
gamma(x). The argument x can be any valid expression."
diff --git a/tests/rtest_log.mac b/tests/rtest_log.mac
index 85d646789..25c5fe7be 100755
--- a/tests/rtest_log.mac
+++ b/tests/rtest_log.mac
@@ -431,7 +431,7 @@ integrate(log(t*(1-t))^5/(1-t),t,0,1/2);
'integrate(log(t*(1-t))^5/(1-t),t,0,1/2);
integrate(exp(-t)*log(t),t,0,1);
-'integrate(exp(-t)*log(t),t,0,1);
+-gamma_incomplete(0, 1) - %gamma$
/* Hier fehlen noch Integrale */
-----------------------------------------------------------------------
Summary of changes:
src/limit.lisp | 33 +++++++++++++++++++++++++++++++++
tests/rtest_log.mac | 2 +-
2 files changed, 34 insertions(+), 1 deletion(-)
hooks/post-receive
--
Maxima CAS
|
|
From: willisbl <wil...@us...> - 2025-11-19 16:50: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 309ed0d3c9c48df480aafcd6c31d5c425c58f935 (commit)
from 31a22907ca4c85c8fc5093c5401f9a0a9ceefc41 (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 309ed0d3c9c48df480aafcd6c31d5c425c58f935
Author: Barton Willis <wi...@un...>
Date: Wed Nov 19 10:50:42 2025 -0600
Update ChangeLog for fix to bug 3041.
diff --git a/ChangeLog b/ChangeLog
index 672ceafb4..7e6ffc3e8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,7 @@ Maxima 5.48-post change log
Bug fixes for numbered bugs:
----------------------------
+ * \#3041: limit(inf*(zeroa+inf)) => und, should be inf
* \#3750: Quoting atan2 inhibits simplification
* \#4383: great not transitive (so simplifya not idempotent)
* \#4577: Update CSS for examples and nav bar
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 1 +
1 file changed, 1 insertion(+)
hooks/post-receive
--
Maxima CAS
|
|
From: willisbl <wil...@us...> - 2025-11-19 16:45: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 31a22907ca4c85c8fc5093c5401f9a0a9ceefc41 (commit)
from 3f014279ab12b8bb23f47c601eb964e659cd7b99 (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 31a22907ca4c85c8fc5093c5401f9a0a9ceefc41
Author: Barton Willis <wi...@un...>
Date: Wed Nov 19 10:45:25 2025 -0600
Fix for #3041 limit(inf*(zeroa+inf)) => und, should be inf
- In `toplevel-%limit`, use `expand(exp, 0, 0)` for constant expressions instead of `expand(exp, 1, 0)`.
Added a source code comment to explain this change.
- Unmarked `rest_limit_extra` test 111 as a known failure.
- Removed unused local `genfoo` from `toplevel-%limit`.
- Updated `rtest_limit.mac` test 159 to avoid `asksign`; test still fails.
- Corrected semantic failures in `rtest_abs_integrate.mac`.
No unexpected testsuite or share testsuite failures with SBCL 2.4.7 or Clozure CL 1.13.
diff --git a/share/contrib/integration/rtest_abs_integrate.mac b/share/contrib/integration/rtest_abs_integrate.mac
index c61ff5c84..258406eca 100644
--- a/share/contrib/integration/rtest_abs_integrate.mac
+++ b/share/contrib/integration/rtest_abs_integrate.mac
@@ -286,7 +286,7 @@ unit_box(x) := (unit_step(x) - unit_step(x-1)),0);
0$
f1 : convolution(unit_box(x),unit_box(x),x);
-(x*signum(x))/2-x*signum(x-1)+signum(x-1)+(x*signum(x-2))/2-signum(x-2)$
+(x*signum(x))/2-(signum(x-1)*(x-1))/2+2*signum(x-1)*(1/4-x/4)+2*signum(x-2)*((x-1)/4-1/4)$
integrate(f1,x,minf,inf);
1$
@@ -316,7 +316,7 @@ ceiling(x)$
0$
integrate(xx*floor(xx),xx,0,x);
--(floor(x)^3/6)-(floor(x)^2/4)+x^2*floor(x)/2-(floor(x)/12)$
+(x^2*floor(x))/2-(2*floor(x)^3+3*floor(x)^2+floor(x))/12$
diff(%,x);
x * floor(x)$
@@ -423,7 +423,7 @@ hypergeometric([2/3,4/3],[7/3],-((x-1)*(x^2+x+1))) *(x-1)*(x^2+x+1)*(1-x^3)^(1/3
(assume(0 < a), 0);
0$
-integrate(1/(1+abs(x)),x,-a,a);
+integrate(1/(1+abs(x)),x,-a,a),ratsimp;
2*log(a+1)$
(forget(0 < a),0);
@@ -700,10 +700,10 @@ integrate(1/(1+abs(x)),x,-1,1);
2*log(2)$
integrate(1/(1+abs(x)),x,-1/2,1/2);
-2*log(3/2)$
+(log(2)+log(3/2))/2-log(2)-((-log(2)-log(3/2))/2)+log(3/2)$
integrate(1/(1+abs(x)),x,-107,107);
-2*log(108)$
+(log(108)-log(106)-%i*%pi)/2+log(108)-((-log(108)+log(106)+%i*%pi)/2)+log(106)+%i*%pi$
/* bugs #3519 & #3641 */
integrate(abs(sin(x)),x,0,2*%pi);
diff --git a/src/limit.lisp b/src/limit.lisp
index 027867ee5..d6ad437f2 100644
--- a/src/limit.lisp
+++ b/src/limit.lisp
@@ -137,8 +137,7 @@
(logcombed ()) (lhp? ())
(varlist ()) (ans ()) (genvar ()) (loginprod? ())
(limit-answers ()) (limitp t) (simplimplus-problems ())
- (lenargs (length args))
- (genfoo ()))
+ (lenargs (length args)))
(declare (special lhcount *behavior-count-now* exp var val *indicator
taylored origval logcombed lhp?
varlist genvar loginprod? limitp))
@@ -154,7 +153,7 @@
;; The expression is 'T or 'NIL. Return immediately.
(return exp1))
(cond ((= lenargs 1)
- (setq var (setq genfoo (gensym)) ; Use a gensym. Not foo.
+ (setq var (gensym)
val 0))
(t
(setq var (second args))
@@ -221,16 +220,23 @@
;; Make assumptions about limit var being very small or very large.
;; Assumptions are forgotten upon exit.
(unless (= lenargs 1)
- (limit-context var val dr))
- ;; Resimplify in light of new assumptions. Changing ($expand exp 1 0)
- ;; to ($expand exp 0 0) results in a bad testsuite failure for
- ;; (assume(a>2), limit(integrate(t/log(t),t,2,a)/a,a,inf)) and
- ;; some testsuite results that are more messy.
+ (limit-context var val dr))
+
+ ;; Use $expand to resimplify `exp` in light of new assumptions. When `exp` is free of the limit
+ ;; `var`, perform pure simplification using ($expand exp 0 0) otherwise, call ($expand exp 1 0).
+ ;; Replacing ($expand exp 1 0) with ($expand exp 0 0) causes a serious testsuite failure for
+ ;; (assume(a > 2), limit(integrate(t/log(t), t, 2, a)/a, a, inf)) and produces messier results
+ ;; in other cases.
+
+ ;; Performing pure simplification for expressions free of the limit variable
+ ;; fixes the bug: limit(inf*(zeroa + inf)) -> und. Eventually, the call to ($expand exp 1 0)
+ ;; be replaced with ($expand exp 0 0) for all limit expressions `exp`.
+
(setq exp (resimplify
($minfactorial
(extra-simp
- ($expand exp 1 0)))))
-
+ ($expand exp (if ($freeof var exp) 0 1) 0)))))
+
(if (not (or (real-epsilonp val) ;; if direction of limit not specified
(infinityp val)))
(setq ans (both-side exp var val)) ;; compute from both sides
diff --git a/src/testsuite.lisp b/src/testsuite.lisp
index 2e47014ca..31e8a381b 100644
--- a/src/testsuite.lisp
+++ b/src/testsuite.lisp
@@ -135,7 +135,7 @@
"rtest_polynomialp"
((mlist simp) "rtest_limit_extra"
((mlist simp) 42 59 61 82 83 84 89
- 96 104 111
+ 96 104
124 125 126 127 132 133 135 136 137
224 238
239 240 241 242 243 244 245 246 249
diff --git a/tests/rtest_limit.mac b/tests/rtest_limit.mac
index 01e77a485..9656b8ff8 100644
--- a/tests/rtest_limit.mac
+++ b/tests/rtest_limit.mac
@@ -574,23 +574,20 @@ limit(1/inf-1/minf);
0;
/* 1-arg limit: limit(a*inf-inf) => minf - ID: 1385306
-These are long-standing bugs. The global `assume(a > 0)` shouldn't be needed, but removing it causes some
-calls to `asksign`. */
+These are long-standing bugs. For L1 & L2, the assumption 0 < a shouldn't be needed, but without it,
+Maxima does an asksign. */
block([L1,L2,L3,L4,L5,L6],
map('forget, facts(a)),
- assume(a > 0),
- L1 :limit(a*inf-inf),
+ assume(0 < a, a < 1),
+ L1 : limit(a*inf-inf),
L2 : limit((a-1)*inf),
- assume(a<1),
+ forget(0 < a, a < 1),
+ assume(a > 1),
L3 : limit(a*inf-inf),
L4 : limit((a-1)*inf),
- forget(a < 1),
- assume(a > 1),
- L5 : limit(a*inf-inf),
- L6 : limit((a-1)*inf),
- forget(a > 0),
- [L1,L2,L3,L4,L5,L6]);
-[und, und, minf, minf,inf,inf]$
+ forget(a > 1),
+ [L1,L2,L3,L4]);
+ [minf, minf, inf,inf]$
/* limit(1 - (-1/2)^inf) --> inf - ID: 2853506 */
limit(1 - (-1/2)^inf);
-----------------------------------------------------------------------
Summary of changes:
share/contrib/integration/rtest_abs_integrate.mac | 10 ++++-----
src/limit.lisp | 26 ++++++++++++++---------
src/testsuite.lisp | 2 +-
tests/rtest_limit.mac | 21 ++++++++----------
4 files changed, 31 insertions(+), 28 deletions(-)
hooks/post-receive
--
Maxima CAS
|
|
From: rtoy <rt...@us...> - 2025-11-19 01:24: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, rtoy-lisp-list-avail-consistently has been updated
via d2edf1daed08af4ea45ddd7d1ae79604a7e15d28 (commit)
via 7b0ca10415d19903d8e65e88f3293a1ddf38f0bc (commit)
from 7f57f45cce15f7fbf3119227a6025845c110ba99 (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 d2edf1daed08af4ea45ddd7d1ae79604a7e15d28
Author: Raymond Toy <toy...@gm...>
Date: Tue Nov 18 17:23:27 2025 -0800
Quit if MAXIMA_PREFIX is not defined
When running from maxima-local, the envvar MAXIMA_PREFIX should be
defined. If it's not, print a message and quit. This simplifies the
logic a bit.
diff --git a/src/init-cl.lisp b/src/init-cl.lisp
index 4141978c3..c5ab0a2de 100644
--- a/src/init-cl.lisp
+++ b/src/init-cl.lisp
@@ -329,14 +329,17 @@ maxima [options] --batch-string='batch_answers_from_file:false; ...'
(cond
((maxima-getenv "MAXIMA_LOCAL")
;; We're running maxima-local in the src tree.
- (let ((maxima-dir (if (maxima-getenv "MAXIMA_PREFIX")
- (combine-path (maxima-getenv "MAXIMA_PREFIX") "src")
- (combine-path (maxima-parse-dirstring *autoconf-libdir*)
- *autoconf-package*)))
+ (let ((maxima-dir (maxima-getenv "MAXIMA_PREFIX"))
;; I (rtoy) am lazy. Just use regexp to match
;; "src/binary-foo" which is the directory containing the
;; build using lisp "foo".
(pattern (pregexp:pregexp "src/binary-([^/]+)")))
+ ;; maxima-local MUST define MAXIMA_PREFIX envvar so we know where we are.
+ (unless maxima-dir
+ (format t "Environment variable MAXIMA_PREFIX not defined by maxima-local.~%~
+ Cannot list available versions. Exiting.~%")
+ (bye))
+ (setf maxima-dir (combine-path maxima-dir "src"))
(format t "Available versions:~%")
(dolist (p (directory (concatenate 'string maxima-dir "/*")))
(destructuring-bind (&optional whole-match lisp-name)
commit 7b0ca10415d19903d8e65e88f3293a1ddf38f0bc
Author: Raymond Toy <toy...@gm...>
Date: Tue Nov 18 17:16:13 2025 -0800
Remove old experimental version
This was replaced with the regexp version.
diff --git a/src/init-cl.lisp b/src/init-cl.lisp
index 697348948..4141978c3 100644
--- a/src/init-cl.lisp
+++ b/src/init-cl.lisp
@@ -327,19 +327,6 @@ maxima [options] --batch-string='batch_answers_from_file:false; ...'
(defun list-avail-action ()
(cond
- #+nil
- ((maxima-getenv "MAXIMA_LOCAL")
- ;; We're running maxima-local in the src tree.
- (let ((maxima-dir (if (maxima-getenv "MAXIMA_PREFIX")
- (combine-path (maxima-getenv "MAXIMA_PREFIX") "src")
- (combine-path (maxima-parse-dirstring *autoconf-libdir*)
- *autoconf-package* *autoconf-version*))))
- (dolist (p (directory (concatenate 'string maxima-dir "/*")))
- (let* ((pname (namestring p))
- (binary-dir-posn (search "src/binary-" pname)))
- (when binary-dir-posn
- (let ((name (subseq pname (+ binary-dir-posn 11))))
- (format t "version ~a, lisp ~a~%" *autoconf-version* name)))))))
((maxima-getenv "MAXIMA_LOCAL")
;; We're running maxima-local in the src tree.
(let ((maxima-dir (if (maxima-getenv "MAXIMA_PREFIX")
-----------------------------------------------------------------------
Summary of changes:
src/init-cl.lisp | 24 +++++++-----------------
1 file changed, 7 insertions(+), 17 deletions(-)
hooks/post-receive
--
Maxima CAS
|
|
From: rtoy <rt...@us...> - 2025-11-18 23:37:02
|
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-lisp-list-avail-consistently has been created
at 7f57f45cce15f7fbf3119227a6025845c110ba99 (commit)
- Log -----------------------------------------------------------------
commit 7f57f45cce15f7fbf3119227a6025845c110ba99
Author: Raymond Toy <toy...@gm...>
Date: Tue Nov 18 15:30:48 2025 -0800
Make --list-avail show correct version and be consistent
Currently, "maxima-local --list-avail" would print the version as the
Lisp version of the default lisp. This is not the Maxima version that
would be expected to be printed.
To fix this, modify maxima-local.in to get the version from the
autoconf variable VERSION, which is the Maxima version.
Next, "maxima-local -g --list-avail" would use Lisp to print out the
available lisps, but the paths used don't work for a local build.
Modify maxima-local.ing to define the envvar "MAXIMA_LOCAL" so that
maxima knows that it's being run from the maxima-local script instead
of maxima.
Modify `list-avail-action` to look for this envvar and search for
pathnames of the form "src/binary-*". If we find it, print out the
lisp name along with the version, as done by the script in
maxima-local.
This makes "maxima-local -g --list-avail" produce results that are
consistent with just "maxima-local --list-avail".
diff --git a/maxima-local.in b/maxima-local.in
index 8f8b0b1d3..ceb735c08 100755
--- a/maxima-local.in
+++ b/maxima-local.in
@@ -12,10 +12,14 @@ MAXIMA_OBJDIR="@abs_top_builddir@/binary"
export MAXIMA_OBJDIR
MAXIMA_HTMLDIR=${MAXIMA_DOC_PREFIX}
export MAXIMA_HTMLDIR
+# Tell lisp that we're running maxima-local. Primarily so Lisp can
+# produce the right values with --list-avail. Any value is OK.
+MAXIMA_LOCAL=yes
+export MAXIMA_LOCAL
# report the compiled in Lisp versions
if [ x"$1" = "x--list-avail" ]; then
- V=`./maxima-local --version | sed s/Maxima.//`
+ V="@VERSION@"
echo "Available versions:"
for i in src/binary-* ; do
L=`echo $i | sed s/src.binary-//`
diff --git a/src/init-cl.lisp b/src/init-cl.lisp
index 239ddff77..697348948 100644
--- a/src/init-cl.lisp
+++ b/src/init-cl.lisp
@@ -326,25 +326,61 @@ maxima [options] --batch-string='batch_answers_from_file:false; ...'
(setq *maxima-lang-subdir* nil)))
(defun list-avail-action ()
- (let* ((maxima-verpkglibdir (if (maxima-getenv "MAXIMA-VERPKGLIBDIR")
- (maxima-getenv "MAXIMA-VERPKGLIBDIR")
- (if (maxima-getenv "MAXIMA_PREFIX")
- (combine-path (maxima-getenv "MAXIMA_PREFIX") "lib"
- *autoconf-package* *autoconf-version*)
- (combine-path (maxima-parse-dirstring *autoconf-libdir*)
- *autoconf-package* *autoconf-version*))))
- (len (length maxima-verpkglibdir))
- (lisp-string nil))
- (format t "Available versions:~%")
- (unless (equal (subseq maxima-verpkglibdir (- len 1) len) "/")
- (setf maxima-verpkglibdir (concatenate 'string maxima-verpkglibdir "/")))
- (dolist (version (get-dirs (unix-like-dirname maxima-verpkglibdir)))
- (dolist (lisp (get-dirs version))
- (setf lisp-string (unix-like-basename lisp))
- (when (search "binary-" lisp-string)
- (setf lisp-string (subseq lisp-string (length "binary-") (length lisp-string)))
- (format t "version ~a, lisp ~a~%" (unix-like-basename version) lisp-string))))
- (bye)))
+ (cond
+ #+nil
+ ((maxima-getenv "MAXIMA_LOCAL")
+ ;; We're running maxima-local in the src tree.
+ (let ((maxima-dir (if (maxima-getenv "MAXIMA_PREFIX")
+ (combine-path (maxima-getenv "MAXIMA_PREFIX") "src")
+ (combine-path (maxima-parse-dirstring *autoconf-libdir*)
+ *autoconf-package* *autoconf-version*))))
+ (dolist (p (directory (concatenate 'string maxima-dir "/*")))
+ (let* ((pname (namestring p))
+ (binary-dir-posn (search "src/binary-" pname)))
+ (when binary-dir-posn
+ (let ((name (subseq pname (+ binary-dir-posn 11))))
+ (format t "version ~a, lisp ~a~%" *autoconf-version* name)))))))
+ ((maxima-getenv "MAXIMA_LOCAL")
+ ;; We're running maxima-local in the src tree.
+ (let ((maxima-dir (if (maxima-getenv "MAXIMA_PREFIX")
+ (combine-path (maxima-getenv "MAXIMA_PREFIX") "src")
+ (combine-path (maxima-parse-dirstring *autoconf-libdir*)
+ *autoconf-package*)))
+ ;; I (rtoy) am lazy. Just use regexp to match
+ ;; "src/binary-foo" which is the directory containing the
+ ;; build using lisp "foo".
+ (pattern (pregexp:pregexp "src/binary-([^/]+)")))
+ (format t "Available versions:~%")
+ (dolist (p (directory (concatenate 'string maxima-dir "/*")))
+ (destructuring-bind (&optional whole-match lisp-name)
+ (pregexp:pregexp-match pattern (namestring p))
+ (declare (ignore whole-match))
+ (when lisp-name
+ (format t "version ~a, lisp ~a~%" *autoconf-version* lisp-name))))))
+ (t
+ (let* ((maxima-verpkglibdir (if (maxima-getenv "MAXIMA-VERPKGLIBDIR")
+ (maxima-getenv "MAXIMA-VERPKGLIBDIR")
+ (if (maxima-getenv "MAXIMA_PREFIX")
+ (combine-path (maxima-getenv "MAXIMA_PREFIX") "lib"
+ *autoconf-package* *autoconf-version*)
+ (combine-path (maxima-parse-dirstring *autoconf-libdir*)
+ *autoconf-package* *autoconf-version*))))
+ (len (length maxima-verpkglibdir))
+ (lisp-string nil))
+ (format t "Available versions:~%")
+ (unless (equal (subseq maxima-verpkglibdir (- len 1) len) "/")
+ (setf maxima-verpkglibdir (concatenate 'string maxima-verpkglibdir "/")))
+ (format t "maxima-verpkglibdir = ~A~%" maxima-verpkglibdir)
+ (format t "unix-like-dirname = ~A~%" (unix-like-dirname maxima-verpkglibdir))
+ (format t "get-dirs = ~A~%" (get-dirs (unix-like-dirname maxima-verpkglibdir)))
+ (dolist (version (get-dirs (unix-like-dirname maxima-verpkglibdir)))
+ (format t "version = ~A~%" version)
+ (dolist (lisp (get-dirs version))
+ (setf lisp-string (unix-like-basename lisp))
+ (when (search "binary-" lisp-string)
+ (setf lisp-string (subseq lisp-string (length "binary-") (length lisp-string)))
+ (format t "version ~a, lisp ~a~%" (unix-like-basename version) lisp-string)))))))
+ (bye))
(defvar *maxima-commandline-options* nil
"All of the recognized command line options for maxima")
-----------------------------------------------------------------------
hooks/post-receive
--
Maxima CAS
|
|
From: rtoy <rt...@us...> - 2025-11-18 14:47:06
|
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-def-limit has been updated
via 9da322050d3853031de514aafa1168450aed4c6e (commit)
from 9e12e473e9bac14309c0443bcf3a422539e3dc87 (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 9da322050d3853031de514aafa1168450aed4c6e
Author: Raymond Toy <toy...@gm...>
Date: Tue Nov 18 06:46:03 2025 -0800
Remove extra trailing paren
diff --git a/src/expintegral.lisp b/src/expintegral.lisp
index 45953215b..f9b690413 100644
--- a/src/expintegral.lisp
+++ b/src/expintegral.lisp
@@ -1835,7 +1835,7 @@
((eql z 0) '$minf)
((eq z '$und) (throw 'limit nil))
;; The general simplifier for expintegral_ci handles inputs minf & inf
- (t (simplifier)))))
+ (t (simplifier))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-----------------------------------------------------------------------
Summary of changes:
src/expintegral.lisp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
hooks/post-receive
--
Maxima CAS
|
|
From: rtoy <rt...@us...> - 2025-11-18 00:37:04
|
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-def-limit has been updated
via 9e12e473e9bac14309c0443bcf3a422539e3dc87 (commit)
via 3f014279ab12b8bb23f47c601eb964e659cd7b99 (commit)
via 4155f26fb89b8cafb17219bf0a0f293ad59013cd (commit)
via 507573f3e72941a30a57479aa09ccfa96bb4e9cc (commit)
via f65e0372ac322f19403b4cd50acbcac12bb87c45 (commit)
via 7fcb2f6d11a9e127a3d800a4626f97b952f52608 (commit)
via 04914fc8c586cbe7ec70b051a1b8a8c22b53785f (commit)
via 21129a54b2f7528bc92dece6f3587ad3eacea8d6 (commit)
via 109691dee8826b5c379e7ee47e0d09b02a067e1c (commit)
via 0bd8cc08a658e7728163d870e154a2770947c2d3 (commit)
via 69160508680b6d0c7bfd447756db87a31f02d2ae (commit)
via 4b61f10918848d94634c29d77eee7a4da206f961 (commit)
via 694baf83941e1aa872720b2a36907607b36ec232 (commit)
via c8cb782bf924da9af97bea53d19ac34b62918bca (commit)
via 0e5915d5b448cee578b9eedf2277c6970df3a61b (commit)
via d9dcda4070b3e0c483310a8edaf21e600b1dccdf (commit)
via 3fb24ffd1a7183c4805c7d03917b7d9c9d47042f (commit)
via 76ffb7905c9ef4053ad25f068ca5d87f02d61c55 (commit)
via 6b7c453050708f1600596d66328e16d5a89f47d1 (commit)
via 8d99ce03ad4dde4ae1c5e98364e2edd934cc03f1 (commit)
via 7b4522e3099553f93aed876457a28278189e48a0 (commit)
via 0c11d969bc6cb7b75d4103eab13d5ce72edcdc1b (commit)
via faefbec96674afb917063869972bcadf97972356 (commit)
via 71c0c338348f5497d65bc98185753f17737cc2a0 (commit)
via 19e93850682698d299ea8cbf4b8b07ca6777f384 (commit)
via 785ac240d1e42ff9d232ac08ce4c41c44b822909 (commit)
via 9db84f35ac78eb1076c2349ee10db398bd600f40 (commit)
via 19170d7453e76e933a7c1772725dfa966ccd7b55 (commit)
via 906257c53f595541f46b847feed9e848ca4983de (commit)
via 76f95cbc5c96ea55c888160279305b4e41d37e4d (commit)
via a664af9d132de5bff44b7214484e436aa3748965 (commit)
via 953a6d0f5e6578db6a8545a59d4f5bd5855fade3 (commit)
via 3c982e965ad9f46be50851a503f3cf87d02a1e1c (commit)
via 166d0fa124fe2caceae15ada5a0a9eebf16fd3ef (commit)
via e345492aaf713cfc36a4d18f543ea97cb9df351e (commit)
via a8f72644d12c50ca1e776f9b8718e73028f72265 (commit)
via 723cee3e66437d09f8c44b077d870255dab2f82f (commit)
via f3570d992dc1f41a2c1feb787f6fcadd1300420c (commit)
via 13a361aa8a189513e53b40eb852e94892d0c36d1 (commit)
via 5ab1425e6e09243e7cc88ae2f71f1a5d7a91e932 (commit)
via fd7d97afba64309e241610a5a71d959954d074f8 (commit)
via 14383aac40ab656ccfb15f9dcaf8c649608b9764 (commit)
via 10dfc99badd5f086069079e8bc8f4172ec17657e (commit)
via 0e6a88b52faee675fdee4c2b2a698677946245cd (commit)
via d3250f3d1c1168ec826cbfd886f967ce789ceb64 (commit)
via 2af166fef916d440dbdc24eebea1d33d685c42e5 (commit)
via eb00d13582520edbf58aed89d2d4d7aeb9217236 (commit)
via 50a7d7ca816b6547b873db940f34a9ced2dced43 (commit)
via 66001dab3be0640192eb470ace3f304536380c65 (commit)
via 9b17dd530c6b371a6ca94d1d9648d3fed1e347f8 (commit)
via 9eb0dcdddbadb95590dc200c1ddd33992ef28aa4 (commit)
via e8eaabacc55cb2f7a8bfc2fb9320b752e94f168a (commit)
via 7bea89b3f84f87adf76cdc7c21a5770e0afec20f (commit)
via 99a82633cbfdf84489a1d02ee55045f527361c29 (commit)
via 18eec5aa0ba897844f4136d32b18161413457d13 (commit)
via a1f3142a29d967cc52ed5e08284118b43c3ec34c (commit)
via d00e008a586c58f5b0dfbf7694f031ba53462a19 (commit)
via 5f931d9be7f7f34a9526feee56f3eeb86fac0bf8 (commit)
via b0da0ff57d68586c02e281ea1fbc16f8d6e46e87 (commit)
via 662f988ac60c5f544ae94e994d29f8d9feff40f1 (commit)
via cdb028fc6bf2a4a644292b9958c214bb9747332b (commit)
via 7536938aff33274ea38243217b62a73d498183a1 (commit)
via 3167c4754a0dc58a98301686698246c481a28757 (commit)
via f450059a112c34cf8c110a96584392f93c50ec3a (commit)
via d8a058f9806ffafb1e8f59e439c82a85b607b1a1 (commit)
via d974c31ece4986086fdf6ccbd60cdad160be139e (commit)
via f17a1020bddf14d8ef983dfac36fc9e2d7f9ed08 (commit)
via bedbea55d4c78181c67a15c99496c70c536ec7c4 (commit)
via 638aa82fc250aea133ce79ac87e8a1efa9f79fab (commit)
via 6d08651cb3ab5fd28c2760b6f339a35c643b8320 (commit)
via a9566ae56b1ad08506f38bc6c06e4380dbd1773c (commit)
via 0f64482b64e36b3f06c2d506af664907c1fee745 (commit)
via e69e26d612924d67caecee2e33572217a4b88ba7 (commit)
via 3c5e3255a9be6a84aaeaeb779bbb2e83809f46c3 (commit)
via ad20828202ad9d17fb38be8a49ab60aca06babd3 (commit)
via b9fd9df7cad15c2daca354b15edc6da5645ba974 (commit)
via c6fe5d3c4b717c8cd4182031be07765f52e0c362 (commit)
via 27ef93244086bb59589d2e1e624ce5a96309e4bc (commit)
via ecf6621191402edd31bc4cf2e9576d846249308c (commit)
via b3f5ec1f89b13a91e367aaa317f0ca2d287456e9 (commit)
via 09d6fb745edb9296c6c59e12a3d273eadcb6df1e (commit)
via 7d78aa96b227bdd2e6526566e8e6c53c6a6bbdc1 (commit)
via 3a9a37f764757dddbc0028f6abde43631f80be9e (commit)
via 0f29b7f5a0ae8eda3bbf81b882e1dbad793aa6e2 (commit)
via db363e9acd3412d1e0bd1f8e2f04fa1f1fd3d886 (commit)
via 9ab39fcc3b33194ee7e818e65877337cd8c4a9f4 (commit)
via e93381d18333625d565408939cf54a709973166b (commit)
via 066bd4ad705cf0cd2557d9149bbbfc292f3330d8 (commit)
via 5d25a7ff85f81f4a4014341aa8bd2cc006eff666 (commit)
via 1d2475070c8162d444ebba633bcf90db07023a70 (commit)
via e80b340145db2c0bc66579c385b42e705a106afe (commit)
via 428d4eb325e23eb4f70e974e2af19fd07214cdf1 (commit)
via 13f0dd47c1be13020c7c4145b5158b37481810ae (commit)
via a432b864aaf9d7f60af4be10ae67235b739e88b1 (commit)
via 75f7ba5205921ccf11d6dce83148934b69f8b4e3 (commit)
via 4f1f500052144c095d6fe059f71af157bdd31d85 (commit)
via 7b335132eb275361f2613e28a19c9dc11f2e1bb1 (commit)
via 25ecbac0d49fa658dbbdb1f84dc8f440f92a1155 (commit)
via f053771ccddf36028086b97bdb8cf7bc51135c39 (commit)
via 8a86e987d94ae36964c6a53b8c0ba0c325a9a3df (commit)
via bd0858ca56a4e673b71810895d5e47e947d973a8 (commit)
via 89900e3bb4fe2c81712c3fb3d6601d98887291ec (commit)
via a00a9d06b5812505b42ed93f3f6126839c07d411 (commit)
via 348231510534ebc4e78319a0642162dbd313d3ee (commit)
via 3fdfcfd0563524a67e363d76bcad56b82b44d9d7 (commit)
via 857db113bba92dee7754a4026d3e857ac7324e72 (commit)
via ffd525682aa10ed68b072c21f558b0d519ff9740 (commit)
via 9e04c6b75b7efd03f261f2073f6b31759d15dbe7 (commit)
via 7539fc26a61998da84df7a035e23cb14cdce303c (commit)
via 5864fef76066da18b2784bc82d98487b9d6a98b3 (commit)
via 37a3429614bd68b5faaa99f7b9b24828501de5d2 (commit)
via b9389997f2428d79151e6e8e0aacc39d9e01905d (commit)
via c28dd2bb70e067033a4b6d78b15fcda0c6a271f8 (commit)
via 776e8a93df620e484eba4e1b26334dad80f9a046 (commit)
via 4218874e4110454c2d89511a07c87ad053916e02 (commit)
via 86cc6f0b231464539d90da53da6fcef2f426649b (commit)
via 4dadf6e1f5e68449e071a2343a16b460538fad28 (commit)
via 0833458773fe61c62592d24b349b6508c9654b85 (commit)
via fbcd9cf93bb1d6a26f43ff368485323f71f08e85 (commit)
via 50bf73296fa3a162eb75b79be579c674001c1b62 (commit)
via cff0f2828df53f3877d3f3c7484eb7f8ef46023e (commit)
via 9f3b597d670519c7b9f76dfd00f07e88923fc342 (commit)
via 31bfeceb362ad0ca310c916e5149244c9178d0b2 (commit)
via 41b3a32aafda2396e017939295983d7cf7810472 (commit)
via 8b855d95ab9ccf8c03ab1ad5789286ff45b735e8 (commit)
via b71f4cabaac0f0aad2a09478a5d87ef0f6198da4 (commit)
via 0c83035053ad2f75160b38263a108b34db464613 (commit)
via 8a872710195853ff5f153fb7d8f412581170d395 (commit)
via 1a1a308b448e8d27064c149770ff66394fcee53a (commit)
via a9dfa27159f4bcb9e4aa04e6e53557fb53bb83f6 (commit)
via d0a6c82f5a9a09f6e50f3f02b2c3418923d12b29 (commit)
via 135296da4023172214503085e5ded6aee9e6e88c (commit)
via d7fd3e865cf14bc4a7f1e8c8262860f333d5d4fe (commit)
via 7bf10dbd1da2d2fd5b7327d60e0f290ceb19af06 (commit)
via f39e982fd144f806d198a4f9e9243706910c5f43 (commit)
via c9c414493e9fc62583522000191faacd2bdb9b79 (commit)
via 5cf35de5f76e1943c1d22a6dd28a3fedcbdd4143 (commit)
via ef8ec91fc9e85166c16d73181a4e1b292b3b2fe8 (commit)
via 79762b2b9d798e4112b2c8abae367b97d4f513ce (commit)
via 572506ce5236e5d480c3a4fce41373f4876aec42 (commit)
via bae8681eb1a1c41df5f098010e5533b3cc77d842 (commit)
via 5a10e6ea42ca1dc5bdb75c3eaaa756da85a1cd8b (commit)
via 4cce12760c05f1c760142756ee96cbc580503a35 (commit)
via 5e5664b33179e3a6362a0eb56d3311a910df39d5 (commit)
via a057ba96e011494ebc2f69945b964a8430d51a1f (commit)
via 6c2a3dbcdd2cd5193142120fda5b501ae568662a (commit)
via d22405ccc6a173cb6945c20ede2e8d1d2d53d3bc (commit)
via 4f993c18acd7cc56fabf642b3b483cf2d037769d (commit)
via a74470538d749543bb0fa4236c74322bf3625222 (commit)
via 759268ff62e7bd984d30cf93db418090be3e8858 (commit)
via 0f4c0d819f1ce0967bb93454f4796ff0eb9a51ab (commit)
via 9eab7007f9d2d2574e3ef553b0444cafbc317b99 (commit)
via 32fb421f17e44ac1e843e799b76a2ca872098c89 (commit)
via d7b969c541d34b7d61dc37a7e8b8b359ee166210 (commit)
via 7752b5fe21f5247a05cfcf636b1db89831fb663a (commit)
via 09916223147a68dfb23d99bdbc037717d6c03269 (commit)
via 978bb523289cb6da5e494da2e3697b27df684019 (commit)
via 452300729eafe1ee0ab4ee7ea4ecdb9882380967 (commit)
via e0d26227f1a2dc1b800a2636e5bed6689dc87023 (commit)
via 69eaee226c4a66210c5680b6a97c55ef0035f4f7 (commit)
via fc85adb9a192bbd88269a695efd1df4136b94dc6 (commit)
via 6353d6f79bd54696da9072bd166ec83992392d03 (commit)
via 73b8130090553a09c29f11f7d04452c38e73e763 (commit)
via bee286fe9e5b1cc8c6b99b9037ab1050364bd2b7 (commit)
via c93b81f6fa931e2ce811c876ebe5287f8ad116d6 (commit)
via a50513aa4343ded8d36d12f16373304010b8d8a5 (commit)
via d87816d205054b62dfa566c4950029bb6a182117 (commit)
via c1a14751e15eef5e5267ab23210cbb6f5cd8a047 (commit)
via d3ad02dd11f37dabe40b414df62d5a60214c2959 (commit)
via e9d6f170cdb98656288306ff539f46e40ecfa9dc (commit)
via 02647d1aa3b7fb0617790eff5f30f96f514fb52f (commit)
via db31e867f01271a6b98129203adb9630e3c4e5a0 (commit)
via 573cb0e234adff5291c5bdf1a82808f601ee2396 (commit)
via ba77ba38016dc94e10d1d2102a9b67302ca7b8f4 (commit)
via e8720d15b1ef1dca39d6abe61c7cd7f33555da43 (commit)
via c02eb9c3db662e637cb5fe8c2fbba0f796025d42 (commit)
via 8b7768a9fa06c392e33165f4a0fc59642d87662a (commit)
via d601b83ead2a673a754467893c42016da316f1a0 (commit)
via c80a0a228fdc435dfb64476c0710a6344a0ce430 (commit)
via 6466d800d08b62a492725b5aacc48fcc7dbe7ede (commit)
via 8e5b42f0bc211c6fbb088214b6406464fe3346d2 (commit)
via 327e910b84002d70d46c4f6ef2c4252d1b89f59c (commit)
via e6711073200495b969413b371889fb67bed8c007 (commit)
via cea93eb38e42058a968f849fc287eff469179e97 (commit)
via 68d0a0a417b2a22e1634eb937a880e802ea67e78 (commit)
via d5bc8c6a2c5aa13be4a719ae3feddb8503d6eff1 (commit)
via e05a73ff8a120b30e5ecf3942269031457101d5a (commit)
via 7ee83eef3638fefb031d3c02b78dc948e0cb8596 (commit)
via 03561ed63dbb385bf4f18346aa1e45cdd97f6a52 (commit)
via 53c4c7ed422e2d838cc47c572102ec440c15fb3c (commit)
via 5aec2e14c569ea90802dac67bc761794f54b8eb2 (commit)
via b7fcc23c83a5a9bbe3aef4832dca430106666672 (commit)
via 3e7e60e553e43eab250dfcd7774c921be569e6b3 (commit)
via 68d19366df69f5d4d9b433068fa7b1a5697562bf (commit)
via c7edb3092b9a94c84c63471461883ad6b64f1a7b (commit)
via ee72b20dc29abd2be730422750ebd8bab8d894bf (commit)
via 3ef6f32ec01a4e416d2740c48847de00f72487aa (commit)
via 295d924fc9106ecf2aba72150e1f35cfede8804f (commit)
via 95553106c2b2a6153d23776f586dadc3abad5c1d (commit)
via 4e6683569ba7dc7f852118ff3c60b6e151c83a3a (commit)
via 08f185dde0568bd7925cf10c3d0a86702d6f9f22 (commit)
via 272d35137bbf5993030a4eb1c0f27d6c7e78e256 (commit)
via bff16f2f4d3f77789a771bfb0b4b4e12d6cd22c6 (commit)
via 02cdcf240a0b20eae6634964e4cf4f785fcdd4b5 (commit)
via 51ed05c70394575c7052945f64915e1ba67a9f8b (commit)
via cafa88f2556e927bfc0e2f318f335349c8e571f7 (commit)
via 6b4b468cac193d2448a46b112e787c977f4a3227 (commit)
via f433ff5427e44f253fb0cb51da9de7d17b61b760 (commit)
via c32b6d1c4720f052af7d30e78fb7c5eae6d75ee6 (commit)
via 216f78d5e85050541f9d6201e64aa6a9d81d8540 (commit)
via e10c78741a110e9652a8006dd85b545a6cc78929 (commit)
via 02a518774841c893de33e913b5e685aa965f5b0a (commit)
via 46a4194b9052bbe38ba4a9176e161f49b3c48777 (commit)
via 72f5b47f38465515b857a794fcce4e32baaf3ed0 (commit)
via 01d3f5f9e304284413dabbf0e9f234f99b55a56b (commit)
via edc2c53b12857d4479b3d07c93a36f9cfd3ef567 (commit)
via 5a59cbd22aef09742256ca0d1cbf8f2dfdf7a02f (commit)
via 52630395e36edbba760afff6396da671b73132e4 (commit)
via d614552b9aa0250f4a624ddc8c33673f6c12cdcd (commit)
via 3865b325cee6ee87d94b98d5faf947049982b15e (commit)
via f4e46eba7ff2e89e532f7ca0cc47b25eaa594f1d (commit)
via 4c8187e5e6f6a5743f4f484717289852b3f9af09 (commit)
via 24b2d30fe6e752a863c78cf0d669faefe40e9b74 (commit)
via fdf8b514fd1f5858dc00ba1550b1a4b3856ac037 (commit)
via 286103f0df8f9b5ca0d0a1f22eaf7254b6305e2d (commit)
via 758016a28cb3eb32cb29c5f12d7876bd1db479dd (commit)
via d75fb58de80407a2ecf4987566f531756470b310 (commit)
via 240b4bbf8dfa754d71b1b9ab5aeed521bd25a712 (commit)
via 2f858e1f7c5a612122f03b139d43bee5a9b673d0 (commit)
via 923ea9a89d2aacb65ffc58d6bd41f2a4c9634571 (commit)
via 5bd32861611a2ac451fbee6429fb539c5f97effd (commit)
via e766f09c5c0ebb6ad6d0e38ecb6d2fafd2ade3fe (commit)
via 59d993be7be896cbd1d3dc355aef8a91c537bcda (commit)
via 8bf67729874e5e8fa85d8748a00304d106fbc414 (commit)
via 523b4ca0352b80f5b1e0deabfb59f78d6e51fe60 (commit)
via f05d717bff8c0254a3d66d18d85e236111534fb7 (commit)
via 9519ab0ecef3aa400f3835e1423dd2d31ce07b42 (commit)
via e7ab454db65fcdf43442ac429541a6bc41d49fd6 (commit)
via fb9b3de5da7ef36d0db621c2ca524585e0ab054b (commit)
via 4006dcfd532428fa8a9e0eff00f842216ba8e057 (commit)
via 350f069f401a51846a352127a6fa316e544f2b94 (commit)
via 0180fc0c55b281acb60795e458e3f3ebdf74a1b6 (commit)
via da462c342d571c44ed5f81fe2b0086a067c238c9 (commit)
via d3bd2bc5556ddb8e33aa708af0afc0602eca750e (commit)
via 7045578f63bd7247741c394dc944d1a3520348ca (commit)
via d438976270b60a490b9c8e1e9c03df329ca12b96 (commit)
via d83fe1095a3bed50ea50c45a68639bd1b2e3e058 (commit)
via 85d415a9e2b1a1c39d99ef36a9ff8e56cbcab3e2 (commit)
via 44ba34118b9fadf1219cd9ae63b4374b7fe5e73f (commit)
via 2230a64cf3580b8dfbe06ee8e34558828913aa5b (commit)
via bf1777da841a1e7f7f2a2d0a521f1da4a58ee914 (commit)
via 524b800a64d7198d4313406522c9c9b5c61c18f2 (commit)
via ad679f91c9526dd393b00b4c78f48c40cbf012dc (commit)
via 425f9d985c7697f8442f9ac0ad0646625ba516c8 (commit)
via 382754da8fe63c69efdb946be149abde1c55b375 (commit)
via 5bb96cd57fe1fa81b8ad3369ef3bf111b713e047 (commit)
via 812e8fa399a1880d05d38fc744c89b37e2a4243b (commit)
via 8b7d7bc20d488d31adea089faa3b8a6d4f43b199 (commit)
via 6a2682517c8f03754467bd31b46d7c4c2d930a5a (commit)
via d61fcc685519ea58fedf94930465b03044c731fc (commit)
via cdbf724e61adbe38d036f5418e63a4d559479722 (commit)
via 654405cbf80b6f513e2e134d8828cafa4089fdae (commit)
via bfd13aa90093452bec0bc99d8ec79da46809f476 (commit)
via bb223a38f027588dbef73a284c9c0c8ddc55ed81 (commit)
via e539907e87bc7cf19dd26f6ff02e687c83b10622 (commit)
via 6406c6e404c37a755990e13dbdb3170f0296d3ba (commit)
via 6a9d5e026294ab9fd22030b5fa06a5e9f650f0b8 (commit)
via b5fcab0c9ab413066f3d957efd912a6fa04b2c24 (commit)
via fd7164415fa0e70264ff28c6e390abbe88920bcc (commit)
via e03ffd8534b1f72febbe3ac728db3b04e6e9795c (commit)
via fbaf77047459fdef606dee8207aefc8b6c380310 (commit)
via 38931247b0203d86b8d6c8a67bcdd0d411baa849 (commit)
via d29d833c6634f8466ee34b08810aa96ed8a1162c (commit)
via c9bcd01d5d3478f43a1ffae4ea56478eb87be50d (commit)
via 6388b6722e12f8e02262f0aa1db0e4d06f4a14cf (commit)
via 0b9385d698a1338acf29003f43dfa44ca2aab35d (commit)
via fb476f3c4e1185443e75afade48a4b300718a6d3 (commit)
via 1a32de57ea857eb141a891ec1dc506f6c6ac1eda (commit)
via 95628164e3164c97ca910a809763d548d8ec1d2f (commit)
via ddd06013fb9e01eb72a5b5f4d837eeeac961306c (commit)
via a3ba330e0e87342416650e20052786b3138b9ab9 (commit)
via d6044a58a1104db6babd7d2bb9e49b5c5ed674a9 (commit)
via b324f41bec9a478ff2294220274378e5334a84e1 (commit)
via cf36bde6eeec7d8ce586bab5dc51f3caea0e42c3 (commit)
via bc7f33f1ec56a334cf238a7276f8f61d9e052508 (commit)
via 253a9581aa0fae31ba113d1ff0bc2af149b93009 (commit)
via 1ba3ab1ff56ad80cbb0907dbab33554acf0ad595 (commit)
via d7e8c9e09f6807e44cf68a3d70afd127308b812c (commit)
via 94fb643618d5081abf207c85d7da4ed41243d8da (commit)
via 2f51bf5ccf1ac4025874f99022869f8ea06d7d03 (commit)
via e276b59b4a941c0a475662e01a5a9bf432ec0693 (commit)
via 23f86438017de804ad43ec25d3be2c59bc26e462 (commit)
via c5c490ba9ce3b53a9bcb5628b3a9520579556eb7 (commit)
via 012130bcf851bf470d7325264f36299ca7778f05 (commit)
via edc596a2bde2b40e60383d195d03970f412ac019 (commit)
via 1aea5f0a9d75cdc78199a8ba66627e972c3f6d4d (commit)
via b5cf06fe80dc22e091d6fd95b3eee872914a6217 (commit)
via bb950776daad12ffc0c9d2d915a7567d640ba1ca (commit)
via a1a98c23f745fb050a57967ddd744c443f6dda00 (commit)
via 4f56d6a75437353abfdc7a797b1ab8a824894ae5 (commit)
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)
via 8476bb548e40b0e6692d40f653f726c3f9ecddc5 (commit)
via 9a567e3a5fab8a4bafc9f5564bf7f9c6f37b96ba (commit)
via 05a1f159d272b9d090eb1f103c3acf5dc13d534a (commit)
via 8ab8b2f211585d2b3fddee0338890df91ef96037 (commit)
via 93335e2d0ced9f1a89b32c4ba8eb5b27078e3465 (commit)
via 62ea699b0d6585282c6500633383dfa972ca01b8 (commit)
via 29d797dca29261541b257421feeffc67594cb566 (commit)
via 3fc4499741c57e99ea84f7859e15623ecbee0de2 (commit)
via 645da2cbdd06e09349764ccf4bfbede11f356062 (commit)
via 7134edc86372205561f116098fa9f147554f11de (commit)
via 99f5949a8431cc1aa66b7773bfbcc2de3e4d3501 (commit)
via bdb8fbc508d9979a6c44610b1768bfdbec61994b (commit)
via 4782b55ba73fe62a2d7f8321e565d8d7dc692940 (commit)
via fbbc0c6edc6595bda9003acf4d282e35468e3943 (commit)
via 2ee6475ac61127e7902b612bfc2522509c23d213 (commit)
via ffbc486295218b3967051dc70ce3954f2f14a63b (commit)
via efb6b6fb06784805b0a7e7d9e706840f50e88d22 (commit)
via a47f86aa2cf9a1456470548d46cdc085755966db (commit)
via 52b823ff08c59e4bfc4cac15783a5a25314fd7d9 (commit)
via 256ae17016e6a4385c56955895f81af46ee318e7 (commit)
via d65be2ef08d7276bdfa801f69b47c0ab4cdeb392 (commit)
via 7ea11a02b48c89fa927f0d0e24424f3dc20522fa (commit)
via 66be5c25aef6afab087940b0e38f976f8e365bf8 (commit)
via 879078b0aee5ec8b66c94ee07e8652f9069ea7e8 (commit)
via d655f5c48c2cc006e90be5f22748eaaae9fcc087 (commit)
via b3521ac4aadddf5c5ddce7b774e91e887be96f64 (commit)
via 6241391509def98d27dc1675e0a9128c36c0cb5e (commit)
via f0b966afd21327b1612ed87d4307b8217d40c635 (commit)
via b3407c7f739d15758bc7c2ef6b3c96cf2356afdd (commit)
via 70c7f9ed5b8c984f09b5ce473b2136a1cef21aca (commit)
via 47134c254aee62f831ab8870b89cf8f5cfa09bfe (commit)
via 9f1e8787040352fab8da1ea18e0c121a5f895a65 (commit)
via 9230a1da6e15d34d5a2c270520401f61a34ad622 (commit)
via e5f4ddb63cdc7c98f4662dc30efa7f9cd019c9d6 (commit)
via 0f2c90f71f0804f78c1e2b684120822ade8cc00f (commit)
via b69d204cab6d01ca4174efbb066397f3b0284735 (commit)
via 86ea489e798c7c85b1e4459061e69e53e32f907e (commit)
via 5c5a78de4d6fc6b4af696e53d097995cd0bab976 (commit)
via ff645313b06d0556797ffd1b21988e0dc12d8a81 (commit)
via 314c889bd4bb5a4448f1c7280fb74aa0dcc57edc (commit)
via 28dc278db200b831b594f14ea8d8632f96e4dd8a (commit)
via b0daf1ae015e762f672889899d3be138a54b2e23 (commit)
via cd2ccb9cb26211e4039a798e355edc412a4f9f05 (commit)
via df317e143477d6b3d15c3b65bc35d0c9edfee721 (commit)
via da387dcc4bb6809cee5272c92e16e59bf82a9ce3 (commit)
via ff0562bac040532d91dd2718737df1bcbe9afbfa (commit)
via a60381b421ecd73f92e0dfa479ad6cda89920ff5 (commit)
via 05575aa16581c5cb5a1b9d26f72c773ed4697d5f (commit)
via e81022af3b61ee1e2c13cc9644454cd8f6101e9d (commit)
via 8b86a23f45b6b39f444241ab348fa252242c977f (commit)
via e17b7d6711075bc0612eff4b1bf487c2d491b004 (commit)
via 57f8ab626153fb8680d70f34f8f71dc4028d1f0c (commit)
via d0f34c24284250683e99deb7f19a9f762c339da0 (commit)
via fbab82994a7f1c031d89e5b0ce61dd2838e61c93 (commit)
via 173299f979e3e1a09f5514467c01f7034e4b569c (commit)
via 0fd8dc18fb7fe5f643a9233b168d29c084561cc8 (commit)
via 4d7cdd41fce0090345a3e788c9897006f6cf2ebb (commit)
via 823cf6fc0e99b8507d959b0f22a7d611d89d4760 (commit)
via dd5fa4792c7ff33a67a278299e0e1e7a9bf39cb8 (commit)
via ac2b9a90bf0d0dd694542be610fd504d0ebbbb2b (commit)
via e9c47a2707f1d7f40902f8beb6fc04071b3da084 (commit)
via e3709a0775c9df130c17ad7be18f7c6c0f3bc2ce (commit)
via 4fa4a0208532ba74a9aa26c6ed7c42b9b74e5f7f (commit)
via bbbc9f7d15df12806038d36f6b899006262c3e21 (commit)
via 2d92a1f7330d16f19234da87a42dc92310d1c9db (commit)
via f3f2a316f3d18706dff32d59e719ce004987ae1f (commit)
via 8b842a76c5604deb38010951b63e81f282e33564 (commit)
via c2af73b48395838fefdde24abc2f5cd619cc3f75 (commit)
via 63a1b46d6ed4f93bdd27783f68ddf8b611dfd03f (commit)
via b05e4e252bdb6dd0ec75757fc5eb3f3c45ee01a7 (commit)
via 20b2eb160ecc9acc6fe33e0906da211483071b4d (commit)
via f95ef05567747ee9ff893d0754269ec989d92275 (commit)
via 125c559587aec8664c293de7a26c44e5ef522d5e (commit)
via 47013f2e05a77df2d6eb6fdc863d229b5c360490 (commit)
via 8a8e53dc9d4d04a6655b24fa643b6624f53af70f (commit)
via 227e9959e912c24c22f21e60572784698e4a5320 (commit)
via 46a07fea890b109e8e7bf297d282557f48049568 (commit)
via 9f31a3252b6c8324471273296ff741274e9f6a84 (commit)
via 7c8687329628602607be67e89c983928605f59cb (commit)
via 5562a97458d52617461893acceb9b9bac44734c8 (commit)
via d342e4e731f2a7e2847cbdcc056be6958c4e7c89 (commit)
via 4dd0b152ce832324eec131763ae1395051b67a4f (commit)
via 57540dbe266130fe8337d16f272971f475655417 (commit)
via e6963cc5bbf1a8f07c59fa65c4ee25974d0976ae (commit)
via 0d115f01e3b711f08eed2ca94b08c74432a9a557 (commit)
via 2fdccee439f8ae853db9a7b0a6414c2d0c15515e (commit)
via 15e6d9a704f802df555caa660a74d9e1edb97283 (commit)
via 1e18522f8f4cde641e718c46d4e535e4a448f908 (commit)
via 6def0f758bcce094ce99e69c89c7733b63d7a27a (commit)
via ed32c74c2bfce7d998728834702e5e38694061ca (commit)
via 43c002197a2fa6bd160af5fed49bf67d25f11c5c (commit)
via 9ae22625e25a062610f33b066b59947ab4d8f4a2 (commit)
via 13b02883f41ff578053908492ab22c5c227d0540 (commit)
via ee654f6918500c1a7711c128dd2300939e2b8448 (commit)
via d855f209d481d3e6bfcc54489cc0612a92e4986c (commit)
via 6a340e45c42ee66936435bccdb56ded060887633 (commit)
via 9bdbca4e0e3e6417efcca63254c6a1095ce26bcd (commit)
via ab4431ba9892d31fe1b8ae6d451f58e886a4cd18 (commit)
via 73edee8ff7df8b7396bbd5e9a180e1f6f77f494d (commit)
via 50f91100be93895ccab06916b42d718cdd8cdb72 (commit)
via e950568675296c14c94188db888e81deda00ba5e (commit)
via d2a885cc420cc7ce7797df418156911a30246a1b (commit)
via c61866b5cc2565cfd322f43c1a75c8af8d515711 (commit)
via febf6443854d9cc3eca200ea9dcbcea23ab78d8c (commit)
via 8cbc7dc8448dfdbe8611d7400d251d398cf80e2e (commit)
via ed5a9c724b638470e37d8ffc3503bc077eb67696 (commit)
via bc67db328d1815b8db7e77fdecdb604241e17a8b (commit)
via 2bbcb3339139975a15291b090e32e115c63e23e5 (commit)
via 04c6cda697c4b09e883106447a2492f58e5910b2 (commit)
via a0845c4509c8e608dd6d356473797cf856891ecd (commit)
via 6a25b586e66e15ac7ffa9a154736ea721e8ffbf7 (commit)
via 17116c497c73e8475666814642109cd7df4e2e38 (commit)
via 9018b7a64eabfc94f2e30eb03a5d46774e5c90f8 (commit)
via da744d5560c7e8280ab80c311519d7e69d465157 (commit)
via d24cf86a3e36d74e5cfaccc0e952cb52acc7c689 (commit)
via 6970704171c7187e3b99ecd21588caa18add235e (commit)
via 1bbf022289368a6527be27517a9e7febb1fd1c9a (commit)
via 1cf768a25a027519cfe7a8cc5679be949e195e8b (commit)
via 558d2c5b7e041235aaeeb039aaf831d617313bc9 (commit)
via 87eaaeaaf5bea645e926e61a9c1bee9fa3ca34eb (commit)
via cc2fe51ff13d55367036b9725a9ebfb42b76d4fd (commit)
via 46fb6d6cbb1213f0d38d7b3e98413ba65c0a46e2 (commit)
via c001f98eb20889744d1bbc844701770e62571142 (commit)
via 38e8377d0d33fdf90f3e70a65540c4d26fd424c3 (commit)
via 975acad2e42a427de1ad4c14646696bc629c6819 (commit)
via a9384bcfa050a3dab4d707f7cb525aaef9a82107 (commit)
via ff70112a53705714725b39f17e84987c4e34a475 (commit)
via 5c09b7b3dd3c44196419fb4523200ac0f4d4a02f (commit)
via 2f02e917a0d72b5aeb7c775d604b1ba68a0c528a (commit)
via fa75b9f9392d3202d027b326af8929f6c3578c63 (commit)
via dbc27c11048b3f237dd07f2856b372509f342373 (commit)
via 644f6428fb1a902083af99917566c2246b748ef1 (commit)
via c65f6af2ee07435caa4f17d820a76ca401e41ea0 (commit)
via 5066cda1e527a012584458a8573a3c6e3893a5fb (commit)
from 3d6e3e13e89bc9cbe1a6484def2fcd4ece07bfe3 (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 9e12e473e9bac14309c0443bcf3a422539e3dc87
Merge: 3d6e3e13e 3f014279a
Author: Raymond Toy <toy...@gm...>
Date: Mon Nov 17 16:36:20 2025 -0800
Merge branch 'master' into rtoy-def-limit
diff --cc src/defmfun-check.lisp
index dbfb4ddc8,6a3e52af4..48c585773
--- a/src/defmfun-check.lisp
+++ b/src/defmfun-check.lisp
@@@ -834,84 -875,43 +875,124 @@@
pretty-name
required-arg-count arg-count `((mlist) ,@args))))))
-
+ ;;; ----------------------------------------------------------------------------
+ ;;; Utilities for argument error checking
+ ;;; ----------------------------------------------------------------------------
+
+ ;; WNA-ERR: Wrong Number of Arguments error
+ ;;
+ ;; If REQUIRED-ARG-COUNT is non-NIL, then we check that EXPR has the
+ ;; correct number of arguments. A informative error message is shown
+ ;; if the number of arguments is not given.
+ ;;
+ ;; Otherwise, EXPR must be a symbol and a generic message is printed.
+ ;; (This is for backward compatibility for existing uses of WNA-ERR.)
+ (defun wna-err (exprs &optional required-arg-count (pretty-name (caar exprs)))
+ (if required-arg-count
+ (let ((op pretty-name)
+ (actual-count (length (rest exprs))))
+ (merror (intl:gettext "~M: expected exactly ~M arguments but got ~M: ~M")
+ op required-arg-count actual-count (list* '(mlist) (rest exprs))))
+ (merror (intl:gettext "~:@M: wrong number of arguments.")
+ exprs)))
+
+ (defun improper-arg-err (exp fn)
+ (merror (intl:gettext "~:M: improper argument: ~M") fn exp))
+
+ ;; These check for the correct number of operands within Macsyma expressions,
+ ;; not arguments in a procedure call as the name may imply.
+
+ (declaim (inline arg-count-check))
+ (defun arg-count-check (required-arg-count expr &optional (pretty-name (caar expr)))
+ (unless (= required-arg-count (length (rest expr)))
+ (wna-err expr required-arg-count pretty-name)))
+
+ (declaim (inline oneargcheck))
+ (defun oneargcheck (expr)
+ (arg-count-check 1 expr))
+
+ (declaim (inline twoargcheck))
+ (defun twoargcheck (expr)
+ (arg-count-check 2 expr))
+
+;; DEF-SIMPLIMIT
+;; Defines a limit function for a Maxima function whose name is
+;; BASE-NAME that can be used as a `simplim%fun`
+;;
+;; The base name can be a symbol or a lambda-list of the form (name
+;; &key preserve-direction). The NAME is the BASE-NAME of the limit
+;; function. The keyword arg :PRESERVE-DIRECTION allows the limit
+;; function to set the variable PRESERVE-DIRECTION to the given value
+;; before the limit of the arguments of the function is taken. This
+;; option is needed by the limit function for gamma_incomplete.
+;;
+;; The lambda-list of the macro is the list of arguments to the Maxima
+;; function.
+;;
+;; Here is how to define the limit function for the bessel_j(v, z)
+;; simplifying function:
+;;
+;; (def-simplimit bessel (v z)
+;; ;; v and z are defined and set appropriately.
+;; <body>
+;; )
+;;
+;; This expands to
+;;
+;; (progn
+;; (defun simplim%bessel_j (expr limit-var val)
+;; (let ((orig-arg-v (nth 1 expr)) (orig-arg-z (nth 2 expr)))
+;; (let ((v (limit orig-arg-v limit-var val 'think))
+;; (z (limit orig-arg-z limit-var val 'think)))
+;; (flet ((simplifier ()
+;; (ftake '%bessel_j v z)))
+;; (declare (ignorable #'simplifier))
+;; <body>))))
+;; (defprop %bessel_j simplim%bessel_j simplim%function))
+;;
+;; The macro defines the variables ORIG-ARG-V and ORIG-ARG-Z as the
+;; original values of the variables in the call to the simplifier.
+;; Some simplim functions (such as for gamma_incomplete) needs these
+;; variables.
+;;
+;; The local function SIMPLIFIER that takes no arguments is also
+;; defined. It is for the case where the simplim function wants to
+;; evaluate the limit by calling the simplifier to evaluate the
+;; function with the given arguments.
+(defmacro def-simplimit (base-name-and-options lambda-list &body body)
+ (destructuring-bind (base-name &key
+ (preserve-direction nil preserve-direction-p))
+ (if (symbolp base-name-and-options)
+ (list base-name-and-options)
+ base-name-and-options)
+
+ (let* ((noun-name (intern (concatenate 'string "%" (string base-name))))
+ (simp-name (intern (concatenate 'string "SIMPLIM%" (string base-name))))
+ (expr-arg (intern "LIMIT-EXPR"))
+ (limit-var (intern "LIMIT-VAR"))
+ (val-arg (intern "LIMIT-VAL"))
+ (orig-arg-names (loop for arg in lambda-list
+ collect (intern (concatenate 'string "ORIG-ARG-" (string arg)))))
+ (orig-args (loop for arg in lambda-list
+ for names in orig-arg-names
+ and count from 1
+ collect `(,names
+ (nth ,count ,expr-arg))))
+ (arg-forms (loop for arg in lambda-list
+ for o-arg in orig-arg-names
+ collect (list arg `(limit ,o-arg
+ ,limit-var ,val-arg 'think))))
+ (preserve-form (when preserve-direction-p
+ `((preserve-direction ,preserve-direction)))))
+ `(progn
+ (defun ,simp-name (,expr-arg ,limit-var ,val-arg)
+ (let (,@preserve-form
+ ,@orig-args)
+ (let (,@arg-forms)
+ (flet ((simplifier ()
+ ;; Simplifier is used to take the limit
+ (ftake ',noun-name ,@lambda-list)))
+ (declare (ignorable #'simplifier))
+ ,@body))))
+ (defprop ,noun-name ,simp-name simplim%function)))))
++
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 140 +-
README | 3 +-
archive/doc/None.texi | 8 +-
changelogs/ChangeLog-5.48.md | 286 +++
common-html.mk | 21 +-
configure.ac | 78 +-
crosscompile-windows/CMakeLists.txt | 140 +-
crosscompile-windows/Makefile.am | 4 +-
crosscompile-windows/README.txt | 10 +-
crosscompile-windows/clisp/CMakeLists.txt | 35 +
crosscompile-windows/gnuplot/CMakeLists.txt | 4 +-
crosscompile-windows/lispselector.tcl | 20 +-
crosscompile-windows/maxima-icon.ico | Bin 0 -> 348742 bytes
.../maxima-icon.svg | 0
crosscompile-windows/sbcl.sh | 7 +
crosscompile-windows/sbcl/CMakeLists.txt | 4 +-
crosscompile-windows/tcltk/CMakeLists.txt | 8 +-
crosscompile-windows/wine-clisp.sh.tmpl | 2 +-
demo/manual.demo | 22 +-
doc/info/.gitignore | 4 +-
doc/info/Atensor.texi | 2 +
doc/info/Command.texi | 308 ++-
doc/info/Constants.texi.m4 | 28 +-
doc/info/Ctensor.texi | 4 +
doc/info/Database.texi | 429 +++-
doc/info/Differential.texi | 115 +-
doc/info/Differentiation.texi | 270 ++-
doc/info/Elliptic.texi.m4 | 70 +-
doc/info/Equations.texi | 177 +-
doc/info/Expressions.texi | 298 ++-
doc/info/Function.texi | 221 +-
doc/info/Groups.texi | 24 +-
doc/info/Help.texi | 73 +-
doc/info/Input.texi | 233 ++-
doc/info/Integration.texi.m4 | 604 +++---
doc/info/Introduction.texi | 78 +-
doc/info/Itensor.texi | 4 +-
doc/info/Makefile.am | 622 +-----
doc/info/MathFunctions.texi.m4 | 180 +-
doc/info/Matrices.texi.m4 | 275 ++-
doc/info/Number.texi | 1149 +++++++---
doc/info/{Numerical.texi => Numerical.texi.m4} | 430 ++--
doc/info/Operators.texi | 446 +++-
doc/info/Plotting.texi | 569 ++---
doc/info/Polynomials.texi | 118 +-
doc/info/Program.texi | 263 ++-
doc/info/README | 10 +-
doc/info/Rules.texi | 160 +-
doc/info/Runtime.texi | 23 +-
doc/info/Series.texi | 570 +++--
doc/info/Simplification.texi | 162 +-
doc/info/Special.texi.m4 | 2208 ++++++++++++++------
doc/info/build-html-index.lisp | 64 +-
doc/info/build_html.sh.in | 6 +-
doc/info/cartan.texi | 4 +-
doc/info/category-macros.texi.in | 84 +-
doc/info/cobyla.texi.m4 | 31 +-
doc/info/colnew.texi.m4 | 442 ++--
doc/info/commandline-options.texi | 130 +-
doc/info/de/Function.de.texi | 4 +
doc/info/de/Makefile.am | 1 +
doc/info/distrib.texi.m4 | 101 +-
doc/info/errormessages.texi | 2 +-
doc/info/es/Introduction.es.texi | 12 +-
doc/info/es/Makefile.am | 15 +
doc/info/es/Numerical.es.texi | 24 +-
doc/info/es/Plotting.es.texi | 415 ++--
doc/info/es/graphs.texi | 76 +-
doc/info/es/include-maxima.texi.in | 19 +-
doc/info/es/orthopoly.texi | 4 +-
doc/info/es/plotdf.texi | 320 ---
doc/info/figures/Makefile.am | 13 +
doc/info/figures/README | 35 +-
doc/info/figures/favicon.ico | Bin 318 -> 1150 bytes
.../info/figures/maxima.svg | 20 +-
doc/info/figures/plotrk.mac | 2 +
doc/info/figures/plotrk.pdf | Bin 0 -> 7444 bytes
doc/info/figures/plotrk.png | Bin 0 -> 12921 bytes
doc/info/figures/plotrk2.mac | 2 +
doc/info/figures/plotrk2.pdf | Bin 0 -> 8173 bytes
doc/info/figures/plotrk2.png | Bin 0 -> 17956 bytes
doc/info/figures/plotting1.mac | 2 -
doc/info/figures/plotting1.pdf | Bin 14872 -> 0 bytes
doc/info/figures/plotting1.png | Bin 45369 -> 0 bytes
doc/info/figures/plotting12.mac | 9 +-
doc/info/figures/plotting12.pdf | Bin 9450 -> 8316 bytes
doc/info/figures/plotting12.png | Bin 16617 -> 16886 bytes
doc/info/figures/wrstcse_ewc_2.mac | 21 +
doc/info/figures/wrstcse_ewc_2.pdf | Bin 0 -> 8376 bytes
doc/info/figures/wrstcse_ewc_2.png | Bin 0 -> 29637 bytes
doc/info/figures/wrstcse_ewc_3.mac | 21 +
doc/info/figures/wrstcse_ewc_3.pdf | Bin 0 -> 8620 bytes
doc/info/figures/wrstcse_ewc_3.png | Bin 0 -> 43995 bytes
doc/info/figures/wrstcse_montecarlo.mac | 12 +
doc/info/figures/wrstcse_montecarlo.pdf | Bin 0 -> 19565 bytes
doc/info/figures/wrstcse_montecarlo.png | Bin 0 -> 34587 bytes
doc/info/format.texi.m4 | 152 +-
doc/info/graphs.texi | 76 +-
doc/info/hompack.texi | 89 +-
doc/info/include-maxima.texi.in | 175 +-
doc/info/ja/Makefile.am | 1 +
doc/info/lapack.texi.m4 | 20 +-
doc/info/levin.texi.m4 | 6 +-
doc/info/manual.css | 178 +-
doc/info/minpack.texi.m4 | 20 +-
doc/info/nset.texi | 620 +++++-
doc/info/{odepack.texi => odepack.texi.m4} | 195 +-
doc/info/orthopoly.texi.m4 | 4 +-
doc/info/pt/Makefile.am | 17 +
doc/info/pt/Plotting.texi | 572 ++---
doc/info/pt/implicit_plot.texi | 34 -
doc/info/pt/include-maxima.texi.in | 23 +-
doc/info/pt_BR/Makefile.am | 17 +
doc/info/ru/Makefile.am | 2 +
doc/info/solve_rec.texi | 2 +-
doc/info/stats.texi | 2 +-
doc/info/stringproc.texi | 4 +-
doc/info/texi2html.init.in | 20 +-
doc/info/trigtools.texi.m4 | 1460 ++++++++-----
doc/info/update_examples | 5 +-
doc/info/wrstcse.texi | 947 ++++++++-
doc/info/zeilberger.texi.m4 | 15 +-
doc/man/de/maxima.1.in | 3 +
doc/man/maxima.1.in | 3 +
doc/man/ru/maxima.1.in | 358 ++--
interfaces/xmaxima/ChangeLog.txt | 3 +
interfaces/xmaxima/Makefile.am | 8 +-
interfaces/xmaxima/Readme.txt | 2 +-
interfaces/xmaxima/Tkmaxima/Adams.tcl | 1 -
interfaces/xmaxima/Tkmaxima/Base64.tcl | 5 -
interfaces/xmaxima/Tkmaxima/Bindings.tcl | 40 +-
interfaces/xmaxima/Tkmaxima/Bitmaps.tcl | 4 -
interfaces/xmaxima/Tkmaxima/Browser.tcl | 243 +--
interfaces/xmaxima/Tkmaxima/CMMenu.tcl | 22 +-
interfaces/xmaxima/Tkmaxima/Constants.tcl | 157 +-
interfaces/xmaxima/Tkmaxima/Cygwin.tcl | 162 +-
interfaces/xmaxima/Tkmaxima/EHref.tcl | 4 -
interfaces/xmaxima/Tkmaxima/EMaxima.tcl | 4 -
interfaces/xmaxima/Tkmaxima/EOctave.tcl | 45 -
interfaces/xmaxima/Tkmaxima/EOpenplot.tcl | 10 +-
interfaces/xmaxima/Tkmaxima/Fonts.tcl | 20 +-
interfaces/xmaxima/Tkmaxima/Getdata1.tcl | 25 +-
interfaces/xmaxima/Tkmaxima/Getopt.tcl | 4 -
interfaces/xmaxima/Tkmaxima/Gui.tcl | 62 +-
interfaces/xmaxima/Tkmaxima/Macros.tcl | 2 -
interfaces/xmaxima/Tkmaxima/Matrix.tcl | 1 -
interfaces/xmaxima/Tkmaxima/Menu.tcl | 90 +-
interfaces/xmaxima/Tkmaxima/Myhtml.tcl | 44 +-
interfaces/xmaxima/Tkmaxima/Myhtml1.tcl | 11 +-
interfaces/xmaxima/Tkmaxima/NConsole.tcl | 23 +-
interfaces/xmaxima/Tkmaxima/NPlot3d.tcl | 1 -
interfaces/xmaxima/Tkmaxima/OpenMath.tcl | 149 +-
interfaces/xmaxima/Tkmaxima/Parse.tcl | 8 +-
interfaces/xmaxima/Tkmaxima/Paths.tcl | 304 ++-
interfaces/xmaxima/Tkmaxima/Plot2d.tcl | 14 +-
interfaces/xmaxima/Tkmaxima/Plot3d.tcl | 7 +-
interfaces/xmaxima/Tkmaxima/Plotconf.tcl | 3 +-
interfaces/xmaxima/Tkmaxima/Plotdf.tcl | 35 +-
interfaces/xmaxima/Tkmaxima/Plotting.tcl | 4 -
interfaces/xmaxima/Tkmaxima/Preamble.tcl | 6 +-
interfaces/xmaxima/Tkmaxima/Prefs.tcl | 13 -
interfaces/xmaxima/Tkmaxima/Printops.tcl | 9 +-
interfaces/xmaxima/Tkmaxima/Private.tcl | 4 -
interfaces/xmaxima/Tkmaxima/Proxy.tcl | 16 +-
interfaces/xmaxima/Tkmaxima/Push.tcl | 4 -
interfaces/xmaxima/Tkmaxima/Readdata.tcl | 4 -
interfaces/xmaxima/Tkmaxima/Rk.tcl | 1 -
interfaces/xmaxima/Tkmaxima/RunMaxima.tcl | 50 +-
interfaces/xmaxima/Tkmaxima/Send-some.tcl | 33 +-
interfaces/xmaxima/Tkmaxima/Startup.tcl | 1 -
interfaces/xmaxima/Tkmaxima/String.tcl | 8 +-
interfaces/xmaxima/Tkmaxima/Textinsert.tcl | 4 -
interfaces/xmaxima/Tkmaxima/Tkmaxima.tcl | 24 +-
interfaces/xmaxima/Tkmaxima/Tryembed.tcl | 23 +-
interfaces/xmaxima/Tkmaxima/Wmenu.tcl | 2 -
interfaces/xmaxima/Tkmaxima/colors.tcl | 2 -
interfaces/xmaxima/Tkmaxima/maxima-local.tcl | 20 -
interfaces/xmaxima/Tkmaxima/patchold.tcl | 100 -
interfaces/xmaxima/Tkmaxima/scene.tcl | 4 +-
interfaces/xmaxima/demos.html | 14 +-
interfaces/xmaxima/examples.html | 42 +-
interfaces/xmaxima/intro.html | 202 +-
interfaces/xmaxima/maxima-icon.gif | Bin 1816 -> 0 bytes
interfaces/xmaxima/maxima-icon.png | Bin 5709 -> 0 bytes
interfaces/xmaxima/maxima.png | Bin 22354 -> 0 bytes
...{maxima-icon.ico => net.sourceforge.maxima.ico} | Bin
interfaces/xmaxima/plotmaxima.html | 115 +-
interfaces/xmaxima/{intro.html => primer.html} | 80 +-
interfaces/xmaxima/xmaxima-trailer.tcl | 15 +-
maxima.spec.in | 6 +-
share/contrib/Grobner/grobner.lisp | 30 -
share/contrib/altsimp/altsimp.lisp | 1 +
share/contrib/diffequations/lazysolver.lisp | 2 +-
share/contrib/gentran/allgentran.lisp | 68 +-
share/contrib/gentran/test/rtest_gentran.mac | 84 +-
share/contrib/integration/rtest_abs_integrate.mac | 25 +-
share/contrib/rtest_wrstcse.mac | 108 +
share/contrib/unicodedata/grind-patch.lisp | 22 +-
share/contrib/wrstcse.mac | 358 +++-
share/distrib/distrib.mac | 2 +-
share/dynamics/plotdf.lisp | 62 +-
share/integration/rtest_antid.mac | 11 +-
share/maxima-init.lisp | 1 -
share/stringproc/md5.lisp | 48 +-
share/stringproc/sha1.lisp | 116 +-
share/stringproc/unicode-sniffer.lisp | 2 +-
share/to_poly_solve/rtest_to_poly_solve.mac | 16 +-
share/trigonometry/trigrat.lisp | 5 +-
src/Makefile.am | 20 +-
src/asum.lisp | 12 +-
src/combin.lisp | 11 +-
src/comm.lisp | 34 +-
src/comm2.lisp | 205 +-
src/compar.lisp | 22 +-
src/csimp.lisp | 5 +
src/defint.lisp | 13 +-
src/defmfun-check.lisp | 139 +-
src/displa.lisp | 74 +-
src/ellipt.lisp | 8 +-
src/expintegral.lisp | 41 +-
src/globals.lisp | 70 +-
src/gnuplot_def.lisp | 155 +-
src/grind.lisp | 18 +-
src/hayat.lisp | 4 +-
src/hypergeometric.lisp | 2 +-
src/init-cl.lisp | 24 +-
src/limit.lisp | 82 +-
src/macdes.lisp | 40 +-
src/macsys.lisp | 4 +-
src/maxima.bat.in | 4 +-
src/maxima.in | 37 +-
src/mdebug.lisp | 12 +-
src/mlisp.lisp | 10 +-
src/mload.lisp | 5 +-
src/mutils.lisp | 54 +-
src/nparse.lisp | 2 +
src/plot.lisp | 243 +--
src/polynomialp.lisp | 2 +-
src/rpart.lisp | 119 +-
src/simp.lisp | 80 +-
src/sin.lisp | 26 +-
src/solve.lisp | 6 +-
src/specfn.lisp | 53 +-
src/suprv1.lisp | 7 +-
src/testsuite.lisp | 25 +-
src/tlimit.lisp | 157 +-
src/trigi.lisp | 23 +-
src/trigo.lisp | 2 -
src/xmaxima_def.lisp | 12 +-
tests/rtest10.mac | 34 +
tests/rtest14.mac | 11 +-
tests/rtest15.mac | 36 +-
tests/rtest16.mac | 127 +-
tests/rtest3.mac | 4 +-
tests/rtest6a.mac | 16 +-
tests/rtest7.mac | 6 +-
tests/rtest9.mac | 4 +-
tests/rtest9a.mac | 4 +-
tests/rtest_atan2.mac | 265 +++
tests/rtest_elliptic.mac | 4 +-
tests/rtest_expintegral.mac | 23 +-
tests/rtest_gamma.mac | 2 +-
tests/rtest_great.mac | 131 ++
tests/rtest_great_slow.mac | 174 ++
tests/rtest_hypgeo.mac | 24 +-
tests/rtest_integrate.mac | 149 +-
tests/rtest_laplace.mac | 16 +-
tests/rtest_limit.mac | 50 +-
tests/rtest_limit_extra.mac | 53 +-
tests/rtest_plot.mac | 38 +-
tests/rtest_powerseries.mac | 2 +-
tests/rtest_taylor.mac | 27 +-
tests/rtest_trig.mac | 17 +-
tests/rtest_unicode_display.mac | 114 +-
tests/rtesthyp.mac | 71 +-
tests/rtestint.mac | 60 +-
tests/rtestode.mac | 16 +-
tests/test.sh.in | 2 +-
tests/test_matrix_display.mac | 145 ++
279 files changed, 15673 insertions(+), 8924 deletions(-)
create mode 100644 changelogs/ChangeLog-5.48.md
create mode 100644 crosscompile-windows/clisp/CMakeLists.txt
create mode 100644 crosscompile-windows/maxima-icon.ico
rename {interfaces/xmaxima => crosscompile-windows}/maxima-icon.svg (100%)
rename doc/info/{Numerical.texi => Numerical.texi.m4} (83%)
delete mode 100644 doc/info/es/plotdf.texi
copy interfaces/xmaxima/net.sourceforge.maxima.svg => doc/info/figures/maxima.svg (81%)
create mode 100644 doc/info/figures/plotrk.mac
create mode 100644 doc/info/figures/plotrk.pdf
create mode 100644 doc/info/figures/plotrk.png
create mode 100644 doc/info/figures/plotrk2.mac
create mode 100644 doc/info/figures/plotrk2.pdf
create mode 100644 doc/info/figures/plotrk2.png
delete mode 100644 doc/info/figures/plotting1.mac
delete mode 100644 doc/info/figures/plotting1.pdf
delete mode 100644 doc/info/figures/plotting1.png
create mode 100644 doc/info/figures/wrstcse_ewc_2.mac
create mode 100644 doc/info/figures/wrstcse_ewc_2.pdf
create mode 100644 doc/info/figures/wrstcse_ewc_2.png
create mode 100644 doc/info/figures/wrstcse_ewc_3.mac
create mode 100644 doc/info/figures/wrstcse_ewc_3.pdf
create mode 100644 doc/info/figures/wrstcse_ewc_3.png
create mode 100644 doc/info/figures/wrstcse_montecarlo.mac
create mode 100644 doc/info/figures/wrstcse_montecarlo.pdf
create mode 100644 doc/info/figures/wrstcse_montecarlo.png
rename doc/info/{odepack.texi => odepack.texi.m4} (66%)
delete mode 100644 doc/info/pt/implicit_plot.texi
delete mode 100644 interfaces/xmaxima/Tkmaxima/EOctave.tcl
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
delete mode 100644 interfaces/xmaxima/maxima-icon.gif
delete mode 100644 interfaces/xmaxima/maxima-icon.png
delete mode 100644 interfaces/xmaxima/maxima.png
rename interfaces/xmaxima/{maxima-icon.ico => net.sourceforge.maxima.ico} (100%)
copy interfaces/xmaxima/{intro.html => primer.html} (77%)
delete mode 100644 share/maxima-init.lisp
create mode 100644 tests/rtest_atan2.mac
create mode 100644 tests/rtest_great.mac
create mode 100644 tests/rtest_great_slow.mac
create mode 100644 tests/test_matrix_display.mac
hooks/post-receive
--
Maxima CAS
|
|
From: rtoy <rt...@us...> - 2025-11-17 21:40:31
|
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-def-simp-gamma2 has been created
at 06dd89176115c9c3822547722e0506d4a6faaf2a (commit)
- Log -----------------------------------------------------------------
commit 06dd89176115c9c3822547722e0506d4a6faaf2a
Author: Raymond Toy <toy...@gm...>
Date: Mon Nov 17 13:18:03 2025 -0800
Remove old simplification code for log_gamma
This is all now being done by the def-simplifier for log_gamma.
diff --git a/src/gamma.lisp b/src/gamma.lisp
index 2082349d1..9c28d1934 100644
--- a/src/gamma.lisp
+++ b/src/gamma.lisp
@@ -1858,23 +1858,6 @@
;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-#+nil
-(progn
-(defmfun $log_gamma (z)
- (simplify (list '(%log_gamma) z)))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-(defprop $log_gamma %log_gamma alias)
-(defprop $log_gamma %log_gamma verb)
-
-(defprop %log_gamma $log_gamma reversealias)
-(defprop %log_gamma $log_gamma noun)
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-(defprop %log_gamma simp-log-gamma operators)
-)
;;; Logarithm of the Gamma function distributes over bags
(defprop %log_gamma (mlist $matrix mequal) distribute_over)
@@ -1894,49 +1877,6 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-#+nil
-(defun simp-log-gamma (expr z simpflag)
- (oneargcheck expr)
- (setq z (simpcheck (cadr expr) simpflag))
- (cond
-
- ;; Check for specific values
-
- ((and (mnump z)
- (or (zerop1 z)
- (and (eq ($sign z) '$neg)
- (zerop1 (sub z ($truncate z))))))
- ;; We have zero, a negative integer or a float or bigfloat representation.
- (simp-domain-error
- (intl:gettext "log_gamma: log_gamma(~:M) is undefined.") z))
-
- ((eq z '$inf) '$inf)
-
- ;; Check for numerical evaluation
-
- ((float-numerical-eval-p z)
- (complexify (log-gamma-lanczos (complex ($float z) 0))))
-
- ((complex-float-numerical-eval-p z)
- (complexify
- (log-gamma-lanczos
- (complex ($float ($realpart z)) ($float ($imagpart z))))))
-
- ((bigfloat-numerical-eval-p z)
- (bfloat-log-gamma ($bfloat z)))
-
- ((complex-bigfloat-numerical-eval-p z)
- (complex-bfloat-log-gamma
- (add ($bfloat ($realpart z)) (mul '$%i ($bfloat ($imagpart z))))))
-
- ;; Transform to Logarithm of Factorial for integer values
- ;; At this point the integer value is positive and not zero.
-
- ((integerp z)
- (simplify (list '(%log) (simplify (list '(mfactorial) (- z 1))))))
-
- (t (eqtest (list '(%log_gamma) z) expr))))
-
(def-simplifier log_gamma (z)
(cond
;; Check for specific values
commit 3a8d6758fe28dc1f8a24e159695501abe2a5ea9b
Author: Raymond Toy <toy...@gm...>
Date: Mon Nov 17 09:47:20 2025 -0800
Actually comment out the old stuff
Forgot to do that in the previous commit. Testsuite passes as expected.
diff --git a/src/gamma.lisp b/src/gamma.lisp
index 157516814..2082349d1 100644
--- a/src/gamma.lisp
+++ b/src/gamma.lisp
@@ -1858,6 +1858,8 @@
;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+#+nil
+(progn
(defmfun $log_gamma (z)
(simplify (list '(%log_gamma) z)))
@@ -1872,7 +1874,7 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defprop %log_gamma simp-log-gamma operators)
-
+)
;;; Logarithm of the Gamma function distributes over bags
(defprop %log_gamma (mlist $matrix mequal) distribute_over)
commit dc56baa183da024784646fcee5f80130ee71114c
Author: Raymond Toy <toy...@gm...>
Date: Mon Nov 17 07:05:42 2025 -0800
Add def-simplifier for log-gamma
diff --git a/src/gamma.lisp b/src/gamma.lisp
index f9fb3ab72..157516814 100644
--- a/src/gamma.lisp
+++ b/src/gamma.lisp
@@ -1892,6 +1892,7 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+#+nil
(defun simp-log-gamma (expr z simpflag)
(oneargcheck expr)
(setq z (simpcheck (cadr expr) simpflag))
@@ -1934,6 +1935,37 @@
(t (eqtest (list '(%log_gamma) z) expr))))
+(def-simplifier log_gamma (z)
+ (cond
+ ;; Check for specific values
+ ((and (mnump z)
+ (or (zerop1 z)
+ (and (eq ($sign z) '$neg)
+ (zerop1 (sub z ($truncate z))))))
+ ;; We have zero, a negative integer or a float or bigfloat representation.
+ (simp-domain-error
+ (intl:gettext "log_gamma: log_gamma(~:M) is undefined.") z))
+
+ ((eq z '$inf) '$inf)
+ ;; Check for numerical evaluation
+ ((float-numerical-eval-p z)
+ (complexify (log-gamma-lanczos (complex ($float z) 0))))
+ ((complex-float-numerical-eval-p z)
+ (complexify
+ (log-gamma-lanczos
+ (complex ($float ($realpart z)) ($float ($imagpart z))))))
+ ((bigfloat-numerical-eval-p z)
+ (bfloat-log-gamma ($bfloat z)))
+ ((complex-bigfloat-numerical-eval-p z)
+ (complex-bfloat-log-gamma
+ (add ($bfloat ($realpart z)) (mul '$%i ($bfloat ($imagpart z))))))
+ ;; Transform to Logarithm of Factorial for integer values
+ ;; At this point the integer value is positive and not zero.
+ ((integerp z)
+ (simplify (list '(%log) (simplify (list '(mfactorial) (- z 1))))))
+ (t
+ (give-up))))
+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; The functions log-gamma-lanczos, bfloat-log-gamma and
;;; complex-bfloat-log-gamma are modified versions of the related functions
-----------------------------------------------------------------------
hooks/post-receive
--
Maxima CAS
|