Subject: bug#34640: closed (Re: bug#34640: 26.1; ispell nil reference error when dictionary not found)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 08 Mar 2019 09:21:02 +0000

Your bug report

#34640: 26.1; ispell nil reference error when dictionary not found

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 [email-masked].

-- 
34640: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=34640
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#34640: 26.1; ispell nil reference error when dictionary not found
From: Eli Zaretskii <[email-masked]>
To: Mark Diekhans <[email-masked]>
Cc: [email-masked]
Date: Fri, 08 Mar 2019 11:19:48 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

> Date: Sun, 24 Feb 2019 10:27:09 -0800
> From: Mark Diekhans <[email-masked]>
> BCC: Mark Diekhans <[email-masked]>,
> 
> On the first call to ispell-word, if ispell-set-spellchecker-params fails to find hunspell dictionaries on the first invocation it
> gives the useful error message:
>   "no default hunspell diectionary found"
> 
> On subsequence calls, it fails with
>    "Wrong type argument: stringp, nil"
> 
> call stack is
>   string-match("," nil 0)
>   split-string(nil "," t)
>   ispell-parse-hunspell-affix-file(nil)
>   ispell-hunspell-fill-dictionary-entry(nil) *
>   ispell-start-process()
>   ispell-init-process()
>   ispell-buffer-local-words()
>   ispell-accept-buffer-local-defs()
>   ispell-word(nil nil nil t)
>   funcall-interactively(ispell-word nil nil nil t)
>   call-interactively(ispell-word nil nil)
>   command-execute(ispell-word)
> 
> This is caused by ispell-set-spellchecker-params setting
> ispell-last-program-name before it has successfully completed.
> 
> a patch is attached that fixes this problem, resulting in a correct
> error message on subsequence uses of ispell-word

Thanks, I installed this on the master branch.

Subject: 26.1; ispell nil reference error when dictionary not found
From: Mark Diekhans <[email-masked]>
To: [email-masked]
Date: Sun, 24 Feb 2019 10:27:09 -0800
List-Id: <debbugs-submit.debbugs.gnu.org>

On the first call to ispell-word, if ispell-set-spellchecker-params fails to find hunspell dictionaries on the first invocation it
gives the useful error message:
  "no default hunspell diectionary found"

On subsequence calls, it fails with
   "Wrong type argument: stringp, nil"

call stack is
  string-match("," nil 0)
  split-string(nil "," t)
  ispell-parse-hunspell-affix-file(nil)
  ispell-hunspell-fill-dictionary-entry(nil) *
  ispell-start-process()
  ispell-init-process()
  ispell-buffer-local-words()
  ispell-accept-buffer-local-defs()
  ispell-word(nil nil nil t)
  funcall-interactively(ispell-word nil nil nil t)
  call-interactively(ispell-word nil nil)
  command-execute(ispell-word)

This is caused by ispell-set-spellchecker-params setting
ispell-last-program-name before it has successfully completed.

a patch is attached that fixes this problem, resulting in a correct
error message on subsequence uses of ispell-word

---------

In GNU Emacs 26.1 (build 1, x86_64-apple-darwin17.6.0, NS appkit-1561.40 Version 10.13.5 (Build 17F77))
 of 2018-06-22 built on highsierra.internal.macports.net
Windowing system distributor 'Apple', version 10.3.1561

Configured using:
 'configure --prefix=/opt/local --without-dbus --without-gconf
 --without-libotf --without-m17n-flt --without-gpm --with-gnutls
 --with-xml2 --with-modules --infodir
 /opt/local/share/info/emacs --with-ns --with-lcms2
 'CFLAGS=-pipe -Os -arch x86_64' CPPFLAGS=-I/opt/local/include
 'LDFLAGS=-L/opt/local/lib -Wl,-headerpad_max_install_names
 -Wl,-no_pie -arch x86_64''

Configured features:
JPEG NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS
MODULES THREADS LCMS2

Important settings:
  value of $LC_ALL: en_US.UTF-8
  value of $LC_COLLATE: C
  value of $LC_CTYPE: C
  value of $LC_MESSAGES: en_US.UTF-8
  value of $LC_MONETARY: en_US.UTF-8
  value of $LC_NUMERIC: C
  value of $LC_TIME: en_US.UTF-8
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Shell

Minor modes in effect:
  diff-auto-refine-mode: t
  display-battery-mode: t
  display-time-mode: t
  TeX-PDF-mode: t
  shell-dirtrack-mode: t
  url-handler-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t
  abbrev-mode: t

