Synch up with main trunk.
authorteranisi <teranisi>
Thu, 12 Dec 2002 02:17:44 +0000 (02:17 +0000)
committerteranisi <teranisi>
Thu, 12 Dec 2002 02:17:44 +0000 (02:17 +0000)
23 files changed:
ChangeLog
NEWS
NEWS.ja
doc/texinfo.tex
doc/txi-en.tex
doc/wl-ja.texi
doc/wl.texi
elmo/ChangeLog
elmo/elmo-archive.el
elmo/elmo-dop.el
elmo/elmo-pipe.el
elmo/elmo-pop3.el
elmo/elmo-split.el
elmo/utf7.el
tests/ChangeLog
tests/test-dist.el
wl/ChangeLog
wl/wl-demo.el
wl/wl-draft.el
wl/wl-folder.el
wl/wl-mime.el
wl/wl-summary.el
wl/wl-vars.el

index bc02a3a..990d0f9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2002-12-11  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * 2.10.0 - "Venus"
+
 2002-11-15  TAKAHASHI Kaoru  <kaoru@kaisei.org>
 
        * INSTALL, INSTALL.ja: Update Recommended combination of MIME
diff --git a/NEWS b/NEWS
index b718e43..ffbb7e1 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,11 @@
 Wanderlust NEWS -- User-visible changes in Wanderlust.
 
+** Changed the way to specify configuration of draft buffer window.
+   You can choose keep, full or split as values of wl-draft-buffer-style
+   and wl-draft-reply-buffer-style.
+
+* Changes in 2.10.0 from 2.8.1.
+
 ** You can alter the format of summary lines.
    Specify format by wl-summary-line-format. If you want to change ones
    according to folder names, use wl-folder-summary-line-format-alist.
@@ -7,7 +13,8 @@ Wanderlust NEWS -- User-visible changes in Wanderlust.
 ** Save format for the draft folder has been changed. Messages are encoded
    before saved by wl-draft-save.
 
-** elmo-split is newly established.
+** elmo-split is newly established. It provides a way to split messages
+   according to some rule a la procmail.
 
 ** Buffer prefetch works fine now. Messages of the number specified by
    wl-message-buffer-prefetch-depth are loaded into buffer in advance.
@@ -63,6 +70,8 @@ Wanderlust NEWS -- User-visible changes in Wanderlust.
 
 ** The Reference Card (doc/wl-refcard.tex) describes important key bindings.
 
+** Many bug fixes.
+
 * Changes in 2.8.0 from 2.6.1
 
 ** Nemacs, Mule 2.3 based on Emacs 19.28 are not supported any longer.
