elisp

    4热度

    1回答

    我发现buffer-has-markers-at至少会告诉我们标记是否指向某个位置,但不仅仅是它自24.3开始已经被标记为废弃,它还没有提供一种实际获得标记对象的方法。 看看the C source,我可以看到buffer to buffer_text结构指向Lisp_marker结构的单向链表,但我找不到任何Elisp函数来访问它们。另外,还有a related thread from 1999

    1热度

    2回答

    我使用,一个静态站点生成器,以.org文件为基础提供html个人wiki或知识库。 Pelican中内部内容的链接使用语法{filename}/path/to/file。但是,由于我使用的是emacs组织模式,因此我也希望能够按照组织模式跟踪这些链接。我希望有一个简单的函数可以编写,这样可以让组织模式遵循这样的链接并打开相关文件,而不会影响Pelican使用内部链接语法。我怀疑这可能是通过org-

    0热度

    2回答

    我写了一个函数,它可以接受任何类型的任意数量的参数,并且它可以打印参数的名称和值。该功能按预期工作。但我不喜欢函数调用要求我传递如此的价值报价(my-message 'emacs-version 'emacs-copyright)。我想简化为(my-message emacs-version emacs-copyright)。因此我使用宏来重写函数。 (defmacro my-message (&

    3热度

    3回答

    目前我正在研究一种elisp主要模式,它使跨会话使用哈希表。所以每次主模式被初始化时,表格都被加载到内存中。在会议期间和会议结束时,他们被写入一个文件。通过读 (with-temp-buffer (prin1 hash-table (current-buffer)) (write-file ("path/to/file.el")))) 加载在会议开始时,数据等做是这样的:我

    2热度

    1回答

    当我在emacs会话中第一次切换全局调试模式并尝试执行一段无效lisp时,会弹出backtrace窗口。但是,如果关闭此窗口并删除回溯缓冲区,然后尝试执行另一条无效的elisp,则不会再创建回溯缓冲区,也不会弹出窗口。我仔细查看了手册,试图弄清楚为什么发生这种情况无济于事,任何帮助都会大有裨益。

    0热度

    1回答

    如何做这样的事情:自动执行命令(split-window-right)(follow-mode)(visual-line-mode)打开文件后。

    1热度

    1回答

    我有一个双重的问题和希望从这里的专家的意见。 1)在某些代码的语法分析中,我需要存储供以后使用的组件。我现在考虑将它们存储为属性列表(一个独立的列表,不是包含代码的字符串),因为这对我来说似乎是一种滥用,尽管它很方便。这是否违反所有公约或合理的方式来处理这种情况? 2)我无法在(let ...)语句中创建属性列表。 这工作: (setq x "BAR") (setq pl `(bar ,x))

    1热度

    1回答

    几年后我一直试图切换到Emacs,但是每当我设置MELPA并尝试从我的.init安装软件包时.el,我得到这个错误。 基本上,package-compute-transaction似乎在软件包名称的末尾添加了一个破折号,阻止它在存储库中找到。使用M-x软件包安装手动安装软件包可以正常工作。 我init.el(目前准系统): ;; init.el -- Emacs config ;; MELPA

    0热度

    1回答

    我想区分评论。 在elisp模式下,我想要string突出显示在;;! string中。 (font-lock-add-keywords 'emacs-lisp-mode '((";;!\\(.*\\)\\\n" 0 'my-important-comment-face))) 然而,它不是有效的。

    0热度

    2回答

    我有这样 (cl-defun foo (a b c d e &rest f) nil) 参数c,d和e功能是时间nil 80%。 为了使它看起来更好,我这样做: (cl-defun foo (a b &rest f &key c d e &allow-other-keys) nil) 当不提供c,d和e,它的罚款。 但是,如果使用其中之一,f会得到错误的参数。 例如: