raindrops RubyGem user+dev discussion/patches/pulls/bugs/help
 help / color / mirror / code / Atom feed
From: Eric Wong <bofh@yhbt.net>
To: raindrops-public@yhbt.net
Subject: [PATCH v2] treewide: future-proof frozen_string_literal changes
Date: Thu, 8 Feb 2024 22:21:09 +0000	[thread overview]
Message-ID: <20240208222110.M47288@dcvr> (raw)
In-Reply-To: <20240208112216.2650386-1-bofh@yhbt.net>

Once again Ruby seems ready to introduce more incompatibilities
and force busywork upon maintainers[1].  In order to avoid
incompatibilities in the future, I used a Perl script[2] to
prepend `frozen_string_literal: false' to every Ruby file.

Somebody interested will have to go through every Ruby source
file and enable frozen_string_literal once they've thoroughly
verified it's safe to do so.

[1] https://bugs.ruby-lang.org/issues/20205
[2] https://yhbt.net/add-fsl.git/74d7689/s/?b=add-fsl.perl
---
 v2: using add-fsl.perl instead of ed script to handle more
 cases: `encoding:' must precede frozen_string_literal;
 add after shebang and embedded Rackup CLI switches.
 idempotency.  perl is likely installed on more systems
 than ed(1) nowadays even if ed is POSIX.  It's certainly
 true for Debian:

 https://qa.debian.org/popcon.php?package=ed
 https://qa.debian.org/popcon.php?package=perl

 examples/linux-listener-stats.rb              | 1 +
 examples/middleware.ru                        | 1 +
 examples/watcher.ru                           | 1 +
 examples/watcher_demo.ru                      | 1 +
 examples/yahns.conf.rb                        | 1 +
 examples/zbatery.conf.rb                      | 1 +
 ext/raindrops/extconf.rb                      | 1 +
 lib/raindrops.rb                              | 1 +
 lib/raindrops/aggregate.rb                    | 1 +
 lib/raindrops/aggregate/last_data_recv.rb     | 1 +
 lib/raindrops/aggregate/pmq.rb                | 1 +
 lib/raindrops/last_data_recv.rb               | 1 +
 lib/raindrops/linux.rb                        | 1 +
 lib/raindrops/middleware.rb                   | 1 +
 lib/raindrops/middleware/proxy.rb             | 1 +
 lib/raindrops/struct.rb                       | 1 +
 lib/raindrops/watcher.rb                      | 1 +
 setup.rb                                      | 1 +
 test/ipv6_enabled.rb                          | 1 +
 test/rack_unicorn.rb                          | 1 +
 test/test_aggregate_pmq.rb                    | 1 +
 test/test_inet_diag_socket.rb                 | 1 +
 test/test_last_data_recv.rb                   | 1 +
 test/test_last_data_recv_unicorn.rb           | 1 +
 test/test_linux.rb                            | 1 +
 test/test_linux_all_tcp_listen_stats.rb       | 1 +
 test/test_linux_all_tcp_listen_stats_leak.rb  | 1 +
 test/test_linux_ipv6.rb                       | 1 +
 test/test_linux_middleware.rb                 | 1 +
 test/test_linux_reuseport_tcp_listen_stats.rb | 1 +
 test/test_middleware.rb                       | 1 +
 test/test_middleware_unicorn.rb               | 1 +
 test/test_middleware_unicorn_ipv6.rb          | 1 +
 test/test_raindrops.rb                        | 1 +
 test/test_raindrops_gc.rb                     | 1 +
 test/test_struct.rb                           | 1 +
 test/test_tcp_info.rb                         | 1 +
 test/test_watcher.rb                          | 1 +
 38 files changed, 38 insertions(+)

