+2001-10-06 08:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
+
+ * Makefile.in (uninstall): Add.
+
+ * etc/Makefile.in (uninstall): Add.
+
2001-10-04 Katsumi Yamaoka <yamaoka@jpl.org>
* lisp/message.el (message-fix-before-sending): Don't expose
\f
* Changes in Oort Gnus
+** Group names are treated as UTF-8 by default.
+
+This is supposedly what USEFOR wants to migrate to. See
+`gnus-group-name-charset-group-alist' and
+`gnus-group-name-charset-method-alist' for customization.
+
** The nnml and nnfolder backends store marks for each groups.
This makes it possible to take backup of nnml/nnfolder servers/groups
xinfo-ja:
cd texi && $(MAKE) EMACS="$(XEMACS)" ja-info
+uninstall:
+ cd lisp && $(MAKE) lispdir="$(lispdir)" uninstall
+ cd texi && $(MAKE) uninstall
+ cd etc && $(MAKE) uninstall
+
# Rule for Lars and nobody else.
some:
cd lisp && $(MAKE) EMACS="$(EMACS)" some
$(INSTALL_DATA) $$p $(etcdir)/$$p; \
done
+uninstall:
+ rm -f $(etcdir)/gnus-tut.txt
+ cd $(srcdir) \
+ && for p in gnus/*.xpm gnus/*.pbm gnus/*.xbm gnus/x-splash; do \
+ rm -f "$(etcdir)/$$p"; \
+ done
+ rmdir $(etcdir)/gnus 2> /dev/null || true
+ cd $(srcdir) \
+ && for p in smilies/*.pbm; do \
+ rm -f "$(etcdir)/$$p"; \
+ done
+ rmdir $(etcdir)/smilies 2> /dev/null || true
+
Makefile: $(srcdir)/Makefile.in ../config.status
cd .. \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+2001-10-07 15:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
+
+ * Makefile.in (install-el): Depend on gnus-load.el.
+
+2001-10-07 13:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
+
+ * Makefile.in (install-el): Use -f.
+ From: Amos Gouaux <amos+lists.ding@utdallas.edu>
+
+2001-10-07 Per Abrahamsen <abraham@dina.kvl.dk>
+
+ * message.el (message-send-news): Don't encode Followups-To when
+ gnus-group-name-charset-group-alist is ".*". [Yuck]
+
+ * gnus-util.el (gnus-decode-newsgroups): No space in newsgroup
+ header.
+
+ * gnus-art.el (article-decode-group-name): Also decode
+ "Followup-To".
+
+ * rfc2047.el (rfc2047-encode-message-header): Encode without
+ asking for null methods.
+
+ * gnus-group.el (gnus-group-name-charset-group-alist): Make utf-8
+ default charset for newsgroup names in accordance with USEFOR.
+
+ * gnus-group.el (gnus-group-name-charset-method-alist,
+ gnus-group-name-charset-group-alist): Removed "*" from doc
+ strings, "*" should not be used for complex variables.
+
+2001-10-06 Simon Josefsson <jas@extundo.com>
+
+ Support UTF-8 group names better.
+
+ * message.el (message-check-news-header-syntax): Encode group
+ names before comparison.
+
+ * gnus-msg.el (gnus-copy-article-buffer): Run all
+ `gnus-article-decode-hook's except `article-decode-charset'
+ instead of hardcoding call to one of them.
+
+ * gnus-art.el (gnus-article-decode-hook): Add
+ `article-decode-group-name'.
+ (article-decode-group-name): New function, use `g-d-n'.
+
+ * gnus-group.el (gnus-group-insert-group-line): Decode
+ gnus-tmp-group using `g-d-n'.
+
+ * gnus-util.el (gnus-decode-newsgroups): New function.
+
+2001-10-06 Per Abrahamsen <abraham@dina.kvl.dk>
+
+ * gnus-srvr.el (gnus-browse-foreign-server): Fixed bug non-nil
+ 'gnus-group-name-charset-group-alist'.
+
+2001-10-06 08:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
+
+ * Makefile.in: Install el in install. Add uninstall.
+
+2001-10-05 Simon Josefsson <jas@extundo.com>
+
+ * nnheader.el (gnus-verbose-backends, gnus-nov-is-evil): Custom.
+
+ * gnus-sum.el (gnus-summary-move-article): Also activate new groups.
+
+ * nnfolder.el (nnfolder-normalize-buffer): Don't insert \n\n in
+ empty folders.
+
+ * gnus-sum.el (gnus-select-newsgroup): Don't enable `display'
+ limiting if read-all (C-u RET) was used.
+
2001-10-04 Simon Josefsson <jas@extundo.com>
* mail-source.el (mail-source-movemail-program): New variable.
pot:
xpot -drgnus -r`cat ./version` *.el > rgnus.pot
-gnus-load.elc:
+gnus-load.el gnus-load.elc:
$(EMACS_COMP) -f dgnushack-make-cus-load $(srcdir)
$(EMACS_COMP) -f dgnushack-make-auto-load $(srcdir)
$(EMACS_COMP) -f dgnushack-make-load
(item :tag "skip" nil)
(face :value default)))))
-(defcustom gnus-article-decode-hook nil
+(defcustom gnus-article-decode-hook '(article-decode-group-name)
"*Hook run to decode charsets in articles."
:group 'gnus-article-headers
:type 'hook)
(let ((charset (save-excursion
(set-buffer gnus-summary-buffer)
default-mime-charset)))
- (mime-decode-header-in-buffer charset)
- )))
+ (mime-decode-header-in-buffer charset))))
+
+(defun article-decode-group-name ()
+ "Decode group names in `Newsgroups:'."
+ (let ((inhibit-point-motion-hooks t)
+ buffer-read-only
+ (method (gnus-find-method-for-group gnus-newsgroup-name)))
+ (when (and (or gnus-group-name-charset-method-alist
+ gnus-group-name-charset-group-alist)
+ (gnus-buffer-live-p gnus-original-article-buffer))
+ (when (mail-fetch-field "Newsgroups")
+ (nnheader-replace-header "Newsgroups"
+ (gnus-decode-newsgroups
+ (with-current-buffer
+ gnus-original-article-buffer
+ (mail-fetch-field "Newsgroups"))
+ gnus-newsgroup-name method)))
+ (when (mail-fetch-field "Followup-To")
+ (nnheader-replace-header "Followup-To"
+ (gnus-decode-newsgroups
+ (with-current-buffer
+ gnus-original-article-buffer
+ (mail-fetch-field "Followup-To"))
+ gnus-newsgroup-name method))))))
(defun article-de-quoted-unreadable (&optional force read-charset)
"Translate a quoted-printable-encoded article.
:type '(repeat (cons (sexp :tag "Form") file)))
(defcustom gnus-group-name-charset-method-alist nil
- "*Alist of method and the charset for group names.
+ "Alist of method and the charset for group names.
For example:
- (((nntp \"news.com.cn\") . cn-gb-2312))
-"
+ (((nntp \"news.com.cn\") . cn-gb-2312))"
:version "21.1"
:group 'gnus-charset
:type '(repeat (cons (sexp :tag "Method") (symbol :tag "Charset"))))
-(defcustom gnus-group-name-charset-group-alist nil
- "*Alist of group regexp and the charset for group names.
+(defcustom gnus-group-name-charset-group-alist
+ (if (and (fboundp 'coding-system-p) (coding-system-p 'utf-8))
+ '((".*" . utf-8))
+ nil)
+ "Alist of group regexp and the charset for group names.
For example:
- ((\"\\.com\\.cn:\" . cn-gb-2312))
-"
+ ((\"\\.com\\.cn:\" . cn-gb-2312))"
:group 'gnus-charset
:type '(repeat (cons (regexp :tag "Group") (symbol :tag "Charset"))))
(point)
(prog1 (1+ (point))
;; Insert the text.
- (eval gnus-group-line-format-spec))
+ (let ((gnus-tmp-group (gnus-group-name-decode
+ gnus-tmp-group group-name-charset)))
+ (eval gnus-group-line-format-spec)))
`(gnus-group ,(gnus-intern-safe gnus-tmp-group gnus-active-hashtb)
gnus-unread ,(if (numberp number)
(string-to-int gnus-tmp-number-of-unread)
(or (message-goto-body) (point-max)))
;; Insert the original article headers.
(insert-buffer-substring gnus-original-article-buffer beg end)
- (article-decode-encoded-words))))
+ ;; Decode charsets.
+ (let ((gnus-article-decode-hook
+ (delq 'article-decode-charset gnus-article-decode-hook)))
+ ;; Needed for T-gnus.
+ (add-hook 'gnus-article-decode-hook
+ 'article-decode-encoded-words)
+ (run-hooks 'gnus-article-decode-hook)))))
gnus-article-copy)))
(defun gnus-post-news (post &optional group header article-buffer yank subject
(let ((buffer-read-only nil) charset)
(while groups
(setq group (car groups))
- (setq charset (gnus-group-name-charset method group))
+ (setq charset (gnus-group-name-charset method (car group)))
(gnus-add-text-properties
(point)
(prog1 (1+ (point))
(let ((display (gnus-group-find-parameter group 'display)))
(setq gnus-newsgroup-display
(cond
+ ((not (zerop (or (car-safe read-all) 0)))
+ ;; The user entered the group with C-u SPC/RET, let's show
+ ;; all articles.
+ 'gnus-not-ignore)
((eq display 'all)
'gnus-not-ignore)
((arrayp display)
(gnus-summary-mark-article article gnus-canceled-mark))))
(gnus-summary-remove-process-mark article))
;; Re-activate all groups that have been moved to.
- (while to-groups
- (save-excursion
- (set-buffer gnus-group-buffer)
- (when (gnus-group-goto-group (car to-groups) t)
- (gnus-group-get-new-news-this-group 1 t))
- (pop to-groups)))
+ (save-excursion
+ (set-buffer gnus-group-buffer)
+ (let ((gnus-group-marked to-groups))
+ (gnus-group-get-new-news-this-group nil t)))
(gnus-kill-buffer copy-buf)
(gnus-summary-position-point)
(search-forward ":" eol t)
(point)))))
+(defun gnus-decode-newsgroups (newsgroups group &optional method)
+ (let ((method (or method (gnus-find-method-for-group group))))
+ (mapconcat (lambda (group)
+ (gnus-group-name-decode group (gnus-group-name-charset
+ method group)))
+ (message-tokenize-header newsgroups)
+ ",")))
+
(defun gnus-remove-text-with-property (prop)
"Delete all text in the current buffer with text property PROP."
(save-excursion
(method (if (message-functionp message-post-method)
(funcall message-post-method arg)
message-post-method))
+ ;; BUG: We need to get the charset for each name in the
+ ;; Newsgroups and Followup-To lines. Using the empty string
+ ;; "works" with the a default value of ".*" for
+ ;; 'gnus-group-name-charset-group-alist', but not anything
+ ;; more specifik.
+ ;; -- Par Abrahamsen <abraham@dina.kvl.dk> 2001-10-07.
(group-name-charset (gnus-group-name-charset method ""))
(message-syntax-checks
(if arg
(message-generate-headers message-required-news-headers)
;; Let the user do all of the above.
(run-hooks 'message-header-hook))
+ ;; Note: This check will be disabled by the ".*" default value for
+ ;; gnus-group-name-charset-group-alist. -- Pa 2001-10-07.
(when group-name-charset
(setq message-syntax-checks
(cons '(valid-newsgroups . disabled)
(if followup-to
(concat newsgroups "," followup-to)
newsgroups)))
+ (method (if (message-functionp message-post-method)
+ (funcall message-post-method)
+ message-post-method))
(known-groups
- (mapcar (lambda (n) (gnus-group-real-name n))
- (gnus-groups-from-server
- (if (message-functionp message-post-method)
- (funcall message-post-method)
- message-post-method))))
+ (mapcar (lambda (n)
+ (gnus-group-name-decode
+ (gnus-group-real-name n)
+ (gnus-group-name-charset method n)))
+ (gnus-groups-from-server method)))
errors)
(while groups
(unless (or (equal (car groups) "poster")
(goto-char (point-max))
(skip-chars-backward "\n")
(delete-region (point) (point-max))
- (insert "\n\n"))
+ (unless (bobp)
+ (insert "\n\n")))
(defun nnfolder-insert-newsgroup-line (group-art)
(save-excursion
(autoload 'gnus-intersection "gnus-range")
(autoload 'gnus-sorted-complement "gnus-range"))
+(defcustom gnus-verbose-backends 7
+ "Integer that says how verbose the Gnus backends should be.
+The higher the number, the more messages the Gnus backends will flash
+to say what it's doing. At zero, the Gnus backends will be totally
+mute; at five, they will display most important messages; and at ten,
+they will keep on jabbering all the time."
+ :group 'gnus-start
+ :type 'integer)
+
+(defcustom gnus-nov-is-evil nil
+ "If non-nil, Gnus backends will never output headers in the NOV format."
+ :group 'gnus-server
+ :type 'boolean)
+
(defvar nnheader-max-head-length 4096
"*Max length of the head of articles.
(defvar nntp-server-buffer nil)
(defvar nntp-process-response nil)
-(defvar gnus-verbose-backends 7
- "*A number that says how talkative the Gnus backends should be.")
-(defvar gnus-nov-is-evil nil
- "If non-nil, Gnus backends will never output headers in the NOV format.")
(defvar news-reply-yank-from nil)
(defvar news-reply-yank-message-id nil)
mail-parse-charset)
(mm-encode-coding-region (point-min) (point-max)
mail-parse-charset)))
+ ;; We get this when CC'ing messsages to newsgroups with
+ ;; 8-bit names. The group name mail copy just get
+ ;; unconditionally encoded. Previously, it would ask
+ ;; whether to encode, which was quite confusing for the
+ ;; user. If the new behaviour is wrong, tell me. I have
+ ;; left the old code commented out below.
+ ;; -- Per Abrahamsen <abraham@dina.kvl.dk> Date: 2001-10-07.
((null method)
- (and (delq 'ascii
- (mm-find-charset-region (point-min)
- (point-max)))
- (if (or (message-options-get
- 'rfc2047-encode-message-header-encode-any)
- (message-options-set
- 'rfc2047-encode-message-header-encode-any
- (y-or-n-p
- "Some texts are not encoded. Encode anyway?")))
- (rfc2047-encode-region (point-min) (point-max))
- (error "Cannot send unencoded text"))))
+ (when (delq 'ascii
+ (mm-find-charset-region (point-min) (point-max)))
+ (rfc2047-encode-region (point-min) (point-max))))
+;;; ((null method)
+;;; (and (delq 'ascii
+;;; (mm-find-charset-region (point-min)
+;;; (point-max)))
+;;; (if (or (message-options-get
+;;; 'rfc2047-encode-message-header-encode-any)
+;;; (message-options-set
+;;; 'rfc2047-encode-message-header-encode-any
+;;; (y-or-n-p
+;;; "Some texts are not encoded. Encode anyway?")))
+;;; (rfc2047-encode-region (point-min) (point-max))
+;;; (error "Cannot send unencoded text"))))
((mm-coding-system-p method)
(if (and (featurep 'mule)
(if (boundp 'default-enable-multibyte-characters)
+2001-10-06 08:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
+
+ * Makefile.in (uninstall): Add uninstall.
+
+2001-10-05 Simon Josefsson <jas@extundo.com>
+
+ * Makefile.in (clean): Add gnusconfig.tex. Suggested by Henrik
+ Enberg <henrik@enberg.org>.
+
2001-10-04 Simon Josefsson <jas@extundo.com>
* gnus.texi (Mail Source Customization): Add.
gnus.ilg gnus.ind gnus.[cgk]ind gnus.idx \
gnustmp.texi *.tmplatexi gnus.tmplatexi1 texput.log *.orig *.rej \
gnus.latexi*~* xface.tex picons.tex smiley.tex *.latexi *.dvi-x \
- *.pdf-x
+ *.pdf-x gnusconfig.tex
makeinfo:
makeinfo -o gnus gnus.texi
done; \
else : ; fi
+uninstall:
+ @list='$(INFO_DEPS)'; \
+ list=$$list' $(INFO_DEPS_JA) $(INFO_DEPS_INFO) $(INFO_DEPS_JA_INFO)'; \
+ for file in $$list; do \
+ for ifile in `echo $$file $$file-[0-9] $$file-[0-9][0-9]`; do \
+ rm -f $(infodir)/$$ifile; \
+ done; \
+ done
+ @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
+ list='$(INFO_DEPS)'; \
+ for file in $$list; do \
+ echo " install-info --delete --info-dir=$(infodir) $(infodir)/$$file";\
+ install-info --delete --info-dir=$(infodir) $(infodir)/$$file || :;\
+ done; \
+ else : ; fi
+
install-ja: $(INFO_DEPS_JA)
$(MAKE) INFO_DEPS='$(INFO_DEPS_JA)' EMACS="$(EMACS)" \
infodir="$(infodir)" install