GNU logs - #60426, boring messages


Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#60426: 29.0.60; Binding to outline-minor-mode-cycle-map correctly is unintuitive and hard
Resent-From: Rah Guzar <rahguzar@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 30 Dec 2022 11:34:01 +0000
Resent-Message-ID: <handler.60426.B.167240001619079 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 60426
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: 60426 <at> debbugs.gnu.org
X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.167240001619079
          (code B ref -1); Fri, 30 Dec 2022 11:34:01 +0000
Received: (at submit) by debbugs.gnu.org; 30 Dec 2022 11:33:36 +0000
Received: from localhost ([127.0.0.1]:33635 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pBDdm-0004xe-Ql
	for submit <at> debbugs.gnu.org; Fri, 30 Dec 2022 06:33:36 -0500
Received: from lists.gnu.org ([209.51.188.17]:56664)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rahguzar@HIDDEN>) id 1pBDdj-0004xV-EQ
 for submit <at> debbugs.gnu.org; Fri, 30 Dec 2022 06:33:32 -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 <rahguzar@HIDDEN>)
 id 1pBDdj-0005rC-1N
 for bug-gnu-emacs@HIDDEN; Fri, 30 Dec 2022 06:33:31 -0500
Received: from sender11-pp-o93.zoho.eu ([31.186.226.251])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <rahguzar@HIDDEN>)
 id 1pBDdf-0003Vs-TS
 for bug-gnu-emacs@HIDDEN; Fri, 30 Dec 2022 06:33:30 -0500
ARC-Seal: i=1; a=rsa-sha256; t=1672400003; cv=none; d=zohomail.eu; s=zohoarc; 
 b=FUb+zuu5PXDLLQehbP92JFlY/B/IXWjZQhpAFCqoW68L44H4eRx5/QRNGHmE1odUrdP0j/Rj6JFusnwY3pO8JxmImhkzkB6hDix0J+rG6L7dHqTSNc9Cp5484d92whOI7HJKxXcE5shvmNKehCpt/PEq6O0xDKqxAKtHj8qF210=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.eu;
 s=zohoarc; 
 t=1672400003; h=Content-Type:Date:From:MIME-Version:Message-ID:Subject:To; 
 bh=+VUli74OLdzlrHafSTakJu3PJK3i31Psu94SzCabPu0=; 
 b=Ky/Thr8r2oQISKj8Uo8Z0XjfiySG6pXNbn6W7R3MybSthdYd8SLuDngF0iJlvLUd+sxq1sFx12gUVHe7jxK63imgDMfHfJRMdK/irw+woBkOvyV5SmwBbJ7yAPDVazt7GKvmznTyezEkJag0LYDe60nvi3/XVIuiXSz7DI0PQfM=
ARC-Authentication-Results: i=1; mx.zohomail.eu;
 dkim=pass  header.i=zohomail.eu;
 spf=pass  smtp.mailfrom=rahguzar@HIDDEN;
 dmarc=pass header.from=<rahguzar@HIDDEN>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1672400003; 
 s=zoho; d=zohomail.eu; i=rahguzar@HIDDEN;
 h=From:From:To:To:Subject:Subject:Date:Date:Message-ID:MIME-Version:Content-Type:Message-Id:Reply-To:Cc;
 bh=+VUli74OLdzlrHafSTakJu3PJK3i31Psu94SzCabPu0=;
 b=LZaUA4f2KanX7ie035YWrjjs7dCQ+Z0275fzs2VxbXacF8hCyj+YPT2ievzNRYzP
 XlkL7JJeCv5kCiyoygxFH7PeZz6kKgTnra0QOdU5L/pTi8MsYtN6xauy/wJrmOSQmCf
 kiliMnh6PX2CUAYU4tXG5HwZojhxEOEW5QE+Mkks=
Received: from localhost (81-231-79-170-no600.tbcn.telia.com [81.231.79.170])
 by mx.zoho.eu with SMTPS id 1672400000255609.1081619737346;
 Fri, 30 Dec 2022 12:33:20 +0100 (CET)
User-agent: mu4e 1.8.13; emacs 29.0.60
From: Rah Guzar <rahguzar@HIDDEN>
Date: Fri, 30 Dec 2022 12:12:15 +0100
Message-ID: <871qohm8ht.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-ZohoMailClient: External
Received-SPF: pass client-ip=31.186.226.251; envelope-from=rahguzar@HIDDEN;
 helo=sender11-pp-o93.zoho.eu
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
 RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.4 (-)
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: -2.4 (--)


Dear Emacs maintainers,
  I have been using `outline-minor-mode` with `outline-minor-mode-cycle`
  set to true. But to make it work I needed to bind `outline-cycle` to
  `<tab>` in addition to `TAB` on `outline-minor-mode-cycle-map`.
  By default it is only bound to `TAB`. This worked great in Emacs 28
  but when I moved to Emacs 29 this resulted in `outline-cycle` bound
  to `<tab>` everywhere and not just on outline headings.

  Looking around I found that it was because the implementation had
  changed, it no longer used `outline-minor-mode-cycle-map` as
  the value of keymap text property on headings but rather used an
  extended menu item. After looking through the source I finally
  figured that the way to achieve what I wanted was to bind

  `(menu-item "" outline-cycle :filter ,(lambda (cmd) (when (outline-on-heading-p) cmd)))`

  to `<tab>`.

  I think this is very confusing and is going to lead to some head
  scratching for people who might have other keys bound on
  `outline-minor-mode-cycle-map` since that map is now the parent
  of `outline-minor-mode-map`. I think with the current approach it
  will be better to entirely remove `outline-minor-mode-cycle-map`
  and bind the extended menu items directly on `outline-minor-mode-map`
  (the bindings are actually already on the `outline-minor-mode-map`).
  Another way can be to not make `outline-minor-mode-cycle-map` make
  a parent of `outline-minor-mode-map`, obsolete it and add to its
  docstring a description of how to achieve the same effect using
  extended menu items.


In GNU Emacs 29.0.60 (build 1, x86_64-suse-linux-gnu, GTK+ Version
 3.24.35, cairo version 1.17.6) of 2022-12-28 built on cloud106
System Description: openSUSE Tumbleweed

Configured using:
 'configure --host=x86_64-suse-linux-gnu --build=x86_64-suse-linux-gnu
 --program-prefix= --disable-dependency-tracking --prefix=/usr
 --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin
 --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include
 --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var
 --sharedstatedir=/var/lib --mandir=/usr/share/man
 --infodir=/usr/share/info --with-pgtk --with-native-compilation=aot
 --with-cairo --with-libotf --with-jpeg --with-tiff --with-gif
 --with-png --with-rsvg --with-xft --with-xml2 --with-dbus --with-sound
 --with-json --with-mailutils --with-gnutls --with-tree-sitter
 --enable-locallisppath=/usr/share/emacs/29.0.60/site-lisp:/usr/share/emacs/site-lisp
 'CFLAGS=-O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3
 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables
 -fstack-clash-protection -Werror=return-type -flto=auto'
 LDFLAGS=-Wl,-O2'

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

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

