Mark Purtill writes:
================================================================
Dear Bug Team!
Using xemacs-21.4.20 and the 2006-12-21 sumos,
icalendar-import-buffer hangs on any input (or, at least, any imput
I've tried).
The problem is that icalendar--rris is passed arguments in the
order (regexp newtext string), and passes them on to
replace-in-string in the same order. But replace-in-string wants
the order (string regexp newtext). So any time something is being
replaced with "" (newtext is ""), replace-in-string thinks the
regexp is "" and goes into an infinite loop.
(BTW, fixing this eliminates the hang, but icalendar-import-buffer
still doesn't work; it can't find the icalendar message.)
I can confirm that this is indeed the case. The following patch seems
to fix things. Mark, can you test this please?
Jeff
--- icalendar.el.orig 2007-01-20 19:06:19.000000000 -0500
+++ icalendar.el 2007-01-20 19:07:56.000000000 -0500
@@ -224,16 +224,16 @@
(replace-match "" nil nil)))
unfolded-buffer))
-(defsubst icalendar--rris (&rest args)
+(defsubst icalendar--rris (regexp newtext str &optional fixed-case literal)
"Replace regular expression in string.
Pass ARGS to `replace-regexp-in-string' (Emacs) or to
`replace-in-string' (XEmacs)."
;; XEmacs:
(if (fboundp 'replace-in-string)
(save-match-data ;; apparently XEmacs needs save-match-data
- (apply 'replace-in-string args))
+ (replace-in-string str regexp newtext literal ))
;; Emacs:
- (apply 'replace-regexp-in-string args)))
+ (replace-regexp-in-string regexp newtext str args fixed-case literal)))
(defun icalendar--read-element (invalue inparams)
"Recursively read the next iCalendar element in the current buffer.
--
Jeff Miller
jmiller(a)cablespeed.com
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta