+2003-11-20 Simon Josefsson <jas@extundo.com>
+
+ * gnus.texi (Debugging IMAP): Add.
+
2003-11-19 Katsumi Yamaoka <yamaoka@jpl.org>
* gnus.texi (Score Decays): Update the gnus-decay-score function.
* Editing IMAP ACLs:: \e$B%a!<%k%\%C%/%9$X$NB>$NMxMQ<T$N;HMQ$r@)8B\e(B/\e$B5v2D$9$k\e(B
* Expunging mailboxes:: ``\e$B%a!<%k%\%C%/%905=L\e(B'' \e$B%\%?%s$HEy2A$J$b$N\e(B
* A note on namespaces:: gnus \e$B$G\e(B @acronym{IMAP} \e$BL>A06u4V$r;H$&\e(B(\e$B;H$o$J$$\e(B)\e$BJ}K!\e(B
+* Debugging IMAP:: \e$B$b$N$4$H$,F/$+$J$$$H$-$K$9$k$Y$-$3$H\e(B
Other Sources
* Editing IMAP ACLs:: \e$B%a!<%k%\%C%/%9$X$NB>$NMxMQ<T$N;HMQ$r@)8B\e(B/\e$B5v2D$9$k\e(B
* Expunging mailboxes:: ``\e$B%a!<%k%\%C%/%905=L\e(B'' \e$B%\%?%s$HEy2A$J$b$N\e(B
* A note on namespaces:: gnus \e$B$G\e(B @acronym{IMAP} \e$BL>A06u4V$r;H$&\e(B(\e$B;H$o$J$$\e(B)\e$BJ}K!\e(B
+* Debugging IMAP:: \e$B$b$N$4$H$,F/$+$J$$$H$-$K$9$k$Y$-$3$H\e(B
@end menu
@node Splitting in IMAP
\e$B=q$r8+$F2<$5$$!#$=$l$i$O6/NO$J9)6q$J$N$G!"$I$s$J8z2L$,$"$k$+$,3N$+$J>l9g\e(B
\e$B$@$1;H$C$F2<$5$$!#\e(B
+@node Debugging IMAP
+@subsection IMAP \e$B$N%G%P%C%0\e(B
+@cindex IMAP debugging
+@cindex protocol dump (IMAP)
+
+@acronym{IMAP} \e$B$O>/$J$/$H$b\e(B @acronym{NNTP} \e$B$d\e(B @acronym{POP3} \e$B$HHf$Y$k$H\e(B
+\e$BJ#;($J%W%m%H%3%k$G$9!#$?$V$s$=$NM}M3$N$?$a$K!"<BAu>e$N%P%0$,L5$$$H$O8@$$\e(B
+\e$B@Z$l$^$;$s!#$"$J$?$,4qL/$J?6$kIq$$$K=P2q$C$?$H$7$?$i!"%5!<%P!<$+\e(B Gnus \e$B$N\e(B
+\e$B$I$A$i$+$K%P%0$,$"$k2DG=@-$,$"$j$^$9!#$"$J$?$,0lHLE*$J%M%C%H%o!<%/!&%W%m\e(B
+\e$B%H%3%k$K@:DL$7$F$$$k$J$i$P!"\e(BGnus \e$B$H%5!<%P!<$N4V$G$d$j$H$j$5$l$k%W%m%H%3\e(B
+\e$B%k!&%@%s%W$rFI$`$3$H$K$h$C$F!"$*$=$i$/$$$/$D$+$N<j3]$+$j$rCj=P$9$k$3$H$,\e(B
+\e$B$G$-$k$G$7$g$&!#@:DL$7$F$$$J$/$F$b!"%W%m%H%3%k$N$d$j$H$j$r\e(B IMAP \e$B$K4X$9$k\e(B
+\e$B%P%0Js9p$K4^$a$k$3$H$O!"$=$NLdBj$N2r7h$K$H$C$F=EMW$+$b$7$l$^$;$s!#\e(B
+
+@vindex imap-log
+\e$B$3$N%W%m%H%3%k!&%@%s%W$OBg$-$J%P%C%U%!$r:n$j$,$A$J$N$G!"%G%#%U%)%k%H$G$O\e(B
+\e$B:n$i$J$$$h$&$K$J$C$F$$$^$9!#:n$k$h$&$K$9$k$K$O!"\e(B@code{imap-log} \e$B$r0J2<$N\e(B
+\e$B$h$&$K@Z$j49$($F2<$5$$\e(B:
+
+@lisp
+(setq imap-log t)
+@end lisp
+
+\e$B$3$l$O\e(B @code{imap.el} \e$B%Q%C%1!<%8$K!"%5!<%P!<$KAw$i$l$k$b$N$H$9$Y$F$N<u$1\e(B
+\e$B<h$k$b$N$r%@%s%W$5$;$^$9!#$=$N=PNO$O\e(B @samp{*imap-log*} \e$B$H$$$&%P%C%U%!$K\e(B
+\e$B3JG<$5$l$^$9!#$H$-$K\e(B @code{BAD} \e$B$H$$$&;%$,IU$1$i$l$k!"%(%i!<%a%C%;!<%8$r\e(B
+\e$BC5$7$F2<$5$$!#\e(B
+
@node Other Sources
@section \e$B$=$NB>$N%0%k!<%W8;\e(B
* Editing IMAP ACLs:: Limiting/enabling other users access to a mailbox.
* Expunging mailboxes:: Equivalent of a ``compress mailbox'' button.
* A note on namespaces:: How to (not) use @acronym{IMAP} namespace in Gnus.
+* Debugging IMAP:: What to do when things don't work.
Other Sources
* Editing IMAP ACLs:: Limiting/enabling other users access to a mailbox.
* Expunging mailboxes:: Equivalent of a ``compress mailbox'' button.
* A note on namespaces:: How to (not) use @acronym{IMAP} namespace in Gnus.
+* Debugging IMAP:: What to do when things don't work.
@end menu
for more information on how to use the prefixes. They are a power
tool and should be used only if you are sure what the effects are.
+@node Debugging IMAP
+@subsection Debugging IMAP
+@cindex IMAP debugging
+@cindex protocol dump (IMAP)
+
+@acronym{IMAP} is a complex protocol, at least compared to
+@acronym{NNTP} or @acronym{POP3}. Perhaps for that reason,
+implementation bugs are not unlikely. If you encounter an odd
+behaviour, chances are that either the server or Gnus is buggy. If
+you are familiar with network protocols in general, you will probably
+be able to extract some clues from reading the protocol dump of the
+exchanges between Gnus and the server. Even if you are not familiar
+with network protocols, including the protocol exchange in
+@acronym{IMAP}-related bug reports may be critical for solving the
+problem.
+
+@vindex imap-log
+Because this protocol dump generate potentially large buffers, it is
+not enabled by default. You can enable it by toggling @code{imap-log}
+as follows:
+
+@lisp
+(setq imap-log t)
+@end lisp
+
+This instruct the @code{imap.el} package to dump sent to the server,
+and everything received from the server. The output is stored in the
+buffer @samp{*imap-log*}. Look for error messages, which sometimes
+are tagged with the keyword @code{BAD}.
+
@node Other Sources
@section Other Sources