Bingo!  When reading from a script, the code discards UP TO TWO trailing control characters at the end of a line.  Thus

   0!:1 (49 12 13 { a.)
   1
1
   0!:1 (49 12 13 10 { a.)  NB. normal Windows
   1♀
|spelling error
|   1♀
|    ^
|[-0]
   0!:1 (49 12 10 { a.)  NB. Normal Linux
   1
1
   0!:1 (49 5 10 { a.)   NB. Any control character is deleted
   1
1

That explains the mystery.  We still need to agree on whether FF should be a line-end.

Henry Rich




On 7/18/2021 5:21 PM, Michal Wallace wrote:
Hrm. I always place it on a blank line by itself, and it does not give a
spelling error on linux in this case.

Could it be that the code for platform-specific line endings ignores any
character c after an LF if  32>a.i.c ?

On Sun, Jul 18, 2021 at 4:55 PM chris burke <[email protected]> wrote:

It looks like FF is not supported in linux scripts, e.g.

    9!:14''
j903/j64avx2/linux/beta-l/commercial/
www.jsoftware.com/2021-06-17T13:00:33/clang-10-0-0/SLEEF=1

    ('1',FF,'2') fwrite 't1.ijs'
3
    0!:1 <'t1.ijs'
    1
     2
|spelling error
|   1
      2
|    ^
|[-0] t1.ijs

I think FF is normally considered to be whitespace, so it can be treated
like LF.

On Sun, Jul 18, 2021 at 1:15 PM Henry Rich <[email protected]> wrote:

Every bytecode that is not an ASCII graphic or SP, CR, TAB, or LF will
cause a spelling error if encountered as a word:

     ". 12 { a.
|spelling error
|
The question here is whether FF is enough of an industry-standard to be
called whitespace, like TAB.

I don't know myself.  I have looked at the code & decided that making FF
look like LF for script purposes is not too hard, while making it look
like TAB takes more work.

But I am loath to make any change at all until I understand why FF works
sometimes and not others.  As I see it, any script containing FF would
fail when loaded, unless the FF were buried inside a string.  If you
have cases where this is not so I want to know where the FF is
disappearing to.

In the meantime you can use Eric's trick of stripping FF during load.

Henry Rich



On 7/18/2021 3:56 PM, Eric Iverson wrote:
FF char (12{a.) gets a spelling error if in a script that is loaded in
linux. I think this would be the same as in windows but have not
tested.
There are lots of values that will give spelling errors. I am not sure
it
makes sense to special case (i.e. ignore FF).

If the FF is desired for its behavior in an editor, that is OK. But it
and
perhaps other chars should be stripped out before being fed to load.

On Sun, Jul 18, 2021 at 3:39 PM Henry Rich <[email protected]>
wrote:
I will look into turning FF into LF when a script is read, & will do
it
if there are no problems.

Does Linux do something to the FF?  I don't see why you don't get the
same error there as on Windows.

Henry Rich

On 7/18/2021 7:58 AM, Michal Wallace wrote:
I sometimes use the ^L character (FF, or 12{a.) in source code files
to
divide my code into "pages".

(I have emacs set up so that I can page back and forth showing one
page
at
a time without scrolling, so the top line of the page is always at
the
top
of the screen when that page is showing, etc.)

I've done this with J source code with no problems in the past. It
works
fine in jqt and in jconsole on linux, but I just discovered that if I
try
to load a J script written this way in the windows version of
jconsole,
it
gives me a spelling error on that character.

Is this something that could be officially supported, or do I need to
change my ways? :D

----------------------------------------------------------------------
For information about J forums see
http://www.jsoftware.com/forums.htm
--
This email has been checked for viruses by AVG.
https://www.avg.com

----------------------------------------------------------------------
For information about J forums see
http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

--
This email has been checked for viruses by AVG.
https://www.avg.com

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm


--
This email has been checked for viruses by AVG.
https://www.avg.com

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to