diff --git a/haskell-cabal.el b/haskell-cabal.el index a514887da..f7a214c6b 100644 --- a/haskell-cabal.el +++ b/haskell-cabal.el @@ -51,7 +51,6 @@ (require 'cl-lib) (require 'haskell-utils) -(require 'haskell-mode) (defconst haskell-cabal-general-fields ;; Extracted with (haskell-cabal-extract-fields-from-doc "general-fields") diff --git a/haskell-debug.el b/haskell-debug.el index d6119e06f..38a6859bb 100644 --- a/haskell-debug.el +++ b/haskell-debug.el @@ -23,6 +23,7 @@ (require 'haskell-process) (require 'haskell-interactive-mode) (require 'haskell-font-lock) +(require 'haskell-utils) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Configuration diff --git a/haskell-doc.el b/haskell-doc.el index 44aa55438..58afda0aa 100644 --- a/haskell-doc.el +++ b/haskell-doc.el @@ -305,6 +305,7 @@ (require 'haskell-mode) (require 'haskell-process) (require 'haskell) +(require 'haskell-utils) (require 'inf-haskell) (require 'imenu) (require 'eldoc) diff --git a/haskell-hoogle.el b/haskell-hoogle.el index 67f5c7fbd..62aaaaad7 100644 --- a/haskell-hoogle.el +++ b/haskell-hoogle.el @@ -28,6 +28,7 @@ (require 'ansi-color) (require 'haskell-mode) +(require 'haskell-utils) (defcustom haskell-hoogle-command diff --git a/haskell-interactive-mode.el b/haskell-interactive-mode.el index 34eef0a40..98037843a 100644 --- a/haskell-interactive-mode.el +++ b/haskell-interactive-mode.el @@ -36,6 +36,7 @@ (require 'haskell-session) (require 'haskell-font-lock) (require 'haskell-presentation-mode) +(require 'haskell-utils) (require 'ansi-color) (require 'cl-lib) diff --git a/haskell-load.el b/haskell-load.el index 9de12cb1f..fc3a14bcf 100644 --- a/haskell-load.el +++ b/haskell-load.el @@ -26,6 +26,7 @@ (require 'haskell-modules) (require 'haskell-commands) (require 'haskell-session) +(require 'haskell-utils) (defun haskell-process-look-config-changes (session) "Check whether a cabal configuration file has changed. diff --git a/haskell-mode.el b/haskell-mode.el index 780c94878..8e927c65e 100644 --- a/haskell-mode.el +++ b/haskell-mode.el @@ -663,10 +663,6 @@ May return a qualified name." (defvar eldoc-print-current-symbol-info-function) -(defvar haskell-mode-interactive-prompt-state nil - "Special variable indicating a state of user input waiting.") - - ;; The main mode functions ;;;###autoload (define-derived-mode haskell-mode prog-mode "Haskell" @@ -1073,12 +1069,6 @@ successful, nil otherwise." (goto-char (point-min)) (end-of-line))) -(defun haskell-mode-toggle-interactive-prompt-state (&optional disabled) - "Set `haskell-mode-interactive-prompt-state' to t. -If given DISABLED argument sets variable value to nil, otherwise to t." - (setq haskell-mode-interactive-prompt-state (not disabled))) - - ;; Provide ourselves: (provide 'haskell-mode) diff --git a/haskell-utils.el b/haskell-utils.el index ba1cd2f40..239bb8383 100644 --- a/haskell-utils.el +++ b/haskell-utils.el @@ -35,18 +35,22 @@ ;;; Code: -;; NOTE: This module is supposed to be a leaf-module and shall not -;; require/depend-on any other haskell-mode modules in order to -;; stay at the bottom of the module dependency graph. +;; ============================================================================= +;; NOTE: +;; THIS MODULE IS SUPPOSED TO BE A LEAF-MODULE AND SHALL NOT REQUIRE/DEPEND-ON +;; ANY OTHER HASKELL-MODE MODULES IN ORDER TO STAY AT THE BOTTOM OF THE MODULE +;; DEPENDENCY GRAPH. +;; ============================================================================= (eval-when-compile (require 'cl-lib)) -(require 'haskell-customize) - (defvar haskell-utils-async-post-command-flag nil "Non-nil means some commands were triggered during async function execution.") (make-variable-buffer-local 'haskell-utils-async-post-command-flag) +(defvar haskell-mode-interactive-prompt-state nil + "Special variable indicating a state of user input waiting.") + (defun haskell-utils-read-directory-name (prompt default) "Read directory name and normalize to true absolute path. Refer to `read-directory-name' for the meaning of PROMPT and @@ -180,5 +184,11 @@ expression bounds." end-c value))))) + +(defun haskell-mode-toggle-interactive-prompt-state (&optional disabled) + "Set `haskell-mode-interactive-prompt-state' to t. +If given DISABLED argument sets variable value to nil, otherwise to t." + (setq haskell-mode-interactive-prompt-state (not disabled))) + (provide 'haskell-utils) ;;; haskell-utils.el ends here diff --git a/tests/haskell-doc-tests.el b/tests/haskell-doc-tests.el index ee159cea3..6a3fc00a8 100644 --- a/tests/haskell-doc-tests.el +++ b/tests/haskell-doc-tests.el @@ -31,6 +31,7 @@ (require 'haskell-mode) (require 'haskell-doc) (require 'haskell-test-utils) +(require 'haskell-utils) (ert-deftest interactive-prompt-state ()