From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Akim Demaille Newsgroups: gmane.emacs.bugs Subject: bug#13019: 24.2; ispell: use of local ispell-personal-dictionary Date: Wed, 28 Nov 2012 11:16:53 +0100 Message-ID: <64FA190B-F4D1-4743-B468-DF2262348DF1@gmail.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 (Mac OS X Mail 6.2 \(1499\)) Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1354097906 7662 80.91.229.3 (28 Nov 2012 10:18:26 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 28 Nov 2012 10:18:26 +0000 (UTC) To: 13019@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Nov 28 11:18:37 2012 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Tdeis-00051w-Up for geb-bug-gnu-emacs@m.gmane.org; Wed, 28 Nov 2012 11:18:31 +0100 Original-Received: from localhost ([::1]:50686 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tdeih-0001R9-AX for geb-bug-gnu-emacs@m.gmane.org; Wed, 28 Nov 2012 05:18:19 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:47416) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TdeiZ-0001QB-3R for bug-gnu-emacs@gnu.org; Wed, 28 Nov 2012 05:18:17 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TdeiX-0005jg-LA for bug-gnu-emacs@gnu.org; Wed, 28 Nov 2012 05:18:11 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:60609) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TdeiX-0005jc-HE for bug-gnu-emacs@gnu.org; Wed, 28 Nov 2012 05:18:09 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1TdekM-0005g0-Mi for bug-gnu-emacs@gnu.org; Wed, 28 Nov 2012 05:20:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Akim Demaille Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 28 Nov 2012 10:20:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 13019 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.135409795221753 (code B ref -1); Wed, 28 Nov 2012 10:20:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 28 Nov 2012 10:19:12 +0000 Original-Received: from localhost ([127.0.0.1]:42626 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TdejX-0005eo-9q for submit@debbugs.gnu.org; Wed, 28 Nov 2012 05:19:12 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:53427) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TdejU-0005eg-6T for submit@debbugs.gnu.org; Wed, 28 Nov 2012 05:19:09 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TdehZ-0005QW-Ux for submit@debbugs.gnu.org; Wed, 28 Nov 2012 05:17:14 -0500 Original-Received: from lists.gnu.org ([208.118.235.17]:60253) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TdehZ-0005QR-R3 for submit@debbugs.gnu.org; Wed, 28 Nov 2012 05:17:09 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:47253) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TdehT-0001N2-2q for bug-gnu-emacs@gnu.org; Wed, 28 Nov 2012 05:17:09 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TdehO-0005OR-5k for bug-gnu-emacs@gnu.org; Wed, 28 Nov 2012 05:17:03 -0500 Original-Received: from mail-wg0-f49.google.com ([74.125.82.49]:34456) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TdehN-0005OF-SQ for bug-gnu-emacs@gnu.org; Wed, 28 Nov 2012 05:16:58 -0500 Original-Received: by mail-wg0-f49.google.com with SMTP id gg4so2818350wgb.30 for ; Wed, 28 Nov 2012 02:16:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:content-type:content-transfer-encoding:subject:message-id:date :to:mime-version:x-mailer; bh=iM3zFj1d9ZP1muRMq4R6jE3NZwJsm+7TBCJoquaoH24=; b=xKRGZafC8fQsg0JLnkvc2jXeRqZo6GXY17Q9178KkhmywsWw3GIYTkR99RJpIPr+34 eGAAOOk1/R0AJ7gpV/gHuKcD/NqoDoOQMjmPQ+oceLp05H4ZHw2a+X/pCIHe0YAFP1CK WRE98CMDQjlFLB6PBgibhoISE8pyYgiOgr5ksEU7IRlDQ5O+HU78WSvcssG+GKMeieMj qxn7aQrpkSmxbsgFLkAGZJ6rklWca+kuvH7gl9K1uDFAvCxo7ltjikhYi1oOF4sLs2Ud 2OvzdnllwJqgHcCR65HOWtBk6nKdfebzzCPgRqh4kPpGwhzaZJHBkGTDw4eb1HWnV6jF igzw== Original-Received: by 10.180.78.161 with SMTP id c1mr28403557wix.4.1354097816980; Wed, 28 Nov 2012 02:16:56 -0800 (PST) Original-Received: from mcote-eth.lrde.epita.fr (sao-paulo.lrde.epita.fr. [163.5.55.1]) by mx.google.com with ESMTPS id eu8sm6352493wib.1.2012.11.28.02.16.55 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 28 Nov 2012 02:16:56 -0800 (PST) X-Mailer: Apple Mail (2.1499) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:67556 Archived-At: Hi all, 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. Consider the following use case: several documents (LaTeX for that matter), with many uncommon words in common. Instead of having a bazillion of (duplicated) "LocalWords:" in all my documents, I have: | %%% Local Variables: | %%% mode: latex | %%% coding: utf-8 | %%% ispell-dictionary: "american" | %%% ispell-personal-dictionary: "../en.dict" | %%% TeX-master: t | %%% fill-column: 76 | %%% End: in each file. This used to work well, i.e., aspell was given the right path to en.dict. With the current version of Emacs, "../en.dict" seems to be resolved relatively to the directory from which Emacs was run, instead of relatively to the document. I do not want to force a full path to the dictionary, because the documents are under VCS, and the dictionary is shared between the authors. I have run the following experiment, on a file with these local variables: | %%% Local Variables: | %%% mode: latex | %%% coding: utf-8 | %%% ispell-dictionary: "american" | %%% ispell-personal-dictionary: "en.dict" | %%% TeX-master: t | %%% fill-column: 76 | %%% End: Of course, what is expected is that en.dict is a local file, "in ./" relatively to the file with these local variables. With Emacs 22, I have the expected behavior: | $ /usr/bin/emacs --version | GNU Emacs 22.1.1 | Copyright (C) 2007 Free Software Foundation, Inc. | GNU Emacs comes with ABSOLUTELY NO WARRANTY. | You may redistribute copies of Emacs | under the terms of the GNU General Public License. | For more information about these matters, see the file named COPYING. | $ /usr/bin/emacs f.tex -- (here, I "M-x ispell", and "C-z" Emacs) |=20 | zsh: suspended /usr/bin/emacs f.tex | $ ps aux | grep aspell | [=85] /opt/local/bin/aspell -a -m -d en_US --encoding=3Dutf-8 -p = /Users/akimd/src/lrde/cours-mob/mob1/src/lecture_2/en.dict As you can see, the location of the en.dict is correct (f.tex is indeed in /Users/akimd/src/lrde/cours-mob/mob1/src/lecture_2). Now with Emacs 24: | $ emacs --version | GNU Emacs 24.2.1 | Copyright (C) 2012 Free Software Foundation, Inc. | GNU Emacs comes with ABSOLUTELY NO WARRANTY. | You may redistribute copies of Emacs | under the terms of the GNU General Public License. | For more information about these matters, see the file named COPYING. | $ emacs mob1/src/lecture_2/f.tex |=20 | zsh: suspended emacs mob1/src/lecture_2/f.tex | $ ps aux | grep aspell | [=85] /opt/local/bin/aspell -a -m -d en_US -p /Users/akimd/en.dict = --encoding=3Dutf-8 this time its completely wrong. The previous behavior was very useful, as it made it possible for a repository of documents to share a dictionary (more useful than per-document Local Words). Yes, there is the "eval" option, but that's working around a bug imho, with the nasty effect that each time the document is opened, you have to validate the action. If "personal" was really meant to be the user's personal data, then it was easy to use "~/" to make it clear, and it is still easy today. On the other hand, the way the dictionary name is turned absolute in 24.2 forbids the previous useful approach. Or have I missed something? Thanks in advance! ---------------------------------------------------------------------- In GNU Emacs 24.2.1 (x86_64-apple-darwin12.2.0) of 2012-11-26 on mcote-eth.lrde.epita.fr Configured using: `configure '--prefix=3D/opt/local' '--without-x' '--without-dbus' '--without-gconf' '--without-libotf' '--without-m17n-flt' '--without-gpm' '--without-gnutls' '--without-xml2' '--infodir' '/opt/local/share/info/emacs' 'CC=3D/usr/bin/clang' 'CFLAGS=3D-pipe -O2 -arch x86_64' 'LDFLAGS=3D-L/opt/local/lib -Wl,-no_pie -arch x86_64' 'CPPFLAGS=3D-I/opt/local/include'' 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: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: fr_FR.UTF-8 value of $XMODIFIERS: nil locale-coding-system: utf-8-unix default enable-multibyte-characters: t Major mode: Fundamental Minor modes in effect: menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Load-path shadows: None found. Features: (shadow sort gnus-util mail-extr emacsbug message idna format-spec rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail regexp-opt rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils time-date auctex-autoloads tex-site info tool-bar easymenu package tabulated-list uniquify advice help-fns advice-preload ido cus-start cus-load ediff-hook vc-hooks lisp-float-type lisp-mode register page menu-bar rfn-eshadow timer 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 multi-tty emacs)