diff --git a/Changes.md b/Changes.md index 743312e..4372d80 100644 --- a/Changes.md +++ b/Changes.md @@ -1,3 +1,15 @@ +## Authors for version 15.0 +David Wicksell + +## Changes for version 15.0 +- Syntax Higlighting (!) in editor and viewer (not turned on by default; go to ..PARAM to turn it on) +- Add key support for YottaDB/GT.M on Linux +- Fix bug with routine branching support +- Fix routine size support for YottaDB/GT.M on Linux +- Add new shell parameter documentation for screen sizing +- Add enhancements to auto margin screen handling in ..PARAM + + ## Authors for version 14.1 Sam Habiel Kevin Toppenberg diff --git a/LICENSE b/LICENSE index 07d184f..6fd8330 100644 --- a/LICENSE +++ b/LICENSE @@ -1,8 +1,10 @@ Most code is public domain. Various portions are: -Copyright 2005 Brian Lord -Copyright 2010-2015 David Wicksell -Copyright 2010-2017 Sam Habiel +Copyright 2005 Brian Lord +Copyright 2010-2015, 2019 David Wicksell +Copyright 2010-2017, 2019 Sam Habiel + +Authors are noted in each routine. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/NOTICE b/NOTICE index e697148..30192b4 100644 --- a/NOTICE +++ b/NOTICE @@ -9,13 +9,15 @@ Brian Lord ported VPE to run on GT.M in 2005. (c) Brian Lord 2005. David Wicksell maintained the code from 2010-2015. He renamespaced all the code -to XV and %XV instead of ZV and %ZV. +to XV and %XV instead of ZV and %ZV. David also added Syntax Highlighting in +2019. (c) David Wicksell 2010-2015 +(c) David Wicksell 2019 Sam Habiel worked with David Wicksell to refactor code originally stored in Globals. He completed the renamespacing, eliminating %XV in favor of just XV. He is the current maintainer. -(c) Sam Habiel 2010-2017 +(c) Sam Habiel 2010-2017, 2019 Corresponding Author =================== diff --git a/README.md b/README.md index 13a9224..28d9418 100644 --- a/README.md +++ b/README.md @@ -21,13 +21,20 @@ functionality without VISTA or RPMS. Anything Fileman related will not work if Fileman isn't installed. ## Using VPE (Brief User Manual) -To enter VPE, type `D ^XV`. An online manual can be -found by just typing '?' when at the '>>' VPE prompt. +To enter VPE, type `D ^XV`. An online manual can be found by just typing '?' +when at the '>>' VPE prompt. VPE has its own CHUI Windowing system. To get out of any windows, type 'ESC', 'ESC'... that is, two escapes in a row. That's the only shortcut key you really need to remember. +v15.0 introduces syntax highlighting as a feature. It is not enabled by default. +Type `..PARAM` and choose `8. Highlight Syntax....` in order to turn syntax +highlighting on. By default, syntax colors are optimized for a black background; +if you wish to change the colors, choose `9. Configure Syntax....`. Note that +the latter only apprers only if Syntax Highlighting is toggled on from option 8. +Many thanks to David Wicksell for writing the Syntax Highlighter. + The VPE manual can be found here: http://www.pioneerdatasys.com/hardhats/VPEUSER.pdf. Since the original VPE manual has been written, VPE has been moved to XVEM from %ZVEM or ZVEM. @@ -35,7 +42,12 @@ Therefore, any references to %ZVEM or ZVEM should be changed to XVEM. ## Unit Testing VPE (as of version 14.2) comes with a Unit Testing suite that covers about 50% -of the code. To run the Unit Testing suite, make sure you have VPE imported into +of the code. The tests are somewhat brittle due to the reliance on specific +strings which may change between Fileman versions, due to how much global data +is in a system, and due to issues with race conditions in PExpect. The authors +do guarantee that the tests would run on FOIA VistA on GT.M and Cache. + +They To run the Unit Testing suite, make sure you have VPE imported into your M-implementation (if you are running the tests, preferably the routines in this repository rather than the release), and then navigate to the test folder, adjust VPE.cfg to connect to your M system (examples to follow), and @@ -77,12 +89,13 @@ test_CLH (__main__.VPEUnitTests) ... ok test_DIC (__main__.VPEUnitTests) ... ok test_purge (__main__.VPEUnitTests) ... ok test_QSAVE (__main__.VPEUnitTests) ... ok +test_syntaxHighlighting (__main__.VPEUnitTests) ... ok test_stopVPE (__main__.VPEUnitTests) ... ok - ---------------------------------------------------------------------- -Ran 31 tests in 37.514s +Ran 32 tests in 44.632s OK + ``` The VPE.cfg file contains the configuration of how to connect to the M system. @@ -121,8 +134,13 @@ The entire change history from version 9 to the current version can be found ## License The VPE is now licensed under Apache 2.0. See [LICNESE](LICENSE) for more details. -## MV1 support -This section is for Sam, the maintainer. You can ignore it: +## XINDEX +VPE passes XINDEX, with the following exceptions, from which it is exempt: + + * Fileman INIT routines don't have a correct first line (exempt under 2.2.1.2) + * Vendor specific routine and external package calls (exempt as a Kernel Extension under 2.2.8) -What's left for supporting MV1 is the following: -- Error trap unwind doesn't work b/c of a bug in MV1 --> PUT A BANDAID! +## Ray Newman's Mumps V1 support +There is now full support as of v14.0 for MV1. However, there is a bug in MV1 +where the M95 error trap behaves like the old $ZTRAP, so Error trap unwind is +handled differently for MV1.