GNU bug report logs - #80170
30.2; describe-mode incorrectly shows binding shadowed by minor mode

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Reported by: Gal Lakovnik Gorenec <gal.lakovnik.gorenec@HIDDEN>; dated Sat, 10 Jan 2026 07:45:02 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at 80170 <at> debbugs.gnu.org:


Received: (at 80170) by debbugs.gnu.org; 18 Jan 2026 12:14:13 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 18 07:14:13 2026
Received: from localhost ([127.0.0.1]:48618 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1vhRfY-0005Qt-Mz
	for submit <at> debbugs.gnu.org; Sun, 18 Jan 2026 07:14:13 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:44356)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1vhRfT-0005QF-Uh
 for 80170 <at> debbugs.gnu.org; Sun, 18 Jan 2026 07:14:10 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1vhRfN-0002u5-QR; Sun, 18 Jan 2026 07:14:02 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=WxYoi6CM0gt+nkindd1zdsTgUPgRAJfGHYCnKeaechM=; b=NiTj1SYfghFW
 fmO6QM1KfPnUOFZh9pxP97ot0nE7JjJWLqikNTRkpDyRjKbaWeu4bIwygQaQzB35i49stlJlbyYCT
 7ZOOiJUUQmWiRD97nJgEEXszPjc1zJ8JUv9UGeRHFNtCltqx/S9U4drDKH6VMEoOb7XnaNr/qp5/N
 5FlJoHtILld+B6AfEQdNIC8zt8ITPGz/kcfreTzqihMHh2TFMKSmSNek4rdH7vNTEV702HDGoid+9
 ZBUzPetAqI0xIAr8DF5i5TDobbvlsFjlgYOyj4GynZOiZFJwAN9pdwcKEkMMH7sy5yRmDrPEolFeQ
 Ug1mBeC2JdYF7X45+OmYgw==;
Date: Sun, 18 Jan 2026 14:13:58 +0200
Message-Id: <86tswjnmnt.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Gal Lakovnik Gorenec <gal.lakovnik.gorenec@HIDDEN>,
 Stefan Monnier <monnier@HIDDEN>
In-Reply-To: <87ldi5s5cg.fsf@HIDDEN> (bug-gnu-emacs@HIDDEN)
Subject: Re: bug#80170: 30.2;
 describe-mode incorrectly shows binding shadowed by minor mode
