mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
2000-11-10 Dave Love <fx@gnu.org>
* pop3.el (pop3-version): Deleted. (pop3-make-date): New function, avoiding message-make-date. (pop3-munge-message-separator): Use it. 2000-11-10 ShengHuo ZHU <zsh@cs.rochester.edu> * pop3.el (pop3-munge-message-separator): A message may have an empty body.
This commit is contained in:
parent
d7fa3319f5
commit
daaeed873e
1 changed files with 42 additions and 18 deletions
|
|
@ -6,7 +6,6 @@
|
|||
;; Author: Richard L. Pieri <ratinox@peorth.gweep.net>
|
||||
;; Maintainer: FSF
|
||||
;; Keywords: mail
|
||||
;; Version: 1.3s
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
|
||||
|
|
@ -38,8 +37,6 @@
|
|||
|
||||
(require 'mail-utils)
|
||||
|
||||
(defconst pop3-version "1.3s")
|
||||
|
||||
(defvar pop3-maildrop (or (user-login-name) (getenv "LOGNAME") (getenv "USER") nil)
|
||||
"*POP3 maildrop.")
|
||||
(defvar pop3-mailhost (or (getenv "MAILHOST") nil)
|
||||
|
|
@ -195,9 +192,31 @@ Return the response string if optional second argument is non-nil."
|
|||
(forward-char)))
|
||||
(set-marker end nil))
|
||||
|
||||
(eval-when-compile (defvar parse-time-months))
|
||||
|
||||
;; Copied from message-make-date.
|
||||
(defun pop3-make-date (&optional now)
|
||||
"Make a valid date header.
|
||||
If NOW, use that time instead."
|
||||
(require 'parse-time)
|
||||
(let* ((now (or now (current-time)))
|
||||
(zone (nth 8 (decode-time now)))
|
||||
(sign "+"))
|
||||
(when (< zone 0)
|
||||
(setq sign "-")
|
||||
(setq zone (- zone)))
|
||||
(concat
|
||||
(format-time-string "%d" now)
|
||||
;; The month name of the %b spec is locale-specific. Pfff.
|
||||
(format " %s "
|
||||
(capitalize (car (rassoc (nth 4 (decode-time now))
|
||||
parse-time-months))))
|
||||
(format-time-string "%Y %H:%M:%S " now)
|
||||
;; We do all of this because XEmacs doesn't have the %z spec.
|
||||
(format "%s%02d%02d" sign (/ zone 3600) (/ (% zone 3600) 60)))))
|
||||
|
||||
(defun pop3-munge-message-separator (start end)
|
||||
"Check to see if a message separator exists. If not, generate one."
|
||||
(if (not (fboundp 'message-make-date)) (autoload 'message-make-date "message"))
|
||||
(save-excursion
|
||||
(save-restriction
|
||||
(narrow-to-region start end)
|
||||
|
|
@ -208,7 +227,7 @@ Return the response string if optional second argument is non-nil."
|
|||
))
|
||||
(let ((from (mail-strip-quoted-names (mail-fetch-field "From")))
|
||||
(date (split-string (or (mail-fetch-field "Date")
|
||||
(message-make-date))
|
||||
(pop3-make-date))
|
||||
" "))
|
||||
(From_))
|
||||
;; sample date formats I have seen
|
||||
|
|
@ -234,7 +253,10 @@ Return the response string if optional second argument is non-nil."
|
|||
(substring From_ (match-end 0)))))
|
||||
(goto-char (point-min))
|
||||
(insert From_)
|
||||
(re-search-forward "\n\n")
|
||||
(if (search-forward "\n\n" nil t)
|
||||
nil
|
||||
(goto-char (point-max))
|
||||
(insert "\n"))
|
||||
(narrow-to-region (point) (point-max))
|
||||
(let ((size (- (point-max) (point-min))))
|
||||
(goto-char (point-min))
|
||||
|
|
@ -277,19 +299,21 @@ Return the response string if optional second argument is non-nil."
|
|||
|
||||
;; TRANSACTION STATE
|
||||
|
||||
(defvar pop3-md5-program "md5"
|
||||
"*Program to encode its input in MD5.")
|
||||
(eval-and-compile
|
||||
(if (fboundp 'md5)
|
||||
(defalias 'pop3-md5 'md5)
|
||||
(defvar pop3-md5-program "md5"
|
||||
"*Program to encode its input in MD5.")
|
||||
|
||||
(defun pop3-md5 (string)
|
||||
(with-temp-buffer
|
||||
(insert string)
|
||||
(call-process-region (point-min) (point-max)
|
||||
(or shell-file-name "/bin/sh")
|
||||
t (current-buffer) nil
|
||||
"-c" pop3-md5-program)
|
||||
;; The meaningful output is the first 32 characters.
|
||||
;; Don't return the newline that follows them!
|
||||
(buffer-substring (point-min) (+ (point-min) 32))))
|
||||
(defun pop3-md5 (string)
|
||||
(with-temp-buffer
|
||||
(insert string)
|
||||
(call-process-region (point-min) (point-max)
|
||||
pop3-md5-program
|
||||
t (current-buffer) nil)
|
||||
;; The meaningful output is the first 32 characters.
|
||||
;; Don't return the newline that follows them!
|
||||
(buffer-substring 1 33)))))
|
||||
|
||||
(defun pop3-stat (process)
|
||||
"Return the number of messages in the maildrop and the maildrop's size."
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue