diff --git a/README.md b/README.md
index d5c24bbe49..6ac3bedaa9 100644
--- a/README.md
+++ b/README.md
@@ -70,7 +70,7 @@ can skip the whole manual and just type in your favorite shell the
following command:
```bash
-curl -L http://git.io/epre | sh
+curl -L https://git.io/epre | sh
```
You can now power up your Emacs, sit back and enjoy Prelude,
@@ -278,6 +278,7 @@ Keybinding | Description
F11 | Make the window full screen.
F12 | Toggle the Emacs menu bar.
C-x g | Open Magit's status buffer.
+C-x M-g | Open Magit's popup of popups.
M-Z | Zap up to char.
C-= | Run `expand-region` (incremental text selection).
C-a | Run `prelude-move-beginning-of-line`. Read [this](http://emacsredux.com/blog/2013/05/22/smarter-navigation-to-the-beginning-of-a-line/) for details.
diff --git a/core/prelude-core.el b/core/prelude-core.el
index c59028e498..1051236efc 100644
--- a/core/prelude-core.el
+++ b/core/prelude-core.el
@@ -248,7 +248,7 @@ there's a region, all lines that region covers will be duplicated."
(if (vc-backend filename)
(vc-delete-file filename)
(when (y-or-n-p (format "Are you sure you want to delete %s? " filename))
- (delete-file filename)
+ (delete-file filename delete-by-moving-to-trash)
(message "Deleted file %s" filename)
(kill-buffer))))))
diff --git a/core/prelude-editor.el b/core/prelude-editor.el
index 65d84c7e0f..e15b1c28a3 100644
--- a/core/prelude-editor.el
+++ b/core/prelude-editor.el
@@ -141,8 +141,6 @@
(mapcar 'file-truename (list prelude-savefile-dir package-user-dir)))))
(add-to-list 'recentf-exclude 'prelude-recentf-exclude-p)
-;; ignore magit's commit message files
-(add-to-list 'recentf-exclude "COMMIT_EDITMSG\\'")
(recentf-mode +1)
@@ -196,10 +194,11 @@ The body of the advice is in BODY."
;; note - this should be after volatile-highlights is required
;; add the ability to cut the current line, without marking it
+(require 'rect)
(defadvice kill-region (before smart-cut activate compile)
"When called interactively with no active region, kill a single line instead."
(interactive
- (if mark-active (list (region-beginning) (region-end))
+ (if mark-active (list (region-beginning) (region-end) rectangle-mark-mode)
(list (line-beginning-position)
(line-beginning-position 2)))))
diff --git a/core/prelude-global-keybindings.el b/core/prelude-global-keybindings.el
index 683a0a2cdb..aea98fb682 100644
--- a/core/prelude-global-keybindings.el
+++ b/core/prelude-global-keybindings.el
@@ -89,12 +89,7 @@
(global-set-key [remap kill-whole-line] 'prelude-kill-whole-line)
;; Activate occur easily inside isearch
-(define-key isearch-mode-map (kbd "C-o")
- (lambda () (interactive)
- (let ((case-fold-search isearch-case-fold-search))
- (occur (if isearch-regexp
- isearch-string
- (regexp-quote isearch-string))))))
+(define-key isearch-mode-map (kbd "C-o") 'isearch-occur)
;; use hippie-expand instead of dabbrev
(global-set-key (kbd "M-/") 'hippie-expand)
@@ -109,6 +104,7 @@
(global-set-key (kbd "") 'menu-bar-mode)
(global-set-key (kbd "C-x g") 'magit-status)
+(global-set-key (kbd "C-x M-g") 'magit-dispatch-popup)
(global-set-key (kbd "C-=") 'er/expand-region)
diff --git a/core/prelude-mode.el b/core/prelude-mode.el
index ebd13cffcc..7f59b431b5 100644
--- a/core/prelude-mode.el
+++ b/core/prelude-mode.el
@@ -73,8 +73,8 @@
(define-key map (kbd "s-k") 'prelude-kill-whole-line)
(define-key map (kbd "s-m m") 'magit-status)
(define-key map (kbd "s-m l") 'magit-log)
- (define-key map (kbd "s-m f") 'magit-file-log)
- (define-key map (kbd "s-m b") 'magit-blame-mode)
+ (define-key map (kbd "s-m f") 'magit-log-buffer-file)
+ (define-key map (kbd "s-m b") 'magit-blame)
(define-key map (kbd "s-o") 'prelude-smart-open-line-above)
map)
diff --git a/core/prelude-packages.el b/core/prelude-packages.el
index 04eeca52a4..49410c919e 100644
--- a/core/prelude-packages.el
+++ b/core/prelude-packages.el
@@ -66,6 +66,7 @@
magit
move-text
operate-on-number
+ smart-mode-line
smartparens
smartrep
undo-tree
@@ -142,6 +143,7 @@ PACKAGE is installed only if not already present. The file is opened in MODE."
("\\.groovy\\'" groovy-mode groovy-mode)
("\\.haml\\'" haml-mode haml-mode)
("\\.hs\\'" haskell-mode haskell-mode)
+ ("\\.json\\'" json-mode json-mode)
("\\.kv\\'" kivy-mode kivy-mode)
("\\.latex\\'" auctex LaTeX-mode)
("\\.less\\'" less-css-mode less-css-mode)
@@ -161,6 +163,7 @@ PACKAGE is installed only if not already present. The file is opened in MODE."
("\\.scala\\'" scala-mode2 scala-mode)
("\\.scss\\'" scss-mode scss-mode)
("\\.slim\\'" slim-mode slim-mode)
+ ("\\.styl\\'" stylus-mode stylus-mode)
("\\.swift\\'" swift-mode swift-mode)
("\\.textile\\'" textile-mode textile-mode)
("\\.thrift\\'" thrift thrift-mode)
diff --git a/core/prelude-ui.el b/core/prelude-ui.el
index bf59f5772d..e9a4b67e92 100644
--- a/core/prelude-ui.el
+++ b/core/prelude-ui.el
@@ -71,5 +71,11 @@
(when prelude-theme
(load-theme prelude-theme t))
+(require 'smart-mode-line)
+(setq sml/no-confirm-load-theme t)
+;; delegate theming to the currently active theme
+(setq sml/theme nil)
+(add-hook 'after-init-hook #'sml/setup)
+
(provide 'prelude-ui)
;;; prelude-ui.el ends here
diff --git a/modules/prelude-go.el b/modules/prelude-go.el
index 36be9e3a6e..d71144574c 100644
--- a/modules/prelude-go.el
+++ b/modules/prelude-go.el
@@ -78,14 +78,7 @@
(setq prelude-go-mode-hook 'prelude-go-mode-defaults)
(add-hook 'go-mode-hook (lambda ()
- (run-hooks 'prelude-go-mode-hook)))
-
- ;; Enable go-oracle-mode if available
- (let ((oracle (executable-find "oracle")))
- (when oracle
- (setq go-oracle-command oracle)
- (autoload 'go-oracle-mode "oracle")
- (add-hook 'go-mode-hook 'go-oracle-mode)))))
+ (run-hooks 'prelude-go-mode-hook)))))
(provide 'prelude-go)
;;; prelude-go.el ends here
diff --git a/modules/prelude-haskell.el b/modules/prelude-haskell.el
index efec7fab5f..000f0719a7 100644
--- a/modules/prelude-haskell.el
+++ b/modules/prelude-haskell.el
@@ -39,8 +39,8 @@
'(progn
(defun prelude-haskell-mode-defaults ()
(subword-mode +1)
- (turn-on-haskell-doc-mode)
- (turn-on-haskell-indentation)
+ (haskell-doc-mode)
+ (haskell-indentation-mode)
(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 92cbc1ef87..ee701bf580 100644
--- a/modules/prelude-latex.el
+++ b/modules/prelude-latex.el
@@ -54,6 +54,8 @@
;; AUCTeX configuration
(setq TeX-auto-save t)
(setq TeX-parse-self t)
+(setq TeX-close-quote "")
+(setq TeX-open-quote "")
(setq-default TeX-master nil)
diff --git a/modules/prelude-ruby.el b/modules/prelude-ruby.el
index ade7d94373..5a3df4160b 100644
--- a/modules/prelude-ruby.el
+++ b/modules/prelude-ruby.el
@@ -44,6 +44,7 @@
(add-to-list 'auto-mode-alist '("Gemfile\\'" . ruby-mode))
(add-to-list 'auto-mode-alist '("Guardfile\\'" . ruby-mode))
(add-to-list 'auto-mode-alist '("Capfile\\'" . ruby-mode))
+(add-to-list 'auto-mode-alist '("\\.cap\\'" . ruby-mode))
(add-to-list 'auto-mode-alist '("\\.thor\\'" . ruby-mode))
(add-to-list 'auto-mode-alist '("\\.rabl\\'" . ruby-mode))
(add-to-list 'auto-mode-alist '("Thorfile\\'" . ruby-mode))