[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[O] Re: [Orgmode] IMPORTANT Modified link escaping in Org mode
From: |
David Maus |
Subject: |
[O] Re: [Orgmode] IMPORTANT Modified link escaping in Org mode |
Date: |
Sun, 13 Mar 2011 17:04:48 +0100 |
User-agent: |
Wanderlust/2.15.9 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (Gojō) APEL/10.8 Emacs/23.2 (i486-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) |
At Sun, 13 Mar 2011 14:37:05 +0100,
Michael Brand wrote:
>
> Hi David
>
> The current version of dmaus/org-check-percent-escapes from Worg
> http://orgmode.org/worg/org-hacks.html#check-old-link-escapes
> loops forever in the outer while when used on a one line Org buffer
> containing just [[http://www.orgmode.org]] except I hack something
> like (goto-char end) behind the inner while. What am I doing wrong?
> Did anybody else have this issue?
Sorry, my fault. Forgot to move point forward after matching a link.
I pushed this fixed version to Worg:
#+begin_src emacs-lisp
(defun dmaus/org-check-percent-escapes ()
"*Check buffer for possibly problematic old link escapes."
(interactive)
(when (eq major-mode 'org-mode)
(let ((old-escapes '("%20" "%5B" "%5D" "%E0" "%E2" "%E7" "%E8" "%E9"
"%EA" "%EE" "%F4" "%F9" "%FB" "%3B" "%3D" "%2B")))
(unless (boundp 'warning-suppress-types)
(setq warning-suppress-types nil))
(widen)
(show-all)
(goto-char (point-min))
(while (re-search-forward org-any-link-re nil t)
(let ((end (match-end 0)))
(goto-char (match-beginning 0))
(while (re-search-forward "%[0-9a-zA-Z]\\{2\\}" end t)
(let ((escape (match-string-no-properties 0)))
(unless (member (upcase escape) old-escapes)
(warn "Found unknown percent escape sequence %s at buffer %s,
position %d"
escape
(buffer-name)
(- (point) 3)))))
(goto-char end))))))
#+end_src
Best,
-- David
--
OpenPGP... 0x99ADB83B5A4478E6
Jabber.... address@hidden
Email..... address@hidden
pgpLW3HLqhjAQ.pgp
Description: PGP signature