]> code.delx.au - gnu-emacs/commitdiff
Merge from origin/emacs-24
authorPaul Eggert <eggert@cs.ucla.edu>
Tue, 3 Mar 2015 22:52:04 +0000 (14:52 -0800)
committerPaul Eggert <eggert@cs.ucla.edu>
Tue, 3 Mar 2015 22:52:04 +0000 (14:52 -0800)
c4ade11 textmodes/ispell.el: Look for aspell .dat files also under dict-dir
e28ec9a ispell.el: Extend to aspell current hunspell handling of aliases

Conflicts:
lisp/ChangeLog

admin/ChangeLog
doc/lispref/ChangeLog
doc/misc/ChangeLog
etc/ChangeLog
etc/NEWS
etc/NEWS.24
lisp/ChangeLog
lisp/erc/ChangeLog
lisp/textmodes/ispell.el
src/ChangeLog

index bcc43c52af20ab0b6eb501202a07e1e804514619..092bfa9ad59dd710aa49bf1a3c4ddc978276940c 100644 (file)
@@ -2,7 +2,6 @@
 
        * MAINTAINERS: Add myself to section 2
 
-2015-03-03  Glenn Morris  <rgm@gnu.org>
 2015-03-03  Glenn Morris  <rgm@gnu.org>
 
        * admin.el (manual-meta-string): Use bug-gnu-emacs@gnu email address
index 50cc9cb43b31687d3bac257722a31bcd073ce257..42bff7c865ae74968b013559d9c0ee5feed24038 100644 (file)
@@ -3,7 +3,6 @@
        * processes.texi (Synchronous Processes): Update documentation of
        call-process-shell-command and process-file-shell-command.
 
-2015-03-03  Eli Zaretskii  <eliz@gnu.org>
 2015-03-03  Daniel Colascione  <dancol@dancol.org>
 
        * control.texi (Generators): Correct missing word.  Clarify which
index c00cb2f722a5e26c54bd6357794780425657591e..c721b250112695687f366d0497a5b0ddb4d2a233 100644 (file)
@@ -4,7 +4,6 @@
        for erc-format-nick-function and erc-rename-buffers options.
        (Connecting): fix typo
 
-2015-03-03  Michael Albinus  <michael.albinus@gmx.de>
 2015-03-02  Daniel Colascione  <dancol@dancol.org>
 
        * cl.texi (Iteration Clauses): Mention iterator support.
index 9c11e18fb690718fc7e526b8765bddfaf0032681..cd5c54037c81207a1f78121184d180256b5cebbd 100644 (file)
@@ -1,8 +1,7 @@
 2015-03-03  Kelvin White  <kwhite@gnu.org>
 
-       * NEWS: Add section to include ERC changes
+       * NEWS.24: Add section to include ERC changes.
 
-2015-03-03  Eli Zaretskii  <eliz@gnu.org>
 2015-03-02  Daniel Colascione  <dancol@dancol.org>
 
        * NEWS: Mention finalizers.
