Project

General

Profile

Feature #4513

allow whitespace following EOL continuation backslash

Added by Rich_Morin (Rich Morin) almost 8 years ago. Updated 10 months ago.

Status:
Closed
Priority:
Normal
Target version:
-
[ruby-core:<unknown>]

Description

In a few programming languages, the displayed or printed program can hide
critical syntactic and/or semantic information. For example, in make(1)
and Python, the difference between initial tabs and spaces can cause bugs
that are not visually apparent.

Ruby has a minor instance of this problem, in that spaces or tabs
between a backslash and the EOL will prevent the line from being continued:

 >> a \
 ?> = 2
 => 2
 >> b \ 
 SyntaxError: compile error
 (irb):3: syntax error, unexpected $undefined, expecting $end
    from (irb):3

Could Ruby open up its syntax to allow any number of intervening spaces or tabs before the EOL?


Related issues

Related to Ruby trunk - Bug #14597: Ripper Issue - introduced between 62674 & 62681ClosedActions

Associated revisions

Revision 62178
Added by nobu (Nobuyoshi Nakada) 12 months ago

parse.y: named backslash

  • parse.y: named backslash to show unexpected character.

Revision 62663
Added by nobu (Nobuyoshi Nakada) 11 months ago

parse.y: named whitespaces

  • parse.y: named escaped whitespaces to show unexpected character. bare whitespaces should not appear outside of word_list.

Revision 62675
Added by nobu (Nobuyoshi Nakada) 11 months ago

parse.y: tSPACE for old bison

  • parse.y (tSPACE): define a separate token for escaped space, to fix redefining user token number of ' ' error at word list separator on bison 2.

History

Updated by nahi (Hiroshi Nakamura) almost 7 years ago

  • Description updated (diff)
  • Category set to core
  • Status changed from Open to Assigned
  • Assignee set to nobu (Nobuyoshi Nakada)

Regardless it's acceptable or not, we want to check nobu's local patches first. Don't you have that?

Updated by mame (Yusuke Endoh) about 6 years ago

  • Target version set to 2.6

Updated by nobu (Nobuyoshi Nakada) about 6 years ago

  • Priority changed from Normal to 3

It is easy to change, but I doubt if it is useful.

#4

Updated by naruse (Yui NARUSE) about 1 year ago

  • Target version deleted (2.6)

Updated by nobu (Nobuyoshi Nakada) 11 months ago

  • Description updated (diff)

Warning for a backslash followed by spaces is:

Old:

$ ruby2.5 -e ' \ '
-e:1: syntax error, unexpected $undefined

Now:

$ ruby -e ' \ '
-e:1: syntax error, unexpected backslash

Does this help you?

#6

Updated by nobu (Nobuyoshi Nakada) 11 months ago

  • Status changed from Assigned to Feedback
#7

Updated by nobu (Nobuyoshi Nakada) 10 months ago

  • Related to Bug #14597: Ripper Issue - introduced between 62674 & 62681 added

Updated by nobu (Nobuyoshi Nakada) 10 months ago

  • Status changed from Feedback to Closed

Now:

$ ruby -e ' \ '
-e:1: syntax error, unexpected escaped space

Close this for now.

#9

Updated by nobu (Nobuyoshi Nakada) 10 months ago

  • Description updated (diff)

Also available in: Atom PDF