diff --git a/NEWS.ja b/NEWS.ja
index ab46e4a..fe492ec 100644 (file)
--- a/NEWS.ja
+++ b/NEWS.ja
@@ -1,5 +1,11 @@
 Wanderlust NEWS (\e$BF|K\8lHG\e(B) -- User-visible changes in Wanderlust.
 
+** \e$B%I%i%U%H%P%C%U%!%&%#%s%I%&$NG[CV$N;XDj$N;EJ}$,JQ99$5$l$^$7$?!#\e(B
+   wl-draft-buffer-style \e$B$H\e(B wl-draft-reply-buffer-style \e$B$K\e(B keep,full,split
+   \e$B$N$$$:$l$+$r;XDj$7$^$9!#\e(B
+
+* 2.8.1 \e$B$+$i\e(B 2.10.0 \e$B$X$NJQ99E@\e(B
+
 ** \e$B%5%^%j9T$NI=<(7A<0$rJQ99$G$-$k$h$&$K$J$j$^$7$?!#\e(B
    wl-summary-line-format \e$B$G=q<0$r@_Dj$G$-$^$9!#%U%)%k%@Kh$K=q<0$rJQ$($?$$\e(B
    \e$B>l9g$O\e(B wl-folder-summary-line-format-alist \e$B$rMQ$$$F2<$5$$!#\e(B
@@ -7,7 +13,8 @@ Wanderlust NEWS (\e$BF|K\8lHG\e(B) -- User-visible changes in Wanderlust.
 ** \e$B%I%i%U%H%U%)%k%@$X$NJ]B87A<0$,JQ99$5$l$^$7$?!#\e(Bwl-draft-save \e$B$N:]$K$O\e(B
    \e$B%(%s%3!<%I$7$FJ]B8$5$l$^$9!#\e(B
 
-** elmo-split \e$B$,?7@_$5$l$^$7$?!#\e(B
+** elmo-split \e$B$,?7@_$5$l$^$7$?!#M?$($?%k!<%k$K1h$C$F\e(B procmail \e$BIw$K%a%C%;\e(B
+   \e$B!<%8$r?6$jJ,$1$k$3$H$,$G$-$^$9!#\e(B
 
 ** \e$B%P%C%U%!%W%j%U%'%C%A$,<BAu$5$l$^$7$?!#\e(Bwl-message-buffer-prefetch-depth
    \e$B$N?t$@$1!"%a%C%;!<%8$r%P%C%U%!$K@hFI$_$7$^$9!#\e(B
@@ -65,6 +72,8 @@ Wanderlust NEWS (\e$BF|K\8lHG\e(B) -- User-visible changes in Wanderlust.
 
 ** Reference Card (doc/wl-refcard-ja.tex) \e$B$K<g$J%-!<A`:n$rNs5s$7$^$7$?!#\e(B
 
+** \e$B$=$NB>$$$/$D$+$N=$@5!#\e(B
+
 * 2.6.1 \e$B$+$i\e(B 2.8.0 \e$B$X$NJQ99E@\e(B
 
 ** Nemacs, Mule 2.3 based on Emacs 19.28 \e$B$O%5%]!<%H$5$l$J$/$J$j$^$7$?!#\e(B
index fbaaebd..c85d329 100644 (file)
@@ -3,7 +3,7 @@
 % Load plain if necessary, i.e., if running under initex.
 \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
 %
-\def\texinfoversion{2002-10-13.14}
+\def\texinfoversion{2002-11-25.11}
 %
 % Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
 % 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
 \everyjob{\message{[Texinfo version \texinfoversion]}%
   \catcode`+=\active \catcode`\_=\active}
 
+\message{Basics,}
+\chardef\other=12
+
+% We never want plain's outer \+ definition in Texinfo.
+% For @tex, we can use \tabalign.
+\let\+ = \relax
+
 % Save some parts of plain tex whose names we will redefine.
 \let\ptexb=\b
 \let\ptexbullet=\bullet
 \let\ptexend=\end
 \let\ptexequiv=\equiv
 \let\ptexexclam=\!
+\let\ptexgtr=>
+\let\ptexhat=^
 \let\ptexi=\i
 \let\ptexlbrace=\{
+\let\ptexless=<
+\let\ptexplus=+
 \let\ptexrbrace=\}
 \let\ptexstar=\*
 \let\ptext=\t
 
-% We never want plain's outer \+ definition in Texinfo.
-% For @tex, we can use \tabalign.
-\let\+ = \relax
-
-\message{Basics,}
-\chardef\other=12
-
 % If this character appears in an error message or help string, it
 % starts a new line in the output.
 \newlinechar = `^^J
 
 % Sometimes it is convenient to have everything in the transcript file
 % and nothing on the terminal.  We don't just call \tracingall here,
-% since that produces some useless output on the terminal.
+% since that produces some useless output on the terminal.  We also make
+% some effort to order the tracing commands to reduce output in the log
+% file; cf. trace.sty in LaTeX.
 %
 \def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}%
-\ifx\eTeXversion\undefined
-\def\loggingall{\tracingcommands2 \tracingstats2
-   \tracingpages1 \tracingoutput1 \tracinglostchars1
-   \tracingmacros2 \tracingparagraphs1 \tracingrestores1
-   \showboxbreadth\maxdimen\showboxdepth\maxdimen
-}%
-\else
-\def\loggingall{\tracingcommands3 \tracingstats2
-   \tracingpages1 \tracingoutput1 \tracinglostchars1
-   \tracingmacros2 \tracingparagraphs1 \tracingrestores1
-   \tracingscantokens1 \tracingassigns1 \tracingifs1
-   \tracinggroups1 \tracingnesting2
-   \showboxbreadth\maxdimen\showboxdepth\maxdimen
+\def\loggingall{%
+  \tracingstats2
+  \tracingpages1
+  \tracinglostchars2  % 2 gives us more in etex
+  \tracingparagraphs1
+  \tracingoutput1
+  \tracingmacros2
+  \tracingrestores1
+  \showboxbreadth\maxdimen \showboxdepth\maxdimen
+  \ifx\eTeXversion\undefined\else % etex gives us more logging
+    \tracingscantokens1
+    \tracingifs1
+    \tracinggroups1
+    \tracingnesting2
+    \tracingassigns1
+  \fi
+  \tracingcommands3  % 3 gives us more in etex
+  \errorcontextlines\maxdimen
 }%
-\fi
 
 % add check for \lastpenalty to plain's definitions.  If the last thing
 % we did was a \nobreak, we don't want to insert more space.
 }
 
 
-% Single-spacing is done by various environments (specifically, in
-% \nonfillstart and \quotations).
-\newskip\singlespaceskip \singlespaceskip = 12.5pt
-\def\singlespace{%
-  % Why was this kern here?  It messes up equalizing space above and below
-  % environments.  --karl, 6may93
-  %{\advance \baselineskip by -\singlespaceskip
-  %\kern \baselineskip}%
-  \setleading\singlespaceskip
-}
-
 %% Simple single-character @ commands
 
 % @@ prints an @
@@ -846,11 +845,6 @@ where each line of input produces a line of output.}
 % to set catcodes according to plain TeX first, to allow for subscripts,
 % superscripts, special math chars, etc.
 % 
-% @math does not do math typesetting in section titles, index
-% entries, and other such contexts where the catcodes are set before
-% @math gets a chance to work.  This could perhaps be fixed, but for now
-% at least we can have real math in the main text, where it's needed most.
-%
 \let\implicitmath = $%$ font-lock fix
 %
 % One complication: _ usually means subscripts, but it could also mean
@@ -876,9 +870,27 @@ where each line of input produces a line of output.}
   \tex
   \mathcode`\_="8000 \mathunderscore
   \let\\ = \mathbackslash
+  \mathactive
   \implicitmath\finishmath}
 \def\finishmath#1{#1\implicitmath\Etex}
 
+% Some active characters (such as <) are spaced differently in math.
+% We have to reset their definitions in case the @math was an
+% argument to a command which set the catcodes (such as @item or @section).
+% 
+{
+  \catcode`^ = \active
+  \catcode`< = \active
+  \catcode`> = \active
+  \catcode`+ = \active
+  \gdef\mathactive{%
+    \let^ = \ptexhat
+    \let< = \ptexless
+    \let> = \ptexgtr
+    \let+ = \ptexplus
+  }
+}
+
 % @bullet and @minus need the same treatment as @math, just above.
 \def\bullet{\implicitmath\ptexbullet\implicitmath}
 \def\minus{\implicitmath-\implicitmath}
@@ -970,7 +982,7 @@ where each line of input produces a line of output.}
       \ifx\empty\imagewidth\else width \imagewidth \fi
       \ifx\empty\imageheight\else height \imageheight \fi
       \ifnum\pdftexversion<13
-        #1.pdf%
+         #1.pdf%
        \else
          {#1.pdf}%
        \fi
@@ -1358,8 +1370,8 @@ where each line of input produces a line of output.}
 % \smartitalic{ARG} outputs arg in italics, followed by an italic correction
 % unless the following character is such as not to need one.
 \def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else\/\fi\fi\fi}
-\def\smartslanted#1{{\sl #1}\futurelet\next\smartitalicx}
-\def\smartitalic#1{{\it #1}\futurelet\next\smartitalicx}
+\def\smartslanted#1{{\ifusingtt\ttsl\sl #1}\futurelet\next\smartitalicx}
+\def\smartitalic#1{{\ifusingtt\ttsl\it #1}\futurelet\next\smartitalicx}
 
 \let\i=\smartitalic
 \let\var=\smartslanted
@@ -1880,10 +1892,18 @@ where each line of input produces a line of output.}
     % \parskip glue -- logically it's part of the @item we just started.
     \nobreak \vskip-\parskip
     %
-    % Stop a page break at the \parskip glue coming up.  Unfortunately
+    % Stop a page break at the \parskip glue coming up.  (Unfortunately
     % we can't prevent a possible page break at the following
-    % \baselineskip glue.
-    \nobreak
+    % \baselineskip glue.)  However, if what follows is an environment
+    % such as @example, there will be no \parskip glue; then
+    % the negative vskip we just would cause the example and the item to
+    % crash together.  So we use this bizarre value of 10001 as a signal
+    % to \aboveenvbreak to insert \parskip glue after all.
+    % (Possibly there are other commands that could be followed by
+    % @example which need the same treatment, but not section titles; or
+    % maybe section titles are the only special case and they should be
+    % penalty 10001...)
+    \penalty 10001
     \endgroup
     \itemxneedsnegativevskipfalse
   \else
@@ -3931,7 +3951,16 @@ width0pt\relax} \fi
           \hangindent = \wd0 % zero if no section number
           \unhbox0 #3}%
   }%
-  \ifdim\parskip<10pt \nobreak\kern10pt\nobreak\kern-\parskip\fi \nobreak
+  % Add extra space after the heading -- either a line space or a
+  % paragraph space, whichever is more.  (Some people like to set
+  % \parskip to large values for some reason.)
+  \nobreak
+  \ifdim\parskip>\normalbaselineskip
+    \kern\parskip
+  \else
+    \kern\normalbaselineskip
+  \fi
+  \nobreak
 }
 
 
@@ -4265,15 +4294,18 @@ width0pt\relax} \fi
 % Make spacing and below environment symmetrical.  We use \parskip here
 % to help in doing that, since in @example-like environments \parskip
 % is reset to zero; thus the \afterenvbreak inserts no space -- but the
-% start of the next paragraph will insert \parskip
+% start of the next paragraph will insert \parskip.
 %
 \def\aboveenvbreak{{%
-  \ifnum\lastpenalty < 10000
+  % =10000 instead of <10000 because of a special case in \itemzzz, q.v.
+  \ifnum \lastpenalty=10000 \else
     \advance\envskipamount by \parskip
     \endgraf
     \ifdim\lastskip<\envskipamount
       \removelastskip
-      \penalty-50
+      % it's not a good place to break if the last penalty was \nobreak
+      % or better ...
+      \ifnum\lastpenalty>10000 \else \penalty-50 \fi
       \vskip\envskipamount
     \fi
   \fi
@@ -4352,7 +4384,6 @@ width0pt\relax} \fi
   \inENV % This group ends at the end of the body
   \hfuzz = 12pt % Don't be fussy
   \sepspaces % Make spaces be word-separators rather than space tokens.
-  \singlespace
   \let\par = \lisppar % don't ignore blank lines
   \obeylines % each line of input is a line of output
   \parskip = 0pt
@@ -4467,7 +4498,6 @@ width0pt\relax} \fi
 \def\quotation{%
   \begingroup\inENV %This group ends at the end of the @quotation body
   {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip
-  \singlespace
   \parindent=0pt
   % We have retained a nonzero parskip for the environment, since we're
   % doing normal filling. So to avoid extra space below the environment...
@@ -4490,10 +4520,14 @@ width0pt\relax} \fi
 %
 % [Knuth]: Donald Ervin Knuth, 1996.  The TeXbook.
 %
-% [Knuth] p. 344; only we need to do '@' too
+% [Knuth] p.344; only we need to do the other characters Texinfo sets
+% active too.  Otherwise, they get lost as the first character on a
+% verbatim line.
 \def\dospecials{%
-  \do\ \do\\\do\@\do\{\do\}\do\$\do\&%
-  \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~}
+  \do\ \do\\\do\{\do\}\do\$\do\&%
+  \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~%
+  \do\<\do\>\do\|\do\@\do+\do\"%
+}
 %
 % [Knuth] p. 380
 \def\uncatcodespecials{%
@@ -4580,7 +4614,7 @@ width0pt\relax} \fi
 %
 % For Texinfo it's a lot easier than for LaTeX, 
 % because texinfo's \verbatim doesn't stop at '\end{verbatim}':
-% we need not redefine '\', '{' and '}'
+% we need not redefine '\', '{' and '}'.
 %
 % Inspired by LaTeX's verbatim command set [latex.ltx]
 %% Include LaTeX hack for completeness -- never know
@@ -4590,9 +4624,14 @@ width0pt\relax} \fi
 %% \catcode`\\=12|gdef|doverbatim#1@end verbatim[
 %% #1|endgroup|def|Everbatim[]|end[verbatim]]
 %% |endgroup
+%
 \begingroup
   \catcode`\ =\active
-  \gdef\doverbatim#1@end verbatim{#1\end{verbatim}}
+  \obeylines %
+  % ignore everything up to the first ^^M, that's the newline at the end
+  % of the @verbatim input line itself.  Otherwise we get an extra blank
+  % line in the output.
+  \gdef\doverbatim#1^^M#2@end verbatim{#2\end{verbatim}}%
 \endgroup
 %
 \def\verbatim{%
@@ -4700,11 +4739,14 @@ width0pt\relax} \fi
 \newskip\deflastargmargin \deflastargmargin=18pt
 
 \newcount\parencount
-% define \functionparens, which makes ( and ) and & do special things.
-% \functionparens affects the group it is contained in.
+
+% We want ()&[] to print specially on the defun line.
+% 
 \def\activeparens{%
-\catcode`\(=\active \catcode`\)=\active \catcode`\&=\active
-\catcode`\[=\active \catcode`\]=\active}
+  \catcode`\(=\active \catcode`\)=\active
+  \catcode`\&=\active
+  \catcode`\[=\active \catcode`\]=\active
+}
 
 % Make control sequences which act like normal parenthesis chars.
 \let\lparen = ( \let\rparen = )
@@ -4809,7 +4851,7 @@ width0pt\relax} \fi
   % which is there to keep the function description together with its
   % header.  But if there's nothing but headers, we want to allow a
   % break after all.
-  \ifnum\lastpenalty = 10000 \penalty0 \fi
+  \ifnum\lastpenalty=10000 \penalty0 \fi
   \medbreak
   %
   % Define the \E... end token that this defining construct specifies
@@ -4821,24 +4863,38 @@ width0pt\relax} \fi
   \exdentamount=\defbodyindent
 }
 
+% Common part of the \...x definitions.
+% 
+\def\defxbodycommon{%
+  % As with \parsebodycommon above, allow line break if we have multiple
+  % x headers in a row.  It's not a great place, though.
+  \ifnum\lastpenalty=10000 \penalty1000 \fi
+  %
+  \begingroup\obeylines
+}
+
 % Process body of @defun, @deffn, @defmac, etc.
 %
 \def\defparsebody#1#2#3{%
   \parsebodycommon{#1}{#2}{#3}%
-  \def#2{\begingroup\obeylines\activeparens\spacesplit#3}%
+  \def#2{\defxbodycommon \activeparens \spacesplit#3}%
   \catcode61=\active % 61 is `='
   \begingroup\obeylines\activeparens
   \spacesplit#3%
 }
 
-% #1, #2, #3 are the common arguments (see \defparsebody).
+% #1, #2, #3 are the common arguments (see \parsebodycommon above).
 % #4, delimited by the space, is the class name.
 %
 \def\defmethparsebody#1#2#3#4 {%
   \parsebodycommon{#1}{#2}{#3}%
-  \def#2##1 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}}}%
+  \def#2##1 {\defxbodycommon \activeparens \spacesplit{#3{##1}}}%
   \begingroup\obeylines\activeparens
-  \spacesplit{#3{#4}}%
+  % The \empty here prevents misinterpretation of a construct such as
+  %   @deffn {whatever} {Enharmonic comma}
+  % See comments at \deftpparsebody, although in our case we don't have
+  % to remove the \empty afterwards, since it is empty.
+  \spacesplit{#3{#4}}\empty
 }
 
 % Used for @deftypemethod and @deftypeivar.
@@ -4848,7 +4904,7 @@ width0pt\relax} \fi
 %
 \def\deftypemethparsebody#1#2#3#4 #5 {%
   \parsebodycommon{#1}{#2}{#3}%
-  \def#2##1 ##2 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}{##2}}}%
+  \def#2##1 ##2 {\defxbodycommon \activeparens \spacesplit{#3{##1}{##2}}}%
   \begingroup\obeylines\activeparens
   \spacesplit{#3{#4}{#5}}%
 }
@@ -4862,9 +4918,8 @@ width0pt\relax} \fi
 % 
 \def\deftypeopparsebody#1#2#3#4#5 #6 {%
   \parsebodycommon{#1}{#2}{#3}%
-  \def#2##1 ##2 ##3 {%
-    \def#4{##1}%
-    \begingroup\obeylines\activeparens\spacesplit{#3{##2}{##3}}}%
+  \def#2##1 ##2 ##3 {\def#4{##1}%
+    \defxbodycommon \activeparens \spacesplit{#3{##2}{##3}}}%
   \begingroup\obeylines\activeparens
   \spacesplit{#3{#5}{#6}}%
 }
@@ -4873,7 +4928,7 @@ width0pt\relax} \fi
 \def\defopparsebody #1#2#3#4#5 {%
   \parsebodycommon{#1}{#2}{#3}%
   \def#2##1 ##2 {\def#4{##1}%
-    \begingroup\obeylines\activeparens\spacesplit{#3{##2}}}%
+    \defxbodycommon \activeparens \spacesplit{#3{##2}}}%
   \begingroup\obeylines\activeparens
   \spacesplit{#3{#5}}%
 }
@@ -4884,7 +4939,7 @@ width0pt\relax} \fi
 %
 \def\defvarparsebody #1#2#3{%
   \parsebodycommon{#1}{#2}{#3}%
-  \def#2{\begingroup\obeylines\spacesplit#3}%
+  \def#2{\defxbodycommon \spacesplit#3}%
   \catcode61=\active %
   \begingroup\obeylines
   \spacesplit#3%
@@ -4894,14 +4949,14 @@ width0pt\relax} \fi
 \def\defopvarparsebody #1#2#3#4#5 {%
   \parsebodycommon{#1}{#2}{#3}%
   \def#2##1 ##2 {\def#4{##1}%
-    \begingroup\obeylines\spacesplit{#3{##2}}}%
+    \defxbodycommon \spacesplit{#3{##2}}}%
   \begingroup\obeylines
   \spacesplit{#3{#5}}%
 }
 
 \def\defvrparsebody#1#2#3#4 {%
   \parsebodycommon{#1}{#2}{#3}%
-  \def#2##1 {\begingroup\obeylines\spacesplit{#3{##1}}}%
+  \def#2##1 {\defxbodycommon \spacesplit{#3{##1}}}%
   \begingroup\obeylines
   \spacesplit{#3{#4}}%
 }
@@ -4917,7 +4972,7 @@ width0pt\relax} \fi
 %
 \def\deftpparsebody #1#2#3#4 {%
   \parsebodycommon{#1}{#2}{#3}%
-  \def#2##1 {\begingroup\obeylines\spacesplit{#3{##1}}}%
+  \def#2##1 {\defxbodycommon \spacesplit{#3{##1}}}%
   \begingroup\obeylines
   \spacesplit{\parsetpheaderline{#3{#4}}}\empty
 }
@@ -4935,18 +4990,22 @@ width0pt\relax} \fi
   #1{\removeemptybraces#2\relax}{#3}%
 }%
 
-% Split up #2 at the first space token.
+% Split up #2 (the rest of the input line) at the first space token.
 % call #1 with two arguments:
 %  the first is all of #2 before the space token,
 %  the second is all of #2 after that space token.
 % If #2 contains no space token, all of it is passed as the first arg
 % and the second is passed as empty.
 %
-{\obeylines
-\gdef\spacesplit#1#2^^M{\endgroup\spacesplitfoo{#1}#2 \relax\spacesplitfoo}%
-\long\gdef\spacesplitfoo#1#2 #3#4\spacesplitfoo{%
-\ifx\relax #3%
-#1{#2}{}\else #1{#2}{#3#4}\fi}}
+{\obeylines %
+ \gdef\spacesplit#1#2^^M{\endgroup\spacesplitx{#1}#2 \relax\spacesplitx}%
+ \long\gdef\spacesplitx#1#2 #3#4\spacesplitx{%
+   \ifx\relax #3%
+     #1{#2}{}%
+   \else %
+     #1{#2}{#3#4}%
+   \fi}%
+}
 
 % Define @defun.
 
index 62a6ba5..abdc7ea 100644 (file)
@@ -1,7 +1,7 @@
 % English non-translation for texinfo.tex.  This is read when a source
 % document says @documentlanguage en (which might happen after another
 % @documentlanguage).  The actual values are the same as defaults.
-% $Id: txi-en.tex,v 1.2 1999/07/09 22:09:28 karl Exp $
+% $Id: txi-en.tex,v 1.1 2002/08/25 23:38:38 karl Exp $
 %
 % Copyright (C) 1999 Free Software Foundation.
 %
index 355d7d6..27b034b 100644 (file)
@@ -4,7 +4,6 @@
 @settitle Wanderlust -- Yet Another Message Interface On Emacsen --
 @c %**end of header
 @documentlanguage ja
-@documentencoding iso-2022-jp
 @include version.texi
 @synindex pg cp
 @finalout
@@ -356,6 +355,7 @@ starttls \e$B%Q%C%1!<%8$O0J2<$N>l=j$+$iF~<j$G$-$^$9!#\e(B
 ftp://opaopa.org/pub/elisp/
 @end example
 
+
 @node Install, Minimal Settings, Download, Start Me Up
 @section \e$B%P%$%H%3%s%Q%$%k$H%$%s%9%H!<%k\e(B
 @cindex Bytecompile
@@ -577,6 +577,7 @@ Wanderlust \e$B$K8GM-$N@_Dj$O\e(B @file{~/.wl} \e$B$K5-=R$7$F$*$/$H@0M}$7$d$9$$$G$7
 @end group
 @end lisp
 
+
 @node Folder Definition, Start Wanderlust, Minimal Settings, Start Me Up
 @section \e$B9XFI$9$k%U%)%k%@$NDj5A\e(B
 @cindex Folder Definition
@@ -845,6 +846,7 @@ cvs -d :pserver:anonymous@@cvs.m17n.org:/cvs/root checkout ucs-conv
 @end group
 @end example
 
+
 @node NNTP Folder, MH Folder, IMAP Folder, Folders
 @section NNTP \e$B%U%)%k%@\e(B
 @cindex @samp{-}
@@ -1420,6 +1422,7 @@ namazu (@uref{http://www.namazu.org/}) \e$B$rMQ$$$F!"8!:w<0$K%^%C%A$7$?\e(B
 
 \e$B$HF~NO$9$l$P!"\e(B@file{~/.elmo/cache} \e$B$H\e(B @file{~/documents} \e$B$N%$%s%G%C%/%9$rBP>]$H$7$F!"%-!<%o!<%I\e(B @samp{wanderlust} \e$B$G8!:w$r9T$$$^$9!#\e(B
 
+
 @node Multi Folder, Filter Folder, Namazu Folder, Folders
 @section \e$B%^%k%A%U%)%k%@\e(B
 @cindex @samp{*}
@@ -1662,6 +1665,7 @@ POP \e$B%5!<%P$K%a!<%k$r;D$7$?$^$^!"%a%C%;!<%8$r\e(B @samp{+inbox} \e$B$K%3%T!<$7$F
 \e$B%a%C%;!<%8$,0\F0$7$?8e!"%U%C%/\e(B @code{elmo-pipe-drained-hook} \e$B$,8F$P$l\e(B
 \e$B$^$9$N$G!"%@%&%s%m!<%I8e$K<B9T$7$?$$4X?t$rEPO?$7$F$*$/$HNI$$$G$7$g$&!#\e(B
 
+
 @node Internal Folder,  , Pipe Folder, Folders
 @section \e$BFbIt%U%)%k%@\e(B
 @cindex @samp{'}
@@ -4104,6 +4108,7 @@ Non-nil \e$B$J$i%a%C%;!<%8%P%C%U%!$GD9$$9T$N@^$jJV$7$r$7$^$;$s!#\e(B
 * POP-before-SMTP::                     POP-before-SMTP \e$B$K$h$k%a!<%k$NAw?.\e(B
 @end menu
 
+
 @node Editing Header, Editing Message Body, Usage of Draft Mode, Usage of Draft Mode
 @subsection \e$B%X%C%@$NJT=8\e(B
 
@@ -4153,6 +4158,7 @@ Non-nil \e$B$J$i!"@_Dj$5$l$?CM$r%I%i%U%H$N\e(B @samp{Fcc:} \e$B$H$7$F:G=i$+$iA^F~$7
 Non-nil \e$B$J$i!"@_Dj$5$l$?CM$r%I%i%U%H$N\e(B @samp{Bcc:} \e$B$H$7$F:G=i$+$iA^F~$7$^$9!#\e(B
 @end table
 
+
 @node Editing Message Body, Dynamical Message Re-arrangement, Editing Header, Usage of Draft Mode
 @subsection \e$B%a%C%;!<%8$NJT=8\e(B
 
@@ -4169,6 +4175,7 @@ Non-nil \e$B$J$i!"@_Dj$5$l$?CM$r%I%i%U%H$N\e(B @samp{Bcc:} \e$B$H$7$F:G=i$+$iA^F~$7
 \e$BJT=8Cf$N%I%i%U%H$r%;!<%V$9$k$H!"\e(B@code{wl-draft-folder} \e$B$G@_Dj$7$?%I%i%U\e(B
 \e$B%H%U%)%k%@$KDI2C$5$l$^$9!#\e(B
 
+
 @node Dynamical Message Re-arrangement, Template, Editing Message Body, Usage of Draft Mode
 @subsection \e$B%a%C%;!<%8$NF0E*$JJQ99\e(B
 @vindex wl-draft-config-alist
@@ -4324,6 +4331,7 @@ Field \e$B$NCM$,\e(B @code{nil} \e$B$J$i$P$=$N\e(B Field \e$B$r:o=|$7$^$9!#\e(B
 (add-hook 'wl-draft-reedit-hook 'wl-draft-config-exec)
 @end lisp
 
+
 @node Template, POP-before-SMTP, Dynamical Message Re-arrangement, Usage of Draft Mode
 @subsection \e$B%F%s%W%l!<%H$NA^F~\e(B
 @cindex Template
@@ -4378,6 +4386,7 @@ Field \e$B$NCM$,\e(B @code{nil} \e$B$J$i$P$=$N\e(B Field \e$B$r:o=|$7$^$9!#\e(B
 @noindent
 \e$B$H=q$/$3$H$G\e(B @samp{default} \e$B$N%F%s%W%l!<%H$rE,MQ$G$-$^$9!#\e(B
 
+
 @node POP-before-SMTP,  , Template, Usage of Draft Mode
 @subsection POP-before-SMTP \e$B$K$h$k%a!<%k$NAw?.\e(B
 @cindex POP-before-SMTP
@@ -4431,6 +4440,7 @@ http://www.iecc.com/pop-before-smtp.html
 @end group
 @end example
 
+
 @node Key Bindings of Draft, Variables of Draft Mode, Usage of Draft Mode, Draft
 @section \e$B%-!<%P%$%s%I\e(B
 @cindex Keybind, Draft Mode
@@ -4547,6 +4557,7 @@ Wanderlust \e$B$N%*%U%i%$%s%b!<%I\e(B/\e$B%*%s%i%$%s%b!<%I$r%H%0%k$7$^$9!#\e(B
 \e$B$l$^$9!#%G%U%)%k%H$N>JN,Id9f$H$7$F;H$o$l$kCM$O\e(B (@samp{[...]}) \e$B$G$9!#\e(B
 @end table
 
+
 @node Variables of Draft Mode,  , Key Bindings of Draft, Draft
 @section \e$B%+%9%?%^%$%:JQ?t\e(B
 
@@ -6306,7 +6317,7 @@ pop3                    \e$B!_\e(B    \e$B"$\e(B    \e$B"$\e(B    \e$B"$\e(B
 (@samp{CONDITION} @samp{ACTION} [@code{continue}])
 @end lisp
 
-\e$B$H$$$&0lAH$G!"\e(B@samp{CONDITION} \e$B$,??$N>l9g$K\e(B @samp{ACTION} \e$B$r<B9T$7$^$9!#\e(B
+\e$B$NAH$G!"\e(B@samp{CONDITION} \e$B$,??$N>l9g$K\e(B @samp{ACTION} \e$B$r<B9T$7$^$9!#\e(B
 \e$BBh0l$NMWAG\e(B @samp{CONDITION} \e$B$K$O>r7o$r\e(B S \e$B<0$G5-=R$7$^$9!#=q<0$K$D$$$F$O\e(B
 \e$B$9$08e$G@bL@$7$^$9!#BhFs$NMWAG\e(B @samp{ACTION} \e$B$K$O%a%C%;!<%8$N?6$jJ,$1@h\e(B
 \e$B$N%U%)%k%@L>!"$b$7$/$O%7%s%\%k$r;XDj$7$^$9!#\e(B
@@ -6341,7 +6352,17 @@ pop3                    \e$B!_\e(B    \e$B"$\e(B    \e$B"$\e(B    \e$B"$\e(B
 @end table
 
 @item
-\e$BG$0U$N?t$N0z?t$r<h$k4X?t!#\e(B
+1 \e$B$D$N@0?t\e(B (@samp{SIZE}) \e$B$r0z?t$H$7$F$H$k4X?t!#\e(B
+
+@table @code
+@item @code{<}
+\e$B%a%C%;!<%8$N%5%$%:$,\e(B @samp{SIZE} \e$B$h$j>.$5$1$l$P??!#\e(B
+@item @code{>}
+\e$B%a%C%;!<%8$N%5%$%:$,\e(B @samp{SIZE} \e$B$h$jBg$-$1$l$P??!#\e(B
+@end table
+
+@item
+\e$BG$0U?t$N0z?t$r<h$k4X?t!#\e(B
 
 @table @code
 @item @code{or}
@@ -6400,6 +6421,7 @@ pop3                    \e$B!_\e(B    \e$B"$\e(B    \e$B"$\e(B    \e$B"$\e(B
 * Address Manager::  \e$B%"%I%l%9%^%M!<%8%c\e(B
 @end menu
 
+
 @node Mail Addresses, Address Manager, Address Book, Address Book
 @section \e$B%"%I%l%9D"$NDj5A\e(B
 @cindex Address book Definition
@@ -6449,6 +6471,7 @@ LDAP \e$B$rMxMQ$9$k>l9g$O!"\e(B@code{wl-ldap-server}\e$B!"\e(B@code{wl-ldap-port},
 @command{ldapsearch} \e$B$X$"$i$+$8$a%3%^%s%I<B9T%Q%9$r@_Dj$7$F$*$/I,MW$,$"\e(B
 \e$B$j$^$9!#\e(B
 
+
 @node Address Manager,  , Mail Addresses, Address Book
 @section \e$B%"%I%l%9%^%M!<%8%c\e(B
 @cindex Address Manager
@@ -6661,6 +6684,7 @@ mu-cite 8.1\e$B0J9_$N%P!<%8%g%s$r$*;H$$$J$i!"\e(B
 @end group
 @end lisp
 
+
 @node X-Face, dired-dd, mu-cite, Living with other packages
 @subsection x-face
 @pindex x-face
@@ -6693,6 +6717,7 @@ x-face (@uref{ftp://jpl.org/pub/elisp/}) 1.3.6.13 \e$B0J9_$KIUB0$N\e(B
 @end group
 @end lisp
 
+
 @node x-face-mule,  , x-face-xmas, X-Face
 @subsubsection x-face-mule (Emacs \e$B$N>l9g\e(B)
 @pindex x-face-mule
@@ -6749,6 +6774,7 @@ Emacs \e$B$GJT=8Cf$NAp9F%P%C%U%!$X\e(B dired \e$B$+$i%I%i%C%0\e(B&\e$B%I%m%C%W$9$k$@$
 @end group
 @end lisp
 
+
 @node MHC, Addrbook, dired-dd, Living with other packages
 @subsection mhc.el
 @pindex MHC
@@ -6778,6 +6804,7 @@ mhc-current \e$B$N>l9g!'\e(B
 @end group
 @end lisp
 
+
 @node Addrbook, mime-w3m, MHC, Living with other packages
 @subsection wl-addrbook.el
 @pindex Addrbook
@@ -6796,6 +6823,7 @@ Mew \e$B$N\e(B Addrbook \e$B$r\e(B Wanderlust \e$B$G;HMQ$G$-$k$h$&$K$9$k$K$O!"\e(B
 @end group
 @end lisp
 
+
 @node mime-w3m,  , Addrbook, Living with other packages
 @subsection mime-w3m.el
 @pindex mime-w3m
@@ -7237,6 +7265,7 @@ face \e$B$N@_Dj$O\e(B @file{.emacs} \e$B$K=q$/$3$H$O$G$-$J$$$N$G\e(B @file{~/.wl} \e$
 @end group
 @end lisp
 
+
 @node User-Agent Field,  , Thread Format, Advanced Settings
 @subsection User-Agent \e$B%U%#!<%k%I\e(B
 @cindex X-Mailer
@@ -7720,18 +7749,22 @@ elmo \e$B$O!"\e(B@samp{Elisp Library for Message Orchestration} \e$B$NN,$G$9!#\e(B
 * Function Index::              \e$B4X?t:w0z\e(B
 @end menu
 
+
 @node Concept Index, Key Index, Index, Index
 @unnumberedsec \e$B35G0:w0z\e(B
 @printindex cp
 
+
 @node Key Index, Variable Index, Concept Index, Index
 @unnumberedsec \e$B%-!<%P%$%s%I:w0z\e(B
 @printindex ky
 
+
 @node Variable Index, Function Index, Key Index, Index
 @unnumberedsec \e$BJQ?t:w0z\e(B
 @printindex vr
 
+
 @node Function Index,  , Variable Index, Index
 @unnumberedsec \e$B4X?t:w0z\e(B
 @printindex fn
index 7ecc95b..96dd5b2 100644 (file)
@@ -4,7 +4,6 @@
 @settitle Wanderlust -- Yet Another Message Interface On Emacsen --
 @c %**end of header
 @documentlanguage en
-@documentencoding us-ascii
 @include version.texi
 @synindex pg cp
 @finalout
@@ -6411,7 +6410,7 @@ learn how to write the condition practically.
 
 @enumerate
 @item
-Functions which accept argument @samp{FIELD-NAME} and @samp{VALUE}.
+Functions which accept arguments @samp{FIELD-NAME} and @samp{VALUE}.
 (@samp{FIELD-NAME} is a symbol that describes the field name)
 
 @table @code
@@ -6433,6 +6432,16 @@ from matching @code{\(\)} patterns in the previous @samp{VALUE}.
 @end table
 
 @item
+Functions which accept an integer argument (@samp{SIZE}).
+
+@table @code
+@item @code{<}
+True if the size of the message is less than @samp{SIZE}.
+@item @code{>}
+True if the size of the message is greater than @samp{SIZE}.
+@end table
+
+@item
 Functions which accept any number of arguments.
 
 @table @code
@@ -6491,6 +6500,7 @@ summary displayed with nicknames.
 * Address Manager::  Address Manager
 @end menu
 
+
 @node Mail Addresses, Address Manager, Address Book, Address Book
 @section Address book
 @cindex Address book Definition
index 4811601..14fa636 100644 (file)
@@ -1,3 +1,27 @@
+2002-12-10  Kenichi OKADA  <okada@opaopa.org>
+
+       * elmo-archive.el: Specify charset.
+
+2002-12-04  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-pop3.el (elmo-pop3-process-filter): Check whether the pop3
+       process buffer lives or not.
+
+       * elmo-dop.el (elmo-dop-queue-flush): Don't append to the dop-queue
+       while flushing queues (It causes infinite loop).
+
+2002-11-26  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-imap4.el (elmo-folder-list-subfolders): Fixed last change.
+
+2002-11-24  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * utf7.el (toplevel): Check the ucs features dynamically.
+       (Advice from Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>)
+
+       * elmo-pipe.el (elmo-folder-creatable-p): Don't check whether the
+       folder is creatabe or not if it already exists.
+
 2002-11-21  Yuuichi Teranishi  <teranisi@gohome.org>
 
        * elmo-nntp.el (elmo-nntp-search-primitive): Revert the last change.
index 4db7c42..06fb518 100644 (file)
@@ -1,4 +1,4 @@
-;;; elmo-archive.el --- Archive folder of ELMO.
+;;; elmo-archive.el --- Archive folder of ELMO. -*- coding: euc-japan -*-
 
 ;; Copyright (C) 1998,1999,2000 OKUNISHI Fujikazu <fuji0924@mbox.kyoto-inet.or.jp>
 ;; Copyright (C) 1998,1999,2000 Yuuichi Teranishi <teranisi@gohome.org>
index 3ddb76f..b29cc4a 100644 (file)
@@ -133,7 +133,9 @@ Saved queue is old version(2.6). Clear all pending operations? ")
                                 (setq folder
                                       (elmo-make-folder
                                        (elmo-dop-queue-fname (car queue))))
-                              (elmo-folder-open folder))
+                              (elmo-folder-open folder)
+                              (unless (elmo-folder-plugged-p folder)
+                                (error "Unplugged.")))
                             (elmo-dop-queue-arguments (car queue)))
                      (elmo-folder-close folder))
                  (quit  (setq failure t))
index 3470d41..c3bdc30 100644 (file)
   (elmo-folder-newsgroups (elmo-pipe-folder-src-internal folder)))
 
 (luna-define-method elmo-folder-creatable-p ((folder elmo-pipe-folder))
-  (and (elmo-folder-creatable-p (elmo-pipe-folder-src-internal folder))
-       (elmo-folder-creatable-p (elmo-pipe-folder-dst-internal folder))))
+  (and (or
+       (elmo-folder-exists-p (elmo-pipe-folder-src-internal folder))
+       (elmo-folder-creatable-p (elmo-pipe-folder-src-internal folder)))
+       (or
+       (elmo-folder-exists-p (elmo-pipe-folder-dst-internal folder))
+       (elmo-folder-creatable-p (elmo-pipe-folder-dst-internal folder)))))
 
 (luna-define-method elmo-folder-writable-p ((folder elmo-pipe-folder))
   (elmo-folder-writable-p (elmo-pipe-folder-dst-internal folder)))
index 9c98ac3..0192041 100644 (file)
@@ -233,19 +233,20 @@ If IF-EXISTS is `any-exists', get BIFF session or normal session if exists."
       return-value)))
 
 (defun elmo-pop3-process-filter (process output)
-  (with-current-buffer (process-buffer process)
-    (goto-char (point-max))
-    (insert output)
-    (elmo-pop3-debug "RECEIVED: %s\n" output)
-    (if (and elmo-pop3-total-size
-            (> elmo-pop3-total-size
-               (min elmo-display-retrieval-progress-threshold 100)))
-       (elmo-display-progress
-        'elmo-display-retrieval-progress
-        (format "Retrieving (%d/%d bytes)..."
-                (buffer-size)
-                elmo-pop3-total-size)
-        (/ (buffer-size) (/ elmo-pop3-total-size 100))))))
+  (when (buffer-live-p (process-buffer process))
+    (with-current-buffer (process-buffer process)
+      (goto-char (point-max))
+      (insert output)
+      (elmo-pop3-debug "RECEIVED: %s\n" output)
+      (if (and elmo-pop3-total-size
+              (> elmo-pop3-total-size
+                 (min elmo-display-retrieval-progress-threshold 100)))
+         (elmo-display-progress
+          'elmo-display-retrieval-progress
+          (format "Retrieving (%d/%d bytes)..."
+                  (buffer-size)
+                  elmo-pop3-total-size)
+          (/ (buffer-size) (/ elmo-pop3-total-size 100)))))))
 
 (defun elmo-pop3-auth-user (session)
   (let ((process (elmo-network-session-process-internal session)))
index d86e2c0..8d90e49 100644 (file)
@@ -47,7 +47,7 @@ The format of this variable is a list of RULEs which has form like:
 
 The 1st element CONDITION is a sexp which consists of following.
 
-1. Functions which accept argument FIELD-NAME and VALUE.
+1. Functions which accept arguments FIELD-NAME and VALUE.
 FIELD-NAME is a symbol of the field name.
 
 `equal'             ... True if the field value equals to VALUE.
@@ -62,12 +62,17 @@ FIELD-NAME is a symbol of the field name.
                         VALUE can contain \\& and \\N which will substitute
                         from matching \\(\\) patterns in the previous VALUE.
 
-2. Functions which accept any number of arguments.
+2. Functions which accept an argument SIZE, SIZE is some number.
+
+`<'                 ... True if the size of the message is less than SIZE.
+`>'                 ... True if the size of the message is greater than SIZE.
+
+3. Functions which accept any number of arguments.
 
 `or'                ... True if one of the argument returns true.
 `and'               ... True if all of the arguments return true.
 
-3. A symbol.
+4. A symbol.
 
 When a symbol is specified, it is evaluated.
 
index 81e66ee..31702d7 100644 (file)
   "Return required length of padding for IMAP modified base64 fragment."
   (mod (- len) modulus))
 
-(static-cond
+(cond
+ ((or (find-coding-system 'utf-7)
+      (module-installed-p 'un-define))
+  (defun utf7-fragment-decode (start end &optional imap)
+    "Decode base64 encoded fragment from START to END of UTF-7 text in buffer.
+Use IMAP modification if IMAP is non-nil."
+    (require 'un-define)
+    (save-restriction
+      (narrow-to-region start end)
+      (goto-char (point-min))
+      (insert "+")
+      (when imap
+       (goto-char start)
+       (while (search-forward "," nil 'move-to-end) (replace-match "/")))
+      (decode-coding-region (point-min) (point-max) 'utf-7)))
+
+  (defun utf7-fragment-encode (start end &optional imap)
+    "Encode text from START to END in buffer as UTF-7 escape fragment.
+Use IMAP modification if IMAP is non-nil."
+    (require 'un-define)
+    (let ((buffer (current-buffer))
+         encoded-string)
+      (setq encoded-string
+           (with-temp-buffer
+             (insert-buffer-substring buffer start end)
+             (encode-coding-region (point-min) 
+                                   (point-max) 'utf-7)
+             (goto-char (point-min))
+             (when imap
+               (skip-chars-forward "+")
+               (delete-region (point-min) (point))
+               (insert "&")
+               (while (search-forward "/" nil t)
+                 (replace-match ",")))
+             (skip-chars-forward "^= \t\n" (point-max))
+             (delete-region (point) (point-max))
+             (buffer-string)))
+      (delete-region start end)
+      (insert encoded-string))))
  ((and (featurep 'xemacs) 
-       (module-installed-p 'xemacs-ucs))
+       (or (find-coding-system 'utf-8)
+          (module-installed-p 'xemacs-ucs)))
   (defun utf7-fragment-decode (start end &optional imap)
     "Decode base64 encoded fragment from START to END of UTF-7 text in buffer.
 Use IMAP modification if IMAP is non-nil."  
@@ -105,7 +144,7 @@ Use IMAP modification if IMAP is non-nil."
                            utf7-utf7-to-utf8-program
                            t (current-buffer)))
       (decode-coding-region (point-min) (point-max) 'utf-8)))
-
+  
   (defun utf7-fragment-encode (start end &optional imap)
     "Decode base64 encoded fragment from START to END of UTF-7 text in buffer.
 Use IMAP modification if IMAP is non-nil."  
@@ -136,54 +175,17 @@ Use IMAP modification if IMAP is non-nil."
              (buffer-string)))
       (delete-region start end)
       (insert encoded-string))))
- ((module-installed-p 'un-define) ;; Emacs
-  (defun utf7-fragment-decode (start end &optional imap)
-    "Decode base64 encoded fragment from START to END of UTF-7 text in buffer.
-Use IMAP modification if IMAP is non-nil."
-    (require 'un-define)
-    (save-restriction
-      (narrow-to-region start end)
-      (goto-char (point-min))
-      (insert "+")
-      (when imap
-       (goto-char start)
-       (while (search-forward "," nil 'move-to-end) (replace-match "/")))
-      (decode-coding-region (point-min) (point-max) 'utf-7)
-      ))
-
-  (defun utf7-fragment-encode (start end &optional imap)
-    "Encode text from START to END in buffer as UTF-7 escape fragment.
-Use IMAP modification if IMAP is non-nil."
-    (require 'un-define)
-    (let ((buffer (current-buffer))
-         encoded-string)
-      (setq encoded-string
-           (with-temp-buffer
-             (insert-buffer-substring buffer start end)
-             (encode-coding-region (point-min) 
-                                   (point-max) 'utf-7)
-             (goto-char (point-min))
-             (when imap
-               (skip-chars-forward "+")
-               (delete-region (point-min) (point))
-               (insert "&")
-               (while (search-forward "/" nil t)
-                 (replace-match ",")))
-             (skip-chars-forward "^= \t\n" (point-max))
-             (delete-region (point) (point-max))
-             (buffer-string)))
-      (delete-region start end)
-      (insert encoded-string))))
  (t
-  ;; Define as null function.
   (defun utf7-fragment-decode (start end &optional imap)
     "Encode text from START to END in buffer as UTF-7 escape fragment.
 Use IMAP modification if IMAP is non-nil."
+    ;; Define as a null function.
     )
 
   (defun utf7-fragment-encode (start end &optional imap)
     "Encode text from START to END in buffer as UTF-7 escape fragment.
 Use IMAP modification if IMAP is non-nil."
+    ;; Define as a null function.
     )))
 
 (defun utf7-encode-region (start end &optional imap)
index 58d1ae9..e479f1d 100644 (file)
@@ -1,3 +1,7 @@
+2002-12-11  TAKAHASHI Kaoru  <kaoru@kaisei.org>
+
+       * test-dist.el (test-version-toplevel-changelog): Fixed regexp.
+
 2002-10-27  TAKAHASHI Kaoru  <kaoru@kaisei.org>
 
        * test-dist.el (test-version-readme): New testcase.
index 9e51553..d2c82f8 100644 (file)
     (with-temp-buffer
       (insert-file-contents (expand-file-name "ChangeLog" "./"))
       (re-search-forward
-       "\\* \\([0-9\\.]+\\) - \"\\([^\"]+\\)\".$")
+       "^\t\\* \\([0-9\\.]+\\) - \"\\([^\"]+\\)\"$")
       (lunit-assert
        (string=
        (product-version-string (product-find 'wl-version))
index 61108ef..cf4b2de 100644 (file)
@@ -1,3 +1,30 @@
+2002-12-08  Kenichi OKADA  <okada@opaopa.org>
+
+       * wl-draft.el (wl-draft-send-mail-with-smtp): Fix logic
+       for elmo-remove-passwd.
+
+2002-12-04  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * wl-folder.el (wl-folder-sync-entity): Fixed problem when the
+       folder is sticky.
+       (wl-folder-mark-as-read-all-entity): Ditto.
+       (wl-folder-prefetch-entity): Ditto.
+
+2002-12-04  Yasutaka SHINDOH  <ring@fan.gr.jp>
+
+       * wl-demo.el (wl-demo-icon-name): Cope with Medow.
+
+2002-12-03  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
+
+       * wl-summary.el (wl-summary-target-mark-erase): Simplify.
+       Delete messages on buffer for unplugged operation.
+       (wl-summary-erase): Ditto.
+
+2002-11-25  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
+
+       * wl-vars.el (wl-summary-search-parent-by-subject-regexp): It can
+       take nil so as not to search parent by subject.
+
 2002-11-20  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
 
        * wl-folder.el (wl-folder-get-prev-folder): Ignore nemacs.
index 3e06c69..2a822bd 100644 (file)
@@ -41,7 +41,7 @@
 
 (defconst wl-demo-icon-name
   (concat "wl-" (wl-version-status)
-         (if (string-match "^... Dec \\([ 1][0-9]\\|2[0-5]\\)"
+         (if (string-match "^... Dec \\([ 01][0-9]\\|2[0-5]\\)"
                            (current-time-string))
              "-xmas-logo"
            "-logo"))
index 6010643..b9b2870 100644 (file)
@@ -1104,7 +1104,7 @@ non-nil."
                     (wl-draft-write-sendlog 'failed 'smtp smtp-server
                                             recipients id)
                     (if (and (eq (car err) 'smtp-response-error)
-                             (/= (nth 1 err) 334))
+                             (= (nth 1 err) 535))
                         (elmo-remove-passwd
                          (wl-smtp-password-key
                           smtp-sasl-user-name
index e35d178..72c5628 100644 (file)
@@ -998,14 +998,21 @@ If current line is group folder, check all sub entries."
                                         (wl-summary-always-sticky-folder-p
                                          folder))
                                     wl-summary-highlight))
-          wl-auto-select-first new unread)
+          wl-auto-select-first new unread sticky)
       (setq new (or (car nums) 0))
       (setq unread (or (cadr nums) 0))
       (if (or (not unread-only)
              (or (< 0 new) (< 0 unread)))
-         (let ((wl-summary-buffer-name (concat
-                                        wl-summary-buffer-name
-                                        (symbol-name this-command)))
+         (let ((wl-summary-buffer-name
+                (if (setq sticky (get-buffer (wl-summary-sticky-buffer-name
+                                              (elmo-folder-name-internal
+                                               folder))))
+                    ;; Sticky folder exists.
+                    (wl-summary-sticky-buffer-name
+                     (elmo-folder-name-internal folder))
+                  (concat
+                   wl-summary-buffer-name
+                   (symbol-name this-command))))
                (wl-summary-use-frame nil)
                (wl-summary-always-sticky-folder-list nil))
            (save-window-excursion
@@ -1014,7 +1021,9 @@ If current line is group folder, check all sub entries."
                                             (wl-summary-get-sync-range
                                              folder)
                                             nil nil nil t)
-               (wl-summary-exit)))))))))
+               (if sticky
+                   (wl-summary-save-status)
+                 (wl-summary-exit))))))))))
 
 (defun wl-folder-sync-current-entity (&optional unread-only)
   "Synchronize the folder at position.
@@ -1048,22 +1057,32 @@ If current line is group folder, check all subfolders."
                                         (wl-summary-always-sticky-folder-p
                                          folder))
                                     wl-summary-highlight))
-          wl-auto-select-first new unread)
+          wl-auto-select-first new unread sticky)
       (setq new (or (car nums) 0))
       (setq unread (or (cadr nums) 0))
       (if (or (< 0 new) (< 0 unread))
          (save-window-excursion
            (save-excursion
-             (let ((wl-summary-buffer-name (concat
-                                            wl-summary-buffer-name
-                                            (symbol-name this-command)))
+             (let ((wl-summary-buffer-name
+                    (if (setq sticky (get-buffer
+                                      (wl-summary-sticky-buffer-name
+                                       (elmo-folder-name-internal
+                                        folder))))
+                        ;; Sticky folder exists.
+                        (wl-summary-sticky-buffer-name
+                         (elmo-folder-name-internal folder))
+                      (concat
+                       wl-summary-buffer-name
+                       (symbol-name this-command))))
                    (wl-summary-use-frame nil)
                    (wl-summary-always-sticky-folder-list nil))
                (wl-summary-goto-folder-subr entity
                                             (wl-summary-get-sync-range folder)
                                             nil)
                (wl-summary-mark-as-read-all)
-               (wl-summary-exit))))
+               (if sticky
+                   (wl-summary-save-status)
+                 (wl-summary-exit)))))
        (sit-for 0))))))
 
 (defun wl-folder-mark-as-read-all-current-entity ()
@@ -2679,16 +2698,24 @@ Use `wl-subscribed-mailing-list'."
                                     wl-summary-highlight))
           wl-summary-exit-next-move
           wl-auto-select-first ret-val
-          count)
+          count sticky)
       (setq count (or (car nums) 0))
       (setq count (+ count (wl-folder-count-incorporates folder)))
       (if (or (null (car nums)) ; unknown
              (< 0 count))
          (save-window-excursion
            (save-excursion
-             (let ((wl-summary-buffer-name (concat
-                                            wl-summary-buffer-name
-                                            (symbol-name this-command)))
+             (let ((wl-summary-buffer-name
+                    (if (setq sticky (get-buffer
+                                      (wl-summary-sticky-buffer-name
+                                       (elmo-folder-name-internal
+                                        folder))))
+                        ;; Sticky folder exists.
+                        (wl-summary-sticky-buffer-name
+                         (elmo-folder-name-internal folder))                
+                      (concat
+                       wl-summary-buffer-name
+                       (symbol-name this-command))))
                    (wl-summary-use-frame nil)
                    (wl-summary-always-sticky-folder-list nil))
                (wl-summary-goto-folder-subr entity
@@ -2696,7 +2723,9 @@ Use `wl-subscribed-mailing-list'."
                                              folder)
                                             nil)
                (setq ret-val (wl-summary-incorporate))
-               (wl-summary-exit)
+               (if sticky
+                   (wl-summary-save-status)
+                 (wl-summary-exit))
                ret-val)))
        (cons 0 0))))))
 
index 393ec98..9122401 100644 (file)
@@ -330,7 +330,7 @@ It calls following-method selected from variable
            (while (< beg (point))
              (if (re-search-backward "^-+BEGIN PGP SIGNED MESSAGE-+$" nil t)
                  (setq count (+ count 1))
-               (defbug)))
+               (debug)))
            (with-temp-buffer
              (set-buffer-multibyte nil)
              (insert (mime-entity-body entity))
index f9d1b6b..181808a 100644 (file)
@@ -3075,6 +3075,7 @@ If optional argument NUMBER is specified, mark message specified by NUMBER."
              (wl-summary-unmark msg-num)
              (elmo-folder-delete-messages wl-summary-buffer-elmo-folder
                                           (list msg-num))
+             (wl-summary-delete-messages-on-buffer (list msg-num))
              (save-excursion (wl-summary-sync nil "update"))))))
     (message "Read-only folder.")))
 
@@ -3085,11 +3086,11 @@ If optional argument NUMBER is specified, mark message specified by NUMBER."
          (message "No marked message.")
        (when (yes-or-no-p
               "Erase all marked messages without moving them to trash? ")
-         (while (car wl-summary-buffer-target-mark-list)
-           (let ((num (car wl-summary-buffer-target-mark-list)))
-             (wl-summary-unmark num)
-             (elmo-folder-delete-messages wl-summary-buffer-elmo-folder
-                                          (list num))))
+         (elmo-folder-delete-messages wl-summary-buffer-elmo-folder
+                                      wl-summary-buffer-target-mark-list)
+         (wl-summary-delete-messages-on-buffer
+          wl-summary-buffer-target-mark-list)
+         (setq wl-summary-buffer-target-mark-list nil)
          (save-excursion (wl-summary-sync nil "update"))))
     (message "Read-only folder.")))
 
index 342b251..e7832e9 100644 (file)
@@ -326,8 +326,10 @@ It is highly recommended to set this value to t."
 
 (defcustom wl-summary-search-parent-by-subject-regexp "^[ \t]*\\(\\[[^:]+[,: ][0-9]+\\]\\)?[ \t]*re[\\^[:> ]"
   "*If message does not have in-reply-to field nor references field and
- subject matches this regexp, search parent message by subject matching."
-  :type 'string
+subject matches this regexp, search parent message by subject matching.
+If nil, never search search parent by subject."
+  :type '(choice string
+                (const :tag "Don't search parent" nil))
   :group 'wl-summary)
 
 ;; Important folders