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 16:38:31 -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]:33307) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WE5rW-0002sA-Ii for emacs-orgmode@gnu.org; Thu, 13 Feb 2014 18:38:36 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WE5rV-0001K9-5n for emacs-orgmode@gnu.org; Thu, 13 Feb 2014 18:38:34 -0500 Received: from mail-we0-x22f.google.com ([2a00:1450:400c:c03::22f]:45231) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WE5rU-0001Jy-Qi for emacs-orgmode@gnu.org; Thu, 13 Feb 2014 18:38:33 -0500 Received: by mail-we0-f175.google.com with SMTP id q59so8067216wes.6 for ; Thu, 13 Feb 2014 15:38:31 -0800 (PST) In-Reply-To: <52F2C31B.40208@gmail.com> 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 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.