From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Dokos Subject: Re: Problems with org-publish w/ #+INCLUDE: Date: Sun, 16 Oct 2011 18:20:22 -0400 Message-ID: <4380.1318803622@alphaville.dokosmarshall.org> References: <87d3dx9oyh.fsf@systemhaus-brunner.de> <31286.1318782523@alphaville.dokosmarshall.org> <55C20239-CFB5-4B5A-B945-8ABC8EBBD4D2@gmail.com> Reply-To: nicholas.dokos@hp.com Return-path: Received: from eggs.gnu.org ([140.186.70.92]:55548) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RFZ4G-0003zU-FG for emacs-orgmode@gnu.org; Sun, 16 Oct 2011 18:20:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RFZ4E-0002Fl-93 for emacs-orgmode@gnu.org; Sun, 16 Oct 2011 18:20:28 -0400 Received: from g5t0009.atlanta.hp.com ([15.192.0.46]:14888) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RFZ4D-0002FL-W9 for emacs-orgmode@gnu.org; Sun, 16 Oct 2011 18:20:26 -0400 In-Reply-To: Message from Carsten Dominik of "Sun, 16 Oct 2011 20:00:49 +0200." <55C20239-CFB5-4B5A-B945-8ABC8EBBD4D2@gmail.com> 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: Carsten Dominik Cc: emacs-orgmode@gnu.org, nicholas.dokos@hp.com, daniel@dbrunner.de Carsten Dominik wrote: > > I haven't checked yet but it would seem that the following commit > > introduced the problem: > > This should be fixed now, please verify. > Works fine for me. Thanks, Nick > - Carsten > > >=20 > > --8<---------------cut here---------------start------------->8--- > > commit 920cf53e686daea4f406aa237b48fe2ef4730426 > > Author: Jon Anders Skorpen > > Date: Sat Jul 16 17:22:07 2011 +0000 > >=20 > > org-publish: Fix regexp for include files > >=20 > > * org-publish.el (org-publish-cache-file-needs-publishing): Regexp = > did > > not find includes with double quoted file names. > >=20 > > TINYCHANGE > >=20 > > diff --git a/lisp/org-publish.el b/lisp/org-publish.el > > index b8e932d..9654a6d 100644 > > --- a/lisp/org-publish.el > > +++ b/lisp/org-publish.el > > @@ -1108,7 +1108,7 @@ (defun org-publish-cache-file-needs-publishing = > (filename &optional pub-dir pub-f > > (when (equal (file-name-extension filename) "org") > > (find-file (expand-file-name filename)) > > (goto-char (point-min)) > > - (while (re-search-forward "^#\\+INCLUDE: \\(.+\\)[ ^\t]*$" nil = > t) > > + (while (re-search-forward "^#\\+INCLUDE:[ \t]+\"?\\([^ = > \t\"]*\\)\"?[ \t]*.*$" nil t) > > (let* ((included-file (expand-file-name (match-string 1)))) > > (add-to-list 'included-files-ctime > > (org-publish-cache-ctime-of-src included-file) = > t))))) > > --8<---------------cut here---------------end--------------->8--- > >=20 > > Nick > >=20 > >=20 > >> I have a file "index.org": > >>=20 > >> --8<-- > >> #+TITLE: Foo! > >> #+AUTHOR: Daniel > >> #+EMAIL: daniel@monkey > >> #+DATE: 2011-10-14 Fr > >> #+INCLUDE: include.org > >>=20 > >> Export it! > >> --8<-- > >>=20 > >> Then I have a file "include.org" with all the options etc. (option > >> template included via C-c C-e t): > >>=20 > >> --8<-- > >> #+DESCRIPTION: > >> #+KEYWORDS: > >> #+LANGUAGE: en > >> #+OPTIONS: H:3 num:t toc:t \n:nil @:t ::t |:t ^:t -:t f:t *:t <:t > >> #+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil = > tags:not-in-toc > >> #+INFOJS_OPT: view:nil toc:nil ltoc:t mouse:underline buttons:0 = > path:http:/=3D > >> /orgmode.org/org-info.js > >> #+EXPORT_SELECT_TAGS: export > >> #+EXPORT_EXCLUDE_TAGS: noexport > >> #+LINK_UP:=3D20=3D20=3D20 > >> #+LINK_HOME:=3D20 > >> #+XSLT: > >>=20 > >> #+BEGIN_HTML > >>