References: <87h5su9uzw.fsf@HIDDEN> <87ldi5s5cg.fsf@HIDDEN>
X-Spam-Score: 2.0 (++)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview:  > Date: Sat, 10 Jan 2026 18:14:09 +0000 > From: Gal Lakovnik
 Gorenec via "Bug reports for GNU Emacs, > the Swiss army knife of text editors"
 <bug-gnu-emacs@HIDDEN> > > > Evaluating the following code [...] 
 Content analysis details:   (2.0 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record
 -0.0 SPF_PASS               SPF: sender matches SPF record
 2.0 PDS_OTHER_BAD_TLD      Untrustworthy TLDs
 [URI: test.xyz (xyz)]
X-Debbugs-Envelope-To: 80170
Cc: 80170 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.3 (-)

> Date: Sat, 10 Jan 2026 18:14:09 +0000
> From:  Gal Lakovnik Gorenec via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
> 
> 
>   Evaluating the following code reproduces the issue (again, starting from a clean
>   emacs session):
> 
>       (defvar shadow-bindings-mode-map
>       (let ((map (make-sparse-keymap)))
>         (define-key map (kbd "C-c C-c") 'shadow-message)
>         map)
>       "Keymap for shadow-bindings-mode")
> 
>       ;;;###autoload
>       (define-minor-mode
>         shadow-bindings-mode
>         "A minor mode defining a binding that conflicts with a binding of a derived mode.
>       Enabled by parent"
>         :lighter " Shadowed"
>         :keymap shadow-bindings-mode-map)
> 
>       ;;;###autoload
>       (defun shadow-message ()
>         (interactive)
>         (message "This binding shadows a derived mode's binding"))
> 
>       (defvar parent-mode-hook '(shadow-bindings-mode))
> 
>       ;;;###autoload
>       (define-derived-mode
>         parent-mode
>         prog-mode
>         "Parent"
>         "A parent mode that enables a minor mode via its startup hook.")
> 
>       (defun child-message ()
>         (interactive)
>         (message "Child-mode's binding calls this command."))
> 
>       (defvar child-mode-map
>         (let ((map (make-sparse-keymap "Child Keymap")))
>           (define-key map (kbd "C-c C-c") 'child-message)
>           map)
>         "Keymap for child-mode")
> 
>       ;;;###autoload
>       (define-derived-mode
>         child-mode
>         parent-mode
>         "Child"
>         "A derived mode.")
> 
>       ;;;###autoload
>       (add-to-list 'auto-mode-alist '("\\.xyz\\'" . child-mode))

I think this code bumps into some intimate internal implementation
details, which have to do with exactly when the parent mode's hook
runs and installs the keymap, and when the child mode's settings are
installed.  Because you turn on shadow-bindings-mode from a hook of
the parent mode, which itself installs its settings because child-mode
is its descendant.

Stefan, what should be expected in trhis case?

>   After evaluation, opening "test.xyz" exhibits the problem referred to
>   in the original report, namely:
>     C-c C-c runs 'shadow-message
>     C-h m incorrectly lists "C-c C-c" as bound to 'child-message

What I see here is that "C-h m" shows "C-c C-c" bound to both
child-message (in the bindings that describe the Major mode) and to
shadow-message (below that, in the bindings that describe this local
minor mode.

>   C-h k C-c C-c and C-h b both correctly show the binding.
>   The issue persists regardless of whether the minor mode is enabled from
>   the parent hook or manually.
> 
>   While writing this I noticed that the binding is correctly shown in
>   the description of the minor mode. Is this the intended functionality?
>   Is describe-mode supposed to show shadowed bindings without indicating
>   said shadowing?
> 
>   Anyway, if this is NOT intended functionality -- I've been lurking in
>   emacs-devel with the intention of starting to contribute and this
>   (famous last words) doesn't seem too complicated. I'd be happy to
>   submit a patch.
> 
>   P.S: Thank you and everyone else involved for your wonderful work.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#80170; Package emacs. Full text available.

Message received at 80170 <at> debbugs.gnu.org:


Received: (at 80170) by debbugs.gnu.org; 10 Jan 2026 19:51:22 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 10 14:51:22 2026
Received: from localhost ([127.0.0.1]:58452 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1veezY-0003lg-Lp
	for submit <at> debbugs.gnu.org; Sat, 10 Jan 2026 14:51:22 -0500
Received: from mail-4316.protonmail.ch ([185.70.43.16]:22737)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <gal.lakovnik.gorenec@HIDDEN>)
 id 1vedTi-0007dm-0F
 for 80170 <at> debbugs.gnu.org; Sat, 10 Jan 2026 13:14:24 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
 s=protonmail; t=1768068853; x=1768328053;
 bh=vvfP2k9dgc4OAJktqv2zD+FXSLMWEa5BIWTFnAR7B+Q=;
 h=Date:To:From:Subject:Message-ID:Feedback-ID:From:To:Cc:Date:
 Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector;
 b=cDthMgmbROv0QrR7bBge5mD0HY45F4E+N98X2DZvK2EdlCjQMHATRGixWrKT9bxWi
 LwBy9dq0FgCEYvfB+xcLB/rpFSs8iV58UkwIc7/08o/Y1Xm/w/iwW09aNfTMkG4ieP
 nw28g2xEwC6O5lqYQjQGf7Zg2gyg7BGY/hnNKpKDOWAVp3aJLRrdMMZmwOdfEepH9f
 muqPP07w173srs/r5sEWdAXktoPyrdz5/ufuvoHz8T8CHfKYigO8YaqLaVBQ9qDS6I
 4fo/Ky/FBu1ygFLROa5zJRa2WuiooAiP0oAwTi2e4IQTG5sXUMyRTMd0js5ZCpiY7T
 E0f6oH6yngvyA==
Date: Sat, 10 Jan 2026 18:14:09 +0000
To: 80170 <at> debbugs.gnu.org
From: Gal Lakovnik Gorenec <gal.lakovnik.gorenec@HIDDEN>
Subject: Re: bug#80170: 30.2;
 describe-mode incorrectly shows binding shadowed by minor mode
Message-ID: <87ldi5s5cg.fsf@HIDDEN>
Feedback-ID: 58735494:user:proton
X-Pm-Message-ID: c200341c74953f9e01f542a71a887a803df424fc
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 4.3 (++++)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview:  Hello Eli, my apologies. Pushing through my laziness would
 have saved me a bit of embarassment, and you a bit of time. In my defense,
 it was around 3 a.m. :) Evaluating the following code reproduces the issue
 (again, starting from a clean emacs session): 
 Content analysis details:   (4.3 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 0.0 RCVD_IN_VALIDITY_CERTIFIED_BLOCKED RBL: ADMINISTRATOR NOTICE:
 The query to Validity was blocked.  See
 https://knowledge.validity.com/hc/en-us/articles/20961730681243
 for more information.
 [185.70.43.16 listed in sa-accredit.habeas.com]
 0.0 RCVD_IN_MSPIKE_H4      RBL: Very Good reputation (+4)
 [185.70.43.16 listed in wl.mailspike.net]
 0.0 RCVD_IN_VALIDITY_RPBL_BLOCKED RBL: ADMINISTRATOR NOTICE: The
 query to Validity was blocked.  See
 https://knowledge.validity.com/hc/en-us/articles/20961730681243
 for more information.
 [185.70.43.16 listed in bl.score.senderscore.com]
 -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at https://www.dnswl.org/,
 no trust [185.70.43.16 listed in list.dnswl.org]
 2.0 PDS_OTHER_BAD_TLD      Untrustworthy TLDs
 [URI: test.xyz (xyz)]
 -0.0 SPF_PASS               SPF: sender matches SPF record
 -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record
 0.0 RCVD_IN_MSPIKE_WL      Mailspike good senders
 2.3 AC_FROM_MANY_DOTS      Multiple periods in From user name
X-Debbugs-Envelope-To: 80170
X-Mailman-Approved-At: Sat, 10 Jan 2026 14:51:19 -0500
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.0 (+)


Hello Eli,

  my apologies. Pushing through my laziness would have saved me a bit of
  embarassment, and you a bit of time. In my defense, it was around 3 a.m. =
:)

  Evaluating the following code reproduces the issue (again, starting from =
a clean
  emacs session):

      (defvar shadow-bindings-mode-map
      (let ((map (make-sparse-keymap)))
        (define-key map (kbd "C-c C-c") 'shadow-message)
        map)
      "Keymap for shadow-bindings-mode")

      ;;;###autoload
      (define-minor-mode
        shadow-bindings-mode
        "A minor mode defining a binding that conflicts with a binding of a=
 derived mode.
      Enabled by parent"
        :lighter " Shadowed"
        :keymap shadow-bindings-mode-map)

      ;;;###autoload
      (defun shadow-message ()
        (interactive)
        (message "This binding shadows a derived mode's binding"))

      (defvar parent-mode-hook '(shadow-bindings-mode))

      ;;;###autoload
      (define-derived-mode
        parent-mode
        prog-mode
        "Parent"
        "A parent mode that enables a minor mode via its startup hook.")

      (defun child-message ()
        (interactive)
        (message "Child-mode's binding calls this command."))

      (defvar child-mode-map
        (let ((map (make-sparse-keymap "Child Keymap")))
          (define-key map (kbd "C-c C-c") 'child-message)
          map)
        "Keymap for child-mode")

      ;;;###autoload
      (define-derived-mode
        child-mode
        parent-mode
        "Child"
        "A derived mode.")

      ;;;###autoload
      (add-to-list 'auto-mode-alist '("\\.xyz\\'" . child-mode))

  After evaluation, opening "test.xyz" exhibits the problem referred to
  in the original report, namely:
    C-c C-c runs 'shadow-message
    C-h m incorrectly lists "C-c C-c" as bound to 'child-message
   =20
  C-h k C-c C-c and C-h b both correctly show the binding.
  The issue persists regardless of whether the minor mode is enabled from
  the parent hook or manually.

  While writing this I noticed that the binding is correctly shown in
  the description of the minor mode. Is this the intended functionality?
  Is describe-mode supposed to show shadowed bindings without indicating
  said shadowing?

  Anyway, if this is NOT intended functionality -- I've been lurking in
  emacs-devel with the intention of starting to contribute and this
  (famous last words) doesn't seem too complicated. I'd be happy to
  submit a patch.

  P.S: Thank you and everyone else involved for your wonderful work.
 =20
--=20
Kind regards,
  Gal Lakovnik Gorenec





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#80170; Package emacs. Full text available.

Message received at 80170 <at> debbugs.gnu.org:


Received: (at 80170) by debbugs.gnu.org; 10 Jan 2026 10:48:43 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 10 05:48:43 2026
Received: from localhost ([127.0.0.1]:55106 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1veWWQ-0005XF-NV
	for submit <at> debbugs.gnu.org; Sat, 10 Jan 2026 05:48:43 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:41060)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1veWWO-0005X1-2D
 for 80170 <at> debbugs.gnu.org; Sat, 10 Jan 2026 05:48:40 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1veWWI-0004TC-5c; Sat, 10 Jan 2026 05:48:34 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=wD6Cvt/mU6l5Ma2S+7NexLKo6qcEpi+fRZ9t0rBRwaM=; b=E2K1kf48NOs+
 l/5USmttjA+kD6Hu6aGHKPJ2MfCjVrpvibRNVC3iBDMwrJIDWhxvacmfDxqxwHEn08HdSwCWH4IZx
 /3MDvXy4vNiDylUutVojAtrSufemwn7f/pdyDTevet4NpXEXKREGZJxUTSX4KYgbXswi1icrPhh/h
 CEMZFRZ+zhjtJYqeGyhQxMQXctslKqFpG5QkLylHw2zEm43ACEPtbqEQAha7zX7l3GYD+lsdDL9ow
 VNpJpmn0+a/om2Zc+chpczs2sNAWrawQO0oBSp2+5JSfuYGPf3wejUsYBzbFO15bFn7FQhx3P51Z1
 fQ8Phkfa+LgwfB4SYqKebQ==;
Date: Sat, 10 Jan 2026 12:48:29 +0200
Message-Id: <864iotagle.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Gal Lakovnik Gorenec <gal.lakovnik.gorenec@HIDDEN>
In-Reply-To: <87h5su9uzw.fsf@HIDDEN> (bug-gnu-emacs@HIDDEN)
Subject: Re: bug#80170: 30.2;
 describe-mode incorrectly shows binding shadowed by minor mode
References: <87h5su9uzw.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 80170
Cc: 80170 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> Date: Sat, 10 Jan 2026 00:22:47 +0000
> From:  Gal Lakovnik Gorenec via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
> 
> 
> Bug reproducible from a clean emacs:
> 
> Shell command:
> emacs -Q --init-directory="$(mktemp -d)"
> 
> >From within emacs:
> package-install RET haskell-mode RET
> 
> eval the following use-package invocation:
> NOTE: This is not a bug about tidal-mode
> 
> (use-package tidal
>   :vc
>   (:url "https://codeberg.org/uzu/tidal"))
> 
> Open an empty tidal file:
> C-c C-f ~/test.tidal
> 
> Check describe-mode, describe-key and describe-bindings:
> C-h m         -> (incorrectly) shows C-c C-c as bound to tidal-run-line
> C-h k C-c C-c ->
>   (correctly) shows C-c C-c as bound to haskell-process-cabal-build
> C-h b         ->
>   (correctly) shows C-c C-c as bound to haskell-process-cabal-build
> 
> tidal-mode is a fairly simple major-mode, derived from haskell-mode.
> C-c C-c is part of its default keymap.
> haskell-process-cabal-build belongs to the minor
> haskell-interactive-mode,
> enabled by the haskell-mode default hook.

Thanks, but is it possible to show a reproduction recipe that requires
neither haskell nor tidal being installed?  If the problem is inherent
in the Emacs core, and this report is neither against haskell-mode nor
against tidal-modem there should be no problem with coming up with a
recipe that uses only the built-in features, right?

A recipe that doesn't depend on external packages is likely to be
handled faster and in a more efficient way.

TIA




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#80170; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 10 Jan 2026 07:44:06 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 10 02:44:06 2026
Received: from localhost ([127.0.0.1]:54409 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1veTdk-000592-SF
	for submit <at> debbugs.gnu.org; Sat, 10 Jan 2026 02:44:06 -0500
Received: from lists.gnu.org ([2001:470:142::17]:58704)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <gal.lakovnik.gorenec@HIDDEN>)
 id 1veMl6-0002FY-3Y
 for submit <at> debbugs.gnu.org; Fri, 09 Jan 2026 19:23:13 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <gal.lakovnik.gorenec@HIDDEN>)
 id 1veMl0-0002af-M5
 for bug-gnu-emacs@HIDDEN; Fri, 09 Jan 2026 19:23:06 -0500
Received: from mail-4322.protonmail.ch ([185.70.43.22])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <gal.lakovnik.gorenec@HIDDEN>)
 id 1veMkw-0004oR-EU
 for bug-gnu-emacs@HIDDEN; Fri, 09 Jan 2026 19:23:06 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
 s=protonmail; t=1768004572; x=1768263772;
 bh=bOvGn0pbCK/vLyUVPJiuTyjmJHgowrox3Zs6Na4xcR0=;
 h=Date:To:From:Subject:Message-ID:Feedback-ID:From:To:Cc:Date:
 Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector;
 b=WKWFZyUqqB8zFgU8Cvv9AgRDTloPMragKN2PEJLk4QtWF06FV7zSFy0xRoLDDTbVA
 V0b3bIUQzr2I7lkfhXMuHta/d6QEYJdj9FBLKgD025ynK2u0s5WH8Ycr9XK1BzZ87g
 iOeZu9iabw3tITHpHASXNIeILsdXUpTUnWxj1Qpdq3K0fTvapaO0KkqtNjl3ztD3Io
 U+lg56xgce4VewKxZG++uQg0Ey2C1OceAUUXKnIF0E6qf+j/2XbIh9SZpIhUUMq0SV
 P8ihlIaahPykOIlJUQQ3J0FYoDhBt9582IsDUGnw2zkoR2BabuhKkQjzKz8KN7NdNl
 XYHjysy9L+h6g==
Date: Sat, 10 Jan 2026 00:22:47 +0000
To: bug-gnu-emacs@HIDDEN
From: Gal Lakovnik Gorenec <gal.lakovnik.gorenec@HIDDEN>
Subject: 30.2; describe-mode incorrectly shows binding shadowed by minor mode
Message-ID: <87h5su9uzw.fsf@HIDDEN>
Feedback-ID: 58735494:user:proton
X-Pm-Message-ID: 137f2d598d8e87938c03d97a7be328f53ec25b13
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Received-SPF: pass client-ip=185.70.43.22;
 envelope-from=gal.lakovnik.gorenec@HIDDEN; helo=mail-4322.protonmail.ch
X-Spam_score_int: 2
X-Spam_score: 0.2
X-Spam_bar: /
X-Spam_report: (0.2 / 5.0 requ) AC_FROM_MANY_DOTS=2.282, BAYES_00=-1.9,
 DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
 RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001,
 RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001,
 SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: submit
X-Mailman-Approved-At: Sat, 10 Jan 2026 02:44:03 -0500
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)


Bug reproducible from a clean emacs:

Shell command:
emacs -Q --init-directory=3D"$(mktemp -d)"

From within emacs:
package-install RET haskell-mode RET

eval the following use-package invocation:
NOTE: This is not a bug about tidal-mode

(use-package tidal
  :vc
  (:url "https://codeberg.org/uzu/tidal"))

Open an empty tidal file:
C-c C-f ~/test.tidal

Check describe-mode, describe-key and describe-bindings:
C-h m         -> (incorrectly) shows C-c C-c as bound to tidal-run-line
C-h k C-c C-c ->
  (correctly) shows C-c C-c as bound to haskell-process-cabal-build
C-h b         ->
  (correctly) shows C-c C-c as bound to haskell-process-cabal-build

tidal-mode is a fairly simple major-mode, derived from haskell-mode.
C-c C-c is part of its default keymap.
haskell-process-cabal-build belongs to the minor
haskell-interactive-mode,
enabled by the haskell-mode default hook.

-------------

In GNU Emacs 30.2 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.50,
cairo version 1.18.4)
System Description: Arch Linux

Configured using:
 'configure --with-pgtk --sysconfdir=3D/etc --prefix=3D/usr
 --libexecdir=3D/usr/lib --localstatedir=3D/var --disable-build-details
 --with-cairo --with-harfbuzz --with-libsystemd --with-modules
 --with-native-compilation=3Daot --with-tree-sitter 'CFLAGS=3D-march=3Dx86-=
64
 -mtune=3Dgeneric -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3D3
 -Wformat -Werror=3Dformat-security -fstack-clash-protection
 -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g
 -ffile-prefix-map=3D/build/emacs/src=3D/usr/src/debug/emacs -flto=3Dauto'
 'LDFLAGS=3D-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro
 -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=3Dauto'
 'CXXFLAGS=3D-march=3Dx86-64 -mtune=3Dgeneric -O2 -pipe -fno-plt -fexceptio=
ns
 -Wp,-D_FORTIFY_SOURCE=3D3 -Wformat -Werror=3Dformat-security
 -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer
 -mno-omit-leaf-frame-pointer -Wp,-D_GLIBCXX_ASSERTIONS -g
 -ffile-prefix-map=3D/build/emacs/src=3D/usr/src/debug/emacs -flto=3Dauto''

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
LCMS2 LIBOTF LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY
PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM GTK3 ZLIB

Important settings:
  value of $LANG: C.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Haskell Tidal

Minor modes in effect:
  interactive-haskell-mode: t
  haskell-indentation-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  minibuffer-regexp-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug shortdoc help-fns tidal pulse color
find-lisp scheme tidal-autoloads vc-hg vc-bzr vc-src vc-sccs vc-svn
vc-cvs vc-rcs log-view pcvs-util vc-git diff-mode track-changes
package-vc vc vc-dispatcher cl-extra use-package-core haskell-indent
haskell-doc advice comp-run comp-common haskell-c2hs ert ewoc debug
backtrace find-func quail help-mode inf-haskell haskell-decl-scan shell
pcomplete imenu haskell haskell-completions haskell-load
haskell-commands highlight-uses-mode haskell-modules haskell-sandbox
haskell-navigate-imports haskell-repl haskell-svg haskell-collapse
hideshow haskell-debug haskell-interactive-mode
haskell-presentation-mode haskell-compile haskell-process
haskell-session haskell-hoogle view haskell-mode haskell-cabal
haskell-utils haskell-font-lock haskell-indentation haskell-string
haskell-sort-imports haskell-lexeme rx haskell-align-imports
haskell-complete-module haskell-ghc-support noutline outline
flymake-proc flymake warnings thingatpt etags fileloop generator xref
project dabbrev haskell-customize compile comint ansi-osc ansi-color
ring info haskell-mode-autoloads easy-mmode loaddefs-gen lisp-mnt
radix-tree tar-mode arc-mode archive-mode cus-edit pp cus-start cus-load
wid-edit mm-archive message sendmail yank-media dired dired-loaddefs
rfc822 mml mml-sec epa derived gnus-util text-property-search time-date
mailabbrev gmm-utils mailheader mm-decode mm-bodies mm-encode mail-utils
gnutls network-stream url-cache url-http url-auth mail-parse rfc2231
rfc2047 rfc2045 mm-util ietf-drums mail-prsvr url-gw nsm puny epg
rfc6068 epg-config finder-inf package browse-url url url-proxy
url-privacy url-expand url-methods url-history url-cookie
generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse
auth-source cl-seq eieio eieio-core cl-macs icons password-cache json
subr-x map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib
rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook
vc-hooks lisp-float-type elisp-mode mwheel term/pgtk-win pgtk-win
term/common-win touch-screen pgtk-dnd tool-bar dnd fontset image
regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu
timer select scroll-bar mouse jit-lock font-lock syntax font-core
term/tty-colors frame minibuffer nadvice seq simple cl-generic
indonesian philippine cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs
theme-loaddefs faces cus-face macroexp files window text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads dbusbind inotify
dynamic-setting system-font-setting font-render-setting cairo gtk pgtk
lcms2 multi-tty move-toolbar make-network-process native-compile emacs)

Memory information:
((conses 16 343852 61074) (symbols 48 19172 6) (strings 32 81018 3736)
 (string-bytes 1 2626118) (vectors 16 34054)
 (vector-slots 8 452873 27821) (floats 8 240 316)
 (intervals 56 1773 151) (buffers 992 22))

--=20
Kind regards,
  Gal Lakovnik Gorenec





Acknowledgement sent to Gal Lakovnik Gorenec <gal.lakovnik.gorenec@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#80170; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Sun, 18 Jan 2026 12:30:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.