From mboxrd@z Thu Jan 1 00:00:00 1970 From: Carsten Dominik Subject: Re: [BUG] in Release 8.2 - editing code in indirect buffer Date: Wed, 25 Sep 2013 09:15:29 +0200 Message-ID: <61B2FF3D-CA55-4880-A7D0-6B7BE0A2B319@gmail.com> References: <8F09B93E-FC4D-48B8-A9AB-3EDC0D81EEEF@gmail.com> <220E3767-24DA-494B-9512-9C4DA30CEA43@gmail.com> Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\)) Content-Type: multipart/signed; boundary="Apple-Mail=_33ACF9FD-E2EF-477F-A790-3C0699877B44"; protocol="application/pgp-signature"; micalg=pgp-sha1 Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:50820) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VOjJz-0006kx-Q0 for emacs-orgmode@gnu.org; Wed, 25 Sep 2013 03:15:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VOjJt-00028V-Oh for emacs-orgmode@gnu.org; Wed, 25 Sep 2013 03:15:39 -0400 Received: from mail-wg0-x22f.google.com ([2a00:1450:400c:c00::22f]:60934) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VOjJt-000286-DU for emacs-orgmode@gnu.org; Wed, 25 Sep 2013 03:15:33 -0400 Received: by mail-wg0-f47.google.com with SMTP id f12so5544433wgh.2 for ; Wed, 25 Sep 2013 00:15:32 -0700 (PDT) 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: Rainer M Krug Cc: emacs-orgmode@gnu.org --Apple-Mail=_33ACF9FD-E2EF-477F-A790-3C0699877B44 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii On 25.9.2013, at 08:48, Rainer M Krug wrote: > Carsten Dominik writes: > >> Hi Rainer, hi Carsten, >> >> it does not get lost - it is in my queue. As are, unfortunately, >> another 35 threads with possible bugs. Help is definitely wanted. > > That's what I was looking for - confirmation that is in somebodys > processing queue. Thanks Carsten. > > Unfortunately I can't hel as I have barely the elisp knowledge to > maintain my .emacs file. > >> >> Please see below for my comments and a possible fix. >> >> On 23.9.2013, at 09:40, Rainer M Krug wrote: >> >>> I just resend this bug report which has been confirmed by Ista Zahn. >>> >>> Updated via git ust now: >>> >>> Org-mode version 8.2 (release_8.2-14-ge5f16b @ >>> /Users/rainerkrug/.emacs.d/org-mode/lisp/) >>> >>> >>> When starting to edit a code block via C-c ' everything works as expected >>> and the code block is highlighted and an indirect buffer is opened. >>> >>> When I click into the highlighted block, I an "send" to the indirect >>> buffer. This behavior changes, after saving with C-s, even when nothing >>> has been edited: the area in the original org file looses its magic, and >>> looks normal again and can also be edited! >>> >>> The indirect buffer stays functional and, upon close via C-c ' saves the >>> changes into the original buffer and *overwrites* changes done in this >>> block in the org document. >> >> This is a bug which is difficult to fix in all generality. What >> should really happen is that the text in the original buffer is made >> read-only. > > Yup - exactly. That would be the best solution. > >> But so far this does not happen in our implementation (due >> to Dan Davison IIRC). The reason for this is that read-only text >> properties left by accident in a buffer are difficult to get rid of. >> >> There are many things the user could go back and screw up the >> original. That's why Org choses to protect with highlighting with an >> overlay. Note that this is not a protection against editing, but it >> is a visual warning. > > Possibly because I am using the mouse most of the time to navigate in > text and select buffers, I did not realize this. > >> >> However, what happens during saving is indeed a problem - the overlay >> gets lost (not really, it gets squeezed to zero by first removing the >> source code and then inserting the modified version). >> >> Could you please try this patch and test it to see if it is stable and >> does the right thing? > > Tried briefly and it seems to work: > > 1) the visual overlay stays there upon C-x s from indirect buffer > > 2) If I click with the mouse into it, I am redirected to the indirect > buffer (correct terminology here?) > > Let me know when you pushed it to git, than I can upgrade again. I pushed this fix to maint and master. - Carsten > > Thanks, > > Rainer > >> >> Thank you. >> >> - Carsten >> >> diff --git a/lisp/org-src.el b/lisp/org-src.el >> index 0f88174..062d2d7 100644 >> --- a/lisp/org-src.el >> +++ b/lisp/org-src.el >> @@ -757,6 +757,8 @@ with \",*\", \",#+\", \",,*\" and \",,#+\"." >> (delete-region beg (max beg end)) >> (unless (string-match "\\`[ \t]*\\'" code) >> (insert code)) >> + ;; Make sure the overlay stays in place >> + (when (eq context 'save) (move-overlay ovl beg (point))) >> (goto-char beg) >> (if single (just-one-space)))) >> (if (memq t (mapcar (lambda (overlay) >> >> > <#secure method=pgpmime mode=sign> > > -- > Rainer M. Krug > > email: RMKruggmailcom > > --Apple-Mail=_33ACF9FD-E2EF-477F-A790-3C0699877B44 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- iQEcBAEBAgAGBQJSQo2RAAoJEO+gg/nAZuwMtssH/1G2a1FespdCo48rRXJkHRYH LpAUcmLq7c4mDqZUahOmWT+9ul9OvN8VO9QDYfVdlcdM1kSAx2LYiK19xGRp6jNl jjC10nHbjR6ePHYqW/4dLPiKNlZswcN1JQ2qdAOUm3EUICVDSMj/t4bShNVHolUx jfaoMFTSP9lizL/YTZa3yROTGGHLq1EFOt1ajmhhgK1wwEQDF9UiH3t7I1re+Zcx FhYGSdBZKj12J6ty0xJaxRClf0yoS/LafIrhFt2nzQsEFCiEv8RDd7Gy31XwTT1Z b1k11DFTylZUNDbBk8l8pOiQk1hGUOnujNhtKgaJiBuGeMTGEYmHyAS2YvkVR4A= =MEzI -----END PGP SIGNATURE----- --Apple-Mail=_33ACF9FD-E2EF-477F-A790-3C0699877B44--