Package: emacs;
Reported by: Reuben Thomas <rrt <at> sc3d.org>
Date: Tue, 30 Oct 2012 13:27:04 UTC
Severity: normal
Found in version 24.1
Done: Agustin Martin <agustin.martin <at> hispalinux.es>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: help-debbugs <at> gnu.org (GNU bug Tracking System) To: Reuben Thomas <rrt <at> sc3d.org> Subject: bug#12768: closed (Re: bug#12768: 24.1; flyspell highlights words which ispell accepts) Date: Tue, 06 Nov 2012 17:52:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report #12768: 24.1; flyspell highlights words which ispell accepts which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 12768 <at> debbugs.gnu.org. -- 12768: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12768 GNU Bug Tracking System Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Agustin Martin <agustin.martin <at> hispalinux.es> To: 12768-done <at> debbugs.gnu.org, rrt <at> sc3d.org Subject: Re: bug#12768: 24.1; flyspell highlights words which ispell accepts Date: Tue, 6 Nov 2012 18:48:19 +0100On 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 <at> hispalinux.es> > > Cc: agustin.martin <at> 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
[Message part 3 (message/rfc822, inline)]
From: Reuben Thomas <rrt <at> sc3d.org> To: bug-gnu-emacs <at> gnu.org Subject: 24.1; flyspell highlights words which ispell accepts Date: Tue, 30 Oct 2012 13:23:12 +0000For 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/
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.