【问题标题】:emacs 23 on OS X: mailto links & calling compose-mail?OS X 上的 emacs 23:mailto 链接和调用 compose-mail?
【发布时间】:2010-09-26 04:32:25
【问题描述】:

我正在尝试 23.2 版本的 Cocoa Emacs 构建(OS X 10.6)。有个 Cocoa Emacs 比 了不起的 Carbon Emacs(我相信基于 Emacs 22 构建),所以我 希望人们可能有一些解决方案/想法(不幸的是发布 在 carbon-emacs 列表和 emacs-dev 上都没有产生有用的 回复,所以我想我会第一次尝试 Stack Overflow):

  • 在 Firefox 中,我可以设置 Preferences、Applications、mailto 内容 键入“使用 Emacs”。这曾经在 Carbon Emacs 中工作。现在当我 单击 Firefox mailto 链接,它将焦点更改为 Emacs,但 实际上并没有做任何事情。

    我的 .emacs 有以下内容,我猜这在 23 中不起作用。建议?

(setq 浏览 url 浏览器功能 '(("^http:" .browse-url-generic) ("^https:" .browse-url-generic) ("^mailto:" lambda (url &rest stuff) (compose-mail (7)))) ;; ("^mailto:" .browse-url-mail) ;;相同的行为 ("^file:.*\\.html?$" .w3m-browse-url)) )

【问题讨论】:

  • browse-url-browser-function 的文档说它最后一次更改是在 21.1 中,所以问题可能更深。如果您将 mailto:example@example.com 放入缓冲区然后浏览它(例如 M-x browse-url-at-point)会发生什么?
  • 正常工作。 (打开一个草稿窗口,在“收件人”行中有正确的地址。)

标签: emacs emacs23 carbon-emacs


【解决方案1】:

我怀疑 emacs 找不到它被告知打开的“文件”。在命令行上尝试几件事,看看会发生什么:

emacs mailto:example@example.com

应该只是打开emacs并茫然地盯着你。

emacs --eval '(browse-url "mailto:user@example.com")'

应该处理 url。

如果一切顺利,那么您需要在 firefox 调用它时包装一些东西(使用脚本,除非 FF 允许您使用 %s 替换指定命令行)。或者,您可以通过将 TRAMP 设置为了解 mailto: url 来使事情正常进行,但这似乎有点令人费解。

(现在我知道要查找什么了:您可能会发现 EmacsWiki:MailtoHandler 很有帮助。)

【讨论】:

  • $ /Applications/MacPorts/Emacs.app/Contents/MacOS/Emacs mailto://example@example.com 吐出消息“File /Users/username/mailto:/mailto:/example @example.com 在磁盘上是只读的。更改缓冲区模式?"
  • $ /Applications/MacPorts/Emacs.app/Contents/MacOS/Emacs --eval '(browse-url "mailto://user@example.com")' 工作正常(虽然它打开“//user@example.com”的草稿缓冲区;如果我使用“mailto:user@example.com”,它可以在没有 // 的情况下工作,哇!)。
  • 对流浪的 // 感到抱歉,我会把它从任何其他偶然发现它的人的答案中拉出来。
  • stackoverflow.com/questions/4170224/… 是一个后续问题,可能有助于在 Mac 上完成这项工作。
猜你喜欢
  • 1970-01-01
  • 2010-10-31
  • 2010-11-18
  • 1970-01-01
  • 2015-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多