From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Abrahamsen Subject: Re: Using org-map-entries with org-export-before-processing-hook Date: Wed, 06 Mar 2013 18:29:06 +0800 Message-ID: <876214g6tp.fsf@ericabrahamsen.net> References: <871ubt8awv.fsf@ericabrahamsen.net> <87boaw25us.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([208.118.235.92]:39713) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDBVh-0003pn-Rk for emacs-orgmode@gnu.org; Wed, 06 Mar 2013 05:23:47 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDBVg-0001Z6-Qg for emacs-orgmode@gnu.org; Wed, 06 Mar 2013 05:23:45 -0500 Received: from plane.gmane.org ([80.91.229.3]:58175) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDBVg-0001Z1-Jv for emacs-orgmode@gnu.org; Wed, 06 Mar 2013 05:23:44 -0500 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1UDBVz-0007zy-E0 for emacs-orgmode@gnu.org; Wed, 06 Mar 2013 11:24:03 +0100 Received: from 114.250.135.195 ([114.250.135.195]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 06 Mar 2013 11:24:03 +0100 Received: from eric by 114.250.135.195 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 06 Mar 2013 11:24:03 +0100 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, > > Eric Abrahamsen writes: > >> I've attached a minimum org file that shows what I'm trying to do: >> essentially to attach a hook to the export process that ends up calling >> org-map-entries to make alterations to the file just before it's >> exported. >> >> As I've got it now, the hook does change the org buffer, but those >> changes are *not* reflected in the exported output. I can only guess >> that somehow the export process is able to continue on before the >> org-map-entries results are returned? Doesn't seem likely, but... >> >> This is actually kind of the opposite of what I'd like: to have the >> changes *only* reflected in the export, and leave the original buffer >> unchanged. On the other hand, I can see what thought and care has gone >> into setting up a clone buffer for export (and I do need to rely on >> buffer-local variables), so maybe an (undo) is my best solution for >> returning the buffer to its pre-export state. >> >> But I would like the changes to show up in the exported file! > > The problem is not directly related to the export framework, but to its > relationship with `org-map-entries'. > > If you use the following function: > > (defun before-export-test (backend) > ;; (org-map-entries 'test-map "TODO=\"TODO\"" 'file) > (while (re-search-forward "^\\*+ TODO" nil t) > (test-map))) > > it should work. > > I don't know why `org-map-entries' behaves badly with export. Meanwhile, > I suggest to not use this function for export hooks. That'll work! Thanks for looking at this. E