[O] Problems with org-publish w/ #+INCLUDE:
Hi! And another problem after an upgrade vom V6.something to a 7.7 release: Org-mode version 7.7 (release_7.7.380.g54d7df). When I use the org-publish to produce a set of HTML pages I run into a error. Here is an example: I have a file index.org: --8-- #+TITLE: Foo! #+AUTHOR:Daniel #+EMAIL: daniel@monkey #+DATE: 2011-10-14 Fr #+INCLUDE: include.org Export it! --8-- Then I have a file include.org with all the options etc. (option template included via C-c C-e t): --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://orgmode.org/org-info.js #+EXPORT_SELECT_TAGS: export #+EXPORT_EXCLUDE_TAGS: noexport #+LINK_UP: #+LINK_HOME: #+XSLT: #+BEGIN_HTML h1Bar/h1 #+END_HTML --8-- Then I set the org-publish-project-alist: --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-- 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: --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\nExport) org-publish-cache-file-needs-publishing(/home/dbr/tmp/omtests/index.org /home/dbr/tmp/omtests/pub/ org-publish-org-to-html) org-publish-needed-p(/home/dbr/tmp/omtests/index.org /home/dbr/tmp/omtests/pub/ org-publish-org-to-html /home/dbr/tmp/omtests/pub/) org-publish-file(/home/dbr/tmp/omtests/index.org (foo :base-directory /home/dbr/tmp/omtests :base-extension org :publishing-directory /home/dbr/tmp/omtests/pub :publishing-function org-publish-org-to-html) t) #[(project) @!AÇ \Ç \Ç \ \#ÍÇ \- \8!\ \ \\n\#$XÔ!a \f\#A#@$xÖ$#aÇ \Ù \!ÛÇ \\#Ô! . [project project-plist exclude-regexp sitemap-p sitemap-filename sitemap-function org-publish-initialize-cache plist-get :exclude :auto-sitemap :sitemap-filename sitemap.org :sitemap-function org-publish-org-sitemap :sitemap-date-format :sitemap-file-entry-format :preparation-function :completion-function org-publish-get-base-files nil run-hooks preparation-function org-publish-file t :makeindex org-publish-index-generate-theindex :base-directory expand-file-name theindex.org completion-function org-publish-write-cache-file org-publish-sitemap-date-format org-sitemap-date-format org-publish-sitemap-file-entry-format org-sitemap-file-entry-format files file] 6]((foo :base-directory /home/dbr/tmp/omtests :base-extension org :publishing-directory /home/dbr/tmp/omtests/pub :publishing-function org-publish-org-to-html)) mapc(#[(project) @!AÇ \Ç \Ç \ \#ÍÇ \- \8!\\ \\n\#$XÔ!a \f\#A#@$xÖ$#aÇ \Ù \!ÛÇ \\#Ô! . [project project-plist exclude-regexp sitemap-p sitemap-filename sitemap-function org-publish-initialize-cache plist-get :exclude :auto-sitemap :sitemap-filename sitemap.org :sitemap-function org-publish-org-sitemap :sitemap-date-format :sitemap-file-entry-format :preparation-function :completion-function org-publish-get-base-files nil run-hooks preparation-function org-publish-file t :makeindex org-publish-index-generate-theindex :base-directory expand-file-name theindex.org completion-function org-publish-write-cache-file org-publish-sitemap-date-format org-sitemap-date-format org-publish-sitemap-file-entry-format org-sitemap-file-entry-format files file] 6] ((foo :base-directory /home/dbr/tmp/omtests :base-extension org :publishing-directory /home/dbr/tmp/omtests/pub :publishing-function org-publish-org-to-html))) org-publish-projects(((foo :base-directory /home/dbr/tmp/omtests :base-extension org :publishing-directory /home/dbr/tmp/omtests/pub :publishing-function org-publish-org-to-html))) byte-code(? Ä\n; \n\C \nC!) [force org-publish-use-timestamps-flag project org-publish-project-alist org-publish-projects assoc] 4) org-publish((foo :base-directory /home/dbr/tmp/omtests :base-extension org :publishing-directory /home/dbr/tmp/omtests/pub :publishing-function org-publish-org-to-html)) byte-code(Ä \? Ç \\n!* [force org-publish-use-timestamps-flag project org-publish-get-project-from-filename buffer-file-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-- It seemed that due to the #+INCLUDE tag the org-publish-cache-file-need-publishing gets a bit
Re: [O] Problems with org-publish w/ #+INCLUDE:
dan...@dbrunner.de wrote: Hi! And another problem after an upgrade vom V6.something to a 7.7 release: Org-mode version 7.7 (release_7.7.380.g54d7df). When I use the org-publish to produce a set of HTML pages I run into a error. Here is an example: An *exemplary* bug report: an ECM to reproduce the problem and a backtrace - what more can one ask for? Thank you! I could not reproduce the problem at first, but it turned out that I had gone back to org 7.6 to test something and forgot to move forward again. On Org-mode version 7.7 (release_7.7.349.g3d835.dirty), I can reproduce it: the first time I publish the project I get the error. If I force republication, the error does not arise again - I haven't looked at why that is, but the initial failure seems to be caused by a change in the regexp on line 1109 of org-publish.el: if you look at the argument of org-publish-cache-ctime-of-src in the backtrace, you can see that it's not just the #+INCLUDE: filename, but some additional lines in the including file as well. I haven't checked yet but it would seem that the following commit introduced the problem: --8---cut here---start-8--- commit 920cf53e686daea4f406aa237b48fe2ef4730426 Author: Jon Anders Skorpen jo...@ifi.uio.no Date: Sat Jul 16 17:22:07 2011 + org-publish: Fix regexp for include files * org-publish.el (org-publish-cache-file-needs-publishing): Regexp did not find includes with double quoted file names. TINYCHANGE 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--- Nick I have a file index.org: --8-- #+TITLE: Foo! #+AUTHOR:Daniel #+EMAIL: daniel@monkey #+DATE: 2011-10-14 Fr #+INCLUDE: include.org Export it! --8-- Then I have a file include.org with all the options etc. (option template included via C-c C-e t): --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:/= /orgmode.org/org-info.js #+EXPORT_SELECT_TAGS: export #+EXPORT_EXCLUDE_TAGS: noexport #+LINK_UP:=20=20=20 #+LINK_HOME:=20 #+XSLT: #+BEGIN_HTML h1Bar/h1 #+END_HTML --8-- Then I set the org-publish-project-alist: --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-- 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: --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= rt) org-publish-cache-file-needs-publishing(/home/dbr/tmp/omtests/index.org= /home/dbr/tmp/omtests/pub/ org-publish-org-to-html) org-publish-needed-p(/home/dbr/tmp/omtests/index.org /home/dbr/tmp/omt= ests/pub/ org-publish-org-to-html /home/dbr/tmp/omtests/pub/) org-publish-file(/home/dbr/tmp/omtests/index.org (foo :base-directory= /home/dbr/tmp/omtests :base-extension org :publishing-directory /home= /dbr/tmp/omtests/pub :publishing-function org-publish-org-to-html) t) #[(project) @!=88A=C7\=C7 \=C7 \=86=00=1C \=86#=CD=C7 \=86-=0E= =1F \=868=0E!\\=15 \=1D\n\#=1E$=15=83X=D4!=88=0B=83a=0D\f\=88#=89= A#@=89$=83x=D6$#=88=82a=C7 \=83=92=D9 \!=88=DB=C7 \\#=88=1D=83=9B=D4!= =88 .=0B=87 [project project-plist exclude-regexp sitemap-p sitemap-filena= me sitemap-function org-publish-initialize-cache plist-get :exclude :auto-s= itemap :sitemap-filename sitemap.org :sitemap-function org-publish-org-si= temap :sitemap-date-format :sitemap-file-entry-format :preparation-function= :completion-function org-publish-get-base-files nil run-hooks preparation-= function org-publish-file t :makeindex org-publish-index-generate-theindex = :base-directory expand-file-name theindex.org
Re: [O] Problems with org-publish w/ #+INCLUDE:
On 16.10.2011, at 18:28, Nick Dokos wrote: dan...@dbrunner.de wrote: Hi! And another problem after an upgrade vom V6.something to a 7.7 release: Org-mode version 7.7 (release_7.7.380.g54d7df). When I use the org-publish to produce a set of HTML pages I run into a error. Here is an example: An *exemplary* bug report: an ECM to reproduce the problem and a backtrace - what more can one ask for? Thank you! I could not reproduce the problem at first, but it turned out that I had gone back to org 7.6 to test something and forgot to move forward again. On Org-mode version 7.7 (release_7.7.349.g3d835.dirty), I can reproduce it: the first time I publish the project I get the error. If I force republication, the error does not arise again - I haven't looked at why that is, but the initial failure seems to be caused by a change in the regexp on line 1109 of org-publish.el: if you look at the argument of org-publish-cache-ctime-of-src in the backtrace, you can see that it's not just the #+INCLUDE: filename, but some additional lines in the including file as well. I haven't checked yet but it would seem that the following commit introduced the problem: This should be fixed now, please verify. - Carsten --8---cut here---start-8--- commit 920cf53e686daea4f406aa237b48fe2ef4730426 Author: Jon Anders Skorpen jo...@ifi.uio.no Date: Sat Jul 16 17:22:07 2011 + org-publish: Fix regexp for include files * org-publish.el (org-publish-cache-file-needs-publishing): Regexp did not find includes with double quoted file names. TINYCHANGE 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--- Nick I have a file index.org: --8-- #+TITLE: Foo! #+AUTHOR:Daniel #+EMAIL: daniel@monkey #+DATE: 2011-10-14 Fr #+INCLUDE: include.org Export it! --8-- Then I have a file include.org with all the options etc. (option template included via C-c C-e t): --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:/= /orgmode.org/org-info.js #+EXPORT_SELECT_TAGS: export #+EXPORT_EXCLUDE_TAGS: noexport #+LINK_UP:=20=20=20 #+LINK_HOME:=20 #+XSLT: #+BEGIN_HTML h1Bar/h1 #+END_HTML --8-- Then I set the org-publish-project-alist: --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-- 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: --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= rt) org-publish-cache-file-needs-publishing(/home/dbr/tmp/omtests/index.org= /home/dbr/tmp/omtests/pub/ org-publish-org-to-html) org-publish-needed-p(/home/dbr/tmp/omtests/index.org /home/dbr/tmp/omt= ests/pub/ org-publish-org-to-html /home/dbr/tmp/omtests/pub/) org-publish-file(/home/dbr/tmp/omtests/index.org (foo :base-directory= /home/dbr/tmp/omtests :base-extension org :publishing-directory /home= /dbr/tmp/omtests/pub :publishing-function org-publish-org-to-html) t) #[(project) @!=88A=C7\=C7 \=C7 \=86=00=1C \=86#=CD=C7 \=86-=0E= =1F \=868=0E!\\=15 \=1D\n\#=1E$=15=83X=D4!=88=0B=83a=0D\f\=88#=89= A#@=89$=83x=D6$#=88=82a=C7 \=83=92=D9 \!=88=DB=C7 \\#=88=1D=83=9B=D4!= =88 .=0B=87 [project project-plist exclude-regexp sitemap-p sitemap-filena= me sitemap-function org-publish-initialize-cache plist-get :exclude :auto-s= itemap :sitemap-filename sitemap.org :sitemap-function org-publish-org-si= temap :sitemap-date-format :sitemap-file-entry-format :preparation-function= :completion-function org-publish-get-base-files nil run-hooks preparation-= function org-publish-file t
Re: [O] Problems with org-publish w/ #+INCLUDE:
Carsten Dominik carsten.domi...@gmail.com writes: (...) This should be fixed now, please verify. - Carsten Hi, thanks for the fast fix. I tested it with the test case and with my working environment and the fix seems to work! Thanks a lot! Best wishes, Daniel.
Re: [O] Problems with org-publish w/ #+INCLUDE:
Carsten Dominik carsten.domi...@gmail.com 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 jo...@ifi.uio.no Date: Sat Jul 16 17:22:07 2011 + =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 h1Bar/h1 #+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 =