From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sebastian Rose Subject: Patch: correction for tree-style sitemap (org-publish) Date: Sun, 26 Oct 2008 02:13:22 +0200 Message-ID: <4903B622.6030206@gmx.de> Reply-To: sebastian_rose@gmx.de Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KttFj-0007x5-BE for emacs-orgmode@gnu.org; Sat, 25 Oct 2008 20:13:07 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KttFh-0007se-Mb for emacs-orgmode@gnu.org; Sat, 25 Oct 2008 20:13:06 -0400 Received: from [199.232.76.173] (port=34391 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KttFh-0007sG-9g for emacs-orgmode@gnu.org; Sat, 25 Oct 2008 20:13:05 -0400 Received: from mail.gmx.net ([213.165.64.20]:36181) by monty-python.gnu.org with smtp (Exim 4.60) (envelope-from ) id 1KttFg-0006rn-Q2 for emacs-orgmode@gnu.org; Sat, 25 Oct 2008 20:13:05 -0400 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]" Issue ===== Sitemap not correct, when mutlitple subdirectories (my fault I believe, sorry). Only the tree-style sitemap is affected. How to reproduce ================ Try to export the following structure to HTML (directories marked by `/'): base-directory/ | +-- B/ | | | +---C/ | | | | | +--- c.org | | | +---D/ | | | +--- d.org | +-- E/ The resulting sitemap: - B - C - c.org - B <= B again! -D - d.org - E Should be: - B -C - c.org -D - d.org - E How to fix ========== The following patch fixes it. The patch is against commit 523cf1fe31dc5fc0e73a973b3e1a3bde74e0263d Author: Carsten Dominik Date: Sat Oct 25 12:56:42 2008 +0200 Release 6.10c. diff --git a/lisp/org-publish.el b/lisp/org-publish.el index 2af71d3..3859442 100644 --- a/lisp/org-publish.el +++ b/lisp/org-publish.el @@ -645,8 +645,12 @@ Default for INDEX-FILENAME is 'index.org'." (directory-file-name (file-name-directory (file-relative-name localdir dir))) "/")) - (subdir "")) + (subdir "") + (old-subdirs (split-string (file-relative-name oldlocal dir) "/"))) (setq indent-str (make-string 2 ?\ )) + (while (string= (car old-subdirs) (car subdirs)) + (setq indent-str (concat indent-str (make-string 2 ?\ ))) + (pop old-subdirs)(pop subdirs)) (dolist (d subdirs) (setq subdir (concat subdir d "/")) (insert (concat indent-str " + [[file:"