# HG changeset patch # User Richard M. Stallman # Date 1027004266 0 # Node ID 25e7debccc642dda45b9a57718cd524c35217270 # Parent 272c43ada08769e63bd82f287831b82f3c7bb625 (choose-completion-delete-max-match): Handle minibuffer prompts explicitly. diff -r 272c43ada087 -r 25e7debccc64 lisp/simple.el --- a/lisp/simple.el Thu Jul 18 09:42:56 2002 +0000 +++ b/lisp/simple.el Thu Jul 18 14:57:46 2002 +0000 @@ -3782,14 +3782,17 @@ ;; that can be found before POINT. (defun choose-completion-delete-max-match (string) (let ((opoint (point)) - (len (min (length string) - (- (point) (point-min))))) - (goto-char (- (point) (length string))) + len) + ;; Try moving back by the length of the string. + (goto-char (max (- (point) (length string)) + (minibuffer-prompt-end))) + ;; See how far back we were actually able to move. That is the + ;; upper bound on how much we can match and delete. + (setq len (- opoint (point))) (if completion-ignore-case (setq string (downcase string))) (while (and (> len 0) - (let ((tail (buffer-substring (point) - (+ (point) len)))) + (let ((tail (buffer-substring (point) opoint))) (if completion-ignore-case (setq tail (downcase tail))) (not (string= tail (substring string 0 len)))))