bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#572: thing-at-point 'url gets confused if url has paren


From: xah lee
Subject: bug#572: thing-at-point 'url gets confused if url has paren
Date: Fri, 18 Jul 2008 05:41:38 -0700


(thing-at-point 'url) gets confused if the url contains a
parenthesis such as in
http://en.wikipedia.org/wiki/Oz_(programming_language)

Note that, according to
 http://en.wikipedia.org/wiki/Percent-encoding

parenthesis in uri do not necessarily needs to be percent encoded, depending on the context the uri is used. Quote: «When a character from the reserved set (a "reserved character") has special meaning (a "reserved purpose") in a certain context, and a URI scheme says that it is necessary to use that character for some other purpose, then the character must be percent-encoded.»

But anyhow, practically speaking, often uri will contain parens. e.g. Wikipedia has lots of article with url containing paren, and in browser they are shown as paren, and this is often copied and pasted as is to editors.

the above should be the complete bug description.
The following are supplementary to this bug report.

--------------------------------------------
Here's a sample code

(defun wrap-url ()
  "Make the url at cursor point into a html link.

If there is a region, use the region as url instead.

This function is interface wrapper for `wrap-url-string'.
See that function for detail."
  (interactive)
  (let (bds p1 p2 url)
    (if (and transient-mark-mode mark-active)
        (progn
          (setq p1 (region-beginning))
          (setq p2 (region-end))
          )
      (progn
        (setq bds (bounds-of-thing-at-point 'url))
        (setq p1 (car bds))
        (setq p2 (cdr bds))
        )
      )

    (setq url (buffer-substring-no-properties p1 p2))
    (delete-region p1 p2)
    (goto-char p1)
    (insert (wrap-url-string url))
    )
  )

the error from the above code when the cursor is on the following line:
http://en.wikipedia.org/wiki/Oz_(programming_language)

is:
setq: Wrong type argument: integer-or-marker-p, nil

presumably because the boundary p1 or p2 is not a integer or marker.

-----------------

In GNU Emacs 22.2.1 (powerpc-apple-darwin8.11.0, Carbon Version 1.6.0)
 of 2008-04-05 on g5.tokyo.stp.isas.jaxa.jp
Windowing system distributor `Apple Inc.', version 10.4.11

  Xah
∑ http://xahlee.org/

☄


☄









reply via email to

[Prev in Thread] Current Thread [Next in Thread]