bongo-devel
[Top][All Lists]
Advanced

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

Re: [bongo-devel] Re: Missing x-get-selection, m3u wish


From: Daniel Brockman
Subject: Re: [bongo-devel] Re: Missing x-get-selection, m3u wish
Date: Sat, 03 Feb 2007 19:17:29 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/23.0.51 (gnu/linux)

Dieter Deyke <address@hidden> writes:

> address@hidden (Daniel Jensen) writes:
>
>> Dieter Deyke <address@hidden> writes:
>>
>>> I am trying to use bongo-insert-uri on my emacs running natively on
>>> Windows XP, but do get a missing function error for x-get-selection.
>>> Could it be that the code using it is X windows specific?
>>
>> I think I found the bug, but I cannot test it myself. On MS Windows,
>> x-get-selection is redefined, but x-get-clipboard is not. Does this
>> patch fix the problem for you?
>>
>> --- bongo-old/bongo.el  2007-01-15 14:15:44.000000000 +0100
>> +++ bongo-new/bongo.el  2007-02-03 11:53:21.000000000 +0100
>> @@ -6171,7 +6171,7 @@
>>                       (let ((primary (x-get-selection)))
>>                         (and (bongo-uri-p primary) primary)))
>>                  (and (x-selection-exists-p 'CLIPBOARD)
>> -                     (let ((clipboard (x-get-clipboard)))
>> +                     (let ((clipboard (x-get-selection 'CLIPBOARD)))
>>                         (and (bongo-uri-p clipboard) clipboard)))))
>>            (uri
>>             (read-string (concat "Insert URI"
>>

[...]

> The patch now generates a different error:
>
> Debugger entered--Lisp error: (wrong-type-argument stringp nil)
>   
> string-match("\\(?:\\`\\([a-zA-Z]\\(?:\\(?:address@hidden&!*\"'(),]\\)\\|\\(?:%[[:xdigit:]]\\{2\\}\\)\\)+\\):\\)"
>  nil)
>   (if (string-match (eval-when-compile ...) file-name) (progn (match-string 1 
> file-name)))
>   (when (string-match (eval-when-compile ...) file-name) (match-string 1 
> file-name))
>   bongo-uri-scheme(nil)
>   (null (bongo-uri-scheme file-name))
>   (not (null (bongo-uri-scheme file-name)))
>   bongo-uri-p(nil)
>   (and (bongo-uri-p clipboard) clipboard)

[...]

Thank you.  I have installed the following patch:

diff -rN -u old-bongo/bongo.el new-bongo/bongo.el
--- old-bongo/bongo.el  2007-02-03 19:15:30.000000000 +0100
+++ new-bongo/bongo.el  2007-02-03 19:15:30.000000000 +0100
@@ -1771,8 +1771,9 @@
     (match-string 1 file-name)))
 
 (defun bongo-uri-p (file-name)
-  "Return non-nil if FILE-NAME is a URI."
-  (not (null (bongo-uri-scheme file-name))))
+  "Return non-nil if FILE-NAME is a URI.
+As a special case, return nil if FILE-NAME is nil."
+  (and file-name (not (null (bongo-uri-scheme file-name)))))
 
 (defun bongo-unescape-uri (uri)
   "Replace all occurences of `%HH' in URI by the character HH."
@@ -6192,7 +6193,9 @@
                      (let ((primary (x-get-selection)))
                        (and (bongo-uri-p primary) primary)))
                 (and (x-selection-exists-p 'CLIPBOARD)
-                     (let ((clipboard (x-get-clipboard)))
+                     (let ((clipboard (if (fboundp 'x-get-clipboard)
+                                          (x-get-clipboard)
+                                        (x-get-selection 'CLIPBOARD))))
                        (and (bongo-uri-p clipboard) clipboard)))))
           (uri
            (read-string (concat "Insert URI"
Please verify that this fixes your problem.

-- 
Daniel Brockman <address@hidden>

reply via email to

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