If the string begins with ^' andshift-select-mode' is non-nil, Emacs first
calls the function `handle-shift-select'.
--- a/.emacs-my Sat Sep 06 13:09:08 2014 +0300
+++ b/.emacs-my Sat Sep 06 13:12:29 2014 +0300
@@ -757,7 +757,7 @@
(defun my-smart-beginning-of-line ()
"Move point to beginning-of-line. If repeat command it cycle
position between `back-to-indentation' and `beginning-of-line'."
- (interactive)
+ (interactive "^")
(if (and (eq last-command 'my-smart-beginning-of-line)
(= (line-beginning-position) (point)))
(back-to-indentation)