From 76f50fa55ce19eb4ae0a249a53289c724ea23492 Mon Sep 17 00:00:00 2001 From: Dmitry Gutov Date: Tue, 16 Sep 2025 02:14:09 +0300 Subject: ruby-syntax-propertize: Add exception for /= * lisp/progmodes/ruby-mode.el (ruby-syntax-propertize): Create an exception for assign-division operator not to be recognized as regexp start (bug#79454). * test/lisp/progmodes/ruby-mode-resources/ruby.rb: Add example. --- lisp/progmodes/ruby-mode.el | 1 + test/lisp/progmodes/ruby-mode-resources/ruby.rb | 1 + 2 files changed, 2 insertions(+) diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el index 459f8f338f7..b1104bf88a0 100644 --- a/lisp/progmodes/ruby-mode.el +++ b/lisp/progmodes/ruby-mode.el @@ -2204,6 +2204,7 @@ A slash character after any of these should begin a regexp.")) (or (not ;; Looks like division. (or (eql (char-after) ?\s) + (eql (char-after) ?=) (not (eql (char-before (1- (point))) ?\s)))) (save-excursion (forward-char -1) diff --git a/test/lisp/progmodes/ruby-mode-resources/ruby.rb b/test/lisp/progmodes/ruby-mode-resources/ruby.rb index a411b39a8fc..4fa7332f017 100644 --- a/test/lisp/progmodes/ruby-mode-resources/ruby.rb +++ b/test/lisp/progmodes/ruby-mode-resources/ruby.rb @@ -39,6 +39,7 @@ a = sub / aslb + bsub / bslb; # Highlight the regexp after "if". x = toto / foo if / do bar/ =~ "dobar" +x /= 4 # Regexp options are highlighted. -- cgit v1.2.1