emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs-24 decb48d: Augment text-mode syntax table for a few


From: Eli Zaretskii
Subject: [Emacs-diffs] emacs-24 decb48d: Augment text-mode syntax table for a few special characters
Date: Fri, 13 Feb 2015 15:46:29 +0000

branch: emacs-24
commit decb48d3f73cc7db1604cd1276beef2b09a2f2ac
Author: Eli Zaretskii <address@hidden>
Commit: Eli Zaretskii <address@hidden>

    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(+), 0 deletions(-)

diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 9852068..a7b6b1b 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,9 @@
 2015-02-13  Eli Zaretskii  <address@hidden>
 
+       * 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 <address@hidden>
diff --git a/lisp/textmodes/text-mode.el b/lisp/textmodes/text-mode.el
index 5f2f671..84b578b 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'.")
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]