From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thorsten Jolitz Subject: Re: How to insert/replace during `org-elemment-map' call? Date: Thu, 07 Aug 2014 18:11:17 +0200 Message-ID: <878un09t5m.fsf@gmail.com> References: <87d2cca6aq.fsf@gmail.com> <87k36kmofv.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:56920) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XFQI1-0004Lz-J3 for emacs-orgmode@gnu.org; Thu, 07 Aug 2014 12:11:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XFQHv-0005sH-HY for emacs-orgmode@gnu.org; Thu, 07 Aug 2014 12:11:41 -0400 Received: from plane.gmane.org ([80.91.229.3]:42276) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XFQHv-0005s0-Az for emacs-orgmode@gnu.org; Thu, 07 Aug 2014 12:11:35 -0400 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1XFQHs-0004Rt-Rr for emacs-orgmode@gnu.org; Thu, 07 Aug 2014 18:11:32 +0200 Received: from g231105104.adsl.alicedsl.de ([92.231.105.104]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 07 Aug 2014 18:11:32 +0200 Received: from tjolitz by g231105104.adsl.alicedsl.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 07 Aug 2014 18:11:32 +0200 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: emacs-orgmode@gnu.org Nicolas Goaziou writes: Hello, > Thorsten Jolitz writes: > >> When I set that argument to non-nil (t or 'append or 'prepend), things >> stop working because replacing/appending changes the parsed buffer, >> but the :begin and :end properties of the already parsed elements are >> not adjusted and I use them e.g. to delete a region. >> >> Without using the export-framework (which seems overkill in this >> case), is there a way to make this work anyway? > > You can make replacements backwards, i.e., starting from the bottom of > the buffer. Its not really obvious for me how to do that. You mean simply by doing it in 2 steps 1. map parse-tree and get the result list 2. goto point-max of buffer and use the result list to replace mapped elements backwards or rather a 'trick' to make org-element-map process the parse-tree backwards and thus start with replacing the last element? Not sure what this trick would be - partly reverse the parse-tree? -- cheers, Thorsten