From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Tom Breton (Tehom)" Subject: Hook request and patch Date: Mon, 29 Dec 2008 23:22:32 -0500 (EST) Message-ID: <5483.66.30.178.137.1230610952.squirrel@mail.panix.com> Mime-Version: 1.0 Content-Type: text/plain;charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LHW7n-0001id-Tl for emacs-orgmode@gnu.org; Mon, 29 Dec 2008 23:22:35 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LHW7l-0001iR-9j for emacs-orgmode@gnu.org; Mon, 29 Dec 2008 23:22:34 -0500 Received: from [199.232.76.173] (port=33990 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LHW7l-0001iO-75 for emacs-orgmode@gnu.org; Mon, 29 Dec 2008 23:22:33 -0500 Received: from mail1.panix.com ([166.84.1.72]:58696) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LHW7k-0008BB-WA for emacs-orgmode@gnu.org; Mon, 29 Dec 2008 23:22:33 -0500 Received: from mailbackend.panix.com (mailbackend.panix.com [166.84.1.89]) by mail1.panix.com (Postfix) with ESMTP id 7E4D32940C for ; Mon, 29 Dec 2008 23:22:32 -0500 (EST) Received: from mail.panix.com (localhost [127.0.0.1]) by mailbackend.panix.com (Postfix) with ESMTP id 7E20F18C60 for ; Mon, 29 Dec 2008 23:22:32 -0500 (EST) 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: emacs-orgmode@gnu.org Motivating incident: I was exporting some files and I wanted to process a file after I included it. Using "#+INCLUDE" I could include it and I could tell it to use "BEGIN_XXX" "END_XXX" so my code could find it. But I couldn't process it, because org-export-preprocess-string calls `org-export-preprocess-hook' before it handles "#+INCLUDE". I didn't want to move org-export-preprocess-hook because for all I know there's a good reason it comes first. Similarly for the timing of "#+INCLUDE". So I ask for a hook that is called after includes are handled. Diffs appended. Another advantage: `org-update-all-dblocks' didn't seem to work in org-export-preprocess-hook because the working buffer isn't yet in org-mode when it's called, but works in the new hook. Tom Breton (Tehom) *** old-org-exp.el 2008-12-18 18:26:05.000000000 -0500 --- org-exp.el 2008-12-29 23:10:46.000000000 -0500 *************** *** 297,302 **** --- 297,305 ---- (defvar org-export-preprocess-hook nil "Hook for preprocessing an export buffer. Pretty much the first thing when exporting is running this hook.") + (defvar org-export-midprocess-hook nil + "Hook for processing an export buffer after file inclusions. + Run after file inclusions and tree exclusions.") (defgroup org-export-translation nil "Options for translating special ascii sequences for the export backends." *************** *** 1522,1527 **** --- 1525,1532 ---- ;; Find matches for radio targets and turn them into internal lin= ks (org-export-mark-radio-links) + (run-hooks 'org-export-midprocess-hook) + ;; Find all links that contain a newline and put them into a single line (org-export-concatenate-multiline-links)