summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/lisp-mode.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/emacs-lisp/lisp-mode.el')
-rw-r--r--lisp/emacs-lisp/lisp-mode.el10
1 files changed, 9 insertions, 1 deletions
diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el
index ab6efd137e0..6b0a0b69c03 100644
--- a/lisp/emacs-lisp/lisp-mode.el
+++ b/lisp/emacs-lisp/lisp-mode.el
@@ -69,7 +69,15 @@
(modify-syntax-entry ?\( "() " emacs-lisp-mode-syntax-table)
(modify-syntax-entry ?\) ")( " emacs-lisp-mode-syntax-table)
(modify-syntax-entry ?\[ "(] " emacs-lisp-mode-syntax-table)
- (modify-syntax-entry ?\] ")[ " emacs-lisp-mode-syntax-table)))
+ (modify-syntax-entry ?\] ")[ " emacs-lisp-mode-syntax-table)
+ ;; All non-word multibyte characters should be `symbol'.
+ (map-char-table
+ (function (lambda (key val)
+ (and (>= key 256)
+ (/= (char-syntax key) ?w)
+ (modify-syntax-entry key "_ "
+ emacs-lisp-mode-syntax-table))))
+ (standard-syntax-table))))
(if (not lisp-mode-syntax-table)
(progn (setq lisp-mode-syntax-table