diff --git a/examples/linux-listener-stats.rb b/examples/linux-listener-stats.rb
index 7e767da..5f67633 100755
--- a/examples/linux-listener-stats.rb
+++ b/examples/linux-listener-stats.rb
@@ -2,0 +3 @@
+# frozen_string_literal: false
diff --git a/examples/middleware.ru b/examples/middleware.ru
index 642016b..a485592 100644
--- a/examples/middleware.ru
+++ b/examples/middleware.ru
@@ -0,0 +1 @@
+# frozen_string_literal: false
diff --git a/examples/watcher.ru b/examples/watcher.ru
index a3e7fdb..e2aa97c 100644
--- a/examples/watcher.ru
+++ b/examples/watcher.ru
@@ -0,0 +1 @@
+# frozen_string_literal: false
diff --git a/examples/watcher_demo.ru b/examples/watcher_demo.ru
index 91f4cca..7a6e675 100644
--- a/examples/watcher_demo.ru
+++ b/examples/watcher_demo.ru
@@ -0,0 +1 @@
+# frozen_string_literal: false
diff --git a/examples/yahns.conf.rb b/examples/yahns.conf.rb
index f5b4f10..75f0bd1 100644
--- a/examples/yahns.conf.rb
+++ b/examples/yahns.conf.rb
@@ -0,0 +1 @@
+# frozen_string_literal: false
diff --git a/examples/zbatery.conf.rb b/examples/zbatery.conf.rb
index 5f94c0e..0537466 100644
--- a/examples/zbatery.conf.rb
+++ b/examples/zbatery.conf.rb
@@ -0,0 +1 @@
+# frozen_string_literal: false
diff --git a/ext/raindrops/extconf.rb b/ext/raindrops/extconf.rb
index b8f147c..b1310b0 100644
--- a/ext/raindrops/extconf.rb
+++ b/ext/raindrops/extconf.rb
@@ -0,0 +1 @@
+# frozen_string_literal: false
diff --git a/lib/raindrops.rb b/lib/raindrops.rb
index dc61952..c071d57 100644
--- a/lib/raindrops.rb
+++ b/lib/raindrops.rb
@@ -1,0 +2 @@
+# frozen_string_literal: false
diff --git a/lib/raindrops/aggregate.rb b/lib/raindrops/aggregate.rb
index 4fb731f..9ed7eb7 100644
--- a/lib/raindrops/aggregate.rb
+++ b/lib/raindrops/aggregate.rb
@@ -1,0 +2 @@
+# frozen_string_literal: false
diff --git a/lib/raindrops/aggregate/last_data_recv.rb b/lib/raindrops/aggregate/last_data_recv.rb
index 32908f2..2205208 100644
--- a/lib/raindrops/aggregate/last_data_recv.rb
+++ b/lib/raindrops/aggregate/last_data_recv.rb
@@ -1,0 +2 @@
+# frozen_string_literal: false
diff --git a/lib/raindrops/aggregate/pmq.rb b/lib/raindrops/aggregate/pmq.rb
index 64d0a4f..94bdf4f 100644
--- a/lib/raindrops/aggregate/pmq.rb
+++ b/lib/raindrops/aggregate/pmq.rb
@@ -1,0 +2 @@
+# frozen_string_literal: false
diff --git a/lib/raindrops/last_data_recv.rb b/lib/raindrops/last_data_recv.rb
index b4808a1..e6c47e1 100644
--- a/lib/raindrops/last_data_recv.rb
+++ b/lib/raindrops/last_data_recv.rb
@@ -1,0 +2 @@
+# frozen_string_literal: false
diff --git a/lib/raindrops/linux.rb b/lib/raindrops/linux.rb
index 9842ae1..a76192c 100644
--- a/lib/raindrops/linux.rb
+++ b/lib/raindrops/linux.rb
@@ -1,0 +2 @@
+# frozen_string_literal: false
diff --git a/lib/raindrops/middleware.rb b/lib/raindrops/middleware.rb
index 20e573c..25b5a1e 100644
--- a/lib/raindrops/middleware.rb
+++ b/lib/raindrops/middleware.rb
@@ -1,0 +2 @@
+# frozen_string_literal: false
diff --git a/lib/raindrops/middleware/proxy.rb b/lib/raindrops/middleware/proxy.rb
index a7c8e66..433950c 100644
--- a/lib/raindrops/middleware/proxy.rb
+++ b/lib/raindrops/middleware/proxy.rb
@@ -1,0 +2 @@
+# frozen_string_literal: false
diff --git a/lib/raindrops/struct.rb b/lib/raindrops/struct.rb
index e81a78e..7233ce8 100644
--- a/lib/raindrops/struct.rb
+++ b/lib/raindrops/struct.rb
@@ -1,0 +2 @@
+# frozen_string_literal: false
diff --git a/lib/raindrops/watcher.rb b/lib/raindrops/watcher.rb
index ac5b895..8fc0772 100644
--- a/lib/raindrops/watcher.rb
+++ b/lib/raindrops/watcher.rb
@@ -1,0 +2 @@
+# frozen_string_literal: false
diff --git a/setup.rb b/setup.rb
index 5eb5006..b382468 100644
--- a/setup.rb
+++ b/setup.rb
@@ -1,0 +2 @@
+# frozen_string_literal: false
diff --git a/test/ipv6_enabled.rb b/test/ipv6_enabled.rb
index c4c9709..84ed9c1 100644
--- a/test/ipv6_enabled.rb
+++ b/test/ipv6_enabled.rb
@@ -0,0 +1 @@
+# frozen_string_literal: false
diff --git a/test/rack_unicorn.rb b/test/rack_unicorn.rb
index 0ecbd42..05a7751 100644
--- a/test/rack_unicorn.rb
+++ b/test/rack_unicorn.rb
@@ -1,0 +2 @@
+# frozen_string_literal: false
diff --git a/test/test_aggregate_pmq.rb b/test/test_aggregate_pmq.rb
index 692b9bd..24e0277 100644
--- a/test/test_aggregate_pmq.rb
+++ b/test/test_aggregate_pmq.rb
@@ -0,0 +1 @@
+# frozen_string_literal: false
diff --git a/test/test_inet_diag_socket.rb b/test/test_inet_diag_socket.rb
index a8c9973..e310dff 100644
--- a/test/test_inet_diag_socket.rb
+++ b/test/test_inet_diag_socket.rb
@@ -1,0 +2 @@
+# frozen_string_literal: false
diff --git a/test/test_last_data_recv.rb b/test/test_last_data_recv.rb
index 9643dc6..edd00f3 100644
--- a/test/test_last_data_recv.rb
+++ b/test/test_last_data_recv.rb
@@ -0,0 +1 @@
+# frozen_string_literal: false
diff --git a/test/test_last_data_recv_unicorn.rb b/test/test_last_data_recv_unicorn.rb
index 60d1be9..55f5e7f 100644
--- a/test/test_last_data_recv_unicorn.rb
+++ b/test/test_last_data_recv_unicorn.rb
@@ -1,0 +2 @@
+# frozen_string_literal: false
diff --git a/test/test_linux.rb b/test/test_linux.rb
index 7808469..5451c3f 100644
--- a/test/test_linux.rb
+++ b/test/test_linux.rb
@@ -1,0 +2 @@
+# frozen_string_literal: false
diff --git a/test/test_linux_all_tcp_listen_stats.rb b/test/test_linux_all_tcp_listen_stats.rb
index ef1f943..12a35ba 100644
--- a/test/test_linux_all_tcp_listen_stats.rb
+++ b/test/test_linux_all_tcp_listen_stats.rb
@@ -1,0 +2 @@
+# frozen_string_literal: false
diff --git a/test/test_linux_all_tcp_listen_stats_leak.rb b/test/test_linux_all_tcp_listen_stats_leak.rb
index 7be46d4..a3da07e 100644
--- a/test/test_linux_all_tcp_listen_stats_leak.rb
+++ b/test/test_linux_all_tcp_listen_stats_leak.rb
@@ -1,0 +2 @@
+# frozen_string_literal: false
diff --git a/test/test_linux_ipv6.rb b/test/test_linux_ipv6.rb
index 9e8730a..9ef8f0a 100644
--- a/test/test_linux_ipv6.rb
+++ b/test/test_linux_ipv6.rb
@@ -1,0 +2 @@
+# frozen_string_literal: false
diff --git a/test/test_linux_middleware.rb b/test/test_linux_middleware.rb
index f573225..7ed20df 100644
--- a/test/test_linux_middleware.rb
+++ b/test/test_linux_middleware.rb
@@ -1,0 +2 @@
+# frozen_string_literal: false
diff --git a/test/test_linux_reuseport_tcp_listen_stats.rb b/test/test_linux_reuseport_tcp_listen_stats.rb
index 4fda218..82083e0 100644
--- a/test/test_linux_reuseport_tcp_listen_stats.rb
+++ b/test/test_linux_reuseport_tcp_listen_stats.rb
@@ -1,0 +2 @@
+# frozen_string_literal: false
diff --git a/test/test_middleware.rb b/test/test_middleware.rb
index 56ce346..5694cd4 100644
--- a/test/test_middleware.rb
+++ b/test/test_middleware.rb
@@ -1,0 +2 @@
+# frozen_string_literal: false
diff --git a/test/test_middleware_unicorn.rb b/test/test_middleware_unicorn.rb
index 6730d4b..53226a9 100644
--- a/test/test_middleware_unicorn.rb
+++ b/test/test_middleware_unicorn.rb
@@ -1,0 +2 @@
+# frozen_string_literal: false
diff --git a/test/test_middleware_unicorn_ipv6.rb b/test/test_middleware_unicorn_ipv6.rb
index 3d6862c..99ecb7f 100644
--- a/test/test_middleware_unicorn_ipv6.rb
+++ b/test/test_middleware_unicorn_ipv6.rb
@@ -1,0 +2 @@
+# frozen_string_literal: false
diff --git a/test/test_raindrops.rb b/test/test_raindrops.rb
index 6351c66..165766e 100644
--- a/test/test_raindrops.rb
+++ b/test/test_raindrops.rb
@@ -1,0 +2 @@
+# frozen_string_literal: false
diff --git a/test/test_raindrops_gc.rb b/test/test_raindrops_gc.rb
index 2098129..a9f2026 100644
--- a/test/test_raindrops_gc.rb
+++ b/test/test_raindrops_gc.rb
@@ -1,0 +2 @@
+# frozen_string_literal: false
diff --git a/test/test_struct.rb b/test/test_struct.rb
index 9792d5b..abf0c59 100644
--- a/test/test_struct.rb
+++ b/test/test_struct.rb
@@ -0,0 +1 @@
+# frozen_string_literal: false
diff --git a/test/test_tcp_info.rb b/test/test_tcp_info.rb
index 2ddacfd..2dc5c50 100644
--- a/test/test_tcp_info.rb
+++ b/test/test_tcp_info.rb
@@ -1,0 +2 @@
+# frozen_string_literal: false
diff --git a/test/test_watcher.rb b/test/test_watcher.rb
index e5d1fa2..3cf667c 100644
--- a/test/test_watcher.rb
+++ b/test/test_watcher.rb
@@ -1,0 +2 @@
+# frozen_string_literal: false

      reply	other threads:[~2024-02-08 22:21 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-08 11:22 [PATCH] treewide: future-proof frozen_string_literal changes Eric Wong
2024-02-08 22:21 ` Eric Wong [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://yhbt.net/raindrops/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240208222110.M47288@dcvr \
    --to=bofh@yhbt.net \
    --cc=raindrops-public@yhbt.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://yhbt.net/raindrops.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).