Subject: bug#48180: ruby-mode.el: fix font lock for puts and printf

From: Steve Purcell <[email-masked]>
Date: Mon, 03 May 2021 13:01:17 +1200

Tags: patch

Both these methods can be called without arguments, so the font
locking of "bare" calls to either is incorrect.  The fix is to
font-lock them as for other kernel methods which accepts zero or more
arguments.

In GNU Emacs 28.0.50 (build 1, x86_64-apple-darwin20.4.0, NS appkit-2022.44 Version 10.16 (Build 20E232))
Repository revision: 30d974bf5c02a1367291fbb6fa17a182bb7974b7
Repository branch: master
Windowing system distributor 'Apple', version 10.3.2022
System Description:  macOS 11.3

Configured using:
 'configure
 --prefix=/nix/store/kvhx6vn5wvif4s9aiwp75v8pxplh19i2-emacs-gcc-20210502.0
 --disable-build-details --with-modules --with-ns
 --disable-ns-self-contained --with-native-compilation
 CFLAGS=-DMAC_OS_X_VERSION_MAX_ALLOWED=101200'

>From 6041b603c0a4cadbd1eaa92a2d9c0162bedbd939 Mon Sep 17 00:00:00 2001
From: Steve Purcell <[email-masked]>
Date: Mon, 3 May 2021 12:54:53 +1200
Subject: [PATCH] lisp/progmodes/ruby-mode.el: puts and printf do not require
 args

Both these methods can be called without arguments, so the font
locking of "bare" calls to either is incorrect.  The fix is to
font-lock them as for other kernel methods which accepts zero or more
arguments.
---
 lisp/progmodes/ruby-mode.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el
index 35772827ce2..0c54a1d27a6 100644
--- a/lisp/progmodes/ruby-mode.el
+++ b/lisp/progmodes/ruby-mode.el
@@ -2127,11 +2127,9 @@ ruby-font-lock-keywords
           "loop"
           "open"
           "p"
-          "print"
           "printf"
           "proc"
           "putc"
-          "puts"
           "require"
           "require_relative"
           "spawn"
@@ -2180,9 +2178,11 @@ ruby-font-lock-keywords
           "fork"
           "global_variables"
           "local_variables"
+          "print"
           "private"
           "protected"
           "public"
+          "puts"
           "raise"
           "rand"
           "readline"
-- 
2.31.1