【发布时间】:2018-12-21 00:42:40
【问题描述】:
这是我要解决的问题: 将一段文本转换成字符串数据结构,供elisp程序进行后续处理。挑战在于
- 我想在不影响区域选择的情况下交互式地执行一个 elisp 程序
- 将字符串值存储到一个变量中,以便我可以进一步操作它。
据我了解,区域由标记和随后的光标位置定义。我通常在 *scratch* 缓冲区中执行 elisp 程序。此外,该区域也在 *scratch* 缓冲区中。
但是要编写函数调用并在缓冲区中执行它,我需要将光标从文本选择(区域)的末尾移开,以便编写
的程序
(setq grabbed (buffer-substring-no-properties (region-beginning) (region-end)))
但随后选择区域会因光标移动而改变。
所以我想知道如何在保持选择不变的同时执行 elisp 程序,并且仍然可以访问返回值。
【问题讨论】:
-
我认为你应该根据你想要发生的事情来重写你的问题(用户执行的确切步骤以及你想要发生的响应)而不是你的想法如何你需要实现它。正如所写,我只是不明白。
-
感谢您的反馈!我已经简化了我的问题陈述。
-
目前还不清楚,对我来说你想做什么。您显示的代码中没有“光标移动”,也不清楚为什么光标移动“为了编写程序”,甚至您如何尝试“编写程序”。也许试着给出你正在尝试的一步一步的食谱,从
emacs -Q(没有初始化文件)开始,然后说出你在每一步看到的内容以及你期望看到的内容。