+2006-03-06 Reiner Steib <Reiner.Steib@gmx.de>
+
+ * GNUS-NEWS: Generated.
+
+ * Makefile.in (release-*): New targets.
+
2006-02-28 Reiner Steib <Reiner.Steib@gmx.de>
* todo: Remove nnweb. Add: widget for posting styles, doc string
GNUS NEWS -- history of user-visible changes.
-Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006 Free Software Foundation, Inc.
+Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+ 2006 Free Software Foundation, Inc.
See the end for copying conditions.
Please send Gnus bug reports to bugs@gnus.org.
`gnus-picon-style'. *Note Picons::.
** You can import and export your RSS subscriptions from OPML files.
-*Note RSS::.
+ *Note RSS::.
** The option `mm-fill-flowed' can be used to disable treatment of
format=flowed messages. Also, flowed text is disabled when sending
** You can change the location of XEmacs' toolbars in Gnus buffers. See
`gnus-use-toolbar' and `message-use-toolbar'.
+** The nnml back end allows other compression programs beside `gzip' for
+compressed message files. *Note Mail Spool::.
+
\f
* For older news, see Gnus info node "New Features".
----------------------------------------------------------------------
Copyright information:
-Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006 Free Software Foundation, Inc.
+Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+ 2006 Free Software Foundation, Inc.
Permission is granted to anyone to make or distribute verbatim copies
of this document as received, in any medium, provided that the
dirs (cdr dirs)))) \
(princ (or package-dir \"\")))" 2>/dev/null
+# # # # # # # # # # Release variables (for maintainer only):
+#
+# Release files, not included in CVS:
+TAR_BALL_EXTRA = README
+# Files removed from `cvs export' output before creating the tar-ball:
+CVS_IGNORE_FILES = .cvsignore contrib/.cvsignore etc/.cvsignore \
+ lisp/.cvsignore texi/.cvsignore
+# Name and mail address in ChangeLog format for the release commit:
+COMMITTER = Lars Magne Ingebrigtsen <lars@ingebrigtsen.no>
+# CODENAME for development releases (CODENAME must have a trailing space,
+# (e.g. "Oort ")
+CODENAME =
+# Files with hard-coded versions numbers:
+RELEASE_COMMIT_FILES = lisp/ChangeLog lisp/gnus.el \
+ texi/ChangeLog texi/gnus.texi texi/message.texi texi/gnus-faq.texi
+# Pattern matching previous version(s):
+OLD_PATTERN = 5.10.[0-9]*
+# CVS tag of the previous version:
+OLD_TAG = v5-10-6
+# CVS tag of the current release:
+TAG = v5-10
+#
+# Procedure:
+# - release-bump-version
+# - release-commit
+# - release-files
+#
+# # # # # # # # # # End of release variables
+
all: lick info
all-ja: lick info info-ja
Makefile: $(srcdir)/Makefile.in config.status
CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+# # # # # # # # # # Release targets (for maintainer only):
+
+release-check-settings:
+ @echo
+ @echo "COMMITTER = '$(COMMITTER)'"
+ @echo " (example: 'Foo Bar <foo.bar@somewhere.invalid>')"
+ @echo "VERSION = '$(VERSION)' (example: '5.10.6')"
+ @echo "CODENAME = '$(CODENAME)' (example: 'Oort ')"
+ @echo "TAG = '$(TAG)' (example: 'v5-10-6')"
+ @echo "OLDTAG = '$(OLDTAG)' (example: 'v5-10-5')"
+ @echo
+ @if [ x"$(VERSION)" = x ]; then echo "error: No VERSION given."; exit 1; else :; fi
+ @if [ x"$(TAG)" = x ]; then echo "error: No TAG given."; exit 1; else :; fi
+
+# Needs GNU grep and a recent GNU sed:
+release-bump-version: release-check-settings
+ sed -i -e '/^(defconst gnus-version-number /s|"$(OLD_PATTERN)"|"$(VERSION)"|' lisp/gnus.el
+ sed -i -e '/^.newcommand{.gnusversionname}{Gnus v/s|$(OLD_PATTERN)|$(VERSION)|' texi/gnus.texi
+ sed -i -e '/^This manual corresponds to Gnus v/s|$(OLD_PATTERN)|$(VERSION)|' texi/gnus.texi
+ sed -i -e '/^This manual corresponds to Message v/s|$(OLD_PATTERN)|$(VERSION)|' texi/message.texi
+ sed -i -e '/The current release ($(OLD_PATTERN)) should/s|$(OLD_PATTERN)|$(VERSION)|' texi/gnus-faq.texi
+ @if grep -q "$(CODENAME)Gnus v$(VERSION) is released" texi/ChangeLog; then \
+ echo "texi/ChangeLog is already updated"; \
+ else \
+ sed -i -e "1s|^|`date -I` $(COMMITTER)\n\n\t* gnus.texi, gnus-faq.texi, message.texi: $(CODENAME)Gnus v$(VERSION) is released.\n\n|" texi/ChangeLog; \
+ fi
+ @if grep -q "$(CODENAME)Gnus v$(VERSION) is released" lisp/ChangeLog; then \
+ echo "lisp/ChangeLog is already updated"; \
+ else \
+ sed -i -e "1s|^|`date -I` $(COMMITTER)\n\n\t* gnus.el: $(CODENAME)Gnus v$(VERSION) is released.\n\n|" lisp/ChangeLog; \
+ fi
+ cvs diff -U0 $(RELEASE_COMMIT_FILES); sleep 2
+
+release-revert-changelog:
+ rm -i lisp/ChangeLog texi/ChangeLog
+ cvs update lisp/ChangeLog texi/ChangeLog
+
+release-commit: release-check-settings
+ @echo -e '\007'
+ @echo
+ @echo "Really do the release-commit for $(CODENAME)Gnus v$(VERSION)?"
+ @echo
+ @echo "Hit RET to continue or Ctrl-C to abort."
+ @echo
+ @read dummy
+ cvs commit -m "$(CODENAME)Gnus v$(VERSION) is released." $(RELEASE_COMMIT_FILES)
+ @echo
+ @echo "Add tag $(TAG) to CVS?"
+ @echo "Hit RET to continue or Ctrl-C to abort."
+ @echo
+ @read dummy
+ cvs tag $(TAG)
+
+release-files: release-cvs-export release-make-tar-ball release-diff
+
+release-cvs-export gnus-$(TAG): release-check-settings
+ cvs export -d gnus-$(TAG) -r $(TAG) gnus
+
+release-make-tar-ball: gnus-$(TAG) $(TAR_BALL_EXTRA)
+ [ -d gnus-$(TAG) ] && cd gnus-$(TAG) && \
+ rm $(CVS_IGNORE_FILES) || true
+ tar zcvf gnus-$(TAG).tar.gz gnus-$(TAG)
+
+# Make a diff between current and previous release. Example:
+# ftp://quimby.gnus.org/pub/gnus/ding-patches/gnus-5.10.5-5.10.6.diff.gz
+release-diff: release-check-settings
+ cvs diff -r $(OLD_TAG) -r $(TAG) > temp.diff || true
+ mv temp.diff gnus-`echo $(OLD_TAG)%$(TAG)|tr - .|tr -d v|tr % -`.diff
+ gzip gnus-`echo $(OLD_TAG)%$(TAG)|tr - .|tr -d v|tr % -`.diff
+
+release-post-clean: release-check-settings
+ rm -fr gnus-$(TAG) temp.diff
+
+# # # # # # # # # # End of release targets
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
2006-03-06 Reiner Steib <Reiner.Steib@gmx.de>
+ * gmm-utils.el (gmm-image-load-path): Add alias.
+
+ * nnml.el (nnml-generate-nov-databases-directory): Rename from
+ nnml-generate-nov-databases-1.
+ (nnml-generate-nov-databases): Use it.
+ (nnml-generate-nov-databases-directory): Document no-active
+ argument.
+
+ * gmm-utils.el (gmm-image-load-path-for-library): Return single
+ directory if path is t. Add no-error.
+
+ * gnus-group.el (gnus-group-make-tool-bar): Use add-hook.
+ Suggested by Stefan Monnier <monnier@iro.umontreal.ca>.
+
+ * gnus-art.el (gnus-article-browse-delete-temp-files): Simplify
+ resetting gnus-article-browse-html-temp-list.
+
* gmm-utils.el (gmm-image-load-path-for-library): Sync with
mh-compat.el revision 1.9 in Emacs. Rename `gmm-image-load-path'.
Add example to docstring. Rename local variables. Move error
;; From MH-E with modifications:
(gmm-defun-compat gmm-image-load-path-for-library
- image-load-path-for-library (library image &optional path)
+ image-load-path-for-library (library image &optional path no-error)
"Return a suitable search path for images relative to LIBRARY.
Images for LIBRARY are searched for in \"../../etc/images\" and
well as in `image-load-path' and `load-path'.
This function returns the value of `load-path' augmented with the
-path to IMAGE. If PATH is given, it is used instead of
-`load-path'.
+path to IMAGE. If PATH is given, it is used instead of
+`load-path'. If PATH is t, return a single image directory
+instead of a path.
+
+If NO-ERROR is non-nil, don't signal an error if no suitable path
+for can be found.
Here is an example that uses a common idiom to provide
compatibility with versions of Emacs that lack the variable
(setq img (directory-file-name parent)
dir (expand-file-name "../" dir)))
(setq image-directory dir)))))
+ (no-error
+ ;; In this case we will return a nil element
+ (gmm-message 1 "Could not find image %s for library %s" image library))
(t
(error "Could not find image %s for library %s" image library)))
;; Return augmented `image-load-path' or `load-path'.
- (cond ((and path (symbolp path))
- (nconc (list image-directory)
+ (cond ((eq path t)
+ image-directory)
+ ((and path (symbolp path))
+ (nconc (list image-directory)
(delete image-directory
(if (boundp path)
(copy-sequence (symbol-value path))
(nconc (list image-directory)
(delete image-directory (copy-sequence load-path)))))))
+;; No time to do it right ATM, sorry...
+(defalias 'gmm-image-load-path 'gmm-image-load-path-for-library)
+
(defun gmm-customize-mode (&optional mode)
"Customize customization group for MODE.
If mode is nil, use `major-mode' of the curent buffer."
(const :tag "Ask" ask)
(const :tag "Ask for each file" file)))
+;; Cf. mm-postponed-undisplay-list / mm-destroy-postponed-undisplay-list.
+
(defun gnus-article-browse-delete-temp-files (&optional how)
"Delete temp-files created by `gnus-article-browse-html-parts'."
- (unless how
- (setq how gnus-article-browse-delete-temp))
- (when (and gnus-article-browse-html-temp-list how)
+ (when (and gnus-article-browse-html-temp-list
+ (or how
+ (setq how gnus-article-browse-delete-temp)))
(when (and (eq how 'ask)
(y-or-n-p (format
"Delete all %s temporary HTML file(s)? "
;; `how' is neither `nil', `ask' nor `t' (i.e. `file'):
(gnus-y-or-n-p
(format "Delete temporary HTML file `%s'? " file))))
- (delete-file file))
- ;; Also remove file from the list when not deleted or if file doesn't
- ;; exist anymore.
- (setq gnus-article-browse-html-temp-list
- (delete file gnus-article-browse-html-temp-list))))
+ (delete-file file)))
+ ;; Also remove file from the list when not deleted or if file doesn't
+ ;; exist anymore.
+ (setq gnus-article-browse-html-temp-list nil))
gnus-article-browse-html-temp-list)
(defun gnus-article-browse-html-parts (list)
;; Why? --rsteib
(or (not gnus-group-tool-bar-map) force))
(when gnus-group-redraw-when-idle
- (add-to-list (make-local-variable 'post-command-hook)
- 'gnus-group-redraw-check))
+ (add-hook 'post-command-hook 'gnus-group-redraw-check nil t))
(let* ((load-path
(gmm-image-load-path "gnus" "gnus/toggle-subscription.xpm"
'load-path))
(nnml-open-server server))
(setq nnml-directory (expand-file-name nnml-directory))
;; Recurse down the directories.
- (nnml-generate-nov-databases-1 nnml-directory nil t)
+ (nnml-generate-nov-databases-directory nnml-directory nil t)
;; Save the active file.
(nnmail-save-active nnml-group-alist nnml-active-file))
-(defun nnml-generate-nov-databases-1 (dir &optional seen no-active)
- "Regenerate the NOV database in DIR."
+(defun nnml-generate-nov-databases-directory (dir &optional seen no-active)
+ "Regenerate the NOV database in DIR.
+
+Unless no-active is non-nil, update the active file too."
(interactive "DRegenerate NOV in: ")
(setq dir (file-name-as-directory dir))
;; Only scan this sub-tree if we haven't been here yet.
(dolist (dir (directory-files dir t nil t))
(when (and (not (string-match "^\\." (file-name-nondirectory dir)))
(file-directory-p dir))
- (nnml-generate-nov-databases-1 dir seen)))
+ (nnml-generate-nov-databases-directory dir seen)))
;; Do this directory.
(let ((files (sort (nnheader-article-to-file-alist dir)
'car-less-than-car)))
;; #### other backends get a compaction feature. Also, note that invalidating
;; #### the "original article buffer" is already done at an upper level.
+;; Shouldn't `nnml-request-compact-group' be interactive? --rsteib
+
(defun nnml-request-compact-group (group &optional server save)
(nnml-possibly-change-directory group server)
(unless nnml-article-file-alist
+2006-03-06 Reiner Steib <Reiner.Steib@gmx.de>
+
+ * gnus-news.el, gnus-news.texi: Update copyright.
+
2006-03-03 Reiner Steib <Reiner.Steib@gmx.de>
* xemacs.mak: Remove outdated file. Use make.bat instead.
;;; gnus-news.el --- a hack to create GNUS-NEWS from texinfo source
-;; Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+;; Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
;; Author: Reiner Steib <Reiner.Steib@gmx.de>
;; Keywords: tools
(defvar gnus-news-header-disclaimer
"GNUS NEWS -- history of user-visible changes.
-Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+ 2006 Free Software Foundation, Inc.
See the end for copying conditions.
Please send Gnus bug reports to bugs\@gnus.org.
----------------------------------------------------------------------
Copyright information:
-Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+ 2006 Free Software Foundation, Inc.
Permission is granted to anyone to make or distribute verbatim copies
of this document as received, in any medium, provided that the
@c -*-texinfo-*-
-@c Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+@c Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
@c Permission is granted to anyone to make or distribute verbatim copies
@c of this document as received, in any medium, provided that the