From 7ba62284137ba162df16f55c75bda4d56da7dfe7 Mon Sep 17 00:00:00 2001 From: Stefan Kangas Date: Wed, 5 Mar 2025 03:36:04 +0100 Subject: [PATCH] Make byte-compile-cond-use-jump-table obsolete This user option was introduced in 2017, with the rationale: "This is a workaround for when `byte-compile-cond-jump-table' accidentally generates wrong code (hasn't happened so far in my tests), and should be removed once we're sure there are no issues with it." https://lists.gnu.org/r/emacs-devel/2017-02/msg00223.html There hasn't been any bugs in this area within the last 6 years, and the few we did see before that were quickly resolved. Let's declare this variable obsolete now, while keeping its behavior when set to nil. We can always revert the obsoletion if it turns out to be needed after all. * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-use-jump-table): Declare obsolete. --- etc/NEWS | 2 ++ lisp/emacs-lisp/bytecomp.el | 1 + 2 files changed, 3 insertions(+) diff --git a/etc/NEWS b/etc/NEWS index dac447d1ba5..ef4cacb20f9 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -362,6 +362,8 @@ Setting this variable to a non-nil value reduces performance and leads to wrong results in some cases. We believe that it is no longer useful; please contact us if you still need it for some reason. +** 'byte-compile-cond-use-jump-table' is now obsolete. + * Editing Changes in Emacs 31.1 diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index 66407774007..1807f8674fb 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el @@ -242,6 +242,7 @@ This includes variable references and calls to functions such as `car'." "Compile `cond' clauses to a jump table implementation (using a hash-table)." :version "26.1" :type 'boolean) +(make-obsolete-variable 'byte-compile-cond-use-jump-table nil "31.1") (defvar byte-compile-dynamic nil "Formerly used to compile function bodies so they load lazily.