Skip to content

Releases: fjwright/Run-REDUCE

Version 3.1

22 Oct 16:22
Compare
Choose a tag to compare
  • Use Java language level 16, so now Java 16 is required to run Run-REDUCE.jar.
  • Delete the compatibility code to handle the obsolete REDUCE Versions preference.
  • Improve display of warnings and errors.
  • Improve handling of the Stop REDUCE menu item and explicit "bye" etc. commands to wait for REDUCE to stop. (However, note that killing REDUCE when run via a cmd shell on Microsoft Windows only kills the shell and leaves REDUCE running!)
  • Add an Options menu with a check item Pop-up Queries. When this is selected, which it is by default, pop up a confirmation alert when REDUCE queries the user. Always strip any echoed y/Y/n/N after responding to a user query.
  • Add a check item Show Menu History to the Options menu. When this is selected, which it is not by default, scrolling through previous input shows REDUCE commands generated by the menus. They are also shown if the Shift key is held down while scrolling through previous input.
  • Save Options menu settings as preferences.
  • Load Packages dialog:
    • Preserve _ characters in the display of package names. Remove inappropriate packages from the package list.
    • Right-click a package, or select one package and press the Display Manual Entry button, to display the manual entry (if it exists) for the package, using the default web browser.
    • Map REDLOG sub-packages to the REDLOG manual entry; exclude redfront.
  • Write UserGuide.html to ~/Run-REDUCE_User_Guide.html, which the default web browser on Ubuntu 22 can open. This fixes issue #3.

Installers for Windows and Gnu/Linux

20 Mar 14:58
Compare
Choose a tag to compare
  • Provide installers for 64-bit Windows 10 and Gnu/Linux distributions based on Debian (e.g. Ubuntu) or Red Hat (e.g. Fedora).
  • The About dialogue now shows the versions of Java and JavaFX used to compile and run Run-REDUCE.
  • Update to Java 16 (language level 11) and JavaFX 16. (With Java 15 and JavaFX 15, KaTeX.css failed to load locally when running a non-jar build, due to a bug in JavaFX triggered by Java 15 and fixed in JavaFX 16!)
  • Update to KaTeX 0.13.0.

Icon, REDUCE Configuration, Split Pane and Typesetting Updates

31 Dec 17:55
Compare
Choose a tag to compare
  • Introduce a new icon based on a double-struck (i.e. blackboard bold) capital R and also use it in the About alert.
  • Switch building to Java 14, set to language level 11, and JavaFX 15.
  • REDUCE Configuration dialogue:
    • Ensure that command labels are unique.
    • Make the Check Command check box visible only if the Use Shell check box is selected, which it is by default.
    • Make the REDUCE Packages, Manual and Primers Directory fields directory chooser initial directory the value of the REDUCE Root Directory field if it is set, otherwise its platform default value. This is useful for a non-standard Windows snapshot installation or a Subversion build.
  • Split Pane mode:
    • You can now select the other REDUCE panel by pressing Control+Tab, Control+PageDown, Control+Shift+Tab, or Control+PageUp, which matches the default keyboard shortcuts for a TabPane.
    • First implementation of synchronised scrolling of REDUCEPanels, which is relative to the maximum scroll distance, i.e. the content height minus the window height.
  • The script files now run Run-REDUCE asynchronously, allow spaces in the JAR file path, and avoid a console window on MS Windows; see the Install and Run Guide.
  • Port typesetting support from tmprint for atan2(y,x), m_Gamma(a,z), Lambert_W(x); BernoulliP(n,x), EulerP(n,x), FibonacciP(n,x); Bernoulli(n), Euler(n), Fibonacci(n), Stirling1(n, m), Stirling2(n, m), Motzkin(n).

REDUCE configuration updates

30 Nov 18:35
Compare
Choose a tag to compare
  • Add buttons to move the current REDUCE command up or down the list cyclically.
  • Save and restore the order of REDUCE commands.
  • When duplicating a REDUCE command, add it to the bottom of the list rather than below the current command.
  • Expand ~/ or ~\ to the user's home directory (on all platforms).
  • Rename the preference key reduceVersions to reduceCommands, with backward compatibility code to be deleted later.
  • Display directory or file errors as warnings and allow the user to ignore them.
  • Add a button to reset the selected command to its default configuration.
  • Add checkboxes for running REDUCE using the default shell and not checking the command pathname. Only append Pathname to the Command label when appropriate.
  • The Command Root Directory chooser and file choosers use current Command Root Directory field value if defined, else the REDUCE Root Directory field value if defined, else the default REDUCE Root Directory as initial directory.
  • The file choosers replace the root segment of the chosen path by $REDUCE if possible.
  • Change all default configurations to use the default system shell, which is much simpler and more likely to be robust against possible changes to REDUCE.
  • Change the default Linux configuration to use the search path and not check the command pathname, making it easier to transition from the previous defaults.
  • Substantially revise the Configure REDUCE... section of the User Guide.

If you have saved a non-default REDUCE configuration that you want to keep then I recommend you install this release and open the REDUCE Configuration dialogue. Select each of the default REDUCE commands in turn and click on the Reset Selected Command button. Then click on the Save button. This will read from the old preference key and write to the new one, and also update the default commands.

If you have ever saved the default REDUCE configuration then I recommend you install this release and open the REDUCE Configuration dialogue. Click on the Reset All Defaults button. Then click on the Save button. This will update the saved configuration to the new defaults.

Rename Run-REDUCE-FX to Run-REDUCE

