GNU bug report logs - #67287
29.1; hs-set-up-overlay messes up indent-sexp

Previous Next

Package: emacs;

Reported by: João Pedro <jpedrodeamorim <at> gmail.com>

Date: Sun, 19 Nov 2023 19:36:01 UTC

Severity: normal

Tags: notabug, wontfix

Found in version 29.1

Done: Stefan Kangas <stefankangas <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Stefan Kangas <stefankangas <at> gmail.com>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#67287: closed (29.1; hs-set-up-overlay messes up indent-sexp)
Date: Fri, 22 Dec 2023 14:52:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Fri, 22 Dec 2023 06:51:28 -0800
with message-id <CADwFkmm-QESte9+rWeKCHfU+beipvKjxFxubBO3Zvri+3J6dLg <at> mail.gmail.com>
and subject line Re: bug#67287: 29.1; hs-set-up-overlay messes up indent-sexp
has caused the debbugs.gnu.org bug report #67287,
regarding 29.1; hs-set-up-overlay messes up indent-sexp
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
67287: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=67287
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: João Pedro <jpedrodeamorim <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 29.1; hs-set-up-overlay messes up indent-sexp
Date: Sun, 19 Nov 2023 16:35:31 -0300
Greetings!

When setting `hs-set-up-overlay' to a custom value, such as the one in
the docstring for the variable, it messes up the behaviour of
`indent-sexp' when it is called "before" the s-expression.

Steps to reproduce:

1. Go to any lisp buffer e.g. *scracth*
2. Paste the following piece of code

    (setq hs-set-up-overlay
          (lambda (ov)
            (when (eq 'code (overlay-get ov 'hs))
              (overlay-put ov 'display
                           (propertize
                            (format " ... <%d>"
                                    (count-lines (overlay-start ov)
                                                 (overlay-end ov)))
                            'face 'font-lock-type-face)))))

3. Evaluate it
4. Enable `hs-minor-mode'
5. Hide the block with `hs-hide-block' (need to be on the beginning line
   of the forms)
6. Move point either to the first opening parenthesis or the the empty
   line before the `setq' form

   (setq
   ^----

7. Call `indent-sexp'
8. Open the block with `hs-show-block'

You should see the following:

    (setq hs-set-up-overlay
          (lambda (ov)
            (when (eq 'code (overlay-get ov 'hs))
              (overlay-put ov 'display
                           (propertize
                            (format " ... <%d>"
                                    (count-lines (overlay-start ov)
                                                 (overlay-end ov)))
                            )

I tried to investigate why it does that, but couldn't really get to the
root cause. It seems that its only affected when we're setting the
`display' prop of the overlay, but I couldn't confirm it either.

Best regards,

-- 
João Pedro de A. Paula
IT bachelors at Universidade Federal do Rio Grande do Norte (UFRN)
[Message part 3 (message/rfc822, inline)]
From: Stefan Kangas <stefankangas <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: João Pedro <jpedrodeamorim <at> gmail.com>,
 67287-done <at> debbugs.gnu.org
Subject: Re: bug#67287: 29.1; hs-set-up-overlay messes up indent-sexp
Date: Fri, 22 Dec 2023 06:51:28 -0800
Eli Zaretskii <eliz <at> gnu.org> writes:

> This is not a bug.

I'm therefore closing this bug report.


This bug report was last modified 1 year and 153 days ago.

Previous Next


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