Major mode: mu4e-headers

Minor modes in effect:
  global-anzu-mode: t
  anzu-mode: t
  global-evil-surround-mode: t
  evil-surround-mode: t
  eros-mode: t
  delete-selection-mode: t
  projectile-mode: t
  recentf-mode: t
  save-place-mode: t
  global-so-long-mode: t
  which-key-mode: t
  savehist-mode: t
  better-jumper-mode: t
  better-jumper-local-mode: t
  global-company-mode: t
  company-mode: t
  vertico-mode: t
  all-the-icons-completion-mode: t
  marginalia-mode: t
  evil-goggles-mode: t
  evil-escape-mode: t
  evil-snipe-override-mode: t
  evil-snipe-mode: t
  server-mode: t
  gcmh-mode: t
  winner-mode: t
  smartparens-global-mode: t
  ws-butler-global-mode: t
  global-undo-fu-session-mode: t
  undo-fu-mode: t
  persp-mode: t
  mu4e-search-minor-mode: t
  global-hl-line-mode: t
  hl-line-mode: t
  mu4e-update-minor-mode: t
  mu4e-context-minor-mode: t
  dirvish-override-dired-mode: t
  solaire-global-mode: t
  solaire-mode: t
  shell-dirtrack-mode: t
  evil-mode: t
  evil-local-mode: t
  windmove-mode: t
  +popup-mode: t
  +modeline-global-mode: t
  +modeline-mode: t
  override-global-mode: t
  general-override-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  window-divider-mode: t
  buffer-read-only: t
  size-indication-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  abbrev-mode: t

