Subject: bug#54133: 29.0.50; Buffer-menu-visit-tags-table disrupts non-tags buffers

From: Bob Rogers <[email-masked]>
Date: Thu, 24 Feb 2022 12:30:53 -0500

From: Eli Zaretskii <[email-masked]>
   Date: Thu, 24 Feb 2022 17:15:54 +0200

   > From: Bob Rogers <[email-masked]>
   > Date: Wed, 23 Feb 2022 16:37:11 -0500
   >
   > . . .
   >
   >    The real problem is that visit-tags-table assumes that the user knows
   > what they're doing, and makes these irreversible changes before being
   > sure of having a valid tags table.  That would be a harder thing to fix,
   > though -- and might not deal as well with my buffer-menu typos.  ;-}

   Does the alternative patch below give good results?

This does ineed work, and I had considered something similar, but was
concerned that it would not be as robust.  etags-verify-tags-table is
called from etags-recognize-tags-table, which is only a part of the
tags-table-format-functions extension mechanism used by
initialize-new-tags-table.  So to avoid breaking this mechanism I would
either have had to call initialize-new-tags-table and have it possibly
set unwanted local variables, or delve more deeply into the internals by
running tags-table-format-functions myself.

   In short, I thought checking the major mode was the better choice,
since the file was already present in a buffer.

					-- Bob