       (forward-sexp)
       (shut-up
         (smart-eval-outer-sexp nil)))))
+
+(provide 'smart-eval)
+;;; smart-eval.el ends here

;;
;; 4. Always open a debugger if the evaluation throws an error.
;;
;; Note that eval-last-sexp sets debug-on-error regardless of what it
;; was set to before. Customise eval-expression-debug-on-error to
;; change it. We need to think about what's best for smart-eval
;; (always debug I think).
(require 'shut-up)

(defun smart-eval-sexp ()
  (interactive)
  )

;;; smart-eval.el --- helpful eval, re-eval and uneval for elisp

;; Copyright (C) 2014 Wilfred Hughes <me@wilfred.me.uk>
;;
;; Author: Wilfred Hughes <me@wilfred.me.uk>
;; Created: 18 October 2014
;; Version: 0.1

;;; Commentary:
;; When evaluating an elisp buffer, we want the following features:
;;
;; 1. Evaluate the current content.  This could either be the form
;; before point, the top-level form enclosing point, a region, or a
;; buffer.
;; 