Load-path shadows:
/home/azeem/.emacs.d/.local/straight/build-29.0.60/transient/transient hides /usr/share/emacs/29.0.60/lisp/transient
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ox-html hides /usr/share/emacs/29.0.60/lisp/org/ox-html
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org hides /usr/share/emacs/29.0.60/lisp/org/org
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-version hides /usr/share/emacs/29.0.60/lisp/org/org-version
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-persist hides /usr/share/emacs/29.0.60/lisp/org/org-persist
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-loaddefs hides /usr/share/emacs/29.0.60/lisp/org/org-loaddefs
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-fold-core hides /usr/share/emacs/29.0.60/lisp/org/org-fold-core
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-faces hides /usr/share/emacs/29.0.60/lisp/org/org-faces
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-element hides /usr/share/emacs/29.0.60/lisp/org/org-element
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/oc-basic hides /usr/share/emacs/29.0.60/lisp/org/oc-basic
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-tangle hides /usr/share/emacs/29.0.60/lisp/org/ob-tangle
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-core hides /usr/share/emacs/29.0.60/lisp/org/ob-core
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ox hides /usr/share/emacs/29.0.60/lisp/org/ox
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ox-texinfo hides /usr/share/emacs/29.0.60/lisp/org/ox-texinfo
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ox-publish hides /usr/share/emacs/29.0.60/lisp/org/ox-publish
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ox-org hides /usr/share/emacs/29.0.60/lisp/org/ox-org
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ox-odt hides /usr/share/emacs/29.0.60/lisp/org/ox-odt
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ox-md hides /usr/share/emacs/29.0.60/lisp/org/ox-md
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ox-man hides /usr/share/emacs/29.0.60/lisp/org/ox-man
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ox-latex hides /usr/share/emacs/29.0.60/lisp/org/ox-latex
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ox-koma-letter hides /usr/share/emacs/29.0.60/lisp/org/ox-koma-letter
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ox-icalendar hides /usr/share/emacs/29.0.60/lisp/org/ox-icalendar
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ox-beamer hides /usr/share/emacs/29.0.60/lisp/org/ox-beamer
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ox-ascii hides /usr/share/emacs/29.0.60/lisp/org/ox-ascii
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-timer hides /usr/share/emacs/29.0.60/lisp/org/org-timer
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-tempo hides /usr/share/emacs/29.0.60/lisp/org/org-tempo
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-table hides /usr/share/emacs/29.0.60/lisp/org/org-table
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-src hides /usr/share/emacs/29.0.60/lisp/org/org-src
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-refile hides /usr/share/emacs/29.0.60/lisp/org/org-refile
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-protocol hides /usr/share/emacs/29.0.60/lisp/org/org-protocol
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-plot hides /usr/share/emacs/29.0.60/lisp/org/org-plot
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-pcomplete hides /usr/share/emacs/29.0.60/lisp/org/org-pcomplete
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-num hides /usr/share/emacs/29.0.60/lisp/org/org-num
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-mouse hides /usr/share/emacs/29.0.60/lisp/org/org-mouse
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-mobile hides /usr/share/emacs/29.0.60/lisp/org/org-mobile
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-macs hides /usr/share/emacs/29.0.60/lisp/org/org-macs
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-macro hides /usr/share/emacs/29.0.60/lisp/org/org-macro
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-list hides /usr/share/emacs/29.0.60/lisp/org/org-list
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-lint hides /usr/share/emacs/29.0.60/lisp/org/org-lint
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-keys hides /usr/share/emacs/29.0.60/lisp/org/org-keys
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-inlinetask hides /usr/share/emacs/29.0.60/lisp/org/org-inlinetask
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-indent hides /usr/share/emacs/29.0.60/lisp/org/org-indent
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-id hides /usr/share/emacs/29.0.60/lisp/org/org-id
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-habit hides /usr/share/emacs/29.0.60/lisp/org/org-habit
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-goto hides /usr/share/emacs/29.0.60/lisp/org/org-goto
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-footnote hides /usr/share/emacs/29.0.60/lisp/org/org-footnote
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-fold hides /usr/share/emacs/29.0.60/lisp/org/org-fold
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-feed hides /usr/share/emacs/29.0.60/lisp/org/org-feed
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-entities hides /usr/share/emacs/29.0.60/lisp/org/org-entities
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-duration hides /usr/share/emacs/29.0.60/lisp/org/org-duration
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-datetree hides /usr/share/emacs/29.0.60/lisp/org/org-datetree
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-cycle hides /usr/share/emacs/29.0.60/lisp/org/org-cycle
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-ctags hides /usr/share/emacs/29.0.60/lisp/org/org-ctags
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-crypt hides /usr/share/emacs/29.0.60/lisp/org/org-crypt
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-compat hides /usr/share/emacs/29.0.60/lisp/org/org-compat
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-colview hides /usr/share/emacs/29.0.60/lisp/org/org-colview
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-clock hides /usr/share/emacs/29.0.60/lisp/org/org-clock
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-capture hides /usr/share/emacs/29.0.60/lisp/org/org-capture
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-attach hides /usr/share/emacs/29.0.60/lisp/org/org-attach
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-attach-git hides /usr/share/emacs/29.0.60/lisp/org/org-attach-git
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-archive hides /usr/share/emacs/29.0.60/lisp/org/org-archive
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/org-agenda hides /usr/share/emacs/29.0.60/lisp/org/org-agenda
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ol hides /usr/share/emacs/29.0.60/lisp/org/ol
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ol-w3m hides /usr/share/emacs/29.0.60/lisp/org/ol-w3m
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ol-rmail hides /usr/share/emacs/29.0.60/lisp/org/ol-rmail
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ol-mhe hides /usr/share/emacs/29.0.60/lisp/org/ol-mhe
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ol-man hides /usr/share/emacs/29.0.60/lisp/org/ol-man
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ol-irc hides /usr/share/emacs/29.0.60/lisp/org/ol-irc
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ol-info hides /usr/share/emacs/29.0.60/lisp/org/ol-info
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ol-gnus hides /usr/share/emacs/29.0.60/lisp/org/ol-gnus
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ol-eww hides /usr/share/emacs/29.0.60/lisp/org/ol-eww
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ol-eshell hides /usr/share/emacs/29.0.60/lisp/org/ol-eshell
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ol-doi hides /usr/share/emacs/29.0.60/lisp/org/ol-doi
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ol-docview hides /usr/share/emacs/29.0.60/lisp/org/ol-docview
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ol-bibtex hides /usr/share/emacs/29.0.60/lisp/org/ol-bibtex
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ol-bbdb hides /usr/share/emacs/29.0.60/lisp/org/ol-bbdb
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/oc hides /usr/share/emacs/29.0.60/lisp/org/oc
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/oc-natbib hides /usr/share/emacs/29.0.60/lisp/org/oc-natbib
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/oc-csl hides /usr/share/emacs/29.0.60/lisp/org/oc-csl
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/oc-bibtex hides /usr/share/emacs/29.0.60/lisp/org/oc-bibtex
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/oc-biblatex hides /usr/share/emacs/29.0.60/lisp/org/oc-biblatex
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob hides /usr/share/emacs/29.0.60/lisp/org/ob
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-table hides /usr/share/emacs/29.0.60/lisp/org/ob-table
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-sqlite hides /usr/share/emacs/29.0.60/lisp/org/ob-sqlite
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-sql hides /usr/share/emacs/29.0.60/lisp/org/ob-sql
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-shell hides /usr/share/emacs/29.0.60/lisp/org/ob-shell
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-sed hides /usr/share/emacs/29.0.60/lisp/org/ob-sed
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-screen hides /usr/share/emacs/29.0.60/lisp/org/ob-screen
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-scheme hides /usr/share/emacs/29.0.60/lisp/org/ob-scheme
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-sass hides /usr/share/emacs/29.0.60/lisp/org/ob-sass
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-ruby hides /usr/share/emacs/29.0.60/lisp/org/ob-ruby
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-ref hides /usr/share/emacs/29.0.60/lisp/org/ob-ref
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-python hides /usr/share/emacs/29.0.60/lisp/org/ob-python
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-processing hides /usr/share/emacs/29.0.60/lisp/org/ob-processing
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-plantuml hides /usr/share/emacs/29.0.60/lisp/org/ob-plantuml
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-perl hides /usr/share/emacs/29.0.60/lisp/org/ob-perl
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-org hides /usr/share/emacs/29.0.60/lisp/org/ob-org
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-octave hides /usr/share/emacs/29.0.60/lisp/org/ob-octave
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-ocaml hides /usr/share/emacs/29.0.60/lisp/org/ob-ocaml
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-maxima hides /usr/share/emacs/29.0.60/lisp/org/ob-maxima
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-matlab hides /usr/share/emacs/29.0.60/lisp/org/ob-matlab
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-makefile hides /usr/share/emacs/29.0.60/lisp/org/ob-makefile
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-lua hides /usr/share/emacs/29.0.60/lisp/org/ob-lua
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-lob hides /usr/share/emacs/29.0.60/lisp/org/ob-lob
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-lisp hides /usr/share/emacs/29.0.60/lisp/org/ob-lisp
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-lilypond hides /usr/share/emacs/29.0.60/lisp/org/ob-lilypond
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-latex hides /usr/share/emacs/29.0.60/lisp/org/ob-latex
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-julia hides /usr/share/emacs/29.0.60/lisp/org/ob-julia
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-js hides /usr/share/emacs/29.0.60/lisp/org/ob-js
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-java hides /usr/share/emacs/29.0.60/lisp/org/ob-java
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-haskell hides /usr/share/emacs/29.0.60/lisp/org/ob-haskell
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-groovy hides /usr/share/emacs/29.0.60/lisp/org/ob-groovy
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-gnuplot hides /usr/share/emacs/29.0.60/lisp/org/ob-gnuplot
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-fortran hides /usr/share/emacs/29.0.60/lisp/org/ob-fortran
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-forth hides /usr/share/emacs/29.0.60/lisp/org/ob-forth
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-exp hides /usr/share/emacs/29.0.60/lisp/org/ob-exp
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-eval hides /usr/share/emacs/29.0.60/lisp/org/ob-eval
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-eshell hides /usr/share/emacs/29.0.60/lisp/org/ob-eshell
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-emacs-lisp hides /usr/share/emacs/29.0.60/lisp/org/ob-emacs-lisp
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-dot hides /usr/share/emacs/29.0.60/lisp/org/ob-dot
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-ditaa hides /usr/share/emacs/29.0.60/lisp/org/ob-ditaa
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-css hides /usr/share/emacs/29.0.60/lisp/org/ob-css
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-comint hides /usr/share/emacs/29.0.60/lisp/org/ob-comint
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-clojure hides /usr/share/emacs/29.0.60/lisp/org/ob-clojure
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-calc hides /usr/share/emacs/29.0.60/lisp/org/ob-calc
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-awk hides /usr/share/emacs/29.0.60/lisp/org/ob-awk
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-R hides /usr/share/emacs/29.0.60/lisp/org/ob-R
/home/azeem/.emacs.d/.local/straight/build-29.0.60/org/ob-C hides /usr/share/emacs/29.0.60/lisp/org/ob-C

