diff --git a/README.md b/README.md
index 74d9bfb..8388019 100644
--- a/README.md
+++ b/README.md
@@ -286,7 +286,7 @@ Keybinding | Description
C-c n | Fix indentation in buffer and strip whitespace.
C-c f | Open recently visited file.
C-M-\\ | Indent region (if selected) or the entire buffer.
-C-c u | Open URL in your default browser.
+C-c u | Open a new buffer containing the contents of URL.
C-c e | Eval a bit of Emacs Lisp code and replace it with its result.
C-c s | Swap two active windows.
C-c D | Delete current file and buffer.
diff --git a/core/prelude-core.el b/core/prelude-core.el
index 72cb62c..265803f 100644
--- a/core/prelude-core.el
+++ b/core/prelude-core.el
@@ -266,8 +266,11 @@ there's a region, all lines that region covers will be duplicated."
(url (read-from-minibuffer "URL: " default)))
(switch-to-buffer (url-retrieve-synchronously url))
(rename-buffer url t)
- (cond ((search-forward " to open a file with external program."
diff --git a/modules/prelude-evil.el b/modules/prelude-evil.el
index aaf6acc..ef57aee 100644
--- a/modules/prelude-evil.el
+++ b/modules/prelude-evil.el
@@ -48,6 +48,9 @@
(setq evil-insert-state-cursor '("gray" bar))
(setq evil-motion-state-cursor '("gray" box))
+;; prevent esc-key from translating to meta-key in terminal mode
+(setq evil-esc-delay 0)
+
(evil-mode 1)
(global-evil-surround-mode 1)
diff --git a/modules/prelude-haskell.el b/modules/prelude-haskell.el
index 7adff88..5a35a3f 100644
--- a/modules/prelude-haskell.el
+++ b/modules/prelude-haskell.el
@@ -40,7 +40,8 @@
(defun prelude-haskell-mode-defaults ()
(subword-mode +1)
(turn-on-haskell-doc-mode)
- (turn-on-haskell-indentation))
+ (turn-on-haskell-indentation)
+ (interactive-haskell-mode +1))
(setq prelude-haskell-mode-hook 'prelude-haskell-mode-defaults)
diff --git a/modules/prelude-latex.el b/modules/prelude-latex.el
index 069af5d..b69072a 100644
--- a/modules/prelude-latex.el
+++ b/modules/prelude-latex.el
@@ -32,14 +32,25 @@
;;; Code:
-(prelude-require-packages '(auctex))
+(prelude-require-packages '(auctex cdlatex))
(require 'smartparens-latex)
+;; for case
+(require 'cl)
(eval-after-load "company"
'(progn
(prelude-require-packages '(company-auctex))
(company-auctex-init)))
+(defcustom prelude-latex-fast-math-entry 'LaTeX-math-mode
+ "Method used for fast math symbol entry in LaTeX."
+ :link '(function-link :tag "AUCTeX Math Mode" LaTeX-math-mode)
+ :link '(emacs-commentary-link :tag "CDLaTeX" "cdlatex.el")
+ :group 'prelude
+ :type '(choice (const :tag "None" nil)
+ (const :tag "AUCTeX Math Mode" LaTeX-math-mode)
+ (const :tag "CDLaTeX" cdlatex)))
+
;; AUCTeX configuration
(setq TeX-auto-save t)
(setq TeX-parse-self t)
@@ -65,7 +76,10 @@
"Default Prelude hook for `LaTeX-mode'."
(turn-on-auto-fill)
(abbrev-mode +1)
- (smartparens-mode +1))
+ (smartparens-mode +1)
+ (case prelude-latex-fast-math-entry
+ (LaTeX-math-mode (LaTeX-math-mode 1))
+ (cdlatex (turn-on-cdlatex))))
(setq prelude-latex-mode-hook 'prelude-latex-mode-defaults)
diff --git a/modules/prelude-ocaml.el b/modules/prelude-ocaml.el
index 913530e..2514a00 100644
--- a/modules/prelude-ocaml.el
+++ b/modules/prelude-ocaml.el
@@ -38,18 +38,26 @@
(require 'utop)
(require 'merlin)
-(add-hook 'tuareg-mode-hook 'tuareg-imenu-set-imenu)
-
(setq auto-mode-alist
(append '(("\\.ml[ily]?\\'" . tuareg-mode)
("\\.topml\\'" . tuareg-mode))
auto-mode-alist))
-(autoload 'utop-setup-ocaml-buffer "utop" "Toplevel for OCaml" t)
-
(add-hook 'tuareg-mode-hook 'utop-setup-ocaml-buffer)
(add-hook 'tuareg-mode-hook 'merlin-mode)
+(add-hook 'tuareg-mode-hook (lambda ()
+ (progn
+ (define-key tuareg-mode-map (kbd "C-c C-s")
+ 'utop))))
+
+;; Setup merlin completions company is used by default in prelude
+(add-to-list 'company-backends 'merlin-company-backend)
+
+;; But merlin also offers support for autocomplete, uncomment this next line
+;; to activate it.
+;; (setq merlin-use-auto-complete-mode t)
+
(setq utop-command "opam config exec \"utop -emacs\""
merlin-error-after-save nil)