GNU bug report logs - #19622
25.0.50; Spell checking and Unicode don't mix...

Previous Next

Package: emacs;

Reported by: "Perry E. Metzger" <perry <at> piermont.com>

Date: Sun, 18 Jan 2015 21:51:02 UTC

Severity: wishlist

Tags: wontfix

Found in version 25.0.50

Done: Stefan Kangas <stefan <at> marxist.se>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 19622 in the body.
You can then email your comments to 19622 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#19622; Package emacs. (Sun, 18 Jan 2015 21:51:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Perry E. Metzger" <perry <at> piermont.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Sun, 18 Jan 2015 21:51:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: "Perry E. Metzger" <perry <at> piermont.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 25.0.50; Spell checking and Unicode don't mix...
Date: Sat, 17 Jan 2015 20:55:33 -0500
Say you're using a mode (like typopunct) which automatically inserts
"proper" Unicode close single quote marks while you're typing. You
then would spell "hadn't" as "hadn’t", say.

Say you're also using flyspell mode (or even normal ispell checks).

"hadn’t" will then be flagged as misspelled, mostly because none of
the tools seem to understand that "’" is the same as "'" under the
circumstances.

It would be really handy if the spell checker was happy with either.


In GNU Emacs 25.0.50.1 (x86_64-apple-darwin14.0.0, NS appkit-1343.16
Version 10.10.1 (Build 14B25)) of 2015-01-08 on
jabberwock.cb.piermont.com Repository revision:
5fbd17e369ca30a47ab8a2eda0b2f2ea9b690bb4 Windowing system distributor
`Apple', version 10.3.1343 Configured using:
 `configure --with-ns --without-dbus --without-compress-install'

Configured features:
ACL GNUTLS LIBXML2 ZLIB

Important settings:
  value of $LANG: C
  locale-coding-system: utf-8-unix

Major mode: Info

Minor modes in effect:
  global-hl-line-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t

Recent messages:
Ruby: ruby-2.1.2 Gemset: global
Loading /Users/perry/pkg/emacs/ProofGeneral/generic/proof-site.el
(source)...done For information about GNU Emacs and the GNU system,
type C-h C-a. Starting new Ispell process /opt/local/bin/aspell with
default dictionary... Composing main Info directory...done
Mark saved where search started

Load-path shadows:
/Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ox
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ox-texinfo
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-texinfo /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ox-publish
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-publish /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ox-org
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-org /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ox-odt
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-odt /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ox-md
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-md /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ox-man
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-man /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ox-latex
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-latex /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ox-icalendar
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-icalendar /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ox-html
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-html /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ox-beamer
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-beamer /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ox-ascii
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-ascii /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-w3m
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-w3m /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-version
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-version /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-timer
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-timer /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-table
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-table /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-src
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-src /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-rmail
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-rmail /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-protocol
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-protocol /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-plot
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-plot /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-pcomplete
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-pcomplete /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-mouse
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-mouse /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-mobile
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-mobile /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-mhe
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-mhe /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-macs
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-macs /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-macro
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-macro /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-loaddefs
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-loaddefs /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-list
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-list /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-irc
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-irc /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-install
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-install /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-inlinetask
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-inlinetask /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-info
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-info /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-indent
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-indent /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-id
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-id /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-habit
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-habit /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-gnus
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-gnus /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-footnote
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-footnote /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-feed
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-feed /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-faces
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-faces /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-eshell
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-eshell /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-entities
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-entities /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-element
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-element /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-docview
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-docview /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-datetree
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-datetree /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-ctags
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-ctags /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-crypt
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-crypt /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-compat
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-compat /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-colview
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-colview /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-clock
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-clock /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-capture
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-capture /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-bibtex
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-bibtex /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-bbdb
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-bbdb /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-attach
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-attach /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-archive
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-archive /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/org-agenda
hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-agenda /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-tangle
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-tangle /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-table
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-table /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-sqlite
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-sqlite /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-sql
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-sql /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-shen
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-shen /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-sh
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-sh /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-screen
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-screen /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-scheme
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-scheme /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-scala
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-scala /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-sass
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-sass /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-ruby
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-ruby /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-ref
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-ref /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-R
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-R /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-python
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-python /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-plantuml
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-plantuml /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-picolisp
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-picolisp /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-perl
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-perl /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-org
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-org /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-octave
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-octave /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-ocaml
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-ocaml /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-mscgen
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-mscgen /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-maxima
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-maxima /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-matlab
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-matlab /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-makefile
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-makefile /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-lob
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-lob /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-lisp
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-lisp /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-lilypond
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-lilypond /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-ledger
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-ledger /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-latex
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-latex /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-keys
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-keys /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-js
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-js /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-java
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-java /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-io
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-io /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-haskell
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-haskell /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-gnuplot
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-gnuplot /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-fortran
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-fortran /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-exp
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-exp /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-eval
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-eval /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-emacs-lisp
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-emacs-lisp /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-dot
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-dot /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-ditaa
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-ditaa /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-css
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-css /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-core
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-core /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-comint
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-comint /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-clojure
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-clojure /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-calc
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-calc /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-C
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-C /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-awk
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-awk /Users/perry/.emacs.d/elpa/org-plus-contrib-20131111/ob-asymptote
hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-asymptote
~/pkg/emacs/zenirc-example hides
~/pkg/emacs/zenirc-2.112/src/zenirc-example

