Re: [O] Bug: HTML Export doesn't handle internal link with spaces [8.0.7 (8.0.7-6-g13cb28-elpa @ /home/jbalint/.emacs.d/elpa/org-20130812/)]

2014-01-06 Thread Nicolas Goaziou
Bastien b...@gnu.org writes:

 Another idea would be to get rid of automatic hexification in all cases,
 and have more tolerant regexps for links.

 This seems incertain.

How so? Accepting balanced pairs of square brackets is better than no
closing square bracket at all.

 Or maybe we can just live with the current problem.

Probably, yes. But I have the feeling we encounter the problem again.


Regards,

-- 
Nicolas Goaziou



Re: [O] Bug: HTML Export doesn't handle internal link with spaces [8.0.7 (8.0.7-6-g13cb28-elpa @ /home/jbalint/.emacs.d/elpa/org-20130812/)]

2014-01-06 Thread Bastien
Nicolas Goaziou n.goaz...@gmail.com writes:

 Bastien b...@gnu.org writes:

 Another idea would be to get rid of automatic hexification in all cases,
 and have more tolerant regexps for links.

 This seems incertain.

 How so? Accepting balanced pairs of square brackets is better than no
 closing square bracket at all.

Well, I let you try this, but my guess it that the cost in terms of
regexp complexity (especially for the balanced aspects) will be a
bit too high.

-- 
 Bastien



Re: [O] Bug: HTML Export doesn't handle internal link with spaces [8.0.7 (8.0.7-6-g13cb28-elpa @ /home/jbalint/.emacs.d/elpa/org-20130812/)]

2014-01-04 Thread Bastien
Hi Nicolas,

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

 Also, I think there will be a problem if an internal link contains
 brackets. E.g, how to create an internal link to the following headline?

  * Some [headline]

Maybe we can just escape square brackets for such internal links.
At least this would solve the OP problem.

Let me know if you can think of other side-effect this change would
have.

-- 
 Bastien



Re: [O] Bug: HTML Export doesn't handle internal link with spaces [8.0.7 (8.0.7-6-g13cb28-elpa @ /home/jbalint/.emacs.d/elpa/org-20130812/)]

2014-01-04 Thread Nicolas Goaziou
Hello,

Bastien b...@gnu.org writes:

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

 Also, I think there will be a problem if an internal link contains
 brackets. E.g, how to create an internal link to the following headline?

  * Some [headline]

 Maybe we can just escape square brackets for such internal links.
 At least this would solve the OP problem.

I'm not sure to understand. IIUC, one reason for url-hexification is to
avoid forbidden characters in Org links, i.e., Org hexifies links to
escape characters like brackets.

Do you mean using another escape mechanism? If so, I think the problem
would be the same as before (impossible to know if link at point was
escaped or not in the first place).

Another idea would be to get rid of automatic hexification in all cases,
and have more tolerant regexps for links.


Regards,

-- 
Nicolas Goaziou



Re: [O] Bug: HTML Export doesn't handle internal link with spaces [8.0.7 (8.0.7-6-g13cb28-elpa @ /home/jbalint/.emacs.d/elpa/org-20130812/)]

2014-01-04 Thread Bastien
Nicolas Goaziou n.goaz...@gmail.com writes:

 I'm not sure to understand. IIUC, one reason for url-hexification is to
 avoid forbidden characters in Org links, i.e., Org hexifies links to
 escape characters like brackets.

 Do you mean using another escape mechanism?

