Skip to content

Commit c440796

Browse files
committed
Move haskell-read-directory-name to new haskell-utils.el
This addresses #187 by removing the haskell-cabal->haskell-process dependency.
1 parent 82e2e97 commit c440796

File tree

3 files changed

+16
-14
lines changed

3 files changed

+16
-14
lines changed

haskell-cabal.el

+2-3
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,7 @@
4949
;; fields))
5050

5151
(with-no-warnings (require 'cl))
52-
53-
(declare-function haskell-read-directory-name "haskell-process.el" (prompt default))
52+
(require 'haskell-utils)
5453

5554
(defconst haskell-cabal-general-fields
5655
;; Extracted with (haskell-cabal-extract-fields-from-doc "general-fields")
@@ -164,7 +163,7 @@
164163
and indeed just prompting the user. Do them all."
165164
(let* ((file (haskell-cabal-find-file))
166165
(dir (when file (file-name-directory file))))
167-
(haskell-read-directory-name
166+
(haskell-utils-read-directory-name
168167
(format "Cabal dir%s: " (if file (format " (guessed from %s)" (file-relative-name file)) ""))
169168
dir)))
170169

haskell-process.el

+1-11
Original file line numberDiff line numberDiff line change
@@ -766,7 +766,7 @@ from `module-buffer'."
766766
(haskell-session-get session 'current-dir))
767767
(progn (haskell-session-set-current-dir
768768
session
769-
(haskell-read-directory-name
769+
(haskell-utils-read-directory-name
770770
(if change "Change directory: " "Set current directory: ")
771771
(or (haskell-session-get session 'current-dir)
772772
(haskell-session-get session 'cabal-dir)
@@ -775,16 +775,6 @@ from `module-buffer'."
775775
"~/"))))
776776
(haskell-session-get session 'current-dir))))
777777

778-
(defun haskell-read-directory-name (prompt default)
779-
"Read in a directory name, properly normalized."
780-
(let ((filename (file-truename
781-
(read-directory-name
782-
prompt
783-
default
784-
default))))
785-
(concat (replace-regexp-in-string "/$" "" filename)
786-
"/")))
787-
788778
(defun haskell-process-change-dir (session process dir)
789779
"Change the directory of the current process."
790780
(haskell-process-queue-command

haskell-utils.el

+13
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,19 @@
3838
;; require/depend-on any other haskell-mode modules in order to
3939
;; stay at the bottom of the module dependency graph.
4040

41+
42+
(defun haskell-utils-read-directory-name (prompt default)
43+
"Read directory name and normalize to true absolute path.
44+
Refer to `read-directory-name' for the meaning of PROMPT and
45+
DEFAULT."
46+
(let ((filename (file-truename
47+
(read-directory-name prompt
48+
default
49+
default))))
50+
(concat (replace-regexp-in-string "/$" "" filename)
51+
"/")))
52+
53+
4154
(provide 'haskell-utils)
4255

4356
;;; haskell-utils.el ends here

0 commit comments

Comments
 (0)