unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#12768: 24.1; flyspell highlights words which ispell accepts
@ 2012-10-30 13:23 Reuben Thomas
  2012-10-31 12:26 ` Agustin Martin
  2012-10-31 12:31 ` Agustin Martin
  0 siblings, 2 replies; 15+ messages in thread
From: Reuben Thomas @ 2012-10-30 13:23 UTC (permalink / raw)
  To: 12768

For example, "executable's" is highlighted by flyspell, but
ispell-buffer ignores it.


In GNU Emacs 24.1.1 (x86_64-pc-linux-gnu, GTK+ Version 2.24.12)
 of 2012-09-22 on batsu, modified by Debian
Windowing system distributor `The X.Org Foundation', version 11.0.11300000
Configured using:
 `configure '--build' 'x86_64-linux-gnu' '--build' 'x86_64-linux-gnu'
 '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib'
 '--localstatedir=/var/lib' '--infodir=/usr/share/info'
 '--mandir=/usr/share/man' '--with-pop=yes'
 '--enable-locallisppath=/etc/emacs24:/etc/emacs:/usr/local/share/emacs/24.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.1/site-lisp:/usr/share/emacs/site-lisp'
 '--with-crt-dir=/usr/lib/x86_64-linux-gnu' '--with-x=yes'
 '--with-x-toolkit=gtk' '--with-toolkit-scroll-bars'
 'build_alias=x86_64-linux-gnu' 'CFLAGS=-g -O2 -fstack-protector
 --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall -O2'
 'CPPFLAGS=-D_FORTIFY_SOURCE=2''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: en_GB.UTF-8
  value of $LC_NUMERIC: en_GB.UTF-8
  value of $LC_TIME: en_GB.UTF-8
  value of $LANG: en_GB.UTF-8
  value of $XMODIFIERS: @im=none
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Lua

Minor modes in effect:
  TeX-PDF-mode: t
  flyspell-mode: t
  recentf-mode: t
  show-paren-mode: t
  server-mode: t
  savehist-mode: t
  minibuffer-electric-default-mode: t
  iswitchb-mode: t
  icomplete-mode: t
  global-auto-revert-mode: t
  desktop-save-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
c o u n t <backspace> t e r - i n t u i i t i <backspace> 
<backspace> <backspace> t i v e l y SPC a n d SPC a 
n o <backspace> n o y i n g l y . M-q <return> <return> 
I S-SPC s u m p a <backspace> <backspace> <backspace> 
<backspace> y m p a t h i s e SPC w i t h SPC t h e 
SPC <backspace> <backspace> i s SPC f r o m SPC a SPC 
p r o g r a m m <C-backspace> <C-backspace> t h e SPC 
p o i n t SPC o f SPC v i e w SPC o f SPC t h e SPC 
u n d e r l y i n g SPC c o d e C-q ' s SPC s t r u 
c t u r e , SPC b u t SPC i t ' s <backspace> <backspace> 
C-q ' s SPC o d d SPC SPC <backspace> f r o m SPC a 
SPC u i s <backspace> <backspace> s <backspace> s e 
r - i n t e r a c e SPC <backspace> <backspace> <backspace> 
<backspace> f a c e SPC p o i o n t SPC o f <backspace> 
<backspace> <backspace> <backspace> <backspace> <backspace> 
n t SPC o f SPC v i e w . M-q C-c C-c y e s <return> 
M-x C-g <help-echo> <down-mouse-1> <mouse-1> <double-down-mouse-1> 
<double-mouse-1> <down-mouse-1> <mouse-1> M-x r e p 
[ o r t <backspace> <backspace> <backspace> <backspace> 
r e t - <backspace> <backspace> <backspace> <backspace> 
o r t - b <backspace> e m , a c s <backspace> <backspace> 
<backspace> <backspace> a c s - b u f <return> <backspace> 
g <return>

Recent messages:
Checking 24 files in /usr/share/emacs/24.1/lisp/cedet...
Checking 57 files in /usr/share/emacs/24.1/lisp/calendar...
Checking 87 files in /usr/share/emacs/24.1/lisp/calc...
Checking 65 files in /usr/share/emacs/24.1/lisp/obsolete...
Checking 1 files in /usr/share/emacs/24.1/leim...
Checking for load-path shadows...done
Auto-saving...done
Sending...
Sending via mail...
Sending...done
Quit

Load-path shadows:
/home/rrt/local/share/emacs/site-lisp/browse-kill-ring hides /usr/share/emacs24/site-lisp/emacs-goodies-el/browse-kill-ring
/home/rrt/local/share/emacs/site-lisp/dict hides /usr/share/emacs24/site-lisp/emacs-goodies-el/dict
/home/rrt/.emacs.d/elpa/dictionary-1.8.7/dictionary-init hides /usr/share/emacs24/site-lisp/dictionary-el/dictionary-init
/home/rrt/.emacs.d/elpa/dictionary-1.8.7/dictionary hides /usr/share/emacs24/site-lisp/dictionary-el/dictionary
/home/rrt/.emacs.d/elpa/dictionary-1.8.7/link hides /usr/share/emacs24/site-lisp/dictionary-el/link
/home/rrt/.emacs.d/elpa/dictionary-1.8.7/connection hides /usr/share/emacs24/site-lisp/dictionary-el/connection
/usr/share/emacs/site-lisp/golang-mode/go-mode-load hides /usr/share/emacs/24.1/site-lisp/golang-mode/go-mode-load
/usr/share/emacs/site-lisp/golang-mode/go-mode hides /usr/share/emacs/24.1/site-lisp/golang-mode/go-mode
/usr/share/emacs/24.1/site-lisp/cmake-data/cmake-mode hides /usr/share/emacs/site-lisp/cmake-mode
/usr/share/emacs/24.1/site-lisp/cdargs hides /usr/share/emacs/site-lisp/cdargs
/usr/share/emacs/site-lisp/rst hides /usr/share/emacs/24.1/lisp/textmodes/rst
/usr/share/emacs24/site-lisp/dictionaries-common/ispell hides /usr/share/emacs/24.1/lisp/textmodes/ispell
/usr/share/emacs24/site-lisp/dictionaries-common/flyspell hides /usr/share/emacs/24.1/lisp/textmodes/flyspell

Features:
(newcomment shadow sort gnus-util mail-extr emacsbug message 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 mail-prsvr mail-utils find-func help-mode view etags preview
prv-emacs info reporter tex-buf font-latex latex tex-style tex noutline
outline sh-script executable multi-isearch make-mode cperl-mode cc-mode
cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars
cc-defs autoconf autoconf-mode flymake compile vc-git face-remap
flyspell smart-quotes lua-mode comint ansi-color ring
auto-dictionary-autoloads c-eldoc-autoloads dictionary-autoloads
diff-git-autoloads dired-isearch-autoloads full-ack-autoloads
guess-style-autoloads kill-ring-search-autoloads magit-autoloads
mv-shell-autoloads tumble-autoloads http-post-simple-autoloads package
tabulated-list completing-help recentf tree-widget wid-edit uniquify
regexp-opt paren server savehist minibuf-eldef iswitchb icomplete
autorevert desktop cus-start cus-load ropemacs pymacs ispell
user-site-loaddefs advice advice-preload yasnippet help-fns derived
edmacro kmacro easymenu assoc cl muse-autoloads go-mode-load
emacs-goodies-el emacs-goodies-custom emacs-goodies-loaddefs easy-mmode
preview-latex tex-site auto-loads time-date tooltip ediff-hook vc-hooks
lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image fringe
lisp-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 loaddefs button faces cus-face files text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process dbusbind
dynamic-setting system-font-setting font-render-setting move-toolbar gtk
x-toolkit x multi-tty emacs)

-- 
http://rrt.sc3d.org/





^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#12768: 24.1; flyspell highlights words which ispell accepts
  2012-10-30 13:23 bug#12768: 24.1; flyspell highlights words which ispell accepts Reuben Thomas
@ 2012-10-31 12:26 ` Agustin Martin
  2012-10-31 12:31 ` Agustin Martin
  1 sibling, 0 replies; 15+ messages in thread
From: Agustin Martin @ 2012-10-31 12:26 UTC (permalink / raw)
  To: 12768

On Tue, Oct 30, 2012 at 01:23:12PM +0000, Reuben Thomas wrote:
> For example, "executable's" is highlighted by flyspell, but
> ispell-buffer ignores it.

Cannot reproduce here, both ispell-buffer and flyspell reject the word witn
en_US aspell dict.

Tried with emacs-snapshot and normal Debian emacs24.

-- 
Agustin





^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#12768: 24.1; flyspell highlights words which ispell accepts
  2012-10-30 13:23 bug#12768: 24.1; flyspell highlights words which ispell accepts Reuben Thomas
  2012-10-31 12:26 ` Agustin Martin
@ 2012-10-31 12:31 ` Agustin Martin
  2012-10-31 12:35   ` Reuben Thomas
  2012-10-31 16:01   ` Glenn Morris
  1 sibling, 2 replies; 15+ messages in thread
From: Agustin Martin @ 2012-10-31 12:31 UTC (permalink / raw)
  To: 12768, Reuben Thomas

[Sorry, replied directly to bug-gnu-emacs@gnu.org instead of 12768@debbugs.gnu.org]

On Tue, Oct 30, 2012 at 01:23:12PM +0000, Reuben Thomas wrote:
> For example, "executable's" is highlighted by flyspell, but
> ispell-buffer ignores it.

Cannot reproduce here, both ispell-buffer and flyspell reject the word with
en_US aspell dict.

Tried with emacs-snapshot and normal Debian emacs24.

-- 
Agustin





^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#12768: 24.1; flyspell highlights words which ispell accepts
  2012-10-31 12:31 ` Agustin Martin
@ 2012-10-31 12:35   ` Reuben Thomas
  2012-10-31 14:53     ` Agustin Martin
  2012-10-31 16:01   ` Glenn Morris
  1 sibling, 1 reply; 15+ messages in thread
From: Reuben Thomas @ 2012-10-31 12:35 UTC (permalink / raw)
  To: Agustin Martin; +Cc: 12768

[-- Attachment #1: Type: text/plain, Size: 1183 bytes --]

In that case, it seems my customizations are relevant:

 '(ispell-local-dictionary "british+accs")
 '(ispell-program-name "/usr/bin/aspell")

and

(setq ispell-local-dictionary-alist
      (append ispell-local-dictionary-alist
              '(("british+accs"         ; British version
                 "[[:alpha:]]"
                 "[^[:alpha:]]"
                 "[-'‘’]"
                 nil
                 ("-B" "-d" "en_GB")
                 nil
                 utf-8))))

