Skip to content

Commit c86e0b1

Browse files
committed
v2.4 release. Update dates and documentation. Drop release notes from README.md.
1 parent 6bfc9be commit c86e0b1

File tree

4 files changed

+118
-281
lines changed

4 files changed

+118
-281
lines changed

README.md

Lines changed: 4 additions & 207 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Run-REDUCE-FX
22

3-
## A JavaFX GUI to run any CLI version of the REDUCE Computer Algebra System
3+
## A JavaFX GUI to run CLI versions of the REDUCE Computer Algebra System
44

55
### Francis Wright, November 2020
66

@@ -19,6 +19,9 @@ Guide](https://fjwright.github.io/Run-REDUCE-FX/UserGuide.html) (which
1919
is also included in Run-REDUCE-FX and easily accessible via the Help
2020
menu).
2121

22+
See also the [release notes for all
23+
releases](https://github.com/fjwright/Run-REDUCE-FX/releases).
24+
2225
Run-REDUCE-FX should run on any platform that supports JavaFX 11 (or
2326
later), but I can only test it on Microsoft Windows and Linux.
2427
(Whilst Java is portable, filesystem structures, installation
@@ -37,209 +40,3 @@ Run-REDUCE-FX currently uses a bundled copy of
3740
[KaTeX](https://katex.org/) to render LaTeX output by code based on
3841
the REDUCE *tmprint* package when the *Typeset Maths* option is
3942
selected.
40-
41-
## Release Notes
42-
43-
### Version 1.1
44-
45-
* Avoid warning messages and hanging Help menu items on Ubuntu, but
46-
suppress display of PDF files via the Help menu on non-Windows
47-
platforms since it's probably not currently very helpful!
48-
* Add instructions for installing and running using Java 11 on Linux
49-
and improve the appearance of the User Guide.
50-
* Use CSS to set the REDUCE font, size, weight and colour, and use the
51-
same font and size for input as well as output.
52-
* Validate direct input to the FontSizeDialog via the editor.
53-
* Validate generic root directories in REDUCEConfigDialog. Rebuild
54-
the Run REDUCE submenus on saving REDUCEConfigDialog. Improve error
55-
messages.
56-
57-
### Version 1.2
58-
59-
* Update the build environment to Java 11 and JavaFX 11, which are now
60-
also required to run Run-REDUCE-FX.
61-
* Provide batch files to run Run-REDUCE-FX more easily.
62-
* Re-instate display of PDF files via the Help menu on non-Windows
63-
platforms.
64-
* Fix truncated text in the About dialogue.
65-
66-
### Version 1.3
67-
68-
* Provide templates for *df*, *int* and *mat* expressions and *for*
69-
statements.
70-
* Add a hyperlinked Contents section to the User Guide.
71-
72-
### Version 1.4
73-
74-
* Provide templates for multiple integrals, finite sums and products,
75-
double- and single-sided limits, and solve.
76-
* Provide a Functions menu offering dialogues that facilitate access
77-
to key elementary functions, Gamma, Beta and related functions,
78-
integral functions, Airy, Bessel and related functions, Struve,
79-
Lommel, Kummer, Whittaker and spherical harmonic functions, and
80-
classical orthogonal polynomials. Special function names link to
81-
the online NIST Digital Library of Mathematical Functions.
82-
* Appropriate templates include a symbolic/numeric option and access
83-
to relevant REDUCE switches and packages.
84-
* Provide a pop-up keyboard (currently only on template and function
85-
dialogues) for symbolic constants, Greek letters, elementary
86-
functions, trigonometric functions (using radians or degrees) and
87-
hyperbolic functions. **Still need to arrange that the pop-up
88-
keyboard loads the trigd package as appropriate.**
89-
* The function dialogues and pop-up keyboard together offer all the
90-
functions listed in section 7.2 Mathematical Functions of the REDUCE
91-
Manual plus degree versions of all trigonometric functions.
92-
93-
### Version 1.5
94-
95-
* Add REDUCE Manual hyperlinks to all template and function dialogues.
96-
* Add Help menu items that open the REDUCE Web Site and SourceForge
97-
Project Site in the default browser.
98-
99-
### Version 1.6
100-
101-
* Use WebView to display REDUCE output, and update instructions and
102-
batch files for running Run-REDUCE-FX accordingly.
103-
* Set the default Session Log filename to `session.log`.
104-
* Turning bold prompts on and off now works retrospectively.
105-
* Turning I/O colouring on and off now works retrospectively (as far
106-
as possible).
107-
108-
### Version 1.7
109-
110-
* Add experimental Typeset I/O option, currently hidden, to the View
111-
menu to use fmprint and KaTeX, which does not yet work reliably.
112-
* Update the documentation to try to make it easier to access the
113-
latest jar.
114-
* Redesign the REDUCE Configuration dialogue:
115-
- Replace Packages Root Directory with REDUCE Packages Directory.
116-
- Split Documentation Root Dir into REDUCE Manual Directory and
117-
REDUCE Primers Directory.
118-
- **The above two changes are not backwards compatible!**
119-
- Add Initial I/O Directory, which defaults to the user's home
120-
directory, as before.
121-
- Add a ContextMenu to implement key choices for Initial I/O
122-
Directory: Home Directory; Current Directory; Another Directory.
123-
124-
### Version 1.8
125-
126-
* The Typeset Maths View menu option enables typeset-style display of
127-
algebraic-mode output. But beware that this is currently
128-
experimental and has a number of limitations.
129-
* Rename Initial I/O Directory to REDUCE Working Directory in the
130-
REDUCE Configuration dialogue. This now sets the initial directory
131-
for both REDUCE and the file selectors and defaults to the user's
132-
home directory.
133-
* View options apply to each REDUCE panel independently, initialised
134-
from the last selected (and saved) values, and the redfront View
135-
option takes effect after the next prompt.
136-
* A toggle button on each REDUCE panel hides the input editor.
137-
* When split-pane view is enabled after startup, the new panel is
138-
active and a green dot at the top right shows which panel is
139-
selected.
140-
141-
### Version 1.9
142-
143-
* Detect question prompts correctly.
144-
* Add a *Print Session Log...* item to the File menu, which prints the
145-
entire content of the I/O Display pane as it appears on screen.
146-
* Fix the *Save Session Log...* code to output the TeX markup used to
147-
display typeset maths.
148-
* Move *Load Packages...* to the *REDUCE* menu.
149-
* Support the pop-up keyboard on the input editor and add a label
150-
"Control+Click for the Pop-Up Keyboard" with a tooltip to the top of
151-
the input editor and the bottom of each template dialogue.
152-
* Handle more of the non-standard TeX markup generated by fmprint.
153-
154-
### Version 2.0
155-
156-
* Fix the display of big delimiters in typeset maths.
157-
* Always insert parentheses when calling a function using the pop-up
158-
keyboard, rewrite ln to log and remove the space after sqrt.
159-
160-
### Version 2.1
161-
162-
* Remember the directory used in the filechooser.
163-
* Always decode non-ASCII characters from the pop-up keyboard and from
164-
templates to their correct REDUCE or TeX names.
165-
* Replace loading the fmprint package with inputting and compiling the
166-
new source file "rrprint.red" contained in the JAR file, which is
167-
based on "tmprint.red".
168-
* Typeset maths improvements:
169-
* Apply the fix by Eberhard Shruefer so that order commands work.
170-
* Output identifiers in mathit instead of mathrm style.
171-
* Correct spacing of := and leading + and - signs.
172-
* Display a trailing multiplication sign but otherwise ignore
173-
multiplications. (This may be too drastic.)
174-
* Support all trigonometric and hyperbolic functions and their
175-
inverses, and logb and log10.
176-
* Display the gamma function, but not the identifier gamma, using a
177-
capital Gamma.
178-
* Support the polygamma, iGamma, iBeta, dilog, Pochhammer and
179-
integral functions.
180-
* Support Airy and Hankel functions.
181-
* Support Struve, Lommel, Kummer, Whittaker and spherical harmonic
182-
functions, and the classical orthogonal polynomials.
183-
184-
### Version 2.2
185-
186-
* Remove the middle mouse button binding for the pop-up keyboard,
187-
since it clashes with the X Window primary paste gesture (although
188-
this is not supported).
189-
* Scroll more reliably to the bottom of the REDUCE I/O display window.
190-
* Add a Kill REDUCE item to the bottom of the REDUCE menu. Display an
191-
information alert when REDUCE is killed and an error message if this
192-
may have failed. Handle failure of REDUCE to start better and check
193-
that REDUCE is alive before trying to send it input.
194-
* Improve alerts relating to printing.
195-
* Display the version number on the title bar.
196-
* Add new sections on Editing, Typeset Maths Display and Printing on
197-
Linux to the User Guide.
198-
* Typeset maths improvements:
199-
* Restore compatibility with tmprint so that `excalc.tst` runs.
200-
* Use a narrow space to indicate multiplication (except at the end of
201-
a line) because with no space x*y is indistinguishable from xy.
202-
* Output strings as text rather than maths and identifiers using
203-
mathit. Support the dfprint switch.
204-
* Treat trailing digits in an identifier (optionally preceded by \_)
205-
as a subscript. Treat the final _ in an identifier as introducing
206-
a subscript if it is followed by (the name of) a single character.
207-
But as a special case, display body_bar as \bar{body} for a
208-
single-character body or \overline{body} for a multi-character
209-
body.
210-
* Ensure that operator identifiers are subscripted like non-operator
211-
identifiers. Note that line breaking is thoroughly broken!
212-
* Display repart and impart as \Re and \Im.
213-
* Display matrices more readably by using \displaystyle for each
214-
element and increasing the row spacing to 1.5em.
215-
* REDUCE Configuration Dialogue improvements:
216-
* Use \ as directory separator in the Windows default configuration.
217-
* Detect unreadable directories and files in more fields.
218-
* Substantial revision to fix some subtle misbehaviour.
219-
220-
### Version 2.3
221-
222-
* Make *Generic information for all REDUCE commands* fields all
223-
optional, resetting to defaults where appropriate. Correct the
224-
behaviour to allow the REDUCE Root Directory text field to be empty,
225-
and to use the Command Root Directory if it is set.
226-
* Add a *Restart REDUCE* item to the REDUCE menu to do a full clean
227-
restart of the last-run REDUCE command.
228-
* Set a minimum size for the main window.
229-
* Allow space at the bottom of the main display so that the horizontal
230-
scroll bar does not obscure the prompt.
231-
* Improve automatic scrolling to the bottom of the display pane.
232-
* Highlight warnings and errors with an appropriate background colour.
233-
* Typeset maths improvements:
234-
* Improve line breaking.
235-
* Allow special function symbols to depend on a function's arity and
236-
use this for the gamma function to avoid perturbing "excalc.tst".
237-
* Process `_bar` in an identifier as an over-bar even if it is
238-
followed by digits or `_k`.
239-
* Improve display with `on list` and display matrix assignments as
240-
assignments, which now both appear correct for "alg.tst".
241-
* Display `abs(x)` as |x|.
242-
* Remove all superfluous space around commas in algebraic lists and
243-
flat printed matrix rows.
244-
245-
### Updates since last release

docs/UserGuide.html

Lines changed: 56 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -624,55 +624,73 @@ <h2 id="ViewMenu">The View Menu</h2>
624624

625625
<p>Run-REDUCE-FX remembers the options you select using
626626
the <em>View</em> menu and uses them the next time you start
627-
Run-REDUCE-FX. The first four options (above the separator) apply
628-
to each REDUCE panel independently and Run-REDUCE-FX uses the last
629-
set values initially when you create a new REDUCE panel.
630-
The <em>View</em> menu provides the following items:</p>
627+
Run-REDUCE-FX. Run-REDUCE-FX uses the last set values initially
628+
when you create a new REDUCE panel. The <em>View</em> menu
629+
provides the following items:</p>
631630
<h3>Font Size...</h3>
632631
<p>This displays a dialogue that allows you to change the font
633632
size used in the <em>Input/Output Display</em> and <em>Input
634-
Editor</em> panes.
633+
Editor</em> panes. It applies to each REDUCE panel independently.
634+
</p>
635+
<h3>Font Colours...</h3>
636+
<p>This displays a dialogue that allows you to change the colours
637+
used in the <em>Input/Output Display</em> pane. Currently, it
638+
applies to the REDUCE panel selected when you click on
639+
the <em>Save</em> button (but this is not consistent with other
640+
options and may change in a future release).
641+
</p>
642+
<p>The colours that you can select are the foreground text colours
643+
for algebraic and symbolic mode input and output, and the
644+
background colours for warnings (preceded by <code>***</code>)
645+
and errors (preceded by <code>*****</code>). The labels on the
646+
left model the colours. Clicking on a button on the right drops
647+
down a simple colour grid from which you can pick a colour, and
648+
clicking on <em>Custom Color...</em> at the bottom of the grid
649+
opens a more advanced dialogue, which includes the option to
650+
change the opacity. This is primarily relevant to the
651+
background colours, which are 25% opaque by default.
652+
</p>
653+
<p>If you click on the <em>Cancel</em> button then the colours
654+
used do not change. If you click on the <em>Save</em> button
655+
then the currently selected colours are used for the selected
656+
REDUCE panel and saved as preferences. They will be used by
657+
default the next time you start Run-REDUCE-FX. If you click on
658+
the <em>Reset Defaults</em> button then the built-in default
659+
colours are reinstated in the dialogue but not used or saved
660+
unless you click on the <em>Save</em> button.
635661
</p>
636662
<h3>Bold Prompts</h3>
637663
<p>Selecting this item causes Run-REDUCE-FX to embolden the
638-
display of all input prompts.
664+
display of all input prompts. It applies to each REDUCE panel independently.
639665
</p>
640666
<h3>I/O Colouring</h3>
641-
<p>This sub-menu allows you to select an I/O colouring
642-
option: <em>None</em>, <em>Modal</em>
643-
or <em>Redfront</em>. <em>Modal</em> colouring depends on
644-
REDUCE's current input mode: algebraic-mode prompts and input are
645-
red, algebraic-mode output is blue, symbolic-mode prompts and
646-
input are brown, symbolic-mode output is
647-
purple. <em>Redfront</em> colouring is intended to provide a full
648-
emulation of the standard REDUCE <em>redfront</em> facility and it
649-
loads the <em>redfront</em> package (silently), which outputs
650-
additional markup that is interpreted by Run-REDUCE-FX in the same
651-
way that it is normally interpreted by the <em>redfront</em>
652-
executable running in a suitable terminal (emulator).
653-
With <em>Redfront</em> colouring, all prompts and interactive
654-
input are red, algebraic-mode output is blue, and echoed file
655-
input and symbolic-mode output are not coloured.
656-
</p>
657-
<p>When I/O colouring is enabled, Run-REDUCE-FX highlights
658-
warnings and errors with appropriate background colours.
667+
<p>Selecting this item causes Run-REDUCE-FX to colour the text in
668+
the <em>Input/Output Display</em> pane. The colouring depends on
669+
REDUCE's current input mode: by default, algebraic-mode prompts
670+
and input are red, algebraic-mode output is blue, symbolic-mode
671+
prompts and input are green, symbolic-mode output is brown.
672+
Echoed file input is not coloured. By default, Run-REDUCE-FX
673+
highlights warnings and errors with quarter-opaque orange and red
674+
background colours.
659675
</p>
660676
<p>Note that turning I/O colouring on does not fully take effect
661-
until the next input prompt. Turning I/O colouring off (by
662-
selecting <em>None</em>) takes effect immediately and turning it
663-
back on mid-session turns any previous I/O colouring back on, but
664-
any I/O produced while I/O colouring was turned off will not be
665-
coloured. (This is because the required markup is only generated
666-
when I/O colouring is turned on to conserve resources.)
677+
until the next input prompt. Turning I/O colouring off takes
678+
effect immediately and turning it back on mid-session turns any
679+
previous I/O colouring back on, but any I/O produced while I/O
680+
colouring was turned off will not be coloured. (This is because
681+
the required markup is only generated when I/O colouring is turned
682+
on to conserve resources.) Output display will be slightly faster
683+
when I/O colouring if turned off.
667684
</p>
668685
<h3>Typeset Maths</h3>
669686
<p>Selecting this item causes Run-REDUCE-FX to display
670687
algebraic-mode mathematical output more-or-less as it would be
671-
typeset and centred horizontally. <strong>WARNINGS:</strong>
672-
Typeset Maths is currently experimental. It interacts badly
673-
with redfront I/O colouring, so don't try to use the two
674-
together: one will effectively cancel the other. The display
675-
may be incorrect in some cases, e.g. with unusual switch
688+
typeset, and centred horizontally. It applies to each REDUCE
689+
panel independently. Output display will be significantly
690+
faster when Typeset Maths is turned
691+
off. <strong>WARNINGS:</strong> Typeset Maths is currently
692+
experimental and line breaking is somewhat arbitrary. The
693+
display may be incorrect in some cases, e.g. with unusual switch
676694
settings such as <em>on list</em>. If any TeX markup appears
677695
(coloured red) in the output then please let me know! <em>Save
678696
Session Log...</em> outputs typeset maths using TeX markup.
@@ -967,7 +985,9 @@ <h3>SourceForge Project Site</h3>
967985
platforms, mailing lists, bug reporting, etc.
968986
</p>
969987
<h3>About Run-REDUCE-FX</h3>
970-
<p>This pops up brief information about Run-REDUCE-FX.</p>
988+
<p>This pops up brief information about Run-REDUCE-FX, including
989+
the version number and month of the release. The version number
990+
is also shown in the application title bar.</p>
971991

972992
<h2 id="TypesetMaths">Typeset Maths Display</h2>
973993

src/fjwright/runreduce/RunREDUCEFrame.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -661,13 +661,13 @@ private void sourceForgeMenuItemAction() {
661661
RunREDUCE.hostServices.showDocument("https://sourceforge.net/projects/reduce-algebra/");
662662
}
663663

664-
static final String VERSION = "2.32";
664+
static final String VERSION = "2.4";
665665

666666
@FXML
667667
private void aboutMenuItemAction() {
668668
RunREDUCE.alert(Alert.AlertType.INFORMATION,
669669
"Run REDUCE in a JavaFX GUI",
670-
"Version " + VERSION + ", October 2020\n" +
670+
"Version " + VERSION + ", November 2020\n" +
671671
"\u00A9 2020 Francis Wright",
672672
"About Run-REDUCE-FX");
673673
}

0 commit comments

Comments
 (0)