From: Miles Bader Date: Tue, 21 Aug 2007 04:51:30 +0000 (+0000) Subject: Merge from emacs--rel--22 X-Git-Tag: emacs-pretest-23.0.90~11434 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=bdaf8a62d53cf8d5a0dc4f0dc530ecd6fc1f44fe;p=emacs.git Merge from emacs--rel--22 Patches applied: * emacs--rel--22 (patch 93-96) - Update from CVS - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 245) - Update from CVS Revision: emacs@sv.gnu.org/emacs--devo--0--patch-856 --- bdaf8a62d53cf8d5a0dc4f0dc530ecd6fc1f44fe diff --cc admin/FOR-RELEASE index 4614fc63d47,b6f8d38ca1f..c1ad49587b7 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE @@@ -40,10 -36,12 +40,16 @@@ to the hack introduced on 2005-07-01 t * BUGS +NB the definitive copy of this file for Emacs 22 is on the +EMACS_22_BASE branch. Any entries below are automatically copied from +that branch. Do not make manual changes to this file on the trunk. + + ** ams@gnu.org, 9 July: eshell and external commands + http://lists.gnu.org/archive/html/emacs-devel/2007-08/msg00385.html + + ** Check all non-file-scope static vars to make sure they + won't lose on USG or HPUX systems. + * FIXES FOR EMACS 22.3 Here we list small fixes that arrived too late for Emacs 22.2, but diff --cc lisp/ChangeLog index 045d486b097,eefd54257a4..028fe5d2db5 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@@ -1,13 -1,3 +1,35 @@@ ++2007-08-20 Stefan Monnier ++ ++ * smerge-mode.el (smerge-resolve): New arg `safe'. ++ (smerge-resolve-all, smerge-batch-resolve): New function. ++ (smerge-refine): Make sure `diff' returns the expected result. ++ (smerge-parsep-re): New const. ++ (smerge-mode): Use it to adjust paragraph-separate. ++ ++ * progmodes/perl-mode.el (perl-font-lock-syntactic-keywords): ++ Correctly match / regexp matchers as first char on a line when ++ fontifying only that line. ++ ++ * emacs-lisp/cl-macs.el (cl-transform-lambda): Preserve the match-data. ++ ++2007-08-20 Stefan Monnier ++ ++ * vc-bzr.el: Don't fiddle with vc-handled-backend. ++ (vc-bzr-registered): Don't redundantly protect against ++ file-error. Actually use the format-specific code. ++ (vc-bzr-buffer-nonblank-p): Remove. ++ (vc-bzr-status): Change `kindchange' -> `kindchanged'. ++ +2007-08-20 Juri Linkov + + * startup.el (fancy-splash-text): Change multiple tabs into one + tab. Remove "Useful File menu items" section (with "Exit Emacs" + and "Recover Crashed Session"). + (fancy-splash-screens): Set tab-width to 22. + (normal-splash-screen): Replace literal tabs with \t and + fix whitespace. Remove "Useful File menu items" section (with + "Exit Emacs" and "Recover Crashed Session"). + 2007-08-20 Johannes Weiner (tiny change) * emacs-lisp/lisp-mode.el (preceding-sexp): New fun, the code was diff --cc lisp/gnus/ChangeLog index 7fd187a4aeb,7fd187a4aeb..201b7fefdcb --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@@ -1,3 -1,3 +1,19 @@@ ++2007-08-17 Katsumi Yamaoka ++ ++ * gnus-art.el (gnus-article-summary-command-nosave) ++ (gnus-article-read-summary-keys): Don't use 3rd arg of pop-to-buffer. ++ ++2007-08-14 Katsumi Yamaoka ++ ++ * gnus.el (gnus-maximum-newsgroup): New variable. ++ ++ * gnus-agent.el (gnus-agent-fetch-headers): Limit the range of articles ++ according to gnus-maximum-newsgroup. ++ ++ * gnus-sum.el (gnus-articles-to-read, gnus-list-of-unread-articles) ++ (gnus-list-of-read-articles, gnus-sequence-of-unread-articles): Limit ++ the range of articles according to gnus-maximum-newsgroup. ++ 2007-08-10 Katsumi Yamaoka * nntp.el (nntp-xref-number-is-evil): New server variable. diff --cc lisp/gnus/gnus-agent.el index 7b98b1e045a,7b98b1e045a..347b57983e6 --- a/lisp/gnus/gnus-agent.el +++ b/lisp/gnus/gnus-agent.el @@@ -1765,7 -1765,7 +1765,14 @@@ article numbers will be returned. (gnus-agent-find-parameter group 'agent-predicate))))) (articles (if fetch-all -- (gnus-uncompress-range (gnus-active group)) ++ (if gnus-maximum-newsgroup ++ (let ((active (gnus-active group))) ++ (gnus-uncompress-range ++ (cons (max (car active) ++ (- (cdr active) ++ gnus-maximum-newsgroup -1)) ++ (cdr active)))) ++ (gnus-uncompress-range (gnus-active group))) (gnus-list-of-unread-articles group))) (gnus-decode-encoded-word-function 'identity) (gnus-decode-encoded-address-function 'identity) diff --cc lisp/gnus/gnus-art.el index 6ccba3b108f,6ccba3b108f..696222e0043 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el @@@ -5607,7 -5607,7 +5607,7 @@@ not have a face in `gnus-article-boring "Execute the last keystroke in the summary buffer." (interactive) (let (func) -- (pop-to-buffer gnus-article-current-summary nil (not (featurep 'xemacs))) ++ (pop-to-buffer gnus-article-current-summary) (setq func (lookup-key (current-local-map) (this-command-keys))) (call-interactively func))) @@@ -5646,8 -5646,8 +5646,7 @@@ (member keys nosave-in-article)) (let (func) (save-window-excursion -- (pop-to-buffer gnus-article-current-summary -- nil (not (featurep 'xemacs))) ++ (pop-to-buffer gnus-article-current-summary) ;; We disable the pick minor mode commands. (let (gnus-pick-mode) (setq func (lookup-key (current-local-map) keys)))) @@@ -5659,16 -5659,16 +5658,14 @@@ (call-interactively func) (setq new-sum-point (point))) (when (member keys nosave-but-article) -- (pop-to-buffer gnus-article-buffer -- nil (not (featurep 'xemacs))))) ++ (pop-to-buffer gnus-article-buffer))) ;; These commands should restore window configuration. (let ((obuf (current-buffer)) (owin (current-window-configuration)) (opoint (point)) win func in-buffer selected new-sum-start new-sum-hscroll) (cond (not-restore-window -- (pop-to-buffer gnus-article-current-summary -- nil (not (featurep 'xemacs)))) ++ (pop-to-buffer gnus-article-current-summary)) ((setq win (get-buffer-window gnus-article-current-summary)) (select-window win)) (t diff --cc lisp/gnus/gnus-sum.el index 708689fef9e,708689fef9e..851ec88c96f --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el @@@ -5472,7 -5472,7 +5472,13 @@@ If SELECT-ARTICLES, only select those a ;; articles in the group, or (if that's nil), the ;; articles in the cache. (or -- (gnus-uncompress-range (gnus-active group)) ++ (if gnus-maximum-newsgroup ++ (let ((active (gnus-active group))) ++ (gnus-uncompress-range ++ (cons (max (car active) ++ (- (cdr active) gnus-maximum-newsgroup -1)) ++ (cdr active)))) ++ (gnus-uncompress-range (gnus-active group))) (gnus-cache-articles-in-group group)) ;; Select only the "normal" subset of articles. (gnus-sorted-nunion @@@ -6534,23 -6534,23 +6540,26 @@@ displayed, no centering will be perform (let* ((read (gnus-info-read (gnus-get-info group))) (active (or (gnus-active group) (gnus-activate-group group))) (last (cdr active)) ++ (bottom (if gnus-maximum-newsgroup ++ (max (car active) (- last gnus-maximum-newsgroup -1)) ++ (car active))) first nlast unread) ;; If none are read, then all are unread. (if (not read) -- (setq first (car active)) ++ (setq first bottom) ;; If the range of read articles is a single range, then the ;; first unread article is the article after the last read ;; article. Sounds logical, doesn't it? (if (and (not (listp (cdr read))) -- (or (< (car read) (car active)) ++ (or (< (car read) bottom) (progn (setq read (list read)) nil))) -- (setq first (max (car active) (1+ (cdr read)))) ++ (setq first (max bottom (1+ (cdr read)))) ;; `read' is a list of ranges. (when (/= (setq nlast (or (and (numberp (car read)) (car read)) (caar read))) 1) -- (setq first (car active))) ++ (setq first bottom)) (while read (when first (while (< first nlast) @@@ -6575,7 -6575,7 +6584,12 @@@ (gnus-list-range-difference (gnus-list-range-difference (gnus-sorted-complement -- (gnus-uncompress-range active) ++ (gnus-uncompress-range ++ (if gnus-maximum-newsgroup ++ (cons (max (car active) ++ (- (cdr active) gnus-maximum-newsgroup -1)) ++ (cdr active)) ++ active)) (gnus-list-of-unread-articles group)) (cdr (assq 'dormant marked))) (cdr (assq 'tick marked)))))) @@@ -6587,23 -6587,23 +6601,26 @@@ (let* ((read (gnus-info-read (gnus-get-info group))) (active (or (gnus-active group) (gnus-activate-group group))) (last (cdr active)) ++ (bottom (if gnus-maximum-newsgroup ++ (max (car active) (- last gnus-maximum-newsgroup -1)) ++ (car active))) first nlast unread) ;; If none are read, then all are unread. (if (not read) -- (setq first (car active)) ++ (setq first bottom) ;; If the range of read articles is a single range, then the ;; first unread article is the article after the last read ;; article. Sounds logical, doesn't it? (if (and (not (listp (cdr read))) -- (or (< (car read) (car active)) ++ (or (< (car read) bottom) (progn (setq read (list read)) nil))) -- (setq first (max (car active) (1+ (cdr read)))) ++ (setq first (max bottom (1+ (cdr read)))) ;; `read' is a list of ranges. (when (/= (setq nlast (or (and (numberp (car read)) (car read)) (caar read))) 1) -- (setq first (car active))) ++ (setq first bottom)) (while read (when first (push (cons first nlast) unread)) diff --cc lisp/gnus/gnus.el index 0e8e9908cf4,0e8e9908cf4..3f75bba6d1c --- a/lisp/gnus/gnus.el +++ b/lisp/gnus/gnus.el @@@ -1501,6 -1501,6 +1501,17 @@@ If it is nil, no confirmation is requir :type '(choice (const :tag "No limit" nil) integer)) ++(defcustom gnus-maximum-newsgroup nil ++ "The maximum number of articles a newsgroup. ++If this is a number, old articles in a newsgroup exceeding this number ++are silently ignored. If it is nil, no article is ignored. Note that ++setting this variable to a number might prevent you from reading very ++old articles." ++ :group 'gnus-group-select ++ :version "22.2" ++ :type '(choice (const :tag "No limit" nil) ++ integer)) ++ (defcustom gnus-use-long-file-name (not (memq system-type '(usg-unix-v xenix))) "*Non-nil means that the default name of a file to save articles in is the group name. If it's nil, the directory form of the group name is used instead. diff --cc man/ChangeLog index 911c68e9cbc,6c27e3b7bb0..7438fbad338 --- a/man/ChangeLog +++ b/man/ChangeLog @@@ -3,23 -3,6 +3,27 @@@ * basic.texi (Position Info): Add index entry for face at point. Mention that character faces are also displayed by "C-u C-x =". +2007-08-17 Jay Belanger + + * calc.texi: Move contents to beginning of file. + (Algebraic Entry): Fix the formatting of an example. + +2007-08-15 Jay Belanger + + * calc.texi (Basic Operations on Units): Mention exact versus + inexact conversions. + +2007-08-14 Jay Belanger + + * calc.texi (Basic Operations on Units): Mention default + values for new units. + (Quick Calculator Mode): Mention that binary format will + be displayed. + ++2007-08-14 Katsumi Yamaoka ++ ++ * gnus.texi (Selecting a Group): Mention gnus-maximum-newsgroup. ++ 2007-08-10 Katsumi Yamaoka * gnus.texi (NNTP): Mention nntp-xref-number-is-evil. diff --cc man/gnus.texi index 94144b65e3f,94144b65e3f..7cabf674102 --- a/man/gnus.texi +++ b/man/gnus.texi @@@ -2153,6 -2153,6 +2153,24 @@@ most recently will be fetched @code{gnus-large-newsgroup}, but is only used for ephemeral newsgroups. ++@vindex gnus-maximum-newsgroup ++In groups in some news servers, there might be a big gap between a few ++very old articles that will never be expired and the recent ones. In ++such a case, the server will return the data like @code{(1 . 30000000)} ++for the @code{LIST ACTIVE group} command, for example. Even if there ++are actually only the articles 1-10 and 29999900-30000000, Gnus doesn't ++know it at first and prepares for getting 30000000 articles. However, ++it will consume hundreds megabytes of memories and might make Emacs get ++stuck as the case may be. If you use such news servers, set the ++variable @code{gnus-maximum-newsgroup} to a positive number. The value ++means that Gnus ignores articles other than this number of the latest ++ones in every group. For instance, the value 10000 makes Gnus get only ++the articles 29990001-30000000 (if the latest article number is 30000000 ++in a group). Note that setting this variable to a number might prevent ++you from reading very old articles. The default value of the variable ++@code{gnus-maximum-newsgroup} is @code{nil}, which means Gnus never ++ignores old articles. ++ @vindex gnus-select-group-hook @vindex gnus-auto-select-first @vindex gnus-auto-select-subject