index 0e02fc7022c358dc3761737860d1d8c6952128ed..ad8b6f27812cb31d65e224b679ba592852a99dc9 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -14,24 +14,21 @@ and NEWS.1-17 for changes in older Emacs versions.
 You can narrow news to a specific version by calling `view-emacs-news'
 with a prefix argument or by typing C-u C-h C-n.
 
+Temporary note:
++++ indicates that all necessary documentation updates are complete.
+    (This means all relevant manuals in doc/ AND lisp doc-strings.)
+--- means no change in the manuals is needed.
+When you add a new item, use the appropriate mark if you are sure it applies,
+otherwise leave it unmarked.
+
 \f
 * Installation Changes in Emacs 25.1
 
 +++
-
 ** Building Emacs now requires C99 or later.
 
-** The default value of `history-length' has increased to 100.
-
-** The variable `redisplay-dont-pause' is obsolete.
-
 ** Building Emacs now requires GNU make, version 3.81 or later.
 
-** `call-process-shell-command' and `process-file-shell-command' no longer
-take "&rest args".
-
-** The option `browse-url-firefox-startup-arguments' no longer has an effect.
-
 ** By default, Emacs no longer works on IRIX.  We expect that Emacs
 users are not affected by this, as SGI stopped supporting IRIX in
 December 2013.  If you are affected, please send a bug report.  You
@@ -39,41 +36,18 @@ should be able to work around the problem either by porting the Emacs
 undumping code to GCC under IRIX, or by configuring --with-wide-int,
 or by sticking with Emacs 24.4.
 
-** ERC
-
 ** 'configure' now prefers gnustep-config when configuring GNUstep.
 If gnustep-config is not available, the old heuristics are used.
 
-+++
-*** New option `erc-rename-buffers'.
-
-*** New faces `erc-my-nick-prefix-face' and `erc-nick-prefix-face'.
-
-*** `erc-format-@nick' displays all user modes instead of only op and voice.
-
-*** The display of irc commands in the current buffer has been disabled.
-
-*** `erc-version' now follows the Emacs version.
-
-** Obsolete packages
-
-*** cc-compat.el
-
 ---
 ** The configure option `--with-pkg-config-prog' has been removed.
 Use './configure PKG_CONFIG=/full/name/of/pkg-config' if you need to.
 
-*** crisp.el (moved to elpa.gnu.org)
-
 ** The configure option '--enable-silent-rules' is now the default,
 and silent rules are now quieter.  To get the old behavior where
 'make' chatters a lot, configure with '--disable-silent-rules' or
 build with 'make V=1'.
 
-*** tpu-edt.el, ws-mode.el
-These emulations of old editors are believed to be no longer relevant
- - contact emacs-devel@gnu.org if you disagree.
-
 ---
 ** The configure option '--with-gameuser' now allows to specify a
 group instead of a user if its argument is prefixed by ':' (a colon).
@@ -86,8 +60,6 @@ be installed setgid.  The option now defaults to the 'games' group.
 It has no particular connection to Emacs and has not changed in years,
 so if you want to use it, you can always take a copy from an older Emacs.
 
-*** vi.el, vip.el (try M-x viper instead)
-
 \f
 * Startup Changes in Emacs 25.1
 
index 969713a33936e040be485b346e9c9c35b29e040f..7d9e1f0d83f3fdc0e84e430a57910e2a6de199ea 100644 (file)
@@ -14,41 +14,45 @@ and NEWS.1-17 for changes in older Emacs versions.
 You can narrow news to a specific version by calling `view-emacs-news'
 with a prefix argument or by typing C-u C-h C-n.
 
-Temporary note:
-+++ indicates that all necessary documentation updates are complete.
-    (This means all relevant manuals in doc/ AND lisp doc-strings.)
---- means no change in the manuals is needed.
-When you add a new item, use the appropriate mark if you are sure it applies,
-otherwise leave it unmarked.
-
 \f
 * Changes in Emacs 24.5
 
----
+** This is mainly a bug-fix release, but there are some other changes.
+
 ** The default value of `history-length' has increased to 100.
 
-+++
-** `redisplay-dont-pause' is declared as obsolete.
+** The variable `redisplay-dont-pause' is obsolete.
 
 \f
 * Changes in Specialized Modes and Packages in Emacs 24.5
 
-** `call-process-shell-command' and `process-file-shell-command'
-don't take "&rest args" any more.
+** `call-process-shell-command' and `process-file-shell-command' no longer
+take "&rest args".
+
+** The option `browse-url-firefox-startup-arguments' no longer has an effect.
+
+** ERC
+
+*** New option `erc-rename-buffers'.
+
+*** New faces `erc-my-nick-prefix-face' and `erc-nick-prefix-face'.
+
+*** `erc-format-@nick' displays all user modes instead of only op and voice.
+
+*** The display of irc commands in the current buffer has been disabled.
+
+*** `erc-version' now follows the Emacs version.
 
 ** Obsolete packages
 
 *** cc-compat.el
 
----
-*** crisp.el - moved to elpa.gnu.org.
+*** crisp.el (moved to elpa.gnu.org)
 
----
 *** tpu-edt.el, ws-mode.el
 These emulations of old editors are believed to be no longer relevant
  - contact emacs-devel@gnu.org if you disagree.
 
