• emacs autopair与graphvizdotmode之间的冲突


         - 问题描述
         autopair一般情况下都会开启(autopair-global-mode);; enable autopair in all buffers.
         也就是在所有主模式下都能使用autopair的功能,但是当装了graphviz-dot-mode插件的时候,emacs只要打开.dot等关联graphviz-dot-mode的文件的时候,就会出现
         "Error in post-command-hook: (wrong-type-argument characterp nil)"
         这种错误,而且之后emacs的很多功能都不能正常使用,不停的提示上述的错误。
         - 解决经过
         网上查阅了相关资料,在google上也有人反映了autopair与sldb-mode之间也有上述的问题存在。
         (`autopair-dont-activate' in slime's problematic `sldb-mode',http://code.google.com/p/autopair/issues/detail?id=32),
         对于这个问题的解决也只是在sldb-mode中屏蔽了autopair。解决方法如下:
         (set-default 'autopair-dont-activate #'(lambda () (eq major-mode 'sldb-mode)))
         - 问题解决方法
           效仿google上对sldb-mode与autopair的冲突解决方法。处理autopair与graphviz-dot-mode的时候在配置文件中加入下面的elisp语句即可。

           (set-default 'autopair-dont-activate #'(lambda () (eq major-mode 'graphviz-dot-mode)))  
           总结
           我个人认为,autopair在设置了globle-mode后,注入了默写函数,使得打开所有文件都有autopair的特性,而sldb和graphviz的模式恰好又对那个注入的函数进行了某种操作导致了问题的发生。貌似想得太浅了。。。。记录下问题,方便以后翻阅。

    最新解决方法:(setq graphviz-dot-mode-syntax-table (syntax-table))

    这样可以使用autopair mode

  • 相关阅读:
    strace排除Linux服务器故障
    详解如何在linuxmint上用源码包安装nodejs
    linux 安装nodejs
    使用Vue实现购物车功能
    Vue项目中使用better-scroll
    vue项目中使用axios发送ajax
    在VUE的项目中使用字体图标以及Stylus
    Vue在使用组件中的一些需要记住的点
    Vue简易动画实现和使用animate.css库
    使用Vue.js进行数据绑定以及父子组件传值
  • 原文地址:https://www.cnblogs.com/csophys/p/2389504.html
Copyright © 2020-2023  润新知