-2008-11-25 TAKAHASHI Kaoru <kaoru@kaisei.org>
-
- * INSTALL: Updated recommended version of FLIM.
- * INSTALL.ja: Ditto.
-
-2008-02-19 TAKAHASHI Kaoru <kaoru@kaisei.org>
-
- * Makefile (clean-elc): Remove *.elx for compile-strict.
-
-2008-02-17 TAKAHASHI Kaoru <kaoru@kaisei.org>
-
- * INSTALL: Updated recommended version of APEL and FLIM.
- * INSTALL.ja: Updated recommended version of APEL and FLIM.
-
-2008-02-15 TAKAHASHI Kaoru <kaoru@kaisei.org>
-
- * WL-MK (wl-news-parse-news-subr): Use `string-to-number' instead
- of `string-to-int'.
-
2008-02-11 TAKAHASHI Kaoru <kaoru@kaisei.org>
* WL-MK: New backquote style.
modules.
SEMI (1.14.6 or later)
- FLIM (1.14.9 or later)
+ FLIM (1.14.6 or later)
Wanderlust and MIME modules require APEL. Before installing MIME
modules, please install the APEL.
(a) XEmacs 21.1 or later
- APEL 10.7, FLIM 1.14.9, SEMI 1.14.6
+ APEL 10.6, FLIM 1.14.7, SEMI 1.14.6
Installation as a XEmacs package, If possible.
(b) Emacs 20.4 or later
- APEL 10.7, FLIM 1.14.9, SEMI 1.14.6
+ APEL 10.6, FLIM 1.14.7, SEMI 1.14.6
(c) Emacs 20.1 to 20.3
- APEL 10.7, CLIME 1.14.6, SEMI 1.14.6
+ APEL 10.6, CLIME 1.14.6, SEMI 1.14.6
Use CLIME instead of FLIM. FLIM does not support Emacs 20.3 or
earlier.
(d) Emacs 19.34 (Mule 2.3)
- APEL 10.7, CLIME 1.14.6, SEMI 1.14.6
+ APEL 10.6, CLIME 1.14.6, SEMI 1.14.6
Mule based on Emacs 19.34 can also run SEMI. See the following web
page to get more information (in Japanese).
\e$B$F$*$/I,MW$,$"$j$^$9!#\e(B
SEMI (1.14.6 \e$B0J9_\e(B)
- FLIM (1.14.9 \e$B0J9_\e(B)
+ FLIM (1.14.6 \e$B0J9_\e(B)
Wanderlust \e$B$*$h$S\e(B MIME\e$BMQ%b%8%e!<%k$r;H$&$?$a$K$O\e(B APEL \e$B$r%$%s%9%H!<%k$7\e(B
\e$B$F$*$/I,MW$,$"$j$^$9!#\e(BAPEL \e$B$O>o$K:G?7HG$r;H$&$3$H$r?d>)$7$^$9!#\e(B
(a) XEmacs 21.1 \e$B0J9_\e(B
- APEL 10.7, FLIM 1.14.9, SEMI 1.14.6
+ APEL 10.6, FLIM 1.14.7, SEMI 1.14.6
\e$B2DG=$J$i$P\e(B XEmacs \e$B$N%Q%C%1!<%8$H$7$F%$%s%9%H!<%k$9$k$3$H$r$*4+$a$7$^$9!#\e(B
(b) Emacs 20.4 \e$B0J9_\e(B
- APEL 10.7, FLIM 1.14.9, SEMI 1.14.6
+ APEL 10.6, FLIM 1.14.7, SEMI 1.14.6
(c) Emacs 20.1\e$B!A\e(B20.3
- APEL 10.7, CLIME 1.14.6, SEMI 1.14.6
+ APEL 10.6, CLIME 1.14.6, SEMI 1.14.6
FLIM \e$B$,F0$-$^$;$s$N$G!"Be$o$j$K\e(B CLIME \e$B$r%$%s%9%H!<%k$7$F$/$@$5$$!#\e(B
(d) Emacs 19.34 (Mule 2.3)
- APEL 10.7, CLIME 1.14.6, SEMI 1.14.6
+ APEL 10.6, CLIME 1.14.6, SEMI 1.14.6
Emacs 19.34 \e$B%Y!<%9$N\e(B Mule \e$B$G$O\e(B SEMI \e$B$rF0:n$5$;$k$3$H$,2DG=$G$9!#2<5-\e(B
\e$B$N%Z!<%8$,;29M$K$J$j$^$9!#\e(B
clean-elc:
rm -f wl/*.elc wl/*~ wl/auto-autoloads.el wl/custom-load.el \
- wl/wl-news.el elmo/*.elc utils/*.elc \
- wl/*.elx elmo/*.elx utils/*.elx
+ wl/wl-news.el elmo/*.elc utils/*.elc utils/hmac/lisp/*.elc
package:
$(XEMACS) $(FLAGS) -l WL-MK -f compile-wl-package-xmas \
(version-tmp (split-string (match-string 1) "\\."))
version news-string end)
(while version-tmp
- (setq version (append version (list (string-to-number (car version-tmp)))))
+ (setq version (append version (list (string-to-int (car version-tmp)))))
(setq version-tmp (cdr version-tmp)))
(re-search-forward "^\\(\\* \\|\f\\)" nil t)
(goto-char (- (match-beginning 0) 1))
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
-\def\texinfoversion{2008-04-18.10}
+\def\texinfoversion{2007-09-03.05}
%
-% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
+% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, 2007,
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-% 2007, 2008 Free Software Foundation, Inc.
+% 2007 Free Software Foundation, Inc.
%
% This texinfo.tex file is free software: you can redistribute it and/or
% modify it under the terms of the GNU General Public License as
\let\ptexslash=\/
\let\ptexstar=\*
\let\ptext=\t
-\let\ptextop=\top
% If this character appears in an error message or help string, it
% starts a new line in the output.
\def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm}
\def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm}
-% Each occurrence of `\^^M' or `<space>\^^M' is replaced by a single space.
+% Each occurence of `\^^M' or `<space>\^^M' is replaced by a single space.
%
% \argremovec might leave us with trailing space, e.g.,
% @end itemize @c foo
% to get _exactly_ the rest of the line, we had to prevent such situation.
% We prepended an \empty token at the very beginning and we expand it now,
% just before passing the control to \argtorun.
-% (Similarly, we have to think about #3 of \argcheckspacesY above: it is
+% (Similarily, we have to think about #3 of \argcheckspacesY above: it is
% either the null string, or it ends with \^^M---thus there is no danger
% that a pair of braces would be stripped.
%
% used to check whether the current environment is the one expected.
%
% Non-false conditionals (@iftex, @ifset) don't fit into this, so they
-% are not treated as environments; they don't open a group. (The
+% are not treated as enviroments; they don't open a group. (The
% implementation of @end takes care not to call \endgroup in this
% special case.)
-% At run-time, environments start with this:
+% At runtime, environments start with this:
\def\startenvironment#1{\begingroup\def\thisenv{#1}}
% initialize
\let\thisenv\empty
\fi
}
-% Environment mismatch, #1 expected:
+% Evironment mismatch, #1 expected:
\def\badenverr{%
\errhelp = \EMsimple
\errmessage{This command can appear only \inenvironment\temp,
\def\jmacro{j}
\def\dotless#1{%
\def\temp{#1}%
- \ifx\temp\imacro \ifmmode\imath \else\ptexi \fi
- \else\ifx\temp\jmacro \ifmmode\jmath \else\j \fi
+ \ifx\temp\imacro \ptexi
+ \else\ifx\temp\jmacro \j
\else \errmessage{@dotless can be used only with i or j}%
\fi\fi
}
\temp
}
-% @include FILE -- \input text of FILE.
+% @include file insert text of that file as input.
%
\def\include{\parseargusing\filenamecatcodes\includezzz}
\def\includezzz#1{%
\pushthisfilestack
\def\thisfile{#1}%
{%
- \makevalueexpandable % we want to expand any @value in FILE.
- \turnoffactive % and allow special characters in the expansion
- \edef\temp{\noexpand\input #1 }%
- %
- % This trickery is to read FILE outside of a group, in case it makes
- % definitions, etc.
+ \makevalueexpandable
+ \def\temp{\input #1 }%
\expandafter
}\temp
\popthisfilestack
\mathunderscore
\let\\ = \mathbackslash
\mathactive
- % make the texinfo accent commands work in math mode
- \let\"=\ddot
- \let\'=\acute
- \let\==\bar
- \let\^=\hat
- \let\`=\grave
- \let\u=\breve
- \let\v=\check
- \let\~=\tilde
- \let\dotaccent=\dot
$\finishmath
}
\def\finishmath#1{#1$\endgroup} % Close the group opened by \tex.
}
}
-% Some math mode symbols.
+% @bullet and @minus need the same treatment as @math, just above.
\def\bullet{$\ptexbullet$}
-\def\geq{\ifmmode \ge\else $\ge$\fi}
-\def\leq{\ifmmode \le\else $\le$\fi}
-\def\minus{\ifmmode -\else $-$\fi}
+\def\minus{$-$}
% @dots{} outputs an ellipsis using the current font.
% We do .5em per period so that it has the same spacing in the cm
\openin 1 #1.jpeg \ifeof 1
\openin 1 #1.JPG \ifeof 1
\openin 1 #1.pdf \ifeof 1
- \openin 1 #1.PDF \ifeof 1
- \errhelp = \nopdfimagehelp
- \errmessage{Could not find image file #1 for pdf}%
- \else \gdef\pdfimgext{PDF}%
- \fi
+ \errhelp = \nopdfimagehelp
+ \errmessage{Could not find image file #1 for pdf}%
\else \gdef\pdfimgext{pdf}%
\fi
\else \gdef\pdfimgext{JPG}%
\closein 1
\endgroup
%
- % without \immediate, ancient pdftex seg faults when the same image is
+ % without \immediate, pdftex seg faults when the same image is
% included twice. (Version 3.14159-pre-1.0-unofficial-20010704.)
\ifnum\pdftexversion < 14
\immediate\pdfimage
}%
}
+%
% PDF CMaps. See also LaTeX's t1.cmap.
%
-% do nothing with this by default.
-\expandafter\let\csname cmapOT1\endcsname\gobble
-\expandafter\let\csname cmapOT1IT\endcsname\gobble
-\expandafter\let\csname cmapOT1TT\endcsname\gobble
-
-% if we are producing pdf, and we have \pdffontattr, then define cmaps.
-% (\pdffontattr was introduced many years ago, but people still run
-% older pdftex's; it's easy to conditionalize, so we do.)
-\ifpdf \ifx\pdffontattr\undefined \else
+% \cmapOT1
+\ifpdf
\begingroup
\catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char.
\catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap
\expandafter\edef\csname cmapOT1TT\endcsname#1{%
\pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}%
}%
-\fi\fi
+\else
+ \expandafter\let\csname cmapOT1\endcsname\gobble
+ \expandafter\let\csname cmapOT1IT\endcsname\gobble
+ \expandafter\let\csname cmapOT1TT\endcsname\gobble
+\fi
% Set the font macro #1 to the font named #2, adding on the
}
% This is what gets called when #5 of \setfont is empty.
\let\cmap\gobble
-% emacs-page end of cmaps
+
% Use cm as the default font prefix.
% To specify the font prefix, you must define \fontprefix
\let\env=\code
\let\command=\code
-% @clicksequence{File @click{} Open ...}
-\def\clicksequence#1{\begingroup #1\endgroup}
-
-% @clickstyle @arrow (by default)
-\parseargdef\clickstyle{\def\click{#1}}
-\def\click{\arrow}
-
% @uref (abbreviation for `urlref') takes an optional (comma-separated)
% second argument specifying the text to display and an optional third
% arg as text to display instead of (rather than in addition to) the url
\chardef\quoteleft=`\`
\chardef\quoteright=`\'
-
\message{page headings,}
\newskip\titlepagetopglue \titlepagetopglue = 1.5in
%
% A straightforward implementation would start like this:
% \def\entry#1#2{...
-% But this freezes the catcodes in the argument, and can cause problems to
+% But this frozes the catcodes in the argument, and can cause problems to
% @code, which sets - active. This problem was fixed by a kludge---
% ``-'' was active throughout whole index, but this isn't really right.
%
% @point{}, @result{}, @expansion{}, @print{}, @equiv{}.
%
-% Since these characters are used in examples, they should be an even number of
+% Since these characters are used in examples, it should be an even number of
% \tt widths. Each \tt character is 1en, so two makes it 1em.
%
\def\point{$\star$}
-\def\arrow{\leavevmode\raise.05ex\hbox to 1em{\hfil$\rightarrow$\hfil}}
-\def\result{\leavevmode\raise.05ex\hbox to 1em{\hfil$\Rightarrow$\hfil}}
-\def\expansion{\leavevmode\hbox to 1em{\hfil$\mapsto$\hfil}}
+\def\result{\leavevmode\raise.15ex\hbox to 1em{\hfil$\Rightarrow$\hfil}}
+\def\expansion{\leavevmode\raise.1ex\hbox to 1em{\hfil$\mapsto$\hfil}}
\def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}}
-\def\equiv{\leavevmode\hbox to 1em{\hfil$\ptexequiv$\hfil}}
+\def\equiv{\leavevmode\lower.1ex\hbox to 1em{\hfil$\ptexequiv$\hfil}}
% The @error{} command.
% Adapted from the TeXbook's \boxit.
\let\/=\ptexslash
\let\*=\ptexstar
\let\t=\ptext
- \expandafter \let\csname top\endcsname=\ptextop % outer
\let\frenchspacing=\plainfrenchspacing
%
\def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}%
\def\Edefun{\endgraf\medbreak}
% \makedefun{deffn} creates \deffn, \deffnx and \Edeffn;
-% the only thing remaining is to define \deffnheader.
+% the only thing remainnig is to define \deffnheader.
%
\def\makedefun#1{%
\expandafter\let\csname E#1\endcsname = \Edefun
%
% Make link in pdf output.
\ifpdf
+ \leavevmode
+ \getfilename{#4}%
{\indexnofonts
\turnoffactive
- % This expands tokens, so do it after making catcode changes, so _
- % etc. don't get their TeX definitions.
- \getfilename{#4}%
- %
% See comments at \activebackslashdouble.
{\activebackslashdouble \xdef\pdfxrefdest{#1}%
\backslashparens\pdfxrefdest}%
%
- \leavevmode
- \startlink attr{/Border [0 0 0]}%
\ifnum\filenamelength>0
- goto file{\the\filename.pdf} name{\pdfxrefdest}%
+ \startlink attr{/Border [0 0 0]}%
+ goto file{\the\filename.pdf} name{\pdfxrefdest}%
\else
- goto name{\pdfmkpgn{\pdfxrefdest}}%
+ \startlink attr{/Border [0 0 0]}%
+ goto name{\pdfmkpgn{\pdfxrefdest}}%
\fi
}%
\setcolor{\linkcolor}%
% In case a @footnote appears in a vbox, save the footnote text and create
% the real \insert just after the vbox finished. Otherwise, the insertion
% would be lost.
-% Similarly, if a @footnote appears inside an alignment, save the footnote
+% Similarily, if a @footnote appears inside an alignment, save the footnote
% text to a box and make the \insert when a row of the table is finished.
% And the same can be done for other insert classes. --kasal, 16nov03.
% If the image is by itself, center it.
\ifvmode
\imagevmodetrue
- \nobreak\medskip
+ \nobreak\bigskip
% Usually we'll have text after the image which will insert
% \parskip glue, so insert it here too to equalize the space
% above and below.
\nobreak\vskip\parskip
\nobreak
+ \line\bgroup
\fi
%
- % Leave vertical mode so that indentation from an enclosing
- % environment such as @quotation is respected. On the other hand, if
- % it's at the top level, we don't want the normal paragraph indentation.
- \noindent
- %
% Output the image.
\ifpdf
\dopdfimage{#1}{#2}{#3}%
\epsfbox{#1.eps}%
\fi
%
- \ifimagevmode \medskip \fi % space after the standalone image
+ \ifimagevmode \egroup \bigbreak \fi % space after the image
\endgroup}
@item elmo-spam-bsfilter-update-switch
@vindex elmo-spam-bsfilter-update-switch
-\e$B=i4|@_Dj$O!"\e(B@code{"--auto-update"}\e$B!#\e(B
+\e$B=i4|@_Dj$O!"\e(B@code{"--synchronous-auto-update"}\e$B!#\e(B
\e$B%a%C%;!<%8$r3X=,$9$k:]$K\e(B @command{bsfilter} \e$B$KM?$($k0z?t$r;XDj$7$^$9!#\e(B
@end table
@item elmo-spam-bsfilter-update-switch
@vindex elmo-spam-bsfilter-update-switch
-The initial setting is @code{"--auto-update"}.
+The initial setting is @code{"--synchronous-auto-update"}.
Specify options to give to @command{bsfilter} for learning messages.
@end table
-2009-03-22 Tetsurou Okazaki <okazaki@be.to>
-
- * elsp-bsfilter.el (elmo-spam-bsfilter-update-switch): Change
- default value to `--auto-update'.
-
-2008-07-06 TAKAHASHI Kaoru <kaoru@kaisei.org>
-
- * elmo-pop3.el (elmo-pop3-read-contents): Fix double `goto-char'.
- Add `elmo-pop3-read-point' barrier.
-
-2008-07-06 YAMASHITA Junji <ysiijj@gmail.com>
-
- * elmo-pop3.el (elmo-pop3-read-contents): improving performance:
- goto the previous end-point insead of the head-point, and use
- `search-forward' instead of `re-search-forward'.
-
-2008-06-30 Tetsurou Okazaki <okazaki@be.to>
-
- * elmo-imap4.el (elmo-imap4-parse-status): Use `case' instead of `cond'.
-
-2008-06-30 Don Bashford <Don.Bashford@stjude.org>
-
- * elmo-imap4.el (elmo-imap4-parse-status): Accept IMAP4 tokens in a
- case-insensitive fashion.
-
-2008-03-30 Tetsurou Okazaki <okazaki@be.to>
-
- * elmo-imap4.el (elmo-imap4-send-command): Combine `process-send-string' calls.
-
-2008-02-20 TAKAHASHI Kaoru <kaoru@kaisei.org>
-
- * elmo-util.el (elmo-add-name-to-file, elmo-field-body): Use
- `eval-and-compile' for suppress compile warnings.
-
- * elmo-vars.el (dynamic-link, dynamic-call): Use `defalias-maybe'
- instead of `defun-maybe'
-
- * elmo-util.el: Add (eval-when-compile (require 'static)).
-
-2008-02-19 TAKAHASHI Kaoru <kaoru@kaisei.org>
-
- * mmimap.el: Remove (require 'static).
- * acap.el: Ditto.
-
- * elmo-flag.el: Move ';;; Code:' comment.
- * elmo-imap4.el: Ditto.
- * elmo-net.el: Ditto.
-
- * elmo-version.el (product-provide): Fix comment.
-
-2008-02-18 TAKAHASHI Kaoru <kaoru@kaisei.org>
-
- * slp.el: Add (eval-when-compile (require 'cl)).
- * elmo-date.el: Ditto.
- * elmo-pop3.el: Ditto.
- * elmo-mime.el: Add (eval-when-compile (require 'elmo)).
-
-2008-02-17 TAKAHASHI Kaoru <kaoru@kaisei.org>
-
- * modb.el (elmo-msgdb-match-condition-primitive): Use
- `string-to-number' instead of `string-to-int'.
-
- * modb-entity.el (elmo-msgdb-create-message-entity-from-buffer)
- (elmo-msgdb-message-match-condition)
- (elmo-msgdb-create-message-entity-from-buffer): Use
- `string-to-number' instead of `string-to-int'.
-
- * elmo.el (elmo-folder-confirm-appends): Use `string-to-number'
- instead of `string-to-int'.
-
- * elmo-util.el (elmo-cache-expire-by-age): Use `string-to-number'
- instead of `string-to-int'.
-
- * elmo-pop3.el (elmo-pop3-list-by-list, elmo-folder-status): Use
- `string-to-number' instead of `string-to-int'.
-
- * elmo-nntp.el (elmo-nntp-make-msglist)
- (elmo-folder-list-messages-plugged, elmo-nntp-folder-status)
- (elmo-nntp-create-msgdb-from-overview-string)
- (elmo-nntp-parse-xhdr-response, elmo-nntp-msgdb-create-message)
- (elmo-nntp-search-primitive): Use `string-to-number' instead of
- `string-to-int'.
-
- * elmo-net.el (elmo-net-folder-set-parameters): Use
- `string-to-number' instead of `string-to-int'.
-
- * elmo-localdir.el (elmo-localdir-list-subr): Use
- `string-to-number' instead of `string-to-int'.
-
- * elmo-imap4.el (elmo-imap4-search-internal-primitive): Use
- `string-to-number' instead of `string-to-int'.
-
- * elmo-date.el (elmo-date-get-datevec): Use `string-to-number'
- instead of `string-to-int'.
-
- * elmo-archive.el (elmo-archive-list-folder-subr): Use
- `string-to-number' instead of `string-to-int'.
-
-2008-02-16 TAKAHASHI Kaoru <kaoru@kaisei.org>
-
- * elmo-util.el (elmo-get-passwd): Fix typo.
-
- * elmo-nntp.el (elmo-nntp-get-server-command)
- (elmo-nntp-set-server-command, elmo-nntp-xover-p)
- (elmo-nntp-listgroup-p, elmo-nntp-set-listgroup)
- (elmo-nntp-list-active-p, elmo-nntp-set-list-active)
- (elmo-nntp-xhdr-p, elmo-nntp-set-xhdr): New backquote style.
-
- * elmo-imap4.el (elmo-imap4-debug)
- (elmo-imap4-response-continue-req-p, elmo-imap4-response-ok-p)
- (elmo-imap4-response-bye-p, elmo-imap4-response-garbage-p)
- (elmo-imap4-response-value, elmo-imap4-response-error-text)
- (elmo-imap4-response-bodydetail-text, elmo-imap4-value)
- (elmo-imap4-nth, elmo-imap4-detect-search-charset)
- (elmo-imap4-identical-system-p): New backquote style.
-
-2008-02-15 TAKAHASHI Kaoru <kaoru@kaisei.org>
-
- * elmo-dop.el (elmo-make-dop-queue): New backquote style.
- (elmo-dop-queue-fname, elmo-dop-queue-method): Ditto.
- (elmo-dop-queue-arguments): Ditto.
-
- * elmo-date.el (elmo-match-substring): New backquote style.
- (elmo-match-string, elmo-match-buffer): Ditto.
- (elmo-date-make-sortable-string): Ditto.
-
- * elmo-archive.el (elmo-archive-get-method):New backquote style.
- (elmo-archive-get-suffix, elmo-archive-get-regexp): Ditto.
-
- * elmo-multi.el (elmo-multi-real-folder-number): New backquote
- style.
-
- * elmo-net.el (elmo-network-stream-type-spec-string): New
- backquote style.
- (elmo-network-stream-type-symbol): Ditto.
- (elmo-network-stream-type-feature): Ditto.
- (elmo-network-stream-type-function): Ditto.
- (elmo-network-session-buffer): Ditto.
-
- * elmo-util.el (elmo-file-cache-expand-path): New backquote style.
- (elmo-file-cache-status, elmo-file-cache-path): Ditto.
- (elmo-make-file-cache, elmo-string, elmo-get-passwd): Ditto.
- (elmo-bind-directory, elmo-set-work-buf): Ditto.
-
- * elmo.el (elmo-folder-send): New backquote style.
-
2008-02-11 TAKAHASHI Kaoru <kaoru@kaisei.org>
- * pldap.el (ldap-static-if): New backquote style.
- (ldap/ldif-safe-string-p): Ditto.
- (ldap/ldif-insert-field): Ditto.
-
* elmo-version.el (elmo-version): Up to 2.15.6.
2008-01-31 Yoichi NAKAYAMA <yoichi@geiin.org>
;;; Code:
-(eval-when-compile (require 'cl))
+(eval-when-compile
+ (require 'cl)
+ (require 'static))
(require 'pces)
(require 'sasl)
;;; Macro
(defmacro elmo-archive-get-method (type action)
- `(cdr (assq ,action (cdr (assq ,type elmo-archive-method-alist)))))
+ (` (cdr (assq (, action) (cdr (assq (, type)
+ elmo-archive-method-alist))))))
(defmacro elmo-archive-get-suffix (type)
- `(cdr (assq ,type elmo-archive-suffix-alist)))
+ (` (cdr (assq (, type)
+ elmo-archive-suffix-alist))))
(defmacro elmo-archive-get-regexp (type)
- `(cdr (assq ,type elmo-archive-file-regexp-alist)))
+ (` (cdr (assq (, type)
+ elmo-archive-file-regexp-alist))))
(defsubst elmo-archive-call-process (prog args &optional output)
(= (apply 'call-process prog nil output nil args) 0))
(goto-char (point-min))))
(while (and (re-search-forward file-regexp nil t)
(not (eobp))) ; for GNU tar 981010
- (setq file-list (nconc file-list (list (string-to-number
+ (setq file-list (nconc file-list (list (string-to-int
(match-string 1)))))))
(error "%s does not exist" file))
(if nonsort
(require 'path-util)
(require 'timezone)
(require 'elmo-vars)
-(eval-when-compile (require 'cl))
(defmacro elmo-match-substring (pos string from)
"Substring of POSth matched string of STRING."
- `(substring ,string
- (+ (match-beginning ,pos) ,from)
- (match-end ,pos)))
+ (` (substring (, string)
+ (+ (match-beginning (, pos)) (, from))
+ (match-end (, pos)))))
(defmacro elmo-match-string (pos string)
"Substring POSth matched STRING."
- `(substring ,string (match-beginning ,pos) (match-end ,pos)))
+ (` (substring (, string) (match-beginning (, pos)) (match-end (, pos)))))
(defmacro elmo-match-buffer (pos)
"Substring POSth matched from the current buffer."
- `(buffer-substring-no-properties
- (match-beginning ,pos) (match-end ,pos)))
+ (` (buffer-substring-no-properties
+ (match-beginning (, pos)) (match-end (, pos)))))
;; from subr.el
(defun elmo-replace-in-string (str regexp newtext &optional literal)
(timezone-fix-time (current-time-string) (current-time-zone)
nil)))
(number
- (string-to-number
+ (string-to-int
(if (match-beginning 1)
(elmo-match-string 1 description)
"0")))
(defmacro elmo-date-make-sortable-string (datevec)
"Make a sortable string from DATEVEC."
- `(timezone-make-sortable-date
- (aref ,datevec 0)
- (aref ,datevec 1)
- (aref ,datevec 2)
- (timezone-make-time-string
- (aref ,datevec 3)
- (aref ,datevec 4)
- (aref ,datevec 5))))
+ (` (timezone-make-sortable-date
+ (aref (, datevec) 0)
+ (aref (, datevec) 1)
+ (aref (, datevec) 2)
+ (timezone-make-time-string
+ (aref (, datevec) 3)
+ (aref (, datevec) 4)
+ (aref (, datevec) 5)))))
(defsubst elmo-datevec-to-time (datevec)
(encode-time (aref datevec 5) (aref datevec 4) (aref datevec 3)
(defmacro elmo-make-dop-queue (fname method arguments)
"Make a dop queue."
- `(vector ,fname ,method ,arguments))
+ (` (vector (, fname) (, method) (, arguments))))
(defmacro elmo-dop-queue-fname (queue)
"Return the folder name string of the QUEUE."
- `(aref ,queue 0))
+ (` (aref (, queue) 0)))
(defmacro elmo-dop-queue-method (queue)
"Return the method symbol of the QUEUE."
- `(aref ,queue 1))
+ (` (aref (, queue) 1)))
(defmacro elmo-dop-queue-arguments (queue)
"Return the arguments of the QUEUE."
- `(aref ,queue 2))
+ (` (aref (, queue) 2)))
(defun elmo-dop-queue-append (folder method arguments)
"Append to disconnected operation queue."
;;; Commentary:
;;
-
-;;; Code:
(require 'elmo-util)
(require 'elmo-localdir)
(eval-when-compile (require 'cl))
+;;; Code:
(defcustom elmo-global-flags '(important)
"A list of flag symbol which is managed globally by the flag folder."
:type '(repeat symbol)
;; Author: Simon Josefsson <jas@pdc.kth.se>
;;
-;;; Code:
(require 'elmo-vars)
(require 'elmo-util)
(require 'elmo-date)
(require 'utf7)
(require 'elmo-mime)
+;;; Code:
(eval-when-compile (require 'cl))
(defvar elmo-imap4-disuse-server-flag-mailbox-regexp "^#mh" ; UW imapd
;;; Debug
(defmacro elmo-imap4-debug (message &rest args)
- `(if elmo-imap4-debug
- (elmo-imap4-debug-1 ,message ,@args)))
+ (` (if elmo-imap4-debug
+ (elmo-imap4-debug-1 (, message) (,@ args)))))
(defun elmo-imap4-debug-1 (message &rest args)
(with-current-buffer (get-buffer-create "*IMAP4 DEBUG*")
(defmacro elmo-imap4-response-continue-req-p (response)
"Returns non-nil if RESPONSE is '+' response."
- `(assq 'continue-req ,response))
+ (` (assq 'continue-req (, response))))
(defmacro elmo-imap4-response-ok-p (response)
"Returns non-nil if RESPONSE is an 'OK' response."
- `(assq 'ok ,response))
+ (` (assq 'ok (, response))))
(defmacro elmo-imap4-response-bye-p (response)
"Returns non-nil if RESPONSE is an 'BYE' response."
- `(assq 'bye ,response))
+ (` (assq 'bye (, response))))
(defmacro elmo-imap4-response-garbage-p (response)
"Returns non-nil if RESPONSE is an 'garbage' response."
- `(assq 'garbage ,response))
+ (` (assq 'garbage (, response))))
(defmacro elmo-imap4-response-value (response symbol)
"Get value of the SYMBOL from RESPONSE."
- `(nth 1 (assq ,symbol ,response)))
+ (` (nth 1 (assq (, symbol) (, response)))))
(defsubst elmo-imap4-response-value-all (response symbol)
"Get all value of the SYMBOL from RESPONSE."
(defmacro elmo-imap4-response-error-text (response)
"Returns text of NO, BAD, BYE response."
- `(nth 1 (or (elmo-imap4-response-value ,response 'no)
- (elmo-imap4-response-value ,response 'bad)
- (elmo-imap4-response-value ,response 'bye))))
+ (` (nth 1 (or (elmo-imap4-response-value (, response) 'no)
+ (elmo-imap4-response-value (, response) 'bad)
+ (elmo-imap4-response-value (, response) 'bye)))))
(defmacro elmo-imap4-response-bodydetail-text (response)
"Returns text of BODY[section]<partial>."
- `(nth 3 (assq 'bodydetail ,response)))
+ (` (nth 3 (assq 'bodydetail (, response)))))
;;; Session commands.
;; rfc2088
(progn
(setq cmdstr (concat cmdstr
- (format "{%d+}" (nth 2 token))
- "\r\n"))
+ (format "{%d+}" (nth 2 token))))
(process-send-string process cmdstr)
+ (process-send-string process "\r\n")
(setq cmdstr nil))
(setq cmdstr (concat cmdstr
- (format "{%d}" (nth 2 token))
- "\r\n"))
+ (format "{%d}" (nth 2 token))))
(process-send-string process cmdstr)
+ (process-send-string process "\r\n")
(setq cmdstr nil)
(elmo-imap4-accept-continue-req session))
(cond ((stringp (nth 1 token))
(t
(error "Invalid argument")))
(setq command-args (cdr command-args)))
- (process-send-string process (concat cmdstr "\r\n"))
+ (if cmdstr
+ (process-send-string process cmdstr))
+ (process-send-string process "\r\n")
tag)))
(defun elmo-imap4-send-string (session string)
(setq status
(cons
(let ((token (read (current-buffer))))
- (case (intern (upcase (symbol-name token)))
- (MESSAGES
- (list 'messages (read (current-buffer))))
- (RECENT
- (list 'recent (read (current-buffer))))
- (UIDNEXT
- (list 'uidnext (read (current-buffer))))
- (UIDVALIDITY
- (and (looking-at " \\([0-9]+\\)")
- (prog1 (list 'uidvalidity (match-string 1))
- (goto-char (match-end 1)))))
- (UNSEEN
- (list 'unseen (read (current-buffer))))
- (t
- (message
- "Unknown status data %s in mailbox %s ignored"
- token mailbox))))
+ (cond ((eq token 'MESSAGES)
+ (list 'messages (read (current-buffer))))
+ ((eq token 'RECENT)
+ (list 'recent (read (current-buffer))))
+ ((eq token 'UIDNEXT)
+ (list 'uidnext (read (current-buffer))))
+ ((eq token 'UIDVALIDITY)
+ (and (looking-at " \\([0-9]+\\)")
+ (prog1 (list 'uidvalidity (match-string 1))
+ (goto-char (match-end 1)))))
+ ((eq token 'UNSEEN)
+ (list 'unseen (read (current-buffer))))
+ (t
+ (message
+ "Unknown status data %s in mailbox %s ignored"
+ token mailbox))))
status))
(skip-chars-forward " ")))
(and elmo-imap4-status-callback
(defmacro elmo-imap4-value (value)
- `(if (eq ,value 'NIL)
- nil
- ,value))
+ (` (if (eq (, value) 'NIL) nil
+ (, value))))
(defmacro elmo-imap4-nth (pos list)
- `(let ((value (nth ,pos ,list)))
- (elmo-imap4-value value)))
+ (` (let ((value (nth (, pos) (, list))))
+ (elmo-imap4-value value))))
(defun elmo-imap4-parse-namespace ()
(list 'namespace
t))
(defmacro elmo-imap4-detect-search-charset (string)
- `(with-temp-buffer
- (insert ,string)
- (detect-mime-charset-region (point-min) (point-max))))
+ (` (with-temp-buffer
+ (insert (, string))
+ (detect-mime-charset-region (point-min) (point-max)))))
(defun elmo-imap4-search-internal-primitive (folder session filter from-msgs)
(let ((search-key (elmo-filter-key filter))
((string= "last" search-key)
(let ((numbers (or from-msgs (elmo-folder-list-messages folder))))
(nthcdr (max (- (length numbers)
- (string-to-number (elmo-filter-value filter)))
+ (string-to-int (elmo-filter-value filter)))
0)
numbers)))
((string= "first" search-key)
(let* ((numbers (or from-msgs (elmo-folder-list-messages folder)))
- (rest (nthcdr (string-to-number (elmo-filter-value filter) )
+ (rest (nthcdr (string-to-int (elmo-filter-value filter) )
numbers)))
(mapcar '(lambda (x) (delete x numbers)) rest)
numbers))
(eval-when-compile
(defmacro elmo-imap4-identical-system-p (folder1 folder2)
"Return t if FOLDER1 and FOLDER2 are in the same IMAP4 system."
- `(and (string= (elmo-net-folder-server-internal ,folder1)
- (elmo-net-folder-server-internal ,folder2))
- (eq (elmo-net-folder-port-internal ,folder1)
- (elmo-net-folder-port-internal ,folder2))
- (string= (elmo-net-folder-user-internal ,folder1)
- (elmo-net-folder-user-internal ,folder2)))))
+ (` (and (string= (elmo-net-folder-server-internal (, folder1))
+ (elmo-net-folder-server-internal (, folder2)))
+ (eq (elmo-net-folder-port-internal (, folder1))
+ (elmo-net-folder-port-internal (, folder2)))
+ (string= (elmo-net-folder-user-internal (, folder1))
+ (elmo-net-folder-user-internal (, folder2)))))))
(luna-define-method elmo-folder-next-message-number-plugged
((folder elmo-imap4-folder))
one-level)))
(defsubst elmo-localdir-list-subr (folder &optional nonsort)
- (let ((flist (mapcar 'string-to-number
+ (let ((flist (mapcar 'string-to-int
(directory-files
(elmo-localdir-folder-directory-internal folder)
nil "^[0-9]+$" t)))
(require 'mmimap)
(require 'mime-view)
-(eval-when-compile
- (require 'luna)
- (require 'elmo) ; elmo-folder-do-each-message-entity
- (require 'cl))
-
;; MIME-Entity
(eval-and-compile
(luna-define-class elmo-mime-entity))
(defmacro elmo-multi-real-folder-number (folder number)
"Returns a cons cell of real FOLDER and NUMBER."
- `(cons (nth (-
- (/ ,number
- (elmo-multi-folder-divide-number-internal ,folder))
- 1) (elmo-multi-folder-children-internal ,folder))
- (% ,number (elmo-multi-folder-divide-number-internal
- ,folder))))
+ (` (cons (nth (-
+ (/ (, number)
+ (elmo-multi-folder-divide-number-internal (, folder)))
+ 1) (elmo-multi-folder-children-internal (, folder)))
+ (% (, number) (elmo-multi-folder-divide-number-internal
+ (, folder))))))
(luna-define-method elmo-folder-initialize ((folder
elmo-multi-folder)
;;; Commentary:
;;
-;;; Code:
-;;
(eval-when-compile (require 'cl))
(require 'elmo-util)
(require 'elmo-cache)
(require 'elmo)
+;;; Code:
+;;
+
(defconst elmo-net-folder-name-syntax '((?@ [server ".+"])
(?: [port "^[0-9]+$"])
(?! stream-type)))
(delete-process (elmo-network-session-process-internal session))))
(defmacro elmo-network-stream-type-spec-string (stream-type)
- `(nth 0 ,stream-type))
+ (` (nth 0 (, stream-type))))
(defmacro elmo-network-stream-type-symbol (stream-type)
- `(nth 1 ,stream-type))
+ (` (nth 1 (, stream-type))))
(defmacro elmo-network-stream-type-feature (stream-type)
- `(nth 2 ,stream-type))
+ (` (nth 2 (, stream-type))))
(defmacro elmo-network-stream-type-function (stream-type)
- `(nth 3 ,stream-type))
+ (` (nth 3 (, stream-type))))
(defsubst elmo-network-session-password-key (session)
(format "%s:%s/%s@%s:%d"
(defmacro elmo-network-session-buffer (session)
"Get buffer for SESSION."
- `(process-buffer (elmo-network-session-process-internal ,session)))
+ (` (process-buffer (elmo-network-session-process-internal
+ (, session)))))
(defun elmo-network-get-session (class name folder &optional if-exists)
"Get network session from session cache or a new network session.
;; port
(elmo-net-folder-set-port-internal
folder
- (or (and port (string-to-number port))
+ (or (and port (string-to-int port))
(plist-get defaults :port)))
;; stream-type
(elmo-net-folder-set-stream-type-internal
(xhdr . 3)))
(defmacro elmo-nntp-get-server-command (session)
- `(assoc (cons (elmo-network-session-server-internal ,session)
- (elmo-network-session-port-internal ,session))
- elmo-nntp-server-command-alist))
+ (` (assoc (cons (elmo-network-session-server-internal (, session))
+ (elmo-network-session-port-internal (, session)))
+ elmo-nntp-server-command-alist)))
(defmacro elmo-nntp-set-server-command (session com value)
- `(let (entry)
- (unless (setq entry (cdr (elmo-nntp-get-server-command
- ,session)))
- (setq elmo-nntp-server-command-alist
- (nconc elmo-nntp-server-command-alist
- (list (cons
- (cons
- (elmo-network-session-server-internal ,session)
- (elmo-network-session-port-internal ,session))
- (setq entry
- (vector
- elmo-nntp-default-use-xover
- elmo-nntp-default-use-listgroup
- elmo-nntp-default-use-list-active
- elmo-nntp-default-use-xhdr)))))))
- (aset entry
- (cdr (assq ,com elmo-nntp-server-command-index))
- ,value)))
+ (` (let (entry)
+ (unless (setq entry (cdr (elmo-nntp-get-server-command
+ (, session))))
+ (setq elmo-nntp-server-command-alist
+ (nconc elmo-nntp-server-command-alist
+ (list (cons
+ (cons
+ (elmo-network-session-server-internal (, session))
+ (elmo-network-session-port-internal (, session)))
+ (setq entry
+ (vector
+ elmo-nntp-default-use-xover
+ elmo-nntp-default-use-listgroup
+ elmo-nntp-default-use-list-active
+ elmo-nntp-default-use-xhdr)))))))
+ (aset entry
+ (cdr (assq (, com) elmo-nntp-server-command-index))
+ (, value)))))
(defmacro elmo-nntp-xover-p (session)
- `(let ((entry (elmo-nntp-get-server-command ,session)))
- (if entry
- (aref (cdr entry)
- (cdr (assq 'xover elmo-nntp-server-command-index)))
- elmo-nntp-default-use-xover)))
+ (` (let ((entry (elmo-nntp-get-server-command (, session))))
+ (if entry
+ (aref (cdr entry)
+ (cdr (assq 'xover elmo-nntp-server-command-index)))
+ elmo-nntp-default-use-xover))))
(defmacro elmo-nntp-set-xover (session value)
- `(elmo-nntp-set-server-command ,session 'xover ,value))
+ (` (elmo-nntp-set-server-command (, session) 'xover (, value))))
(defmacro elmo-nntp-listgroup-p (session)
- `(let ((entry (elmo-nntp-get-server-command ,session)))
- (if entry
- (aref (cdr entry)
- (cdr (assq 'listgroup elmo-nntp-server-command-index)))
- elmo-nntp-default-use-listgroup)))
+ (` (let ((entry (elmo-nntp-get-server-command (, session))))
+ (if entry
+ (aref (cdr entry)
+ (cdr (assq 'listgroup elmo-nntp-server-command-index)))
+ elmo-nntp-default-use-listgroup))))
(defmacro elmo-nntp-set-listgroup (session value)
- `(elmo-nntp-set-server-command ,session 'listgroup ,value))
+ (` (elmo-nntp-set-server-command (, session) 'listgroup (, value))))
(defmacro elmo-nntp-list-active-p (session)
- `(let ((entry (elmo-nntp-get-server-command ,session)))
- (if entry
- (aref (cdr entry)
- (cdr (assq 'list-active elmo-nntp-server-command-index)))
- elmo-nntp-default-use-list-active)))
+ (` (let ((entry (elmo-nntp-get-server-command (, session))))
+ (if entry
+ (aref (cdr entry)
+ (cdr (assq 'list-active elmo-nntp-server-command-index)))
+ elmo-nntp-default-use-list-active))))
(defmacro elmo-nntp-set-list-active (session value)
- `(elmo-nntp-set-server-command ,session 'list-active ,value))
+ (` (elmo-nntp-set-server-command (, session) 'list-active (, value))))
(defmacro elmo-nntp-xhdr-p (session)
- `(let ((entry (elmo-nntp-get-server-command ,session)))
- (if entry
- (aref (cdr entry)
- (cdr (assq 'xhdr elmo-nntp-server-command-index)))
- elmo-nntp-default-use-xhdr)))
+ (` (let ((entry (elmo-nntp-get-server-command (, session))))
+ (if entry
+ (aref (cdr entry)
+ (cdr (assq 'xhdr elmo-nntp-server-command-index)))
+ elmo-nntp-default-use-xhdr))))
(defmacro elmo-nntp-set-xhdr (session value)
- `(elmo-nntp-set-server-command ,session 'xhdr ,value))
+ (` (elmo-nntp-set-server-command (, session) 'xhdr (, value))))
(defsubst elmo-nntp-max-number-precedes-list-active-p ()
elmo-nntp-max-number-precedes-list-active)
ret-val)))
(defun elmo-nntp-make-msglist (beg-str end-str)
- (elmo-make-number-list (string-to-number beg-str)
- (string-to-number end-str)))
+ (elmo-make-number-list (string-to-int beg-str) (string-to-int end-str)))
(luna-define-method elmo-folder-list-messages-plugged ((folder
elmo-nntp-folder)
(string-match
"211 \\([0-9]+\\) \\([0-9]+\\) \\([0-9]+\\) [^.].+$"
response)
- (> (string-to-number (elmo-match-string 1 response)) 0))
+ (> (string-to-int (elmo-match-string 1 response)) 0))
(setq numbers (elmo-nntp-make-msglist
(elmo-match-string 2 response)
(elmo-match-string 3 response)))))
"211 \\([0-9]+\\) \\([0-9]+\\) \\([0-9]+\\) [^.].+$"
response))
(progn
- (setq end-num (string-to-number
+ (setq end-num (string-to-int
(elmo-match-string 3 response)))
- (setq e-num (string-to-number
+ (setq e-num (string-to-int
(elmo-match-string 1 response)))
(when (and killed-list
(elmo-number-set-member end-num killed-list))
;;; (<= num 0))
;;; (setq num 0))
;;; (setq num (int-to-string num))
- (setq num (string-to-number (aref ov-entity 0)))
+ (setq num (string-to-int (aref ov-entity 0)))
(when (or (null numlist)
(memq num numlist))
(setq entity (elmo-msgdb-make-message-entity
(aref ov-entity 1)))
elmo-no-subject)
:date (aref ov-entity 3)
- :size (string-to-number (aref ov-entity 6))))
+ :size (string-to-int (aref ov-entity 6))))
(dolist (extra elmo-msgdb-extra-fields)
(setq extra (downcase extra))
(when (and (setq field-index
(goto-char (point-min))
(while (not (eobp))
(if (looking-at "^\\([0-9]+\\) \\(.*\\)$")
- (setq response (cons (cons (string-to-number (elmo-match-buffer 1))
+ (setq response (cons (cons (string-to-int (elmo-match-buffer 1))
(elmo-match-buffer 2))
response)))
(forward-line 1)))
((string= "last" search-key)
(let ((numbers (or from-msgs (elmo-folder-list-messages spec))))
(nthcdr (max (- (length numbers)
- (string-to-number (elmo-filter-value condition)))
+ (string-to-int (elmo-filter-value condition)))
0)
numbers)))
((string= "first" search-key)
(let* ((numbers (or from-msgs (elmo-folder-list-messages spec)))
- (rest (nthcdr (string-to-number (elmo-filter-value condition) )
+ (rest (nthcdr (string-to-int (elmo-filter-value condition) )
numbers)))
(mapcar '(lambda (x) (delete x numbers)) rest)
numbers))
(setq beg (save-excursion (forward-line 1) (point)))
(setq num
(and (looking-at "^2[0-9]*[ ]+\\([0-9]+\\)")
- (string-to-number
+ (string-to-int
(elmo-match-buffer 1))))
(elmo-nntp-next-result-arrived-p)
(when num
(require 'elmo-map)
(eval-when-compile
- (require 'cl)
(require 'elmo-util))
(eval-and-compile
(defun elmo-pop3-read-contents (process)
(with-current-buffer (process-buffer process)
(let ((case-fold-search nil)
- (point elmo-pop3-read-point))
- (while (and (goto-char (- point 2))
- (not (search-forward "\r\n.\r\n" nil t)))
- (setq point (max (- (point-max) 2) ; Care of \r\n.\r[EOF] case
- elmo-pop3-read-point))
- (accept-process-output process 1))
+ match-end)
+ (goto-char elmo-pop3-read-point)
+ (while (not (re-search-forward "^\\.\r\n" nil t))
+ (accept-process-output process 1)
+ (goto-char elmo-pop3-read-point))
+ (setq match-end (point))
(elmo-delete-cr
(buffer-substring elmo-pop3-read-point
- (- (point) 3))))))
+ (- match-end 3))))))
(luna-define-method elmo-folder-expand-msgdb-path ((folder elmo-pop3-folder))
(convert-standard-filename
(if elmo-pop3-list-done
(progn
(mapatoms (lambda (atom)
- (setq list (cons (string-to-number
+ (setq list (cons (string-to-int
(substring (symbol-name atom) 1))
list)))
elmo-pop3-size-hash)
(if (not (string-match "^\+OK[ \t]*\\([0-9]*\\)" response))
(error "POP STAT command failed")
(setq total
- (string-to-number
+ (string-to-int
(substring response (match-beginning 1)(match-end 1 ))))
(elmo-folder-close-internal folder)
(cons total total))))))
;;; Code:
;;
-(eval-when-compile
- (require 'cl)
- (require 'static))
+(eval-when-compile (require 'cl))
(require 'elmo-vars)
(require 'elmo-date)
(require 'mcharset)
(fset 'elmo-base64-decode-string
(mel-find-function 'mime-decode-string "base64"))
-(eval-and-compile
- (if elmo-use-hardlink
- (defalias 'elmo-add-name-to-file 'add-name-to-file)
- (defun elmo-add-name-to-file
- (filename newname &optional ok-if-already-exists)
- (copy-file filename newname ok-if-already-exists t))))
+(if elmo-use-hardlink
+ (defalias 'elmo-add-name-to-file 'add-name-to-file)
+ (defun elmo-add-name-to-file
+ (filename newname &optional ok-if-already-exists)
+ (copy-file filename newname ok-if-already-exists t)))
(defmacro elmo-set-work-buf (&rest body)
"Execute BODY on work buffer. Work buffer remains."
- `(save-excursion
- (set-buffer (get-buffer-create elmo-work-buf-name))
- (set-buffer-multibyte default-enable-multibyte-characters)
- (erase-buffer)
- ,@body))
+ (` (save-excursion
+ (set-buffer (get-buffer-create elmo-work-buf-name))
+ (set-buffer-multibyte default-enable-multibyte-characters)
+ (erase-buffer)
+ (,@ body))))
(put 'elmo-set-work-buf 'lisp-indent-function 0)
(def-edebug-spec elmo-set-work-buf t)
(defmacro elmo-bind-directory (dir &rest body)
"Set current directory DIR and execute BODY."
- `(let ((default-directory (file-name-as-directory ,dir)))
- ,@body))
+ (` (let ((default-directory (file-name-as-directory (, dir))))
+ (,@ body))))
(put 'elmo-bind-directory 'lisp-indent-function 1)
(def-edebug-spec elmo-bind-directory
(elmo-base64-encode-string pass)))))
(if elmo-passwd-life-time
(run-with-timer elmo-passwd-life-time nil
- `(lambda () (elmo-remove-passwd ,key))))
+ (` (lambda () (elmo-remove-passwd (, key))))))
pass)))
(defun elmo-remove-passwd (key)
(and (eq (car diff) 0)
(< diff-time (nth 1 diff)))))
-(eval-and-compile
- (if (fboundp 'std11-fetch-field)
- (defalias 'elmo-field-body 'std11-fetch-field) ;;no narrow-to-region
- (defalias 'elmo-field-body 'std11-field-body)))
+(if (fboundp 'std11-fetch-field)
+ (defalias 'elmo-field-body 'std11-fetch-field) ;;no narrow-to-region
+ (defalias 'elmo-field-body 'std11-field-body))
(defun elmo-unfold-field-body (name)
(let ((value (elmo-field-body name)))
(defmacro elmo-string (string)
"STRING without text property."
- `(let ((obj (copy-sequence ,string)))
- (and obj (set-text-properties 0 (length obj) nil obj))
- obj))
+ (` (let ((obj (copy-sequence (, string))))
+ (and obj (set-text-properties 0 (length obj) nil obj))
+ obj)))
(defun elmo-flatten (list-of-list)
"Flatten LIST-OF-LIST."
'section means partial section cache exists.
'entire means entire cache exists.
If the cache is partial file-cache, TYPE is 'partial."
- `(cons ,path ,status))
+ (` (cons (, path) (, status))))
(defmacro elmo-file-cache-path (file-cache)
"Returns the file path of the FILE-CACHE."
- `(car ,file-cache))
+ (` (car (, file-cache))))
(defmacro elmo-file-cache-status (file-cache)
"Returns the status of the FILE-CACHE."
- `(cdr ,file-cache))
+ (` (cdr (, file-cache))))
(defsubst elmo-cache-to-msgid (filename)
(concat "<" (elmo-recover-string-from-filename filename) ">"))
"Return file name for the file-cache corresponds to the section.
PATH is the file-cache path.
SECTION is the section string."
- `(expand-file-name (or ,section "") ,path))
+ (` (expand-file-name (or (, section) "") (, path))))
(defun elmo-file-cache-delete (path)
"Delete a cache on PATH."
curtime)
(if (string= age "")
(setq age elmo-cache-expire-default-age)
- (setq age (string-to-number age)))
+ (setq age (string-to-int age)))
(setq curtime (current-time))
(setq curtime (+ (* (nth 0 curtime)
(float 65536)) (nth 1 curtime)))
;; silence byte compiler
(eval-when-compile
- (defalias-maybe 'dynamic-link 'ignore)
- (defalias-maybe 'dynamic-call 'ignore))
+ (defun-maybe dynamic-link (a))
+ (defun-maybe dynamic-call (a b)))
;; bind colon keywords for old Emacsen.
(dont-compile
;; product-define in the first place
(product-provide 'elmo-version
- ;; Don't forget to run `make update-version' and `make test'.
- ;; Don't forget to check codename in `wl-version.el'.
+ ;; Don't forget to check `wl-version.el' and Info.
(product-define "ELMO" nil '(2 15 6)))
;; set version-string
(defmacro elmo-folder-send (folder message &rest args)
"Let FOLDER receive the MESSAGE with ARGS."
- `(luna-send ,folder ,message ,folder ,@args))
+ (` (luna-send (, folder) (, message) (, folder) (,@ args))))
;;;###autoload
(defun elmo-make-folder (name &optional non-persistent mime-charset)
(while t
(setq in (read-from-minibuffer "Update number: "
(int-to-string in))
- in (string-to-number in))
+ in (string-to-int in))
(if (< len in)
(throw 'end len))
(if (y-or-n-p (format
:type '(repeat string)
:group 'elmo-spam-bsfilter)
-(defcustom elmo-spam-bsfilter-update-switch "--auto-update"
+(defcustom elmo-spam-bsfilter-update-switch "--synchronous-auto-update"
"*The switch that Bsfilter uses to update database with classify."
:type 'string
:group 'elmo-spam-bsfilter)
(require 'mmgeneric)
(require 'mime)
(require 'pces)
+(require 'static)
(require 'mime-parse)
(eval-and-compile
cc (mapconcat 'identity (elmo-multiple-field-body "cc") ","))
(unless (elmo-msgdb-message-entity-field handler entity 'size)
(if (setq size (elmo-field-body "content-length"))
- (setq size (string-to-number size))
+ (setq size (string-to-int size))
(setq size 0)))
(while extras
(if (setq field-body (elmo-field-body (car extras)))
((or (string= key "larger")
(string= key "smaller"))
(let ((bytes (elmo-msgdb-message-entity-field handler entity 'size))
- (threshold (string-to-number (elmo-filter-value condition))))
+ (threshold (string-to-int (elmo-filter-value condition))))
(if (string= key "larger")
(> bytes threshold)
(< bytes threshold))))
:size
(let ((size (elmo-field-body "content-length")))
(if size
- (string-to-number size)
+ (string-to-int size)
(or (plist-get args :size) 0)))))))
(let (field-name field-body extractor)
(dolist (extra (cons "newsgroups" elmo-msgdb-extra-fields))
(cond
((string= key "last")
(<= (length (memq number population))
- (string-to-number (elmo-filter-value condition))))
+ (string-to-int (elmo-filter-value condition))))
((string= key "first")
(< (- (length population)
(length (memq number population)))
- (string-to-number (elmo-filter-value condition))))
+ (string-to-int (elmo-filter-value condition))))
((string= key "flag")
(let ((flags (elmo-msgdb-flags msgdb number)))
(cond ((string= (elmo-filter-value condition) "any")
"`if' expression but COND is evaluated at compile-time."
(if (eval cond)
then
- `(progn ,@else)))
+ (` (progn (,@ else)))))
(ldap-static-if (and (not (featurep 'pldap))
(fboundp 'ldap-open))
(defmacro ldap/ldif-safe-string-p (string)
"Return t if STRING is a safe-string for LDIF."
;; Need better implentation.
- `(string-match ldap-ldif-safe-string-regexp ,string))
+ (` (string-match ldap-ldif-safe-string-regexp (, string))))
(defgroup ldap nil
"Lightweight Directory Access Protocol"
(error "%s" (car (split-string ret "\n"))))))))
(defmacro ldap/ldif-insert-field (attr value)
- `(if (not (ldap/ldif-safe-string-p ,value))
- (insert ,attr ":: " (base64-encode-string ,value) "\n")
- (insert ,attr ": " ,value "\n")))
+ (` (if (not (ldap/ldif-safe-string-p (, value)))
+ (insert (, attr) ":: " (base64-encode-string (, value)) "\n")
+ (insert (, attr) ": " (, value) "\n"))))
(defun ldap-modify (ldap dn mods)
"Add an entry to an LDAP directory.
;; 28 Aug 2001 Created.
;;; Code:
-(eval-when-compile (require 'cl))
(defgroup slp nil
"Interface for `Service Location Protocol'."
-2008-02-19 TAKAHASHI Kaoru <kaoru@kaisei.org>
-
- * test-wl-util.el (test-wl-unique-id-by-user): New testcase.
- (test-wl-inverse-alist): Ditto.
-
-2008-02-15 TAKAHASHI Kaoru <kaoru@kaisei.org>
-
- * test-elmo-date.el: New file.
-
2006-11-03 Yoichi NAKAYAMA <yoichi@geiin.org>
* test-wl-draft.el: New file.
+++ /dev/null
-(require 'lunit)
-(require 'elmo-date)
-
-(luna-define-class test-elmo-date (lunit-test-case))
-
-(luna-define-method test-elmo-date-get-week ((case test-elmo-date))
- "Check around singularity date. leap year and 2038-01-19."
- (let ((elmo-lang "en"))
- (lunit-assert
- (string= "Tue" (elmo-date-get-week 2000 2 29)))
- (lunit-assert
- (string= "Tue" (elmo-date-get-week 2038 1 19)))
- (lunit-assert
- (string= "Wed" (elmo-date-get-week 2038 1 20)))
- (lunit-assert
- (string= "Sun" (elmo-date-get-week 2100 2 28)))
- (lunit-assert
- (string= "Mon" (elmo-date-get-week 2100 3 1)))))
(not
(string= (wl-unique-id)
(progn (sleep-for 1) (wl-unique-id))))))
-
-(luna-define-method test-wl-unique-id-by-user ((case test-wl-util))
- (lunit-assert
- (let (user-login-name)
- (not
- (string= (progn (setq user-login-name "_alice") (wl-unique-id))
- (progn (setq user-login-name "_bob") (wl-unique-id)))))))
-
-
-(luna-define-method test-wl-inverse-alist ((case test-wl-util))
- (lunit-assert
- (equal
- '((cc c) (aa a))
- (wl-inverse-alist '(a c) '((a . aa) (a . bb) (c . cc))))))
-2008-04-22 TAKAHASHI Kaoru <kaoru@kaisei.org>
-
- * ptexinfmt.el: Fix Comments.
- (texinfo-format-geq, texinfo-format-leq,): Support @geq and @leq.
-
-2008-02-19 TAKAHASHI Kaoru <kaoru@kaisei.org>
-
- * bbdb-wl.el: Add (eval-when-compile (require 'static)).
-
-2008-02-14 TAKAHASHI Kaoru <kaoru@kaisei.org>
-
- * wl-mailto.el: Use `string-to-number' instead of `string-to-int'.
-
-2008-02-11 TAKAHASHI Kaoru <kaoru@kaisei.org>
-
- * wl-addrbook.el (wl-addrbook-hashtb): Use quote instead of
- backquote.
- (wl-alias-next, wl-alias-get): New backquote style.
-
2007-11-10 Katsumi Yamaoka <yamaoka@jpl.org>
* ptexinfmt.el (texinfo-copying-text, texinfo-copying)
;; bbdb setup.
(eval-when-compile
- (require 'static)
(require 'mime-setup)
(require 'elmo-vars)
(require 'elmo-util)
;; Modified by Yamaoka not to use APEL functions.
;; Unimplemented command:
-;; @abbr{ABBREVIATION}
-;; @float ... @end float, @caption{TEXT}, @shortcaption{TEXT}, @listoffloats
+;; @abbr
+;; @float, @caption, @shortcaption, @listoffloats
;; @deftypecv[x]
;; @headitem
;; @comma{}
;; @quotation (optional arguments)
-;; @acronym{ACRONYM[, MEANING]} (optional argument)
+;; @acronym (optional argument)
;; @dofirstparagraphindent
;; @indent
-;; @verbatiminclude FILENAME
+;; @verbatiminclude
;; @\
-;; @definfoenclose phoo,//,\\
-;; @deftypeivar CLASS DATA-TYPE VARIABLE-NAME
-;; @deftypeop CATEGORY CLASS DATA-TYPE NAME ARGUMENTS...
-;; @allowcodebreaks false
+;; @definfoenclose
+;; @deftypeivar
+;; @deftypeop
+;; @allowcodebreaks
;; @thischapternum
;; @quotedblleft @quotedblright
;; @quoteleft @quoteright @quotedblbase @quotesinglbase
;; @guillemetleft @guillemetright @guilsinglleft @guilsinglright.
-;; @clicksequence, @click, @clickstyle, @arrow
;;; Code:
nil
t))
-;; @var{METASYNTACTIC-VARIABLE}
+;; @var
(ptexinfmt-broken-facility texinfo-format-var
"Don't perse @var argument."
(condition-case nil
t))
(error nil)))
-;; @xref{NODE-NAME[, CROSS-REFERENCE-NAME, TITLE-OR-TOPIC,
-;; INFO-FILE-NAME, PRINTED-MANUAL-TITLE]}.
+;; @xref
(ptexinfmt-broken-facility texinfo-format-xref
"Can't format @xref, 1st argument is empty."
(condition-case nil
t))
(error nil)))
-;; @uref{URL[, TEXT][, REPLACEMENT]}
+;; @uref
(ptexinfmt-broken-facility texinfo-format-uref
"Parse twice @uref argument."
(condition-case nil
(put 'page 'texinfo-format 'texinfo-discard-line)
(put 'hyphenation 'texinfo-format 'texinfo-discard-command-and-arg)
-;; @slanted{TEXT} (makeinfo 4.8 or later)
+;; @slanted{} (makeinfo 4.8 or later)
(put 'slanted 'texinfo-format 'texinfo-format-noop)
-;; @sansserif{TEXT} (makeinfo 4.8 or later)
+;; @sansserif{} (makeinfo 4.8 or later)
(put 'sansserif 'texinfo-format 'texinfo-format-noop)
;; @tie{} (makeinfo 4.3 or later)
\f
;;; Directory File
-;; @direcategory DIRPART
+;; @direcategory
(put 'dircategory 'texinfo-format 'texinfo-format-dircategory)
(ptexinfmt-defun-if-void texinfo-format-dircategory ()
(let ((str (texinfo-parse-arg-discard)))
(point)))
(insert "INFO-DIR-SECTION " str "\n")))
-;; @direntry ... @end direntry
+;; @direntry
(put 'direntry 'texinfo-format 'texinfo-format-direntry)
(ptexinfmt-defun-if-void texinfo-format-direntry ()
(texinfo-push-stack 'direntry nil)
\f
;;; Marking
-;; @env{ENVIRONMENT-VARIABLE}
+;; @indicateurl, @url, @env, @command,
(put 'env 'texinfo-format 'texinfo-format-code)
-
-;; @command{COMMAND-NAME}
(put 'command 'texinfo-format 'texinfo-format-code)
-;; @indicateurl{INDICATEURL}
(put 'indicateurl 'texinfo-format 'texinfo-format-code)
-
-;; @url{URL[, DISPLAYED-TEXT][, REPLACEMENT}
(put 'url 'texinfo-format 'texinfo-format-uref) ; Texinfo 4.7
-;; @acronym{ACRONYM}
+;; @acronym
(put 'acronym 'texinfo-format 'texinfo-format-var)
-;; @var{METASYNTACTIC-VARIABLE}
(ptexinfmt-defun-if-broken texinfo-format-var ()
(let ((arg (texinfo-parse-expanded-arg)))
(texinfo-discard-command)
(insert (upcase arg))))
-;; @key{KEY-NAME}
+;; @key
(put 'key 'texinfo-format 'texinfo-format-key)
(ptexinfmt-defun-if-void texinfo-format-key ()
(insert (texinfo-parse-arg-discard))
(insert (nth 1 args) " <" (nth 0 args) ">")
(insert "<" (nth 0 args) ">"))))
-;; @option{OPTION-NAME}
+;; @option
(put 'option 'texinfo-format 'texinfo-format-option)
(ptexinfmt-defun-if-void texinfo-format-option ()
"Insert ` ... ' around arg unless inside a table; in that case, no quotes."
(delete-char 1))
\f
-;; @LaTeX{}
+;;; @LaTeX, @registeredsymbol{}
(put 'LaTeX 'texinfo-format 'texinfo-format-LaTeX)
(ptexinfmt-defun-if-void texinfo-format-LaTeX ()
(texinfo-parse-arg-discard)
(insert "LaTeX"))
-;; @registeredsymbol{}
(put 'registeredsymbol 'texinfo-format 'texinfo-format-registeredsymbol)
(ptexinfmt-defun-if-void texinfo-format-registeredsymbol ()
(texinfo-parse-arg-discard)
(ptexinfmt-defun-if-void texinfo-format-\/ ()
(texinfo-discard-command))
-;; @textdegree{}
+;; @textdegree
(put 'textdegree 'texinfo-format 'texinfo-format-textdegree)
(ptexinfmt-defun-if-void texinfo-format-textdegree ()
(insert "o" (texinfo-parse-arg-discard))
(goto-char texinfo-command-start))
-;; @geq{}
-(put 'geq 'texinfo-format 'texinfo-format-geq)
-(ptexinfmt-defun-if-void texinfo-format-geq ()
- (insert ">=" (texinfo-parse-arg-discard))
- (goto-char texinfo-command-start))
-
-;; @leq{}
-(put 'leq 'texinfo-format 'texinfo-format-leq)
-(ptexinfmt-defun-if-void texinfo-format-leq ()
- (insert "<=" (texinfo-parse-arg-discard))
- (goto-char texinfo-command-start))
-
\f
;;; Cross References
-;; @ref{NODE-NAME, ...}
-;; @xref{NODE-NAME, ...}
+;; @ref, @xref
(put 'ref 'texinfo-format 'texinfo-format-xref)
(ptexinfmt-defun-if-broken texinfo-format-xref ()
(insert (nth 1 args) " (" (nth 0 args) ")")
(insert "`" (nth 0 args) "'"))))
-;; @inforef{NODE-NAME, CROSS-REFERENCE-NAME, INFO-FILE-NAME}
+;; @inforef
(put 'inforef 'texinfo-format 'texinfo-format-inforef)
(ptexinfmt-defun-if-void texinfo-format-inforef ()
(let ((args (texinfo-format-parse-args)))
(insert "*Note " "(" (nth 2 args) ")" (car args) "::"))))
-;; @anchor{NAME}
+;; @anchor
;; don't emulation
;; If support @anchor for Mule 2.3, We must fix informat.el and info.el:
;; - Info-tagify suport @anthor-*-refill.
;; hash table for wl-addrbook-alist
(defmacro wl-addrbook-hashtb ()
- '(or wl-addrbook-hashtb
- (setq wl-addrbook-hashtb (elmo-make-hash 1021))))
+ (` (or wl-addrbook-hashtb
+ (setq wl-addrbook-hashtb (elmo-make-hash 1021)))))
(defsubst wl-addrbook-get-record-by-addr (addr &optional alist)
(elmo-get-hash-val (downcase addr) (wl-addrbook-hashtb)))
;;
(defmacro wl-alias-get (key)
- `(wl-addrbook-alias-get ,key wl-addrbook-alist))
+ (` (wl-addrbook-alias-get (, key) wl-addrbook-alist)))
(defmacro wl-alias-next (key)
- `(wl-addrbook-alias-next ,key wl-addrbook-alist))
+ (` (wl-addrbook-alias-next (, key) wl-addrbook-alist)))
(defalias 'wl-addrbook-alias-hit 'wl-addrbook-get-record-by-alias)
;; yucky compatibility stuff -- someone help me w/ this, please...
(if (and (string-match "^XEmacs \\([0-9.]+\\)" (emacs-version))
- (< (string-to-number (match-string 1 (emacs-version))) 21))
+ (< (string-to-int (match-string 1 (emacs-version))) 21))
;; for xemacs versions less than 21, use browse-url.el
(progn
(require 'browse-url)
-2009-03-16 Tetsurou Okazaki <okazaki@be.to>
-
- * wl-summary.el (wl-summary-previous-message-number): New function.
- (wl-summary-next-message-number): Ditto.
- (wl-summary-default-get-next-msg): Use `wl-summary-previous-message-number' and
- `wl-summary-next-message-number'.
- (wl-summary-get-prev-unread-folder): Use `with-current-buffer' instead of `save-excursion'.
- Inline temporary variable `cur-id'.
- (wl-summary-get-next-unread-folder): Ditto.
- (wl-summary-get-next-folder): Ditto.
- (wl-summary-get-prev-folder): Ditto. Remove a local variable `last-entity'.
-
-2009-01-01 TAKAHASHI Kaoru <kaoru@kaisei.org>
-
- * wl-demo.el (wl-demo-copyright-notice): Add 2009.
-
-2008-09-05 Kenichi Okada <okada@opaopa.org>
-
- * wl-summary.el (wl-summary-buffer-folder-name)
- (wl-draft-config-body-goto-header): Use backquote instead of quote.
- * wl-draft.el (wl-draft-body-goto-top)
- (wl-draft-body-goto-bottom) (wl-draft-config-body-goto-header): Ditto.
-
-2008-03-30 Tetsurou Okazaki <okazaki@be.to>
-
- * wl-mime.el (wl-message-decrypt-pgp-nonmime): Upcase "pgp" in the error message.
- (wl-message-verify-pgp-nonmime): Cause an error if no PGP signed region is found.
-
-2008-03-07 TAKAHASHI Kaoru <kaoru@kaisei.org>
-
- * wl-expire.el: Fix Comentary section.
-
-2008-02-25 TAKAHASHI Kaoru <kaoru@kaisei.org>
-
- * wl-mime.el: Add (eval-when-compile (require 'mmbuffer)).
- Require mime-parse, elmo-mime, and wl-util.
-
- * wl-summary.el: Add (eval-when-compile (require 'elmo-filter)).
-
- * wl-util.el: Add (eval-when-compile (require 'elmo-pop3)).
-
-2008-02-20 TAKAHASHI Kaoru <kaoru@kaisei.org>
-
- * wl-template.el: Require elmo-util and wl-vars.
-
- * wl-mime.el (wl-mime-display-header): Revert last change.
- Remove `delete-matching-lines "^$"'.
-
-2008-02-19 TAKAHASHI Kaoru <kaoru@kaisei.org>
-
- * wl-mime.el (wl-define-dummy-functions): Split
- `eval-when-compile' form for avoid error; when `make
- compile-strict.
-
- * wl-util.el: Move (eval-when-compile (require 'static)).
- * wl-dnd.el: Add (eval-when-compile (require 'static)).
- * wl-message.el: Ditto.
-
- * wl-mime.el (wl-message-delete-current-part): Use
- `insert-buffer-substring' instead of `insert-buffer'.
- * wl-summary.el (wl-summary-switch-to-clone-buffer): Ditto.
- * wl-draft.el (wl-draft-generate-clone-buffer)
- (wl-draft-do-mime-bcc): Ditto.
-
- * wl-address.el: Add (eval-when-compile (require 'cl)).
- * wl-addrmgr.el: Ditto.
- * wl-mime.el: Ditto.
- * wl-util.el: Ditto.
- * wl-score.el: Ditto.
-
-2008-02-18 TAKAHASHI Kaoru <kaoru@kaisei.org>
-
- * wl.el (wl-plugged-toggle): Use `string-to-number' instead of
- `string-to-int'.
-
- * wl-util.el (wl-unique-id): Use `string-to-number' instead of
- `string-to-int'.
-
- * wl-thread.el (wl-thread-jump-to-msg, wl-thread-set-parent): Use
- `string-to-number' instead of `string-to-int'.
-
- * wl-summary.el (wl-summary-get-list-info)
- (wl-summary-message-number): Use `string-to-number' instead of
- `string-to-int'.
-
- * wl-score.el (wl-score-overview-entity-get-lines)
- (wl-score-set-mark-below, wl-score-set-expunge-below)
- (wl-summary-increase-score, wl-score-get-header-entry): Use
- `string-to-number' instead of `string-to-int'.
-
- * wl-folder.el (wl-folder-update-diff-line): Use
- `string-to-number' instead of `string-to-int'.
-
- * wl-expire.el (wl-expire-archive-number2): Use `string-to-number'
- instead of `string-to-int'.
-
- * wl-draft.el (wl-jump-to-draft-folder): Use `string-to-number'
- instead of `string-to-int'.
-
- * wl-dnd.el (wl-dnd-drop-func): Use `string-to-number' instead of
- `string-to-int'.
-
-2008-02-17 TAKAHASHI Kaoru <kaoru@kaisei.org>
-
- * wl-util.el (wl-match-string, wl-match-buffer)
- (wl-as-coding-system, wl-as-mime-charset, wl-concat-list)
- (wl-kill-buffers, wl-local-variable-p)
- (wl-line-formatter-setup): New backquote style.
- (wl-count-lines): Use quote instead of backquote.
-
- * wl-summary.el (wl-summary-buffer-folder-name)
- (wl-summary-get-alike): Use quote instead of backquote.
- (wl-summary-sticky-buffer-name, wl-summary-put-alike): New
- backquote style.
-
- * wl-message.el (wl-message-buffer-cache-buffer-get)
- (wl-message-buffer-cache-folder-get)
- (wl-message-buffer-cache-message-get)
- (wl-message-buffer-cache-entry-make)
- (wl-message-buffer-cache-hit): New backquote style.
-
- * wl-folder.el (wl-folder-buffer-group-p): Use quote instead of
- backquote.
- (wl-folder-unread-regex, wl-folder-entity-exists-p)
- (wl-folder-clear-entity-info)
- (wl-folder-get-entity-info, wl-folder-set-entity-info)
- (wl-folder-elmo-folder-cache-get)
- (wl-folder-elmo-folder-cache-put): New backquote style.
-
- * wl-fldmgr.el (wl-fldmgr-get-entity-id): New backquote style.
- (wl-fldmgr-assign-id): Ditto.
- (wl-fldmgr-delete-line): Use quote instead of backquote.
- (wl-fldmgr-make-indent): Use `string-to-char' instead of `? '.
-
- * wl-draft.el (wl-smtp-extension-bind, wl-draft-sent-message-p)
- (wl-draft-set-sent-message): New backquote style.
- (wl-draft-body-goto-top, wl-draft-body-goto-bottom)
- (wl-draft-config-body-goto-header): Use quote instead of backquote.
-
-2008-02-16 TAKAHASHI Kaoru <kaoru@kaisei.org>
-
- * wl-address.el (wl-address-concat-token): Fix typo.
-
-2008-02-15 TAKAHASHI Kaoru <kaoru@kaisei.org>
-
- * wl-score.el (wl-score-put-alike): Use quote instead of backquote.
- (wl-score-get-alike): Ditto.
-
- * wl-vars.el: New backquote style.
- (wl-message-header-button-alist): Use quote instead of backquote.
-
- * wl.el (wl-plugged-string): New backquote style.
-
- * wl-address.el (wl-address-concat-token): New backquote style.
-
- * wl-expire.el (wl-expire-make-sortable-date): New backquote style.
-
-2008-02-13 Tetsurou Okazaki <okazaki@be.to>
-
- * wl-highlight.el (wl-highlight-folder-opened-regexp)
- (wl-highlight-folder-closed-regexp): Include the beginning of a line.
-
- * wl-folder.el (wl-folder-group-regexp): Remove a redundant character
- in the character alternative.
-
2008-02-11 TAKAHASHI Kaoru <kaoru@kaisei.org>
* Version number is increased to 2.15.6.
(require 'wl-util)
(require 'wl-vars)
(require 'std11)
-(eval-when-compile (require 'cl))
(defvar wl-address-complete-header-list
'("To:" "From:" "Cc:" "Bcc:" "Mail-Followup-To:" "Reply-To:"
list))))))
(defmacro wl-address-concat-token (string token)
- `(cond
- ((eq 'quoted-string (car ,token))
- (concat ,string "\"" (cdr ,token) "\""))
- ((eq 'comment (car ,token))
- (concat ,string "(" (cdr ,token) ")"))
- (t
- (concat ,string (cdr ,token)))))
+ (` (cond
+ ((eq 'quoted-string (car (, token)))
+ (concat (, string) "\"" (cdr (, token)) "\""))
+ ((eq 'comment (car (, token)))
+ (concat (, string) "(" (cdr (, token)) ")"))
+ (t
+ (concat (, string) (cdr (, token)))))))
(defun wl-address-string-without-group-list-contents (sequence)
"Return address string from lexical analyzed list SEQUENCE.
(require 'wl-address)
(require 'wl-draft)
-(eval-when-compile (require 'cl))
;; Variables
(defgroup wl-addrmgr nil
;;; Code:
(defconst wl-demo-copyright-notice
- "Copyright (C) 1998-2009 Yuuichi Teranishi <teranisi@gohome.org>"
+ "Copyright (C) 1998-2008 Yuuichi Teranishi <teranisi@gohome.org>"
"A declaration of the copyright on Wanderlust.")
(eval-when-compile
;;; Code:
;;
-(eval-when-compile (require 'static))
(static-cond
((featurep 'offix)
(split-string (nth 2 (car (cdr object)))
" ")))
(src-fld (nth 0 src-spec))
- (number (string-to-number (nth 1 src-spec)))
+ (number (string-to-int (nth 1 src-spec)))
target)
(setq target
(wl-folder-get-folder-name-by-id (get-text-property
user mechanism server))
(defmacro wl-smtp-extension-bind (&rest body)
- `(let* ((smtp-sasl-mechanisms
- (if wl-smtp-authenticate-type
- (mapcar 'upcase
- (if (listp wl-smtp-authenticate-type)
- wl-smtp-authenticate-type
- (list wl-smtp-authenticate-type)))))
- (smtp-use-sasl (and smtp-sasl-mechanisms t))
- (smtp-use-starttls (eq wl-smtp-connection-type 'starttls))
- (smtp-open-connection-function
- (if (eq wl-smtp-connection-type 'ssl)
- #'open-ssl-stream
- smtp-open-connection-function))
- smtp-sasl-user-name smtp-sasl-properties sasl-read-passphrase)
- (setq smtp-sasl-user-name wl-smtp-posting-user
- smtp-sasl-properties (when wl-smtp-authenticate-realm
- (list 'realm
- wl-smtp-authenticate-realm)))
- (setq sasl-read-passphrase
- (function
- (lambda (prompt)
- (elmo-get-passwd
- (wl-smtp-password-key
- smtp-sasl-user-name
- (car smtp-sasl-mechanisms)
- smtp-server)))))
- ,@body))
+ (` (let* ((smtp-sasl-mechanisms
+ (if wl-smtp-authenticate-type
+ (mapcar 'upcase
+ (if (listp wl-smtp-authenticate-type)
+ wl-smtp-authenticate-type
+ (list wl-smtp-authenticate-type)))))
+ (smtp-use-sasl (and smtp-sasl-mechanisms t))
+ (smtp-use-starttls (eq wl-smtp-connection-type 'starttls))
+ (smtp-open-connection-function
+ (if (eq wl-smtp-connection-type 'ssl)
+ #'open-ssl-stream
+ smtp-open-connection-function))
+ smtp-sasl-user-name smtp-sasl-properties sasl-read-passphrase)
+ (setq smtp-sasl-user-name wl-smtp-posting-user
+ smtp-sasl-properties (when wl-smtp-authenticate-realm
+ (list 'realm
+ wl-smtp-authenticate-realm)))
+ (setq sasl-read-passphrase
+ (function
+ (lambda (prompt)
+ (elmo-get-passwd
+ (wl-smtp-password-key
+ smtp-sasl-user-name
+ (car smtp-sasl-mechanisms)
+ smtp-server)))))
+ (,@ body))))
(defun wl-draft-insert-date-field ()
"Insert Date field."
;; function for wl-sent-message-via
(defmacro wl-draft-sent-message-p (type)
- `(eq (nth 1 (assq ,type wl-sent-message-via)) 'sent))
+ (` (eq (nth 1 (assq (, type) wl-sent-message-via)) 'sent)))
(defmacro wl-draft-set-sent-message (type result &optional server-port)
- `(let ((element (assq ,type wl-sent-message-via)))
- (if element
- (unless (eq (nth 1 element) ,result)
- (setcdr element (list ,result ,server-port))
- (setq wl-sent-message-modified t))
- (push (list ,type ,result ,server-port) wl-sent-message-via)
- (setq wl-sent-message-modified t))))
+ (` (let ((element (assq (, type) wl-sent-message-via)))
+ (if element
+ (unless (eq (nth 1 element) (, result))
+ (setcdr element (list (, result) (, server-port)))
+ (setq wl-sent-message-modified t))
+ (push (list (, type) (, result) (, server-port)) wl-sent-message-via)
+ (setq wl-sent-message-modified t)))))
(defun wl-draft-sent-message-results ()
(let ((results wl-sent-message-via)
"This is a blind carbon copy.")
"\n")
(mime-edit-insert-tag "message" "rfc822")
- (insert-buffer-substring draft-buffer)
+ (insert-buffer draft-buffer)
(let (wl-interactive-send)
(wl-draft-send 'kill-when-done))))))))
(erase-buffer)
(wl-draft-mode)
(wl-draft-editor-mode)
- (insert-buffer-substring editing-buffer)
+ (insert-buffer editing-buffer)
(message "")
(while local-variables
(make-local-variable (car local-variables))
buffer))
(defmacro wl-draft-body-goto-top ()
- `(progn
- (goto-char (point-min))
- (if (re-search-forward mail-header-separator nil t)
- (forward-char 1)
- (goto-char (point-max)))))
+ (` (progn
+ (goto-char (point-min))
+ (if (re-search-forward mail-header-separator nil t)
+ (forward-char 1)
+ (goto-char (point-max))))))
(defmacro wl-draft-body-goto-bottom ()
- `(goto-char (point-max)))
+ (` (goto-char (point-max))))
(defmacro wl-draft-config-body-goto-header ()
- `(progn
- (goto-char (point-min))
- (if (re-search-forward mail-header-separator nil t)
- (beginning-of-line)
- (goto-char (point-max)))))
+ (` (progn
+ (goto-char (point-min))
+ (if (re-search-forward mail-header-separator nil t)
+ (beginning-of-line)
+ (goto-char (point-max))))))
(defsubst wl-draft-config-sub-eval-insert (content &optional newline)
(let (content-value)
(message "No draft message exist.")
(if (string-match (concat "^" wl-draft-folder "/") mybuf)
(setq msg (cadr (memq
- (string-to-number (substring mybuf (match-end 0)))
+ (string-to-int (substring mybuf (match-end 0)))
msgs))))
(or msg (setq msg (car msgs)))
(if (setq buf (get-buffer (format "%s/%d" wl-draft-folder msg)))
;;; Commentary:
;;
-;;; Code:
-
(require 'wl-summary)
(require 'wl-thread)
(require 'wl-folder)
(require 'elmo)
+;;; Code:
+
(eval-when-compile
(require 'wl-util)
(require 'elmo-archive))
(error "Invalid marks: %s" wl-summary-expire-reserve-marks))))
(defmacro wl-expire-make-sortable-date (date)
- `(timezone-make-sortable-date
- (aref ,date 0) (aref ,date 1) (aref ,date 2)
- (timezone-make-time-string
- (aref ,date 3) (aref ,date 4) (aref ,date 5))))
+ (` (timezone-make-sortable-date
+ (aref (, date) 0) (aref (, date) 1) (aref (, date) 2)
+ (timezone-make-time-string
+ (aref (, date) 3) (aref (, date) 4) (aref (, date) 5)))))
;; New functions to avoid accessing to the msgdb directly.
(defsubst wl-expire-message-p (folder number)
(setq dels (nth 1 tmp)))
(wl-append deleted-list (car (wl-expire-delete folder dels))))
(setq delete-list (car tmp)
- filenum (string-to-number (nth 3 tmp))
+ filenum (string-to-int (nth 3 tmp))
len (nth 4 tmp)
arc-len len)
(catch 'done
;;
(defmacro wl-fldmgr-delete-line ()
- '(delete-region (save-excursion (beginning-of-line)
- (point))
- (save-excursion (end-of-line)
- (+ 1 (point)))))
+ (` (delete-region (save-excursion (beginning-of-line)
+ (point))
+ (save-excursion (end-of-line)
+ (+ 1 (point))))))
(defmacro wl-fldmgr-make-indent (level)
- `(concat " " (make-string (* 2 ,level) ,(string-to-char " "))))
+ (` (concat " " (make-string (* 2 (, level)) ? ))))
(defmacro wl-fldmgr-get-entity-id (&optional entity)
- `(get-text-property (if ,entity
- 0
- (point))
- 'wl-folder-entity-id
- ,entity))
+ (` (get-text-property (if (, entity)
+ 0
+ (point))
+ 'wl-folder-entity-id
+ (, entity))))
(defmacro wl-fldmgr-assign-id (entity &optional id)
- `(let ((entity-id (or ,id wl-folder-entity-id)))
- (put-text-property 0 (length ,entity)
- 'wl-folder-entity-id
- entity-id
- ,entity)))
+ (` (let ((entity-id (or (, id) wl-folder-entity-id)))
+ (put-text-property 0 (length (, entity))
+ 'wl-folder-entity-id
+ entity-id
+ (, entity)))))
(defsubst wl-fldmgr-read-string (str)
(if (string-match "\n" str)
(make-variable-buffer-local 'wl-folder-buffer-cur-point)
(defconst wl-folder-entity-regexp "^\\([ ]*\\)\\(\\[[\\+-]\\]\\)?\\([^\\[].+\\):[-*0-9]+/[-*0-9]+/[-*0-9]+")
-(defconst wl-folder-group-regexp "^\\([ ]*\\)\\[\\([\\+-]\\)\\]\\(.+\\):[0-9-]+/[0-9-]+/[0-9-]+\n")
+(defconst wl-folder-group-regexp "^\\([ ]*\\)\\[\\([\\+-]\\)\\]\\(.+\\):[-0-9-]+/[0-9-]+/[0-9-]+\n")
;; 1:indent 2:opened 3:group-name
(defconst wl-folder-unsync-regexp ":[^0\\*][0-9]*/[0-9\\*-]+/[0-9\\*-]+$")
wl-folder-mode-menu-spec))
(defmacro wl-folder-unread-regex (group)
- `(concat "^[ ]*.+:[0-9\\*-]+/[^0\\*][0-9]*/[0-9\\*-]+$"
- (if ,group
- "\\|^[ ]*\\[[+-]\\]"
- "")))
+ (` (concat "^[ ]*.+:[0-9\\*-]+/[^0\\*][0-9]*/[0-9\\*-]+$"
+ (if (, group)
+ "\\|^[ ]*\\[[+-]\\]"
+ ""))))
(defmacro wl-folder-buffer-group-p ()
- '(get-text-property (point) 'wl-folder-is-group))
+ (` (get-text-property (point) 'wl-folder-is-group)))
(defun wl-folder-buffer-search-group (group)
(let ((prev-point (point))
(wl-folder-get-folder-name-by-id id))))
(defmacro wl-folder-entity-exists-p (entity &optional hashtb)
- `(let ((sym (intern-soft ,entity (or ,hashtb wl-folder-entity-hashtb))))
- (and sym (boundp sym))))
+ (` (let ((sym (intern-soft (, entity)
+ (or (, hashtb) wl-folder-entity-hashtb))))
+ (and sym (boundp sym)))))
(defmacro wl-folder-clear-entity-info (entity &optional hashtb)
- `(elmo-clear-hash-val ,entity (or ,hashtb wl-folder-entity-hashtb)))
+ (` (elmo-clear-hash-val (, entity) (or (, hashtb) wl-folder-entity-hashtb))))
(defmacro wl-folder-get-entity-info (entity &optional hashtb)
- `(elmo-get-hash-val ,entity (or ,hashtb wl-folder-entity-hashtb)))
+ (` (elmo-get-hash-val (, entity) (or (, hashtb) wl-folder-entity-hashtb))))
(defmacro wl-folder-set-entity-info (entity value &optional hashtb)
- `(let* ((hashtb (or ,hashtb wl-folder-entity-hashtb))
- (info (wl-folder-get-entity-info ,entity hashtb)))
- (elmo-set-hash-val (elmo-string ,entity)
- (if (< (length ,value) 4)
- (append ,value (list (nth 3 info)))
- ,value)
- hashtb)))
+ (` (let* ((hashtb (or (, hashtb) wl-folder-entity-hashtb))
+ (info (wl-folder-get-entity-info (, entity) hashtb)))
+ (elmo-set-hash-val (elmo-string (, entity))
+ (if (< (length (, value)) 4)
+ (append (, value) (list (nth 3 info)))
+ (, value))
+ hashtb))))
(defun wl-folder-persistent-p (folder)
(or (and (wl-folder-search-entity-by-name folder wl-folder-entity
(defmacro wl-folder-elmo-folder-cache-get (name &optional hashtb)
"Returns a elmo folder structure associated with NAME from HASHTB.
Default HASHTB is `wl-folder-elmo-folder-hashtb'."
- `(elmo-get-hash-val ,name
- (or ,hashtb wl-folder-elmo-folder-hashtb)))
+ (` (elmo-get-hash-val (, name)
+ (or (, hashtb) wl-folder-elmo-folder-hashtb))))
(defmacro wl-folder-elmo-folder-cache-put (name folder &optional hashtb)
"Get folder elmo folder structure on HASHTB for folder with NAME.
Default HASHTB is `wl-folder-elmo-folder-hashtb'."
- `(elmo-set-hash-val ,name ,folder
- (or ,hashtb wl-folder-elmo-folder-hashtb)))
+ (` (elmo-set-hash-val (, name) (, folder)
+ (or (, hashtb) wl-folder-elmo-folder-hashtb))))
(defun wl-draft-get-folder ()
"A function to obtain `opened' draft elmo folder structure."
(setq is-group (get-text-property (point) 'wl-folder-is-group))
(when (looking-at "^[ ]*\\(.*\\):\\([0-9\\*-]*\\)/\\([0-9\\*-]*\\)/\\([0-9\\*]*\\)")
;;(looking-at "^[ ]*\\([^\\[].+\\):\\([0-9\\*-]*/[0-9\\*-]*/[0-9\\*]*\\)")
- (setq cur-new (string-to-number
+ (setq cur-new (string-to-int
(wl-match-buffer 2)))
- (setq cur-unread (string-to-number
+ (setq cur-unread (string-to-int
(wl-match-buffer 3)))
- (setq cur-all (string-to-number
+ (setq cur-all (string-to-int
(wl-match-buffer 4)))
(delete-region (match-beginning 2)
(match-end 4))
:group 'wl-message-faces
:group 'wl-faces)
-(defvar wl-highlight-folder-opened-regexp "^ *\\(\\[\\-\\]\\)")
-(defvar wl-highlight-folder-closed-regexp "^ *\\(\\[\\+\\]\\)")
+(defvar wl-highlight-folder-opened-regexp " *\\(\\[\\-\\]\\)")
+(defvar wl-highlight-folder-closed-regexp " *\\(\\[\\+\\]\\)")
(defvar wl-highlight-folder-leaf-regexp "[ ]*\\([-%\\+]\\)\\(.*\\):.*$")
(defvar wl-highlight-citation-face-list
;;; Code:
;;
(eval-when-compile (require 'cl))
-(eval-when-compile (require 'static))
(require 'wl-vars)
(require 'wl-highlight)
With association ((\"folder\" message \"message-id\") . cache-buffer).")
(defmacro wl-message-buffer-cache-buffer-get (entry)
- `(cdr ,entry))
+ (` (cdr (, entry))))
(defmacro wl-message-buffer-cache-folder-get (entry)
- `(car (car ,entry)))
+ (` (car (car (, entry)))))
(defmacro wl-message-buffer-cache-message-get (entry)
- `(cdr (car ,entry)))
+ (` (cdr (car (, entry)))))
(defmacro wl-message-buffer-cache-entry-make (key buf)
- `(cons ,key ,buf))
+ (` (cons (, key) (, buf))))
(defmacro wl-message-buffer-cache-hit (key)
"Return value assosiated with key."
- `(wl-message-buffer-cache-buffer-get
- (assoc ,key wl-message-buffer-cache)))
+ (` (wl-message-buffer-cache-buffer-get
+ (assoc (, key) wl-message-buffer-cache))))
(defun wl-message-buffer-cache-sort (entry)
"Move ENTRY to the top of `wl-message-buffer-cache'."
(require 'mime-view)
(require 'mime-edit)
(require 'mime-play)
-(require 'mime-parse)
-(eval-when-compile (require 'mmbuffer))
(require 'elmo)
-(require 'elmo-mime)
(require 'wl-vars)
-(require 'wl-util)
-(eval-when-compile (require 'cl))
;;; Draft
(format "Do you really want to delete part %s? "
(wl-mime-node-id-to-string node-id))))
(when (with-temp-buffer
- (insert-buffer-substring orig-buf)
+ (insert-buffer orig-buf)
(delete-region header-start body-end)
(goto-char header-start)
(insert "Content-Type: text/plain; charset=US-ASCII\n")
(eval-when-compile
(defmacro wl-define-dummy-functions (&rest symbols)
`(dolist (symbol (quote ,symbols))
- (defalias symbol 'ignore))))
+ (defalias symbol 'ignore)))
-(eval-when-compile
- ;; split eval-when-compile form for avoid error on `make compile-strict'
- (require 'mime-pgp)
(condition-case nil
(require 'epa)
(error
(inhibit-read-only t)
coding-system)
(unless region
- (error "Cannot find PGP encrypted region"))
+ (error "Cannot find pgp encrypted region"))
(save-restriction
(let ((props (text-properties-at (car region))))
(narrow-to-region (car region) (cdr region))
(let ((region (wl-find-region "^-+BEGIN PGP SIGNED MESSAGE-+$"
"^-+END PGP SIGNATURE-+$"))
coding-system)
- (unless region
- (error "Cannot find PGP signed region"))
(setq coding-system
(or (get-text-property (car region) 'wl-mime-decoded-coding-system)
(let* ((situation (mime-preview-find-boundary-info))
(elmo-message-visible-field-list wl-message-visible-field-list)
(elmo-message-sorted-field-list wl-message-sort-field-list))
(elmo-mime-insert-header entity situation)
+ (goto-char (point-min))
+ (delete-matching-lines "^$")
(wl-highlight-headers)))
(defun wl-mime-decrypt-application/pgp-encrypted (entity situation)
(require 'wl-vars)
(require 'wl-util)
(eval-when-compile
- (require 'cl) ; cadaar, cddaar
(require 'elmo-msgdb)) ; for inline functions
(defvar wl-score-edit-header-char
(defun wl-score-overview-entity-get-lines (entity)
(let ((lines (elmo-message-entity-field entity 'lines)))
(and lines
- (string-to-number lines))))
+ (string-to-int lines))))
(defun wl-score-overview-entity-get-xref (entity)
(or (elmo-message-entity-field entity 'xref)
nil))
(defmacro wl-score-put-alike ()
- '(elmo-set-hash-val (format "#%d" (wl-count-lines))
- alike
- wl-score-alike-hashtb))
+ (` (elmo-set-hash-val (format "#%d" (wl-count-lines))
+ alike
+ wl-score-alike-hashtb)))
(defmacro wl-score-get-alike ()
- '(elmo-get-hash-val (format "#%d" (wl-count-lines))
- wl-score-alike-hashtb))
+ (` (elmo-get-hash-val (format "#%d" (wl-count-lines))
+ wl-score-alike-hashtb)))
(defun wl-score-insert-header (header messages &optional extra-header)
(let ((mime-decode (nth 3 (assoc header wl-score-header-index)))
"Automatically mark messages with score below SCORE as read."
(interactive
(list (or (and current-prefix-arg (prefix-numeric-value current-prefix-arg))
- (string-to-number (read-string "Mark below: ")))))
+ (string-to-int (read-string "Mark below: ")))))
(setq score (or score wl-summary-default-score 0))
(wl-score-set 'mark (list score))
(wl-score-set 'touched '(t))
"Automatically expunge messages with score below SCORE."
(interactive
(list (or (and current-prefix-arg (prefix-numeric-value current-prefix-arg))
- (string-to-number (read-string "Expunge below: ")))))
+ (string-to-int (read-string "Expunge below: ")))))
(setq score (or score wl-summary-default-score 0))
(wl-score-set 'expunge (list score))
(wl-score-set 'touched '(t)))
;; transform from string to int.
(when (eq (nth 1 (assoc (car entry) wl-score-header-index))
'wl-score-integer)
- (setq match (string-to-number match)))
+ (setq match (string-to-int match)))
;; set score
(if score
(setq lscore rscore)
;; read the score.
(unless (or score increase)
- (setq score (string-to-number (read-string "Set score: ")))))
+ (setq score (string-to-int (read-string "Set score: ")))))
(message "")
(wl-score-kill-help-buffer))
(require 'elmo)
(require 'elmo-multi)
-(eval-when-compile (require 'elmo-filter))
(require 'wl-message)
(require 'wl-vars)
(require 'wl-highlight)
(defvar wl-summary-buffer-elmo-folder nil)
(defmacro wl-summary-buffer-folder-name ()
- `(and wl-summary-buffer-elmo-folder
- (elmo-folder-name-internal wl-summary-buffer-elmo-folder)))
+ (` (and wl-summary-buffer-elmo-folder
+ (elmo-folder-name-internal wl-summary-buffer-elmo-folder))))
(defvar wl-summary-buffer-disp-msg nil)
(defvar wl-summary-buffer-disp-folder nil)
(defvar wl-persistent-mark)
(defmacro wl-summary-sticky-buffer-name (name)
- `(concat wl-summary-buffer-name ":" ,name))
+ (` (concat wl-summary-buffer-name ":" (, name))))
(defun wl-summary-default-subject (subject-string)
(if (string-match "^[ \t]*\\[[^:]+[,: ][0-9]+\\][ \t]*" subject-string)
(count (elmo-find-list-match-value
elmo-mailing-list-count-spec-list
getter)))
- (cons name (and count (string-to-number count)))))))
+ (cons name (and count (string-to-int count)))))))
(defun wl-summary-overview-entity-compare-by-list-info (x y)
"Compare entity X and Y by mailing-list info."
(beginning-of-line)
(if (or (re-search-forward "\r\\(-?[0-9]+\\)" (point-at-eol) t)
(re-search-forward "^ *\\(-?[0-9]+\\)" (point-at-eol) t))
- (string-to-number (wl-match-buffer 1))
+ (string-to-int (wl-match-buffer 1))
nil)))
(defun wl-summary-delete-all-msgs ()
(wl-summary-mode)
(wl-summary-buffer-set-folder folder)
(let ((buffer-read-only nil))
- (insert-buffer-substring cur-buf))
+ (insert-buffer cur-buf))
(set-buffer-modified-p nil)
(while copy-variables
(set (car copy-variables)
(funcall wl-summary-subject-filter-function subject2)))
(defmacro wl-summary-put-alike (alike)
- `(elmo-set-hash-val (format "#%d" (wl-count-lines))
- ,alike
- wl-summary-alike-hashtb))
+ (` (elmo-set-hash-val (format "#%d" (wl-count-lines))
+ (, alike)
+ wl-summary-alike-hashtb)))
(defmacro wl-summary-get-alike ()
- `(elmo-get-hash-val (format "#%d" (wl-count-lines))
- wl-summary-alike-hashtb))
+ (` (elmo-get-hash-val (format "#%d" (wl-count-lines))
+ wl-summary-alike-hashtb)))
(defun wl-summary-insert-headers (folder func &optional mime-decode)
(let ((numbers (elmo-folder-list-messages folder 'visible t))
(wl-summary-entity-info-msg next-entity finfo)))))))))
(defun wl-summary-get-prev-folder ()
- (let ((folder-buf (get-buffer wl-folder-buffer-name)))
+ (let ((folder-buf (get-buffer wl-folder-buffer-name))
+ last-entity cur-id)
(when folder-buf
- (wl-folder-get-prev-folder
- (with-current-buffer folder-buf
- wl-folder-buffer-cur-entity-id)))))
+ (setq cur-id (save-excursion (set-buffer folder-buf)
+ wl-folder-buffer-cur-entity-id))
+ (wl-folder-get-prev-folder cur-id))))
(defun wl-summary-get-next-folder ()
- (let ((folder-buf (get-buffer wl-folder-buffer-name)))
+ (let ((folder-buf (get-buffer wl-folder-buffer-name))
+ cur-id)
(when folder-buf
- (wl-folder-get-next-folder
- (with-current-buffer folder-buf
- wl-folder-buffer-cur-entity-id)))))
+ (setq cur-id (save-excursion (set-buffer folder-buf)
+ wl-folder-buffer-cur-entity-id))
+ (wl-folder-get-next-folder cur-id))))
(defun wl-summary-get-next-unread-folder ()
- (let ((folder-buf (get-buffer wl-folder-buffer-name)))
+ (let ((folder-buf (get-buffer wl-folder-buffer-name))
+ cur-id)
(when folder-buf
- (wl-folder-get-next-folder
- (with-current-buffer folder-buf
- wl-folder-buffer-cur-entity-id)
- 'unread))))
+ (setq cur-id (save-excursion (set-buffer folder-buf)
+ wl-folder-buffer-cur-entity-id))
+ (wl-folder-get-next-folder cur-id 'unread))))
(defun wl-summary-get-prev-unread-folder ()
- (let ((folder-buf (get-buffer wl-folder-buffer-name)))
+ (let ((folder-buf (get-buffer wl-folder-buffer-name))
+ cur-id)
(when folder-buf
- (wl-folder-get-prev-folder
- (with-current-buffer folder-buf
- wl-folder-buffer-cur-entity-id)
- 'unread))))
+ (setq cur-id (save-excursion (set-buffer folder-buf)
+ wl-folder-buffer-cur-entity-id))
+ (wl-folder-get-prev-folder cur-id 'unread))))
(defun wl-summary-down (&optional interactive skip-no-unread)
(interactive)
;; sum))
;; (message "Dropping...done"))))
-(defun wl-summary-previous-message-number (msg)
- "Return a message number previous to the message specified by MSG."
- (let ((list wl-summary-buffer-number-list)
- previous)
- (while (and list (not (eq msg (car list))))
- (setq previous (car list))
- (setq list (cdr list)))
- previous))
-
-(defun wl-summary-next-message-number (msg)
- "Return a message number next to the message specified by MSG."
- (cadr (memq msg wl-summary-buffer-number-list)))
-
(defun wl-summary-default-get-next-msg (msg)
(or (wl-summary-next-message msg
(if wl-summary-move-direction-downward 'down
'up)
nil)
- (if wl-summary-move-direction-downward
- (wl-summary-next-message-number msg)
- (wl-summary-previous-message-number msg))))
+ (cadr (memq msg (if wl-summary-move-direction-downward
+ wl-summary-buffer-number-list
+ (reverse wl-summary-buffer-number-list))))))
(defun wl-summary-save-current-message ()
"Save current message for `wl-summary-yank-saved-message'."
;;; Code:
;;
-(require 'elmo-util)
-(require 'wl-vars)
;; Variables
"Jump to the message with specified number in the current summary."
(interactive)
(let ((num (or number
- (string-to-number
+ (string-to-int
(read-from-minibuffer "Jump to Message(No.): ")))))
(wl-thread-entity-force-open (wl-thread-get-entity num))
(wl-summary-jump-to-msg num)))
(if (string= dst-parent "")
(setq dst-parent nil)
(if (interactive-p)
- (setq dst-parent (string-to-number dst-parent))
+ (setq dst-parent (string-to-int dst-parent))
(setq dst-parent parent-number)))
(if (and dst-parent
(memq dst-parent (wl-thread-get-children-msgs number)))
(require 'bytecomp)
(require 'elmo-util)
(require 'elmo-flag)
-(require 'wl-vars)
-(eval-when-compile (require 'elmo-pop3))
-(eval-when-compile (require 'cl))
-(eval-when-compile (require 'static))
(condition-case nil (require 'pp) (error nil))
(defmacro wl-match-string (pos string)
"Substring POSth matched STRING."
- `(substring ,string (match-beginning ,pos) (match-end ,pos)))
+ (` (substring (, string) (match-beginning (, pos)) (match-end (, pos)))))
(defmacro wl-match-buffer (pos)
"Substring POSth matched from the current buffer."
- `(buffer-substring-no-properties
- (match-beginning ,pos) (match-end ,pos)))
+ (` (buffer-substring-no-properties
+ (match-beginning (, pos)) (match-end (, pos)))))
(put 'wl-as-coding-system 'lisp-indent-function 1)
(put 'wl-as-mime-charset 'lisp-indent-function 1)
(cond
(wl-on-mule3
(defmacro wl-as-coding-system (coding-system &rest body)
- `(let ((coding-system-for-read ,coding-system)
- (coding-system-for-write ,coding-system))
- ,@body)))
+ (` (let ((coding-system-for-read (, coding-system))
+ (coding-system-for-write (, coding-system)))
+ (,@ body)))))
(wl-on-mule
(defmacro wl-as-coding-system (coding-system &rest body)
- `(let ((file-coding-system-for-read ,coding-system)
- (file-coding-system ,coding-system))
- ,@body)))
+ (` (let ((file-coding-system-for-read (, coding-system))
+ (file-coding-system (, coding-system)))
+ (,@ body)))))
(t
(defmacro wl-as-coding-system (coding-system &rest body)
- `(progn ,@body)))))
+ (` (progn (,@ body)))))))
(defmacro wl-as-mime-charset (mime-charset &rest body)
- `(wl-as-coding-system (mime-charset-to-coding-system ,mime-charset)
- ,@body))
+ (` (wl-as-coding-system (mime-charset-to-coding-system (, mime-charset))
+ (,@ body))))
(defalias 'wl-string 'elmo-string)
(make-obsolete 'wl-string 'elmo-string)
(setq keys (cdr keys)))
result))
+(eval-when-compile
+ (require 'static))
(static-unless (fboundp 'pp)
(defvar pp-escape-newlines t)
(defun pp (object &optional stream)
(message "Not a nntp: url."))))
(defmacro wl-concat-list (list separator)
- `(mapconcat 'identity (delete "" (delq nil ,list)) ,separator))
+ (` (mapconcat 'identity (delete "" (delq nil (, list))) (, separator))))
(defun wl-current-message-buffer ()
(when (buffer-live-p wl-current-summary-buffer)
nil nil))))))
(defmacro wl-kill-buffers (regexp)
- `(mapcar (function
- (lambda (x)
- (if (and (buffer-name x)
- (string-match ,regexp (buffer-name x)))
- (and (get-buffer x)
- (kill-buffer x)))))
- (buffer-list)))
+ (` (mapcar (function
+ (lambda (x)
+ (if (and (buffer-name x)
+ (string-match (, regexp) (buffer-name x)))
+ (and (get-buffer x)
+ (kill-buffer x)))))
+ (buffer-list))))
(defun wl-collect-summary ()
(let (result)
(static-if (fboundp 'local-variable-p)
(defalias 'wl-local-variable-p 'local-variable-p)
(defmacro wl-local-variable-p (symbol &optional buffer)
- `(if (assq ,symbol (buffer-local-variables ,buffer))
- t)))
+ (` (if (assq (, symbol) (buffer-local-variables (, buffer)))
+ t))))
(defun wl-number-base36 (num len)
(if (if (< len 0)
("Jul" . "07") ("Aug" . "08")
("Sep" . "09") ("Oct" . "10")
("Nov" . "11") ("Dec" . "12"))))))
- (list (string-to-number (concat (nth 6 cts) m
- (substring (nth 2 cts) 0 1)))
- (string-to-number (concat (substring (nth 2 cts) 1)
- (nth 4 cts) (nth 5 cts)
- (nth 6 cts))))))))
+ (list (string-to-int (concat (nth 6 cts) m
+ (substring (nth 2 cts) 0 1)))
+ (string-to-int (concat (substring (nth 2 cts) 1)
+ (nth 4 cts) (nth 5 cts)
+ (nth 6 cts))))))))
(concat
(if (memq system-type '(ms-dos emx vax-vms))
(let ((user (downcase (user-login-name))))
;;;
(defmacro wl-count-lines ()
- '(save-excursion
- (beginning-of-line)
- (count-lines 1 (point))))
+ (` (save-excursion
+ (beginning-of-line)
+ (count-lines 1 (point)))))
(defun wl-horizontal-recenter ()
"Recenter the current buffer horizontally."
(append (list 'format f) specs)))
(defmacro wl-line-formatter-setup (formatter format alist)
- `(let (byte-compile-warnings)
- (setq ,formatter
- (byte-compile
- (list 'lambda ()
- (wl-line-parse-format ,format ,alist))))
- (when (get-buffer "*Compile-Log*")
- (bury-buffer "*Compile-Log*"))
- (when (get-buffer "*Compile-Log-Show*")
- (bury-buffer "*Compile-Log-Show*"))))
+ (` (let (byte-compile-warnings)
+ (setq (, formatter)
+ (byte-compile
+ (list 'lambda ()
+ (wl-line-parse-format (, format) (, alist)))))
+ (when (get-buffer "*Compile-Log*")
+ (bury-buffer "*Compile-Log*"))
+ (when (get-buffer "*Compile-Log-Show*")
+ (bury-buffer "*Compile-Log-Show*")))))
(defsubst wl-copy-local-variables (src dst local-variables)
"Copy value of LOCAL-VARIABLES from SRC buffer to DST buffer."
(defgroup wl nil
"Wanderlust, a news and mail reading software."
:tag "Wanderlust"
- :link `(custom-manual
- ,(if (and (boundp 'current-language-environment)
- (string-equal "Japanese"
- (symbol-value 'current-language-environment)))
- "(wl-ja)Top"
- "(wl)Top"))
+ :link (` (custom-manual
+ (, (if (and (boundp 'current-language-environment)
+ (string-equal "Japanese"
+ (symbol-value 'current-language-environment)))
+ "(wl-ja)Top"
+ "(wl)Top"))))
:group 'news
:group 'mail)
:group 'wl-setting)
(defcustom wl-message-header-button-alist
- '(("^\\(References\\|Message-Id\\|In-Reply-To\\):"
- "<[^>\n ]+>"
- 0 wl-message-button-refer-article 0)
- ("^[^:]+:"
- "\\(<\\(url: \\)?news:\\([^>\n ]*\\)>\\)"
- 1 wl-message-button-refer-article 3))
+ (` (("^\\(References\\|Message-Id\\|In-Reply-To\\):"
+ "<[^>\n ]+>"
+ 0 wl-message-button-refer-article 0)
+ ("^[^:]+:"
+ "\\(<\\(url: \\)?news:\\([^>\n ]*\\)>\\)"
+ 1 wl-message-button-refer-article 3)))
"Alist of headers and regexps to match buttons in message headers."
:type '(repeat
(list (regexp :tag "Header")
(defmacro defgroup (&rest args))
(defmacro defcustom (symbol value &optional doc &rest args)
(let ((doc (concat "*" (or doc ""))))
- `(defvar ,symbol ,value ,doc))))
+ (` (defvar (, symbol) (, value) (, doc))))))
(require 'wl-vars)
(require 'wl-util)
(run-hooks 'wl-plugged-mode-hook))
(defmacro wl-plugged-string (plugged &optional time)
- `(if ,time wl-plugged-auto-off
- (if ,plugged
- wl-plugged-plug-on
- wl-plugged-plug-off)))
+ (` (if (, time) wl-plugged-auto-off
+ (if (, plugged) wl-plugged-plug-on wl-plugged-plug-off))))
(defmacro wl-plugged-server-indent ()
'(make-string wl-plugged-server-indent ? ))
((eq indent wl-plugged-port-indent) ;; toggle port plug
(cond
((string-match "\\([^([]*\\)(\\([^)[]+\\))" name)
- (setq port (string-to-number (elmo-match-string 2 name)))
+ (setq port (string-to-int (elmo-match-string 2 name)))
(if (string-match "!" (setq name-1 (elmo-match-string 1 name)))
(setq stream-type
(intern (substring name-1 (match-end 0))))))