emacs - 如何在 emacs 内部调用进程来启动 emacs,带参数

标签 emacs elisp

我希望 emacs 能够处理一些耗时的任务,而不阻塞输入。为此,我尝试了(其中插入的意思是用耗时的任务来代替)

(call-process "emacs" nil 0 nil "--eval=(insert \"a\")")

这有效。但是,当我想传递框架参数时,它不起作用:

(call-process "emacs" nil 0 nil "--geometry 30x5")

Emacs 显示“未知选项`--geometry 30x5”。

有什么想法可以使用调用进程来启动另一个具有精确帧大小的 emacs session 吗?谢谢!

最佳答案

听起来你可能想要 async.el ,它确实运行 Emacs 的附加实例来执行指定的处理。

(虽然我不确定您对可见框架的要求。)

点击链接了解所提供的所有其他功能的详细信息,但给出的最简单的使用示例(看起来可能适用)是:

(async-start
   ;; What to do in the child process
   (lambda ()
     (message "This is a test")
     (sleep-for 3)
     222)

   ;; What to do when it finishes
   (lambda (result)
     (message "Async process done, result should be 222: %s" result)))

关于emacs - 如何在 emacs 内部调用进程来启动 emacs,带参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21042984/

相关文章:

search - 在Emacs中,如何搜索整个文件?

list - 获取所有 Emacs 缓冲区的列表

haskell - intero-goto-definition 不包含库?

emacs - 在 transient 标记模式下如何在 elisp 中使区域 transient

Emacs -- 如何整合 :lighter(s) for minor modes

ruby - 如何将分配和散列的智能对齐添加到 emacs 中的缩进区域?

Emacs show-paren-mode + Evil

Emacs Lisp : How to sum odd numbers in a list?

lisp - 将二进制字符串转换为数字

json - 如何将庞大的 Elisp 数据结构转换为 JSON?