url-retrieve-synchronously becomes asynchronous when HTTP redirects are involved. When it encounters a redirect, url-http-parse-headers calls url-retrieve instead of url-retrieve-synchronously. Naively switching to the latter doesn't solve the problem and I haven't been able to find a fix..
I encountered the problem in Gnus using nnrss. I have an old URL for Slashdot's RSS feed and was experimenting with setting mm-url-use-external to nil. To reproduce, evaluate this in *scratch*: (mm-url-insert "http://slashdot.org/index.rss") You'll get this: ("http://slashdot.org/index.rss" 316) <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <HTML><HEAD> <TITLE>301 Moved Permanently</TITLE> </HEAD><BODY> <H1>Moved Permanently</H1> The document has moved <A HREF="http://rss.slashdot.org/Slashdot/slashdot">here</A>.<P> <HR> <ADDRESS>Apache/1.3.33 Server at slashdot.org Port 80</ADDRESS> </BODY></HTML> To make the problem go away, add a breakpoint before "(when redirect-uri" in url-http.el. Then re-run the test and wait a few seconds after hitting the breakpoint. Tell the debugger to continue and you will get the expected contents of Slashdot's RSS feed instead of the redirect message above. I'll keep trying to find a way to fix this but maybe it's trivial for somebody who already understands the URL library. _______________________________________________ emacs-pretest-bug mailing list [email protected] http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
