From decb48d3f73cc7db1604cd1276beef2b09a2f2ac Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 13 Feb 2015 17:44:51 +0200 Subject: [PATCH] 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. --- lisp/ChangeLog | 4 ++++ lisp/textmodes/text-mode.el | 17 +++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 9852068ed68..a7b6b1be92f 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,9 @@ 2015-02-13 Eli Zaretskii + * textmodes/text-mode.el (text-mode-syntax-table): Make some + punctuation character behave as word-constituent, for more + compatibility with Unicode. + * simple.el (transient-mark-mode): Doc fix. (Bug#19841) 2015-02-12 Agustín Martín Domingo 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'.") -- 2.11.4.GIT