diff options
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/comint.el | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lisp/comint.el b/lisp/comint.el index 03cc7d35782..8d8c0623a76 100644 --- a/lisp/comint.el +++ b/lisp/comint.el @@ -1081,12 +1081,15 @@ Similarly for Soar, Scheme, etc." (comint-replace-by-expanded-history) (buffer-substring pmark (point)))) (history (if (not (eq comint-input-autoexpand 'history)) - (comint-arguments input 0 nil) + input ;; This is messy 'cos ultimately the original ;; functions used do insertion, rather than return ;; strings. We have to expand, then insert back. (comint-replace-by-expanded-history) - (buffer-substring pmark (point))))) + (let ((copy (buffer-substring pmark (point)))) + (delete-region pmark (point)) + (insert input) + copy)))) (if comint-process-echoes (delete-region pmark (point)) (insert ?\n)) |