首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Emacs:如何设置存储在变量中的主模式?

Emacs:如何设置存储在变量中的主模式?
EN

Stack Overflow用户
提问于 2011-09-24 14:27:21
回答 1查看 651关注 0票数 0

假设我有一个变量newName,它有一些模式名,例如"python-mode"。如何使newName指定的模式的当前缓冲区?

代码语言:javascript
复制
(progn
  (let (newName)
    (setq newName "python-mode")
    (newName) ;; doesn't work! It doesn't set current buffer's mode to be a python mode.
  )
)

这也不起作用:

代码语言:javascript
复制
(set-variable 'major-mode "python-mode")

这个问题是根本的--因为它等于“真的有可能将数据作为lisp中的代码处理吗?”

编辑

@phils

你的解决方案对我没用。我复制一个缓冲区--我希望新的缓冲区具有与旧缓冲区相同的模式。因此,我将原始缓冲区的模式存储在变量中。然后尝试应用你的解决方案。它会产生错误(这是本质--我省略了缓冲区复制的内容):

代码语言:javascript
复制
(let (sameMode)
  (setq sameMode major-mode)
  (funcall (intern sameMode))
)

sameMode在这里以“python”的形式存储模式(例如python)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-24 14:59:32

代码语言:javascript
复制
(let ((mode "python-mode"))
  (funcall (intern mode)))

代码语言:javascript
复制
(let ((mode 'python-mode))
  (funcall mode))
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7539615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档