
	**	**  **	    **	********  *******    ****  ********
	****  ****  **	    **	**	  **	 **   **      **
	**  **	**    **  **	**	  **	 **   **      **
	**  **	**	**	******	  **	 **   **      **
	**	**	**	**	  **	 **   **      **
	**	**	**	**	  **	 **   **      **
	**	**	**	********  *******    ****     **

	       A Text Editor Primarily for FidoNet Letters
		    Copyright Haakan Karlson 1997-2002
	   Manual written with assistance from Holger Granholm.

		    ----------------------------------



 MyEdit, the MyPoint Editor
 ==========================

This version of MyPoint comes with a built-in text editor. If You leave
the setup field for external editor blank, the internal one will be used.
You can also press Alt-I instead of Alt-E to edit a letter. For Quick
Reply to use the internal editor, the only way is to leave the field blank.

The editor has 5 command sets, selectable from the Advanced Setup's first
screen.

One command set called Combi is a merge of MIcroSoft DOS-Edit and
WordStar/Q-Edit for all commands where there are no conflicts. This is the
default selection. You can also select MicroSoft, Q-Edit, WordStar and
EMACS. The command sets are far from final and will be improved.

You can use MyEdit as an ordinary text editor by the Ctrl-F9 command.

You are very welcome to send Your suggestions to me at FidoNet 2:200/486.11.

	       *  *  *	*  *  *  *  *  *  *  *	*

 Status Line
 -----------

The figure below shows the status line indicators. All of them are not
fully implemented in the present version.

	 Block draw Ŀ     Hard/soft line end (not yet avail.)
	   Wordwrap Ŀ    	       For test
	     Insert Ŀ    	       	      Current time Ŀ
		         	       			     
 ^K  L  8  C	12  IWD  --  S  0000  U 26283  53 35  1  20 50 54
 	 	 				           		 
 	 	 Column #	Unalloc. memory           		 
 	  Line #	  Char. code in dec/hex      		 
  1:st letter of 2-key commands	 Text # 		 
 Margin positions 
     [ E.O.T.]  End Of Text marker at the line next to the text end.

1:st of 2-key: The first keystroke of a two key command. A ^ Means Ctrl and
	       a @ means Alt. At all other times the MyPoint logo is shown.
Hard/soft line end: Shows one of two symbols depending on if the current
		    line ends with a hard or soft CR.
Unalloc. mem.: Position of allocation pointer. For testing purposes.
Character code: ASCII value in decimal/hex for the char. under cursor.
Text #: Number of current text. The letter is always #1.
Margin pos.: Shows the settings of left/right margins. These will only be
	     shown at the active text.

	       *  *  *	*  *  *  *  *  *  *  *	*


Editor Commands
===============

The editor has an extensive command set and some special commands that are
useful when writing Fido-letters, but let's begin with those You basically
need to get started. The obvious keys are not listed here.

   Command notation:   ^ = Ctrl + key	   @ = Alt + key
		       + = Esc then key     = Shift + key

				      Combi
		       ,-----------------------------------,
   Command	       | WordStar/Q-Edit	 Microsoft |	 EMACS
   -------		 ----_----------	 ---------	 -----

   UnBackspace		 @Bs			 @Bs		 ?Bs
   DelLine		 ^Y  @D 		 ^Y   @D	 ?+Del
   UnDelLine		 ^U			 ^U		 ?+Ins
   MarkBlockBegin	 ^KB			 ^KB  Arrows	 ?Arrows
   MarkBlockEnd 	 ^KK			 ^KB  Arrows	 ?Arrows
   DragBlock		      ^A 1)		 Arrows       +Space Arrows
   UnmarkBlock		 ^KH  @U		 @U  ^KH	 ?@U
   CopyBlock		 ^KC  @C		 ^KC  @C	 ???
   MoveBlock		 ^KV  @M		 ^KV  @M	 ???
   DeleteBlock		 ^KY  @G		 ^Del @G ^KY	 ???
   CopyToBuf		 ^BC  ^Ins		 ^Ins ^C	 +W
   CutToBuf		 ^BV  @Del		 @Del ^X	 ^W
   PasteFromBuf 	 ^BP  @Ins		 @Ins ^V	 ^Y
   ReadBlock		 ^KR  @R		 @R		 ^XR
   Save&Exit		 ^KD  @X		 @FX @X 	 ?^XC
   DiscardFile		 ^KQ  @FQ		 @FQ		 ^XK
   ToggleInsert 	 ^V  Ins		 Ins		 ?Ins
   ToggleWordwrap	 ^OW			 ^OW		 ???

 1) As @A is in conflict with the auto margin command, ^A has been used as
    a substitute.

