+ (insert-tab prefix-arg)
+ (if prefix-arg
+ (funcall indent-line-function prefix-arg)
+ (funcall indent-line-function))))
+
+(defun insert-tab (&optional prefix-arg)
+ (let ((count (prefix-numeric-value prefix-arg)))
+ (if (and abbrev-mode
+ (eq (char-syntax (preceding-char)) ?w))
+ (expand-abbrev))
+ (if indent-tabs-mode
+ (insert-char ?\t count)
+ (indent-to (* tab-width (+ count (/ (current-column) tab-width)))))))