就是类似
(when (maybe-require-package 'indent-guide)
(with-eval-after-load 'indent-guide
(diminish 'indent-guide-mode)))
能不能把这里的when
判断省了?
indent-guide-mode
是个可能没有安装的package。
就是类似
(when (maybe-require-package 'indent-guide)
(with-eval-after-load 'indent-guide
(diminish 'indent-guide-mode)))
能不能把这里的when
判断省了?
indent-guide-mode
是个可能没有安装的package。
想清楚你的目的,然后实现它,顺序不应该反过来。而且自己的配置不用面面俱到,保持简单。
不清楚 maybe-require-package
是什么?
你自己用还是不用 indent-guide
应该很清楚,考虑那么情况真有必要么?
我怎么记得purcell的maybe-require-package
有下载安装的功能啊
我的目的是
如果安装了
indent-guide
, 那么就执行(diminish 'indent-guide-mode)
即不让indent-guide-mode
显示在modeline上。
以及我的问题就在于我的很多需求总是会在很短的时间(以天计算)内就发生变化,所以我不可能不考虑这种冗余的事情……可能我上一刻觉得好就用了,而下一刻我又可能觉得烦人而扔掉。
另外maybe-require-package
照抄自purcell/emacs.d。
===============
PS: 我觉得我应该和心理医生聊聊……或者找个996甚至比996更忙的工作……这病就能治好
PPS: use-package
大法好……
估计把 when 去掉更符合你的要求,甚至可以:
(with-eval-after-load 'indent-guide
(diminish 'indent-guide-mode))
(maybe-require-package 'indent-guide)
对……其实我还是不想好好看源码……
eval-after-load
的机制我没闹明白……
用脚趾头想想都知道with-eval-after-load
在这个feature有没有load的时候都能工作(不会报错), 那放when里干啥…
因为我不明白with-eval-after-load
到底做了啥啊……
以及如果那个package是没装的状态,那么with-eval-after-load
不是在浪费时间么?
它就注册一下它里面的代码,又不执行,费不了什么时间……
总之是“声明”了嘛……毕竟不是“什么都不做”
那你的做法少了这个声明但是多了个when
的代价,很难说谁合算。但是这个决定的影响可以忽略,这是可以肯定的……
删掉 when 没有问题的,没有加载就不会执行。