;;; elisp-mode.el ...
(defun elisp--preceding-sexp ()
"Return sexp before the point."
...
;; When after a named character literal, skip over the entire
;; literal, not only its last word.
(when (= (preceding-char) ?})
(let ((begin (save-excursion
(backward-char)
(skip-syntax-backward "w-")
(backward-char 3)
(when (looking-at-p "\\\\N{") (point)))))
(when begin (goto-char begin))))
It indeed skips...
I think this code snippet is written for ?\N{...}
syntax, and it assumes that users always evaluate proper forms.
Fixed:
;; (backward-char 3)
(backward-char 4)
;; (when (looking-at-p "\\\\N{") (point)))))
(when (looking-at-p "\\?\\\\N{") (point)))))
;; (when begin (goto-char begin))))
(when begin (goto-char (1+ begin)))))