看起来“智能操作员”次要模式很有趣。.el 可以帮助 c 程序员添加包含某些类型的运算符的空格,例如将 'a+b' 转换为 'a + b'。我只是试了一下。除了以下问题,它运行良好。这是情况。
至于'-' 运算符,它可以用于'a - b' 和'-1','-ENOMEM' 的情况。Smart-operator 涵盖了第一个用例。但是,它不适用于后者。这是与这部分相关的代码。
(defun smart-operator-- ()
"See `smart-operator-insert'."
(interactive)
(cond ((and c-buffer-is-cc-mode (looking-back "\\- *"))
(when (looking-back "[a-zA-Z0-9_] +\\- *")
(save-excursion
(backward-char 2)
(delete-horizontal-space)))
(smart-operator-insert "-" 'middle)
(indent-according-to-mode))
(t
(smart-operator-insert "-"))))
我如何修改代码以使其与“-ENOMEM”案例一起使用?