Two of the speacial features, those for shortening down quoted text, are
described below, as You may want to start using them at once.

   AutoMargin		 @A			 @A		 ?@A
   -----------------------------------------------------------------------
   This command is used to set the special left margin when shortening
   down quoted text in Fido letters. The first 10 characters on the line
   are scanned for a '>'. If found the margin is set at the next position.
   If several '>' are stacked, the last one counts for the position. The
   right margin is set to a fixed position at column 70 to allow further
   quoting by programs that stack '>' for each reply.

   The command toggles between the automatic setting and the previous
   margins. If no '>' is found, nothing is done.

   WrapPara		 @B			 @B		 +Q ?@F
   -----------------------------------------------------------------------
   Reflows the text from cursor position down to the end of the paragraph.
   The beginning of the line next to the cursor line sets the left column
   and the right margin sets the right.

   If a left margin is set, this acts like it was the beginning of line.
   Text to the left of this margin is deleted when a line is removed and
   duplicated when a new line is inserted. The reflow stops when the text
   left of the margin changes, making it easy to reflow quoted text from
   different persons without having it mixed up.


 File Picker
 ===========
Always when the editor prompts for a file name, You have the option to use
a file picker to get it. Press Enter at an empty line to bring it up, or
press Down Arrow that works also with a file name on the line. A path with
an ending backslash kan be entered to start the file picker in a given
directory. Up Arrow always brings up the default editor directory.


 List of all commands
 ====================

   First column 	Command notation	       EMACS-commands
  -----------------    ------------------	      --------------------
   = Ready for use	^ = Ctrl + key		       ? Means the command
   # Planned		@ = Alt + key			 is not assigned
   ? Maybe planned	+ = Esc then key		 to a key, or the
			 = Shift + key 		 assignment are
							 very preliminary

   In the WordStar/QEdit column the --_-- indicates the border between
   the only command when WordStar is selected and the additional
   parallel command(s) for the QEdit command set.

				      Combi
		       ,-----------------------------------,
   Cursor Movement     | WordStar/Q-Edit	 Microsoft |	 EMACS
   ---------------	 ----_----------	 ---------	 -----
 = CursorLeft		 La			 La		 ^B La
 = CursorRight		 Ra			 Ra		 ^F Ra
 = WordLeft		 ^La			 ^La		 +B ^La
 = WordRight		 ^Ra			 ^Ra		 +F ^Ra
 = BegOfLine		 ^QS  Home		 Home		 ^A ?Hom
 = EndOfLine		 ^QD  End		 End		 ^E ?End
 = ScrollLeft		 @La			 @La		 ?@La
 = ScrollRight		 @Ra			 @Ra		 ?@Ra
 = PageLeft		 @PgUp			 @PgUp		 ?@PgUp
 = PageRight		 @PgDn			 @PgDn		 ?@PgDn
 = CursorUp		 Ua			 Ua		 ^P Ua
 = CursorDown		 Da			 Da		 ^N Da
 = PageDown		 PgDn			 PgDn		 ^V PgDn
 = PageUp		 PgUp			 PgUp		 ^Z PgUp
 = FirstLine		 ^QR  ^Home ^PgUp	 ^Home	^PgUp	 +< ?^PgUp
 = LastLine		 ^QC  ^End  ^PgDn	 ^End	^PgDn	 +> ?^PgDn
 = Scrolldown		 ^Da			 ^Da		 ?^Da
 = ScrollUp		 ^Ua			 ^Ua		 ?^Ua
 = TopOfScrn		 ^QE  @Home		 @Home		 ?^Hom
 = BottomOfScrn 	 ^QX  @End		 @End		 ?^End
 = MakeMiddleOfScrn	 ^QM			 ^QM		 ?@M
 = GotoLine		 ^J			 ^J		 +G

   Basic Editing
   -------------
 = Backspace		 Bs			 Bs		 Bs
 = UnBackspace		 @Bs			 @Bs		 ?Bs
 = DelChr		 Del			 Del		 ^D Del
 = DelLine		 ^Y  @D 		 ^Y   @D	 ?+Del
 = UnDelLine		 ^U			 ^U		 ?+Ins
 = NewLine		 Cr			 Cr		 Cr
 ? InsLine		 ^N			 ^N		 ???
 = DelRtWord		 ^T			 ^T		 +D
 = DelToEol		 ^QY			 ^QY		 ^K
 = TabRt		 Tab			 Tab		 Tab

   Text Blocks
   -----------
 = MarkBlockBegin	 ^KB			 ^KB		 ???
 = MarkBlockEnd 	 ^KK			 ^KB		 ???
 = MarkColumnUpLeft	 @KB			 @KB		 ???
 = MarkColumnDownRight	 @KK			 @KK		 ???
 = DragBlock		      ^A		 Arrows       +Space Arrows
 = DragColumnBlock	      @K		 ???
 = ToggleColumn 	 ^KN			 @N  ^KN	 ?@N
 = UnmarkBlock		 ^KH  @U		 @U  ^KH	 ?@U
 = GotoBlockBeg 	 ^QB			 ^QB		 ???
 = GotoBlockEnd 	 ^QK			 ^QK		 ???
 = CopyBlock		 ^KC  @C		 ^KC  @C	 ???
 = MoveBlock		 ^KV  @M		 ^KV  @M	 ???
 = DeleteBlock		 ^KY  @G		 ^Del @G ^KY	 ???
 # FillBlock		 ^KL			 ^KL		 ???
 = CopyToBuf		 ^BC  ^Ins		 ^Ins ^C	 +W
 = CutToBuf		 ^BV  @Del		 @Del ^X	 ^W
 = AppendCopyToBuf	 ^BA			 ^BA		 @BA
 = AppendCutToBuf	 ^BQ			 ^BQ		 @BQ
 = PasteFromBuf 	 ^BP  @Ins		 @Ins ^V	 ^Y
 = ClearBuf		 ^BD			 ^BD		 ?@BD
 = ReadBlock		 ^KR  @R		 @R		 ^XR
 = WriteBlock		 ^KW  @W		 @W		 ?XW


   Search/Replace
   --------------
 = Search		 ^QF			 ^QF		 ^S
 = SearchReplace	 ^QA			 ^QA		 +R
 = RepeatSearch 	 ^L			 ^L		 @S ?^L

   Texts / Files
   -------------
 = OpenFile		 ^OH  @FL		 @FO		 ^XF
 = Save&Stay		 ^KS  @FS		 @FS @S 	 ^XS
 = Save&Exit		 ^KD  @X		 @FX @X 	 ?^XC
 = DiscardFile		 ^KQ  @FQ		 @FQ		 ^XK
 = NewName		 ^KA  @FC  ^KF		 @FA		 ^XN
 = OpenBlockCopy	 ^OC			 ^OC		 ???
 = OpenBlockMove	 ^OM			 ^OM		 ???
 = OpenClipBuffer	 ^OB			 ^OB		 ???

   Editor Control
   --------------
 = ToggleInsert 	 ^V  Ins		 Ins		 ?Ins
 = ToggleWordwrap	 ^OW			 ^OW		 ???
 = SetRmargin		 ^OR			 ^OR		 ?+La
 = SetLmargin		 ^OL			 ^OL		 ?+Ra
 = ZoomText		 ^OZ			 ^OZ		 ^X^ ^XZ
 = ChangeText		 @1234			 @1234		 ?@1234

   Special Functions
   -----------------
 = CenterLine		 ^OT			 ^OT		 ???
 = UndoCursorline	 ^QL			 ^QL		 ?+L
 # AsciiChart		 @ET			 @ET		 ?ET
 = IsoLatinToPC8	 @EI			 @EI		 ?@EI
 = ROT13		 @ER			 @ER		 ?@ER
 = InsertLiteral	 ^P			 ^P		 ?^Q
 = AutoMargin		 @A			 @A		 ?@A
 # Sort 		 @EO			 @EO		 ?@EO
 # BoxDraw		 @Z			 @Z		 ?@Z
 = WrapPara		 @B			 @B		 +Q ?@F
 # SetBookMark		 ^BS			 ^BS		 ?@BS
 # ResetBookMark	 ^BR			 ^BR		 ?@BR
 # EraseAllBookMarks	 ^BE			 ^BE		 ?@BE
 # PrevBookMark 	 @Ua			 @Ua		 ?@Ua
 # NextBookMark 	 @Da			 @Da		 ?@Da
 = SplitLetter		 @ES			 @ES		 @ES
 = Locate 16K limit	 @EL			 @EL		 @EL
 = InsStamp		 @I0..9 		 @I0..9 	 @I0..9
 = DefineStamp		 @E0..9 		 @E0..9 	 @E0..9
 = InsFromName		 @IF			 @IF		 @IF
 = InsToName		 @IT			 @IT		 @IT
 = InsSubj		 @IS			 @IS		 @IS
 = InsDayTime		 @ID			 @ID		 @ID
 = InsMyAdr		 @IM			 @IA		 @IA
 = InsYourAdr		 @IY			 @IY		 @IY
 = InsOrigArea		 @IA			 @IA		 @IA
 = InsOrigToName	 @IO			 @IO		 @IO
 = InsOrigTime		 @II			 @II		 @II
 = PickFiles		 @EF			 @EF		 @EF
 # OpenLetterArea	 ^OA  @FA		 @FA		 ???

   Printing
   --------
 = PrintAll		 @PA			 @PA		 ?@PA
 = PrintBlock		 @PB			 @PB		 ?@PB
 = PrintEject(formfeed)  @PF @PE		 @PF @PE	 ?@PF ?@PE


		  *  *	*  *  *  *  *  *  *  *	*  *  *


 Command descriptions
 ====================
				      Combi
		       ,-----------------------------------,
   Cursor Movement     | WordStar/Q-Edit	 Microsoft |	 EMACS
   ---------------	 ----_----------	 ---------	 -----

 = CursorLeft		 La			 La		 ^B La
 = CursorRight		 Ra			 Ra		 ^F Ra
   -----------------------------------------------------------------------
   Moves cursor one position. Stops at end of line.

 = WordLeft		 ^La			 ^La		 +B ^La
 = WordRight		 ^Ra			 ^Ra		 +F ^Ra
   -----------------------------------------------------------------------
   Moves cursor one word. Jumps to previous/next line at end of line.

 = BegOfLine		 ^QS  Home		 Home		 ^A ?Hom
 = EndOfLine		 ^QD  End		 End		 ^E ?End
   -----------------------------------------------------------------------
   Moves cursor to beginning/end of current line.

 = ScrollLeft		 @La			 @La		 ?@La
 = ScrollRight		 @Ra			 @Ra		 ?@Ra
   -----------------------------------------------------------------------
   Scroll horizontally one position. Cursor steady on screen.

 = PageLeft		 @PgUp			 @PgUp		 ?@PgUp
 = PageRight		 @PgDn			 @PgDn		 ?@PgDn
   -----------------------------------------------------------------------
   Shifts text horizontally one screen width. Cursor steady on screen.

 = CursorUp		 Ua			 Ua		 ^P Ua
 = CursorDown		 Da			 Da		 ^N Da
   -----------------------------------------------------------------------
   Moves cursor one line.

 = PageDown		 PgDn			 PgDn		 ^V PgDn
 = PageUp		 PgUp			 PgUp		 ^Z PgUp
   -----------------------------------------------------------------------
   Scroll vertically one screen height. Cursor steady on screen.

 = FirstLine		 ^QR  ^Home ^PgUp	 ^Home	^PgUp	 +< ?^PgUp
 = LastLine		 ^QC  ^End  ^PgDn	 ^End	^PgDn	 +> ?^PgDn
   -----------------------------------------------------------------------
   Position cursor at the very first/last line of text. Column does not change.

 = Scrolldown		 ^Da			 ^Da		 ?^Da
 = ScrollUp		 ^Ua			 ^Ua		 ?^Ua
   -----------------------------------------------------------------------
   Scroll vertically one line. Cursor steady on screen.

 = TopOfScrn		 ^QE  @Home		 @Home		 ?^Hom
 = BottomOfScrn 	 ^QX  @End		 @End		 ?^End
   -----------------------------------------------------------------------
   Move cursor to first/last line on screen. Text does not move.

 = MakeMiddleOfScrn	 ^QM			 ^QM		 ?@M
   -----------------------------------------------------------------------
   Current line becomes middle of screen. Cursor does not move in the text.

 = GotoLine		 ^J			 ^J		 +G
   -----------------------------------------------------------------------
   Prompts for a line numer and jumps to that line. Cursor steady on screen
   if possible. Line numbers beyond E.O.T. jump to the last line.


				      Combi
		       ,-----------------------------------,
   Basic Editing       | WordStar/Q-Edit	 Microsoft |	 EMACS
   -------------	 ----_----------	 ---------	 -----

 = Backspace		 Bs			 Bs		 Bs
   -----------------------------------------------------------------------
   Moves cursor one pos to the left and deletes the character in the new
   position. If insert mode is on, the text to the right follows the
   cursor. Used at beginning of line it concatenates the current line with
   the line above if insert mode is on. The last 256 characters are saved.

 = UnBackspace		 @Bs			 @Bs		 ?@Bs
   -----------------------------------------------------------------------
   Insert characters previously deleted with Backspace as if they was
   typed from the keyboard.

 = DelChr		 Del			 Del		 ^D Del
   -----------------------------------------------------------------------
   Deletes the character under the cursor. The char. will not be saved.
   Text to the right of cursor is shifted left one position.

 = DelLine		 ^Y  @D 		 ^Y   @D	 ?+Del
   -----------------------------------------------------------------------
   Deletes current line. The line below becomes the new current line.
   The last 25 deleted lines are saved in a buffer if they are not blank
   or over 150 characters long.

 = UnDelLine		 ^U			 ^U		 ?+Ins
   -----------------------------------------------------------------------
   The last 25 lines deleted with DelLine are saved in a buffer. This
   command inserts lines from the buffer, one by one, pushing the text
   one line down and making the inserted line the cursor line.

 = NewLine		 Cr			 Cr		 Cr
   -----------------------------------------------------------------------
   Creates a new line after the cursor line and makes it the cursor line.
   In insert mode it breaks the cursor line at cursor position and moves
   the right part to the new line. The cursor is placed in the same column
   as the first word at the line above. If this line is blank, it searches
   up to 128 lines upward after a used line.

 = DelRtWord		 ^T			 ^T		 +D
   -----------------------------------------------------------------------
   The characters from the cursor position and up to the beginning of next
   word are deleted. If there are no characters, the next line is joined
   to the cursor line.

 = DelToEol		 ^QY			 ^QY		 ^K
   -----------------------------------------------------------------------
   Deletes all characters from the cursor up to end of line.

 = TabRt		 Tab			 Tab		 Tab
   -----------------------------------------------------------------------
   Inserts spaces up to the next tab stop. The tab stops are at fixed
   positions on every eight column.


				      Combi
		       ,-----------------------------------,
   Text Blocks	       | WordStar/Q-Edit	 Microsoft |	 EMACS
   -----------		 ----_----------	 ---------	 -----

 = MarkBlockBegin	 ^KB			 ^KB		 ???
 = MarkBlockEnd 	 ^KK			 ^KB		 ???
 = MarkColumnUpLeft	 @KB			 @KB		 ???
 = MarkColumnDownRight	 @KK			 @KK		 ???
   -----------------------------------------------------------------------
   Marks the current cursor position as block begin/end. The block is not
   indicated on the screen until both begin/end are marked. The positions
   are easily changed by marking at a different position. For column block
   the marked area will be a rectangle with the marks in upper left and
   lower right corners. The block starts including the begin mark and ends
   not including the end mark. To include a whole line in a non-column
   block, mark its end in column 1 at the next line.

 = DragBlock		      ^A		 Arrows	 +Space
 = DragColumnBlock	      @K				 ???
   -----------------------------------------------------------------------
   Start a block as fixing a mark at the cursor position. By moving the
   cursor, the block is extended to the wanted area. The block is indi-
   cated on the screen. A second use of the command fixes the cursor
   position at the other end of the block. No commands other than cursor
   positioning work during this command.

   You can also hold down the Shift key and drag a block with the cursor
   movement keys in Combi & uSoft command sets. Release shift to end
   dragging. Only cursor positioning works until Shift is released.

   The marks can be adjusted by placing the cursor over a mark and use
   the command again to resume dragging the block. If it is a column
   block, all four corners can be used for this. Remember that the marks
   for the right side of a column block or the end of a standard block are
   in the positions next to the rightmost indicated position.

 = ToggleColumn 	 ^KN			 @N  ^KN	 ?@N
   -----------------------------------------------------------------------
   Makes a column block a standard one or vice versa.

 = UnmarkBlock		 ^KH  @U		 @U  ^KH	 ?@U
   -----------------------------------------------------------------------
   Removes the block marks.

 = GotoBlockBeg 	 ^QB			 ^QB		 ???
 = GotoBlockEnd 	 ^QK			 ^QK		 ???
   -----------------------------------------------------------------------
   Moves the cursor to the beginning/end of a block. Does nothing if there
   is no block marked in the current text.

 = CopyBlock		 ^KC  @C		 ^KC  @C	 ???
 = MoveBlock		 ^KV  @M		 ^KV  @M	 ???
   -----------------------------------------------------------------------
   Copies/moves a marked block to the cursor position. The marks follows
   the copied/moved text. Works between different text files.

 = DeleteBlock		 ^KY  @G		 ^Del @G ^KY	 ???
   -----------------------------------------------------------------------
   Deletes a marked block if it is in the current text file.

 = CopyToBuf		 ^BC  ^Ins		 ^Ins ^C	 +W
 = CutToBuf		 ^BV  @Del		 @Del ^X	 ^W
 = AppendCopyToBuf	 ^BA			 ^BA		 @BA
 = AppendCutToBuf	 ^BQ			 ^BQ		 @BQ
   -----------------------------------------------------------------------
   These commands do not work with column blocks.
   Copy/move the marked text to the scratch buffer. If copy the text stays
   marked. Text already in the buffer is deleted by Copy/Cut. Append
   adds the new text to what already (if any) is in the buffer.

 = PasteFromBuf 	 ^BP  @Ins		 @Ins ^V	 ^Y
   -----------------------------------------------------------------------
   Insert the text in the scrap buffer at the cursor position. The text
   does not remain in the buffer.

 = ClearBuf		 ^BD			 ^BD		 ?@BD
   -----------------------------------------------------------------------
   Clear the scrap buffer.

 = ReadBlock		 ^KR  @R		 @R		 ^XR
   -----------------------------------------------------------------------
   Prompts for a file name and inserts the file at the cursor position.
   The inserted text is marked as a block.

 = WriteBlock		 ^KW  @W		 @W		 ?XW
   -----------------------------------------------------------------------
   Prompts for a file name and writes a marked block to the file. If the
   file already exists, it prompts for append/overwrite. Esc aborts the
   command. If there is no marked block, the whole text is used.


				      Combi
		       ,-----------------------------------,
   Search/Replace      | WordStar/Q-Edit	 Microsoft |	 EMACS
   --------------	 ----_----------	 ---------	 -----

 = Search		 ^QF			 ^QF		 ^S
 = SearchReplace	 ^QA			 ^QA		 +R
   -----------------------------------------------------------------------
   Prompts for a string to search for, an eventual replace string and last
   some options. Press the uppercase letter to toggle options, Enter to
   start the search or Esc to stop. When there is a hit the cursor is
   moved to the word, that is also marked. This mark is _not_ a block.

   The options are:
      Global  Whole text scanned independent of cursor position.
       Local  Scans only a marked block, if any.
      Ignore  Ignores upper-/lower-case letters according to codepage 850.
	Word  Match only whole words.
       First  Match only against the very first text on a line.
    Noprompt  No effect on search. Replacements are done without prompting.

   When SearchReplace the search is stopped at every hit and the program
   prompts for the wanted action.

   The alternatives are:
     Yes  Replace and continue search.
      No  No replace, search continues.
    Only  Replace and end search.
    Rest  Replace and continue as if Noprompt was selected.
    Quit  No replace, end search.

 = RepeatSearch 	 ^L			 ^L		 @S ?^L
   -----------------------------------------------------------------------
   Repeats the last Search/SearchReplace with the same string and option.


				      Combi
		       ,-----------------------------------,
   Texts / Files       | WordStar/Q-Edit	 Microsoft |	 EMACS
   -------------	 ----_----------	 ---------	 -----

 = OpenFile		 ^OH  @FL		 @FO		 ^XF
   -----------------------------------------------------------------------
   Prompts for a file name and opens the file as a separate text.

 = Save&Stay		 ^KS  @FS		 @FS @S 	 ^XS
   _______________________________________________________________________
   Save the current file to disk without exiting the editor. Does not work
   with the letter or a block/buffer opened as a file and not yet renamed.
   Does not prompt before saving.

 = Save&Exit		 ^KD  @X		 @FX @X 	 ?^XC
   -----------------------------------------------------------------------
   Prompts for Yes/no and saves the current text to disk. If this is the
   letter the editor is finished and all other texts are lost. This will
   be changed in the next version. Does not work with a block opened as a
   file and not yet renamed. With an opened scrap buffer the text will be
   placed in the buffer, replacing what eventually is there before.

 = DiscardFile		 ^KQ  @FQ		 @FQ		 ^XK
   -----------------------------------------------------------------------
   Prompts for Yes/No and abandon the current text. If this is the letter
   all other files are abandoned too. This will not be the case in the
   next version.

 = NewName		 ^KA  @FC  ^KF		 @FA		 ^XN
   -----------------------------------------------------------------------
   Prompts for a new file name for the current text. The letter can not be
   renamed. If a opened block/buffer is renamed, it is converted to a file
   and can then be saved to disk.

 = OpenBlockCopy	 ^OC			 ^OC		 ???
 = OpenBlockMove	 ^OM			 ^OM		 ???
   _______________________________________________________________________
   Opens a marked block or the scrap buffer as a separate text. If
   OpenBlockMove the block is deleted from the original text.

 = OpenScrapBuffer	  ^OB			  ^OB		  ???
   -----------------------------------------------------------------------
   Opens the scrap buffer as a separate text. The buffer is emptied. The
   text can be saved back to the buffer or renamed to a file.


				      Combi
		       ,-----------------------------------,
   Editor Control      | WordStar/Q-Edit	 Microsoft |	 EMACS
   --------------	 ----_----------	 ---------	 -----

 = ToggleInsert 	 ^V  Ins		 Ins		 ?Ins
   -----------------------------------------------------------------------
   Changes between insert/overwrite. This is indicated at the status line
   by an 'I'. If overwrite the cursor changes to a large block too.

 = ToggleWordwrap	 ^OW			 ^OW		 ???
   -----------------------------------------------------------------------
   Changes between an automatic jump to a new line when the right margin
   is reached, or continue on the same line beyond the margin. This is
   indicated on the status line by a 'W'.

 = SetRmargin		 ^OR			 ^OR		 ?+La
   -----------------------------------------------------------------------
   Sets the margin at the current cursor column. The right margin is used
   by automatic word wrap and centering text at the line.

 = SetLmargin		 ^OL			 ^OL		 ?+Ra
   -----------------------------------------------------------------------
   Sets the margin at the current cursor position. The left margin is a
   very special feature to be used when shortening down qouted text in Fido
   letters. The text can be edited almost as if the margin was the
   beginning of line. The text to the left of the margin is duplicated on
   inserted lines and deleted when lines are joined.

 = ZoomText		 ^OZ			 ^OZ		 ^X^ ^XZ
   -----------------------------------------------------------------------
   When more than one text are opened, this command toggles between one
   text using the whole screen or all texts in separate fields.

 = ChangeText		 @1234			 @1234		 ?@1234
   -----------------------------------------------------------------------
   Changes active text when more than one texts are opened. Each text has
   a number 1 to 4. It is shown at the right end of the status line.

				      Combi
		       ,-----------------------------------,
   Special Functions   | WordStar/Q-Edit	 Microsoft |	 EMACS
   -----------------	 ----_----------	 ---------	 -----

 = CenterLine		 ^OT			 ^OT		 ???
   -----------------------------------------------------------------------
   Centers the text on a line between the margins.

 = UndoCursorline	 ^QL			 ^QL		 ?+L
   -----------------------------------------------------------------------
   Undo changes at the cursor line if the cursor has not left the line
   or some of the commands have been used.

 # AsciiChart		 @ET			 @ET		 ?ET
   -----------------------------------------------------------------------
   Displays 16 rows with 16 columns, showing all 256 possible characters.
   The corresponding ASCII-code is shown at the status line when the
   cursor is moved over them. Spacebar picks characters to the top line,
   Enter inserts them at current cursor position.

 = IsoLatinToPC8	 @EI			 @EI		 ?@EI
   -----------------------------------------------------------------------
   Converts a marked block or the entire text if no block exists from
   ISO-Latin according to PC-8 Codepage 850.

 = ROT13		 @ER			 @ER		 ?@ER
   -----------------------------------------------------------------------
   ROT-13 encodes a marked block or the entire text if no block exists.

 = InsertLiteral	 ^P			 ^P		 ?^Q
   -----------------------------------------------------------------------
   Inserts the next typed character in the text even if its key normally
   performs some command. All 256 combinations except $09 can be inserted.
   If CR/LF is inserted they will be acted on the next time the text is
   loaded from disk.

 = AutoMargin		 @A			 @A		 ?@A
   -----------------------------------------------------------------------
   This command is used to set the special left margin when shortening
   down quoted text in Fido letters. The first 10 characters on the line
   are scanned for a '>'. If found the margin is set at the next position.
   If several '>' are stacked, the last one counts for the position. The
   right margin is set to a fixed position at column 70.

   The command toggles between the automatic setting and the previous
   margins. If no '>' is found, nothing is done.

 # Sort 		 @EO			 @EO		 ?@EO
   -----------------------------------------------------------------------
   Sorts the lines spanned by a column block. The characters inside the
   block are used for the sorting. The command prompts for options those
   are Ascending/Descending/Ignore case.

 # BoxDraw		 @Z			 @Z		 ?@Z
   -----------------------------------------------------------------------
   Draws lines with line graphics by the cursor keys.

 = WrapPara		 @B			 @B		 +Q ?@F
   -----------------------------------------------------------------------
   Reflows the text from cursor position down to the end of the paragraph.
   The beginning of the line next to the cursor line sets the left end and
   the right margin sets the right.

   If a left margin is set, this acts like it was the left end of the line.
   Text to the left of this margin is deleted when a line is removed and
   duplicated when a new line is inserted. The reflow stops when the text
   left of the margin changes, making it easy to reflow quoted text from
   different persons without having it mixed up.


 # SetBookMark		 ^BS			 ^BS		 ?@BS
 # ResetBookMark	 ^BR			 ^BR		 ?@BR
 # EraseAllBookMarks	 ^BE			 ^BE		 ?@BE
   -----------------------------------------------------------------------
   Inserts/removes bookmarks at the cursor line. Only the line is marked.
   not the column.

 # PrevBookMark 	 @Ua			 @Ua		 ?@Ua
 # NextBookMark 	 @Da			 @Da		 ?@Da
   -----------------------------------------------------------------------
   Searches backward/forward for a line with a book mark. If found this
   becomes the new cursor line. If not nothing is done.

 = SplitLetter		 @ES			 @ES		 @ES
   -----------------------------------------------------------------------
   Leave the first part of the letter up to the cursor line. A new letter
   is created for the rest of the text.

 = Locate 16K limit	 @EL			 @EL		 @EL
   -----------------------------------------------------------------------
   Puts the cursor to the line at the 16K limit of letter size. A margin
   for the header is accounted for in the size.

 = InsStamp		 @I0..9 		 @I0..9 	 @I0..9
   -----------------------------------------------------------------------
   Insert one of 10 predefined small (up to 4K) texts at the cursor
   position. The texts may contain control codes to insert some data from
   the header of the letter.

 = DefineStamp		 @E0..9 		 @E0..9 	 @E0..9
   -----------------------------------------------------------------------
   Opens a new text to be used for insertion with @I0..9. Start edit an
   arbitrary letter or file ant then press this command.
   Enter Your text just as usual. You can insert information from the
   header by using '%' as a prefix to a letter that designates what will
   be inserted. These letters are the same as defined below for the @I
   function. A '%' to be inseted is written as '%%'.A second text can not
   be inserted by putting a %#.
   As inserted items may change the line lengths the line breaks are
   treated as if they was a single space. To start a new line let it begin
   with '%<', that makes the line start in the leftmost position. This is
   not as if it was typed an Enter, that adjusts with previous line begin.

 = InsFromName		 @IF			 @IF		 @IF
 = InsToName		 @IT			 @IT		 @IT
 = InsSubj		 @IS			 @IS		 @IS
 = InsDayTime		 @ID			 @ID		 @ID
 = InsMyAdr		 @IM			 @IA		 @IA
 = InsYourAdr		 @IY			 @IY		 @IY
 = InsOrigArea		 @IA			 @IA		 @IA
 = InsOrigToName	 @IO			 @IO		 @IO
 = InsOrigTime		 @II			 @II		 @II
   -----------------------------------------------------------------------
   Insert the indicated item at the current cursor position.

 = PickFiles		 @EF			 @EF		 @EF
   -----------------------------------------------------------------------
   Brings up the file picker to pick files for fileattaches. The file
   names are inserted at the very beginning of the letter. Pick a file
   with Enter. Many files can be picked. End with Esc.

 # OpenLetterArea	 ^OA  @FA		 @FA		 ???
   -----------------------------------------------------------------------
   Insert text from an area into the letter.


				      Combi
		       ,-----------------------------------,
   Printing	       | WordStar/Q-Edit	 Microsoft |	 EMACS
   --------		 ----_----------	 ---------	 -----

 = PrintAll		 @PA			 @PA		 ?@PA
 = PrintBlock		 @PB			 @PB		 ?@PB
   -----------------------------------------------------------------------
   Prints text on a printer.

 = PrintEject(formfeed)  @PF @PE		 @PF @PE	 ?@PF ?@PE
   -----------------------------------------------------------------------
   Sends a formfeed or linefeeds according to the printer setup. When
   setup for formfeed it is ideal for ejecting the last page from a laser
   printer.

-------------------------------------------------------------------------------
 --end of text--

