On Oct 20, 2010, at 5:33 PM, Chong Yidong wrote:

Julien Danjou <jul...@danjou.info> writes:

In a Org buffer with org-startup-indented set to t, type:

** TODO abcdefgh

Go on `c', activate mark press C-e, press M-w (kill-ring-save).
[Wrong primary selection appears]

The problem is in org-indent-refresh-section, which is run from a timer.
This function first moves point and then calls remove-text-properties,
which is considered a buffer change.  Since the mark is active, the
selection code saves the region to saved-region-selection, from which it
is later saved to the primary selection.

Ah, this is interesting, thank you very much!


There are a few possible fixes, but I am yet not sure which is best.
One is to avoid setting saved-region-selection inside a timer. Another
is for save-excursion to inhibit writing to saved-region-selection; a
third is not to treat remove-text-properties as a trigger for saving the
primary selection.

I'll go with Stefan's solution, using with-silent-modifications. I had already code that would restore buffer-modified-flag, but apparently this was not enough.

Thanks!

- Carsten

_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

Reply via email to