GNU bug report logs -
#10494
24.0.92; Syntax table and non-ASCII character interaction
Previous Next
Reported by: Aaron Ecay <aaronecay <at> gmail.com>
Date: Fri, 13 Jan 2012 08:42:01 UTC
Severity: wishlist
Tags: confirmed, notabug
Merged with 13129,
30815
Found in versions 24.0.92, 24.1, 25.1, 26.0.91
Done: npostavs <at> users.sourceforge.net
Bug is archived. No further changes may be made.
Full log
Message #21 received at 10494 <at> debbugs.gnu.org (full text, mbox):
> From: npostavs <at> users.sourceforge.net
> Date: Wed, 10 Aug 2016 20:29:05 -0400
> Cc: 10494 <at> debbugs.gnu.org
>
> I confirm this is still the case in 25.1-rc1.
>
> Aaron Ecay <aaronecay <at> gmail.com> writes:
> >
> > This bug relates to setting a non-ASCII character punctuation character
> > (U+2019, which is ’) to have word syntax, and using word-motion
> > commands. Here’s a recipe from emacs -Q:
> >
> > M-x text-mode
> > don't
> > C-a M-f
> > -> (as expected, the cursor moves to the end of the line)
> > RET RET
> > don M-x ucs-insert 2019 t
>
> This should now use insert-char (C-x 8 RET) instead of ucs-insert.
>
> > -> (text in buffer: "don’t")
> > C-a M-f
> > -> (cursor is on the quotation mark, as expected)
> > M-: (modify-syntax-entry ?’ "w" text-mode-syntax-table)
> > C-a M-f
> > -> (BUG: cursor is on quotation mark, which should count as part of the word)
> >
> > If you re-run the experiment substituting - for ’ everywhere, there is a
> > difference in behavior – the cursor moves to the end of the line after
> > the call to modify-syntax-entry, as expected. This leads me to think
> > that the problem has to do with ’ being outside the ASCII charset.
Indeed. This is a feature: we don't let word-movement commands to
cross into a different script. IOW, if
(aref char-script-table C1)
and
(aref char-script-table C2)
return different values, then we decide that there's a word boundary
between C1 and C2. See the function word_boundary_p, which is called
from scan_words.
Maybe we should document this somewhere, like the ELisp manual.
This bug report was last modified 7 years and 64 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.