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
(64) |
Dec
|
|
From: rtoy <rt...@us...> - 2025-11-29 15:12:42
|
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 c3ccccdfe4155e2dee307791ce50af2525750035 (commit)
via 8fe0ee85530ed3cdebe33153da6428dd3f432182 (commit)
via 6c6d825bdf4fad8235ccc790b5e1e47f41109a75 (commit)
via 015e5cc9072906c6f3133aaeee860ae0bbc3b503 (commit)
via ea4518bc2b5a01fc8c876bde2313cdee425035d6 (commit)
from d931b3374b5d60ebfaaaafda050e042a571c881c (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 c3ccccdfe4155e2dee307791ce50af2525750035
Merge: d931b3374 8fe0ee855
Author: Raymond Toy <toy...@gm...>
Date: Sat Nov 29 07:12:04 2025 -0800
Merge branch 'rtoy-remove-scl'
Removed scl support from Makefiles
-----------------------------------------------------------------------
Summary of changes:
src/Makefile.am | 39 ---------------------------------------
tests/Makefile.am | 9 ---------
2 files changed, 48 deletions(-)
hooks/post-receive
--
Maxima CAS
|
|
From: rtoy <rt...@us...> - 2025-11-29 15:08:28
|
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 72cb52f47d84cfa8a9c890868e7e77f8a9b6c67f (commit)
via 81b23f2191a6764016610ac93dbd74edba0045d1 (commit)
via c92b19a8a86c7fb1f2c7898647da045421a47083 (commit)
via d931b3374b5d60ebfaaaafda050e042a571c881c (commit)
via 5e51fb893730956af2d7664bfe4950b0c0d7e0e6 (commit)
via 9987caa266f49eb1c2af201880c5d8a5214cf961 (commit)
via 53ae7d628a859fe44f4df908245a270f502c1f97 (commit)
via 1ecb9bcc5643f302b56e5cb87de65245eefee3c7 (commit)
via 4bfce99888373c3a98f28d070b7e03136d446877 (commit)
via a4546c9094c8d35c9d59e5374285652aec63293d (commit)
via 81712b7ec36931da2fdfc1c663fb3bffee1f2fc3 (commit)
via c380557ab485e0d5fc5b4c775216081f686214df (commit)
via bb404ea5eeb2a3bae0d3cea46708d36992124b09 (commit)
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 6be27cc3d78d7b20357bd426a5cb73d6a4664c7f (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 72cb52f47d84cfa8a9c890868e7e77f8a9b6c67f
Author: Raymond Toy <toy...@gm...>
Date: Sat Nov 29 07:07:42 2025 -0800
Add pygments.custom.css
This is the pgyments stuff that was in manual.css.
diff --git a/doc/info/pygments.custom.css b/doc/info/pygments.custom.css
new file mode 100644
index 000000000..077c3ffbd
--- /dev/null
+++ b/doc/info/pygments.custom.css
@@ -0,0 +1,32 @@
+/*
+ * CSS customizations for pygment highlighting
+ */
+
+/*
+ * Pygments uses a line height of 125%, which seems too small compared
+ * to what we used to do.
+ */
+div.highlight pre {
+ line-height: normal !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;
+}
+
+.example.user-maxima {
+ overflow-x: auto
+}
+
+.highlight.pre {
+ /*
+ * Lines for highlighted examples are too close by default with
+ * pygments. Make it larger.
+ */
+ line-height: normal !important;
+}
commit 81b23f2191a6764016610ac93dbd74edba0045d1
Author: Raymond Toy <toy...@gm...>
Date: Sat Nov 29 07:04:52 2025 -0800
Move pygments css from manual.css to another file
To simplify manual.css a bit, move the customatizations for pygments
to another css file (pygments.custom.css) that's loaded only if
pygments is specified. This file is included by texi2html.init.in.
Configure is updated to insert the new file into texi2html2.init.in
diff --git a/configure.ac b/configure.ac
index a72ed3276..8b8a68af8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -928,6 +928,9 @@ EOF
type="text/css"
href="pygments.dark.css"
media="(prefers-color-scheme: dark)">
+<link rel="stylesheet"
+ type="text/css"
+ href="pygments.custom.css">
EOF
)"
fi
diff --git a/doc/info/manual.css b/doc/info/manual.css
index ab87f4411..72cec2427 100644
--- a/doc/info/manual.css
+++ b/doc/info/manual.css
@@ -135,35 +135,3 @@ dd { margin-left: 0.5em }
dd { margin-left: 1.5em }
}
-/*
- * CSS customizations for pygment highlighting
- */
-
-/*
- * Pygments uses a line height of 125%, which seems too small compared
- * to what we used to do.
- */
-div.highlight pre {
- line-height: normal !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;
-}
-
-.example.user-maxima {
- overflow-x: auto
-}
-
-.highlight.pre {
- /*
- * Lines for highlighted examples are too close by default with
- * pygments. Make it larger.
- */
- line-height: normal !important;
-}
commit c92b19a8a86c7fb1f2c7898647da045421a47083
Merge: 6be27cc3d d931b3374
Author: Raymond Toy <toy...@gm...>
Date: Fri Nov 28 13:49:53 2025 -0800
Merge branch 'master' into rtoy-highlightjs-example-maxima-blocks-texi-dev
diff --cc doc/info/manual.css
index c65a29667,98ffcfbb4..ab87f4411
--- a/doc/info/manual.css
+++ b/doc/info/manual.css
@@@ -101,14 -118,14 +118,6 @@@ div.header, div.nav-panel
padding: 3px 10px;
}
--/*
-- * Pygments uses a line height of 125%, which seems too small compared
-- * to what we used to do.
-- */
--div.highlight pre {
-- line-height: normal !important;
--}
--
/* Reduce the indentation of lists and descriptions */
ul,ol { padding-left: 1em }
dd { margin-left: 0.5em }
@@@ -125,35 -142,20 +134,28 @@@
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: black;}
+
+ /*
+ * CSS customizations for pygment highlighting
+ */
+
++/*
++ * Pygments uses a line height of 125%, which seems too small compared
++ * to what we used to do.
++ */
++div.highlight pre {
++ line-height: normal !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;
}
- /* CSS for pygment highlighting */
.example.user-maxima {
overflow-x: auto
}
-----------------------------------------------------------------------
Summary of changes:
configure.ac | 108 +-----------------
doc/info/Bugs.texi | 6 +-
doc/info/Input.texi | 4 +-
doc/info/draw.texi | 2 +
doc/info/manual.css | 125 ++++++++-------------
doc/info/pygments.custom.css | 32 ++++++
maxima-local.in | 15 +--
.../gentran/test/compare_var_translations.mac | 81 +++++++++++++
share/contrib/gentran/test/foo-fortran.template | 20 ++++
share/contrib/gentran/test/foo-ratfor.template | 15 +++
share/draw/gnuplot.lisp | 26 ++++-
share/draw/grcommon.lisp | 3 +-
src/command-line.lisp | 3 -
src/globals.lisp | 3 +-
src/init-cl.lisp | 61 ++++++----
src/maxima-build.lisp | 3 +-
src/mload.lisp | 16 ++-
17 files changed, 292 insertions(+), 231 deletions(-)
create mode 100644 doc/info/pygments.custom.css
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: <ap...@us...> - 2025-11-29 07:44: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, dodier-iterate-over-hash-tables has been created
at 89d7b7a46acdb7e1fcbfd52cffe422958aa826d7 (commit)
- Log -----------------------------------------------------------------
commit 89d7b7a46acdb7e1fcbfd52cffe422958aa826d7
Author: Robert Dodier <rob...@so...>
Date: Fri Nov 28 21:17:11 2025 -0800
Extend "for" loop syntax to iterate over hash tables.
The basic syntax is: for [k, v] in hh do ...
where hh is a undeclared array, "fast" array (i.e., a hash table created
with use_fast_arrays: true), or created by make_array(hashed, ...).
[k, v] is a key/value pair. The pairs are processed in the order
of keys as returned by arrayinfo.
k is always a list, even if the hash table has only one key
and therefore the list has exactly one element.
Destructuring assignment is recognized, e.g.:
for [[k], v] in hh1 do ...
for [[k1, k2], v] in hh2 do ...
for [[k1, k2, k3], v] in hh3 do ...
where hh1, hh2, and hh3 are hash tables which have,
respectively, one, two, and three keys.
Destructuring assignment also applies to the existing loop syntax
for iterating over lists, e.g.:
for [x, y] in [[11, 12], [13, 9], [19, 29]] do ...
This is a freebie -- it would be more work to apply destructuring
assignment only to hash tables, so I let it stand.
There is one bug of which I'm aware: when destructuring assignment is
applied and one of the loop variables is restricted by an ASSIGN helper
to non-symbol values (e.g., linel, which has an ASSIGN helper to
restrict assigned values to integers), *and* the variable is unbound
in the Lisp sense (i.e., BOUNDP returns NIL) before starting the
iteration, then there is an error at the end of the iteration.
From what I can tell, there are no such variables in Maxima, and it's
not easy to create one. Such a variable can be created by Lisp
programming (to create an assignment helper and attach it via the
ASSIGN property), or the following Maxima incantation:
define_variable (foo, 1111, integer);
remvalue (foo);
foo has an ASSIGN property (created by define_variable) and it is
unbound by remvalue. Now the following loop triggers the bug:
for [foo] in [[11], [22], [33]] do print (foo);
From reading the reference manual, it appears that mode_declare plus
mode_checkp, and followed by remvalue, might also work, although it
appears mode_checkp has no effect, from what I can tell.
I will devote time to fixing the bug, but it seems like a not too
serious problem, given the obscurity of the way to trigger it.
diff --git a/src/mlisp.lisp b/src/mlisp.lisp
index e9a0bcdc0..8bdf53d20 100644
--- a/src/mlisp.lisp
+++ b/src/mlisp.lisp
@@ -448,6 +448,18 @@ is EQ to FNNAME if the latter is non-NIL."
;; option variable $errormsg is used as a local variable in a block.
(defvar *$errormsg-value* nil)
+(defun symbol-values-in (expr)
+ (if (atom expr)
+ (if (symbolp expr)
+ (if (boundp expr)
+ ;; Do not take the actual value of $errormsg. It is
+ ;; always NIL at this point, but the value which
+ ;; is stored in *$errormsg-value*.
+ (if (eq expr '$errormsg) *$errormsg-value* (symbol-value expr))
+ munbound)
+ expr)
+ (cons (car expr) (mapcar 'symbol-values-in (cdr expr)))))
+
(defun mbind-doit (lamvars fnargs fnname)
"Makes a new frame where the variables in the list LAMVARS are bound
to the corresponding elements in FNARGS. Note that these elements are
@@ -471,16 +483,9 @@ wrapper for this."
(cons (ncons fnname) lamvars))
(cons '(mlist) fnargs)))))
(let ((var (car vars)))
- (if (not (symbolp var))
+ (when (not (every 'symbolp (cdr ($listofvars var))))
(merror (intl:gettext "Only symbols can be bound; found: ~M") var))
- (let ((value (if (boundp var)
- (if (eq var '$errormsg)
- ;; Do not take the actual value of $errormsg. It is
- ;; always NIL at this point, but the value which
- ;; is stored in *$errormsg-value*.
- *$errormsg-value*
- (symbol-value var))
- munbound)))
+ (let ((value (symbol-values-in var)))
(mset var (car args))
(psetq bindlist (cons var bindlist)
mspeclist (cons value mspeclist))))))
@@ -493,7 +498,7 @@ wrapper for this."
;; At this point store the value of $errormsg in a global. The macro
;; with-$error sets the value of $errormsg to NIL, but we need the
;; actual value in the routine mbind-doit.
- (setq *$errormsg-value* $errormsg)
+ (setq *$errormsg-value* (if (boundp '$errormsg) $errormsg munbound))
(unwind-protect
(prog1
(with-$error (mbind-doit lamvars fnargs fnname))
@@ -522,13 +527,33 @@ wrapper for this."
(finish-output)
(values))
+(defun munbind-makunbound (var)
+ (makunbound var)
+ (setf $values (delete var $values :count 1 :test #'eq)))
+
(defun munbind (vars)
- (dolist (var (reverse vars))
- (cond ((eq (car mspeclist) munbound)
- (makunbound var)
- (setf $values (delete var $values :count 1 :test #'eq)))
- (t (let ((munbindp t)) (mset var (car mspeclist)))))
- (setq mspeclist (cdr mspeclist) bindlist (cdr bindlist))))
+ (let ((foo))
+ (dolist (var (reverse vars))
+ ;; This is a bit of a mess. We should avoid assigning MUNBOUND
+ ;; and instead call MUNBIND-MAKUNBOUND, because some variables
+ ;; cannot be assigned MUNBOUND due to declarations or custom setters.
+ ;; It is easy to detect these cases when VAR is just a symbol,
+ ;; but I don't see a straightforward way to handle it when VAR is
+ ;; a nonatomic expression, so the code for the non-symbol branch
+ ;; will fail if the expression contains a symbol for which
+ ;; MUNBOUND cannot be assigned.
+ (if (symbolp var)
+ (if (eq (car mspeclist) munbound)
+ (munbind-makunbound var)
+ (mset var (car mspeclist)))
+ (progn
+ (let ((munbindp t))
+ (mset var (car mspeclist)))
+ (mapcar (lambda (x) (push x foo)) (cdr ($listofvars var)))))
+ (setq mspeclist (cdr mspeclist) bindlist (cdr bindlist)))
+ (dolist (var foo)
+ (when (and (boundp var) (eq (symbol-value var) munbound))
+ (munbind-makunbound var)))))
;;This takes the place of something like
;; (DELETE (ASSOC (NCONS VAR) $DEPENDENCIES) $DEPENDENCIES 1)
@@ -2229,11 +2254,31 @@ wrapper for this."
(merror (intl:gettext "do loop: illegal 'return': ~M") (car val)))
(t (return (car val))))))))
+(defun key-value-pairs-given-key-lists (x key-lists)
+ (mapcar (lambda (l) (list '(mlist) l (mfuncall '$arrayapply x l))) key-lists))
+
+(defun key-value-pairs-for-hashed-array (x)
+ (let*
+ ((1-d-hash-table (gethash 'dim1 x))
+ (info (mfuncall '$arrayinfo x))
+ (keys-raw (cdddr info))
+ (key-lists (if 1-d-hash-table (mapcar (lambda (y) (cons '(mlist) (list y))) keys-raw) keys-raw)))
+ (key-value-pairs-given-key-lists x key-lists)))
+
+(defun key-value-pairs-for-undeclared-array (x)
+ (let*
+ ((info (mfuncall '$arrayinfo x))
+ (key-lists (cdddr info)))
+ (key-value-pairs-given-key-lists x key-lists)))
+
(defmspec mdoin (form)
(setq form (cdr form))
(funcall #'(lambda (mdop my-var set test action)
(setq set (if ($atom (setq set (format1 (meval (cadr form)))))
- (merror (intl:gettext "do loop: 'in' argument must be a nonatomic expression; found: ~M") set)
+ (cond
+ ((hash-table-p set) (key-value-pairs-for-hashed-array set))
+ ((safe-mget set 'hashar) (key-value-pairs-for-undeclared-array set))
+ (t (merror (intl:gettext "do loop: atomic 'in' argument must be a hashed or undeclared array; found: ~M") set)))
(margs set))
test (list '(mor)
(if (car (cddddr form))
diff --git a/tests/rtest6.mac b/tests/rtest6.mac
index ac4fe99c1..531dad995 100644
--- a/tests/rtest6.mac
+++ b/tests/rtest6.mac
@@ -228,3 +228,370 @@ chain weld bucket;
subst (f = "foo", f(x));
foo(x);
+
+/* tests for iterating over hash tables
+ * verify both value hash tables ("fast arrays" or created by make_array)
+ * and named hash tables ("undeclared arrays").
+ */
+
+kill (all);
+done;
+
+/* value hash tables: "fast arrays" */
+
+use_fast_arrays: true;
+true;
+
+/* one key */
+
+(aa1["baz"]: 333, aa1["bar"]: 222, aa1["quux"]: 444, aa1["foo"]: 111, 0);
+0;
+
+?hash\-table\-p (aa1);
+true;
+
+a: 100;
+100;
+
+block ([L: []], for [a, b] in aa1 do push ([b, a], L), sort (L));
+[[111, ["foo"]], [222, ["bar"]], [333, ["baz"]], [444, ["quux"]]];
+
+[a, b];
+[100, b];
+
+block ([L: []], for [[a], b] in aa1 do push ([b, a], L), sort (L));
+[[111, "foo"], [222, "bar"], [333, "baz"], [444, "quux"]];
+
+[a, b];
+[100, b];
+
+/* two keys */
+
+(aa2[xx, 99]: %pi, aa2[cc, 1099]: %phi, aa2[jj, 543]: %e, 0);
+0;
+
+?hash\-table\-p (aa2);
+true;
+
+block ([L: []], for [a, b] in aa2 do push ([b, a], L), sort (L));
+[[%e, [jj, 543]], [%phi, [cc, 1099]], [%pi, [xx, 99]]];
+
+[a, b];
+[100, b];
+
+(a2: 300, b: -2);
+-2;
+
+block ([L: []], for [[a1, a2], b] in aa2 do push ([b, a2, a1], L), sort (L));
+[[%e, 543, jj], [%phi, 1099, cc], [%pi, 99, xx]];
+
+[a1, a2, b];
+[a1, 300, -2];
+
+/* three keys */
+
+(aa3["mno", "pqr", 1 - 2*u]: bessel_j (2, 1 - sqrt(x)),
+ aa3["fgh", 3*u*v, giraffe]: rhino*elephant,
+ aa3["glorble", 7*x, emu]: 6/cricket,
+ 0);
+0;
+
+?hash\-table\-p (aa3);
+true;
+
+[b, a];
+[-2, 100];
+
+block ([L: []], for [b, a] in aa3 do push ([b, a], L), sort (L));
+[[["fgh", 3*u*v, giraffe], rhino*elephant],
+ [["glorble", 7*x, emu], 6/cricket],
+ [["mno", "pqr", 1 - 2*u], bessel_j (2, 1 - sqrt(x))]];
+
+[b, a];
+[-2, 100];
+
+block ([L: []], for [[a1, a2, b], a] in aa3 do push ([a1, a2, b, a], L), sort (L));
+[["fgh", 3*u*v, giraffe, rhino*elephant],
+ ["glorble", 7*x, emu, 6/cricket],
+ ["mno", "pqr", 1 - 2*u, bessel_j (2, 1 - sqrt(x))]];
+
+[a1, a2, b, a];
+[a1, 300, -2, 100];
+
+arrays;
+[];
+
+(reset (use_fast_arrays), kill (all));
+done;
+
+/* value hash tables: created by make_array */
+
+/* one key */
+
+(hh1: make_array (hashed, 1), 0);
+0;
+
+?hash\-table\-p (hh1);
+true;
+
+(hh1[1 + x]: sin(z), hh1[3 - y]: cos(w), hh1[1/(1 + z)]: tan(x), 0);
+0;
+
+(f: 199, g: 200);
+200;
+
+block ([L: []], for [f, g] in hh1 do push ([g, f], L), sort (L));
+[[cos(w), [3 - y]], [tan(x), [1/(1 + z)]], [sin(z), [1 + x]]];
+
+[f, g];
+[199, 200];
+
+block ([L: []], for [[f], g] in hh1 do push ([g, f], L), sort (L));
+[[cos(w), 3 - y], [tan(x), 1/(1 + z)], [sin(z), 1 + x]];
+
+[f, g];
+[199, 200];
+
+/* two keys */
+
+(hh2: make_array (hashed, 1, 1), 0);
+0;
+
+?hash\-table\-p (hh2);
+true;
+
+(hh2[678, "blurf"]: 876 - mumble,
+ hh2[987, "sdf"]: 777*zxy,
+ hh2[456, cos(w)]: sin(u) - cos(v),
+ 0);
+0;
+
+block ([L: []], for [x, y] in hh2 do push ([x, y], L), sort (L));
+[[[456, cos(w)], sin(u) - cos(v)],
+ [[678, "blurf"], 876 - mumble],
+ [[987, "sdf"], 777*zxy]];
+
+[x, y];
+[x, y];
+
+block ([L: []], for [[x1, x2], y] in hh2 do push ([x1, x2, y], L), sort (L));
+[[456, cos(w), sin(u) - cos(v)],
+ [678, "blurf", 876 - mumble],
+ [987, "sdf", 777*zxy]];
+
+[x1, x2, y];
+[x1, x2, y];
+
+/* three keys */
+
+(hh3: make_array (hashed, 1, 1, 1), 0);
+0;
+
+?hash\-table\-p (hh3);
+true;
+
+(hh3[hgf, fds, jhg]: cos(trwq),
+ hh3[asdfg, 1 - rewq, 2*treww]: sin(poiur) - cos(kjghds),
+ hh3[ewq, 2 - jdssaaq, 3*cxmmz]: sqrt(ytre),
+ 0);
+0;
+
+block ([L: []], for [p, q] in hh3 do push ([p, q], L), sort (L));
+[[[asdfg, 1 - rewq, 2*treww], sin(poiur) - cos(kjghds)],
+ [[ewq, 2 - jdssaaq, 3*cxmmz], sqrt(ytre)],
+ [[hgf, fds, jhg], cos(trwq)]];
+
+[p, q];
+[p, q];
+
+block ([L: []], for [[p1, p2, p3], q] in hh3 do push ([p1, p2, p3, q], L), sort (L));
+[[asdfg, 1 - rewq, 2*treww, sin(poiur) - cos(kjghds)],
+ [ewq, 2 - jdssaaq, 3*cxmmz, sqrt(ytre)],
+ [hgf, fds, jhg, cos(trwq)]];
+
+[p1, p2, p3, q];
+[p1, p2, p3, q];
+
+arrays;
+[];
+
+kill (all);
+done;
+
+/* named hash tables: "undeclared arrays" */
+
+/* one key */
+
+(bb1["mumble"]: 123, bb1["blarf"]: 234, bb1["blurf"]: 999, bb1["blarg"]: 345, 0);
+0;
+
+?hash\-table\-p (bb1);
+false;
+
+arrays;
+[bb1];
+
+block ([L: []], for [u, v] in bb1 do push ([v, u], L), sort (L));
+[[123, ["mumble"]], [234, ["blarf"]], [345, ["blarg"]], [999, ["blurf"]]];
+
+[u, v];
+[u, v];
+
+block ([L: []], for [[u], v] in bb1 do push ([v, u], L), sort (L));
+[[123, "mumble"], [234, "blarf"], [345, "blarg"], [999, "blurf"]];
+
+[u, v];
+[u, v];
+
+/* two keys */
+
+(bb2["pqr", 1 + %pi]: sin(k*%pi), bb2["zxy", 2*%pi]: cos(m*%pi), bb2["hgfedc", 3 - blurf]: tan(n*%pi), 0);
+0;
+
+arrays;
+[bb1, bb2];
+
+w: 321;
+321;
+
+block ([L: []], for [v, w] in bb2 do push ([v, w], L), sort (L));
+[[["hgfedc", 3 - blurf], tan(n*%pi)], [["pqr", 1 + %pi], sin(k*%pi)], [["zxy", 2*%pi], cos(m*%pi)]];
+
+[v, w];
+[v, 321];
+
+v2: 432;
+432;
+
+block ([L: []], for [[v1, v2], w] in bb2 do push ([v1, v2, w], L), sort (L));
+[["hgfedc", 3 - blurf, tan(n*%pi)], ["pqr", 1 + %pi, sin(k*%pi)], ["zxy", 2*%pi, cos(m*%pi)]];
+
+[v1,v2, w];
+[v1, 432, 321];
+
+/* three keys */
+
+(bb3[zxy, "blah", cos(a) + cos(b)]: tan(a + b),
+ bb3[hjk, "mumble", cos(y) - x]: cot(a - b),
+ bb3[uvw, "qwerty", foo(z) + q]: sec(2*b - a),
+ 0);
+0;
+
+arrays;
+[bb1, bb2, bb3];
+
+block ([L: []], for [w, v] in bb3 do push ([w, v], L), sort (L));
+[[[hjk, "mumble", cos(y) - x], cot(a - b)],
+ [[uvw, "qwerty", foo(z) + q], sec(2*b - a)],
+ [[zxy, "blah", cos(a) + cos(b)], tan(a + b)]];
+
+[w, v];
+[321, v];
+
+block ([L: []], for [[v1, v2, w], v] in bb3 do push ([v1, v2, w, v], L), sort (L));
+[[hjk, "mumble", cos(y) - x, cot(a - b)],
+ [uvw, "qwerty", foo(z) + q, sec(2*b - a)],
+ [zxy, "blah", cos(a) + cos(b), tan(a + b)]];
+
+
+[v1, v2, w, v];
+[v1, 432, 321, v];
+
+/* additional tests for MUNBIND */
+
+kill (all);
+done;
+
+(a: "foo", b: "bar", c: "baz", 0);
+0;
+
+(blurf (a, b, c, d, e, f) := (a + b + c)*(d + e + f),
+ blurf (1, 2, 3, 4, 5, 6));
+90;
+
+[a, b, c, d, e, f];
+["foo", "bar", "baz", d, e, f];
+
+(x1: 123,
+ mumble (a, b, [L]) := (a + b) * lsum (x1, x1, L),
+ mumble (7, 8, 9, 10, 11));
+450;
+
+[a, b, L, x1];
+["foo", "bar", L, 123];
+
+(harrumph (b, 'c, d) := b*c*d,
+ harrumph (111, x1, %pi));
+111*x1*%pi;
+
+[b, c, d];
+["bar", "baz", d];
+
+(blarg[x, b] := x^b,
+ blarg[1 - u, 1 - k]);
+(1 - u)^(1 - k);
+
+[b, x];
+["bar", x];
+
+(y: 999,
+ hurfgh[c](x, y) := (x + y)*c,
+ hurfgh[n](4, 2*w));
+n*(2*w + 4);
+
+[c, x, y];
+["baz", x, 999];
+
+block ([L: []], for b: 10 thru 20 do push (b, L), L);
+[20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10];
+
+[L, b];
+[L, "bar"];
+
+sum (b^2, b, 3, 5);
+50;
+
+b;
+"bar";
+
+product (c/2, c, 6, 8);
+42;
+
+c;
+"baz";
+
+'sum (b^2, b, 3, 5);
+'sum (b^2, b, 3, 5);
+
+b;
+"bar";
+
+'product (c/2, c, 6, 8);
+'product (c/2, c, 6, 8);
+
+c;
+"baz";
+
+block ([d, c, b, a: 111], b: 2, c: 3, a*b*c*d);
+666*d;
+
+[a, b, c, d];
+["foo", "bar", "baz", d];
+
+lambda ([c, f, g, b], (c + f)*(g + b))(x1, 1 - u, %e, %pi);
+(124 - u)*(%e + %pi);
+
+[b, c, f, g];
+["bar", "baz", f, g];
+
+lambda ([a,'b], a^b)(11, x1);
+11^x1;
+
+[a, b, x1];
+["foo", "bar", 123];
+
+lambda ([a,b,[c]], lsum(c1^2, c1, c)^(a^b))(%pi, %e, x1, y, u);
+(u^2 + 1013130)^(%pi^%e);
+
+[a, b, c, c1];
+["foo", "bar", "baz", c1];
-----------------------------------------------------------------------
hooks/post-receive
--
Maxima CAS
|
|
From: rtoy <rt...@us...> - 2025-11-28 21:44:50
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Maxima CAS".
The branch, master has been updated
via d931b3374b5d60ebfaaaafda050e042a571c881c (commit)
via 5e51fb893730956af2d7664bfe4950b0c0d7e0e6 (commit)
via 9987caa266f49eb1c2af201880c5d8a5214cf961 (commit)
via 53ae7d628a859fe44f4df908245a270f502c1f97 (commit)
via 1ecb9bcc5643f302b56e5cb87de65245eefee3c7 (commit)
via 4bfce99888373c3a98f28d070b7e03136d446877 (commit)
from a4546c9094c8d35c9d59e5374285652aec63293d (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 d931b3374b5d60ebfaaaafda050e042a571c881c
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"))
commit 5e51fb893730956af2d7664bfe4950b0c0d7e0e6
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
commit 9987caa266f49eb1c2af201880c5d8a5214cf961
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 53ae7d628a859fe44f4df908245a270f502c1f97
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 1ecb9bcc5643f302b56e5cb87de65245eefee3c7
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);
commit 4bfce99888373c3a98f28d070b7e03136d446877
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 */
-----------------------------------------------------------------------
Summary of changes:
configure.ac | 105 +---------------------------------------------
doc/info/manual.css | 114 ++++++++++++++++++++++++++++----------------------
src/command-line.lisp | 3 --
src/globals.lisp | 3 +-
src/maxima-build.lisp | 3 +-
5 files changed, 66 insertions(+), 162 deletions(-)
hooks/post-receive
--
Maxima CAS
|
|
From: rtoy <rt...@us...> - 2025-11-27 22:56: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-manual-css-more-vars has been updated
via 1a50e6fa3d066e3952933c9558a0bae6e67c5586 (commit)
via c0d34bc2c6d906b84786284345b9c8717fa87d54 (commit)
via 015e5cc9072906c6f3133aaeee860ae0bbc3b503 (commit)
via ea4518bc2b5a01fc8c876bde2313cdee425035d6 (commit)
via c380557ab485e0d5fc5b4c775216081f686214df (commit)
via bb404ea5eeb2a3bae0d3cea46708d36992124b09 (commit)
from d9e825f93c06d0092373599bc7e9836b316f9af2 (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 1a50e6fa3d066e3952933c9558a0bae6e67c5586
Merge: d9e825f93 c0d34bc2c
Author: Raymond Toy <toy...@gm...>
Date: Thu Nov 27 14:56:35 2025 -0800
Merge branch 'master' into rtoy-manual-css-more-vars
commit c0d34bc2c6d906b84786284345b9c8717fa87d54
Merge: c380557ab 015e5cc90
Author: Raymond Toy <toy...@gm...>
Date: Wed Nov 26 06:55:17 2025 -0800
Merge branch 'rtoy-remove-scl'
This removes scl support from configure.ac and a few other places.
-----------------------------------------------------------------------
Summary of changes:
configure.ac | 105 +--------------------
doc/info/Bugs.texi | 6 +-
doc/info/Input.texi | 4 +-
.../gentran/test/compare_var_translations.mac | 81 ++++++++++++++++
share/contrib/gentran/test/foo-fortran.template | 20 ++++
share/contrib/gentran/test/foo-ratfor.template | 15 +++
src/command-line.lisp | 3 -
src/globals.lisp | 3 +-
src/maxima-build.lisp | 3 +-
9 files changed, 124 insertions(+), 116 deletions(-)
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: dauti <da...@us...> - 2025-11-27 20:35: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 updated
via 8fe0ee85530ed3cdebe33153da6428dd3f432182 (commit)
from 6c6d825bdf4fad8235ccc790b5e1e47f41109a75 (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 8fe0ee85530ed3cdebe33153da6428dd3f432182
Author: Wolfgang Dautermann <da...@us...>
Date: Thu Nov 27 21:34:58 2025 +0100
Remove SCL code from src/Makefile.am and tests/Makefile.am.
Now ./bootstrap works without errors.
diff --git a/src/Makefile.am b/src/Makefile.am
index 2e878b950..1d8920956 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -197,45 +197,6 @@ clean-cmucl:
rm -rf binary-cmucl
CLEAN_TARGETS += clean-cmucl
-## SCL #########################################################################
-if SCL
-
-scllibdir = $(verpkglibdir)/binary-scl
-
-EXECUTESCL = $(SCL_NAME) -noinit -batch
-BUILT_FILES += binary-scl/maxima.core
-scllib_DATA = binary-scl/maxima.core
-
-scl: binary-scl/maxima.core
-
-binary-scl/maxima.core:
- $(MAKE) bd
- (echo '$(QUIET) $(LOADDEFSYSTEM) $(DEFSYSTEMCOMPILE)' | $(EXECUTESCL)) && \
- (echo '$(LOADDEFSYSTEM) $(DEFSYSTEMLOAD) (ext:save-lisp "binary-scl/maxima.core")' | $(EXECUTESCL))
-
-## Just like with clisp, we install an extra copy of SCL. No, I don't
-## understand either. Also, I just read the SCL license agreement. Is
-## the user even allowed to do this?!
-WEIRD_INSTALL_TARGETS += install-scl-copy
-WEIRD_UNINSTALL_TARGETS += uninstall-scl-copy
-install-scl-copy:
- $(mkinstalldirs) $(DESTDIR)$(scllibdir)
- $(INSTALL_PROGRAM) @SCL_RUNTIME_PATH@ "$(DESTDIR)$(scllibdir)/@SCL_RUNTIME@"
-uninstall-scl-copy:
- rm -f "$(DESTDIR)$(scllibdir)/@SCL_RUNTIME@"
-
-scl-depends.mk: maxima.system Makefile *.lisp
- echo $(call MAKE_DEPENDS,"binary-scl/maxima.core",scl-depends.mk.tmp) | $(EXECUTESCL)
- sed -e "s#\\\\#/#g" < scl-depends.mk.tmp > scl-depends.mk
-
--include scl-depends.mk
-
-endif
-
-clean-scl:
- rm -rf binary-scl
-CLEAN_TARGETS += clean-scl
-
## ACL #########################################################################
if ACL
diff --git a/tests/Makefile.am b/tests/Makefile.am
index ebbeae3bd..df509f300 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -24,15 +24,6 @@ cmucl-test.sh: test.sh Makefile
chmod +x "$@"
endif
-if SCL
-TESTS += scl-test.sh
-CLEANFILES += scl-test.sh scl.log scl_share.log
-scl-test.sh: test.sh Makefile
- echo "#!/bin/sh" > $@
- echo "./test.sh scl" >> $@
- chmod +x "$@"
-endif
-
if SBCL
TESTS += sbcl-test.sh
CLEANFILES += sbcl-test.sh sbcl.log sbcl_share.log
-----------------------------------------------------------------------
Summary of changes:
src/Makefile.am | 39 ---------------------------------------
tests/Makefile.am | 9 ---------
2 files changed, 48 deletions(-)
hooks/post-receive
--
Maxima CAS
|
|
From: dauti <da...@us...> - 2025-11-27 20:30: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 6c6d825bdf4fad8235ccc790b5e1e47f41109a75 (commit)
from 015e5cc9072906c6f3133aaeee860ae0bbc3b503 (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 6c6d825bdf4fad8235ccc790b5e1e47f41109a75
Author: Wolfgang Dautermann <da...@us...>
Date: Thu Nov 27 21:28:49 2025 +0100
SBCL (not SCL) code was removed in commit ea4518bc2.
diff --git a/configure.ac b/configure.ac
index 72e902142..abef6b000 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1429,6 +1429,14 @@ if test x"${cmucl}" = xtrue ; then
echo Use "--enable-cmucl-exec to build a standalone executable instead."
fi
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
-----------------------------------------------------------------------
Summary of changes:
configure.ac | 8 ++++++++
1 file changed, 8 insertions(+)
hooks/post-receive
--
Maxima CAS
|
|
From: l_butler <l_b...@us...> - 2025-11-27 18:34:27
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Maxima CAS".
The branch, master has been updated
via a4546c9094c8d35c9d59e5374285652aec63293d (commit)
via 81712b7ec36931da2fdfc1c663fb3bffee1f2fc3 (commit)
from c380557ab485e0d5fc5b4c775216081f686214df (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 a4546c9094c8d35c9d59e5374285652aec63293d
Author: Atri Bhattacharya <bad...@op...>
Date: Thu Nov 27 12:27:25 2025 -0600
Draw: add support for standalone cairolatex pdf terminal.
Part 2 of 2.
Patch supplied by Atri Bhattacharya <bad...@op...>.
Includes update to documentation.
Ref: https://sourceforge.net/p/maxima/mailman/message/59265356
diff --git a/doc/info/draw.texi b/doc/info/draw.texi
index bdd888d17..0929c79dd 100644
--- a/doc/info/draw.texi
+++ b/doc/info/draw.texi
@@ -1129,6 +1129,7 @@ points in each direction. If they are not integers, they are rounded.
With terminals @code{eps}, @code{epslatex}, @code{epslatex_standalone},
@code{eps_color}, @code{multipage_eps}, @code{multipage_eps_color},
+@code{cairolatex_pdf}, @code{cairolatex_pdf_standalone},
@code{pdf}, @code{multipage_pdf}, @code{pdfcairo},
@code{multipage_pdfcairo}, @code{tikz}, and @code{tikz_standalone}, both
numbers represent hundredths of cm, which means that, by default,
@@ -2726,6 +2727,7 @@ Default value: @code{screen}
Selects the terminal to be used by Gnuplot; possible values are:
@code{screen} (default), @code{png}, @code{pngcairo}, @code{jpg}, @code{gif},
+@code{cairolatex_pdf}, @code{cairolatex_pdf_standalone},
@code{eps}, @code{eps_color}, @code{epslatex}, @code{epslatex_standalone},
@code{svg}, @code{canvas}, @code{dumb}, @code{dumb_file}, @code{pdf}, @code{pdfcairo},
@code{wxt}, @code{animated_gif}, @code{multipage_pdfcairo}, @code{multipage_pdf},
diff --git a/share/draw/gnuplot.lisp b/share/draw/gnuplot.lisp
index 831b5715c..f35129912 100644
--- a/share/draw/gnuplot.lisp
+++ b/share/draw/gnuplot.lisp
@@ -1,7 +1,7 @@
;;; COPYRIGHT NOTICE
;;;
;;; Copyright (C) 2007-2016 Mario Rodriguez Riotorto
-;;; Time-stamp: "2025-11-27 12:22:21 Leo Butler"
+;;; Time-stamp: "2025-11-27 12:27:02 Leo Butler"
;;;
;;; This program is free software; you can redistribute
;;; it and/or modify it under the terms of the
@@ -2857,7 +2857,7 @@
(setf plotcmd
(concatenate 'string
(unless (or *multiplot-is-active*
- (member (get-option '$terminal) '($eps $epslatex $epslatex_standalone $cairolatex_pdf)))
+ (member (get-option '$terminal) '($eps $epslatex $epslatex_standalone $cairolatex_pdf $cairolatex_pdf_standalone)))
(format nil "set obj 1 fc rgb '~a' fs solid 1.0 noborder ~%"
(get-option '$background_color)) )
(if (equal (get-option '$proportional_axes) '$none)
@@ -3344,6 +3344,11 @@
(/ (first (get-option '$dimensions)) 100.0)
(/ (second (get-option '$dimensions)) 100.0)
(get-option '$file_name)))
+ ($cairolatex_pdf_standalone (format cmdstorage "set terminal cairolatex pdf standalone ~a color size ~acm, ~acm~%set out '~a.tex'"
+ (write-font-type)
+ (/ (first (get-option '$dimensions)) 100.0)
+ (/ (second (get-option '$dimensions)) 100.0)
+ (get-option '$file_name)))
(($pdf $multipage_pdf) (format cmdstorage "set terminal pdf dashed enhanced ~a color size ~acm, ~acm~%set out '~a.pdf'"
(write-font-type)
(/ (first (get-option '$dimensions)) 100.0)
@@ -3488,7 +3493,7 @@
(format cmdstorage "~%set size ~a, ~a~%" size1 size2)
(format cmdstorage "set origin ~a, ~a~%" origin1 origin2)
(unless (or *multiplot-is-active*
- (member (get-option '$terminal) '($epslatex $epslatex_standalone $cairolatex_pdf)))
+ (member (get-option '$terminal) '($epslatex $epslatex_standalone $cairolatex_pdf $cairolatex_pdf_standalone)))
(format cmdstorage "set obj 1 rectangle behind from screen ~a,~a to screen ~a,~a~%"
origin1 origin2 (+ origin1 size1 ) (+ origin2 size2))) ))
(setf is1stobj t
@@ -3686,7 +3691,12 @@
(/ (first (get-option '$dimensions)) 100.0)
(/ (second (get-option '$dimensions)) 100.0)
(get-option '$file_name))))
- ($cairolatex_pdf (format str "set terminal cairolatex pdf ~a color colortext size ~acm, ~acm~%set out '~a.tex'"
+ ($cairolatex_pdf (format str "set terminal cairolatex pdf ~a color size ~acm, ~acm~%set out '~a.tex'"
+ (write-font-type)
+ (/ (first (get-option '$dimensions)) 100.0)
+ (/ (second (get-option '$dimensions)) 100.0)
+ (get-option '$file_name)))
+ ($cairolatex_pdf_standalone (format str "set terminal cairolatex pdf standalone ~a color size ~acm, ~acm~%set out '~a.tex'"
(write-font-type)
(/ (first (get-option '$dimensions)) 100.0)
(/ (second (get-option '$dimensions)) 100.0)
diff --git a/share/draw/grcommon.lisp b/share/draw/grcommon.lisp
index 85f6f7d43..934d4c6d6 100644
--- a/share/draw/grcommon.lisp
+++ b/share/draw/grcommon.lisp
@@ -984,7 +984,7 @@
$dumb $dumb_file $pdf $pdfcairo $wxt $animated_gif $windows
$multipage_pdfcairo $multipage_pdf $multipage_eps
$multipage_eps_color $aquaterm $tiff $vrml $obj $stl $pnm $ply
- $cairolatex_pdf)))
+ $cairolatex_pdf $cairolatex_pdf_standalone)))
(cond
((member val terms)
(when (and (eq val '$png) $draw_use_pngcairo)
commit 81712b7ec36931da2fdfc1c663fb3bffee1f2fc3
Author: Atri Bhattacharya <bad...@op...>
Date: Thu Nov 27 12:24:29 2025 -0600
Draw: Add support for cairolatex pdf terminal
Part 1 of 2.
Patch supplied via the mailing list by Atri Bhattacharya
<bad...@op...>.
Ref: https://sourceforge.net/p/maxima/mailman/message/59265356
diff --git a/share/draw/gnuplot.lisp b/share/draw/gnuplot.lisp
index de004eb6e..831b5715c 100644
--- a/share/draw/gnuplot.lisp
+++ b/share/draw/gnuplot.lisp
@@ -1,7 +1,7 @@
;;; COPYRIGHT NOTICE
;;;
;;; Copyright (C) 2007-2016 Mario Rodriguez Riotorto
-;;; Time-stamp: "2024-11-28 17:39:24 Leo Butler"
+;;; Time-stamp: "2025-11-27 12:22:21 Leo Butler"
;;;
;;; This program is free software; you can redistribute
;;; it and/or modify it under the terms of the
@@ -2857,7 +2857,7 @@
(setf plotcmd
(concatenate 'string
(unless (or *multiplot-is-active*
- (member (get-option '$terminal) '($eps $epslatex $epslatex_standalone)))
+ (member (get-option '$terminal) '($eps $epslatex $epslatex_standalone $cairolatex_pdf)))
(format nil "set obj 1 fc rgb '~a' fs solid 1.0 noborder ~%"
(get-option '$background_color)) )
(if (equal (get-option '$proportional_axes) '$none)
@@ -3339,6 +3339,11 @@
(/ (first (get-option '$dimensions)) 100.0)
(/ (second (get-option '$dimensions)) 100.0)
(get-option '$file_name)))
+ ($cairolatex_pdf (format cmdstorage "set terminal cairolatex pdf ~a color size ~acm, ~acm~%set out '~a.tex'"
+ (write-font-type)
+ (/ (first (get-option '$dimensions)) 100.0)
+ (/ (second (get-option '$dimensions)) 100.0)
+ (get-option '$file_name)))
(($pdf $multipage_pdf) (format cmdstorage "set terminal pdf dashed enhanced ~a color size ~acm, ~acm~%set out '~a.pdf'"
(write-font-type)
(/ (first (get-option '$dimensions)) 100.0)
@@ -3483,7 +3488,7 @@
(format cmdstorage "~%set size ~a, ~a~%" size1 size2)
(format cmdstorage "set origin ~a, ~a~%" origin1 origin2)
(unless (or *multiplot-is-active*
- (member (get-option '$terminal) '($epslatex $epslatex_standalone)))
+ (member (get-option '$terminal) '($epslatex $epslatex_standalone $cairolatex_pdf)))
(format cmdstorage "set obj 1 rectangle behind from screen ~a,~a to screen ~a,~a~%"
origin1 origin2 (+ origin1 size1 ) (+ origin2 size2))) ))
(setf is1stobj t
@@ -3681,6 +3686,11 @@
(/ (first (get-option '$dimensions)) 100.0)
(/ (second (get-option '$dimensions)) 100.0)
(get-option '$file_name))))
+ ($cairolatex_pdf (format str "set terminal cairolatex pdf ~a color colortext size ~acm, ~acm~%set out '~a.tex'"
+ (write-font-type)
+ (/ (first (get-option '$dimensions)) 100.0)
+ (/ (second (get-option '$dimensions)) 100.0)
+ (get-option '$file_name)))
($pdf (setf str (format nil "set terminal pdf dashed enhanced ~a color size ~acm, ~acm~%set out '~a.pdf'"
(write-font-type)
(/ (first (get-option '$dimensions)) 100.0)
diff --git a/share/draw/grcommon.lisp b/share/draw/grcommon.lisp
index 513a06074..85f6f7d43 100644
--- a/share/draw/grcommon.lisp
+++ b/share/draw/grcommon.lisp
@@ -983,7 +983,8 @@
$epslatex $epslatex_standalone $svg $tikz $tikz_standalone $x11 $qt
$dumb $dumb_file $pdf $pdfcairo $wxt $animated_gif $windows
$multipage_pdfcairo $multipage_pdf $multipage_eps
- $multipage_eps_color $aquaterm $tiff $vrml $obj $stl $pnm $ply)))
+ $multipage_eps_color $aquaterm $tiff $vrml $obj $stl $pnm $ply
+ $cairolatex_pdf)))
(cond
((member val terms)
(when (and (eq val '$png) $draw_use_pngcairo)
-----------------------------------------------------------------------
Summary of changes:
doc/info/draw.texi | 2 ++
share/draw/gnuplot.lisp | 26 +++++++++++++++++++++++---
share/draw/grcommon.lisp | 3 ++-
3 files changed, 27 insertions(+), 4 deletions(-)
hooks/post-receive
--
Maxima CAS
|
|
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
|