Note that the only point of these customizations is to allow the use of
accented letters and curly quotes in English words.


On 31 October 2012 12:31, Agustin Martin <agustin.martin@hispalinux.es>wrote:

> [Sorry, replied directly to bug-gnu-emacs@gnu.org instead of
> 12768@debbugs.gnu.org]
>
> On Tue, Oct 30, 2012 at 01:23:12PM +0000, Reuben Thomas wrote:
> > For example, "executable's" is highlighted by flyspell, but
> > ispell-buffer ignores it.
>
> Cannot reproduce here, both ispell-buffer and flyspell reject the word with
> en_US aspell dict.
>
> Tried with emacs-snapshot and normal Debian emacs24.
>
> --
> Agustin
>



-- 
http://rrt.sc3d.org

[-- Attachment #2: Type: text/html, Size: 2033 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#12768: 24.1; flyspell highlights words which ispell accepts
  2012-10-31 12:35   ` Reuben Thomas
@ 2012-10-31 14:53     ` Agustin Martin
  2012-10-31 15:20       ` Reuben Thomas
  0 siblings, 1 reply; 15+ messages in thread
From: Agustin Martin @ 2012-10-31 14:53 UTC (permalink / raw)
  To: 12768, Reuben Thomas

[-- Attachment #1: Type: text/plain, Size: 1429 bytes --]

On Wed, Oct 31, 2012 at 12:35:20PM +0000, Reuben Thomas wrote:
> In that case, it seems my customizations are relevant:
> 
>  '(ispell-local-dictionary "british+accs")
>  '(ispell-program-name "/usr/bin/aspell")
> 
> and
> 
> (setq ispell-local-dictionary-alist
>       (append ispell-local-dictionary-alist
>               '(("british+accs"         ; British version
>                  "[[:alpha:]]"
>                  "[^[:alpha:]]"
>                  "[-'??]"
>                  nil
>                  ("-B" "-d" "en_GB")
>                  nil
>                  utf-8))))
> 
> Note that the only point of these customizations is to allow the use of
> accented letters and curly quotes in English words.

You no longer need to make this kind of things to use accented letters for
standard entries under aspell or hunspell, [:alpha:] will be used as
default for them (but not for stuff in `ispell-local-dictionary-alist' where
user choice is honoured).

