Re: [O] [TEXINFO] Link bug

2013-02-20 Thread Jonathan Leech-Pepin
Hello,

On 16 February 2013 11:19, Thomas S. Dye t...@tsdye.com wrote:

 Nicolas Goaziou n.goaz...@gmail.com writes:

  Now, both the links are broken :(
 
  This is good news: the problem is now consistent ;)
 
  Anyway, these links export fine to LaTeX, HTML and ASCII, which means
  the problem now resides in ox-texinfo.el.
 

 Thanks Nicolas.  I'll wait for Jonathan to tweak ox-texinfo.


I've applied Nicolas' patch.  From testing the ECM it fixes the issue.

Regards,

--
Jon

 All the best,
 Tom

 --
 Thomas S. Dye
 http://www.tsdye.com



Re: [O] [TEXINFO] Link bug

2013-02-20 Thread Nicolas Goaziou
t...@tsdye.com (Thomas S. Dye) writes:


 With this patch, links to TEXINFO_MENU_TITLE properties are no longer
 created.  If the problem looks difficult, I can work on an ECM.

It should be fixed. Between patch writing and its application, a change
in property syntax was introduced.


Regards,

-- 
Nicolas Goaziou



Re: [O] [TEXINFO] Link bug

2013-02-20 Thread Thomas S. Dye
Jonathan Leech-Pepin jonathan.leechpe...@gmail.com writes:

 Hello,

 On 16 February 2013 11:19, Thomas S. Dye t...@tsdye.com wrote:

 Nicolas Goaziou n.goaz...@gmail.com writes:

  Now, both the links are broken :(
 
  This is good news: the problem is now consistent ;)
 
  Anyway, these links export fine to LaTeX, HTML and ASCII, which means
  the problem now resides in ox-texinfo.el.
 

 Thanks Nicolas.  I'll wait for Jonathan to tweak ox-texinfo.


 I've applied Nicolas' patch.  From testing the ECM it fixes the issue.


With this patch, links to TEXINFO_MENU_TITLE properties are no longer
created.  If the problem looks difficult, I can work on an ECM.

All the best,
Tom

-- 
Thomas S. Dye
http://www.tsdye.com



Re: [O] [TEXINFO] Link bug

2013-02-20 Thread Thomas S. Dye
Nicolas Goaziou n.goaz...@gmail.com writes:

 t...@tsdye.com (Thomas S. Dye) writes:


 With this patch, links to TEXINFO_MENU_TITLE properties are no longer
 created.  If the problem looks difficult, I can work on an ECM.

 It should be fixed. Between patch writing and its application, a change
 in property syntax was introduced.

Yes, that works nicely.  Thanks!

All the best,
Tom
-- 
T.S. Dye  Colleagues, Archaeologists
735 Bishop St, Suite 315, Honolulu, HI 96813
Tel: 808-529-0866, Fax: 808-529-0884
http://www.tsdye.com



Re: [O] [TEXINFO] Link bug

2013-02-16 Thread Nicolas Goaziou
t...@tsdye.com (Thomas S. Dye) writes:

 Nicolas Goaziou n.goaz...@gmail.com writes:

 t...@tsdye.com (Thomas S. Dye) writes:

 I think the new code to handle split links has broken links that aren't
 split.

 Here is an ECM:

 * Headline to split

 [[Headline 
 to split]]

 [[Headline to split]], not!

 This should be fixed. Could you confirm it?

 Au contraire.  Here's what I get with the ECM I sent earlier:

 @node Headline to split
 @chapter Headline to split

 @ref{(Headline to split),}

 @ref{(Headline to split),}, not!

 Now, both the links are broken :(

This is good news: the problem is now consistent ;)

Anyway, these links export fine to LaTeX, HTML and ASCII, which means
the problem now resides in ox-texinfo.el.

I attach a suggested solution for the problem. Cc'ed Jonathan so he can
choose whether to apply it or not.


Regards,

-- 
Nicolas Goaziou
From 72985e92ab75c6b261bbec46aab2648098aac444 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou n.goaz...@gmail.com
Date: Sat, 16 Feb 2013 13:36:18 +0100
Subject: [PATCH] ox-texinfo: Fix fuzzy links to headlines

* lisp/ox-texinfo.el (org-texinfo--get-node): New function.
(org-texinfo-headline, org-texinfo-link): Use new function.

The same function is used to create @node entries and links to nodes,
to avoid any descrepency between them.
---
 lisp/ox-texinfo.el | 29 ++---
 1 file changed, 14 insertions(+), 15 deletions(-)