Features:
(shadow sort gnus-util mail-extr emacsbug message dired format-spec
rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util help-fns mail-prsvr mail-utils misearch multi-isearch flyspell
ispell proof-site proof-autoloads pg-vars rvm cl-macs cl gv
cl-loaddefs cl-lib typopunct tabbar easy-mmode hl-line info easymenu
package epg-config time-date tooltip eldoc electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel ns-win tool-bar dnd
fontset image regexp-opt fringe tabulated-list newcomment elisp-mode
lisp-mode prog-mode register page menu-bar rfn-eshadow timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame
cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet
lao korean japanese hebrew greek romanian slovak czech european
ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook
help simple abbrev minibuffer nadvice loaddefs button faces cus-face
macroexp files text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget hashtable-print-readable backquote
make-network-process cocoa ns multi-tty emacs)

Memory information:
((conses 16 131402 5582)
 (symbols 48 21593 0)
 (miscs 40 72 259)
 (strings 32 24622 4611)
 (string-bytes 1 688036)
 (vectors 16 12880)
 (vector-slots 8 412425 2982)
 (floats 8 72 55)
 (intervals 56 3579 15)
 (buffers 976 13))

-- 
Perry E. Metzger		perry <at> piermont.com




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#19622; Package emacs. (Mon, 19 Jan 2015 03:36:02 GMT) Full text and rfc822 format available.

Message #8 received at 19622 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: "Perry E. Metzger" <perry <at> piermont.com>
Cc: 19622 <at> debbugs.gnu.org
Subject: Re: bug#19622: 25.0.50; Spell checking and Unicode don't mix...
Date: Mon, 19 Jan 2015 05:35:18 +0200
> Date: Sat, 17 Jan 2015 20:55:33 -0500
> From: "Perry E. Metzger" <perry <at> piermont.com>
> 
> 
> Say you're using a mode (like typopunct) which automatically inserts
> "proper" Unicode close single quote marks while you're typing. You
> then would spell "hadn't" as "hadn’t", say.
> 
> Say you're also using flyspell mode (or even normal ispell checks).
> 
> "hadn’t" will then be flagged as misspelled, mostly because none of
> the tools seem to understand that "’" is the same as "'" under the
> circumstances.
> 
> It would be really handy if the spell checker was happy with either.

It's up to the speller, so it isn't an Emacs problem/bug/issue.  The
characters that are word constituent are stated in the .aff file for
the language you use, and they come with the speller (and are tailored
to what the speller does and doesn't know about the word structure).
Emacs cannot fix that.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#19622; Package emacs. (Mon, 19 Jan 2015 13:16:01 GMT) Full text and rfc822 format available.

Message #11 received at 19622 <at> debbugs.gnu.org (full text, mbox):

From: "Perry E. Metzger" <perry <at> piermont.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 19622 <at> debbugs.gnu.org
Subject: Re: bug#19622: 25.0.50; Spell checking and Unicode don't mix...
Date: Mon, 19 Jan 2015 08:15:01 -0500
On Mon, 19 Jan 2015 05:35:18 +0200 Eli Zaretskii <eliz <at> gnu.org> wrote:
> > Say you're using a mode (like typopunct) which automatically
> > inserts "proper" Unicode close single quote marks while you're
> > typing. You then would spell "hadn't" as "hadn’t", say.
> > 
> > Say you're also using flyspell mode (or even normal ispell
> > checks).
> > 
> > "hadn’t" will then be flagged as misspelled, mostly because none
> > of the tools seem to understand that "’" is the same as "'" under
> > the circumstances.
> > 
> > It would be really handy if the spell checker was happy with
> > either.
> 
> It's up to the speller, so it isn't an Emacs problem/bug/issue.  The
> characters that are word constituent are stated in the .aff file for
> the language you use, and they come with the speller (and are
> tailored to what the speller does and doesn't know about the word
> structure). Emacs cannot fix that.

