Hi,

  I updated my CVS version of Emacs today, and discovered that ispell
is broken with my version of aspell.

  My aspell returns:

projectile:~> aspell -v
@(#) International Ispell Version 3.1.20 (but really Aspell .33.7.1 alpha)

 which seems to break inside the new 'version' subroutines.

Here is a stack I get from Emacs when I start with -q:

-----------
Debugger entered--Lisp error: (error "Invalid version syntax: '.33.7.1 alpha'")
  signal(error ("Invalid version syntax: '.33.7.1 alpha'"))
  error("Invalid version syntax: '%s'" ".33.7.1 alpha")
  version-to-list(".33.7.1 alpha")
  version<(".33.7.1 alpha" "0.60")
  (not (version< (match-string 1) "0.60"))
  (setq ispell-aspell-supports-utf8 (not (version< ... "0.60")))
  (progn (setq ispell-aspell-supports-utf8 (not ...)) t)
  (and (search-forward-regexp "(but really Aspell \\(.*\\))" nil t) (progn 
(setq ispell-aspell-supports-utf8 ...) t))
  (let (case-fold-search) (and (search-forward-regexp "(but really Aspell 
\\(.*\\))" nil t) (progn ... t)))
  (if (or (not status) (< ... ...)) (error "%s version 3 release %d.%d.%d or 
greater is required" ispell-program-name (car ispell-required-version) (car 
...) (car ...)) (if (and ... ...) (setq ispell-offset 0)) (goto-char 
(point-min)) (let (case-fold-search) (and ... ...)))
  (save-excursion (let (...) (if buf ...)) (set-buffer (get-buffer-create " 
*ispell-tmp*")) (erase-buffer) (unless (file-exists-p default-directory) (setq 
default-directory ...)) (setq status (call-process ispell-program-name nil t 
nil ...)) (goto-char (point-min)) (if interactivep (progn ... ... ...) (if ... 
...)) (goto-char (point-min)) (if (not ...) (error "%s exited with %s %s" 
ispell-program-name ... status)) (setq case-fold-search t status 
(re-search-forward ... nil t) case-fold-search case-fold-search-val) (if (or 
... ...) (error "%s version 3 release %d.%d.%d or greater is required" 
ispell-program-name ... ... ...) (if ... ...) (goto-char ...) (let ... ...)))
  (let ((case-fold-search-val case-fold-search) (default-major-mode ...) 
(default-directory ...) result status) (save-excursion (let ... ...) 
(set-buffer ...) (erase-buffer) (unless ... ...) (setq status ...) (goto-char 
...) (if interactivep ... ...) (goto-char ...) (if ... ...) (setq 
case-fold-search t status ... case-fold-search case-fold-search-val) (if ... 
... ... ... ...)) (kill-buffer (current-buffer)))
  ispell-check-version()
  eval((ispell-check-version))
  eval-expression((ispell-check-version) nil)
  call-interactively(eval-expression)

------------

Since this is in some 'version' routines, I'd like to suggest that
maintainers of the new version code look at my inversion tool,
available from CVS here:

http://cvs.sourceforge.net/viewcvs.py/cedet/cedet/common/inversion.el

This is a tool in my CEDET suite which is used to guarantee version
compatibility is maintained.

It had similar issues decoding the above version (so it's not perfect)
which i fixed in CVS revision 1.26.

There are probably some ideas there that might be useful in Emacs
also.

In addition, all the papers for it ought to be up to date.

Eric

-- 
          Eric Ludlam:                 [EMAIL PROTECTED], [EMAIL PROTECTED]
   Home: http://www.ludlam.net            Siege: www.siege-engine.com
Emacs: http://cedet.sourceforge.net               GNU: www.gnu.org


_______________________________________________
Emacs-pretest-bug mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug

Reply via email to