On the other hand, aspell en.dat only contains ['] as allowed wordchars, 
adding other separators here (in .emacs) may trigger some errors about
different character maps when invoking ispell-word.

aspell seems to internally deal with the explicit acute accent similarly to
', so adding it seems to be OK here.

Apart from that, seems I still get similar results for ispell-buffer and
flyspell with your entry. Please find attached the file I used for tests,

-- 
Agustin

[-- Attachment #2: test-12768.txt --]
[-- Type: text/plain, Size: 159 bytes --]

executive's 
executable's 

auto-bahn

auto'bahn

fromá 

auto‘bahn auto’bahn 

; Local Variables:
; mode: flyspell
; coding: utf-8
; End:

^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#12768: 24.1; flyspell highlights words which ispell accepts
  2012-10-31 14:53     ` Agustin Martin
@ 2012-10-31 15:20       ` Reuben Thomas
  2012-10-31 20:17         ` Reuben Thomas
  0 siblings, 1 reply; 15+ messages in thread
From: Reuben Thomas @ 2012-10-31 15:20 UTC (permalink / raw)
  To: Agustin Martin; +Cc: 12768

[-- Attachment #1: Type: text/plain, Size: 243 bytes --]

Thanks very much for the details. I shall investigate; in particular, I
believe that I was told that I didn't need the customization any longer
before and found that to be false, but it's certainly worth another look.

-- 
http://rrt.sc3d.org

[-- Attachment #2: Type: text/html, Size: 342 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#12768: 24.1; flyspell highlights words which ispell accepts
  2012-10-31 12:31 ` Agustin Martin
  2012-10-31 12:35   ` Reuben Thomas
@ 2012-10-31 16:01   ` Glenn Morris
  1 sibling, 0 replies; 15+ messages in thread
From: Glenn Morris @ 2012-10-31 16:01 UTC (permalink / raw)
  To: Agustin Martin; +Cc: 12768

Agustin Martin wrote:

> [Sorry, replied directly to bug-gnu-emacs@gnu.org instead of 12768@debbugs.gnu.org]

Although the latter form of address is generally better, the former is
indistinguishable if you have a recognizable "Re: bug#123" in the
subject (which you did).





^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#12768: 24.1; flyspell highlights words which ispell accepts
  2012-10-31 15:20       ` Reuben Thomas
@ 2012-10-31 20:17         ` Reuben Thomas
  2012-10-31 21:31           ` Agustin Martin
  0 siblings, 1 reply; 15+ messages in thread
From: Reuben Thomas @ 2012-10-31 20:17 UTC (permalink / raw)
  To: Agustin Martin; +Cc: 12768

[-- Attachment #1: Type: text/plain, Size: 683 bytes --]

On 31 October 2012 15:20, Reuben Thomas <rrt@sc3d.org> wrote:

> Thanks very much for the details. I shall investigate; in particular, I
> believe that I was told that I didn't need the customization any longer
> before and found that to be false, but it's certainly worth another look.
>

I have switched to the built-in "british" setting for
ispell-local-dictionary, and when I now try to ispell-buffer the file for
which I reported the bug I get an alignment error:

ispell-process-line: Ispell misalignment: word `dnl' point 1227; probably
incompatible versions

If I ispell-word the word that before seemed to pass the check, it is
queried as expected.

-- 
http://rrt.sc3d.org

[-- Attachment #2: Type: text/html, Size: 1192 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#12768: 24.1; flyspell highlights words which ispell accepts
  2012-10-31 20:17         ` Reuben Thomas
@ 2012-10-31 21:31           ` Agustin Martin
  2012-10-31 21:50             ` Reuben Thomas
  0 siblings, 1 reply; 15+ messages in thread
From: Agustin Martin @ 2012-10-31 21:31 UTC (permalink / raw)
  To: 12768, Reuben Thomas

2012/10/31 Reuben Thomas <rrt@sc3d.org>:
> On 31 October 2012 15:20, Reuben Thomas <rrt@sc3d.org> wrote:
>>
>> Thanks very much for the details. I shall investigate; in particular, I
>> believe that I was told that I didn't need the customization any longer
>> before and found that to be false, but it's certainly worth another look.
>
>
> I have switched to the built-in "british" setting for
> ispell-local-dictionary, and when I now try to ispell-buffer the file for
> which I reported the bug I get an alignment error:
>
> ispell-process-line: Ispell misalignment: word `dnl' point 1227; probably
> incompatible versions
>
> If I ispell-word the word that before seemed to pass the check, it is
> queried as expected.

ispell-word and ispell-buffer use different methods. For efficiency
reasons ispell-buffer is not a loop of ispell-word calls but uses
ispell-process-line and deals with lines.

For a long time I did not see misalignment errors for Emacs+aspell
(basically after communication was switched to utf-8) and I thought
this was really fixed. They happened when spellchecking utf-8 files
with a dictionary with unibyte encoding and using unibyte
communication, when the file has a char that cannot be represented
in the unibyte encoding.

Can you please provide a minimal example file showing this problem?

Also, please have a look at how the spellchecking process is started
(relevant entry in 'ps -aux' call from a console) in case there is
something strange there.

Thanks for your feedback,

-- 
Agustin





^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#12768: 24.1; flyspell highlights words which ispell accepts
  2012-10-31 21:31           ` Agustin Martin
@ 2012-10-31 21:50             ` Reuben Thomas
  2012-11-01  0:10               ` Agustin Martin
  0 siblings, 1 reply; 15+ messages in thread
From: Reuben Thomas @ 2012-10-31 21:50 UTC (permalink / raw)
  To: Agustin Martin; +Cc: 12768


[-- Attachment #1.1: Type: text/plain, Size: 530 bytes --]

On 31 October 2012 21:31, Agustin Martin <agustin.martin@hispalinux.es>wrote:

>
> Can you please provide a minimal example file showing this problem?
>

Attached. I visit the file, switch to autoconf-mode, and run ispell-buffer.
Without switching to autoconf-mode, I don't get the error.


>
> Also, please have a look at how the spellchecking process is started
> (relevant entry in 'ps -aux' call from a console) in case there is
> something strange there.
>

/usr/bin/aspell -a -m -B --encoding=utf-8

-- 
http://rrt.sc3d.org

[-- Attachment #1.2: Type: text/html, Size: 1192 bytes --]

[-- Attachment #2: foo --]
[-- Type: application/octet-stream, Size: 66 bytes --]



dnl ------------------------------- RELOCATABILITY ------------

^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#12768: 24.1; flyspell highlights words which ispell accepts
  2012-10-31 21:50             ` Reuben Thomas
@ 2012-11-01  0:10               ` Agustin Martin
  2012-11-01  0:55                 ` Reuben Thomas
                                   ` (2 more replies)
  0 siblings, 3 replies; 15+ messages in thread
From: Agustin Martin @ 2012-11-01  0:10 UTC (permalink / raw)
  To: 12768, Reuben Thomas; +Cc: agustin.martin

2012/10/31 Reuben Thomas <rrt@sc3d.org>:
>
> On 31 October 2012 21:31, Agustin Martin <agustin.martin@hispalinux.es>
> wrote:
>>
>>
>> Can you please provide a minimal example file showing this problem?
>
>
> Attached. I visit the file, switch to autoconf-mode, and run ispell-buffer.
> Without switching to autoconf-mode, I don't get the error.

Thanks for the info,

Really strange. With your steps I can even reproduce the problem with
something as simple as

dnl -- D

If I add something before dnl  I still get the problem.

sdfdsfsdnl -- D

IIf I either break the double dash (no double dashes at all) or the
dnl or remove the "D" after the dashes problem disappear

dfnl -- D
dnl - - D
dnl --

autotest-mode.el is a small file, but II  do not see any hint about
what is happening here. Seems to do something strange with double
dashes associated with dnl, but I am absolutely clueless, help
welcome.
>>
>> Also, please have a look at how the spellchecking process is started
>> (relevant entry in 'ps -aux' call from a console) in case there is
>> something strange there.
>
> /usr/bin/aspell -a -m -B --encoding=utf-8

While probably unrelated, this should have a "-d en_GB" part. I am
reproducing this problem with other dicts as well as with your
british+accs entry, so this seems not the main problem.

Dirty workaround in the meantime, avoid double dashes and try something like

dnl - - - - Hi, whatever I want to add here

But I really wonder what is happening here.

-- 
Agustin





^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#12768: 24.1; flyspell highlights words which ispell accepts
  2012-11-01  0:10               ` Agustin Martin
@ 2012-11-01  0:55                 ` Reuben Thomas
  2012-11-01 14:44                 ` Eli Zaretskii
       [not found]                 ` <24814310.2560.1351781107917.JavaMail.root@mx1-new.spamfiltro.es>
  2 siblings, 0 replies; 15+ messages in thread
From: Reuben Thomas @ 2012-11-01  0:55 UTC (permalink / raw)
  To: Agustin Martin; +Cc: 12768, agustin.martin

[-- Attachment #1: Type: text/plain, Size: 392 bytes --]

On 1 November 2012 00:10, Agustin Martin <agustin.martin@hispalinux.es>wrote:

> >
> > /usr/bin/aspell -a -m -B --encoding=utf-8
>
> While probably unrelated, this should have a "-d en_GB" part.


I was running with emacs -Q, so unless emacs uses my locale to determine
the default dictionary, wouldn't it have omitted that argument?

Thanks also for the workaround.

-- 
http://rrt.sc3d.org

[-- Attachment #2: Type: text/html, Size: 818 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#12768: 24.1; flyspell highlights words which ispell accepts
  2012-11-01  0:10               ` Agustin Martin
  2012-11-01  0:55                 ` Reuben Thomas
@ 2012-11-01 14:44                 ` Eli Zaretskii
  2012-11-02  1:19                   ` Agustin Martin
       [not found]                 ` <24814310.2560.1351781107917.JavaMail.root@mx1-new.spamfiltro.es>
  2 siblings, 1 reply; 15+ messages in thread
From: Eli Zaretskii @ 2012-11-01 14:44 UTC (permalink / raw)
  To: Agustin Martin; +Cc: 12768, agustin.martin, rrt

> Date: Thu, 1 Nov 2012 01:10:11 +0100
> From: Agustin Martin <agustin.martin@hispalinux.es>
> Cc: agustin.martin@upm.es
> 
> Really strange. With your steps I can even reproduce the problem with
> something as simple as
> 
> dnl -- D
> 
> If I add something before dnl  I still get the problem.
> 
> sdfdsfsdnl -- D
> 
> IIf I either break the double dash (no double dashes at all) or the
> dnl or remove the "D" after the dashes problem disappear
> 
> dfnl -- D
> dnl - - D
> dnl --
> 
> autotest-mode.el is a small file, but II  do not see any hint about
> what is happening here. Seems to do something strange with double
> dashes associated with dnl, but I am absolutely clueless, help
> welcome.

If you step through ispell-region, you will see that it goes bananas
because ispell-skip-region-alist has "--+" as part of it, which
matches the dashes between "dnl" and the text of the comment.  What
ispell-region does is remove the dashes, and then _prepend_ "dnl"
(because it's a comment-start string).  The result is that we send
something like "^dnl FOO" to the speller, and the character positions
get screwed up, because the characters between "dnl" and "FOO" were
removed.

FWIW, I really don't understand why ispell.el removes patterns that
pertain to email messages from buffers that have nothing to do with
mail-mode or its derivatives.

> Dirty workaround in the meantime, avoid double dashes and try something like
> 
> dnl - - - - Hi, whatever I want to add here
> 
> But I really wonder what is happening here.

See above.  A single dash doesn't get removed, so the workaround works
around.

Btw, WIBNI ispell.el had a debug option, which, if set, would collect
in a special buffer everything we send to the speller and its
responses.  I find myself adding '(message "sent %s" strin)'
etc. every time I need to debug the communications between ispell.el
and the speller program.  WDYT?





^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#12768: 24.1; flyspell highlights words which ispell accepts
  2012-11-01 14:44                 ` Eli Zaretskii
@ 2012-11-02  1:19                   ` Agustin Martin
  0 siblings, 0 replies; 15+ messages in thread
From: Agustin Martin @ 2012-11-02  1:19 UTC (permalink / raw)
  To: 12768, rrt

2012/11/1 Eli Zaretskii <eliz@gnu.org>:
>> From: Agustin Martin <agustin.martin@hispalinux.es>
>>
>> Really strange. With your steps I can even reproduce the problem with
>> something as simple as
>>
>> dnl -- D
>>
>> If I add something before dnl  I still get the problem.
>>
>> sdfdsfsdnl -- D
>>
>> IIf I either break the double dash (no double dashes at all) or the
>> dnl or remove the "D" after the dashes problem disappear
>>
>> dfnl -- D
>> dnl - - D
>> dnl --
>>
>> autotest-mode.el is a small file, but II  do not see any hint about
>> what is happening here. Seems to do something strange with double
>> dashes associated with dnl, but I am absolutely clueless, help
>> welcome.
>
> If you step through ispell-region, you will see that it goes bananas
> because ispell-skip-region-alist has "--+" as part of it, which
> matches the dashes between "dnl" and the text of the comment.  What
> ispell-region does is remove the dashes, and then _prepend_ "dnl"
> (because it's a comment-start string).  The result is that we send
> something like "^dnl FOO" to the speller, and the character positions
> get screwed up, because the characters between "dnl" and "FOO" were
> removed.

Thanks a lot for debugging. I only had time to note that as you point
put more that one dash is removed causing the misalignment. Was
currently looking at the wrong site (autoconf.el).

> FWIW, I really don't understand why ispell.el removes patterns that
> pertain to email messages from buffers that have nothing to do with
> mail-mode or its derivatives.

No idea. I never looked before into ispell-region and friends for
anything than trying to have a fallback behavior on misalignments, and
that was beyond my skills.

>> Dirty workaround in the meantime, avoid double dashes and try something like
>>
>> dnl - - - - Hi, whatever I want to add here
>>
>> But I really wonder what is happening here.
>
> See above.  A single dash doesn't get removed, so the workaround works
> around.
>
> Btw, WIBNI ispell.el had a debug option, which, if set, would collect
> in a special buffer everything we send to the speller and its
> responses.  I find myself adding '(message "sent %s" strin)'
> etc. every time I need to debug the communications between ispell.el
> and the speller program.  WDYT?

I think you are right. I am also an extensive user of the (message
...) debugger and it is really useful, but needing to re-add things
for every new debug is a pity.

flyspell has some of such debug options sending things to a
flyspell-debug buffer, something in the same line would be useful.

Thanks again for the info. Will try to have a look at ispell-region to
try understanding things better

-- 
Agustin





^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#12768: 24.1; flyspell highlights words which ispell accepts
       [not found]                 ` <24814310.2560.1351781107917.JavaMail.root@mx1-new.spamfiltro.es>
@ 2012-11-06 17:48                   ` Agustin Martin
  0 siblings, 0 replies; 15+ messages in thread
From: Agustin Martin @ 2012-11-06 17:48 UTC (permalink / raw)
  To: 12768-done, rrt

On Thu, Nov 01, 2012 at 04:44:01PM +0200, Eli Zaretskii wrote:
> > Date: Thu, 1 Nov 2012 01:10:11 +0100
> > From: Agustin Martin <agustin.martin@hispalinux.es>
> > Cc: agustin.martin@upm.es
> > 
> > Really strange. With your steps I can even reproduce the problem with
> > something as simple as
> > 
> > dnl -- D
> > 
> > If I add something before dnl  I still get the problem.
> > 
> > sdfdsfsdnl -- D
> > 
> > IIf I either break the double dash (no double dashes at all) or the
> > dnl or remove the "D" after the dashes problem disappear
> > 
> > dfnl -- D
> > dnl - - D
> > dnl --
> > 
> > autotest-mode.el is a small file, but II  do not see any hint about
> > what is happening here. Seems to do something strange with double
> > dashes associated with dnl, but I am absolutely clueless, help
> > welcome.
> 
> If you step through ispell-region, you will see that it goes bananas
> because ispell-skip-region-alist has "--+" as part of it, which
> matches the dashes between "dnl" and the text of the comment.  What
> ispell-region does is remove the dashes, and then _prepend_ "dnl"
> (because it's a comment-start string).  The result is that we send
> something like "^dnl FOO" to the speller, and the character positions
> get screwed up, because the characters between "dnl" and "FOO" were
> removed.

I have been dealing with this a bit more and seems I now I understand
things better.

(ispell-region) splits regions to spell in lines, and inside lines in
portions separated by skip-regions, which are sent to ispell pipe. 
When inside a comment, the comment string is added as string prefix
before sending to the ispell pipe  (I guess to make ispell know that
the string is part of a comment).

However ispell understand this prefix in few modes and of course not in
autoconf mode, where `dnl' is spell-checked as any other word (is the only
mode I remember now where comment string is an alphabetic string). For
other modes the comment string is just ignored by ispell for anything than
knowing that string is inside a comment (but properly shifted), and things
work with proper shifts.

However, for autoconf mode `dnl -- D' dnl is checked first and later is
`D' what is sent is `dnl  D' (with a dnl prefix), where `dnl' is checked
again messing up everything because ispell checks dnl where `D' position
is tracked (and expected by ispell.el instead of `dnl').

I have committed a change (r110817) that simply does not prefix the
strings when comment-start when in autoconf-mode (ispell does not support
that prefix anyway).

ispell still does not skip `dnl' as comment header and is shown as a
misspelling, but for everything else seems to work. However, please test
extensively.

> Btw, WIBNI ispell.el had a debug option, which, if set, would collect
> in a special buffer everything we send to the speller and its
> responses.  I find myself adding '(message "sent %s" strin)'
> etc. every time I need to debug the communications between ispell.el
> and the speller program.  WDYT?

I have also added a proof of concept for that (r110816), mostly intended to
be enabled through dedicated wrapper functions that when called create the
debug buffer and enable debugging messages sent through a common function. 
This is still very preliminary, with only `ispell-buffer-with-debug' using
it, but provides some info and as problems get debugged can be extended. 
Suggestions are welcome, even about a complete re-design if really needed.

-- 
Agustin





^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2012-11-06 17:48 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-10-30 13:23 bug#12768: 24.1; flyspell highlights words which ispell accepts Reuben Thomas
2012-10-31 12:26 ` Agustin Martin
2012-10-31 12:31 ` Agustin Martin
2012-10-31 12:35   ` Reuben Thomas
2012-10-31 14:53     ` Agustin Martin
2012-10-31 15:20       ` Reuben Thomas
2012-10-31 20:17         ` Reuben Thomas
2012-10-31 21:31           ` Agustin Martin
2012-10-31 21:50             ` Reuben Thomas
2012-11-01  0:10               ` Agustin Martin
2012-11-01  0:55                 ` Reuben Thomas
2012-11-01 14:44                 ` Eli Zaretskii
2012-11-02  1:19                   ` Agustin Martin
     [not found]                 ` <24814310.2560.1351781107917.JavaMail.root@mx1-new.spamfiltro.es>
2012-11-06 17:48                   ` Agustin Martin
2012-10-31 16:01   ` Glenn Morris

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).