No, I mean to url-hexify URLs that correspond to a link type (through
org-link-types) and for internal links, to escape only [ and ], which
are the only two problematic characters (aren't they?)

 If so, I think the problem
 would be the same as before (impossible to know if link at point was
 escaped or not in the first place).

Yes...

 Another idea would be to get rid of automatic hexification in all cases,
 and have more tolerant regexps for links.

This seems incertain.

Or maybe we can just live with the current problem.

-- 
 Bastien



Re: [O] Bug: HTML Export doesn't handle internal link with spaces [8.0.7 (8.0.7-6-g13cb28-elpa @ /home/jbalint/.emacs.d/elpa/org-20130812/)]

2014-01-03 Thread Bastien
Nicolas Goaziou n.goaz...@gmail.com writes:

 IMO, `org-insert-link' shouldn't hexify links in all situations (if at
 all).

Agreed.

We can first narrow the set of url-hexified links to those matching
`org-link-types-re' (http://, ftp://.)

 Anyway, I can't think of any satisfactory solution at the moment.

See patch.

Of course, there will still be some false positives, because
`org-link-types-re' comprises custom link types, but this is
a step in the right direction IMO.

diff --git a/lisp/org.el b/lisp/org.el
index f7a038e..20e6e33 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -9793,11 +9793,10 @@ according to FMT (default from `org-email-link-description-format').
 	 (not (equal link (org-link-escape link
 (setq description (org-extract-attributes link)))
   (setq link
-	(cond ((string-match (org-image-file-name-regexp) link) link)
-	  ((string-match org-link-types-re link)
+	(cond ((string-match org-link-types-re link)
 	   (concat (match-string 1 link)
 		   (org-link-escape (substring link (match-end 1)
-	  (t (org-link-escape link
+	  (t link)))
   (concat [[ link ]
 	  (if description (concat [ description ]) )
 	  ]))

-- 
 Bastien


Re: [O] Bug: HTML Export doesn't handle internal link with spaces [8.0.7 (8.0.7-6-g13cb28-elpa @ /home/jbalint/.emacs.d/elpa/org-20130812/)]

2014-01-03 Thread Nicolas Goaziou
Hello,

Bastien b...@gnu.org writes:

 See patch.

 Of course, there will still be some false positives, because
 `org-link-types-re' comprises custom link types, but this is
 a step in the right direction IMO.

Also, I think there will be a problem if an internal link contains
brackets. E.g, how to create an internal link to the following headline?

 * Some [headline]

Anyway, I agree this is a step in the right direction.


Regards,

-- 
Nicolas Goaziou



Re: [O] Bug: HTML Export doesn't handle internal link with spaces [8.0.7 (8.0.7-6-g13cb28-elpa @ /home/jbalint/.emacs.d/elpa/org-20130812/)]

2013-12-20 Thread Nicolas Goaziou
Hello,

Jess Balint jbal...@gmail.com writes:

 I've generated a link to a headline with `org-store-link' and
 `org-insert-link'. It's rendered into the Org file like so:

   [[*Headline%20with%Spaces][Headline with Spaces]]


[...]

 The problem is in `org-export-resolve-fuzzy-link' which get's the path
 directly from the link:

   (let* ((raw-path (org-element-property :path link))

 But at this point it has %20 in it which causes a problem when
 splitting it:

  ;; Split PATH at white spaces so matches are space
  ;; insensitive.
  (path (org-split-string
 (if match-title-p (substring raw-path 1) raw-path)))


Thank you for the report.

This bug exists because `org-insert-link' blindly url-hexifies links,
but nothing will unhexify it before it reaches an export back-end.

This is difficult to solve, because if you unhexify it, the very same
bug will occur on the other side (i.e. links you paste without using
`org-insert-link', which you don't want to unhexify).

IMO, `org-insert-link' shouldn't hexify links in all situations (if at
all).

Anyway, I can't think of any satisfactory solution at the moment.


Regards,

-- 
Nicolas Goaziou



[O] Bug: HTML Export doesn't handle internal link with spaces [8.0.7 (8.0.7-6-g13cb28-elpa @ /home/jbalint/.emacs.d/elpa/org-20130812/)]

2013-12-16 Thread Jess Balint

Remember to cover the basics, that is, what you expected to happen and
what in fact did happen.  You don't know how to make a good report?  See

 http://orgmode.org/manual/Feedback.html#Feedback

Your bug report will be posted to the Org-mode mailing list.


I've generated a link to a headline with `org-store-link' and
`org-insert-link'. It's rendered into the Org file like so:

  [[*Headline%20with%Spaces][Headline with Spaces]]

The HTML export renders this as an italic string (the last cond in the 
org-html-link function).

The HTML exporter gets a fuzzy link which is handled in this block:

 ;; Links pointing to a headline: Find destination and build
 ;; appropriate referencing command.
 ((member type '(custom-id fuzzy id))
  (let ((destination (if (string= type fuzzy)
 (org-export-resolve-fuzzy-link link info)
   (org-export-resolve-id-link link info

The problem is in `org-export-resolve-fuzzy-link' which get's the path
directly from the link:

  (let* ((raw-path (org-element-property :path link))

But at this point it has %20 in it which causes a problem when
splitting it:

 ;; Split PATH at white spaces so matches are space
 ;; insensitive.
 (path (org-split-string
(if match-title-p (substring raw-path 1) raw-path)))

This does nothing because there are no spaces in the string (they are
%20 here). The search for a headline matching this fails. I can solve
this here by doing:

 ;; Split PATH at white spaces so matches are space
 ;; insensitive.
 (path (org-split-string
(replace-regexp-in-string %20  
(if match-title-p (substring raw-path 1) raw-path

I'm not it's the proper solution though. Thanks.
Jess

Emacs  : GNU Emacs 24.3.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.8.2)
 of 2013-08-06 on -mnt-storage-buildroots-staging-x86_64-eric
Package: Org-mode version 8.0.7 (8.0.7-6-g13cb28-elpa @ 
/home/jbalint/.emacs.d/elpa/org-20130812/)

current state:
==
(setq
 org-tab-first-hook '(org-hide-block-toggle-maybe
  org-src-native-tab-command-maybe
  org-babel-hide-result-toggle-maybe
  org-babel-header-arg-expand)
 org-speed-command-hook '(org-speed-command-default-hook
  org-babel-speed-command-hook)
 org-occur-hook '(org-first-headline-recenter)
 org-metaup-hook '(org-babel-load-in-session-maybe)
 org-log-done 'time
 org-confirm-shell-link-function 'yes-or-no-p
 org-latex-format-headline-function 'org-latex-format-headline-default-function
 org-default-notes-file ~/Dropbox/important/org/notes.org
 org-after-todo-state-change-hook '(org-clock-out-if-current)
 org-src-mode-hook '(org-src-babel-configure-edit-buffer
 org-src-mode-configure-edit-buffer)
 org-agenda-before-write-hook '(org-agenda-add-entry-text)
 org-babel-pre-tangle-hook '(save-buffer)
 org-mode-hook '(#[nil \300\301\302\303\304$\207
   [org-add-hook change-major-mode-hook
org-show-block-all append local]
   5]
 #[nil \300\301\302\303\304$\207
   [org-add-hook change-major-mode-hook
org-babel-show-result-all append local]
   5]
 org-babel-result-hide-spec 
org-babel-hide-all-hashes
 (lambda nil (local-set-key a (quote 
org-agenda))
  (local-unset-key )
  (local-set-key 
   (function
(lambda nil (interactive)
 (if (oracle-elem-open) nil 
(org-open-at-point)))
)
   )
  (org-babel-do-load-languages
   (quote org-babel-load-languages) (quote 
((ditaa . t
  )
 )
 org-ctrl-c-ctrl-c-hook '(org-babel-hash-at-point
  
org-babel-execute-safely-maybe)
 org-directory ~/Dropbox/important/org
 org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers
  org-cycle-hide-inline-tasks 
org-cycle-show-empty-lines
  org-optimize-window-after-visibility-change)
 org-todo-keywords '((sequence TODO | DONE)
 (sequence | WAITING) (sequence | 
CANCELED))