Subject: Re: bug#13019: 24.2; ispell: use of local ispell-personal-dictionary

From: Agustin Martin <[email-masked]>
Date: Fri, 30 Nov 2012 18:11:56 +0100

On Wed, Nov 28, 2012 at 04:16:53PM -0500, Glenn Morris wrote:
> Akim Demaille wrote:
> 
> > I have recently upgraded my Emacs from 22.2.1 to 24.2.1, and there is
> > a feature I lost: I could use ispell-personal-dictionary to specify a
> > per-document *local* (i.e., relative to the directory of the file)
> > dictionary.
> 
> Presumably due to 2010-09-02 changes to ispell-init-process for
> http://debbugs.gnu.org/cgi/bugreport.cgi?bug=6143
> 
> Perhaps a file-name-absolute-p check for various variables could be
> file-local could be added to that.
> 
> > | %%% ispell-dictionary: "american"
> > | %%% ispell-personal-dictionary: "../en.dict"

Actual problem happens in `ispell-start-process' where the string to be
passed to the spellchecker as personal dictionary is expanded,

(if ispell-current-personal-dictionary ; Use specified pers dict.
    (list "-p" (expand-file-name ispell-current-personal-dictionary)))

and is indeed affected by the changes in `default-dictionary' coming from
`ispell-init-process`.

I think the only reason for that `expand-file-name' is the tilde expansion
in non-UNIX systems. In UNIX systems tilde can be explicitly passed. 
Not sure if the directory {forward,back}slash is also related to this.

I am thinking about expanding `ispell-current-personal-dictionary' string
only if it contains a tilde prefix.

However I am too biassed to the UNIX world. Anyone at the e.g. win32 world
can provide info about possible problems with that?

-- 
Agustin