[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Search]

[Emacspeak] Re: Stage part of a hunk in magit



Hi,

Thanks for your answers about this.  I can confirm that pressing C-<space>
twice makes it work for me.

All the best,

Tim
<><

On Fri, 2021-05-14 at 07:48 -0700, T.V Raman via Emacspeak wrote:
> Tim Cross <theophilusx(a)gmail.com> writes:
> 
> 
> Mostly typing this up for the archive ---
> I recommend turning on transient-mark mode with emacspeak only if you
> have some vision and can see the screen; otherwise you're likely to get
> very confused. For users who cannot see the screen at all, temporarily
> enabling transient mark mode via two C-<spc> is the reliable solution I
> would pick.
> > Tim Cross <theophilusx(a)gmail.com> writes:
> > 
> > > Tim Makarios <emacspeak.correspondence(a)freespoken.nz> writes:
> > > 
> > > > On Thu, 2021-05-13 at 14:07 +1000, Tim Cross wrote:
> > > > > In what way does it not work or does it behave differently when
> > > > > emacspeak is running? Are there any errors? 
> > > > 
> > > > If I've got multiple new consecutive lines in a file tracked by Git,
> > > > and I
> > > > want to stage only, say, the first two, I can bring up the diff in
> > > > Magit,
> > > > move to the first new line, press C-<SPC>, move to the second line,
> > > > and
> > > > press s to stage only those two marked lines.  This works if
> > > > Emacspeak isn't
> > > > loaded, but if Emacspeak is loaded, then it always stages the entire
> > > > hunk
> > > > (as determined by Git), regardless of where the mark is set.  I see
> > > > no error
> > > > messages, nor any difference in the output to the magit-process
> > > > buffer.
> > > > 
> > > > Also, without Emacspeak loaded, Magit uses different highlighting
> > > > for the
> > > > lines between the mark and point (inclusive) when I'm doing this,
> > > > but I
> > > > can't see any difference in Magit's highlighting when Emacspeak is
> > > > loaded. 
> > > > I realize that many on this list may not be able to appreciate the
> > > > difference in highlighting, but I thought it might be useful
> > > > diagnostically,
> > > > since the Magit manual says (in the Getting Started chapter):
> > > > > If the region looks like it does in other buffers, then it doesn’t
> > > > > select
> > > > > Magit sections that can be acted on as a unit.
> > > 
> > > OK, now I understand the issue.
> > > 
> > > I just tried a simple example in my setup and it works as expected.
> > > However, I run emacspeak with spacemacs, which is a slightly unusual
> > > setup. The good news is that it obviously can work with emacspeak
> > > running. 
> > > 
> > > I will try to see if I can reproduce your issue in my test
> > > environment.
> > > I'm just in the middle of upgrading that environment to Ubuntu
> > > 21.04, so it might be a day or so before I can test it out.
> > > 
> > > My wild baseless guess is that when you are setting the region, it
> > > isn't
> > > actually marking the region. The fact you don't see the highlighting
> > > would also indicate this may be the case. I would start by verifying
> > > C-<space> is actually calling the same function and is setting the
> > > region. It might also be worth trying with transient mark mode enabled
> > > and disabled to see if that makes any difference. 
> > 
> > Just replying to my own reply!
> > 
> > The difference in behaviour is because by default, Emacspeak disables
> > transient mark mode. Without it, the behaviour you observe does not
> > work. Transient mark mode is enabled by default in vanilla emacs.
> > 
> > This leaves you with two options -
> > 
> > 1. Enable transient mark mode. This is what I do. With transient mark
> > mode enabled, many commands which would normally work on the area from
> > point to the end of the buffer will only be applied to the region. This
> > is my preferred behaviour. You can enable transient mark mode in your
> > emacs init file (after loading Emacspeak).
> > 
> > 2. Temporarily enable transient mark mode. If you hit C-<space>
> > C-<space> (i.e. ener it twice), it will temporarily enable transient
> > mark mode i.e. until the region is cleared. You can use this technique
> > to verify selecting a hunk from a diff can be staged.
> > 
> > HTH
> > 
> > Tim
> 
> -- 
> 
> Thanks,
> 
> --Raman
> ♈ Id: kg:/m/0285kf1  🦮
> _______________________________________________
> Emacspeak mailing list -- emacspeak(a)emacspeak.org
> To unsubscribe send an email to emacspeak-leave(a)emacspeak.org


|May 1995 - Last Year|Current Year|


If you have questions about this archive or had problems using it, please contact us.

Contact Info Page