emacs-bug-tracker
[Top][All Lists]
Advanced

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

[debbugs-tracker] bug#19058: closed ([PATCH] Desktop restore fails to ru


From: GNU bug Tracking System
Subject: [debbugs-tracker] bug#19058: closed ([PATCH] Desktop restore fails to run mark activation hooks when it should)
Date: Fri, 21 Nov 2014 18:03:01 +0000

Your message dated Fri, 21 Nov 2014 13:02:53 -0500
with message-id <address@hidden>
and subject line Re: bug#19058: [PATCH] Desktop restore fails to run mark 
activation hooks when it should
has caused the debbugs.gnu.org bug report #19058,
regarding [PATCH] Desktop restore fails to run mark activation hooks when it 
should
to be marked as done.

(If you believe you have received this mail in error, please contact
address@hidden)


-- 
19058: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=19058
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: [PATCH] Desktop restore fails to run mark activation hooks when it should Date: Sat, 15 Nov 2014 06:56:28 +0000
Delete your .emacs.desktop, and put in init.el:

(desktop-save-mode 1)
(add-hook 'deactivate-mark-hook (lambda () (setq cursor-type t)))
(add-hook 'activate-mark-hook (lambda () (setq cursor-type 'bar)))

Start Emacs 24.4, open a file, press C-SPC, then exit Emacs and save the 
desktop, then restart Emacs. Notice that the cursor type is now a block, not a 
bar. It should be a bar.

This bug wasn't in 24.3, and is the opposite of bug 14430. The fix for this new 
bug is the same patch that I already sent on May 20, 2013 for that bug (my 
patch fixed that bug without introducing this new bug). That patch wasn't 
accepted, and instead this new bug and a FIXME comment were introduced into 
desktop.el for 24.4.

This new bug could be fixed without applying that patch by instead applying 
second-restoremarkbug.bad-patch that's attached to this message (conditionally 
calling activate-mark as the new FIXME proposes), but that's a hack that 
invites future bugs when somebody modifies set-mark and forgets to 
correspondingly modify the code in desktop-create-buffer that duplicates the 
functionality of set-mark. The right fix is to not duplicate the functionality 
of set-mark, and instead just call set-mark and tell it whether to call 
activate-mark, as my original patch did.

I've been asked to not send any more patches to apply to Emacs, but this new 
patch is just to point out what NOT to apply, so I trust it's ok to send it.

Of course, nobody besides me cares about this bug, but its existence serves as 
a convenient excuse for me to ask Stefan to please add the dont-activate option 
to set-mark so I don't have to maintain it anymore in my personal patches. ;-)

Attachment: second-restoremarkbug.bad-patch
Description: Binary data


--- End Message ---
--- Begin Message --- Subject: Re: bug#19058: [PATCH] Desktop restore fails to run mark activation hooks when it should Date: Fri, 21 Nov 2014 13:02:53 -0500 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)
> Of course, nobody besides me cares about this bug, but its existence serves
> as a convenient excuse for me to ask Stefan to please add the dont-activate
> option to set-mark so I don't have to maintain it anymore in my personal
> patches. ;-)

But if you call set-mark and a non-nil dont-activate argument, you get
the same as (move-marker (mark-marker) <foo>), so this arg only makes
sense in the case where you dynamically want to choose whether to
activate the mark or not, which is very rare.

So I installed a patch that just calls activate-mark.


        Stefan


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]