unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [jdsmith@as.arizona.edu: HideShow Click to show/hide]
@ 2006-11-21  7:48 Richard Stallman
  2006-11-22  2:11 ` JD Smith
  2006-11-27 17:53 ` Dan Nicolaescu
  0 siblings, 2 replies; 7+ messages in thread
From: Richard Stallman @ 2006-11-21  7:48 UTC (permalink / raw)
  Cc: emacs-devel

Would you please tell us what to do here?

------- Start of forwarded message -------
To: emacs-devel@gnu.org
From: JD Smith <jdsmith@as.arizona.edu>
Date: Mon, 20 Nov 2006 14:30:27 -0700
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Subject: HideShow Click to show/hide
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=failed 
	version=3.0.4

HideShow seems to have an issue when collapsing blocks, in C or
elsewhere, with Shift-mouse-2.  Consider this:

int main(int argc, char argv[]) {
  int i=0;
  for (i=0;i<5;i++) {
    printf("Got %d\n",i);
  }
}

Shift-Middle clicking anywhere after the first brace at the end of main
properly produces:

int main(int argc, char argv[]) {...

S-mouse-2 on that line anywhere again unfolds it.  But now in the for
statement:

int main(int argc, char argv[]) {
  int i=0;
  for (i=0;i<5;i++) {...
}

There is nowhere you can Shift-click to recover the for block.  It
always collapses the main block instead.  The only reason it worked in
the main case is because it was the outermost block, so it can't find
a prior block to collapse.

I believe a simple change to first move to the end of the line should
fix this:

*** hideshow.el 10 Feb 2006 02:00:30 -0700      1.58
- --- hideshow.el 26 Oct 2006 12:49:10 -0700      
***************
*** 706,711 ****
- --- 706,712 ----
        (if (and c-reg (nth 0 c-reg))
            ;; point is inside a comment, and that comment is hidable
            (goto-char (nth 0 c-reg))
+       (end-of-line)
          (when (and (not c-reg)
                     (hs-find-block-beginning)
                     (looking-at hs-block-start-regexp))


This isn't really perfect, because it doesn't work naturally for continued
lines before the block, e.g.

int main(int argc, char argv[]) {
  int i=0;
  for (i=0;i<5;i++) 
    {
    printf("Got %d\n",i);
  }
}

Really you'd want uncollapse the block below point if point is on a
continued line (like the for... above) which begins the block.  Not
sure of an easy way to do this, but this simple fix at least gives you
*somewhere* to click (on the line with the ellipsis).

JD




_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel
------- End of forwarded message -------

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [jdsmith@as.arizona.edu: HideShow Click to show/hide]
  2006-11-21  7:48 [jdsmith@as.arizona.edu: HideShow Click to show/hide] Richard Stallman
@ 2006-11-22  2:11 ` JD Smith
  2006-11-23  2:51   ` Richard Stallman
  2006-11-27 17:53 ` Dan Nicolaescu
  1 sibling, 1 reply; 7+ messages in thread
From: JD Smith @ 2006-11-22  2:11 UTC (permalink / raw)


On Tue, 21 Nov 2006 02:48:18 -0500, Richard Stallman wrote:

> Would you please tell us what to do here?

Note sure if this was intended for me or the large audience, but I'd
recommend installing the simple (end-of-line) fix, which is not perfect
but at least makes the feature usable.

JD

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [jdsmith@as.arizona.edu: HideShow Click to show/hide]
  2006-11-22  2:11 ` JD Smith
@ 2006-11-23  2:51   ` Richard Stallman
  0 siblings, 0 replies; 7+ messages in thread
From: Richard Stallman @ 2006-11-23  2:51 UTC (permalink / raw)
  Cc: emacs-devel

I was asking the package maintainers if they agree with your fix.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [jdsmith@as.arizona.edu: HideShow Click to show/hide]
  2006-11-21  7:48 [jdsmith@as.arizona.edu: HideShow Click to show/hide] Richard Stallman
  2006-11-22  2:11 ` JD Smith
@ 2006-11-27 17:53 ` Dan Nicolaescu
  2006-11-27 20:29   ` JD Smith
  2006-11-28 17:49   ` Richard Stallman
  1 sibling, 2 replies; 7+ messages in thread
From: Dan Nicolaescu @ 2006-11-27 17:53 UTC (permalink / raw)
  Cc: Thien-Thi Nguyen, JD Smith, emacs-devel

Richard Stallman <rms@gnu.org> writes:

  > Would you please tell us what to do here?

I think the patch is OK. JD can you please install it? 

  --dan

  > From: JD Smith <jdsmith@as.arizona.edu>
  > Subject: HideShow Click to show/hide
  > To: emacs-devel@gnu.org
  > Date: Mon, 20 Nov 2006 14:30:27 -0700
  > 
  > HideShow seems to have an issue when collapsing blocks, in C or
  > elsewhere, with Shift-mouse-2.  Consider this:
  > 
  > int main(int argc, char argv[]) {
  >   int i=0;
  >   for (i=0;i<5;i++) {
  >     printf("Got %d\n",i);
  >   }
  > }
  > 
  > Shift-Middle clicking anywhere after the first brace at the end of main
  > properly produces:
  > 
  > int main(int argc, char argv[]) {...
  > 
  > S-mouse-2 on that line anywhere again unfolds it.  But now in the for
  > statement:
  > 
  > int main(int argc, char argv[]) {
  >   int i=0;
  >   for (i=0;i<5;i++) {...
  > }
  > 
  > There is nowhere you can Shift-click to recover the for block.  It
  > always collapses the main block instead.  The only reason it worked in
  > the main case is because it was the outermost block, so it can't find
  > a prior block to collapse.
  > 
  > I believe a simple change to first move to the end of the line should
  > fix this:
  > 
  > *** hideshow.el 10 Feb 2006 02:00:30 -0700      1.58
  > - --- hideshow.el 26 Oct 2006 12:49:10 -0700      
  > ***************
  > *** 706,711 ****
  > - --- 706,712 ----
  >         (if (and c-reg (nth 0 c-reg))
  >             ;; point is inside a comment, and that comment is hidable
  >             (goto-char (nth 0 c-reg))
  > +       (end-of-line)
  >           (when (and (not c-reg)
  >                      (hs-find-block-beginning)
  >                      (looking-at hs-block-start-regexp))
  > 
  > 
  > This isn't really perfect, because it doesn't work naturally for continued
  > lines before the block, e.g.
  > 
  > int main(int argc, char argv[]) {
  >   int i=0;
  >   for (i=0;i<5;i++) 
  >     {
  >     printf("Got %d\n",i);
  >   }
  > }
  > 
  > Really you'd want uncollapse the block below point if point is on a
  > continued line (like the for... above) which begins the block.  Not
  > sure of an easy way to do this, but this simple fix at least gives you
  > *somewhere* to click (on the line with the ellipsis).
  > 
  > JD
  > 
  > 
  > 
  > 
  > _______________________________________________
  > Emacs-devel mailing list
  > Emacs-devel@gnu.org
  > http://lists.gnu.org/mailman/listinfo/emacs-devel
  > ----------

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [jdsmith@as.arizona.edu: HideShow Click to show/hide]
  2006-11-27 17:53 ` Dan Nicolaescu
@ 2006-11-27 20:29   ` JD Smith
  2006-11-28 17:49   ` Richard Stallman
  1 sibling, 0 replies; 7+ messages in thread
From: JD Smith @ 2006-11-27 20:29 UTC (permalink / raw)


On Mon, 27 Nov 2006 09:53:48 -0800, Dan Nicolaescu wrote:

> Richard Stallman <rms@gnu.org> writes:
> 
>   > Would you please tell us what to do here?
> 
> I think the patch is OK. JD can you please install it?

Done.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [jdsmith@as.arizona.edu: HideShow Click to show/hide]
  2006-11-27 17:53 ` Dan Nicolaescu
  2006-11-27 20:29   ` JD Smith
@ 2006-11-28 17:49   ` Richard Stallman
  2006-11-28 18:28     ` JD Smith
  1 sibling, 1 reply; 7+ messages in thread
From: Richard Stallman @ 2006-11-28 17:49 UTC (permalink / raw)
  Cc: ttn, jdsmith, emacs-devel

We need a change log entry to install it.  Can you write one?

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [jdsmith@as.arizona.edu: HideShow Click to show/hide]
  2006-11-28 17:49   ` Richard Stallman
@ 2006-11-28 18:28     ` JD Smith
  0 siblings, 0 replies; 7+ messages in thread
From: JD Smith @ 2006-11-28 18:28 UTC (permalink / raw)
  Cc: ttn, Dan Nicolaescu, emacs-devel

On Tue, 2006-11-28 at 12:49 -0500, Richard Stallman wrote:
> We need a change log entry to install it.  Can you write one?

I already installed the patch and the following entry:

2006-11-27  J.D. Smith  <...>

        * progmodes/hideshow.el (hs-already-hidden-p): Move to end of
        line so hidden blocks will be correctly identified.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2006-11-28 18:28 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-11-21  7:48 [jdsmith@as.arizona.edu: HideShow Click to show/hide] Richard Stallman
2006-11-22  2:11 ` JD Smith
2006-11-23  2:51   ` Richard Stallman
2006-11-27 17:53 ` Dan Nicolaescu
2006-11-27 20:29   ` JD Smith
2006-11-28 17:49   ` Richard Stallman
2006-11-28 18:28     ` JD Smith

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).