comparison lisp/gnus/nndoc.el @ 2:ac2d302a0011 r19-15b2

Import from CVS: tag r19-15b2
author cvs
date Mon, 13 Aug 2007 08:46:35 +0200
parents 376386a54a3c
children 0293115a14e9
comparison
equal deleted inserted replaced
1:c0c6a60d29db 2:ac2d302a0011
51 (article-begin . "^Path:")) 51 (article-begin . "^Path:"))
52 (rnews 52 (rnews
53 (article-begin . "^#! *rnews +\\([0-9]+\\) *\n") 53 (article-begin . "^#! *rnews +\\([0-9]+\\) *\n")
54 (body-end-function . nndoc-rnews-body-end)) 54 (body-end-function . nndoc-rnews-body-end))
55 (mbox 55 (mbox
56 (article-begin . 56 (article-begin . "^From \\([^ \n]*\\(\\|\".*\"[^ \n]*\\)\\) ?\\([^ \n]*\\) *\\([^ ]*\\) *\\([0-9]*\\) *\\([0-9:]*\\) *\\([A-Z]?[A-Z]?[A-Z][A-Z]\\( DST\\)?\\|[-+]?[0-9][0-9][0-9][0-9]\\|\\) * [0-9][0-9]\\([0-9]*\\) *\\([A-Z]?[A-Z]?[A-Z][A-Z]\\( DST\\)?\\|[-+]?[0-9][0-9][0-9][0-9]\\|\\) *\\(remote from .*\\)?\n")
57 ,(let ((delim (concat "^" message-unix-mail-delimiter))) 57 (article-begin-function . nndoc-mbox-article-begin)
58 (if (string-match "\n\\'" delim)
59 (substring delim 0 (match-beginning 0))
60 delim)))
61 (body-end-function . nndoc-mbox-body-end)) 58 (body-end-function . nndoc-mbox-body-end))
62 (babyl 59 (babyl
63 (article-begin . "\^_\^L *\n") 60 (article-begin . "\^_\^L *\n")
64 (body-end . "\^_") 61 (body-end . "\^_")
65 (body-begin-function . nndoc-babyl-body-begin) 62 (body-begin-function . nndoc-babyl-body-begin)
105 102
106 (defvoo nndoc-file-begin nil) 103 (defvoo nndoc-file-begin nil)
107 (defvoo nndoc-first-article nil) 104 (defvoo nndoc-first-article nil)
108 (defvoo nndoc-article-end nil) 105 (defvoo nndoc-article-end nil)
109 (defvoo nndoc-article-begin nil) 106 (defvoo nndoc-article-begin nil)
107 (defvoo nndoc-article-begin-function nil)
110 (defvoo nndoc-head-begin nil) 108 (defvoo nndoc-head-begin nil)
111 (defvoo nndoc-head-end nil) 109 (defvoo nndoc-head-end nil)
112 (defvoo nndoc-file-end nil) 110 (defvoo nndoc-file-end nil)
113 (defvoo nndoc-body-begin nil) 111 (defvoo nndoc-body-begin nil)
114 (defvoo nndoc-body-end-function nil) 112 (defvoo nndoc-body-end-function nil)
336 nndoc-article-end nndoc-head-begin nndoc-head-end 334 nndoc-article-end nndoc-head-begin nndoc-head-end
337 nndoc-file-end nndoc-article-begin 335 nndoc-file-end nndoc-article-begin
338 nndoc-body-begin nndoc-body-end-function nndoc-body-end 336 nndoc-body-begin nndoc-body-end-function nndoc-body-end
339 nndoc-prepare-body nndoc-article-transform 337 nndoc-prepare-body nndoc-article-transform
340 nndoc-generate-head nndoc-body-begin-function 338 nndoc-generate-head nndoc-body-begin-function
341 nndoc-head-begin-function))) 339 nndoc-head-begin-function nndoc-article-begin-function)))
342 (while vars 340 (while vars
343 (set (pop vars) nil))) 341 (set (pop vars) nil)))
344 (let* (defs guess) 342 (let* (defs guess)
345 ;; Guess away until we find the real file type. 343 ;; Guess away until we find the real file type.
346 (while (setq defs (cdr (assq nndoc-article-type nndoc-type-alist)) 344 (while (setq defs (cdr (assq nndoc-article-type nndoc-type-alist))
369 (when nndoc-file-begin 367 (when nndoc-file-begin
370 (nndoc-search nndoc-file-begin)) 368 (nndoc-search nndoc-file-begin))
371 ;; Go through the file. 369 ;; Go through the file.
372 (while (if (and first nndoc-first-article) 370 (while (if (and first nndoc-first-article)
373 (nndoc-search nndoc-first-article) 371 (nndoc-search nndoc-first-article)
374 (nndoc-search nndoc-article-begin)) 372 (if nndoc-article-begin-function
373 (funcall nndoc-article-begin-function)
374 (nndoc-search nndoc-article-begin)))
375 (setq first nil) 375 (setq first nil)
376 (cond (nndoc-head-begin-function 376 (cond (nndoc-head-begin-function
377 (funcall nndoc-head-begin-function)) 377 (funcall nndoc-head-begin-function))
378 (nndoc-head-begin 378 (nndoc-head-begin
379 (nndoc-search nndoc-head-begin))) 379 (nndoc-search nndoc-head-begin)))
389 (setq body-begin (point)) 389 (setq body-begin (point))
390 (or (and nndoc-body-end-function 390 (or (and nndoc-body-end-function
391 (funcall nndoc-body-end-function)) 391 (funcall nndoc-body-end-function))
392 (and nndoc-body-end 392 (and nndoc-body-end
393 (nndoc-search nndoc-body-end)) 393 (nndoc-search nndoc-body-end))
394 (nndoc-search nndoc-article-begin) 394 (if nndoc-article-begin-function
395 (funcall nndoc-article-begin-function)
396 (nndoc-search nndoc-article-begin))
395 (progn 397 (progn
396 (goto-char (point-max)) 398 (goto-char (point-max))
397 (when nndoc-file-end 399 (when nndoc-file-end
398 (and (re-search-backward nndoc-file-end nil t) 400 (and (re-search-backward nndoc-file-end nil t)
399 (beginning-of-line))))) 401 (beginning-of-line)))))
408 (replace-match "-" t t))) 410 (replace-match "-" t t)))
409 411
410 (defun nndoc-digest-body-end () 412 (defun nndoc-digest-body-end ()
411 (and (re-search-forward nndoc-article-begin nil t) 413 (and (re-search-forward nndoc-article-begin nil t)
412 (goto-char (match-beginning 0)))) 414 (goto-char (match-beginning 0))))
415
416 (defun nndoc-mbox-article-begin ()
417 (when (re-search-forward nndoc-article-begin nil t)
418 (goto-char (match-beginning 0))))
413 419
414 (defun nndoc-mbox-body-end () 420 (defun nndoc-mbox-body-end ()
415 (let ((beg (point)) 421 (let ((beg (point))
416 len end) 422 len end)
417 (when 423 (when