From mboxrd@z Thu Jan 1 00:00:00 1970 From: Carsten Dominik Subject: Re: possible patch: org-edit-src-code breaking window configuration Date: Sun, 8 Nov 2009 07:57:56 +0100 Message-ID: <9D0B806A-F8A0-4540-9157-34EEF82A3D08@gmail.com> References: <871vkfw636.fsf@stats.ox.ac.uk> <877hu1sros.fsf@stats.ox.ac.uk> Mime-Version: 1.0 (Apple Message framework v936) Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1N71iw-0001Mg-Rp for emacs-orgmode@gnu.org; Sun, 08 Nov 2009 01:58:06 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1N71ir-0001K2-Cg for emacs-orgmode@gnu.org; Sun, 08 Nov 2009 01:58:05 -0500 Received: from [199.232.76.173] (port=35962 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N71ir-0001Jz-7I for emacs-orgmode@gnu.org; Sun, 08 Nov 2009 01:58:01 -0500 Received: from mail-ew0-f228.google.com ([209.85.219.228]:65371) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1N71iq-0001We-Gh for emacs-orgmode@gnu.org; Sun, 08 Nov 2009 01:58:00 -0500 Received: by ewy28 with SMTP id 28so2461866ewy.42 for ; Sat, 07 Nov 2009 22:57:59 -0800 (PST) In-Reply-To: <877hu1sros.fsf@stats.ox.ac.uk> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Dan Davison Cc: Org Mode On Nov 8, 2009, at 2:58 AM, Dan Davison wrote: > Dan Davison writes: > >> "Eric Schulte" writes: >> >>> Hi, >>> >>> I've noticed that org-edit-src breaks my window configuration. The >>> patch below fixes this, but introduces a new global variable, and >>> might >>> not have sensible behavior if multiple source-code blocks are >>> edited at >>> once. Even so I personally prefer it's behavior to the current >>> default >>> behavior of removing all windows from the current frame. >>> >>> thoughts? -- Eric >> >> Nice. I think it's a desirable improvement to my changes. I've had a >> quick test (with all 4 possible values of org-src-window-setup) and >> it >> seemed to work as hoped. > > With the emphasis on 'quick' apparently. One further improvement on > this > line of work: at the moment we are attempting to alter window > configuration when saving with C-x C-s in the edit buffer, which is > having unpleasant consequences. This is fixed in branch > org-src-window-setup at git://repo.or.cz/org-mode/babel.git. Hi Dan, I have noticed problems with C-x C-s while editing (beeps, and windows change). If your patch fixes this, please merge it in. - Carsten > > Dan > > >> I guess the new variable should be defvar'd as >> nil in org-edit-src? There are already a number of other not-for- >> users >> global variables used in a similar way in org-src, so it won't be >> out-of-place. >> >> Dan >> >>> >>> diff --git a/lisp/org-src.el b/lisp/org-src.el >>> index eba8ef3..2f578b9 100644 >>> --- a/lisp/org-src.el >>> +++ b/lisp/org-src.el >>> @@ -193,6 +193,7 @@ to the correct language mode. When done, exit >>> with \\[org-edit-src-exit]. >>> This will remove the original code in the Org buffer, and replace >>> it with >>> the edited version." >>> (interactive) >>> + (setq org-edit-src-saved-temp-window-config (current-window- >>> configuration)) >>> (let ((line (org-current-line)) >>> (col (current-column)) >>> (case-fold-search t) >>> @@ -574,7 +575,10 @@ the language, a switch telling if the content >>> should be in a single line." >>> (org-goto-line (1- (+ (org-current-line) line))) >>> (org-move-to-column (if preserve-indentation col (+ col total- >>> nindent delta))) >>> (move-marker beg nil) >>> - (move-marker end nil))) >>> + (move-marker end nil)) >>> + (when org-edit-src-saved-temp-window-config >>> + (set-window-configuration org-edit-src-saved-temp-window- >>> config) >>> + (setq org-edit-src-saved-temp-window-config nil))) >>> >>> (defun org-edit-src-save () >>> "Save parent buffer with current state source-code buffer." >>> >>> >>> _______________________________________________ >>> Emacs-orgmode mailing list >>> Remember: use `Reply All' to send replies to the list. >>> Emacs-orgmode@gnu.org >>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode > > > _______________________________________________ > Emacs-orgmode mailing list > Remember: use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode - Carsten