Hi, I run into an issue lately while trying to use the hexl-mode with a modula2 file that I found and emacs starts to hang after the hexl-mode starts. I tested it on emacs 24.5, 25.2 and master. To reproduce the issue you can use : echo "abcd" > test.MOD emacs -Q --eval '(show-paren-mode 1)' test.MOD M-x hexl-mode --> emacs hangs and use 100% cpu. It only happen on the first character so we can run out the hang with multiple C-g + an arrow key. I dig into the issue and it appears that the was because of the show-paren-mode and the fact that the ":" character have meaning in modula-2-mode. Emacs is stuck in the loop of the m2-smie-refine-colon function because after the "00000000" that start the hexl buffer there is no more sexp to parse so the tok variable is empty but the (forward-sexp -1) call does not fail. I fixed that myself by stopping the loop if the point is at the beginning of the buffer. Not sure if it correct but here is the diff : diff --git a/lisp/progmodes/modula2.el b/lisp/progmodes/modula2.el index 582e495..30c8c46 100644 --- a/lisp/progmodes/modula2.el +++ b/lisp/progmodes/modula2.el @@ -203,6 +203,7 @@ m2-smie-refine-colon (while (not res) (let ((tok (smie-default-backward-token))) (cond + ((= (point) (point-min)) (setq res ":")) ((zerop (length tok)) (let ((forward-sexp-function nil)) (condition-case nil I am not really into modula2 files but this bug was quite surprising. best regards, Alexandre