Clojure

DispatchReader always calls CtorReader when no dispatch macro found

Details

  • Type: Defect Defect
  • Status: Open Open
  • Priority: Minor Minor
  • Resolution: Unresolved
  • Affects Version/s: Release 1.3
  • Fix Version/s: None
  • Component/s: None
  • Labels:
  • Environment:
    Windows 7, Java 1.7

Description

At the REPL, I accidentally typed:

user=> # "\w+"
RuntimeException Unsupported escape character: \w clojure.lang.Util.runtimeExce
ption (Util.java:156)
#<core$PLUS clojure.core$PLUS@6b7dc78>

You can see the confusing result (the REPL is also left in an unclosed string). After looking at LispReader.java, it seems to me DispatchReader ought to at least check for whitespace before calling CtorReader (perhaps better would be to check for a valid symbol character).

Activity

Hide
Nicola Mometto added a comment -

No longer reproducible

Show
Nicola Mometto added a comment - No longer reproducible
Hide
Alex Miller added a comment -

Seems at least partially reproducible to me. I see same behavior on first example. Second example works with a symbol {{# user.X[5]}} but fails with a reasonable error on the given case.

Show
Alex Miller added a comment - Seems at least partially reproducible to me. I see same behavior on first example. Second example works with a symbol {{# user.X[5]}} but fails with a reasonable error on the given case.
Hide
Nicola Mometto added a comment -

Ah, right.
The only way to fix the first error is to make `# "\w+"` a valid regex literal, that is, allowing whitespaces between # and the next dispatch char.
Is this something we want?

Show
Nicola Mometto added a comment - Ah, right. The only way to fix the first error is to make `# "\w+"` a valid regex literal, that is, allowing whitespaces between # and the next dispatch char. Is this something we want?
Hide
Alex Miller added a comment -

dunno

Show
Alex Miller added a comment - dunno
Hide
Alex Miller added a comment -

Removed 2nd (no longer present) example in description.

Show
Alex Miller added a comment - Removed 2nd (no longer present) example in description.

People

Vote (0)
Watch (1)

Dates

  • Created:
    Updated: