平衡点
2024/05/10
_ 特定の文字列を含むRubyスクリプトをEmacsで開くと CPU100% で止まります
読んで字の如く.
きっかけはtmuxinator/tmuxinator.gemspecを開いた時だったんですが,
s.post_install_message = %q{
__________________________________________________________
..........................................................
Thank you for installing tmuxinator.
Make sure that you've set these variables in your ENV:
$EDITOR, $SHELL
You can run `tmuxinator doctor` to make sure everything is set.
Happy tmuxing with tmuxinator!
..........................................................
__________________________________________________________
}
でEmacsが固まりました.
もっと単純に
p %Q{__________________________________________________________}
でも固まりますね.
さて, どうしようかね. _ が悪さして無限ループしてるんだと思うんだけれど, どこかな…?
enh-ruby-mode
だと問題は発生しない様なので, とりあえず
(leaf enh-ruby-mode
:ensure t
:advice
(:override ruby-mode enh-ruby-mode))
とでもしておく.
はてさて.
2024/05/21
_ GnuPG が 2.2.43 に更新されて, Emacs の EasyPG でファイルが保存できなくなりました
なお, 読むのは OK です.
一応, レポートしておいたけれど, GnuPG >= 2.4.1 からのハマり所の模様で, GnuPG >= 2.4.4 で解決済ではあるものの, sid の GnuPG は 5/13 に 2.2.43 に更新されたばかりなのであった.
詳細: https://github.com/emacs-mirror/emacs/blob/master/etc/PROBLEMS を参照
Saving a file encrypted with GnuPG via EasyPG hangs.
This is known to happen with GnuPG v2.4.1. The only known workaround is to downgrade to a version of GnuPG older than 2.4.1, or upgrade to version 2.4.4 and newer, which reportedly solves the problem. Note that GnuPG v2.2.42 and later also has this problem, so you should also avoid those later 2.2.4x versions; v2.2.41 is reported to work fine.
GnuPG 側の Bug Report は https://dev.gnupg.org/T6481
一応
- experimental の gnupg を利用する(現時点では 2.4.5)
- snapshot.debian.org あたりから 2.2.40 のパッケージを探してインストールして hold しておく.
- 対称鍵暗号を使わないならば, g新部さんが投げてくれてる patch を epg.el に当てる
が workaround であろうか.
いやあ, 半日溶けた…Orz
GnuPG の方にも投げておいたり
_ 久々に esup を走らせたら
うーん?
init.el:5 0.007sec 91%
(eval-and-compile
(when load-file-name
(setq user-emacs-directory
(expand-file-name (file-name-directory load-file-name))))
(defconst my:d:share
(expand-file-name "share/" user-emacs-directory))
(defconst my:d:tmp
(expand-file-name ".cache/emacs/" (getenv "HOME")))
(defconst my:d:cache
(expand-file-name ".cache/" (getenv "HOME")))
(defconst my:d:org
(expand-file-name "~/Nextcloud/org")))
init.el:18 0.000sec 6%
(dolist (dir (let ((dir (expand-file-name "elisp" my:d:share)))
(list dir (format "%s%d" dir emacs-major-version))))
(when (and (stringp dir) (file-directory-p dir))
(let ((default-directory dir))
(add-to-list 'load-path default-directory)
(normal-top-level-add-subdirs-to-load-path))))
…ほんとか?