Subject: bug#24405: 24.5; Possibly ``forward-word`` doesn't respect ``word-combining-categories`` for word boundaries on changing between latin/phonetic scripts.

From: Oleksandr Gavenko <[email-masked]>
Date: Sat, 10 Sep 2016 11:33:45 +0300

Evaluate following form by C-x C-e:

  (let ((word-combining-categories '((?l . ?y) (?y . ?l) (?l . ?l)))
        (word-separating-categories nil))
    (forward-word))

  HelloПривLLжɪəʊheləʊaiɪa

My pointer stopped between ʊh.

I have:

  (aref char-script-table ?ʊ) phonetic
  (aref char-script-table ?h) latin
  (aref char-script-table ?ж) cyrillic

  (category-set-mnemonics (char-category-set ?ʊ)) ".Ljl"
  (category-set-mnemonics (char-category-set ?h)) ".Lalr"

  (category-docstring ?y) "Cyrillic"
  (category-docstring ?l) "Latin"

I expect that point moved to last character before new line.

Seems that:

  (?l . ?y) (?y . ?l)

has effect because pointer moved across Cyrillic/Latin and Cyrillic/Phonetic
scripts but refused to move through Latin/Phonetic scripts.

If it is intended behavior how will I make Emacs to move across Latin/Phonetic
scripts?

See also:

  http://emacs.stackexchange.com/questions/21131/does-word-syntax-take-script-into-account

In GNU Emacs 24.5.1 (x86_64-pc-linux-gnu, GTK+ Version 3.18.6)
 of 2016-01-22 on binet, modified by Debian
Windowing system distributor `The X.Org Foundation', version 11.0.11803000
System Description:	Debian GNU/Linux testing (stretch)

-- 
http://defun.work/