summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/icomplete.el4
2 files changed, 8 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index cc5851373b0..629b5b19d93 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2012-02-20 Leo Liu <sdl.web@gmail.com>
+
+ * icomplete.el (icomplete-completions): Check FROM arg before
+ passing to substring (Bug#10850).
+
2012-02-19 Chong Yidong <cyd@gnu.org>
* comint.el: Require ansi-color.
diff --git a/lisp/icomplete.el b/lisp/icomplete.el
index 80a0bf1435b..a9719651957 100644
--- a/lisp/icomplete.el
+++ b/lisp/icomplete.el
@@ -347,7 +347,9 @@ are exhibited within the square braces.)"
(setq prospects nil)
(while (and comps (not limit))
(setq comp
- (if prefix-len (substring (car comps) prefix-len) (car comps))
+ (if (and prefix-len (<= prefix-len (length (car comps))))
+ (substring (car comps) prefix-len)
+ (car comps))
comps (cdr comps))
(cond ((string-equal comp "") (setq most-is-exact t))
((member comp prospects))