GNU bug report logs - #75387
29.4; hideshow: hs-hide-level hides multiple top-level blocks as one

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: Christoph Groth <christoph@HIDDEN>; dated Sun, 5 Jan 2025 18:54:01 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

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


Received: (at submit) by debbugs.gnu.org; 5 Jan 2025 18:53:33 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 05 13:53:33 2025
Received: from localhost ([127.0.0.1]:35228 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tUVki-00031a-N7
	for submit <at> debbugs.gnu.org; Sun, 05 Jan 2025 13:53:33 -0500
Received: from lists.gnu.org ([2001:470:142::17]:44606)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <christoph@HIDDEN>)
 id 1tUVkf-000316-Kq
 for submit <at> debbugs.gnu.org; Sun, 05 Jan 2025 13:53: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 <christoph@HIDDEN>)
 id 1tUVkY-0001Ja-VZ
 for bug-gnu-emacs@HIDDEN; Sun, 05 Jan 2025 13:53:22 -0500
Received: from mailgate01.uberspace.is ([95.143.172.20])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <christoph@HIDDEN>)
 id 1tUVkW-00047I-2O
 for bug-gnu-emacs@HIDDEN; Sun, 05 Jan 2025 13:53:22 -0500
Received: from dia.uberspace.de (dia.uberspace.de [185.26.156.221])
 by mailgate01.uberspace.is (Postfix) with ESMTPS id E1DD6606BB
 for <bug-gnu-emacs@HIDDEN>; Sun,  5 Jan 2025 19:53:10 +0100 (CET)
Received: (qmail 3626 invoked by uid 989); 5 Jan 2025 18:53:10 -0000
Authentication-Results: dia.uberspace.de;
	auth=pass (plain)
Received: from unknown (HELO unkown) (::1)
 by dia.uberspace.de (Haraka/3.0.1) with ESMTPSA;
 Sun, 05 Jan 2025 19:53:10 +0100
From: Christoph Groth <christoph@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Subject: 29.4; hideshow: hs-hide-level hides multiple top-level blocks as one
Date: Sun, 05 Jan 2025 19:53:04 +0100
Message-ID: <87ed1hw0rz.fsf@drac>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Rspamd-Bar: -
X-Rspamd-Report: BAYES_HAM(-1.979891) MID_RHS_NOT_FQDN(0.5) MIME_GOOD(-0.1)
X-Rspamd-Score: -1.579891
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
 d=grothesque.org; s=uberspace; h=from:to:subject:date;
 bh=Z5E0vTJopfMtR0zR+cSqVstkhg0qr9IZpdivd6kN/2k=;
 b=Sr9FPrtGfkMJTq9fRh1SCLbcplDHALl8XbIeJOJwp8EBMls9tIi6AVe3sY2GsJIrNyumlqU8/s
 GC352NUaWHGH6pzYfUje8Mu2TMq8IJUWm2Jgp6NxIygENDu+6n/sh/xrQtF31Oam/q7OnAJ49ddR
 hzdfbR4E/aOjTTTiy1hm+8s2uxhiwWKN0mDs5I3mnzo6WQp2GMcaGzk1QWP3BZc5hj/Sdp7Ymwt2
 uH2zFbKz9V5owlvfA3hEFdyuDowH/95BJQNs74lrl9J/SRdkRNyKs2+nUH0XaE6sxRK+xLSZsb1K
 EwWsgmILK8z+64Wl84nPW4l2tGpymWSnfbbx7DzygyVKE0/wOIVNJutNJAfUKhnBFQwvWPbRHazB
 Mk5ancrByJuNtRE+jn2umZt9WPDaEJxN3kOY7b3EuXMAjJUAF6xoEZuHCllNFwJLumoUpvPpldvx
 oth2oZ+sWsTICU2x1KmS+BxPWrIa7QORUAcEvpgot5rYb9XxFOw1eZ7sRbkNwGfuS0sgbnxFk9Xt
 xeXYukxdK3OO0/EBS2P/ad4zilLbFOPyMLTDkedItOWHzdL1Ci+PHgcngm3puKMBCbWpAVcFWd+u
 6i/qlhxf0L/6pzxeuRZVySMq1AWNK1FxBiPLN2G0wIWajzRuAbVuMD57SNFDgMsSBA0QgFR8F/O8
 4=
