diff options
| -rw-r--r-- | lisp/ChangeLog | 3 | ||||
| -rw-r--r-- | lisp/progmodes/ruby-mode.el | 44 |
2 files changed, 29 insertions, 18 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 4903bfdd1d9..b2adc2cf881 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -4,6 +4,9 @@ | |||
| 4 | `:' before binary operators (bug#16609). Don't check for `:' | 4 | `:' before binary operators (bug#16609). Don't check for `:' |
| 5 | before `[' and `(', or their syntax status. A percent literal | 5 | before `[' and `(', or their syntax status. A percent literal |
| 6 | can't end with either. | 6 | can't end with either. |
| 7 | (ruby-font-lock-keywords): For built-ins that require arguments, | ||
| 8 | check that they're followed by something that looks like argument | ||
| 9 | (bug#16610). | ||
| 7 | 10 | ||
| 8 | 2014-02-01 Lars Ingebrigtsen <larsi@gnus.org> | 11 | 2014-02-01 Lars Ingebrigtsen <larsi@gnus.org> |
| 9 | 12 | ||
diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el index 5cee77b29a5..22de9a83f2b 100644 --- a/lisp/progmodes/ruby-mode.el +++ b/lisp/progmodes/ruby-mode.el | |||
| @@ -2017,27 +2017,17 @@ See `font-lock-syntax-table'.") | |||
| 2017 | "yield") | 2017 | "yield") |
| 2018 | 'symbols)) | 2018 | 'symbols)) |
| 2019 | (1 font-lock-keyword-face)) | 2019 | (1 font-lock-keyword-face)) |
| 2020 | ;; Some core methods. | 2020 | ;; Core methods that have required arguments. |
| 2021 | (,(concat | 2021 | (,(concat |
| 2022 | ruby-font-lock-keyword-beg-re | 2022 | ruby-font-lock-keyword-beg-re |
| 2023 | (regexp-opt | 2023 | (regexp-opt |
| 2024 | '( ;; built-in methods on Kernel | 2024 | '( ;; built-in methods on Kernel |
| 2025 | "__callee__" | ||
| 2026 | "__dir__" | ||
| 2027 | "__method__" | ||
| 2028 | "abort" | ||
| 2029 | "at_exit" | 2025 | "at_exit" |
| 2030 | "autoload" | 2026 | "autoload" |
| 2031 | "autoload?" | 2027 | "autoload?" |
| 2032 | "binding" | ||
| 2033 | "block_given?" | ||
| 2034 | "caller" | ||
| 2035 | "catch" | 2028 | "catch" |
| 2036 | "eval" | 2029 | "eval" |
| 2037 | "exec" | 2030 | "exec" |
| 2038 | "exit" | ||
| 2039 | "exit!" | ||
| 2040 | "fail" | ||
| 2041 | "fork" | 2031 | "fork" |
| 2042 | "format" | 2032 | "format" |
| 2043 | "lambda" | 2033 | "lambda" |
| @@ -2050,19 +2040,12 @@ See `font-lock-syntax-table'.") | |||
| 2050 | "proc" | 2040 | "proc" |
| 2051 | "putc" | 2041 | "putc" |
| 2052 | "puts" | 2042 | "puts" |
| 2053 | "raise" | ||
| 2054 | "rand" | ||
| 2055 | "readline" | ||
| 2056 | "readlines" | ||
| 2057 | "require" | 2043 | "require" |
| 2058 | "require_relative" | 2044 | "require_relative" |
| 2059 | "sleep" | ||
| 2060 | "spawn" | 2045 | "spawn" |
| 2061 | "sprintf" | 2046 | "sprintf" |
| 2062 | "srand" | ||
| 2063 | "syscall" | 2047 | "syscall" |
| 2064 | "system" | 2048 | "system" |
| 2065 | "throw" | ||
| 2066 | "trap" | 2049 | "trap" |
| 2067 | "warn" | 2050 | "warn" |
| 2068 | ;; keyword-like private methods on Module | 2051 | ;; keyword-like private methods on Module |
| @@ -2082,6 +2065,31 @@ See `font-lock-syntax-table'.") | |||
| 2082 | "refine" | 2065 | "refine" |
| 2083 | "using") | 2066 | "using") |
| 2084 | 'symbols)) | 2067 | 'symbols)) |
| 2068 | (1 (unless (looking-at " *\\(?:[]|,.)}]\\|$\\)") | ||
| 2069 | font-lock-builtin-face))) | ||
| 2070 | ;; Kernel methods that have no required arguments. | ||
| 2071 | (,(concat | ||
| 2072 | ruby-font-lock-keyword-beg-re | ||
| 2073 | (regexp-opt | ||
| 2074 | '("__callee__" | ||
| 2075 | "__dir__" | ||
| 2076 | "__method__" | ||
| 2077 | "abort" | ||
| 2078 | "at_exit" | ||
| 2079 | "binding" | ||
| 2080 | "block_given?" | ||
| 2081 | "caller" | ||
| 2082 | "exit" | ||
| 2083 | "exit!" | ||
| 2084 | "fail" | ||
| 2085 | "raise" | ||
| 2086 | "rand" | ||
| 2087 | "readline" | ||
| 2088 | "readlines" | ||
| 2089 | "sleep" | ||
| 2090 | "srand" | ||
| 2091 | "throw") | ||
| 2092 | 'symbols)) | ||
| 2085 | (1 font-lock-builtin-face)) | 2093 | (1 font-lock-builtin-face)) |
| 2086 | ;; Here-doc beginnings. | 2094 | ;; Here-doc beginnings. |
| 2087 | (,ruby-here-doc-beg-re | 2095 | (,ruby-here-doc-beg-re |