summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Rudalics <rudalics@gmx.at>2007-05-17 08:28:29 +0000
committerMartin Rudalics <rudalics@gmx.at>2007-05-17 08:28:29 +0000
commitef1f3012faf1ef629c7b82e9dcbf043a78d8b4ab (patch)
tree17ee51c6ca316848c1fc6280516dd4cf2afb7f03
parent464df798e9bacb3a7ec9c0ead081c31e3e1d024d (diff)
downloademacs-ef1f3012faf1ef629c7b82e9dcbf043a78d8b4ab.tar.gz
(ispell-start-process): Defend against bad default-directory.
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/textmodes/ispell.el7
2 files changed, 11 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 650348ed7ab..7d083fb7976 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2007-05-17 Martin Rudalics <rudalics@gmx.at>
+
+ * textmodes/ispell.el (ispell-start-process): Defend against bad
+ default-directory.
+
2007-05-17 Stefan Monnier <monnier@iro.umontreal.ca>
* vc-hooks.el (vc-find-root): Stop searching when the user changes.
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
index a3c9575d90c..e4b2dd9f040 100644
--- a/lisp/textmodes/ispell.el
+++ b/lisp/textmodes/ispell.el
@@ -2483,7 +2483,12 @@ When asynchronous processes are not supported, `run' is always returned."
(defun ispell-start-process ()
"Start the ispell process, with support for no asynchronous processes.
Keeps argument list for future ispell invocations for no async support."
- (let (args)
+ (let ((default-directory default-directory)
+ args)
+ (unless (and (file-directory-p default-directory)
+ (file-readable-p default-directory))
+ ;; Defend against bad `default-directory'.
+ (setq default-directory (expand-file-name "~/")))
;; Local dictionary becomes the global dictionary in use.
(setq ispell-current-dictionary
(or ispell-local-dictionary ispell-dictionary))