diff --git a/lisp/ox-texinfo.el b/lisp/ox-texinfo.el
index 20fa41d..3da567f 100644
--- a/lisp/ox-texinfo.el
+++ b/lisp/ox-texinfo.el
@@ -430,6 +430,17 @@ See `org-texinfo-text-markup-alist' for details.
  ;; Else use format string.
  (t (format fmt text)
 
+(defun org-texinfo--get-node (headline info)
+  Return node entry associated to HEADLINE.
+INFO is a plist used as a communication channel.
+  (let ((menu-title (org-element-property :texinfo-menu-title headline)))
+(org-texinfo--sanitize-menu
+ (replace-regexp-in-string
+  % %%
+  (if menu-title (org-export-data menu-title info)
+	(org-texinfo--sanitize-headline
+	 (org-element-property :title headline) info))
+
 ;;; Headline sanitizing
 
 (defun org-texinfo--sanitize-headline (headline info)
@@ -896,22 +907,12 @@ holding contextual information.
 	 (class-sectionning (assoc class org-texinfo-classes))
 	 ;; Find the index type, if any
 	 (index (org-element-property :index headline))
-	 ;; Retrieve custom menu title (if any)
-	 (menu-title (org-texinfo--sanitize-menu
-		  (org-export-data
-		   (org-element-property :texinfo-menu-title headline)
-		   info)))
 	 ;; Retrieve headline text
 	 (text (org-texinfo--sanitize-headline
 		(org-element-property :title headline) info))
 	 ;; Create node info, to insert it before section formatting.
 	 ;; Use custom menu title if present
-	 (node (format @node %s\n
-		   (org-texinfo--sanitize-menu
-			(replace-regexp-in-string % %%
-		  (if (not (string=  menu-title))
-		  menu-title
-		text)
+	 (node (format @node %s\n (org-texinfo--get-node headline info)))
 	 ;; Menus must be generated with first child, otherwise they
 	 ;; will not nest properly
 	 (menu (let* ((first (org-export-first-sibling-p headline info))
@@ -1180,8 +1181,7 @@ INFO is a plist holding contextual information.  See
 	  ;; LINK points to an headline.  Use the headline as the NODE target
 	  (headline
 	   (format @ref{%s,%s}
-		   (or (org-element-property :texinfo-menu-title destination)
-		   (org-element-property :title destination))
+		   (org-texinfo--get-node destination info)
 		   (or desc )))
 	  (otherwise
 	   (let ((path (org-export-solidify-link-text path)))
@@ -1203,8 +1203,7 @@ INFO is a plist holding contextual information.  See
 	  ;; LINK points to an headline.  Use the headline as the NODE target
 	  (headline
 	   (format @ref{%s,%s}
-		   (or (org-element-property :texinfo-menu-title destination)
-		   (org-element-property :title destination))
+		   (org-texinfo--get-node destination info)
 		   (or desc )))
 	  (otherwise
 	   (let ((path (org-export-solidify-link-text path)))
-- 
1.8.1.3



Re: [O] [TEXINFO] Link bug

2013-02-16 Thread Thomas S. Dye
Nicolas Goaziou n.goaz...@gmail.com writes:

 Now, both the links are broken :(

 This is good news: the problem is now consistent ;)

 Anyway, these links export fine to LaTeX, HTML and ASCII, which means
 the problem now resides in ox-texinfo.el.


Thanks Nicolas.  I'll wait for Jonathan to tweak ox-texinfo.

All the best,
Tom

-- 
Thomas S. Dye
http://www.tsdye.com



[O] [TEXINFO] Link bug

2013-02-14 Thread Thomas S. Dye
Hi,

I think the new code to handle split links has broken links that aren't
split.

Here is an ECM:

* Headline to split

[[Headline 
to split]]

[[Headline to split]], not!

* Editing setup
#+name: setup-editing
#+header: :results silent
#+header: :eval no-export
#+begin_src emacs-lisp
(require 'ox-texinfo)
(define-key org-mode-map (kbd C-c e) 'org-export-dispatch)
(setq org-pretty-entities nil)
(setq org-src-preserve-indentation t)
(setq org-confirm-babel-evaluate nil)
(org-babel-do-load-languages
 'org-babel-load-languages
 '((emacs-lisp . t)
   (sh . t)))
(add-to-list 'org-export-snippet-translation-alist
 '(info . texinfo))
#+end_src

Here is the relevant texinfo output (note the parens in the second
@ref):

@node Headline to split
@chapter Headline to split

@ref{Headline-to-split}

@ref{(Headline to split),}, not!

All the best,
Tom

-- 
T.S. Dye  Colleagues, Archaeologists
735 Bishop St, Suite 315, Honolulu, HI 96813
Tel: 808-529-0866, Fax: 808-529-0884
http://www.tsdye.com