cd texi && $(MAKE) EMACS=$(EMACS) install
# Rule for XEmacs package.
-package: xlick xinfo
+package: xlick add-info-suffix xinfo remove-info-suffix
cd lisp && $(MAKE) EMACS=$(XEMACS) package
-install-package: xinfo
+install-package: add-info-suffix xinfo xinfo remove-info-suffix
cd lisp && $(MAKE) EMACS=$(XEMACS) PACKAGEDIR=$(PACKAGEDIR) \
install-package
-package-ja: xlick xinfo xinfo-ja
+package-ja: xlick add-info-suffix xinfo xinfo-ja remove-info-suffix
cd lisp && $(MAKE) EMACS=$(XEMACS) package
-install-package-ja: xinfo xinfo-ja
+install-package-ja: add-info-suffix xinfo xinfo-ja remove-info-suffix
cd lisp && $(MAKE) EMACS=$(XEMACS) PACKAGEDIR=$(PACKAGEDIR) \
install-package
cd lisp && $(MAKE) EMACS=$(XEMACS) lispdir=$(lispdir) all
xinfo:
- cd texi && $(MAKE) EMACS=$(XEMACS) add-info-suffix
cd texi && $(MAKE) EMACS=$(XEMACS) all
- cd texi && $(MAKE) remove-info-suffix
xinfo-ja:
- cd texi && $(MAKE) EMACS=$(XEMACS) add-info-suffix
cd texi && $(MAKE) EMACS=$(XEMACS) MAKEINFO=no ja
+
+add-info-suffix:
+ cd texi && $(MAKE) EMACS="$(XEMACS)" add-info-suffix
+
+remove-info-suffix:
cd texi && $(MAKE) remove-info-suffix
# Rule for Lars and nobody else.
(add-hook 'gnus-setup-news-hook
(lambda ()
+ (setq pop3-fma-save-password-information t)
(add-to-list 'gnus-variable-list 'pop3-fma-password)))
[T-gnus 6.10.56 or later]
(setq pop3-fma-save-password-information t)
-In this way, Once you enter the password at the startup of Gnus, it
+In this way, once you enter the password at the startup of Gnus, it
will be kept as a variable `pop3-fma-password' until you quit Gnus.
Under T-gnus 6.10.56 or later, the password will be kept as a variable
(add-hook 'gnus-setup-news-hook
(lambda ()
+ (setq pop3-fma-save-password-information t)
(add-to-list 'gnus-variable-list 'pop3-fma-password)))
\e$B!Z\e(BT-gnus 6.10.56 \e$B0J9_![\e(B
Gnus to use it, and you must not use gnus-mime for SEMI.
It requires APEL, FLIM and SEMI packages, so please get and install
-them before to install it. Semi-gnus 6.10 requires APEL 9.12 or later,
+them before to install it. Semi-gnus 6.10 requires APEL 9.13 or later,
the latest FLIM 1.12 and SEMI 1.12. You can get these packages from
ftp://ftp.jaist.ac.jp/pub/GNU/elisp/semi/
Required environment for SEMI is written in README.en of SEMI package.
\e$B$k$?$a$K\e(B Gnus \e$B$r%$%s%9%H!<%k$9$kI,MW$O$J$/!"\e(BSEMI \e$B$N$?$a$N\e(B gnus-mime \e$B$O\e(B
\e$B;HMQ$7$F$O$$$1$^$;$s!#\e(B
- SEMI \e$B%Q%C%1!<%8$rMW5a$7$^$9$N$G!"%$%s%9%H!<%k$9$kA0$K\e(B SEMI \e$B%Q%C%1!<\e(B
-\e$B%8$r%$%s%9%H!<%k$7$F$/$@$5$$!#\e(BSEMI \e$B$O\e(B
-ftp://ftp.jaist.ac.jp/pub/elisp/semi/ \e$B$+$i<hF@$9$k$3$H$,$G$-$^$9!#I,MW\e(B
-\e$B$J4D6-$O\e(B SEMI \e$B$N\e(B README.ja \e$B$r;2>H$7$F$/$@$5$$!#\e(B
+ APEL, FLIM \e$B$*$h$S\e(B SEMI \e$B%Q%C%1!<%8$,I,MW$G$9$N$G!"%$%s%9%H!<%k$9$kA0\e(B
+\e$B$K$=$l$i$r%$%s%9%H!<%k$7$F$/$@$5$$!#\e(BSemi-gnus 6.10 \e$B$O\e(B APEL 9.13 \e$B0J>e!"\e(B
+\e$B:G?7$N\e(B FLIM 1.12 \e$B$*$h$S\e(B SEMI 1.12 \e$B$rI,MW$H$7$^$9!#\e(B
+\e$B$=$l$i$N%Q%C%1!<%8$O\e(B
+ftp://ftp.jaist.ac.jp/pub/elisp/semi/
+\e$B$+$i<hF@$9$k$3$H$,$G$-$^$9!#I,MW$J4D6-$O\e(B SEMI \e$B$N\e(B README.ja \e$B$r;2>H$7$F\e(B
+\e$B$/$@$5$$!#\e(B
\e$B<hF@J}K!\e(B (CVS)
\f
;; Avoid byte-compile warnings.
-(defvar gnus-revision-number)
-(defvar gnus-version-number)
(defvar gnus-product-name)
-(defvar configure-package-path)
-(defvar package-path)
+(defvar early-package-load-path)
+(defvar early-packages)
+(defvar last-package-load-path)
+(defvar last-packages)
+(defvar late-package-load-path)
+(defvar late-packages)
(defconst dgnushack-info-file-regexp
"^\\(gnus\\|message\\|gnus-ja\\|message-ja\\)\\.info\\(-[0-9]+\\)?$")
(write-file (concat "../MANIFEST." product-name)))))
(defun dgnushack-install-package ()
- (let* ((package-dir (file-name-as-directory
- (or (car command-line-args-left)
- (if (boundp 'configure-package-path)
- (car configure-package-path)
- (car package-path)))))
- (info-dir (expand-file-name "info/" package-dir))
- (pkginfo-dir (expand-file-name "pkginfo/" package-dir))
- product-name lisp-dir manifest files)
+ (let ((package-dir (car command-line-args-left))
+ dirs info-dir pkginfo-dir product-name lisp-dir manifest files)
+ (unless package-dir
+ (when (boundp 'early-packages)
+ (setq dirs (delq nil (append (when early-package-load-path
+ early-packages)
+ (when late-package-load-path
+ late-packages)
+ (when last-package-load-path
+ last-packages))))
+ (while (and dirs (not package-dir))
+ (when (file-exists-p (car dirs))
+ (setq package-dir (car dirs)
+ dirs (cdr dirs))))))
+ (unless package-dir
+ (error "%s" "
+You must specify the name of the package path as follows:
+
+% make install-package PACKAGEDIR=/usr/local/lib/xemacs/xemacs-packages
+"
+ ))
+ (setq info-dir (expand-file-name "info/" package-dir)
+ pkginfo-dir (expand-file-name "pkginfo/" package-dir))
(require 'gnus)
(setq product-name (downcase gnus-product-name)
lisp-dir (expand-file-name (concat "lisp/" product-name "/")
(message "Done")))
(defun dgnushack-add-info-suffix-maybe ()
- ;; This function must be invoked from texi directory.
+ ;; This function must be invoked from lisp directory.
+ (setq default-directory "../texi/")
(let ((coding-system-for-read 'raw-text)
(coding-system-for-write 'raw-text)
(files (directory-files "." nil dgnushack-texi-file-regexp))
all-headers gnus-have-all-headers))
(make-local-variable 'default-mime-charset)
(setq default-mime-charset charset)
+ (with-current-buffer (get-buffer-create gnus-article-buffer)
+ (make-local-variable 'default-mime-charset)
+ (setq default-mime-charset charset))
(mime-display-message mime-message-structure
gnus-article-buffer nil gnus-article-mode-map)
(when all-headers
(gnus-article-hide-headers nil -1))
- (make-local-variable 'default-mime-charset)
- (setq default-mime-charset charset)
)
;; `mime-display-message' changes current buffer to `gnus-article-buffer'.
(make-local-variable 'mime-button-mother-dispatcher)
;;;
(defvar gnus-newsgroup-default-charset-alist
- '(("^\\(fj\\|tnn\\|japan\\)\\." . iso-2022-jp-2)
- ("^han\\." . euc-kr)
- ("^relcom\\." . koi8-r)
- ("^alt\\.chinese\\.text\\.big5" . cn-big5)
- ("^hk\\(star\\)?\\." . cn-big5)
- ("^tw\\." . cn-big5)
- ("^alt\\.chinese" . hz-gb-2312)
+ '(("\\(^\\|:\\)\\(fj\\|tnn\\|japan\\)\\." . iso-2022-jp-2)
+ ("\\(^\\|:\\)han\\." . euc-kr)
+ ("\\(^\\|:\\)relcom\\." . koi8-r)
+ ("\\(^\\|:\\)alt\\.chinese\\.text\\.big5" . cn-big5)
+ ("\\(^\\|:\\)hk\\(star\\)?\\." . cn-big5)
+ ("\\(^\\|:\\)tw\\." . cn-big5)
+ ("\\(^\\|:\\)alt\\.chinese" . hz-gb-2312)
)
"Alist of newsgroup patterns vs. corresponding default MIME charset.
Each element looks like (REGEXP . SYMBOL). REGEXP is pattern for
;;; gnus-offline.el --- To process mail & news at offline environment.
-;;; $Id: gnus-offline.el,v 1.1.6.2 1999-02-05 02:59:06 keiichi Exp $
+;;; $Id: gnus-offline.el,v 1.1.6.3 1999-03-31 07:59:55 keiichi Exp $
;;; Copyright (C) 1998 Tatsuya Ichikawa
;;; Yukihiro Ito
;; Overwrite the toolbar spec for gnus-group-mode.
(add-hook 'gnus-startup-hook
(lambda ()
- (let ((i 0) (stat t) but)
- (while (and stat (setq but (nth i gnus-group-toolbar)))
- (and (equal 'gnus-group-get-new-news (aref but 1))
- (aset but 1 'gnus-offline-gnus-get-new-news)
- (setq stat nil))
- (setq i (1+ i))))))))
+ (catch 'tag
+ (mapcar (lambda (but)
+ (when (eq 'gnus-group-get-new-news (aref but 1))
+ (aset but 1 'gnus-offline-gnus-get-new-news)
+ (throw 'tag nil)))
+ gnus-group-toolbar))))))
;;
;;
(defun gnus-offline-define-menu-on-miee ()
;;
;; Popup menu within the group buffer (under Emacs).
;;
+(defvar gnus-offline-popup-menu nil)
(defun gnus-offline-popup-menu (event)
"Popup menu for Gnus offline."
(interactive "e")
- (let* ((menu (if (boundp 'miee-popup-menu)
- (or (assoc 'keymap
- (assoc 'Miee (assoc 'menu-bar global-map)))
- miee-popup-menu)
- gnus-offline-menu-on-agent))
- (pop (x-popup-menu t menu))
- (func (and pop (lookup-key menu (apply 'vector pop)))))
+ (unless gnus-offline-popup-menu
+ (setq gnus-offline-popup-menu
+ (let ((menu
+ (if (boundp 'miee-popup-menu)
+ (or (assoc 'keymap
+ (assoc 'Miee (assoc 'menu-bar global-map)))
+ miee-popup-menu)
+ gnus-offline-menu-on-agent)))
+ (if (string< emacs-version "20")
+ (append (list 'keymap
+ (if (boundp 'miee-popup-menu)
+ '(nil "Miee")
+ '(nil "Offline"))
+ '(nil "")
+ '(nil ""))
+ (cdr menu))
+ menu))))
+ (let* ((pop (x-popup-menu t gnus-offline-popup-menu))
+ (func (and pop (lookup-key gnus-offline-popup-menu
+ (apply 'vector pop)))))
(and pop func (funcall func))))
\f
;;
(insert (prin1-to-string pop3-fma-movemail-type))
(insert ")\n")
(if save-passwd
- (insert "(add-hook 'gnus-setup-news-hook \n (lambda ()\n (add-to-list 'gnus-variable-list 'pop3-fma-password)))\n"))
+ (insert "(add-hook 'gnus-setup-news-hook \n (lambda ()\n (setq pop3-fma-save-password-information t)\n (add-to-list 'gnus-variable-list 'pop3-fma-password)))\n"))
(if (eq pop3-fma-movemail-type 'exe)
(progn
(insert "(setq pop3-fma-movemail-arguments '")
(setq gnus-newsrc-options-n out))))
-;; The following four lines will be deleted in the future.
-(require 'poe)
-(defun-maybe save-buffer-as-coding-system (coding-system &optional args)
- (let ((coding-system-for-write coding-system))
- (save-buffer args)))
-
(defun gnus-save-newsrc-file (&optional force)
"Save .newsrc file."
;; Note: We cannot save .newsrc file if all newsgroups are removed
(gnus-simplify-buffer-fuzzy-step gnus-simplify-subject-fuzzy-regexp)))
(gnus-simplify-buffer-fuzzy-step "^ *\\[[-+?*!][-+?*!]\\] *")
(gnus-simplify-buffer-fuzzy-step
- "^ *\\(\\(re\\|fw\\|fwd\\)[[{(^0-9]*[])}]?[:;] *\\)+")
+ "^ *\\(re\\|fw\\|fwd\\)[[{(^0-9]*[])}]?[:;] *")
(gnus-simplify-buffer-fuzzy-step "^[[].*:\\( .*\\)[]]$" "\\1"))
(gnus-simplify-buffer-fuzzy-step " *[[{(][^()\n]*[]})] *$")
(gnus-simplify-buffer-fuzzy-step " +" " ")
- (gnus-simplify-buffer-fuzzy-step
- "\\([\000-\177]\\) ?\\([^\000-\177]\\)" "\\1 \\2")
- (gnus-simplify-buffer-fuzzy-step
- "\\([^\000-\177]\\) ?\\([\000-\177]\\)" "\\1 \\2")
+ (setq modified-tick nil)
+ (while (not (eq modified-tick (buffer-modified-tick)))
+ (setq modified-tick (buffer-modified-tick))
+ (gnus-simplify-buffer-fuzzy-step
+ "\\([^\000-\177]\\) \\([^\000-\177]\\)" "\\1\\2")
+ (gnus-simplify-buffer-fuzzy-step
+ "\\([\000-\177]\\) \\([^\000-\177]\\)" "\\1\\2")
+ (gnus-simplify-buffer-fuzzy-step
+ "\\([^\000-\177]\\) \\([\000-\177]\\)" "\\1\\2"))
(gnus-simplify-buffer-fuzzy-step " $")
(gnus-simplify-buffer-fuzzy-step "^ +")))
(interactive "P")
(let ((modified (buffer-modified-p))
(buffer (message-eval-parameter message-reply-buffer))
- refs)
+ start end refs)
(when (and buffer
message-cite-function)
(delete-windows-on buffer t)
(insert-buffer buffer) ; mark will be set at the end of article.
+ (setq start (point)
+ end (mark t))
;; Add new IDs to References field.
(when (and message-yank-add-new-references (interactive-p))
(save-excursion
(save-restriction
- (narrow-to-region (point) (mark t))
+ (message-narrow-to-headers)
+ (setq refs (message-list-references
+ nil
+ (message-fetch-field "References")))
+ (widen)
+ (narrow-to-region start end)
(std11-narrow-to-header)
(when (setq refs (message-list-references
- '()
+ refs
(or (message-fetch-field "References")
(message-fetch-field "In-Reply-To"))
(message-fetch-field "Message-ID")))
(car elem))))
(setq success (funcall (caddr elem) arg)))))
(setq sent t))))
+ (prog1
(when (and success sent)
(message-do-fcc)
;;(when (fboundp 'mail-hist-put-headers-into-history)
(message-do-send-housekeeping)
(message-do-actions message-send-actions)
;; Return success.
- t))))
+ t)
+ (kill-buffer message-encoding-buffer)))))
(defun message-send-via-mail (arg)
"Send the current message via mail."
(defun message-maybe-encode ()
(when message-mime-mode
+ ;; Inherit the buffer local variable `mime-edit-pgp-processing'.
+ (let ((pgp-processing (with-current-buffer message-edit-buffer
+ mime-edit-pgp-processing)))
+ (setq mime-edit-pgp-processing pgp-processing))
(run-hooks 'mime-edit-translate-hook))
(let ((locale-list (message-locale-detect)))
(when message-mime-mode
(message-mime-charset-setup locale-list)
(if (catch 'mime-edit-error
(save-excursion
+ (mime-edit-pgp-enclose-buffer)
(mime-edit-translate-body)
))
(error "Translation error!")
(narrow-to-region start end)
(when (with-current-buffer orig-buf
mime-edit-mode-flag)
- (run-hooks 'mime-edit-translate-hook)
- (mime-edit-translate-buffer)
+ (mime-edit-translate-body)
+ (mime-edit-translate-header)
)
(goto-char start)
(and (search-forward (concat "\n" mail-header-separator "\n") nil t)
(1- (point))
eol))
+(defmacro nnheader-nov-skip-field ()
+ '(search-forward "\t" eol 'move))
+
(defmacro nnheader-nov-field ()
- '(buffer-substring (point) (nnheader-nov-next-field)))
+ '(buffer-substring (point) (if (nnheader-nov-skip-field) (1- (point)) eol)))
(defmacro nnheader-nov-read-integer ()
'(let ((field (buffer-substring (point) (nnheader-nov-next-field))))
"Function to move mail from INBOX on a pop3 server to file CRASHBOX."
(if (string-match "^po:" inbox)
(progn
+ (if (and pop3-fma-save-password-information
+ (not pop3-fma-password))
+ (pop3-fma-set-pop3-password))
(let ((pop3-maildrop
(substring inbox (match-end (string-match "^po:" inbox))
(- (match-end (string-match "^.*@" inbox)) 1)))
(pop3-mailhost
(substring inbox (match-end (string-match "^.*@" inbox))))
(pop3-password
- (if pop3-fma-save-password-information
+ (if (and pop3-fma-save-password-information
+ pop3-fma-password)
(pop3-fma-read-passwd (substring inbox (match-end (string-match "^.*@" inbox))))
(pop3-fma-input-password
(substring inbox (match-end (string-match "^.*@" inbox)))
(pop3-retr process n crashbuf)
(save-excursion
(set-buffer crashbuf)
- (write-region-as-binary (point-min) (point-max) crashbox 'append)
+ (write-region-as-binary (point-min) (point-max)
+ crashbox 'append 'nomesg)
(set-buffer (process-buffer process))
(while (> (buffer-size) 5000)
(goto-char (point-min))
(setq date (format-time-string
"%a %b %e %T %Y"
(if date
- (apply 'encode-time (parse-time-string date))
+ (condition-case nil
+ (apply 'encode-time (parse-time-string date))
+ (error (current-time)))
(current-time))))
(setq From_ (format "\nFrom %s %s\n" from date))
(while (string-match "," From_)