summaryrefslogtreecommitdiff
path: root/lisp/textmodes
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2015-02-13 17:44:51 +0200
committerEli Zaretskii <eliz@gnu.org>2015-02-13 17:44:51 +0200
commitdecb48d3f73cc7db1604cd1276beef2b09a2f2ac (patch)
treec0f9a328f995cc06b68f78462d65eeefce7f378c /lisp/textmodes
parent8b3ba7ae659571897f270a657379dce38e59a718 (diff)
downloademacs-decb48d3f73cc7db1604cd1276beef2b09a2f2ac.tar.gz
emacs-decb48d3f73cc7db1604cd1276beef2b09a2f2ac.tar.bz2
emacs-decb48d3f73cc7db1604cd1276beef2b09a2f2ac.zip
Augment text-mode syntax table for a few special characters
lips/textmodes/text-mode.el (text-mode-syntax-table): Make some punctuation character behave as word-constituent, for more compatibility with Unicode.
Diffstat (limited to 'lisp/textmodes')
-rw-r--r--lisp/textmodes/text-mode.el17
1 files changed, 17 insertions, 0 deletions
diff --git a/lisp/textmodes/text-mode.el b/lisp/textmodes/text-mode.el
index 5f2f671993c..84b578b5059 100644
--- a/lisp/textmodes/text-mode.el
+++ b/lisp/textmodes/text-mode.el
@@ -45,6 +45,23 @@ Use (derived-mode-p 'text-mode) instead.")
(modify-syntax-entry ?\\ ". " st)
;; We add `p' so that M-c on 'hello' leads to 'Hello' rather than 'hello'.
(modify-syntax-entry ?' "w p" st)
+ ;; UAX #29 says HEBREW PUNCTUATION GERESH behaves like a letter
+ ;; for the purposes of finding word boundaries.
+ (modify-syntax-entry #x5f3 "w ") ; GERESH
+ ;; UAX #29 says HEBREW PUNCTUATION GERSHAYIM should not be a word
+ ;; boundary when surrounded by letters. Our infrastructure for
+ ;; finding a word boundary doesn't support 3-character
+ ;; definitions, so for now simply make this a word-constituent
+ ;; character. This leaves a problem of having GERSHAYIM at the
+ ;; beginning or end of a word, where it should be a boundary;
+ ;; FIXME.
+ (modify-syntax-entry #x5f4 "w ") ; GERSHAYIM
+ ;; These all should not be a word boundary when between letters,
+ ;; according to UAX #29, so they again are prone to the same
+ ;; problem as GERSHAYIM; FIXME.
+ (modify-syntax-entry #xb7 "w ") ; MIDDLE DOT
+ (modify-syntax-entry #x2027 "w ") ; HYPHENATION POINT
+ (modify-syntax-entry #xff1a "w ") ; FULLWIDTH COLON
st)
"Syntax table used while in `text-mode'.")