<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://pickwiki.org/index.php?action=history&amp;feed=atom&amp;title=BFormat</id>
	<title>BFormat - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://pickwiki.org/index.php?action=history&amp;feed=atom&amp;title=BFormat"/>
	<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=BFormat&amp;action=history"/>
	<updated>2026-04-28T22:11:45Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://pickwiki.org/index.php?title=BFormat&amp;diff=2618&amp;oldid=prev</id>
		<title>IanMcGowan at 17:37, 1 March 2019</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=BFormat&amp;diff=2618&amp;oldid=prev"/>
		<updated>2019-03-01T17:37:33Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 17:37, 1 March 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l147&quot;&gt;Line 147:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 147:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   END CASE&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   END CASE&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   L = SPACE((IND+THIS.IND)*DEF.INDENT):L&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   L = SPACE((IND+THIS.IND)*DEF.INDENT):L&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   *L = STR(TAB,IND+THIS.IND):L&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   *L = STR(TAB,IND+THIS.IND):L &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; ;* Richard Hendrix was wrong, spaces &amp;gt; tabs&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   IND = IND + NEXT.IND&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   IND = IND + NEXT.IND&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;RETURN&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;RETURN&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>IanMcGowan</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=BFormat&amp;diff=2612&amp;oldid=prev</id>
		<title>IanMcGowan at 00:05, 15 February 2019</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=BFormat&amp;diff=2612&amp;oldid=prev"/>
		<updated>2019-02-15T00:05:42Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 00:05, 15 February 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Back to [[BasicSource]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Back to [[BasicSource]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This utility will format a basic program to your taste.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This utility will format a basic program to your taste&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;.  The expectation is that everyone&#039;s taste is different, so you get to tweak exactly how formatting is done&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Will convert blank lines to a single comment marker - if you need to move code between systems, the ability to just paste into ED is really handy&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Will convert blank lines to a single comment marker - if you need to move code between systems, the ability to just paste into ED is really handy&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>IanMcGowan</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=BFormat&amp;diff=2611&amp;oldid=prev</id>
		<title>IanMcGowan at 00:02, 15 February 2019</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=BFormat&amp;diff=2611&amp;oldid=prev"/>
		<updated>2019-02-15T00:02:59Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://pickwiki.org/index.php?title=BFormat&amp;amp;diff=2611&amp;amp;oldid=1567&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>IanMcGowan</name></author>
	</entry>
	<entry>
		<id>https://pickwiki.org/index.php?title=BFormat&amp;diff=1567&amp;oldid=prev</id>
		<title>Conversion script: link fix</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=BFormat&amp;diff=1567&amp;oldid=prev"/>
		<updated>2015-02-26T23:48:53Z</updated>

		<summary type="html">&lt;p&gt;link fix&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Back to [[BasicSource]]&lt;br /&gt;
&lt;br /&gt;
This utility will format a basic program to your taste.&lt;br /&gt;
&lt;br /&gt;
NB: It treats a RETURN in a subroutine as the end of the routine, only if there&amp;#039;s a blank line after it, so use some whitespace between routines, people!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
***************************************************************************&lt;br /&gt;
* Program: BASIC FORMAT PROGRAM&lt;br /&gt;
* Author : Ian [[McGowan]]&lt;br /&gt;
* Date   : 08/30/1989&lt;br /&gt;
* Edited : $Id: BFORMAT,v 1.2 2003/05/15 18:54:51 dsiroot Exp $&lt;br /&gt;
* Comment: Program to indent BASIC programs according to user defined options&lt;br /&gt;
***************************************************************************&lt;br /&gt;
* 11/16/1997 Ian  Modified to sort subroutines alphabetically&lt;br /&gt;
* 07/23/2002 Ian  Deal with tabs&lt;br /&gt;
&lt;br /&gt;
* $Log: BFORMAT,v $&lt;br /&gt;
* Revision 1.2  2003/05/15 18:54:51  dsiroot&lt;br /&gt;
* mcgowan:Remove code for sorting subroutines&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
PROMPT &amp;quot;:&amp;quot;&lt;br /&gt;
SPACE = &amp;#039; &amp;#039; ; STAR  = &amp;#039;*&amp;#039; ; COLON = &amp;#039;:&amp;#039; ; TAB=CHAR(9)&lt;br /&gt;
IND = 0&lt;br /&gt;
ID=UPCASE(@LOGNAME)&lt;br /&gt;
HOME.DIR=GETENV(&amp;quot;HOME&amp;quot;)&lt;br /&gt;
HOME.FILE=&amp;#039;HOME.&amp;#039;:UPCASE(ID)&lt;br /&gt;
OPEN &amp;#039;VOC&amp;#039; TO VOC ELSE STOP 201,&amp;#039;VOC&amp;#039;&lt;br /&gt;
OPEN HOME.FILE TO HOME.F ELSE&lt;br /&gt;
    R=&amp;#039;DIR&amp;#039; ; R&amp;lt;2&amp;gt;=HOME.DIR ; R&amp;lt;3&amp;gt;=&amp;#039;[[D_VOC]]&amp;#039;&lt;br /&gt;
    WRITE R ON VOC, HOME.FILE&lt;br /&gt;
    OPEN HOME.FILE TO HOME.F ELSE STOP 201, HOME.FILE&lt;br /&gt;
END&lt;br /&gt;
&lt;br /&gt;
* These are all commands that may have ELSE or THEN statements&lt;br /&gt;
* (or blocks) following them&lt;br /&gt;
SPECIAL.CASES = &amp;quot;GET&amp;quot;:@AM:&amp;quot;INPUT&amp;quot;:@AM:&amp;quot;LOCATE&amp;quot;:@AM:&amp;quot;LOCK&amp;quot;:@AM:&amp;quot;MATREAD&amp;quot;:@AM:&amp;quot;MATREADU&amp;quot;:@AM&lt;br /&gt;
SPECIAL.CASES:= &amp;quot;MATWRITE&amp;quot;:@AM:&amp;quot;MATWRITEU&amp;quot;:@AM:&amp;quot;OPEN&amp;quot;:@AM:&amp;quot;PROCREAD&amp;quot;:@AM&lt;br /&gt;
SPECIAL.CASES:= &amp;quot;PROCWRITE&amp;quot;:@AM:&amp;quot;READ&amp;quot;:@AM:&amp;quot;READNEXT&amp;quot;:@AM:&amp;quot;READSEQ&amp;quot;:@AM:&amp;quot;READT&amp;quot;:@AM:&amp;quot;READU&amp;quot;:@AM:&amp;quot;READV&amp;quot;:@AM&lt;br /&gt;
SPECIAL.CASES:= &amp;quot;READVU&amp;quot;:@AM:&amp;quot;REWIND&amp;quot;:@AM:&amp;quot;SEEK&amp;quot;:@AM:&amp;quot;WEOF&amp;quot;:@AM:&amp;quot;WRITESEQ&amp;quot;:@AM&lt;br /&gt;
SPECIAL.CASES:= &amp;quot;WRITET&amp;quot;&lt;br /&gt;
&lt;br /&gt;
DEF.INDENT=4&lt;br /&gt;
READ FORMATS FROM HOME.F,&amp;#039;.STACK.FORMAT_&amp;#039;:ID ELSE&lt;br /&gt;
    FORMATS=&amp;quot;:&amp;quot;:@VM:&amp;quot;BEGIN&amp;quot;:@VM:&amp;quot;CASE&amp;quot;:@VM:&amp;quot;ELSE&amp;quot;:@VM:&amp;quot;END&amp;quot;:@VM:&amp;quot;FOR&amp;quot;:@VM&lt;br /&gt;
    FORMATS:=&amp;quot;IF&amp;quot;:@VM:&amp;quot;LOOP&amp;quot;:@VM:&amp;quot;NEXT&amp;quot;:@VM:&amp;quot;REPEAT&amp;quot;:@VM:&amp;quot;RETURN&amp;quot;:@VM&lt;br /&gt;
    FORMATS:=&amp;quot;THEN&amp;quot;:@VM:&amp;quot;UNTIL&amp;quot;:@VM:&amp;quot;WHILE&amp;quot;&lt;br /&gt;
    * THIS.IND is the amount this line will be in or outdented&lt;br /&gt;
    FORMATS&amp;lt;2&amp;gt;=0:@VM:0:@VM:-1:@VM:0:@VM:-1:@VM:0:@VM:0:@VM&lt;br /&gt;
    FORMATS&amp;lt;2&amp;gt;:=0:@VM:-1:@VM:-1:@VM:-1:@VM:0:@VM:-1:@VM:-1&lt;br /&gt;
    * NEXT.IND is the amount that all following lines will be indented&lt;br /&gt;
    FORMATS&amp;lt;3&amp;gt;=1:@VM:2:@VM:0:@VM:1:@VM:-1:@VM:1:@VM:1:@VM&lt;br /&gt;
    FORMATS&amp;lt;3&amp;gt;:=1:@VM:-1:@VM:-1:@VM:-1:@VM:1:@VM:0:@VM:0&lt;br /&gt;
    FORMATS&amp;lt;4&amp;gt;=DEF.INDENT&lt;br /&gt;
END&lt;br /&gt;
DEF.INDENT=FORMATS&amp;lt;4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ERR = &amp;quot;Usage - BFORMAT file-name item-name&amp;quot;&lt;br /&gt;
F.NAME = FIELD(TRIM(@SENTENCE),&amp;#039; &amp;#039;,2)&lt;br /&gt;
IF F.NAME = &amp;#039;&amp;#039; THEN&lt;br /&gt;
    PRINT &amp;quot;File :&amp;quot;: ; INPUT F.NAME&lt;br /&gt;
END&lt;br /&gt;
IF F.NAME = &amp;quot;&amp;quot; OR F.NAME = &amp;quot;/&amp;quot; THEN STOP&lt;br /&gt;
OPEN F.NAME TO FI ELSE PRINT ERR ; STOP&lt;br /&gt;
&lt;br /&gt;
B.NAME = FIELD(TRIM(@SENTENCE),&amp;#039; &amp;#039;,3)&lt;br /&gt;
IF B.NAME = &amp;#039;&amp;#039; THEN&lt;br /&gt;
    PRINT &amp;quot;Item :&amp;quot;: ; INPUT B.NAME&lt;br /&gt;
END&lt;br /&gt;
IF B.NAME = &amp;quot;&amp;quot; OR B.NAME = &amp;quot;/&amp;quot; THEN STOP&lt;br /&gt;
&lt;br /&gt;
READ REC FROM FI,B.NAME ELSE PRINT &amp;quot;CANNOT READ &amp;quot;:F.NAME:&amp;quot;,&amp;quot;:B.NAME ; STOP&lt;br /&gt;
WRITE REC ON FI,B.NAME:&amp;quot;.BAK&amp;quot;&lt;br /&gt;
&lt;br /&gt;
I = DCOUNT(REC,@AM)&lt;br /&gt;
IF I &amp;lt; 2 THEN STOP&lt;br /&gt;
FOR F = 1 TO I&lt;br /&gt;
    PRINT STAR:&lt;br /&gt;
    L = REC&amp;lt;F&amp;gt; ; NEXT.LINE=REC&amp;lt;F+1&amp;gt;&lt;br /&gt;
    GOSUB FORMAT.LINE&lt;br /&gt;
    REC&amp;lt;F&amp;gt; = L&lt;br /&gt;
NEXT F&lt;br /&gt;
WRITE REC ON FI,B.NAME&lt;br /&gt;
PRINT STAR ; PRINT I:&amp;quot; lines of &amp;quot;:B.NAME:&amp;quot; formatted&amp;quot;&lt;br /&gt;
STOP&lt;br /&gt;
&lt;br /&gt;
FORMAT.LINE:&lt;br /&gt;
    GOSUB TRIM.LINE&lt;br /&gt;
    CONVERT TAB TO &amp;quot;&amp;quot; IN L&lt;br /&gt;
    FIRST.WORD = FIELD(L,SPACE,1)&lt;br /&gt;
    LEN.FIRST.WORD = LEN(FIRST.WORD)&lt;br /&gt;
    LOCATE FIRST.WORD IN SPECIAL.CASES BY &amp;#039;AL&amp;#039; SETTING SPECIAL ELSE SPECIAL = 0&lt;br /&gt;
    NUM.SPACES = COUNT(L,SPACE) + 1&lt;br /&gt;
    LAST.WORD = FIELD(L,SPACE,NUM.SPACES)&lt;br /&gt;
    NEXT.TO.LAST.WORD = FIELD(L,SPACE,NUM.SPACES-1)&lt;br /&gt;
    THIS.IND = 0&lt;br /&gt;
    NEXT.IND = 0&lt;br /&gt;
    IF L # &amp;quot;&amp;quot; THEN&lt;br /&gt;
        BEGIN CASE&lt;br /&gt;
            CASE FIRST.WORD[LEN.FIRST.WORD,1] = COLON OR NUM(FIRST.WORD)&lt;br /&gt;
                * A label&lt;br /&gt;
                IND = 0&lt;br /&gt;
                LOCATE COLON IN FORMATS&amp;lt;1&amp;gt; SETTING POS ELSE POS = 0&lt;br /&gt;
                THIS.IND = FORMATS&amp;lt;2,POS&amp;gt;&lt;br /&gt;
                NEXT.IND = FORMATS&amp;lt;3,POS&amp;gt;&lt;br /&gt;
            CASE FIRST.WORD = &amp;quot;IF&amp;quot;&lt;br /&gt;
                LOCATE FIRST.WORD IN FORMATS&amp;lt;1&amp;gt; SETTING POS ELSE POS = 0&lt;br /&gt;
                IF LAST.WORD = &amp;quot;THEN&amp;quot; THEN&lt;br /&gt;
                    THIS.IND = FORMATS&amp;lt;2,POS&amp;gt;&lt;br /&gt;
                    NEXT.IND = FORMATS&amp;lt;3,POS&amp;gt;&lt;br /&gt;
                END&lt;br /&gt;
            CASE FIRST.WORD = &amp;quot;END&amp;quot;&lt;br /&gt;
                SECOND.WORD = FIELD(L,SPACE,2)&lt;br /&gt;
                IF SECOND.WORD = &amp;quot;ELSE&amp;quot; THEN&lt;br /&gt;
                    LOCATE &amp;quot;ELSE&amp;quot; IN FORMATS&amp;lt;1&amp;gt; SETTING POS ELSE POS = 0&lt;br /&gt;
                    THIS.IND = -FORMATS&amp;lt;3,POS&amp;gt;&lt;br /&gt;
                    NEXT.IND = FORMATS&amp;lt;2,POS&amp;gt;&lt;br /&gt;
                END ELSE&lt;br /&gt;
                    IF SECOND.WORD = &amp;quot;CASE&amp;quot; THEN&lt;br /&gt;
                        LOCATE &amp;quot;BEGIN&amp;quot; IN FORMATS&amp;lt;1&amp;gt; SETTING POS ELSE POS = 0&lt;br /&gt;
                        THIS.IND = -FORMATS&amp;lt;3,POS&amp;gt;&lt;br /&gt;
                        NEXT.IND = -FORMATS&amp;lt;3,POS&amp;gt;&lt;br /&gt;
                    END ELSE&lt;br /&gt;
                        LOCATE FIRST.WORD IN FORMATS&amp;lt;1&amp;gt; SETTING POS ELSE POS = 0&lt;br /&gt;
                        THIS.IND = FORMATS&amp;lt;2,POS&amp;gt;&lt;br /&gt;
                        NEXT.IND = FORMATS&amp;lt;3,POS&amp;gt;&lt;br /&gt;
                    END&lt;br /&gt;
                END&lt;br /&gt;
            CASE SPECIAL&lt;br /&gt;
                * Find last word - skip until a space&lt;br /&gt;
                IF LAST.WORD = &amp;quot;ELSE&amp;quot; OR LAST.WORD = &amp;quot;THEN&amp;quot; THEN&lt;br /&gt;
                    LOCATE LAST.WORD IN FORMATS&amp;lt;1&amp;gt; SETTING POS ELSE POS = 0&lt;br /&gt;
                    THIS.IND = FORMATS&amp;lt;2,POS&amp;gt;&lt;br /&gt;
                    NEXT.IND = FORMATS&amp;lt;3,POS&amp;gt;&lt;br /&gt;
                END&lt;br /&gt;
            CASE FIRST.WORD = &amp;quot;FOR&amp;quot; AND NEXT.TO.LAST.WORD = &amp;quot;NEXT&amp;quot;&lt;br /&gt;
                * FOR loop on one line means do nothing&lt;br /&gt;
            CASE FIRST.WORD = &amp;quot;RETURN&amp;quot; AND NEXT.LINE # &amp;quot;&amp;quot;&lt;br /&gt;
                * RETURN without a blank line means do nothing&lt;br /&gt;
            CASE 1&lt;br /&gt;
                LOCATE FIRST.WORD IN FORMATS&amp;lt;1&amp;gt; SETTING POS ELSE POS = 0&lt;br /&gt;
                IF POS # 0 THEN&lt;br /&gt;
                    THIS.IND = FORMATS&amp;lt;2,POS&amp;gt;&lt;br /&gt;
                    NEXT.IND = FORMATS&amp;lt;3,POS&amp;gt;&lt;br /&gt;
                END&lt;br /&gt;
        END CASE&lt;br /&gt;
    END&lt;br /&gt;
    L = SPACE((IND+THIS.IND)*DEF.INDENT):L&lt;br /&gt;
    *L = STR(TAB,IND+THIS.IND):L&lt;br /&gt;
    IND = IND + NEXT.IND&lt;br /&gt;
RETURN&lt;br /&gt;
&lt;br /&gt;
TRIM.LINE:&lt;br /&gt;
    * Trim leading and trailing spaces, but not included&lt;br /&gt;
    XXLENGTH = LEN(L)&lt;br /&gt;
    FOR J = 1 TO XXLENGTH UNTIL L[J,1] # SPACE ; NEXT J&lt;br /&gt;
    IF J = XXLENGTH THEN L = &amp;quot;&amp;quot; ELSE L = L[J,XXLENGTH]&lt;br /&gt;
    XXLENGTH = LEN(L)&lt;br /&gt;
    FOR J = XXLENGTH TO 1 STEP -1 UNTIL L[J,1] # SPACE ; NEXT J&lt;br /&gt;
    L = L[1,J]&lt;br /&gt;
RETURN&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;/div&gt;</summary>
		<author><name>Conversion script</name></author>
	</entry>
</feed>