17 Nov 16:06
Compare
Choose a tag to compare
  • Rename Run-REDUCE-FX to Run-REDUCE. Please use the command script files Run-REDUCE and/or Run-REDUCE.bat included in this release to run Run-REDUCE.jar from now on.
  • Introduce a blue R icon from Icons8 to replace the generic Java icon on Windows and provide an icon on Linux.
  • Acknowledge KaTeX and Icons8 in the About dialogue.
  • Check, save and use the Command Root Directory field correctly in the REDUCE Configuration dialogue.
  • Make the file and directory chooser dialogues movable independently of the main window on Linux.
  • Update all REDUCE panels when saving colour choices, thereby making colour choices explicitly global.

Revised I/O Colouring

11 Nov 18:37
Compare
Choose a tag to compare
  • Revised I/O Colouring:
    • Merge the previous modal and redfront options, and replace the I/O Colouring submenu of RadioMenuItems with a single CheckMenuItem.
    • Run-REDUCE no longer colours echoed file input.
    • I/O Colouring and Typeset Maths now operate independently and consistently.
    • The default colours for symbolic mode input and output are now green and brown respectively.
    • A new Font Colours dialogue allows you to customise the colours.
  • Copy some redfront code into rrprint and no longer use the redfront package.
  • Display a matrix assignment as an assignment in all output modes, but skip any intermediate assignments, as in plain text output.
  • If you edit a command label but don’t confirm the edit, it will be saved anyway. (This was the behaviour in v2.2, which I removed inadvertently in v2.3 but have now reinstated.)
  • The Hide Editor button switches focus to the I/O pane or input editor as appropriate.
  • Fix vertical spacing of Typeset Maths output.

Typeset maths improvements: line breaking, _bar, on list and abs

04 Nov 15:26
Compare
Choose a tag to compare
  • Make Generic information for all REDUCE commands fields all optional, resetting to defaults where appropriate. Correct the behaviour to allow the REDUCE Root Directory text field to be empty, and to use the Command Root Directory if it is set.
  • Add a Restart REDUCE item to the REDUCE menu to do a full clean restart of the last-run REDUCE command.
  • Set a minimum size for the main window.
  • Allow space at the bottom of the main display so that the horizontal scroll bar does not obscure the prompt.
  • Improve automatic scrolling to the bottom of the display pane.
  • Highlight warnings and errors with an appropriate background colour.
  • Typeset maths improvements:
    • Improve line breaking.
    • Allow special function symbols to depend on a function's arity and use this for the gamma function to avoid perturbing "excalc.tst".
    • Process _bar in an identifier as an over-bar even if it is followed by digits or _k.
    • Improve display with on list and display matrix assignments as assignments, which now both appear correct for "alg.tst".
    • Display abs(x) as |x|.
    • Remove all superfluous space around commas in algebraic lists and flat printed matrix rows.

Typeset maths and REDUCE Configuration Dialogue improvements

19 Oct 17:55
Compare
Choose a tag to compare
  • Remove the middle mouse button binding for the pop-up keyboard, since it clashes with the X Window primary paste gesture (although this is not supported).
  • Scroll more reliably to the bottom of the REDUCE I/O display window.
  • Add a Kill REDUCE item to the bottom of the REDUCE menu. Display an information alert when REDUCE is killed and an error message if this may have failed. Handle failure of REDUCE to start better and check that REDUCE is alive before trying to send it input.
  • Improve alerts relating to printing.
  • Display the version number on the title bar.
  • Add new sections on Editing, Typeset Maths Display and Printing on Linux to the User Guide.
  • Typeset maths improvements:
    • Restore compatibility with tmprint so that excalc.tst runs.
    • Use a narrow space to indicate multiplication (except at the end of a line) because with no space x*y is indistinguishable from xy.
    • Output strings as text rather than maths and identifiers using mathit. Support the dfprint switch.
    • Treat trailing digits in an identifier (optionally preceded by _) as a subscript. Treat the final _ in an identifier as introducing a subscript if it is followed by (the name of) a single character. But as a special case, display body_bar as \bar{body} for a single-character body or \overline{body} for a multi-character body.
    • Ensure that operator identifiers are subscripted like non-operator identifiers. Note that line breaking is thoroughly broken!
    • Display repart and impart as \Re and \Im.
    • Display matrices more readably by using \displaystyle for each element and increasing the row spacing to 1.5em.
  • REDUCE Configuration Dialogue improvements:
    • Use \ as directory separator in the Windows default configuration.
    • Detect unreadable directories and files in more fields.
    • Substantial revision to fix some subtle misbehaviour.

v2.21 fixes a couple of bugs in v2.2.

Typeset maths support for more standard functions

30 Sep 17:59
Compare
Choose a tag to compare
  • Remember the directory used in the filechooser.
  • Always decode non-ASCII characters from the pop-up keyboard and from templates to their correct REDUCE or TeX names.
  • Replace loading the fmprint package with inputting and compiling the new source file "rrprint.red" contained in the JAR file, which is based on "tmprint.red".
  • Typeset maths improvements:
    • Apply the fix by Eberhard Shruefer so that order commands work.
    • Output identifiers in mathit instead of mathrm style.
    • Correct spacing of := and leading + and - signs.
    • Display a trailing multiplication sign but otherwise ignore multiplications. (This may be too drastic.)
    • Support all trigonometric and hyperbolic functions and their inverses, and logb and log10.
    • Display the gamma function, but not the identifier gamma, using a capital Gamma.
    • Support the polygamma, iGamma, iBeta, dilog, Pochhammer and integral functions.
    • Support Airy and Hankel functions.
    • Support Struve, Lommel, Kummer, Whittaker and spherical harmonic functions, and the classical orthogonal polynomials.

Fix big delimiters in typeset maths

14 Sep 15:50
Compare
Choose a tag to compare
  • Fix the display of big delimiters in typeset maths.
  • Always insert parentheses when calling a function using the pop-up keyboard, rewrite ln to log and remove the space after sqrt.