Commit 68e004e0 authored by Dmitry Gutov's avatar Dmitry Gutov

Fix bug#16610

* lisp/progmodes/ruby-mode.el (ruby-font-lock-keywords): For built-ins
that require arguments, check that they're followed by something that
looks like argument.
parent a09beb3d
......@@ -4,6 +4,9 @@
`:' before binary operators (bug#16609). Don't check for `:'
before `[' and `(', or their syntax status. A percent literal
can't end with either.
(ruby-font-lock-keywords): For built-ins that require arguments,
check that they're followed by something that looks like argument
(bug#16610).
2014-02-01 Lars Ingebrigtsen <larsi@gnus.org>
......
......@@ -2017,27 +2017,17 @@ See `font-lock-syntax-table'.")
"yield")
'symbols))
(1 font-lock-keyword-face))
;; Some core methods.
;; Core methods that have required arguments.
(,(concat
ruby-font-lock-keyword-beg-re
(regexp-opt
'( ;; built-in methods on Kernel
"__callee__"
"__dir__"
"__method__"
"abort"
"at_exit"
"autoload"
"autoload?"
"binding"
"block_given?"
"caller"
"catch"
"eval"
"exec"
"exit"
"exit!"
"fail"
"fork"
"format"
"lambda"
......@@ -2050,19 +2040,12 @@ See `font-lock-syntax-table'.")
"proc"
"putc"
"puts"
"raise"
"rand"
"readline"
"readlines"
"require"
"require_relative"
"sleep"
"spawn"
"sprintf"
"srand"
"syscall"
"system"
"throw"
"trap"
"warn"
;; keyword-like private methods on Module
......@@ -2082,6 +2065,31 @@ See `font-lock-syntax-table'.")
"refine"
"using")
'symbols))
(1 (unless (looking-at " *\\(?:[]|,.)}]\\|$\\)")
font-lock-builtin-face)))
;; Kernel methods that have no required arguments.
(,(concat
ruby-font-lock-keyword-beg-re
(regexp-opt
'("__callee__"
"__dir__"
"__method__"
"abort"
"at_exit"
"binding"
"block_given?"
"caller"
"exit"
"exit!"
"fail"
"raise"
"rand"
"readline"
"readlines"
"sleep"
"srand"
"throw")
'symbols))
(1 font-lock-builtin-face))
;; Here-doc beginnings.
(,ruby-here-doc-beg-re
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment