bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#46327: 28.0.50; octave-mode: transpose-quotes taken as string-quotes


From: Juang Dse
Subject: bug#46327: 28.0.50; octave-mode: transpose-quotes taken as string-quotes
Date: Sun, 7 Feb 2021 16:16:06 +0100

That basically describes continuation, thx.

I noticed that the behavior of bug 25517 only occurs in the inferior
buffer. The octave buffer itself has everything right.

On Sun, Feb 7, 2021 at 3:48 PM Basil L. Contovounesios <contovob@tcd.ie> wrote:
>
> Lars Ingebrigtsen <larsi@gnus.org> writes:
>
> > Juang Dse <juangdse@gmail.com> writes:
> >
> >> Note that the ' character as a string occurs only in pairs, which is
> >> (hopefully) unambiguous.
> >
> > Can an Octave string span several lines?  In that case, it's ambiguous
> > whether
> >
> > x = [2 2]'
> > disp(x)
> >
> > is a transpose character, or an error (with a forgotten ' somewhere), I
> > guess.
>
> I'm new to Octave, so I could be wrong, but AFAIK single-quoted string
> literals do not support line continuations.  The only special construct
> they may contain is '' which inserts a single '.
>
> Quoth (info "(octave) Strings"):
>
>      Since the single-quote mark is also used for the transpose operator
>   (*note Arithmetic Ops) but double-quote marks have no other purpose in
>   Octave, it is best to use double-quote marks to denote strings.
>
> Quoth (info "(octave) Escape Sequences in String Constants"):
>
>   In double-quoted strings, the backslash character is used to introduce
>   “escape sequences” that represent other characters.  For example, ‘\n’
>   embeds a newline character in a double-quoted string and ‘\"’ embeds a
>   double quote character.  In single-quoted strings, backslash is not a
>   special character.  Here is an example showing the difference:
>
>   [...]
>
>      In a single-quoted string there is only one escape sequence: you may
>   insert a single quote character using two single quote characters in
>   succession.  For example,
>
>        'I can''t escape'
>            ⇒ I can't escape
>
> Quoth (info "(octave) Continuation Lines"):
>
>   In the Octave language, most statements end with a newline character and
>   you must tell Octave to ignore the newline character in order to
>   continue a statement from one line to the next.  Lines that end with the
>   characters ‘...’ are joined with the following line before they are
>   divided into tokens by Octave’s parser.  For example, the lines
>
>        x = long_variable_name ...
>            + longer_variable_name ...
>            - 42
>
>   form a single statement.
>
>      Any text between the continuation marker and the newline character is
>   ignored.  For example, the statement
>
>        x = long_variable_name ...    # comment one
>            + longer_variable_name ...comment two
>            - 42                      # last comment
>
>   is equivalent to the one shown above.
>
>      Inside double-quoted string constants, the character ‘\’ has to be
>   used as continuation marker.  The ‘\’ must appear at the end of the line
>   just before the newline character:
>
>        s = "This text starts in the first line \
>        and is continued in the second line."
>
> Apparently ellipsis continuation lines were also once supported in
> double-quoted string literals:
>
>   octave:1> "foo ...RET
>   warning: '...' continuations in double-quoted character strings are
>   obsolete and will not be allowed in a future version of Octave;
>   please use '\' instead
>
> HTH,
>
> --
> Basil





reply via email to

[Prev in Thread] Current Thread [Next in Thread]