+(defun abbrev-string-to-be-defined (arg)
+ "Return the string for which an abbrev will be defined.
+ARG is the argument to `add-global-abbrev' or `add-mode-abbrev'."
+ (if (and (not arg) (region-active-p)) (setq arg 0)
+ (setq arg (prefix-numeric-value arg)))
+ (and (>= arg 0)
+ (buffer-substring
+ (point)
+ (if (= arg 0) (mark)
+ (save-excursion (forward-word (- arg)) (point))))))
+