Bar

> >> #+END_HTML > >> --8<-- > >>=20 > >> Then I set the org-publish-project-alist: > >>=20 > >> --8<-- > >> (require 'org-publish) > >> (setq org-publish-project-alist > >> (list (list "foo" > >> :base-directory "/home/dbr/tmp/omtests" > >> :base-extension "org" > >> :publishing-directory "/home/dbr/tmp/omtests/pub" > >> :publishing-function 'org-publish-org-to-html))) > >> --8<-- > >>=20 > >> Org-publish is from the 7.7 distribution directory. Then I visit > >> index.org and do a C-c C-e P and run in the following error: > >>=20 > >> --8<-- > >> Debugger entered--Lisp error: (wrong-type-argument integerp nil) > >> lsh(nil 16) > >> = > org-publish-cache-ctime-of-src("/home/dbr/tmp/omtests/include.org\n\nExpo=3D= > > >> rt") > >> = > org-publish-cache-file-needs-publishing("/home/dbr/tmp/omtests/index.org"=3D= > > >> "/home/dbr/tmp/omtests/pub/" org-publish-org-to-html) > >> org-publish-needed-p("/home/dbr/tmp/omtests/index.org" = > "/home/dbr/tmp/omt=3D > >> ests/pub/" org-publish-org-to-html "/home/dbr/tmp/omtests/pub/") > >> org-publish-file("/home/dbr/tmp/omtests/index.org" ("foo" = > :base-directory=3D > >> "/home/dbr/tmp/omtests" :base-extension "org" :publishing-directory = > "/home=3D > >> /dbr/tmp/omtests/pub" :publishing-function org-publish-org-to-html) = > t) > >> #[(project) "=08@!=3D88=08A=3DC7 \"=3DC7 \"=3DC7 \"=3D86=3D00=3D1C = > \"=3D86#=3DCD=3DC7 \"=3D86-=3D0E=3D > >> =3D1F \"=3D868=3D0E!\" \"=3D15 = > \"=3D1D=08\n\"#=3D1E$=3D15=3D83X=3DD4!=3D88=3D0B=3D83a=3D0D=08\f\"=3D88#=3D= > 89=3D > >> A#@=3D89$=3D83x=3DD6$=08#=3D88=3D82a=3DC7 \"=3D83=3D92=3DD9 = > \"!=3D88=3DDB=3DC7 \"\"=08#=3D88=3D1D=3D83=3D9B=3DD4!=3D > >> =3D88 .=3D0B=3D87" [project project-plist exclude-regexp sitemap-p = > sitemap-filena=3D > >> me sitemap-function org-publish-initialize-cache plist-get :exclude = > :auto-s=3D > >> itemap :sitemap-filename "sitemap.org" :sitemap-function = > org-publish-org-si=3D > >> temap :sitemap-date-format :sitemap-file-entry-format = > :preparation-function=3D > >> :completion-function org-publish-get-base-files nil run-hooks = > preparation-=3D > >> function org-publish-file t :makeindex = > org-publish-index-generate-theindex =3D > >> :base-directory expand-file-name "theindex.org" completion-function = > org-pub=3D > >> lish-write-cache-file org-publish-sitemap-date-format = > org-sitemap-date-form=3D > >> at org-publish-sitemap-file-entry-format = > org-sitemap-file-entry-format file=3D > >> s file] 6](("foo" :base-directory "/home/dbr/tmp/omtests" = > :base-extension "=3D > >> org" :publishing-directory "/home/dbr/tmp/omtests/pub" = > :publishing-function=3D > >> org-publish-org-to-html)) > >> mapc(#[(project) "=08@!=3D88=08A=3DC7 \"=3DC7 \"=3DC7 = > \"=3D86=3D00=3D1C \"=3D86#=3DCD=3DC7 \"=3D86-=3D > >> =3D0E=3D1F \"=3D868=3D0E!\" \"=3D15 = > \"=3D1D=08\n\"#=3D1E$=3D15=3D83X=3DD4!=3D88=3D0B=3D83a=3D0D=08\f\"=3D88#=3D= > > >> =3D89A#@=3D89$=3D83x=3DD6$=08#=3D88=3D82a=3DC7 \"=3D83=3D92=3DD9 = > \"!=3D88=3DDB=3DC7 \"\"=08#=3D88=3D1D=3D83=3D9B=3D > >> =3DD4!=3D88 .=3D0B=3D87" [project project-plist exclude-regexp = > sitemap-p sitemap-fi=3D > >> lename sitemap-function org-publish-initialize-cache plist-get = > :exclude :au=3D > >> to-sitemap :sitemap-filename "sitemap.org" :sitemap-function = > org-publish-or=3D > >> g-sitemap :sitemap-date-format :sitemap-file-entry-format = > :preparation-func=3D > >> tion :completion-function org-publish-get-base-files nil run-hooks = > preparat=3D > >> ion-function org-publish-file t :makeindex = > org-publish-index-generate-thein=3D > >> dex :base-directory expand-file-name "theindex.org" = > completion-function org=3D > >> -publish-write-cache-file org-publish-sitemap-date-format = > org-sitemap-date-=3D > >> format org-publish-sitemap-file-entry-format = > org-sitemap-file-entry-format =3D > >> files file] 6] (("foo" :base-directory "/home/dbr/tmp/omtests" = > :base-extens=3D > >> ion "org" :publishing-directory "/home/dbr/tmp/omtests/pub" = > :publishing-fun=3D > >> ction org-publish-org-to-html))) > >> org-publish-projects((("foo" :base-directory "/home/dbr/tmp/omtests" = > :bas=3D > >> e-extension "org" :publishing-directory "/home/dbr/tmp/omtests/pub" = > :publis=3D > >> hing-function org-publish-org-to-html))) > >> byte-code("=08?=3D85=3D00 =3DC4\n;=3D83=3D00\n=3D0B\"C=3D82=3D00\nC!= > )=3D87" [force org-publis=3D > >> h-use-timestamps-flag project org-publish-project-alist = > org-publish-project=3D > >> s assoc] 4) > >> org-publish(("foo" :base-directory "/home/dbr/tmp/omtests" = > :base-extensio=3D > >> n "org" :publishing-directory "/home/dbr/tmp/omtests/pub" = > :publishing-funct=3D > >> ion org-publish-org-to-html)) > >> byte-code("=3DC4 \"=08?=3D85=3D0B =3D89=3D84=3D00=3DC7 = > \"=3D88\n!*=3D87" [force org-publish-u=3D > >> se-timestamps-flag project org-publish-get-project-from-filename = > buffer-fil=3D > >> e-name up error "File %s is not part of any known project" = > org-publish] 4) > >> org-publish-current-project(nil) > >> call-interactively(org-publish-current-project) > >> org-export(nil) > >> call-interactively(org-export nil nil) > >> --8<-- > >>=20 > >> It seemed that due to the #+INCLUDE tag the > >> org-publish-cache-file-need-publishing gets a bit confused with the > >> filename and tries to call org-publish-cache-ctime-of-src with the = > file > >> name plus a string "\n\nExport" which are the next three lines of the > >> org file index.org.=3D20 > >>=20 > >> Am I doing something wrong?=3D20 > >>=20 > >>=20 > >> Kind regards, Daniel > >>=20 > >>=20 > >=20 >