Features:
(evil-collection-embark embark-org embark-consult embark ffap
evil-collection-xref xref evil-anzu anzu evil-collection-vc-git vc-git
evil-collection-diff-mode diff-mode vc-dispatcher vc-svn project
evil-collection-consult consult-vertico consult compat-28 elisp-demos
evil-collection-indent jka-compr bicycle hideshow outline-minor-faces
evil-embrace evil-surround embrace expand-region text-mode-expansions
the-org-mode-expansions er-basic-expansions expand-region-core
expand-region-custom eros highlight-quoted rainbow-delimiters
highlight-numbers parent-mode hl-todo evil-collection-elisp-mode
elisp-mode vertico-directory evil-collection-helpful helpful
evil-collection-imenu imenu trace evil-collection-edebug edebug
evil-collection-debug debug backtrace info-look evil-collection-info
info help-fns radix-tree evil-collection-elisp-refs elisp-refs
evil-textobj-anyblock company-ispell company-yasnippet company-dabbrev
hide-mode-line evil-collection-help shadow disp-table whitespace delsel
display-line-numbers adaptive-wrap spell-fu ispell auto-minor-mode
projectile lisp-mnt evil-collection-grep grep ibuffer-vc ibuf-ext
evil-collection-ibuffer ibuffer ibuffer-loaddefs recentf tree-widget
saveplace evil-collection-so-long so-long emacsbug shr-color
cursor-sensor vertico-repeat sort gnus-cite smiley qp mm-archive
mail-extr textsec uni-scripts idna-mapping ucs-normalize uni-confusable
textsec-check evil-collection-which-key which-key savehist better-jumper
company-capf company evil-collection-vertico vertico orderless
all-the-icons-completion marginalia evil-goggles pulse color
evil-easymotion evil-escape evil-snipe server autorevert filenotify gcmh
winner smartparens-config smartparens-rst smartparens-markdown
smartparens-text smartparens ws-butler undo-fu-session undo-fu
persp-mode evil-collection-mu4e mu4e mu4e-org oc-natbib oc-csl citeproc
citeproc-itemgetters citeproc-biblatex citeproc-bibtex parsebib
ol-bibtex evil-collection-org smartparens-org org-yt org-element
org-persist xdg org-id org-refile avl-tree generator org ob ob-tangle
ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-src ob-comint
org-pcomplete org-list org-faces org-entities noutline outline
ob-emacs-lisp org-table ol org-keys citeproc-cite citeproc-subbibs
citeproc-sort citeproc-name citeproc-formatters citeproc-number rst
evil-collection-compile compile citeproc-proc citeproc-disamb
citeproc-itemdata citeproc-generic-elements citeproc-macro
citeproc-choose citeproc-date citeproc-context citeproc-prange
citeproc-style citeproc-locale citeproc-term f f-shortdoc citeproc-rt
citeproc-lib citeproc-s s queue dash bibtex oc-biblatex oc find-func
mu4e-main mu4e-view gnus-art mm-uu mml2015 mm-view mml-smime smime
gnutls dig gnus-sum gnus-group gnus-undo gnus-start gnus-dbus dbus
gnus-cloud nnimap nnmail mail-source utf7 nnoo parse-time iso8601
gnus-spec gnus-int gnus-range gnus-win evil-collection-gnus gnus
nnheader range evil-collection-calendar cal-menu calendar cal-loaddefs
mu4e-headers mu4e-compose mu4e-draft mu4e-actions smtpmail mu4e-search
mu4e-lists mu4e-bookmarks mu4e-mark mu4e-message shr pixel-fill kinsoku
url-file svg xml dom browse-url url url-proxy url-privacy url-expand
url-methods url-history url-cookie generate-lisp-file url-domsuf
url-util url-parse auth-source json map url-vars flow-fill mule-util
hl-line mu4e-contacts mu4e-update mu4e-folders mu4e-server mu4e-context
mu4e-vars mu4e-helpers mu4e-config evil-collection-bookmark bookmark ido
message sendmail mailcap yank-media puny dirvish transient eieio
eieio-core compat evil-collection-dired dired dired-loaddefs rfc822 mml
mml-sec password-cache evil-collection-epa evil-collection-custom
cus-edit cus-start cus-load wid-edit evil-collection-comint
evil-collection annalist epa epg rfc6068 epg-config gnus-util
text-property-search time-date mm-decode mm-bodies mm-encode mail-parse
rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev
mail-utils gmm-utils mailheader dtrt-indent doom-themes-ext-org
solaire-mode face-remap doom-earl-grey-theme doom-themes
doom-themes-base html2text ob-core org-cycle org-fold org-fold-core
org-compat ob-eval org-version org-macs format-spec ibuf-macs evil
evil-integration evil-maps evil-commands reveal flyspell evil-jumps
evil-command-window evil-search shell pcomplete comint ansi-osc
ansi-color evil-types evil-macros evil-repeat evil-states evil-core comp
comp-cstr warnings icons byte-opt advice evil-common windmove calc
calc-loaddefs calc-macs thingatpt rect evil-digraphs evil-vars ring
all-the-icons all-the-icons-faces data-material data-weathericons
data-octicons data-fileicons data-faicons data-alltheicons let-alist
derived edmacro kmacro use-package-bind-key bind-key rx doom-editor
doom-projects doom-ui easy-mmode doom-keybinds pp cl-extra help-mode
use-package-core bytecomp byte-compile general tex-site doom-start
doom-modules cl-seq doom doom-lib cl-macs cl-loaddefs cl-lib pcase gv
jansson dynamic-modules subr-x rmc iso-transl tooltip cconv eldoc paren
electric uniquify ediff-hook vc-hooks lisp-float-type mwheel
term/pgtk-win pgtk-win term/common-win 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
multi-tty make-network-process native-compile emacs)

Memory information:
((conses 16 965790 352457)
 (symbols 48 47806 68)
 (strings 32 314775 20025)
 (string-bytes 1 6948100)
 (vectors 16 109484)
 (vector-slots 8 3372525 140268)
 (floats 8 1584 1574)
 (intervals 56 6655 1972)
 (buffers 984 27))




Message sent:


Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Mailer: MIME-tools 5.505 (Entity 5.505)
Content-Type: text/plain; charset=utf-8
X-Loop: help-debbugs@HIDDEN
From: help-debbugs@HIDDEN (GNU bug Tracking System)
To: Rah Guzar <rahguzar@HIDDEN>
Subject: bug#60426: Acknowledgement (29.0.60; Binding to outline-minor-mode-cycle-map
 correctly is unintuitive and hard)
Message-ID: <handler.60426.B.167240001619079.ack <at> debbugs.gnu.org>
References: <871qohm8ht.fsf@HIDDEN>
X-Gnu-PR-Message: ack 60426
X-Gnu-PR-Package: emacs
Reply-To: 60426 <at> debbugs.gnu.org
Date: Fri, 30 Dec 2022 11:34:02 +0000

Thank you for filing a new bug report with debbugs.gnu.org.

This is an automatically generated reply to let you know your message
has been received.

Your message is being forwarded to the package maintainers and other
interested parties for their attention; they will reply in due course.

Your message has been sent to the package maintainer(s):
 bug-gnu-emacs@HIDDEN

If you wish to submit further information on this problem, please
send it to 60426 <at> debbugs.gnu.org.

Please do not send mail to help-debbugs@HIDDEN unless you wish
to report a problem with the Bug-tracking system.

--=20
60426: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D60426
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems


Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#60426: 29.0.60; Binding to outline-minor-mode-cycle-map correctly is unintuitive and hard
Resent-From: Juri Linkov <juri@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 05 Jan 2023 17:57:03 +0000
Resent-Message-ID: <handler.60426.B60426.167294138031518 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 60426
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Rah Guzar <rahguzar@HIDDEN>
Cc: 60426 <at> debbugs.gnu.org
Received: via spool by 60426-submit <at> debbugs.gnu.org id=B60426.167294138031518
          (code B ref 60426); Thu, 05 Jan 2023 17:57:03 +0000