Emacs could replace punctuation on its way down the pipe to
the inferior process if it wishes to as a stop gap. The number of
changes needed is small (so far as I know, more or less just the one.)

Perry
-- 
Perry E. Metzger		perry <at> piermont.com




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#19622; Package emacs. (Mon, 19 Jan 2015 16:21:01 GMT) Full text and rfc822 format available.

Message #14 received at 19622 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: "Perry E. Metzger" <perry <at> piermont.com>
Cc: 19622 <at> debbugs.gnu.org
Subject: Re: bug#19622: 25.0.50; Spell checking and Unicode don't mix...
Date: Mon, 19 Jan 2015 18:20:11 +0200
> Date: Mon, 19 Jan 2015 08:15:01 -0500
> From: "Perry E. Metzger" <perry <at> piermont.com>
> Cc: 19622 <at> debbugs.gnu.org
> 
> > It's up to the speller, so it isn't an Emacs problem/bug/issue.  The
> > characters that are word constituent are stated in the .aff file for
> > the language you use, and they come with the speller (and are
> > tailored to what the speller does and doesn't know about the word
> > structure). Emacs cannot fix that.
> 
> Emacs could replace punctuation on its way down the pipe to
> the inferior process if it wishes to as a stop gap.

Wouldn't some users object to such replacements?  They could mask
mis-spelled words.

Also, how would Emacs know that the replacement will DTRT with the
speller which is being used?  Each speller has its own capabilities
and rules wrt word morphology.  These are described by the .aff files,
but Emacs is too dumb to understand those rules; the only thing it
knows is how to fetch WORDCHARS and non-WORDCHARS from there.

IOW, I'm not at all sure this is a problem that Emacs could and should
fix.  Why not report it upstream to the developers of the speller you
use?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#19622; Package emacs. (Mon, 19 Jan 2015 21:45:02 GMT) Full text and rfc822 format available.

Message #17 received at 19622 <at> debbugs.gnu.org (full text, mbox):

