[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[StrongED] StrongED 4.70a6 available

Hi All,

The sixth alpha release of StrongED 4.70 can found on the website:

The changes in this version are mostly in two areas; configuration and
internal organisation.

Wrap width

The way the wrapwidth is calculated has been changed for this version.
Previously it was 16 * configured wrapwidth to get the width of the
textarea, and textarea / 16 to get the number of chars.

Now that we have outline fonts and bitmap fonts of sizes other than
8x8/8x16 we need to treat wrapwith differently. The new calculation is:
Textarea = (configured wrapwidth) * (width of widest char) * Xeig.

The result is that when the wrapwidth is set it corresponds to the
number of characters regardless of the width of the font. Changing the
font size adjusts the wrapwidth to the number of characters that fit in
the visible area (this may be changed in a later version so that the
wrapwidth is retained, the view will then gain a scrollbar if the
textarea has to be made bigger).

This works well for bitmap fonts and monospaced outline fonts, but for
proportional outline fonts it's not ideal as the widest is often much
larger than average char size - can't see an easy round that though.

Saving BASIC

There have been a number of changes in how BASIC files are saved. The
option to save Basic files in chunks has been removed. It, presumably,
was created so that a Basic file could be saved even when there wasn't
enough memory to tokenise the whole text at once.

On modern machines this is much less likely to be a problem, besides it
could result in a truncated file when tokenisation of a chunk failed.
For this reason the code to save BASIC has been revised, instead of
having separate save routines for plain text and BASIC we now have one.
If the file is to be saved as BASIC it is passed through TokeniseBlock

Moved check for line numbers getting too big when tokenising Basic into
the tokenisation code itself. With SaveBasicChunks gone it's now okay to
have errors during tokenisation, and checking it during tokenisation is
better anyway as we read any line numbers in the text first.

Also added a check to compare the line number read with the default line
number and use whichever is bigger, to ensure that line numbers always
increase even when a silly number is entered in the text.


The RunBasic function has been updated to use the new TokeniseBlock and
then call SaveText rather that saving the file itself. Gets rid of some
code duplication.

LoW window

The position of the LoW window, if open, is now saved to the AutoSave
file so that it opens in the same location next time you start StrongED.


The SpeakSED add-on has been updated. If it cannot find eSpeak it will
now raise a clearer error (was 'SWI not known in Speak') and opens the
manual with instructions on how to install eSpeak when the error box

Mode changes

Dump mode  - Moved tokens for module header fields from the global
             messages file to Dump mode's resources.

             Added keyboard shortcuts for the various display options:
             c-D,c-B  Byte
             c-D,c-H  Half-word
             c-D,c-W  Word
             c-D,c-D  Double-word
             c-D,c-T  ASCII
             c-D,c-A  Asm
             c-D,c-2  Binary

BASIC mode - Changed keyboard shortcut c-R to c-E,c-I. This indents the
             text by passing it to BASIC and reading the indented text
             back in. (an alternative to cs-R).

             Added keyboard shortcut c-E,c-R. Renumbers the text using
             the same technique as indenting. Useful if you have to edit
             a file that uses line numbers.

             Changed to fold expression such that with line numbers are
             folded correctly.

As always, all feedback is welcome and appreciated!


Changes in StrongED 4.70a6 (from 4.70a5)

 - Changed how wrapwidth works.

 - Sanatised CreateText, register usage, order of text record init.

 - Fix bug in Ftrimlines, would abort when text was write protected.

 - Fix ReadViewParameters handling of the -wrap option. Don't set
   textwidth% but set vw_wrapwidth% and let SetTextWidth set the actual
   textwidth%. This means the textwidth will correspond to the number
   of chars the wrapwidth is set at regardless of font size.

 - Moved message tokens for module header lines from global messages
   file to the Dump mode messages file, as they're only used in Dump

 - Fix bug with bar caret, bits of the caret were being left behind when
   text was reindented.

 - Fix bug in refactored DataLoad handling. Drags from an application to
   the iconbar-icon no longer worked for applications that don't support
   RAM transfers (like NetSurf), caused an 'Cannot load here' error.

 - Added code to save LoW position to AutoSave.List so that if it's
   open when StrongED is quit it will be opened next time SE starts.

 - Fix bug in Global Choices -> Colours. The options for LoW didn't
   include the 'Select view' entry.

 - Fixed default global colours in ConfigIO. The 'Select view' setting
   was missing.

 - Fixed default global options in ConfigIO. They had gotton out of
   sync with the layout in Definitions, resulting in odd window sizes
   and auto-save time.

 - Fix bug in reformat code. DummyCall was using a hard coded &0E to
   check if it was a comment line but due to the addition of visible
   spaces the comment group was now &11. Changed code to use variables
   (syc_comm% / len_syc%) so this doesn't happen again.

 - Created a new routine TokeniseBlock that tokenises a (block of) text
   to a flexblock, called from SaveText and Frunbasic. Means there's
   slightly less code duplication.

 - The above also fixes a problem in Frunbasic; the file would always be
   typed BASIC even if it actually had another filetype, eg BASICtxt.

 - Remove option to save Basic files in chunks. Removed SaveBasic,
   SaveBasicWhole and SaveBasicChunks.

 - Created some new routines to set a text's title, FillTextTitle,
   BuildTitleString and GetDefaultTitle. Changed LoadText, CreateText to
   make use of the new routines.

 - Changed Message_EditRq code, it now uses BuildTitleString to make up
   the text's title. Also, uses OpenNewText to create the text and view
   records. Register usage sanatised.

 - Enabled scroll requests in LoW template so window can be scrolled
   using the scroll wheel (without needing 3rd party code on RO 5).

 - Moved call to Syco_Build from Syco_Prepare to EnsureMode. This so
   it's outside of the redraw loop and we can report any errors using
   the alert window (you can't open a new window inside a redraw loop).

 - Code to set StrongED$FileName, StrongED$FilePath, StrongED$FileLeaf
   was repetetive, split off common part to 'SetPathVariable' to save
   some space.

 - Commented out the mssort3 routine in Sort as it was not being used.
   Also commented out WaitForTaskQuit in Functions, and EnsureIDs in
   Mode (both unused). Saves another couple of bytes.

To unsubscribe send a mail to StrongED+unsubscribe@xxxxxxxxxxxxxx
List archives at http://www.Torrens.org.uk/RO/StrongED/index.html