From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Dokos Subject: Re: proposal to make C-c C-c not remove latex overlays Date: Wed, 16 Jul 2014 07:31:02 -0400 Message-ID: <877g3dsfpl.fsf@gmail.com> References: <87wqbf37it.fsf@andrew.cmu.edu> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:38796) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X7NQn-0005Ai-G2 for emacs-orgmode@gnu.org; Wed, 16 Jul 2014 07:31:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1X7NQh-0005T7-KX for emacs-orgmode@gnu.org; Wed, 16 Jul 2014 07:31:29 -0400 Received: from plane.gmane.org ([80.91.229.3]:33759) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X7NQh-0005T1-DS for emacs-orgmode@gnu.org; Wed, 16 Jul 2014 07:31:23 -0400 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1X7NQg-0005rF-Ai for emacs-orgmode@gnu.org; Wed, 16 Jul 2014 13:31:22 +0200 Received: from pool-98-110-160-12.bstnma.fios.verizon.net ([98.110.160.12]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 16 Jul 2014 13:31:22 +0200 Received: from ndokos by pool-98-110-160-12.bstnma.fios.verizon.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 16 Jul 2014 13:31:22 +0200 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org Andreas Leha writes: > Hi all, > > John Kitchin writes: > >> I am using org-mode files with equations and code blocks in lectures, >> and it is problematic that C-c C-c removes the equation overlays when >> running a code block. First, you have to press C-c C-c twice to run the >> block, since the first one gets rid of the equations, but then you have >> run C-c C-x C-l to get the equations back! and the cycle repeats >> throughout a lecture. >> >> I would prefer that the equations stay untouched, and that the code >> blocks run without modifying them. >> >> I think the best behavior would be for C-c C-x C-l to toggle the >> equations, and to remove the C-c C-c behavior for latex overlays >> completely. > > Since this thread focusses on work arounds and local customizations so > far, let me just say, that I completely agree here. What is the > reasoning behind the current key binding? Is there any benefit over > using the same key binding to toggle the state? > I'm inclined to agree too: I imagine it would be very annoying after a while. There are three things that C-c C-c currently undoes in an ad-hoc fashion. The first cond clause in the function looks like this: ,---- | ((or (and (boundp 'org-clock-overlays) org-clock-overlays) | org-occur-highlights | org-latex-fragment-image-overlays) | (and (boundp 'org-clock-overlays) (org-clock-remove-overlays)) | (org-remove-occur-highlights) | (org-remove-latex-fragment-image-overlays) | (message "Temporary highlights/overlays removed from current buffer")) `---- So if there are clock overlays or occur highlights or latex fragment image overlays, they are undone and the function is finished. This seems like a separate issue from the main thrust of what C-c C-c does (and it does a lot), so my inclination would be to suggest that each of the above conditions be togglable, using the standard keybinding for each (C-c C-x C-l for latex fragment image overlay toggling, C-c C-x C-d for clock display - occur highlights only happen from org-goto with the "/" keybinding, but there is no org-global keybinding I believe). However there is a variable that modifies that behavior: ,---- | org-remove-highlights-with-change is a variable defined in `org.el'. | Its value is t | | Documentation: | Non-nil means any change to the buffer will remove temporary highlights. | Such highlights are created by `org-occur' and `org-clock-display'. | When nil, `C-c C-c needs to be used to get rid of the highlights. | The highlights created by `org-preview-latex-fragment' always need | `C-c C-c' to be removed. `---- If most of us leave that variable's value at default, the ad-hoc-kery probably does not raise its head except for latex fragments. If that's the case, then getting rid of just latex fragment undoing in org-ctrl-c-ctrl-c and toggling with C-c C-x C-l is probably the best solution. It probably would be a good idea to make the handling of clock overlays similar as well and make C-c C-x C-d toggle the clock overlay state (I'd be inclined to take that out of org-ctrl-c-ctrl-c as well, since I suspect that almost nobody uses it, given the variable above and its default value - but that's only a hunch). That would leave only occur highlights to be undone by org-ctrl-c-ctrl-c - which is ugly but the function is a kitchen-sink kind of function anyway, so that's probably OK. Alternatively, make org-ctrl-c-ctrl-c undo these things as it does today, but only with a triple prefix arg (which afaict is not used today). As Nicolas would say, WDYT? -- Nick