Received: (at 60426) by debbugs.gnu.org; 5 Jan 2023 17:56:20 +0000
Received: from localhost ([127.0.0.1]:52812 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pDUTU-0008CH-Bg
	for submit <at> debbugs.gnu.org; Thu, 05 Jan 2023 12:56:20 -0500
Received: from relay3-d.mail.gandi.net ([217.70.183.195]:50401)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1pDUTR-0008Bl-LI
 for 60426 <at> debbugs.gnu.org; Thu, 05 Jan 2023 12:56:18 -0500
Received: (Authenticated sender: juri@HIDDEN)
 by mail.gandi.net (Postfix) with ESMTPSA id 424DB60002;
 Thu,  5 Jan 2023 17:56:10 +0000 (UTC)
From: Juri Linkov <juri@HIDDEN>
In-Reply-To: <871qohm8ht.fsf@HIDDEN> (Rah Guzar via's message of "Fri, 30
 Dec 2022 12:12:15 +0100")
Organization: LINKOV.NET
References: <871qohm8ht.fsf@HIDDEN>
Date: Thu, 05 Jan 2023 19:45:37 +0200
Message-ID: <861qo95fzi.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.7 (/)
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.7 (-)

>   Looking around I found that it was because the implementation had
>   changed, it no longer used `outline-minor-mode-cycle-map` as
>   the value of keymap text property on headings but rather used an
>   extended menu item. After looking through the source I finally
>   figured that the way to achieve what I wanted was to bind
>
>   `(menu-item "" outline-cycle :filter ,(lambda (cmd) (when (outline-on-heading-p) cmd)))`
>
>   to `<tab>`.
>
>   I think this is very confusing and is going to lead to some head
>   scratching for people who might have other keys bound on
>   `outline-minor-mode-cycle-map` since that map is now the parent
>   of `outline-minor-mode-map`. I think with the current approach it
>   will be better to entirely remove `outline-minor-mode-cycle-map`
>   and bind the extended menu items directly on `outline-minor-mode-map`
>   (the bindings are actually already on the `outline-minor-mode-map`).
>   Another way can be to not make `outline-minor-mode-cycle-map` make
>   a parent of `outline-minor-mode-map`, obsolete it and add to its
>   docstring a description of how to achieve the same effect using
>   extended menu items.

We expected this change to be backwards-compatible assuming
that users would define keys in outline-minor-mode-cycle-map
using the same helper as is seen in the default definition:

  (outline-minor-mode-cycle--bind map (kbd "TAB") #'outline-cycle)

Maybe this requirement should be documented in the docstring
and mentioned in NEWS?




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#60426: 29.0.60; Binding to outline-minor-mode-cycle-map correctly is unintuitive and hard
Resent-From: Rah Guzar <rahguzar@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 05 Jan 2023 19:05:02 +0000
Resent-Message-ID: <handler.60426.B60426.16729454556795 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 60426
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Juri Linkov <juri@HIDDEN>
Cc: Rah Guzar <rahguzar@HIDDEN>, 60426 <at> debbugs.gnu.org
Received: via spool by 60426-submit <at> debbugs.gnu.org id=B60426.16729454556795
          (code B ref 60426); Thu, 05 Jan 2023 19:05:02 +0000
Received: (at 60426) by debbugs.gnu.org; 5 Jan 2023 19:04:15 +0000
Received: from localhost ([127.0.0.1]:52886 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pDVXD-0001lX-EA
	for submit <at> debbugs.gnu.org; Thu, 05 Jan 2023 14:04:15 -0500
Received: from sender11-pp-o91.zoho.eu ([31.186.226.249]:25207)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rahguzar@HIDDEN>) id 1pDVXB-0001lO-LQ
 for 60426 <at> debbugs.gnu.org; Thu, 05 Jan 2023 14:04:14 -0500
Delivered-To: rahguzar@HIDDEN
ARC-Seal: i=1; a=rsa-sha256; t=1672945450; cv=none; d=zohomail.eu; s=zohoarc; 
 b=d3moyvzNEKIxeUBB8Cy6W8JdUszorgDBT7FZrLTFnfsUoyjlhJl8hp7pblrce76gPJChkHWiJ6whZu+dk/Xde/rrwds9nbzC94y7dPTmH+FSFc6mCHDFEzP3fpaAtfzwOJRhi/O8muanqBYeH/aIpWtZnAPpJDYz2NZ/HQgFsYA=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.eu;
 s=zohoarc; t=1672945450;
 h=Content-Type:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To;
 bh=xmJytYkZjBvB145a6agDAoIVxj7wsOCAj9C433VxVkE=; 
 b=jQ8DtwHNLAWJyFP4cd1f4IdZRquoH27cV5v3RMUSOmcf9Uz8BMu12ggyT+awnucD7YbHzzbLnc0PjKVXlfeJ7jGL1U67Y9KCrvIvhIv2diPe7MIAznhbysc2gIEHzIU9Ooh7RqmNSD7u87yx4+JQOZyOM0jVJzysmJSUhN0pCOg=
ARC-Authentication-Results: i=1; mx.zohomail.eu;
 dkim=pass  header.i=zohomail.eu;
 spf=pass  smtp.mailfrom=rahguzar@HIDDEN;
 dmarc=pass header.from=<rahguzar@HIDDEN>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1672945450; 
 s=zoho; d=zohomail.eu; i=rahguzar@HIDDEN;
 h=References:From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:In-reply-to:Message-ID:MIME-Version:Content-Type:Message-Id:Reply-To;
 bh=xmJytYkZjBvB145a6agDAoIVxj7wsOCAj9C433VxVkE=;
 b=gyma5qjKB/vHAATRCo19EigLihhWMIX3D6ihad6xGZK7xQkXaN3scklwrLM3QGqS
 rJw7EHH2UzKlM+1UYU7oDfp+g4+36F51SF4uC70DcLPIjXkMcQ7jZqn3mARyPJslpDv
 mhjr9WviVJWFrgiTIw0kl1+UhIV/exf2yPrKKbr4=
Received: from localhost (81-231-79-170-no600.tbcn.telia.com [81.231.79.170])
 by mx.zoho.eu with SMTPS id 1672945446876631.8030045926605;
 Thu, 5 Jan 2023 20:04:06 +0100 (CET)
References: <871qohm8ht.fsf@HIDDEN> <861qo95fzi.fsf@HIDDEN>
User-agent: mu4e 1.8.13; emacs 29.0.60
From: Rah Guzar <rahguzar@HIDDEN>
Date: Thu, 05 Jan 2023 19:28:38 +0100
In-reply-to: <861qo95fzi.fsf@HIDDEN>
Message-ID: <877cy0ztuj.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-ZohoMailClient: External
X-Spam-Score: 0.0 (/)
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 (-)


Juri Linkov <juri@HIDDEN> writes:

> We expected this change to be backwards-compatible assuming
> that users would define keys in outline-minor-mode-cycle-map
> using the same helper as is seen in the default definition:
>
>   (outline-minor-mode-cycle--bind map (kbd "TAB") #'outline-cycle)
>
> Maybe this requirement should be documented in the docstring
> and mentioned in NEWS?

I think this is a good idea since people who have already keys bound
on outline-minor-mode-cycle-map are likely to be as surprised as I was.

But I also think that it is more important to mention this in the
docstring for outline-minor-mode-cycle-map. Since its current
docstring "Keymap used by outline-minor-mode-cycle." is misleading in
my opinion, especially since any key there is going to be active
if outline-minor-mode is on, regardless of the value of
`outline-minor-mode-cycle`.

Also I was confused by the two hyphens in the name
outline-minor-mode-cycle--bind and thought that it was a private
function even though in retrospect they are in the wrong place
for it to be private. By the way I also think that the MAP
argument outline-minor-mode-cycle--bind of should be optional.

Thanks!




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#60426: 29.0.60; Binding to outline-minor-mode-cycle-map correctly is unintuitive and hard
Resent-From: Juri Linkov <juri@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 10 Jan 2023 19:24:01 +0000
Resent-Message-ID: <handler.60426.B60426.16733785973081 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 60426
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Rah Guzar <rahguzar@HIDDEN>
Cc: 60426 <at> debbugs.gnu.org
Received: via spool by 60426-submit <at> debbugs.gnu.org id=B60426.16733785973081
          (code B ref 60426); Tue, 10 Jan 2023 19:24:01 +0000
Received: (at 60426) by debbugs.gnu.org; 10 Jan 2023 19:23:17 +0000
Received: from localhost ([127.0.0.1]:41166 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pFKDM-0000na-QA
	for submit <at> debbugs.gnu.org; Tue, 10 Jan 2023 14:23:17 -0500
Received: from relay4-d.mail.gandi.net ([217.70.183.196]:37553)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1pFKDL-0000nM-8U
 for 60426 <at> debbugs.gnu.org; Tue, 10 Jan 2023 14:23:16 -0500
Received: (Authenticated sender: juri@HIDDEN)
 by mail.gandi.net (Postfix) with ESMTPSA id B2895E0004;
 Tue, 10 Jan 2023 19:23:05 +0000 (UTC)
From: Juri Linkov <juri@HIDDEN>
In-Reply-To: <877cy0ztuj.fsf@HIDDEN> (Rah Guzar's message of "Thu, 05 Jan
 2023 19:28:38 +0100")
Organization: LINKOV.NET
References: <871qohm8ht.fsf@HIDDEN> <861qo95fzi.fsf@HIDDEN>
 <877cy0ztuj.fsf@HIDDEN>
Date: Tue, 10 Jan 2023 20:59:55 +0200
Message-ID: <86tu0ymc2s.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: -0.7 (/)
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.7 (-)

--=-=-=
Content-Type: text/plain

>>   (outline-minor-mode-cycle--bind map (kbd "TAB") #'outline-cycle)
>>
>> Maybe this requirement should be documented in the docstring
>> and mentioned in NEWS?
>
> I think this is a good idea since people who have already keys bound
> on outline-minor-mode-cycle-map are likely to be as surprised as I was.
>
> But I also think that it is more important to mention this in the
> docstring for outline-minor-mode-cycle-map. Since its current
> docstring "Keymap used by outline-minor-mode-cycle." is misleading in
> my opinion, especially since any key there is going to be active
> if outline-minor-mode is on, regardless of the value of
> `outline-minor-mode-cycle`.

Thanks for suggestions.  The following patch addresses all the points
that have been raised, except obsoleting `outline-minor-mode-cycle-map`.
It's more convenient to bind keys in this map since `outline-minor-mode-map`
is not explicitly defined unlike `outline-mode-map`.

> Also I was confused by the two hyphens in the name
> outline-minor-mode-cycle--bind and thought that it was a private
> function even though in retrospect they are in the wrong place
> for it to be private.

Two hyphens in the name rather indicated that the implementation
is subject to change without notice - an assumption that is true
for internal functions.  So now I'm not sure if adding an alias
without two hyphens is worth to do.


--=-=-=
Content-Type: text/x-diff
Content-Disposition: inline; filename=outline-minor-mode-cycle--bind.patch

diff --git a/etc/NEWS b/etc/NEWS
index a28f5c9a65a..6ae79e6cebc 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -350,6 +350,15 @@ next button, even if the mode has bound it to something else.  This
 also means that 'TAB' on a button in an 'outline-minor-mode' heading
 will move point instead of collapsing the outline.
 
+---
+** 'outline-minor-mode-cycle-map' is now parent of 'outline-minor-mode'.
+Instead of adding font-lock text property 'keymap' with
+'outline-minor-mode-cycle' on outline headings in 'outline-minor-mode',
+the keymap 'outline-minor-mode-cycle' is now active in the whole buffer.
+But keybindings in 'outline-minor-mode-cycle' are still take effect
+only on outline headings because they are bound with the help of
+'outline-minor-mode-cycle--bind' that checks if point is on a heading.
+
 ---
 ** 'Info-default-directory-list' is no longer populated at Emacs startup.
 If you have code in your init file that removes directories from
diff --git a/lisp/outline.el b/lisp/outline.el
index 91f6040687b..26e41735a01 100644
--- a/lisp/outline.el
+++ b/lisp/outline.el
@@ -210,7 +210,12 @@ outline-minor-mode-cycle-filter
 
 (defvar outline-minor-mode-cycle)
 (defun outline-minor-mode-cycle--bind (map key binding &optional filter)
-  (define-key map key
+  "Define KEY as BINDING in MAP using FILTER.
+The key takes effect only on the following conditions:
+`outline-minor-mode-cycle' is non-nil, point is located on the heading line,
+FILTER or `outline-minor-mode-cycle-filter' is nil or returns non-nil.
+The argument MAP is optional and defaults to `outline-minor-mode-cycle-map'."
+  (define-key (or map outline-minor-mode-cycle-map) key
     `(menu-item
       "" ,binding
       ;; Filter out specific positions on the heading.
@@ -227,8 +232,16 @@ outline-minor-mode-cycle-map
   (let ((map (make-sparse-keymap)))
     (outline-minor-mode-cycle--bind map (kbd "TAB") #'outline-cycle)
     (outline-minor-mode-cycle--bind map (kbd "<backtab>") #'outline-cycle-buffer)
+    (keymap-set map "<left-margin> <mouse-1>" 'outline-cycle)
+    (keymap-set map "<right-margin> <mouse-1>" 'outline-cycle)
+    (keymap-set map "<left-margin> S-<mouse-1>" 'outline-cycle-buffer)
+    (keymap-set map "<right-margin> S-<mouse-1>" 'outline-cycle-buffer)
     map)
-  "Keymap used by `outline-minor-mode-cycle'.")
+  "Keymap used as a parent of the `outline-minor-mode' keymap.
+It contains key bindings that can be used to cycle visibility.
+The recommended way to bind keys is with `outline-minor-mode-cycle--bind'
+when the key should be enabled only when `outline-minor-mode-cycle' is
+non-nil and point is located on the heading line.")
 
 (defvar outline-mode-map
   (let ((map (make-sparse-keymap)))
@@ -518,10 +532,6 @@ outline-minor-mode
   :keymap (define-keymap
             :parent outline-minor-mode-cycle-map
             "<menu-bar>" outline-minor-mode-menu-bar-map
-            "<left-margin> <mouse-1>" 'outline-cycle
-            "<right-margin> <mouse-1>" 'outline-cycle
-            "<left-margin> S-<mouse-1>" 'outline-cycle-buffer
-            "<right-margin> S-<mouse-1>" 'outline-cycle-buffer
             (key-description outline-minor-mode-prefix) outline-mode-prefix-map)
   (if outline-minor-mode
       (progn

--=-=-=--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#60426: 29.0.60; Binding to outline-minor-mode-cycle-map correctly is unintuitive and hard
Resent-From: Rah Guzar <rahguzar@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 11 Jan 2023 16:39:02 +0000
Resent-Message-ID: <handler.60426.B60426.16734550918946 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 60426
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Juri Linkov <juri@HIDDEN>
Cc: 60426 <at> debbugs.gnu.org
Received: via spool by 60426-submit <at> debbugs.gnu.org id=B60426.16734550918946
          (code B ref 60426); Wed, 11 Jan 2023 16:39:02 +0000
Received: (at 60426) by debbugs.gnu.org; 11 Jan 2023 16:38:11 +0000
Received: from localhost ([127.0.0.1]:43648 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pFe78-0002KE-FS
	for submit <at> debbugs.gnu.org; Wed, 11 Jan 2023 11:38:10 -0500
Received: from sender11-pp-o91.zoho.eu ([31.186.226.249]:25283)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rahguzar@HIDDEN>) id 1pFe75-0002K4-7B
 for 60426 <at> debbugs.gnu.org; Wed, 11 Jan 2023 11:38:08 -0500
ARC-Seal: i=1; a=rsa-sha256; t=1673455084; cv=none; d=zohomail.eu; s=zohoarc; 
 b=NC8UBU3qHKLZmCI+WtzIG6ilg8k+vdFT0S9D8iaJOR6Sha48JeUPRoBlGr6MQ85fn8efqYR3TmCA1FKP8mxEgiPkokBaEcB7wLZcGbYt/XATOcodeGyd/UkSYDTWcQiS+clAVVF7fPLjk38iudl9CfKOstaaPzoZM7qou3dNC10=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.eu;
 s=zohoarc; t=1673455084;
 h=Content-Type:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To;
 bh=lFUXjs0y3eUeUUP7OvlqlO6mgZ4rim4Ykk3MqsPQiOM=; 
 b=iNEuwUwHUkc9pr+zRSpQOk0RUrTBRB0BfP3vY53HaEYt8V44pCLh9ZFM/C3s+badqyYIde4eyAgZMzzo6bx8V9iV3XIQXmYWak7mKlEqLL7kz0HqVjQWbylMdvkaiHHrTL/T6AsAExuyB81NldEnaVSWT+pRWIQUyMKkhhE3s1k=
ARC-Authentication-Results: i=1; mx.zohomail.eu;
 dkim=pass  header.i=zohomail.eu;
 spf=pass  smtp.mailfrom=rahguzar@HIDDEN;
 dmarc=pass header.from=<rahguzar@HIDDEN>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1673455084; 
 s=zoho; d=zohomail.eu; i=rahguzar@HIDDEN;
 h=References:From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:In-reply-to:Message-ID:MIME-Version:Content-Type:Message-Id:Reply-To;
 bh=lFUXjs0y3eUeUUP7OvlqlO6mgZ4rim4Ykk3MqsPQiOM=;
 b=sdnXlUb54IUfvlu0gNmCXSfEw4lQ0e+9UFkf5banstI6a+JVHZ3g2Atn3uwR9ud7
 hf2fnsNH4VyLARRxmEYo7QBLNt22KT/mALRLfGBtYUGqStjlGKlPNM1Md2b0HmVD4IZ
 WTll8nxOYfvEZBprMZ5p79NkdF3XnW8kXyO6j/c8=
Received: from localhost (81-231-79-170-no600.tbcn.telia.com [81.231.79.170])
 by mx.zoho.eu with SMTPS id 1673455081811687.3295555621853;
 Wed, 11 Jan 2023 17:38:01 +0100 (CET)
References: <871qohm8ht.fsf@HIDDEN> <861qo95fzi.fsf@HIDDEN>
 <877cy0ztuj.fsf@HIDDEN> <86tu0ymc2s.fsf@HIDDEN>
User-agent: mu4e 1.8.13; emacs 29.0.60
From: Rah Guzar <rahguzar@HIDDEN>
Date: Wed, 11 Jan 2023 17:29:22 +0100
In-reply-to: <86tu0ymc2s.fsf@HIDDEN>
Message-ID: <87fschrpqw.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-ZohoMailClient: External
X-Spam-Score: 0.0 (/)
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 (-)


Thanks a lot! The patch look good to me. Minor quibbles:
1. I think  in the NEWS entry, "font-lock text property 'keymap'" should
   probably just be "text property 'keymap'" i.e. why mention font-lock?

2. Since the implementation of `outline-minor-mode-cycle--bind` can change,
   it is better to change the order of arguments and make `map` an actual
   third argument. It is awkward to pass `nil` as the first argument and I
   think that way the actual map key is bound to can be treated as an
   implementation detail with `outline-minor-mode-cycle--bind` the official
   way of binding keys on headings.

Thanks again!

Juri Linkov <juri@HIDDEN> writes:

>>>   (outline-minor-mode-cycle--bind map (kbd "TAB") #'outline-cycle)
>>>
>>> Maybe this requirement should be documented in the docstring
>>> and mentioned in NEWS?
>>
>> I think this is a good idea since people who have already keys bound
>> on outline-minor-mode-cycle-map are likely to be as surprised as I was.
>>
>> But I also think that it is more important to mention this in the
>> docstring for outline-minor-mode-cycle-map. Since its current
>> docstring "Keymap used by outline-minor-mode-cycle." is misleading in
>> my opinion, especially since any key there is going to be active
>> if outline-minor-mode is on, regardless of the value of
>> `outline-minor-mode-cycle`.
>
> Thanks for suggestions.  The following patch addresses all the points
> that have been raised, except obsoleting `outline-minor-mode-cycle-map`.
> It's more convenient to bind keys in this map since `outline-minor-mode-map`
> is not explicitly defined unlike `outline-mode-map`.
>
>> Also I was confused by the two hyphens in the name
>> outline-minor-mode-cycle--bind and thought that it was a private
>> function even though in retrospect they are in the wrong place
>> for it to be private.
>
> Two hyphens in the name rather indicated that the implementation
> is subject to change without notice - an assumption that is true
> for internal functions.  So now I'm not sure if adding an alias
> without two hyphens is worth to do.
>
> [2. text/x-diff; outline-minor-mode-cycle--bind.patch]
> diff --git a/etc/NEWS b/etc/NEWS
> index a28f5c9a65a..6ae79e6cebc 100644
> --- a/etc/NEWS
> +++ b/etc/NEWS
> @@ -350,6 +350,15 @@ next button, even if the mode has bound it to something else.  This
>  also means that 'TAB' on a button in an 'outline-minor-mode' heading
>  will move point instead of collapsing the outline.
>
> +---
> +** 'outline-minor-mode-cycle-map' is now parent of 'outline-minor-mode'.
> +Instead of adding font-lock text property 'keymap' with
> +'outline-minor-mode-cycle' on outline headings in 'outline-minor-mode',
> +the keymap 'outline-minor-mode-cycle' is now active in the whole buffer.
> +But keybindings in 'outline-minor-mode-cycle' are still take effect
> +only on outline headings because they are bound with the help of
> +'outline-minor-mode-cycle--bind' that checks if point is on a heading.
> +
>  ---
>  ** 'Info-default-directory-list' is no longer populated at Emacs startup.
>  If you have code in your init file that removes directories from
> diff --git a/lisp/outline.el b/lisp/outline.el
> index 91f6040687b..26e41735a01 100644
> --- a/lisp/outline.el
> +++ b/lisp/outline.el
> @@ -210,7 +210,12 @@ outline-minor-mode-cycle-filter
>
>  (defvar outline-minor-mode-cycle)
>  (defun outline-minor-mode-cycle--bind (map key binding &optional filter)
> -  (define-key map key
> +  "Define KEY as BINDING in MAP using FILTER.
> +The key takes effect only on the following conditions:
> +`outline-minor-mode-cycle' is non-nil, point is located on the heading line,
> +FILTER or `outline-minor-mode-cycle-filter' is nil or returns non-nil.
> +The argument MAP is optional and defaults to `outline-minor-mode-cycle-map'."
> +  (define-key (or map outline-minor-mode-cycle-map) key
>      `(menu-item
>        "" ,binding
>        ;; Filter out specific positions on the heading.
> @@ -227,8 +232,16 @@ outline-minor-mode-cycle-map
>    (let ((map (make-sparse-keymap)))
>      (outline-minor-mode-cycle--bind map (kbd "TAB") #'outline-cycle)
>      (outline-minor-mode-cycle--bind map (kbd "<backtab>") #'outline-cycle-buffer)
> +    (keymap-set map "<left-margin> <mouse-1>" 'outline-cycle)
> +    (keymap-set map "<right-margin> <mouse-1>" 'outline-cycle)
> +    (keymap-set map "<left-margin> S-<mouse-1>" 'outline-cycle-buffer)
> +    (keymap-set map "<right-margin> S-<mouse-1>" 'outline-cycle-buffer)
>      map)
> -  "Keymap used by `outline-minor-mode-cycle'.")
> +  "Keymap used as a parent of the `outline-minor-mode' keymap.
> +It contains key bindings that can be used to cycle visibility.
> +The recommended way to bind keys is with `outline-minor-mode-cycle--bind'
> +when the key should be enabled only when `outline-minor-mode-cycle' is
> +non-nil and point is located on the heading line.")
>
>  (defvar outline-mode-map
>    (let ((map (make-sparse-keymap)))
> @@ -518,10 +532,6 @@ outline-minor-mode
>    :keymap (define-keymap
>              :parent outline-minor-mode-cycle-map
>              "<menu-bar>" outline-minor-mode-menu-bar-map
> -            "<left-margin> <mouse-1>" 'outline-cycle
> -            "<right-margin> <mouse-1>" 'outline-cycle
> -            "<left-margin> S-<mouse-1>" 'outline-cycle-buffer
> -            "<right-margin> S-<mouse-1>" 'outline-cycle-buffer
>              (key-description outline-minor-mode-prefix) outline-mode-prefix-map)
>    (if outline-minor-mode
>        (progn




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#60426: 29.0.60; Binding to outline-minor-mode-cycle-map correctly is unintuitive and hard
Resent-From: Juri Linkov <juri@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 11 Jan 2023 19:40:01 +0000
Resent-Message-ID: <handler.60426.B60426.167346595512648 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 60426
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Rah Guzar <rahguzar@HIDDEN>
Cc: 60426 <at> debbugs.gnu.org
Received: via spool by 60426-submit <at> debbugs.gnu.org id=B60426.167346595512648
          (code B ref 60426); Wed, 11 Jan 2023 19:40:01 +0000
Received: (at 60426) by debbugs.gnu.org; 11 Jan 2023 19:39:15 +0000
Received: from localhost ([127.0.0.1]:43925 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pFgwN-0003Hv-2i
	for submit <at> debbugs.gnu.org; Wed, 11 Jan 2023 14:39:15 -0500
Received: from relay8-d.mail.gandi.net ([217.70.183.201]:59547)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1pFgwK-0003He-MH
 for 60426 <at> debbugs.gnu.org; Wed, 11 Jan 2023 14:39:13 -0500
Received: (Authenticated sender: juri@HIDDEN)
 by mail.gandi.net (Postfix) with ESMTPSA id E2FB91BF203;
 Wed, 11 Jan 2023 19:39:01 +0000 (UTC)
From: Juri Linkov <juri@HIDDEN>
In-Reply-To: <87fschrpqw.fsf@HIDDEN> (Rah Guzar's message of "Wed, 11 Jan
 2023 17:29:22 +0100")
Organization: LINKOV.NET
References: <871qohm8ht.fsf@HIDDEN> <861qo95fzi.fsf@HIDDEN>
 <877cy0ztuj.fsf@HIDDEN> <86tu0ymc2s.fsf@HIDDEN>
 <87fschrpqw.fsf@HIDDEN>
Date: Wed, 11 Jan 2023 21:38:05 +0200
Message-ID: <86lem8vp42.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.7 (/)
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.7 (-)

> 1. I think  in the NEWS entry, "font-lock text property 'keymap'" should
>    probably just be "text property 'keymap'" i.e. why mention font-lock?

Thanks, now pushed to the emacs-29 branch with these corrections.

> 2. Since the implementation of `outline-minor-mode-cycle--bind` can change,
>    it is better to change the order of arguments and make `map` an actual
>    third argument. It is awkward to pass `nil` as the first argument and I
>    think that way the actual map key is bound to can be treated as an
>    implementation detail with `outline-minor-mode-cycle--bind` the official
>    way of binding keys on headings.

Even though it's like an "internal" function, I still hesitate to reorder
its arguments to not break user configs.  I'd rather add a new function
without two hyphens as the official way to use it in personal customization:

(defun outline-minor-mode-cycle-bind (key binding &optional filter map)
  (outline-minor-mode-cycle--bind map key binding &optional filter)

and declare `outline-minor-mode-cycle--bind` obsolete.





Last modified: Wed, 11 Jan 2023 19:45:02 UTC

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