summaryrefslogtreecommitdiffstatsabout
authorLars Ingebrigtsen <larsi@gnus.org>2012-09-06 17:19:39 (GMT)
committer Lars Ingebrigtsen <larsi@gnus.org>2012-09-06 17:19:39 (GMT)
commitf4b7a91b0d9643734042ca05e02a79aafee8fbf9 (patch) (side-by-side diff)
tree4515eb6537baa107c146dc941bfc4cedbcf91fb7
parente77aeb4c7ed753bd554fd48beac8cb886df18997 (diff)
downloadgnus-f4b7a91b0d9643734042ca05e02a79aafee8fbf9.zip
* gnus-util.el: Fix compilation error on XEmacs 21.4.
-rw-r--r--lisp/ChangeLog4
-rw-r--r--lisp/gnus-util.el7
2 files changed, 9 insertions, 2 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index dd628f6..880b7d8 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,7 @@
+2012-09-06 Lars Ingebrigtsen <larsi@gnus.org>
+
+ * gnus-util.el: Fix compilation error on XEmacs 21.4.
+
2012-09-06 Juri Linkov <juri@jurta.org>
* gnus-group.el (gnus-read-ephemeral-gmane-group): Change the naming
diff --git a/lisp/gnus-util.el b/lisp/gnus-util.el
index 791e744..0c048e6 100644
--- a/lisp/gnus-util.el
+++ b/lisp/gnus-util.el
@@ -1919,8 +1919,11 @@ Same as `string-match' except this function does not change the match data."
"Return non-nil if STR1 is a prefix of STR2.
If IGNORE-CASE is non-nil, the comparison is done without paying attention
to case differences."
- (eq t (compare-strings str1 nil nil
- str2 0 (length str1) ignore-case))))
+ (and (<= (length str1) (length str2))
+ (let ((prefix (substring str2 0 (length str1))))
+ (if ignore-case
+ (string-equal (downcase str1) (downcase prefix))
+ (string-equal str1 prefix))))))
(eval-and-compile
(if (fboundp 'macroexpand-all)