Load-path shadows:
~/.emacs.d/src/emacs-grammarly/emacs-grammarly hides /Users/markd/.emacsrc/lisp/emacs-grammarly
/usr/local/share/emacs/site-lisp/vm/vcard hides /Users/markd/.emacs.d/elpa/bbdb-vcard-20181005.1019/vcard
/Users/markd/.emacs.d/elpa/org-20171113/ob-stan hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-stan
/Users/markd/.emacs.d/elpa/org-20171113/ob-exp hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-exp
/Users/markd/.emacs.d/elpa/org-20171113/ob-J hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-J
/Users/markd/.emacs.d/elpa/org-20171113/org-eshell hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-eshell
/Users/markd/.emacs.d/elpa/org-20171113/ob-emacs-lisp hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-emacs-lisp
/Users/markd/.emacs.d/elpa/org-20171113/org-gnus hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-gnus
/Users/markd/.emacs.d/elpa/org-20171113/ob-css hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-css
/Users/markd/.emacs.d/elpa/org-20171113/ob-lob hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-lob
/Users/markd/.emacs.d/elpa/org-20171113/ob-forth hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-forth
/Users/markd/.emacs.d/elpa/org-20171113/org-macs hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-macs
/Users/markd/.emacs.d/elpa/org-20171113/ob hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob
/Users/markd/.emacs.d/elpa/org-20171113/org-version hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-version
/Users/markd/.emacs.d/elpa/org-20171113/ob-scheme hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-scheme
/Users/markd/.emacs.d/elpa/org-20171113/ox hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox
/Users/markd/.emacs.d/elpa/org-20171113/ob-abc hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-abc
/Users/markd/.emacs.d/elpa/org-20171113/ob-C hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-C
/Users/markd/.emacs.d/elpa/org-20171113/org-capture hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-capture
/Users/markd/.emacs.d/elpa/org-20171113/ob-ref hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-ref
/Users/markd/.emacs.d/elpa/org-20171113/ob-clojure hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-clojure
/Users/markd/.emacs.d/elpa/org-20171113/org-mouse hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-mouse
/Users/markd/.emacs.d/elpa/org-20171113/ob-ledger hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-ledger
/Users/markd/.emacs.d/elpa/org-20171113/org-ctags hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-ctags
/Users/markd/.emacs.d/elpa/org-20171113/org-entities hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-entities
/Users/markd/.emacs.d/elpa/org-20171113/org-archive hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-archive
/Users/markd/.emacs.d/elpa/org-20171113/ob-screen hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-screen
/Users/markd/.emacs.d/elpa/org-20171113/ob-haskell hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-haskell
/Users/markd/.emacs.d/elpa/org-20171113/ob-asymptote hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-asymptote
/Users/markd/.emacs.d/elpa/org-20171113/org-mhe hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-mhe
/Users/markd/.emacs.d/elpa/org-20171113/org-table hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-table
/Users/markd/.emacs.d/elpa/org-20171113/ob-keys hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-keys
/Users/markd/.emacs.d/elpa/org-20171113/ox-org hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-org
/Users/markd/.emacs.d/elpa/org-20171113/org-plot hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-plot
/Users/markd/.emacs.d/elpa/org-20171113/ob-awk hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-awk
/Users/markd/.emacs.d/elpa/org-20171113/ob-groovy hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-groovy
/Users/markd/.emacs.d/elpa/org-20171113/ob-octave hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-octave
/Users/markd/.emacs.d/elpa/org-20171113/org-faces hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-faces
/Users/markd/.emacs.d/elpa/org-20171113/org-colview hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-colview
/Users/markd/.emacs.d/elpa/org-20171113/ob-R hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-R
/Users/markd/.emacs.d/elpa/org-20171113/org-timer hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-timer
/Users/markd/.emacs.d/elpa/org-20171113/ob-ebnf hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-ebnf
/Users/markd/.emacs.d/elpa/org-20171113/org-mobile hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-mobile
/Users/markd/.emacs.d/elpa/org-20171113/ob-fortran hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-fortran
/Users/markd/.emacs.d/elpa/org-20171113/ob-shell hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-shell
/Users/markd/.emacs.d/elpa/org-20171113/ob-perl hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-perl
/Users/markd/.emacs.d/elpa/org-20171113/ob-sqlite hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-sqlite
/Users/markd/.emacs.d/elpa/org-20171113/ob-sed hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-sed
/Users/markd/.emacs.d/elpa/org-20171113/org-list hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-list
/Users/markd/.emacs.d/elpa/org-20171113/ob-ruby hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-ruby
/Users/markd/.emacs.d/elpa/org-20171113/ob-eval hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-eval
/Users/markd/.emacs.d/elpa/org-20171113/org-habit hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-habit
/Users/markd/.emacs.d/elpa/org-20171113/org-clock hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-clock
/Users/markd/.emacs.d/elpa/org-20171113/ox-html hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-html
/Users/markd/.emacs.d/elpa/org-20171113/org-src hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-src
/Users/markd/.emacs.d/elpa/org-20171113/ob-lisp hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-lisp
/Users/markd/.emacs.d/elpa/org-20171113/ob-ditaa hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-ditaa
/Users/markd/.emacs.d/elpa/org-20171113/org-pcomplete hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-pcomplete
/Users/markd/.emacs.d/elpa/org-20171113/org-lint hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-lint
/Users/markd/.emacs.d/elpa/org-20171113/org-rmail hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-rmail
/Users/markd/.emacs.d/elpa/org-20171113/ox-latex hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-latex
/Users/markd/.emacs.d/elpa/org-20171113/ob-sass hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-sass
/Users/markd/.emacs.d/elpa/org-20171113/ob-io hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-io
/Users/markd/.emacs.d/elpa/org-20171113/ob-tangle hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-tangle
/Users/markd/.emacs.d/elpa/org-20171113/ob-calc hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-calc
/Users/markd/.emacs.d/elpa/org-20171113/ob-java hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-java
/Users/markd/.emacs.d/elpa/org-20171113/ox-icalendar hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-icalendar
/Users/markd/.emacs.d/elpa/org-20171113/org-eww hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-eww
/Users/markd/.emacs.d/elpa/org-20171113/ox-md hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-md
/Users/markd/.emacs.d/elpa/org-20171113/ox-beamer hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-beamer
/Users/markd/.emacs.d/elpa/org-20171113/org-element hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-element
/Users/markd/.emacs.d/elpa/org-20171113/org-protocol hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-protocol
/Users/markd/.emacs.d/elpa/org-20171113/ob-mscgen hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-mscgen
/Users/markd/.emacs.d/elpa/org-20171113/ob-gnuplot hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-gnuplot
/Users/markd/.emacs.d/elpa/org-20171113/ob-latex hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-latex
/Users/markd/.emacs.d/elpa/org-20171113/org-id hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-id
/Users/markd/.emacs.d/elpa/org-20171113/ob-vala hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-vala
/Users/markd/.emacs.d/elpa/org-20171113/ox-man hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-man
/Users/markd/.emacs.d/elpa/org-20171113/org-feed hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-feed
/Users/markd/.emacs.d/elpa/org-20171113/ob-lua hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-lua
/Users/markd/.emacs.d/elpa/org-20171113/ob-table hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-table
/Users/markd/.emacs.d/elpa/org-20171113/ob-ocaml hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-ocaml
/Users/markd/.emacs.d/elpa/org-20171113/ob-coq hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-coq
/Users/markd/.emacs.d/elpa/org-20171113/ob-picolisp hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-picolisp
/Users/markd/.emacs.d/elpa/org-20171113/org-indent hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-indent
/Users/markd/.emacs.d/elpa/org-20171113/ob-lilypond hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-lilypond
/Users/markd/.emacs.d/elpa/org-20171113/ob-matlab hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-matlab
/Users/markd/.emacs.d/elpa/org-20171113/org-datetree hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-datetree
/Users/markd/.emacs.d/elpa/org-20171113/ob-python hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-python
/Users/markd/.emacs.d/elpa/org-20171113/org-bbdb hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-bbdb
/Users/markd/.emacs.d/elpa/org-20171113/ob-makefile hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-makefile
/Users/markd/.emacs.d/elpa/org-20171113/org-duration hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-duration
/Users/markd/.emacs.d/elpa/org-20171113/org-agenda hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-agenda
/Users/markd/.emacs.d/elpa/org-20171113/ob-dot hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-dot
/Users/markd/.emacs.d/elpa/org-20171113/ob-js hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-js
/Users/markd/.emacs.d/elpa/org-20171113/ox-publish hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-publish
/Users/markd/.emacs.d/elpa/org-20171113/org-inlinetask hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-inlinetask
/Users/markd/.emacs.d/elpa/org-20171113/ob-org hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-org
/Users/markd/.emacs.d/elpa/org-20171113/ob-core hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-core
/Users/markd/.emacs.d/elpa/org-20171113/org-compat hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-compat
/Users/markd/.emacs.d/elpa/org-20171113/org-docview hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-docview
/Users/markd/.emacs.d/elpa/org-20171113/ox-odt hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-odt
/Users/markd/.emacs.d/elpa/org-20171113/ob-plantuml hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-plantuml
/Users/markd/.emacs.d/elpa/org-20171113/ox-ascii hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-ascii
/Users/markd/.emacs.d/elpa/org-20171113/org-loaddefs hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-loaddefs
/Users/markd/.emacs.d/elpa/org-20171113/org-w3m hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-w3m
/Users/markd/.emacs.d/elpa/org-20171113/org-bibtex hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-bibtex
/Users/markd/.emacs.d/elpa/org-20171113/org-info hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-info
/Users/markd/.emacs.d/elpa/org-20171113/ob-hledger hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-hledger
/Users/markd/.emacs.d/elpa/org-20171113/ob-maxima hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-maxima
/Users/markd/.emacs.d/elpa/org-20171113/org hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org
/Users/markd/.emacs.d/elpa/org-20171113/org-macro hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-macro
/Users/markd/.emacs.d/elpa/org-20171113/ob-sql hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-sql
/Users/markd/.emacs.d/elpa/org-20171113/org-attach hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-attach
/Users/markd/.emacs.d/elpa/org-20171113/ob-processing hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-processing
/Users/markd/.emacs.d/elpa/org-20171113/ox-texinfo hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-texinfo
/Users/markd/.emacs.d/elpa/org-20171113/org-irc hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-irc
/Users/markd/.emacs.d/elpa/org-20171113/org-crypt hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-crypt
/Users/markd/.emacs.d/elpa/org-20171113/org-footnote hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-footnote
/Users/markd/.emacs.d/elpa/org-20171113/org-install hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-install
/Users/markd/.emacs.d/elpa/org-20171113/ob-comint hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-comint
/Users/markd/.emacs.d/elpa/org-20171113/ob-shen hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-shen

