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 🦮
|May 1995 - Last Year|Current Year|
If you have questions about this archive or had problems using it, please contact us.