----
 *** vi.el, vip.el (try M-x viper instead)
 
 \f
index ad4a05f912907bab89b86b05f23ace0ab2559767..60e2b50e5c4555134c57baebbc2648b8d1f81ee7 100644 (file)
@@ -1,3 +1,21 @@
+2015-03-03  Agustín Martín Domingo <agustin6martin@gmail.com>
+
+       * textmodes/ispell.el (ispell-aspell-find-dictionary): Make sure
+       .dat files for aspell dicts are also searched for in location
+       described by `ispell-aspell-dict-dir', matching aspell's dict-dir
+       variable.
+
+2015-03-03  Agustín Martín Domingo <agustin6martin@gmail.com>
+
+       * textmodes/ispell.el (ispell-dicts-name2locale-equivs-alist)
+       (ispell-hunspell-fill-dictionary-entry)
+       (ispell-find-hunspell-dictionaries)
+       (ispell-set-spellchecker-params): New generic name for
+       `ispell-hunspell-dictionary-equivs-alist'.
+       (ispell-aspell-add-aliases): Also use
+       `ispell-dicts-name2locale-equivs-alist' to get aspell aliases for
+       standard dict names.
+
 2015-03-03  Glenn Morris  <rgm@gnu.org>
 
        * net/browse-url.el (browse-url-firefox-startup-arguments):
@@ -25,7 +43,6 @@
        * net/tramp-sh.el (tramp-remote-process-environment): Disable paging
        with PAGER=cat.  (Bug#19870)
 
-2015-03-03  Glenn Morris  <rgm@gnu.org>
 2015-03-03  Glenn Morris  <rgm@gnu.org>
 
        * textmodes/flyspell.el (flyspell-duplicate-distance):
@@ -47,7 +64,6 @@
        (flyspell-word-search-backward, flyspell-word-search-forward):
        Search as full word with defined casechars, not as substring.
 
-2015-03-03  Juri Linkov  <juri@linkov.net>
 2015-03-03  Juri Linkov  <juri@linkov.net>
 
        Better support for the case of typing RET on the prompt in comint.
@@ -71,7 +87,6 @@
        * net/network-stream.el (network-stream-open-tls): Respect the
        :end-of-capability setting.
 
-2015-03-03  Juri Linkov  <juri@linkov.net>
 2015-03-03  Juri Linkov  <juri@linkov.net>
 
        Revert the previous change of comint-line-beginning-position callers,
        mapcar, not mapc, to create the other half of fill-info.
        (Bug#19763)
 
-2015-03-03  Nicolas Petton  <nicolas@petton.fr>
 2015-03-03  Nicolas Petton  <nicolas@petton.fr>
 
        * emacs-lisp/authors.el (authors-ignored-files)
        * emacs-lisp/authors.el (authors-obsolete-files-regexps)
        (authors-valid-file-names, authors-renamed-files-alist): Additions.
 
-2015-03-03  Alan Mackenzie  <acm@muc.de>
 2015-03-03  Alan Mackenzie  <acm@muc.de>
 
        CC Mode: Stop Font Lock forcing fontification from BOL.  Fixes
index 22ebae4576ca439fbe7c82e1250fd450e5660e7e..4f5fced1bd5be66d007fd95f314f17abd332494d 100644 (file)
@@ -3,7 +3,6 @@
        * erc.el: Add old version string back to file header for
        package.el compatibility
 
-2015-03-03  Glenn Morris  <rgm@gnu.org>
 2015-03-03  Glenn Morris  <rgm@gnu.org>
 
        * erc.el (erc-rename-buffers): Doc fix.  Add :version.
index 82a09a0f89abd06d15fc3dcf79a4aa67b26edbd8..498def0b966cb148f696b1b75d104e562e57b49a 100644 (file)
@@ -775,7 +775,7 @@ here just for backwards compatibility.")
 (make-obsolete-variable 'ispell-aspell-supports-utf8
                         'ispell-encoding8-command "23.1")
 
-(defvar ispell-hunspell-dictionary-equivs-alist
+(defvar ispell-dicts-name2locale-equivs-alist
   '(("american"      "en_US")
     ("brasileiro"    "pt_BR")
     ("british"       "en_GB")
@@ -807,7 +807,7 @@ here just for backwards compatibility.")
     ("slovenian"     "sl_SI")
     ("svenska"       "sv_SE")
     ("hebrew"        "he_IL"))
-  "Alist with matching hunspell dict names for standard dict names in
+  "Alist with known matching locales for standard dict names in
   `ispell-dictionary-base-alist'.")
 
 (defvar ispell-emacs-alpha-regexp
@@ -1056,27 +1056,35 @@ Assumes that value contains no whitespace."
   "For aspell dictionary DICT-NAME, return a list of parameters if an
 associated data file is found or nil otherwise.  List format is that
 of `ispell-dictionary-base-alist' elements."
+
+  ;; Make sure `ispell-aspell-dict-dir' is defined
+  (or ispell-aspell-dict-dir
+      (setq ispell-aspell-dict-dir
+           (ispell-get-aspell-config-value "dict-dir")))
+
   ;; Make sure `ispell-aspell-data-dir' is defined
   (or ispell-aspell-data-dir
       (setq ispell-aspell-data-dir
            (ispell-get-aspell-config-value "data-dir")))
-  ;; Try finding associated datafile
-  (let* ((datafile1
-         (concat ispell-aspell-data-dir "/"
-                 ;; Strip out variant, country code, etc.
-                 (and (string-match "^[[:alpha:]]+" dict-name)
-                      (match-string 0 dict-name)) ".dat"))
-        (datafile2
-         (concat ispell-aspell-data-dir "/"
-                 ;; Strip out anything but xx_YY.
-                 (and (string-match "^[[:alpha:]_]+" dict-name)
-                      (match-string 0 dict-name)) ".dat"))
-        (data-file
-         (if (file-readable-p datafile1)
-             datafile1
-           (if (file-readable-p datafile2)
-               datafile2)))
-        otherchars)
+
+  ;; Try finding associated datafile. aspell will look for master .dat
+  ;; file in `dict-dir' and `data-dir'. Associated .dat files must be
+  ;; in the same directory as master file.
+  (let ((data-file
+        (catch 'datafile
+          (dolist ( tmp-path (list ispell-aspell-dict-dir
+                                   ispell-aspell-data-dir ))
+            ;; Try xx.dat first, strip out variant, country code, etc,
+            ;; then try xx_YY.dat (without stripping country code).
+            (dolist (tmp-regexp (list "^[[:alpha:]]+"
+                                      "^[[:alpha:]_]+"))
+              (let ((fullpath
+                     (concat tmp-path "/"
+                             (and (string-match tmp-regexp dict-name)
+                                  (match-string 0 dict-name)) ".dat")))
+                (if (file-readable-p fullpath)
+                    (throw 'datafile fullpath)))))))
+       otherchars)
 
     (if data-file
        (with-temp-buffer
@@ -1128,6 +1136,13 @@ Return the new dictionary alist."
                 (realdict (assoc realname alist)))
            (when (and realdict (not already-exists-p))
              (push (cons aliasname (cdr realdict)) alist))))))
+    ;; Add entries for standard dict-names with found locale-matching entry
+    (dolist (dict-map-entry ispell-dicts-name2locale-equivs-alist)
+      (let ((name (car dict-map-entry))
+           (locale (cadr dict-map-entry)))
+       (unless (assoc name alist) ;; skip if already present
+         (if (assoc locale alist)
+             (push (cons name (cdr (assoc locale alist))) alist)))))
     alist))
 
 ;; Make ispell.el work better with hunspell.
@@ -1151,12 +1166,12 @@ all uninitialized dicts using that affix file."
   (if (cadr (assoc dict ispell-dictionary-alist))
       (message "ispell-hfde: Non void entry for %s. Skipping.\n" dict)
     (let ((dict-alias
-           (cadr (assoc dict ispell-hunspell-dictionary-equivs-alist)))
+           (cadr (assoc dict ispell-dicts-name2locale-equivs-alist)))
          (use-for-dicts (list dict))
          (dict-args-cdr (cdr (ispell-parse-hunspell-affix-file dict)))
          newlist)
       ;; Get a list of uninitialized dicts using the same affix file.
-      (dolist (dict-equiv-alist-entry ispell-hunspell-dictionary-equivs-alist)
+      (dolist (dict-equiv-alist-entry ispell-dicts-name2locale-equivs-alist)
        (let ((dict-equiv-key (car dict-equiv-alist-entry))
              (dict-equiv-value (cadr dict-equiv-alist-entry)))
          (if (or (member dict dict-equiv-alist-entry)
@@ -1221,7 +1236,7 @@ Return a list in `ispell-dictionary-alist' format."
   "Look for installed hunspell dictionaries.
 Will initialize `ispell-hunspell-dictionary-alist' and
 `ispell-hunspell-dictionary-alist' after values found
-and remove `ispell-hunspell-dictionary-equivs-alist'
+and remove `ispell-dicts-name2locale-equivs-alist'
 entries if a specific dict was found."
   (let ((hunspell-found-dicts
         (split-string
@@ -1260,15 +1275,15 @@ entries if a specific dict was found."
              "-- ispell-fhd: Skipping entry: %s\n" dict)))))
     ;; Remove entry from aliases alist if explicit dict was found.
     (let (newlist)
-      (dolist (dict ispell-hunspell-dictionary-equivs-alist)
+      (dolist (dict ispell-dicts-name2locale-equivs-alist)
        (if (assoc (car dict) ispell-hunspell-dict-paths-alist)
            (ispell-print-if-debug
              "-- ispell-fhd: Excluding %s alias. Standalone dict found.\n"
              (car dict))
          (add-to-list 'newlist dict)))
-      (setq ispell-hunspell-dictionary-equivs-alist newlist))
+      (setq ispell-dicts-name2locale-equivs-alist newlist))
     ;; Add known hunspell aliases
-    (dolist (dict-equiv ispell-hunspell-dictionary-equivs-alist)
+    (dolist (dict-equiv ispell-dicts-name2locale-equivs-alist)
       (let ((dict-equiv-key (car dict-equiv))
            (dict-equiv-value (cadr dict-equiv))
            (exclude-aliases (list   ;; Exclude TeX aliases
@@ -1365,7 +1380,7 @@ aspell is used along with Emacs).")
              (let* ((dict-name (nth 0 adict))
                     (dict-equiv
                      (cadr (assoc dict-name
-                                  ispell-hunspell-dictionary-equivs-alist)))
+                                  ispell-dicts-name2locale-equivs-alist)))
                     (ispell-args (nth 5 adict))
                     (ispell-args-has-d (member "-d" ispell-args))
                     skip-dict)
index b1d9822f2f4063bd3d4d4864fe49a138051e52f5..8acca6cca3fc3cfadbad4009546cb920c82101c3 100644 (file)
        * menu.c (Fx_popup_menu) [HAVE_X_WINDOWS]: Call
        mouse_position_for_popup only for X frames.  (Bug#19862)
 
-2015-03-03  Eli Zaretskii  <eliz@gnu.org>
 2015-03-03  Eli Zaretskii  <eliz@gnu.org>
 
        * buffer.c (syms_of_buffer): Doc fix.  (Bug#19841)
 
-2015-03-03  Eli Zaretskii  <eliz@gnu.org>
 2015-03-03  Eli Zaretskii  <eliz@gnu.org>
 
        * xfaces.c (map_tty_color): Use assoc_no_quit instead of
        assq_no_quit to fetch color definition by its string name.
        (Bug#19802)
 
-2015-03-03  Eli Zaretskii  <eliz@gnu.org>
 2015-03-03  Eli Zaretskii  <eliz@gnu.org>
 
        * xdisp.c (move_it_in_display_line_to): Handle the case where the
@@ -40,7 +37,6 @@
        word-wrap with overflow-newline-into-fringe turned on.
        (Bug#19769)
 
-2015-03-03  Eli Zaretskii  <eliz@gnu.org>
 2015-03-03  Eli Zaretskii  <eliz@gnu.org>
 
        * xdisp.c (handle_stop, handle_single_display_spec)