From mboxrd@z Thu Jan 1 00:00:00 1970 From: Samuel Wales Subject: Re: Behavior of Org mode Babel code snippets with respect to M-q (fill-paragraph) and C-/ (undo) Date: Thu, 13 Feb 2014 17:21:24 -0700 Message-ID: References: <525DE996.2000408@gmail.com> <52F2A1D2.4030802@gmail.com> <87fvnxutut.fsf@alphaville.bos.redhat.com> <52F2C31B.40208@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:44761) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WE6X1-00042I-B1 for emacs-orgmode@gnu.org; Thu, 13 Feb 2014 19:21:28 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WE6Wz-0007oj-W7 for emacs-orgmode@gnu.org; Thu, 13 Feb 2014 19:21:27 -0500 Received: from mail-wi0-x232.google.com ([2a00:1450:400c:c05::232]:40963) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WE6Wz-0007oL-KU for emacs-orgmode@gnu.org; Thu, 13 Feb 2014 19:21:25 -0500 Received: by mail-wi0-f178.google.com with SMTP id cc10so9400633wib.17 for ; Thu, 13 Feb 2014 16:21:24 -0800 (PST) In-Reply-To: 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: Omid Cc: emacs-orgmode@gnu.org "[bug] [babel] babel corrupts undo history" On 2/13/14, Samuel Wales wrote: > Undo not working is a bug. I think we identified the bug on the > mailing list, but the fix was never implemented, although I think an > attempted fix was. > > I think it has to do with editing a source code block trying to do > things with undo or undo-boundary. The fix is probably to rip out all > undo-related code there. > > > On 2/5/14, Omid wrote: >> Hello Nick, >> >> Thanks for your quick reply. The variable >> org-edit-src-content-indentation does indeed have to do with the >> indentation I was referring to. But it is relative. According to the >> documentation, it sets the "Indentation for the content of a source >> code block. This should be the number of spaces added to the >> indentation of the #+begin line in order to compute the indentation of >> the block content after editing it with M-x org-edit-src-code. Has no >> effect if `org-src-preserve-indentation' is non-nil." I wonder if one >> can set it to be zero as an absolute value, meaning that if the a line >> of code in the source block starts at column n of the buffer, it is >> left at column n after M-q. >> >> Regarding the behavior you observe, as I said I get that too from time >> to time. In fact, doing M-q on my own example in a fresh Org mode >> buffer, I now get what you get: >> >> #+BEGIN_SRC f90 :results verbatim :exports both >> program main ! This is a very very very very very very very very very >> very very very very very very very long comment line. print *, "Hello, >> World!" end program main >> #+END_SRC >> >> I don't have any special settings for the f90 mode in my .emacs. In >> fact, I have observed the same behavior for other languages too when >> edited in an Org source block. The "destructive" nature of this >> behavior is very special (C-/ (undo) doesn't work). Many a times, I >> have tried refilling a line of comments and ended up with a huge mix >> of code and comment that was impossible to undo (at least to the best >> of my knowledge) and I had to either revert the change if I had the >> file under version control, go to an auto backup file, or painfully and >> manually separate the code and comments to get back the original code >> block. >> >> Omid >> >> >> On 02/05/2014 04:34 PM, Nick Dokos wrote: >>> Omid writes: >>> >>>> Hello, >>>> >>>> I am using Org-mode version 8.2.5g (8.2.5g-elpa) in GNU Emacs 24.3.1. >>>> I have two questions about the behavior of the fantastic Org >>>> mode+Babel with respect to code and comments: >>>> >>>> Here is a minimal example: >>>> >>>> #+BEGIN_SRC f90 :results verbatim :exports both >>>> program main >>>> ! This is a very very very very very very very very very very very very >>>> very very very very long comment line. >>>> print *, "Hello, World!" >>>> end program main >>>> #+END_SRC >>>> >>>> Below is the code snippet after M-q (fill-paragraph) on the comment >>>> line. The comment line has been refilled (intended behavior) but all >>>> lines have been indented. This may also be an intended behavior; but >>>> >>>> FIRST QUESTION: Is there a way to disable this indentation upon M-Q in >>>> Org Babel code snippets? >>>> >>> >>> Try setting org-edit-src-content-indentation to 0. I'm not sure that >>> it is going to work, but (based on rather flimsy numerological evidence, >>> namely that its default value is 2 as is the indent below) it might. >>> >>>> #+BEGIN_SRC f90 :results verbatim :exports both >>>> program main >>>> ! This is a very very very very very very very very very very very >>>> very >>>> ! very very very very long comment line. >>>> print *, "Hello, World!" >>>> end program main >>>> #+END_SRC >>>> >>> >>> BTW, I don't get this behavior but I don't use f90 mode, so I'm not sure >>> whether there is some setup I'm missing. I get (with >>> org-edit-src-content-indentation set to 0): >>> >>> #+BEGIN_SRC f90 :results verbatim :exports both >>> program main ! This is a very very very very very very very very very >>> very very very very very very very long comment line. print *, >>> "Hello, World!" end program main >>> #+END_SRC >>> >>> Nick >>> >>> >>> >> >> > > > -- > The Kafka Pandemic: http://thekafkapandemic.blogspot.com > > The disease DOES progress. MANY people have died from it. ANYBODY can get > it. > > Denmark: free Karina Hansen NOW. > -- The Kafka Pandemic: http://thekafkapandemic.blogspot.com The disease DOES progress. MANY people have died from it. ANYBODY can get it. Denmark: free Karina Hansen NOW.