Python中文
首页
教程
问答
标签
搜索
登录
注册
Emacs:更改Python.el派生mod中的缩进
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我试图从Python.el(当前官方GNUOne)对于Boo和我来说,改变缩进有困难。有人对如何最好地处理这个问题有什么建议吗?我不需要彻底改变任何东西,只是添加一些新的块形式和东西。在</p> <p>例如,由于这是用于Boo的,try/except语法使用“确保”而不是“finally”。我可以很容易地在Python.el通过更改pythonrx组件的块启动def。但是,我似乎无法在派生模式中覆盖它,因为pythonrx组件随后被宏pythonrx使用,我想一旦这两个东西被定义,当Python.el加载(因为我是从它派生出来的),我不能再在加载后或在钩子中覆盖它?因为我在记忆里和之后的一段时间里都改变了Python.el在后加载语句中加载和,但它们都不起作用。直接改变Python.el工作正常。在</p> <p>这是有问题的代码Python.el公司名称:</p> <pre><code>(eval-when-compile (defconst python-rx-constituents `((block-start . ,(rx symbol-start (or "def" "class" "if" "elif" "else" "try" "except" "finally" "for" "while" "with" ) symbol-end)) (decorator . ,(rx line-start (* space) ?@ (any letter ?_) (* (any word ?_)))) (defun . ,(rx symbol-start (or "def" "class") symbol-end)) (if-name-main . ,(rx line-start "if" (+ space) "__name__" (+ space) "==" (+ space) (any ?' ?\") "__main__" (any ?' ?\") (* space) ?:)) (symbol-name . ,(rx (any letter ?_) (* (any word ?_)))) (open-paren . ,(rx (or "{" "[" "("))) (close-paren . ,(rx (or "}" "]" ")"))) (simple-operator . ,(rx (any ?+ ?- ?/ ?& ?^ ?~ ?| ?* ?< ?> ?= ?%))) ;; FIXME: rx should support (not simple-operator). (not-simple-operator . ,(rx (not (any ?+ ?- ?/ ?& ?^ ?~ ?| ?* ?< ?> ?= ?%)))) ;; FIXME: Use regexp-opt. (operator . ,(rx (or "+" "-" "/" "&" "^" "~" "|" "*" "<" ">" "=" "%" "**" "//" "<<" ">>" "<=" "!=" "==" ">=" "is" "not"))) ;; FIXME: Use regexp-opt. (assignment-operator . ,(rx (or "=" "+=" "-=" "*=" "/=" "//=" "%=" "**=" ">>=" "<<=" "&=" "^=" "|="))) (string-delimiter . ,(rx (and ;; Match even number of backslashes. (or (not (any ?\\ ?\' ?\")) point ;; Quotes might be preceded by a escaped quote. (and (or (not (any ?\\)) point) ?\\ (* ?\\ ?\\) (any ?\' ?\"))) (* ?\\ ?\\) ;; Match single or triple quotes of any kind. (group (or "\"" "\"\"\"" "'" "'''")))))) "Additional Python specific sexps for `python-rx'") (defmacro python-rx (&rest regexps) "Python mode specialized rx macro. This variant of `rx' supports common python named REGEXPS." (let ((rx-constituents (append python-rx-constituents rx-constituents))) (cond ((null regexps) (error "No regexp")) ((cdr regexps) (rx-to-string `(and ,@regexps) t)) (t (rx-to-string (car regexps) t)))))) </code></pre> <p>我想更改pythonrx的组成部分,以便块start包含“确保”而不是finally。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>如前所述,在这里使用派生模式是不合适的:不能反向更改宏。另外,重新定义它是不推荐的:加载/评估的顺序将决定哪一个是有效的-在更大的规模意味着陷入混乱。在</p> <p>复制文件,存储为boo.el公司,将前缀替换为“boo-”,重新加载并编辑需要更改的内容。在</p> <p>你的担心在IMO看来是没有道理的,因为允许复制、更改和重新发布更改后的代码是GPL的核心。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在乒乓球比赛中预测球的轨迹,对于AI球拍预测?
5 回答
如何在乒乓球游戏中阻止球
1 回答
如何在乘法和模中不乘空间?
1 回答
如何在乘法和除以2个不同的数字之间进行交换?
8 回答
如何在也是数据一部分的单个字符上拆分大字符串
7 回答
如何在乾草堆中找到針,有更好的解決方案嗎?
2 回答
如何在事件wxWidgets中传递自定义数据
8 回答
如何在事件中使用lambda i=i?
7 回答
如何在事件中心只接收最近的数据
7 回答
如何在事件发生之前保持云函数运行?
5 回答
如何在事件发生后使页面重定向到同一页面
10 回答
如何在事件回调之间保持python生成器的状态
5 回答
如何在事件处理程序(pythonsocket、sphinx)中保留docstring
10 回答
如何在事件处理程序中更改wxRichTextCtrl的光标位置?
4 回答
如何在事件处理程序中访问外部对象?
3 回答
如何在事件循环中将协程打包为正常函数?
4 回答
如何在事件循环之外运行协同程序?
1 回答
如何在事件循环结束时为并发未来的所有线程调用类方法?
7 回答
如何在事件文件中只保留一份摘要?
8 回答
如何在事件模板中添加事件
6 回答