Received-SPF: pass client-ip=95.143.172.20;
 envelope-from=christoph@HIDDEN; helo=mailgate01.uberspace.is
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_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=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.0 (+)
X-Debbugs-Envelope-To: submit
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 (/)

Hello,

I noticed the following problem when using a homemade function that
allows me to cycle hideshow visibility in a way similar to org-mode.
The issue, however, is independent of any customization (it appears with
emacs -Q as well).

I can reproduce the issue with the following source file

https://gitlab.kwant-project.org/kwant/kwant/-/raw/0d679b3efecd145d13e3174c60d829a7c3cd4374/kwant/builder.py

I tried simplifying that file to isolate the issue, but did not arrive at
something more useful than the original.  To demonstrate the issue:

(1) Download the above file.
(2) Open it with emacs -Q builder.py.  Point is not moved.
(3) M-x hs-minor-mode RET
(4) M-x hs-hide-level RET

The result is that the buffer shows only two hidden blocks, with the
buffer ending in

@total_ordering
class SiteFamily(metaclass=abc.ABCMeta):...

This is incorrect, since there are many other classes and top-level
functions in the file.  Each should appear as a separate top-level
block.

If M-x hs-hide-all is run instead of step (4) the hiding works as
expected, many more top-level hidden blocks appear.  M-x hd-hide-level
also produces the expected effect if the second block created by (4) is
un-hidden in some way.  For example if the following two steps are added
to the above sequence:

(5) M-x hs-show-all RET
(6) M-x hs-hide-level RET

I would expect that hs-hide-level always produces the same result when
called with point at the same position in a buffer.

I hope that this somewhat obscure observation allows to fix some
inconsistency.

Thanks,
Christoph

---

In GNU Emacs 29.4 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.38,
 cairo version 1.16.0) of 2024-12-15, modified by Debian built on sbuild
Windowing system distributor 'The X.Org Foundation', version 11.0.12101007
System Description: Debian GNU/Linux 12 (bookworm)

Configured using:
 'configure --build x86_64-linux-gnu --prefix=/usr
 --sharedstatedir=/var/lib --libexecdir=/usr/libexec
 --localstatedir=/var/lib --infodir=/usr/share/info
 --mandir=/usr/share/man --with-libsystemd --with-pop=yes
 --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/29.4/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/29.4/site-lisp:/usr/share/emacs/site-lisp
 --with-sound=alsa --without-gconf --with-mailutils
 --with-native-compilation --build x86_64-linux-gnu --prefix=/usr
 --sharedstatedir=/var/lib --libexecdir=/usr/libexec
 --localstatedir=/var/lib --infodir=/usr/share/info
 --mandir=/usr/share/man --with-libsystemd --with-pop=yes
 --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/29.4/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/29.4/site-lisp:/usr/share/emacs/site-lisp
 --with-sound=alsa --without-gconf --with-mailutils
 --with-native-compilation --with-cairo --with-x=yes
 --with-x-toolkit=gtk3 --with-toolkit-scroll-bars 'CFLAGS=-g -O2
 -ffile-prefix-map=/build/reproducible-path/emacs-29.4+1=. -fstack-protector-strong
 -Wformat -Werror=format-security -Wall' 'CPPFLAGS=-Wdate-time
 -D_FORTIFY_SOURCE=2' LDFLAGS=-Wl,-z,relro'

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

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

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  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
  line-number-mode: t
  indent-tabs-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 message mailcap yank-media puny dired
dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068
epg-config gnus-util text-property-search time-date mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader cl-loaddefs
comp comp-cstr warnings icons subr-x rx cl-seq cl-macs gv cl-extra
help-mode bytecomp byte-compile cl-lib sendmail rfc2047 rfc2045
ietf-drums mm-util mail-prsvr mail-utils rmc iso-transl tooltip cconv
eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type
elisp-mode mwheel term/x-win x-win term/common-win x-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 lcms2
dynamic-setting system-font-setting font-render-setting cairo
move-toolbar gtk x-toolkit xinput2 x multi-tty make-network-process
native-compile emacs)

Memory information:
((conses 16 77057 13062)
 (symbols 48 7444 0)
 (strings 32 19535 1545)
 (string-bytes 1 584589)
 (vectors 16 15338)
 (vector-slots 8 328476 18154)
 (floats 8 27 46)
 (intervals 56 275 0)
 (buffers 984 11))




Acknowledgement sent to Christoph Groth <christoph@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#75387; 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, 12 Jan 2025 05:45:02 UTC

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