Features:
(shadow bbdb-message cl bbdb-vm bbdb-mua bbdb-com bbdb bbdb-site
vm-rfaddons vm-undo vm-page vm-message vm-macro emacsbug message
rmc puny rfc822 mml mml-sec mm-decode mm-bodies mm-encode
mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail
diff-mode org-indent org-rmail org-mhe org-irc org-info org-gnus
gnus-util rmail rmail-loaddefs rfc2047 rfc2045 ietf-drums
mail-utils org-docview doc-view image-mode dired dired-loaddefs
org-bibtex bibtex org-bbdb org-w3m cl-extra edebug dabbrev
eieio-opt speedbar sb-image ezimage dframe help-fns radix-tree
tabify imenu man flyspell misearch multi-isearch help-mode
cl-print debug cus-start cus-load ispell vc-dispatcher vc-svn
pcmpl-unix elec-pair jka-compr epa-file epa derived epg battery
time server preview prv-emacs reporter desktop frameset tex-buf
latex latex-flymake flymake-proc flymake tex-ispell tex-style
tex crm org-vm realgud realgud-zshdb realgud:zshdb-track-mode
realgud:zshdb-core realgud:zshdb-init realgud-trepan3k
realgud:trepan3k-track-mode realgud:trepan3k-core
realgud:trepan3k-init realgud-trepan2 realgud:trepan2-track-mode
realgud:trepan2-core realgud:trepan2-init realgud-trepanpl
realgud:trepanpl-track-mode realgud:trepanpl-core
realgud:trepanpl-init realgud-trepanjs
realgud:trepanjs-track-mode realgud:trepanjs-core
realgud:trepanjs-init realgud-trepan realgud:trepan-track-mode
realgud:trepan-core realgud:trepan-init realgud-remake
realgud:remake-track-mode realgud:remake-core
realgud:remake-init realgud-rdebug realgud-rdebug-track-mode
realgud-rdebug-core realgud-rdebug-init realgud-lang-ruby
realgud-perldb realgud:perldb-track-mode realgud:perldb-core
realgud:perldb-init realgud-lang-perl realgud-pdb
realgud:pdb-track-mode realgud:pdb-core realgud:pdb-init python
tramp-sh tramp tramp-compat tramp-loaddefs trampver parse-time
realgud-nodejs realgud:nodejs-track-mode realgud:nodejs-core
realgud:nodejs-init realgud-lang-js realgud-kshdb
realgud:kshdb-track-mode realgud:kshdb-core realgud:kshdb-init
realgud-jdb realgud:jdb-track-mode realgud:jdb-core
realgud:jdb-init realgud-lang-java gud realgud-ipdb
realgud:ipdb-track-mode realgud:ipdb-core realgud:ipdb-init
realgud-lang-python realgud-gub realgud:gub-track-mode
realgud:gub-core realgud:gub-init realgud-gdb
realgud:gdb-track-mode realgud:gdb-init realgud:gdb-core
realgud-bashdb realgud:bashdb-track-mode realgud:bashdb-core
realgud:bashdb-init realgud-lang-posix-shell realgud:run
realgud-track-mode realgud-backtrace-mode realgud-track
realgud-shortkey realgud-menu realgud-eval realgud-cmds
realgud-send realgud-window realgud-utils subr-x thingatpt
realgud-init realgud-file compile esh-var esh-io esh-cmd esh-opt
esh-ext esh-proc esh-arg esh-groups eshell esh-module esh-util
esh-mode realgud-core realgud-reset realgud-buffer-helper
realgud-buffer-backtrace realgud-buffer-command
realgud-buffer-info realgud-regexp json map realgud-lochist
org-element avl-tree generator org org-macro org-footnote
org-pcomplete org-list org-faces org-entities noutline outline
easy-mmode org-version ob-emacs-lisp ob ob-tangle org-src ob-ref
ob-lob ob-table ob-keys ob-exp ob-comint ob-core ob-eval
org-compat org-macs org-loaddefs format-spec find-func cal-menu
calendar cal-loaddefs realgud-bp realgud-bp-image-data
realgud-loc realgud-buffer-source realgud-key key realgud-follow
realgud-lang realgud-fringe realgud-helper loc-changes
realgud-custom load-relative cc-styles cc-align cc-engine
cc-vars cc-defs emacs-grammarly mailrc warnings advice vm-reply
vm-virtual vm-summary-faces vm-pop utf7 mm-util mail-prsvr
vm-imap vm-thread vm-mime vm-motion vm-mouse vm-toolbar vm-menu
vm-window vm-crypto vm-summary vm-folder vm-minibuf vm-misc
timezone vm-pcrisis vm-autoload vm-autoloads vm-vars vm-version
vm medutil background shell pcomplete comint ansi-color ring
exec-path-from-shell finder-inf tex-site edmacro kmacro info
package easymenu epg-config url-handlers url-parse auth-source
cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache
url-vars seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs
cl-lib time-date tooltip eldoc electric uniquify ediff-hook
vc-hooks lisp-float-type mwheel term/ns-win ns-win ucs-normalize
mule-util term/common-win tool-bar dnd fontset image regexp-opt
fringe tabulated-list replace newcomment text-mode elisp-mode
lisp-mode prog-mode register page menu-bar rfn-eshadow isearch
timer select scroll-bar mouse jit-lock font-lock syntax facemenu
font-core term/tty-colors frame cl-generic cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese composite charscript
charprop case-table epa-hook jka-cmpr-hook help simple abbrev
obarray minibuffer cl-preloaded nadvice loaddefs button faces
cus-face macroexp files text-properties overlay sha1 md5 base64
format env code-pages mule custom widget
hashtable-print-readable backquote kqueue cocoa ns lcms2
multi-tty make-network-process emacs)

