Simplify region-or-whole solution and do it right
Simplify region-or-whole solution and do it right

- Macros were not needed here.. made the solution more complicated than
  it needed to be. Instead use a simply advice function and dolist to
  add the advice.
- Removed save-excursion from the advice fn; not needed.
- Fixed the right way of advising when needing to change the interactive
  form. As per
  http://thread.gmane.org/gmane.emacs.help/109025/focus=109102, do not
  change the function behavior if all you need is to change the command
  behavior (i.e. we simply need to make the command run even if region
  is not active.. override the "r" argument of interactive).
- The (when (null args) ..) portion is not required any more as now the
  advice only applies on its interactive call. So now when eval-region
  is called by eval-defun, eval-region runs in its original self (as
  remember that now the function behavior is not modified.)
- Break out the message giving feedback if the function ran on the whole
  buffer by using an :after advice.

kaushalmodi/.emacs.d,kaushalmodi/.emacs.d