ghc-mod 5.0.1.1 → 5.0.1.2
raw patch · 5 files changed
+28/−10 lines, 5 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- ChangeLog +7/−0
- elisp/ghc-check.el +1/−1
- elisp/ghc.el +12/−7
- ghc-mod.cabal +1/−1
- src/GHCModi.hs +7/−1
ChangeLog view
@@ -1,3 +1,10 @@+2014-08-29 v5.0.1.2+ * Merge #345, Try fixing duplicate errors+ * Merge #344, elisp: Use advice to check syntax on save-buffer+ * Merge #341, support `browse -d` in ghc-modi+ * Merge #352, elisp: Fix C-u accidentally getting turned into a+ prefix command+ 2014-08-24 v5.0.1.1 * Fix CaseSplitting faliure when using "fancy types" (see #336) * Print error information in "spec" test suite when using `extract`
elisp/ghc-check.el view
@@ -367,7 +367,7 @@ (defun ghc-check-insert-from-warning () (interactive) (let ((ret t))- (dolist (data (mapcar (lambda (ovl) (overlay-get ovl 'ghc-msg)) (ghc-check-overlay-at (point))) ret)+ (dolist (data (delete-dups (mapcar (lambda (ovl) (overlay-get ovl 'ghc-msg)) (ghc-check-overlay-at (point)))) ret) (save-excursion (cond ((string-match "Inferred type: \\|no type signature:" data)
elisp/ghc.el view
@@ -28,7 +28,7 @@ (< emacs-minor-version minor))) (error "ghc-mod requires at least Emacs %d.%d" major minor))) -(defconst ghc-version "5.0.0")+(defconst ghc-version "5.0.1.2") ;; (eval-when-compile ;; (require 'haskell-mode))@@ -64,7 +64,6 @@ (defvar ghc-sort-key "\es") (defvar ghc-type-key "\C-c\C-t") (defvar ghc-info-key "\C-c\C-i")-(defvar ghc-check-key "\C-x\C-s") (defvar ghc-toggle-key "\C-c\C-c") (defvar ghc-jump-key "\C-c\C-j") (defvar ghc-module-key "\C-c\C-m")@@ -74,7 +73,6 @@ (defvar ghc-shallower-key "\C-c<") (defvar ghc-deeper-key "\C-c>") ;(defvar ghc-case-split-key "\C-c\C-s")-(defvar ghc-initial-sig-key "\C-u\et") (defvar ghc-refine-key "\C-c\C-f") (defvar ghc-auto-key "\C-c\C-a") (defvar ghc-prev-hole-key "\C-c\ep")@@ -101,9 +99,8 @@ (define-key haskell-mode-map ghc-previous-key 'ghc-goto-prev-error) (define-key haskell-mode-map ghc-next-key 'ghc-goto-next-error) (define-key haskell-mode-map ghc-help-key 'ghc-display-errors)- (define-key haskell-mode-map ghc-insert-key 'ghc-insert-template)+ (define-key haskell-mode-map ghc-insert-key 'ghc-insert-template-or-signature) (define-key haskell-mode-map ghc-sort-key 'ghc-sort-lines)- (define-key haskell-mode-map ghc-check-key 'ghc-save-buffer) (define-key haskell-mode-map ghc-toggle-key 'ghc-toggle-check-command) (define-key haskell-mode-map ghc-jump-key 'ghc-jump-file) (define-key haskell-mode-map ghc-module-key 'ghc-insert-module)@@ -112,13 +109,15 @@ (define-key haskell-mode-map ghc-shallower-key 'ghc-make-indent-shallower) (define-key haskell-mode-map ghc-deeper-key 'ghc-make-indent-deeper) ;(define-key haskell-mode-map ghc-case-split-key 'ghc-case-split)- (define-key haskell-mode-map ghc-initial-sig-key 'ghc-initial-code-from-signature) (define-key haskell-mode-map ghc-refine-key 'ghc-refine) (define-key haskell-mode-map ghc-auto-key 'ghc-auto) (define-key haskell-mode-map ghc-prev-hole-key 'ghc-goto-prev-hole) (define-key haskell-mode-map ghc-next-hole-key 'ghc-goto-next-hole) (ghc-comp-init)- (setq ghc-initialized t))+ (setq ghc-initialized t)+ (defadvice save-buffer (after ghc-check-syntax-on-save activate)+ "Check syntax with GHC when a haskell-mode buffer is saved."+ (when (eq 'haskell-mode major-mode) (ghc-check-syntax)))) (ghc-import-module) (ghc-check-syntax)) @@ -151,5 +150,11 @@ (insert (format "\t%s\n" ghc-ver)) (insert "\nEnvironment variables:\n") (insert (format "\tPATH=%s\n" path))))++(defun ghc-insert-template-or-signature (&optional flag)+ (interactive "P")+ (if flag+ (ghc-initial-code-from-signature)+ (ghc-insert-template))) (provide 'ghc)
ghc-mod.cabal view
@@ -1,5 +1,5 @@ Name: ghc-mod-Version: 5.0.1.1+Version: 5.0.1.2 Author: Kazu Yamamoto <kazu@iij.ad.jp> Daniel Gröber <dxld@darkboxed.org> Alejandro Serrano <trupill@gmail.com>
src/GHCModi.hs view
@@ -316,5 +316,11 @@ -> ModuleString -> GhcModT m (String, Bool, Set FilePath) browseIt set mdl = do- ret <- browse mdl+ let (det,rest') = break (== ' ') mdl+ rest = dropWhile (== ' ') rest'+ ret <- if det == "-d"+ then withOptions setDetailed (browse rest)+ else browse mdl return (ret, True, set)+ where+ setDetailed opt = opt { detailed = True }