From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Davison Subject: Re: possible patch: org-edit-src-code breaking window configuration Date: Tue, 03 Nov 2009 18:18:05 -0500 Message-ID: <871vkfw636.fsf@stats.ox.ac.uk> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1N5Sdj-0003WE-Pq for emacs-orgmode@gnu.org; Tue, 03 Nov 2009 18:18:15 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1N5Sdf-0003Tc-KF for emacs-orgmode@gnu.org; Tue, 03 Nov 2009 18:18:15 -0500 Received: from [199.232.76.173] (port=58600 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N5Sdf-0003TS-Dl for emacs-orgmode@gnu.org; Tue, 03 Nov 2009 18:18:11 -0500 Received: from markov.stats.ox.ac.uk ([163.1.210.1]:54855) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1N5Sdf-0004RH-17 for emacs-orgmode@gnu.org; Tue, 03 Nov 2009 18:18:11 -0500 In-Reply-To: (Eric Schulte's message of "Tue, 03 Nov 2009 14:00:44 -0700") 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: Eric Schulte Cc: Org Mode "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. 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