(defun request-url-as-org (url)
(interactive "sRequest url: ")
(require 'shrface)
(require 'request)
(request url
:parser 'buffer-string
:headers '(("User-Agent" . "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36"))
:sync nil
:success (cl-function
(lambda (&key data &allow-other-keys)
(let ((shrface-request-url url))
(shrface-html-export-as-org data))))))
这段代码,在异步函数中使用了 url
变量,但每次执行都会报错:
(void-variable url)
该怎么写就不会有这个问题? emacs 版本是 29.1, 不知道是不是版本太旧?
我用了一个很丑陋的方式就是让 url 设置一个全局变量 tmp-url, 然后异步函数读 tmp-url, 可以 work, 但这个方式很丑陋,有没有更好的写法?