There is a new option in The Aligner which will eliminate duplicate
empty lines. This allows me to do nicer formatting around function and
source headers and footers, and removes extra empty lines from your
source.

REMOVE_DUPLICATE_EMPTY_LINES=YES

---

The Aligner was previously only able to align := when it was the third
element on a line. Now, it can handle more complex alignments, so ...

y[ 2,MANIFEST ]='Hello'
x := 11
z[function(),variable]='somevalue'

...becomes...

y[ 2, MANIFEST ] := 'Hello'
x := 11
z[ function(), variable ] := 'somevalue'

---

On the second line, the first = sign was being converted to :=, but that
was improper, since it is a continued line. This is fixed.

if CFIRSTCHAR = chr( 10 ) .or. CFIRSTCHAR = chr( 12 ) .or. ;
CFIRSTCHAR = chr( 13 ) .or. CFIRSTCHAR = chr( 26 )
CLINE := substr( CLINE, 2 )
endif

---

Someone was complaining that comments were lost on variable declarations.

I can't find anything wrong. This...

local x := 1 // this is a comment
local y // this is also a comment
local z, w // two variables on a single line

... comes out looking like ...

local x := 1 // this is a comment
local y // this is also a comment
local z // two variables on a single line
local w // two variables on a single line

If anyone can provide a specific example which breaks, please do.

---

The declaration buster was ltrim()ing all lines between the text and
endtext commands.

This is corrected.

The declaration buster was making #include into # include

This is corrected.

(I don't think that either of these were a problem outside of creating 1.07)

---

Because of the while on the continued line, this used to make a mess.

if mfilter == TRUE
copy to ( cTempFile ) for eval( miofield2 ) .and. ;
eval( mfiltfield ) ;
while eval( use_dates )
else
copy to ( cTempFile ) for eval( miofield2 ) ;
while eval( use_dates )
endif

Now, control structure identifiers are ignored if they are on a
continued line.

---

The part of Click! which broke the .not. from comp_elem was broken.

if line_disp = SUBSTR(linesrch[i],2,19) .and. .not.comp_elem
endif

This parses correctly now. This was particularly bad, since it sent
Click! to the error exit.

---

Click! now correctly removes the space between ! and = when it is the
first element of a continued line.

do while x == 1 .and. y ;
!= 7

no longer creates

do while x == 1 .and. y ;
! = 7

which caused a compiler error.