Memory information:
((conses 16 614688 60961)
 (symbols 48 49555 3)
 (miscs 40 383 1727)
 (strings 32 153310 3426)
 (string-bytes 1 4596805)
 (vectors 16 71557)
 (vector-slots 8 1518207 71332)
 (floats 8 203 571)
 (intervals 56 12272 487)
 (buffers 992 29))

--- ../orig/ispell.el	2019-02-24 10:14:18.000000000 -0800
+++ ispell.el	2019-02-24 10:17:50.000000000 -0800
@@ -1256,7 +1256,6 @@
 (defun ispell-set-spellchecker-params ()
   "Initialize some spellchecker parameters when changed or first used."
   (unless (eq ispell-last-program-name ispell-program-name)
-    (setq ispell-last-program-name ispell-program-name)
     (ispell-kill-ispell t)
     (if (and (condition-case ()
 		 (progn
@@ -1371,7 +1370,8 @@
                            (nth 7 adict)))
                       adict)
                     tmp-dicts-alist :test #'equal))
-      (setq ispell-dictionary-alist tmp-dicts-alist))))
+      (setq ispell-dictionary-alist tmp-dicts-alist)))
+      (setq ispell-last-program-name ispell-program-name))
 
 (defun ispell-valid-dictionary-list ()
   "Return a list of valid dictionaries.