GNU bug report logs -
#20026
[PATCH] 24.4; regexp parse miss in ruby-mode
Previous Next
Reported by: Nobuyoshi Nakada <nobu <at> ruby-lang.org>
Date: Sat, 7 Mar 2015 01:39:02 UTC
Severity: normal
Tags: patch
Fixed in versions 25.1, 24.5
Done: Dmitry Gutov <dgutov <at> yandex.ru>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Sun, 08 Mar 2015 21:00:22 +0200
with message-id <54FC9C46.6030408 <at> yandex.ru>
and subject line Re: bug#20026: [PATCH] 24.4; regexp parse miss in ruby-mode
has caused the debbugs.gnu.org bug report #20026,
regarding [PATCH] 24.4; regexp parse miss in ruby-mode
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
20026: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20026
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
ruby-mode misses a regexp just after an open brace ('{') or a vertical
bar ('|'). As the result, `forward-sexp` and regexp highlighting do not
work expectedly (or as a ruby interpreter interprets).
ex.
tap { /'/ }
This "/'/" should be parsed as an regexp matches a single quote, but the
first operator is parsed as a division operator and the succeeding
single quote is parsed as a beginning of a string.
Same for `{|x| /'/}`.
--- lisp/progmodes/ruby-mode.el 2014-07-06 05:02:55.000000000 +0900
+++ lisp/progmodes/ruby-mode.el 2015-03-06 21:09:46.000000000 +0900
@@ -1777,7 +1777,7 @@
(defvar ruby-syntax-before-regexp-re
(concat
;; Special tokens that can't be followed by a division operator.
- "\\(^\\|[[=(,~;<>]"
+ "\\(^\\|[[{|=(,~;<>]"
;; Distinguish ternary operator tokens.
;; FIXME: They don't really have to be separated with spaces.
"\\|[?:] "
In GNU Emacs 24.4.1 (x86_64-apple-darwin14.0.0, NS apple-appkit-1343.16)
of 2014-12-24 on tenten-slave.macports.org
Windowing system distributor `Apple', version 10.3.1344
Configured using:
`configure --prefix=/opt/local --with-ns --without-x --without-dbus
CC=/usr/bin/clang 'CFLAGS=-pipe -Os -arch x86_64'
'LDFLAGS=-L/opt/local/lib -Wl,-headerpad_max_install_names -arch
x86_64' CPPFLAGS=-I/opt/local/include'
Important settings:
locale-coding-system: utf-8-hfs
Major mode: Ruby
[Message part 3 (message/rfc822, inline)]
Version: 25.1
On 03/07/2015 03:35 AM, Nobuyoshi Nakada wrote:
> ruby-mode misses a regexp just after an open brace ('{') or a vertical
> bar ('|'). As the result, `forward-sexp` and regexp highlighting do not
> work expectedly (or as a ruby interpreter interprets).
Pushed to master. Thanks.
This bug report was last modified 10 years and 70 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.