From: "Perry E. Metzger" <perry <at> piermont.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 19622 <at> debbugs.gnu.org
Subject: Re: bug#19622: 25.0.50; Spell checking and Unicode don't mix...
Date: Mon, 19 Jan 2015 16:44:08 -0500
On Mon, 19 Jan 2015 18:20:11 +0200 Eli Zaretskii <eliz <at> gnu.org> wrote:
> > Date: Mon, 19 Jan 2015 08:15:01 -0500
> > From: "Perry E. Metzger" <perry <at> piermont.com>
> > Cc: 19622 <at> debbugs.gnu.org
> > 
> > > It's up to the speller, so it isn't an Emacs
> > > problem/bug/issue.  The characters that are word constituent
> > > are stated in the .aff file for the language you use, and they
> > > come with the speller (and are tailored to what the speller
> > > does and doesn't know about the word structure). Emacs cannot
> > > fix that.
> > 
> > Emacs could replace punctuation on its way down the pipe to
> > the inferior process if it wishes to as a stop gap.
> 
> Wouldn't some users object to such replacements?  They could mask
> mis-spelled words.

Then make it a knob the user can configure in their init file.

> Also, how would Emacs know that the replacement will DTRT with the
> speller which is being used?

The user can decide on their own if it does what they want. No need
to make such a thing the default or mandatory, it is sufficient if a
hook exists for the purpose for those that want to use it.

> IOW, I'm not at all sure this is a problem that Emacs could and
> should fix.  Why not report it upstream to the developers of the
> speller you use?

I may do that as well, but there's nothing wrong with having more
than one way to get around the problem, and releases of the spell
checkers commonly used by emacs users are sometimes many years apart.

-- 
Perry E. Metzger		perry <at> piermont.com




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#19622; Package emacs. (Tue, 20 Jan 2015 03:34:02 GMT) Full text and rfc822 format available.

Message #20 received at 19622 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: "Perry E. Metzger" <perry <at> piermont.com>
Cc: 19622 <at> debbugs.gnu.org
Subject: Re: bug#19622: 25.0.50; Spell checking and Unicode don't mix...
Date: Tue, 20 Jan 2015 05:32:50 +0200
> Date: Mon, 19 Jan 2015 16:44:08 -0500
> From: "Perry E. Metzger" <perry <at> piermont.com>
> Cc: 19622 <at> debbugs.gnu.org
> 
> On Mon, 19 Jan 2015 18:20:11 +0200 Eli Zaretskii <eliz <at> gnu.org> wrote:
> > > Date: Mon, 19 Jan 2015 08:15:01 -0500
> > > From: "Perry E. Metzger" <perry <at> piermont.com>
> > > Cc: 19622 <at> debbugs.gnu.org
> > > 
> > > > It's up to the speller, so it isn't an Emacs
> > > > problem/bug/issue.  The characters that are word constituent
> > > > are stated in the .aff file for the language you use, and they
> > > > come with the speller (and are tailored to what the speller
> > > > does and doesn't know about the word structure). Emacs cannot
> > > > fix that.
> > > 
> > > Emacs could replace punctuation on its way down the pipe to
> > > the inferior process if it wishes to as a stop gap.
> > 
> > Wouldn't some users object to such replacements?  They could mask
> > mis-spelled words.
> 
> Then make it a knob the user can configure in their init file.
> 
> > Also, how would Emacs know that the replacement will DTRT with the
> > speller which is being used?
> 
> The user can decide on their own if it does what they want. No need
> to make such a thing the default or mandatory, it is sufficient if a
> hook exists for the purpose for those that want to use it.
> 
> > IOW, I'm not at all sure this is a problem that Emacs could and
> > should fix.  Why not report it upstream to the developers of the
> > speller you use?
> 
> I may do that as well, but there's nothing wrong with having more
> than one way to get around the problem, and releases of the spell
> checkers commonly used by emacs users are sometimes many years apart.

If you can propose a patch, we can consider it.  TIA.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#19622; Package emacs. (Fri, 01 Nov 2019 23:47:01 GMT) Full text and rfc822 format available.

Message #23 received at 19622 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Kangas <stefan <at> marxist.se>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 19622 <at> debbugs.gnu.org, "Perry E. Metzger" <perry <at> piermont.com>
Subject: Re: bug#19622: 25.0.50; Spell checking and Unicode don't mix...
Date: Sat, 02 Nov 2019 00:46:21 +0100
tags 19622 + wontfix
close 19622
thanks

Eli Zaretskii <eliz <at> gnu.org> writes:

>> Date: Mon, 19 Jan 2015 08:15:01 -0500
>> From: "Perry E. Metzger" <perry <at> piermont.com>
>> Cc: 19622 <at> debbugs.gnu.org
>> 
>> > It's up to the speller, so it isn't an Emacs problem/bug/issue.  The
>> > characters that are word constituent are stated in the .aff file for
>> > the language you use, and they come with the speller (and are
>> > tailored to what the speller does and doesn't know about the word
>> > structure). Emacs cannot fix that.
>> 
>> Emacs could replace punctuation on its way down the pipe to
>> the inferior process if it wishes to as a stop gap.
>
> Wouldn't some users object to such replacements?  They could mask
> mis-spelled words.
>
> Also, how would Emacs know that the replacement will DTRT with the
> speller which is being used?  Each speller has its own capabilities
> and rules wrt word morphology.  These are described by the .aff files,
> but Emacs is too dumb to understand those rules; the only thing it
> knows is how to fetch WORDCHARS and non-WORDCHARS from there.
>
> IOW, I'm not at all sure this is a problem that Emacs could and should
> fix.  Why not report it upstream to the developers of the speller you
> use?

I agree with Eli here, and I'm consequently closing this as wontfix.

If anyone disagrees with that, and feels that Emacs should indeed do
something differently, feel free to reopen the bug.

Best regards,
Stefan Kangas




Added tag(s) wontfix. Request was from Stefan Kangas <stefan <at> marxist.se> to control <at> debbugs.gnu.org. (Fri, 01 Nov 2019 23:47:02 GMT) Full text and rfc822 format available.

bug closed, send any further explanations to 19622 <at> debbugs.gnu.org and "Perry E. Metzger" <perry <at> piermont.com> Request was from Stefan Kangas <stefan <at> marxist.se> to control <at> debbugs.gnu.org. (Fri, 01 Nov 2019 23:47:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 30 Nov 2019 12:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 4 years and 119 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.