【问题标题】:How do I use defjump in emacs lisp to jump to a function in a file?如何在 emacs lisp 中使用 defjump 跳转到文件中的函数?
【发布时间】:2013-03-17 23:25:54
【问题描述】:

我想做的是,当我在一个来源线上时,例如:<a href="foo.html">foo</a>

我按下“跳转”键,它应该匹配href="foo.html" 并打开文件c:/project/root/templates/foo.html

我找到了jump.el(emacs 24 中的包 'jump')并正在尝试让defjump 工作:

(require 'jump)
(defjump
  'my-follow-ref
  '(("href=\"\\1\"" . "templates/\\1"))
  "c:/project/root/"
  "Follow a logical link from one part of the source to another.")

我的代码基于帮助中的示例,但我遇到了一个非常基本的 emacs lisp 错误:

mapcar: Wrong type argument: listp, quote

我做错了什么?

【问题讨论】:

    标签: emacs elisp emacs24


    【解决方案1】:

    emacs 24 源代码树中没有jump.el,google 也无济于事,但是,我想,您的问题是不必要的引用:defjump 可能是一个宏。

    这很有可能会奏效:

    (defjump
      my-follow-ref
      (("href=\"\\1\"" . "templates/\\1"))
      "c:/project/root/"
      "Follow a logical link from one part of the source to another.")
    

    【讨论】:

    • 对我来说,jump.el 只是在list-packages 中显示为“jump”,我正在使用 Emacs Prelude,所以它可以在另一个 repo 中?
    • 你是对的,删除额外的引用已经修复了类型错误。我确定我尝试了引号、文字等的所有排列,但也许我没有一次全部完成!
    猜你喜欢
    • 2011-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多