[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master f9d6e46 2/2: Factor out some common code in ispell.el
From: |
Reuben Thomas |
Subject: |
master f9d6e46 2/2: Factor out some common code in ispell.el |
Date: |
Tue, 3 Nov 2020 11:57:11 -0500 (EST) |
branch: master
commit f9d6e463d310db0e1931f26609d938531c56f9c3
Author: Reuben Thomas <rrt@sc3d.org>
Commit: Reuben Thomas <rrt@sc3d.org>
Factor out some common code in ispell.el
* lisp/textmodes/ispell.el (ispell-with-safe-default-directory): Add
macro.
(ispell-call-process, ispell-call-process-region): Use it.
---
lisp/textmodes/ispell.el | 21 +++++++++++++--------
1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
index 60415b0..c185f9f 100644
--- a/lisp/textmodes/ispell.el
+++ b/lisp/textmodes/ispell.el
@@ -769,18 +769,23 @@ Otherwise returns the library directory name, if that is
defined."
(setq ispell-really-hunspell nil))))))
result))
+(defmacro ispell-with-safe-default-directory (&rest body)
+ "Execute the forms in BODY with a reasonable
+`default-directory'."
+ (declare (indent 0) (debug t))
+ `(let ((default-directory default-directory))
+ (unless (file-accessible-directory-p default-directory)
+ (setq default-directory (expand-file-name "~/")))
+ ,@body))
+
(defun ispell-call-process (&rest args)
- "Like `call-process' but defend against bad `default-directory'."
- (let ((default-directory default-directory))
- (unless (file-accessible-directory-p default-directory)
- (setq default-directory (expand-file-name "~/")))
+ "Like `call-process', but defend against bad `default-directory'."
+ (ispell-with-safe-default-directory
(apply 'call-process args)))
(defun ispell-call-process-region (&rest args)
- "Like `call-process-region' but defend against bad `default-directory'."
- (let ((default-directory default-directory))
- (unless (file-accessible-directory-p default-directory)
- (setq default-directory (expand-file-name "~/")))
+ "Like `call-process-region', but defend against bad `default-directory'."
+ (ispell-with-safe-default-directory
(apply 'call-process-region args)))
(defvar ispell-debug-buffer)