Deprecate unused features in lex.ll

There are three constructs in the lexer that are obsolete and that issue warning messages when they are used. The first of these is using the '...' construct as a line continuation inside of a double quoted string. The decision was made in this thread Support line continuations within single-quoted strings? - #7 by rik to deprecate that usage in Octave version 7 and remove it completely in Octave version 9.

Should the other two constructs which are obsolete also be deprecated? They are

  1. Using '\' as a line continuation character. The issue is that this looks like left division.
octave:1> x = 5 \
warning: using continuation marker \ outside of double quoted strings is deprecated and will be removed from a future version of Octave, use ... instead
  1. Extra white space characters after line continuation character in double-quoted strings.
str = "abc \   
warning: white space and comments after continuation markers in double-quoted character strings are obsolete and will not be allowed in a future version of Octave

Yes from my side :slightly_smiling_face:

It turns out that this warning isn’t even correct. Octave warns on whitespace characters, but absolutely rejects and errors out on comments after continuation markers. I made a change to update the warning message (octave: 2034a2ab58d8), but I also think these two warnings should just be deprecated and removed.

I went ahead and deprecated the remaining two warning messages since there didn’t seem to be an objection. See octave: 01679f865fc7.

1 Like

Seems fine to me. Is the behavior of the lexer OK and it is only the warnings that are a problem or is there some change that also needs to be made in the way the lexer is handling this input?

No change to lexer required. This was just about issuing unnecessary warnings.