changeset 83457:432dae1fa952

Merged from miles@gnu.org--gnu-2005 (patch 185-186, 700-703) Patches applied: * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-700 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-701 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-702 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-703 Update from CVS: lisp/cus-edit.el (customize-rogue): Minor doc fix. * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-185 Merge from emacs--cvs-trunk--0 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-186 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-497
author Karoly Lorentey <lorentey@elte.hu>
date Tue, 17 Jan 2006 16:28:02 +0000
parents de425e4eb0bc (current diff) 614685c4f18f (diff)
children 7f469f3b6555
files lisp/ChangeLog lisp/bindings.el lisp/faces.el lisp/international/mule.el lisp/mh-e/ChangeLog man/ChangeLog
diffstat 36 files changed, 383 insertions(+), 162 deletions(-) [+]
line wrap: on
line diff
--- a/etc/NEWS	Tue Jan 17 00:56:42 2006 +0000
+++ b/etc/NEWS	Tue Jan 17 16:28:02 2006 +0000
@@ -828,6 +828,9 @@
 elements on mode-line (and header-line) like `highlight' face on text
 areas.
 
+*** `mode-line-buffer-id' is the standard face for buffer identification
+parts of the mode line.
+
 +++
 *** `shadow' face defines the appearance of the "shadowed" text, i.e.
 the text which should be less noticeable than the surrounding text.
--- a/lisp/ChangeLog	Tue Jan 17 00:56:42 2006 +0000
+++ b/lisp/ChangeLog	Tue Jan 17 16:28:02 2006 +0000
@@ -1,3 +1,65 @@
+2006-01-16  Luc Teirlinck  <teirllm@auburn.edu>
+
+	* cus-edit.el (customize-rogue): Minor doc fix.
+
+2006-01-17  Juri Linkov  <juri@jurta.org>
+
+	* dired-aux.el (dired-diff): Use dired-dwim-target-directory
+	instead of the file at the mark as default if the file at the mark
+	is the same as the file at point or if dired-dwim-target-directory
+	is not the same as the current directory and the mark is not active.
+
+	* log-view.el (log-view-minor-wrap): Use the same logic to get
+	revisions as `log-view-diff'.
+
+	* info.el (Info-revert-find-node): Check for Info-current-file
+	before preserving new-history.
+
+	* man.el (Man-heading-regexp): Add `/'.
+
+	* textmodes/sgml-mode.el: Add `coding: iso-2022-7bit' cookie.
+	(html-mode): Set `sentence-end-base' instead of `sentence-end'.
+
+2006-01-16  Juri Linkov  <juri@jurta.org>
+
+	* faces.el (mode-line-faces): New defgroup.
+	(mode-line-highlight): Move definition after new defgroup.
+	(mode-line, mode-line-inactive, mode-line-highlight):
+	Replace :group `modeline' with `mode-line-faces'.
+	(mode-line-buffer-id): New face.
+	(modeline-buffer-id): New face alias.
+	(vertical-border): Remove :group `modeline'.
+
+	* bindings.el (propertized-buffer-identification): Use face
+	`mode-line-buffer-id' instead of `Buffer-menu-buffer'.
+	(mode-line-next-buffer, mode-line-previous-buffer): New functions.
+	(mode-line-buffer-identification-keymap): For mouse-1 replace
+	`mode-line-unbury-buffer' with `mode-line-previous-buffer'.
+	Replace `mode-line-bury-buffer' with `mode-line-next-buffer' for
+	mouse-3.
+
+	* buff-menu.el (buffer-menu-buffer) <defface>: Renamed from
+	Buffer-menu-buffer.  Doc fix.
+	(Buffer-menu-buffer): Face alias to buffer-menu-buffer.
+
+	* info.el (Info-mode-line-node-keymap): New defvar.
+	(Info-set-mode-line): Use `stringp' to check Info-current-file.
+	Propertize Info-current-node with `mode-line-buffer-id' and
+	`mode-line-highlight' faces and `Info-mode-line-node-keymap'.
+
+	* time.el (display-time-mail-face): Replace :group `faces' with
+	`mode-line-faces'.
+
+2006-01-16  Kenichi Handa  <handa@m17n.org>
+
+	* international/code-pages.el: Add autoload cookies for
+	cp125[0345678].
+
+	* language/european.el (cp1252): New alias for windows-1252.
+
+	* international/mule.el (autoload-coding-system): Prepare for EOL
+	variants.
+
 2006-01-15  Dan Nicolaescu  <dann@ics.uci.edu>
 
 	* term.el (term-raw-map): Add mapping for insert.
@@ -57,7 +119,7 @@
 
 2006-01-13  Carsten Dominik  <dominik@science.uva.nl>
 
-	* textmodes/org.el: (org-open-file): Use mailcap for selecting an
+	* textmodes/org.el (org-open-file): Use mailcap for selecting an
 	application.
 	(org-file-apps-defaults-gnu): Use mailcap as the default for
 	selecting an application on a UNIX system.
@@ -343,7 +405,7 @@
 
 2006-01-05  Carsten Dominik  <dominik@science.uva.nl>
 
-	* textmodes/org.el: (org-end-of-subtree): New function.
+	* textmodes/org.el (org-end-of-subtree): New function.
 	(org-cycle, org-subtree-end-visible-p, org-scan-tags):
 	Use `org-end-of-subtree'.
 	(org-agenda, org-agenda-convert-date): Protect calls to
@@ -1064,7 +1126,7 @@
 
 2005-12-20  Carsten Dominik  <dominik@science.uva.nl>
 
-	* textmodes/org.el: (org-agenda-custom-commands): New option.
+	* textmodes/org.el (org-agenda-custom-commands): New option.
 	(org-agenda): Offer custom commands on splash screen.
 	(org-make-tags-matcher): Parser for Boolean logic added.
 	(org-agenda-set-tags): New command.
@@ -1180,7 +1242,7 @@
 
 2005-12-16  Carsten Dominik  <dominik@science.uva.nl>
 
-	* textmodes/org.el: (org-tags-match-list-sublevels): New option.
+	* textmodes/org.el (org-tags-match-list-sublevels): New option.
 	(org-open-at-point): Implement tag searches as links.
 	(org-fit-agenda-window, org-get-buffer-tags, org-get-tags)
 	(org-make-tags-matcher, org-scan-tags, org-activate-tags): New funs.
@@ -1402,7 +1464,7 @@
 
 2005-12-12  Carsten Dominik  <dominik@science.uva.nl>
 
-	* textmodes/org.el: (org-agenda, org-timeline, org-todo):
+	* textmodes/org.el (org-agenda, org-timeline, org-todo):
 	Implement Logging and the keep-modes setting.
 	(org-get-category): Make sure a string is returned.
 	(org-log-done): New function.
--- a/lisp/bindings.el	Tue Jan 17 00:56:42 2006 +0000
+++ b/lisp/bindings.el	Tue Jan 17 16:28:02 2006 +0000
@@ -371,6 +371,20 @@
   (interactive)
   (switch-to-buffer (other-buffer)))
 
+(defun mode-line-next-buffer (event)
+  "Like `next-buffer', but temporarily select EVENT's window."
+  (interactive "e")
+  (save-selected-window
+    (select-window (posn-window (event-start event)))
+    (next-buffer)))
+
+(defun mode-line-previous-buffer (event)
+  "Like `previous-buffer', but temporarily select EVENT's window."
+  (interactive "e")
+  (save-selected-window
+    (select-window (posn-window (event-start event)))
+    (previous-buffer)))
+
 (defvar mode-line-mode-menu (make-sparse-keymap "Minor Modes") "\
 Menu of mode operations in the mode line.")
 
@@ -444,13 +458,13 @@
 (let ((map (make-sparse-keymap)))
   ;; Bind down- events so that the global keymap won't ``shine
   ;; through''.
-  (define-key map [mode-line mouse-1] 'mode-line-unbury-buffer)
+  (define-key map [mode-line mouse-1] 'mode-line-previous-buffer)
   (define-key map [header-line down-mouse-1] 'ignore)
-  (define-key map [header-line mouse-1] 'mode-line-unbury-buffer)
+  (define-key map [header-line mouse-1] 'mode-line-previous-buffer)
   (define-key map [header-line down-mouse-3] 'ignore)
-  (define-key map [mode-line mouse-3] 'mode-line-bury-buffer)
+  (define-key map [mode-line mouse-3] 'mode-line-next-buffer)
   (define-key map [header-line down-mouse-3] 'ignore)
-  (define-key map [header-line mouse-3] 'mode-line-bury-buffer)
+  (define-key map [header-line mouse-3] 'mode-line-next-buffer)
   (setq mode-line-buffer-identification-keymap map))
 
 (defun propertized-buffer-identification (fmt)
@@ -458,7 +472,7 @@
 FMT is a format specifier such as \"%12b\".  This function adds
 text properties for face, help-echo, and local-map to it."
   (list (propertize fmt
-		    'face 'Buffer-menu-buffer
+		    'face 'mode-line-buffer-id
 		    'help-echo
 		    (purecopy "mouse-1: previous buffer, mouse-3: next buffer")
 		    'mouse-face 'mode-line-highlight
--- a/lisp/buff-menu.el	Tue Jan 17 00:56:42 2006 +0000
+++ b/lisp/buff-menu.el	Tue Jan 17 16:28:02 2006 +0000
@@ -74,10 +74,11 @@
   :type 'boolean
   :group 'Buffer-menu)
 
-(defface Buffer-menu-buffer
+(defface buffer-menu-buffer
   '((t (:weight bold)))
-  "Face used to highlight buffer name."
+  "Face used to highlight buffer names in the buffer menu."
   :group 'Buffer-menu)
+(put 'Buffer-menu-buffer 'face-alias 'buffer-menu-buffer)
 
 (defcustom Buffer-menu-buffer+size-width 26
   "*How wide to jointly make the buffer name and size columns."
--- a/lisp/cus-edit.el	Tue Jan 17 00:56:42 2006 +0000
+++ b/lisp/cus-edit.el	Tue Jan 17 16:28:02 2006 +0000
@@ -1249,7 +1249,7 @@
 
 ;;;###autoload
 (defun customize-rogue ()
-  "Customize all user variable modified outside customize."
+  "Customize all user variables modified outside customize."
   (interactive)
   (let ((found nil))
     (mapatoms (lambda (symbol)
--- a/lisp/dired-aux.el	Tue Jan 17 00:56:42 2006 +0000
+++ b/lisp/dired-aux.el	Tue Jan 17 16:28:02 2006 +0000
@@ -53,14 +53,20 @@
 \\[set-mark-command], not by Dired's \\[dired-mark] command.)
 The prompted-for file is the first file given to `diff'.
 With prefix arg, prompt for second argument SWITCHES,
- which is options for `diff'."
+which is options for `diff'."
   (interactive
-   (let ((default (if (mark t)
+   (let ((current (dired-get-filename t))
+	 (default (if (mark t)
 		      (save-excursion (goto-char (mark t))
 				      (dired-get-filename t t)))))
+     (if (or (equal default current)
+	     (and (not (equal (dired-dwim-target-directory)
+			      (dired-current-directory)))
+		  (not mark-active)))
+	 (setq default nil))
      (require 'diff)
      (list (read-file-name (format "Diff %s with%s: "
-				   (dired-get-filename t)
+				   current
 				   (if default
 				       (concat " (default " default ")")
 				     ""))
--- a/lisp/faces.el	Tue Jan 17 00:56:42 2006 +0000
+++ b/lisp/faces.el	Tue Jan 17 16:28:02 2006 +0000
@@ -1976,16 +1976,6 @@
   "Basic face for highlighting."
   :group 'basic-faces)
 
-(defface mode-line-highlight
-  '((((class color) (min-colors 88))
-     :box (:line-width 2 :color "grey40" :style released-button))
-    (t
-     :inherit highlight))
-  "Basic mode line face for highlighting."
-  :version "22.1"
-  :group 'modeline
-  :group 'basic-faces)
-
 (defface region
   '((((class color) (min-colors 88) (background dark))
      :background "blue3")
@@ -2050,6 +2040,12 @@
   :group 'basic-faces
   :version "22.1")
 
+(defgroup mode-line-faces nil
+  "Faces used in the mode line."
+  :group 'modeline
+  :group 'faces
+  :version "22.1")
+
 (defface mode-line
   '((((class color) (min-colors 88))
      :box (:line-width -1 :style released-button)
@@ -2058,7 +2054,7 @@
      :inverse-video t))
   "Basic mode line face for selected window."
   :version "21.1"
-  :group 'modeline
+  :group 'mode-line-faces
   :group 'basic-faces)
 
 (defface mode-line-inactive
@@ -2074,13 +2070,31 @@
      :foreground "grey80" :background "grey30"))
   "Basic mode line face for non-selected windows."
   :version "22.1"
-  :group 'modeline
+  :group 'mode-line-faces
+  :group 'basic-faces)
+
+(defface mode-line-highlight
+  '((((class color) (min-colors 88))
+     :box (:line-width 2 :color "grey40" :style released-button))
+    (t
+     :inherit highlight))
+  "Basic mode line face for highlighting."
+  :version "22.1"
+  :group 'mode-line-faces
+  :group 'basic-faces)
+
+(defface mode-line-buffer-id
+  '((t (:weight bold)))
+  "Face used for buffer identification parts of the mode line."
+  :version "22.1"
+  :group 'mode-line-faces
   :group 'basic-faces)
 
 ;; Make `modeline' an alias for `mode-line', for compatibility.
 (put 'modeline 'face-alias 'mode-line)
 (put 'modeline-inactive 'face-alias 'mode-line-inactive)
 (put 'modeline-highlight 'face-alias 'mode-line-highlight)
+(put 'modeline-buffer-id 'face-alias 'mode-line-buffer-id)
 
 (defface header-line
   '((default
@@ -2121,7 +2135,6 @@
   '((((type tty)) :inherit mode-line-inactive))
   "Face used for vertical window dividers on ttys."
   :version "22.1"
-  :group 'modeline
   :group 'basic-faces)
 
 (defface minibuffer-prompt
--- a/lisp/gnus/ChangeLog	Tue Jan 17 00:56:42 2006 +0000
+++ b/lisp/gnus/ChangeLog	Tue Jan 17 16:28:02 2006 +0000
@@ -1,3 +1,24 @@
+2006-01-16  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	* nnrss.el: Update copyright.
+	(nnrss-opml-import): Query whether to subscribe to each entry.
+
+	* gnus-art.el:
+	* gnus-cus.el:
+	* gnus-group.el:
+	* gnus-start.el:
+	* gnus-sum.el:
+	* mm-uu.el:
+	* mm-view.el: Update copyright.
+
+2006-01-16  Reiner Steib  <Reiner.Steib@gmx.de>
+
+	* message.el (message-info): New function.
+	(message-mode-menu): Add it.
+	Update copyright.
+
+	* ChangeLog: Fix and update copyright.
+
 2006-01-16  Katsumi Yamaoka  <yamaoka@jpl.org>
 
 	* mm-uu.el (mm-uu-text-plain-type): New variable.
@@ -53,12 +74,6 @@
 	RFC822 style.  Suggested by Mark Plaksin <happy@mcplaksin.org>.
 	(nnrss-check-group): Use it.
 
-2006-01-03  Rodrigo Ventura <yoda@isr.ist.utl.pt>  (tiny change)
-
-	* gnus-xmas.el (gnus-xmas-group-startup-message): Typo
-	gnus-splash-face -> gnus-splash.  Fixes starting from a TTY in
-	XEmacs.
-
 2006-01-01  Katsumi Yamaoka  <yamaoka@jpl.org>
 
 	* gnus-sum.el (gnus-summary-work-articles): Remove useless `min'.
@@ -3274,7 +3289,7 @@
 
 See ChangeLog.2 for earlier changes.
 
-    Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
+    Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
   Copying and distribution of this file, with or without modification,
   are permitted provided the copyright notice and this notice are preserved.
 
--- a/lisp/gnus/gnus-art.el	Tue Jan 17 00:56:42 2006 +0000
+++ b/lisp/gnus/gnus-art.el	Tue Jan 17 16:28:02 2006 +0000
@@ -1,7 +1,7 @@
 ;;; gnus-art.el --- article mode commands for Gnus
 
 ;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-;;   2005 Free Software Foundation, Inc.
+;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
--- a/lisp/gnus/gnus-cus.el	Tue Jan 17 00:56:42 2006 +0000
+++ b/lisp/gnus/gnus-cus.el	Tue Jan 17 16:28:02 2006 +0000
@@ -1,7 +1,7 @@
 ;;; gnus-cus.el --- customization commands for Gnus
 
 ;; Copyright (C) 1996, 1999, 2000, 2001, 2002, 2003, 2004,
-;;   2005 Free Software Foundation, Inc.
+;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Keywords: news
--- a/lisp/gnus/gnus-group.el	Tue Jan 17 00:56:42 2006 +0000
+++ b/lisp/gnus/gnus-group.el	Tue Jan 17 16:28:02 2006 +0000
@@ -1,7 +1,7 @@
 ;;; gnus-group.el --- group mode commands for Gnus
 
 ;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-;;   2005 Free Software Foundation, Inc.
+;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
--- a/lisp/gnus/gnus-start.el	Tue Jan 17 00:56:42 2006 +0000
+++ b/lisp/gnus/gnus-start.el	Tue Jan 17 16:28:02 2006 +0000
@@ -1,7 +1,7 @@
 ;;; gnus-start.el --- startup functions for Gnus
 
 ;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-;;   2005 Free Software Foundation, Inc.
+;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
--- a/lisp/gnus/gnus-sum.el	Tue Jan 17 00:56:42 2006 +0000
+++ b/lisp/gnus/gnus-sum.el	Tue Jan 17 16:28:02 2006 +0000
@@ -1,7 +1,7 @@
 ;;; gnus-sum.el --- summary mode commands for Gnus
 
 ;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-;;   2005 Free Software Foundation, Inc.
+;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
--- a/lisp/gnus/message.el	Tue Jan 17 00:56:42 2006 +0000
+++ b/lisp/gnus/message.el	Tue Jan 17 16:28:02 2006 +0000
@@ -1,7 +1,7 @@
 ;;; message.el --- composing mail and news messages
 
 ;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-;;   2005 Free Software Foundation, Inc.
+;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: mail, news
@@ -2185,6 +2185,15 @@
 	     (1+ max)))))
       (message-sort-headers-1))))
 
+(defun message-info (&optional arg)
+  "Display the Message manual.
+
+Prefixed with one \\[universal-argument], display the Emacs MIME manual.
+Prefixed with two \\[universal-argument]'s, display the PGG manual."
+  (interactive "p")
+  (cond ((eq arg 16) (Info-goto-node "(pgg)Top"))
+	((eq arg  4) (Info-goto-node "(emacs-mime)Top"))
+	(t           (Info-goto-node "(message)Top"))))
 
 
 
@@ -2312,7 +2321,11 @@
 	 '(:help "Ask, then arrange to send message at that time"))]
     ["Kill Message" message-kill-buffer
      ,@(if (featurep 'xemacs) '(t)
-	 '(:help "Delete this message without sending"))]))
+	 '(:help "Delete this message without sending"))]
+    "----"
+    ["Message manual" message-info
+     ,@(if (featurep 'xemacs) '(t)
+	 '(:help "Display the Message manual"))]))
 
 (easy-menu-define
   message-mode-field-menu message-mode-map ""
--- a/lisp/gnus/mm-uu.el	Tue Jan 17 00:56:42 2006 +0000
+++ b/lisp/gnus/mm-uu.el	Tue Jan 17 16:28:02 2006 +0000
@@ -1,7 +1,7 @@
 ;;; mm-uu.el --- Return uu stuff as mm handles
 
 ;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-;;   2005 Free Software Foundation, Inc.
+;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Shenghuo Zhu <zsh@cs.rochester.edu>
 ;; Keywords: postscript uudecode binhex shar forward gnatsweb pgp
--- a/lisp/gnus/mm-view.el	Tue Jan 17 00:56:42 2006 +0000
+++ b/lisp/gnus/mm-view.el	Tue Jan 17 16:28:02 2006 +0000
@@ -1,7 +1,7 @@
 ;;; mm-view.el --- functions for viewing MIME objects
 
 ;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-;;   2005 Free Software Foundation, Inc.
+;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; This file is part of GNU Emacs.
--- a/lisp/gnus/nnrss.el	Tue Jan 17 00:56:42 2006 +0000
+++ b/lisp/gnus/nnrss.el	Tue Jan 17 16:28:02 2006 +0000
@@ -1,6 +1,7 @@
 ;;; nnrss.el --- interfacing with RSS
 
-;; Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2002, 2003, 2004, 2005,
+;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Shenghuo Zhu <zsh@cs.rochester.edu>
 ;; Keywords: RSS
@@ -755,14 +756,29 @@
   "OPML subscriptions import.
 Read the file and attempt to subscribe to each Feed in the file."
   (interactive "fImport file: ")
-  (mapcar
-   (lambda (node) (gnus-group-make-rss-group
-		   (cdr (assq 'xmlUrl (cadr node)))))
+  (mapc
+   (lambda (node)
+     (let ((xmlurl (cdr (assq 'xmlUrl (cadr node)))))
+       (when (and xmlurl
+		  (not (string-match "\\`[\t ]*\\'" xmlurl))
+		  (prog1
+		      (y-or-n-p (format "Subscribe to %s " xmlurl))
+		    (message "")))
+	 (condition-case err
+	     (progn
+	       (gnus-group-make-rss-group xmlurl)
+	       (forward-line 1))
+	   (error
+	    (message
+	     "Failed to subscribe to %s (%s); type any key to continue: "
+	     xmlurl
+	     (error-message-string err))
+	    (let ((echo-keystrokes 0))
+	      (read-char)))))))
    (nnrss-find-el 'outline
-		  (progn
-		    (find-file opml-file)
-		    (xml-parse-region (point-min)
-				      (point-max))))))
+		  (mm-with-multibyte-buffer
+		    (insert-file-contents opml-file)
+		    (xml-parse-region (point-min) (point-max))))))
 
 (defun nnrss-opml-export ()
   "OPML subscription export.
--- a/lisp/info.el	Tue Jan 17 00:56:42 2006 +0000
+++ b/lisp/info.el	Tue Jan 17 16:28:02 2006 +0000
@@ -731,7 +731,8 @@
 	(pline        (count-lines (point-min) (line-beginning-position)))
 	(wline        (count-lines (point-min) (window-start)))
 	(old-history  Info-history)
-	(new-history  (list Info-current-file Info-current-node (point))))
+	(new-history  (and Info-current-file
+			   (list Info-current-file Info-current-node (point)))))
     (kill-buffer (current-buffer))
     (Info-find-node filename nodename)
     (setq Info-history old-history)
@@ -1399,15 +1400,31 @@
 	(Info-hide-cookies-node)
 	(run-hooks 'Info-selection-hook)))))
 
+(defvar Info-mode-line-node-keymap
+  (let ((map (make-sparse-keymap)))
+    (define-key map [mode-line mouse-1] 'Info-scroll-up)
+    (define-key map [mode-line mouse-3] 'Info-scroll-down)
+    map)
+  "Keymap to put on the Info node name in the mode line.")
+
 (defun Info-set-mode-line ()
   (setq mode-line-buffer-identification
 	(nconc (propertized-buffer-identification "%b")
 	       (list
-		(concat " ("
-			(if Info-current-file
-			    (file-name-nondirectory Info-current-file)
-			  " ")
-			") " (or Info-current-node ""))))))
+		(concat
+		 " ("
+		 (if (stringp Info-current-file)
+		     (file-name-nondirectory Info-current-file)
+		   "")
+		 ") "
+		 (if Info-current-node
+		     (propertize Info-current-node
+				 'face 'mode-line-buffer-id
+				 'help-echo
+				 "mouse-1: scroll forward, mouse-3: scroll back"
+				 'mouse-face 'mode-line-highlight
+				 'local-map Info-mode-line-node-keymap)
+		   ""))))))
 
 ;; Go to an Info node specified with a filename-and-nodename string
 ;; of the sort that is found in pointers in nodes.
--- a/lisp/international/code-pages.el	Tue Jan 17 00:56:42 2006 +0000
+++ b/lisp/international/code-pages.el	Tue Jan 17 16:28:02 2006 +0000
@@ -2464,6 +2464,7 @@
   nil])
 
 ;;;###autoload(autoload-coding-system 'windows-1250 '(require 'code-pages))
+;;;###autoload(autoload-coding-system 'cp1250 '(require 'code-pages))
 (cp-make-coding-system
  windows-1250
  [?\€
@@ -2596,6 +2597,7 @@
   ?\˙])
 
 ;;;###autoload(autoload-coding-system 'windows-1253 '(require 'code-pages))
+;;;###autoload(autoload-coding-system 'cp1253 '(require 'code-pages))
 (cp-make-coding-system
  windows-1253
  [?\€
@@ -2729,6 +2731,7 @@
  nil ?g) ;; Greek
 
 ;;;###autoload(autoload-coding-system 'windows-1254 '(require 'code-pages))
+;;;###autoload(autoload-coding-system 'cp1254 '(require 'code-pages))
 (cp-make-coding-system
  windows-1254
  [?\€
@@ -2862,6 +2865,7 @@
 
 ;; yi_US
 ;;;###autoload(autoload-coding-system 'windows-1255 '(require 'code-pages))
+;;;###autoload(autoload-coding-system 'cp1255 '(require 'code-pages))
 (cp-make-coding-system
  windows-1255
  [?\€
@@ -2995,6 +2999,7 @@
  nil ?h) ;; Hebrew
 
 ;;;###autoload(autoload-coding-system 'windows-1256 '(require 'code-pages))
+;;;###autoload(autoload-coding-system 'cp1256 '(require 'code-pages))
 (cp-make-coding-system
  windows-1256
  [?\€
@@ -3128,6 +3133,7 @@
  nil ?a) ;; Arabic
 
 ;;;###autoload(autoload-coding-system 'windows-1257 '(require 'code-pages))
+;;;###autoload(autoload-coding-system 'cp1257 '(require 'code-pages))
 (cp-make-coding-system
  windows-1257
  [?\€
@@ -3260,6 +3266,7 @@
   nil])
 
 ;;;###autoload(autoload-coding-system 'windows-1258 '(require 'code-pages))
+;;;###autoload(autoload-coding-system 'cp1258 '(require 'code-pages))
 (cp-make-coding-system
  windows-1258
  [?\€
--- a/lisp/international/mule.el	Tue Jan 17 00:56:42 2006 +0000
+++ b/lisp/international/mule.el	Tue Jan 17 16:28:02 2006 +0000
@@ -1144,7 +1144,11 @@
 FROM is a form to evaluate to define the coding-system."
   (put symbol 'coding-system-define-form form)
   (setq coding-system-alist (cons (list (symbol-name symbol))
-				  coding-system-alist)))
+				  coding-system-alist))
+  (dolist (elt '("-unix" "-dos" "-mac"))
+    (let ((name (concat (symbol-name symbol) elt)))
+      (put (intern name) 'coding-system-define-form form)
+      (setq coding-system-alist (cons (list name) coding-system-alist)))))
 
 (defun set-buffer-file-coding-system (coding-system &optional force nomodify)
   "Set the file coding-system of the current buffer to CODING-SYSTEM.
@@ -1596,6 +1600,23 @@
   :type '(repeat (cons (regexp :tag "Regexp")
 		       (symbol :tag "Coding system"))))
 
+(defun auto-coding-regexp-alist-lookup (from to)
+  "Lookup `auto-coding-regexp-alist' for the contents of the current buffer.
+The value is a coding system is specified for the region FROM and TO,
+or nil."
+  (save-excursion
+    (goto-char from)
+    (let ((alist auto-coding-regexp-alist)
+	  coding-system)
+      (while (and alist (not coding-system))
+	(let ((regexp (car (car alist))))
+	  (if enable-multibyte-characters
+	      (setq regexp (string-to-multibyte regexp)))
+	  (if (re-search-forward regexp to t)
+	      (setq coding-system (cdr (car alist)))
+	    (setq alist (cdr alist)))))
+      coding-system)))
+
 ;; See the bottom of this file for built-in auto coding functions.
 (defcustom auto-coding-functions '(sgml-xml-auto-coding-function
 				   sgml-html-meta-auto-coding-function)
@@ -1655,24 +1676,15 @@
 of CODING is not checked; it's callers responsibility to check
 it.
 
-If nothing is specified, the return value is nil.
-
-The variable `set-auto-coding-function' (which see) is set to this
-function by default."
+If nothing is specified, the return value is nil."
   (or (let ((coding-system (auto-coding-alist-lookup filename)))
 	(if coding-system
 	    (cons coding-system 'auto-coding-alist)))
       ;; Try using `auto-coding-regexp-alist'.
-      (save-excursion
-	(let ((alist auto-coding-regexp-alist)
-	      coding-system)
-	  (while (and alist (not coding-system))
-	    (let ((regexp (car (car alist))))
-	      (when (re-search-forward regexp (+ (point) size) t)
-		(setq coding-system (cdr (car alist)))))
-	    (setq alist (cdr alist)))
-	  (if coding-system
-	      (cons coding-system 'auto-coding-regexp-alist))))
+      (let ((coding-system (auto-coding-regexp-alist-lookup (point)
+							    (+ (point) size))))
+	(if coding-system
+	    (cons coding-system 'auto-coding-regexp-alist)))
       (let* ((case-fold-search t)
 	     (head-start (point))
 	     (head-end (+ head-start (min size 1024)))
@@ -1765,7 +1777,10 @@
 (defun set-auto-coding (filename size)
   "Return coding system for a file FILENAME of which SIZE bytes follow point.
 See `find-auto-coding' for how the coding system is found.
-Return nil if an invalid coding system is found."
+Return nil if an invalid coding system is found.
+
+The variable `set-auto-coding-function' (which see) is set to this
+function by default."
   (let ((found (find-auto-coding filename size)))
     (if (and found (coding-system-p (car found)))
 	(car found))))
--- a/lisp/log-view.el	Tue Jan 17 00:56:42 2006 +0000
+++ b/lisp/log-view.el	Tue Jan 17 16:28:02 2006 +0000
@@ -225,14 +225,18 @@
 
 (defun log-view-minor-wrap (buf f)
   (let ((data (with-current-buffer buf
-		(cons
-		 (cons (log-view-current-file)
-		       (log-view-current-tag))
-		 (when mark-active
-		   (save-excursion
-		     (goto-char (mark))
-		     (cons (log-view-current-file)
-			   (log-view-current-tag))))))))
+		(let* ((beg (if mark-active (region-beginning) (point)))
+		       (end (if mark-active (region-end) (point)))
+		       (fr (log-view-current-tag beg))
+		       (to (log-view-current-tag end)))
+		  (when (string-equal fr to)
+		    (save-excursion
+		      (goto-char end)
+		      (log-view-msg-next)
+		      (setq to (log-view-current-tag))))
+		  (cons
+		   (cons (log-view-current-file) to)
+		   (cons (log-view-current-file) fr))))))
     (let ((cvs-branch-prefix (cdar data))
 	  (cvs-secondary-branch-prefix (and (cdar data) (cddr data)))
 	  (cvs-minor-current-files
--- a/lisp/man.el	Tue Jan 17 00:56:42 2006 +0000
+++ b/lisp/man.el	Tue Jan 17 16:28:02 2006 +0000
@@ -274,7 +274,7 @@
 	    "(\\(" Man-section-regexp "\\))\\).*\\1"))
   "Regular expression describing the heading of a page.")
 
-(defvar Man-heading-regexp "^\\([A-Z][A-Z -]+\\)$"
+(defvar Man-heading-regexp "^\\([A-Z][A-Z /-]+\\)$"
   "Regular expression describing a manpage heading entry.")
 
 (defvar Man-see-also-regexp "SEE ALSO"
--- a/lisp/mh-e/ChangeLog	Tue Jan 17 00:56:42 2006 +0000
+++ b/lisp/mh-e/ChangeLog	Tue Jan 17 16:28:02 2006 +0000
@@ -1,3 +1,37 @@
+2006-01-16  Bill Wohler  <wohler@newt.com>
+
+	* mh-acros.el (require): Remove defadvice of require as defadvice
+	is verboten within Emacs and our implementation was returning the
+	wrong value from require. Upcoming restructuring should make this
+	unnecessary.
+	(mh-assoc-ignore-case): Replace with defsubst assoc-string.
+
+	* mh-alias.el (mh-alias-local-users, mh-alias-reload,
+	mh-alias-expand, mh-alias-minibuffer-confirm-address): Use it.
+
+	* mh-identity.el (mh-identity-field-handler): Use it.
+
+	* mh-comp.el (mh-show-buffer-message-number): Replace (car
+	(read-from-string string) with (string-to-number string).
+
+	* mh-e.el (mh-parse-flist-output-line, mh-folder-size-folder):
+	Ditto.
+
+	* mh-mime.el (mh-mml-forward-message): Ditto.
+
+	* mh-search.el (mh-swish-next-result, mh-mairix-next-result)
+	(mh-namazu-next-result, mh-grep-next-result, mh-md5sum-parser)
+	(mh-openssl-parser, mh-index-update-maps): Ditto.
+
+	* mh-seq.el (mh-translate-range, mh-narrow-to-header-field)
+	(mh-thread-generate): Ditto.
+
+2006-01-16  Katsumi Yamaoka <yamaoka@jpl.org>
+
+	* mh-mime.el (mh-mime-display, mh-mm-inline-message): Fix use of
+	mm- functions for proper text=flowed handling (addresses SF
+	#1273521).
+
 2006-01-15  Bill Wohler  <wohler@newt.com>
 
 	* mh-e.el (mh-limit-map, mh-help-messages): Change keybinding of
--- a/lisp/mh-e/mh-acros.el	Tue Jan 17 00:56:42 2006 +0000
+++ b/lisp/mh-e/mh-acros.el	Tue Jan 17 16:28:02 2006 +0000
@@ -26,14 +26,14 @@
 
 ;;; Commentary:
 
-;; This file contains macros that would normally be in mh-utils.el except that
-;; their presence there would cause a dependency loop with mh-customize.el.
+;; This file contains most, if not all, macros. It is so named with a
+;; silent "m" so that it is compiled first. Otherwise, "make
+;; recompile" in CVS Emacs may use compiled files with stale macro
+;; definitions.
+
 ;; This file must always be included like this:
 ;;
 ;;   (eval-when-compile (require 'mh-acros))
-;;
-;; It is so named with a silent "m" so that it is compiled first. Otherwise,
-;; "make recompile" in Emacs 21.4 fails.
 
 ;;; Change Log:
 
@@ -150,23 +150,15 @@
                           (list 'nth ,x z)))
        (quote ,struct-name))))
 
-;; A better solution would be to use Stefan's change in bytecomp.el.
-;; If it were checked in, we can drop the advice to require and it
-;; will make things nicer elsewhere too.
-(defadvice require (around mh-prefer-el activate)
-  "Modify `require' to load uncompiled MH-E files."
-  (or (featurep (ad-get-arg 0))
-      (and (string-match "^mh-" (symbol-name (ad-get-arg 0)))
-           (load (format "%s.el" (ad-get-arg 0)) t t))
-      ad-do-it))
-
-(defmacro mh-assoc-ignore-case (key alist)
-  "Check if KEY is present in ALIST while ignoring case to do the comparison.
-Compatibility macro for Emacs versions that lack `assoc-string',
-introduced in Emacs 22."
-  (if (fboundp 'assoc-string)
-      `(assoc-string ,key ,alist t)
-    `(assoc-ignore-case ,key ,alist)))
+(unless (fboundp 'assoc-string)
+  (defsubst assoc-string (key list case-fold)
+    "Like `assoc' but specifically for strings.
+Case is ignored if CASE-FOLD is non-nil.
+This function added by MH-E for Emacs versions that lack
+`assoc-string', introduced in Emacs 22."
+    (if case-fold
+        (assoc-ignore-case key alist)
+      (assoc key alist))))
 
 (provide 'mh-acros)
 
--- a/lisp/mh-e/mh-alias.el	Tue Jan 17 00:56:42 2006 +0000
+++ b/lisp/mh-e/mh-alias.el	Tue Jan 17 16:28:02 2006 +0000
@@ -179,7 +179,7 @@
                     (if (string-equal username realname)
                         (concat "<" username ">")
                       (concat realname " <" username ">"))))
-              (when (not (mh-assoc-ignore-case alias-name mh-alias-alist))
+              (when (not (assoc-string alias-name mh-alias-alist t))
                 (setq passwd-alist (cons (list alias-name alias-translation)
                                          passwd-alist)))))))
         (forward-line 1)))
@@ -209,12 +209,12 @@
       (cond
        ((looking-at "^[ \t]"))          ;Continuation line
        ((looking-at "\\(.+\\): .+: .*$") ; A new -blind- MH alias
-        (when (not (mh-assoc-ignore-case (match-string 1) mh-alias-blind-alist))
+        (when (not (assoc-string (match-string 1) mh-alias-blind-alist t))
           (setq mh-alias-blind-alist
                 (cons (list (match-string 1)) mh-alias-blind-alist))
           (setq mh-alias-alist (cons (list (match-string 1)) mh-alias-alist))))
        ((looking-at "\\(.+\\): .*$")    ; A new MH alias
-        (when (not (mh-assoc-ignore-case (match-string 1) mh-alias-alist))
+        (when (not (assoc-string (match-string 1) mh-alias-alist t))
           (setq mh-alias-alist
                 (cons (list (match-string 1)) mh-alias-alist)))))
       (forward-line 1)))
@@ -225,7 +225,7 @@
           user)
       (while local-users
         (setq user (car local-users))
-        (if (not (mh-assoc-ignore-case (car user) mh-alias-alist))
+        (if (not (assoc-string (car user) mh-alias-alist t))
             (setq mh-alias-alist (append mh-alias-alist (list user))))
         (setq local-users (cdr local-users)))))
   (run-hooks 'mh-alias-reloaded-hook)
@@ -262,10 +262,10 @@
   "Return expansion for ALIAS.
 Blind aliases or users from /etc/passwd are not expanded."
   (cond
-   ((mh-assoc-ignore-case alias mh-alias-blind-alist)
+   ((assoc-string alias mh-alias-blind-alist t)
     alias)                              ; Don't expand a blind alias
-   ((mh-assoc-ignore-case alias mh-alias-passwd-alist)
-    (cadr (mh-assoc-ignore-case alias mh-alias-passwd-alist)))
+   ((assoc-string alias mh-alias-passwd-alist t)
+    (cadr (assoc-string alias mh-alias-passwd-alist t)))
    (t
     (mh-alias-ali alias))))
 
@@ -300,7 +300,7 @@
       (let* ((case-fold-search t)
              (beg (mh-beginning-of-word))
              (the-name (buffer-substring-no-properties beg (point))))
-        (if (mh-assoc-ignore-case the-name mh-alias-alist)
+        (if (assoc-string the-name mh-alias-alist t)
             (message "%s -> %s" the-name (mh-alias-expand the-name))
           ;; Check if if was a single word likely to be an alias
           (if (and (equal mh-alias-flash-on-comma 1)
--- a/lisp/mh-e/mh-comp.el	Tue Jan 17 00:56:42 2006 +0000
+++ b/lisp/mh-e/mh-comp.el	Tue Jan 17 16:28:02 2006 +0000
@@ -522,8 +522,8 @@
         (set-buffer buffer))
     (cond ((eq major-mode 'mh-show-mode)
            (let ((number-start (mh-search-from-end ?/ buffer-file-name)))
-             (car (read-from-string (substring buffer-file-name
-                                               (1+ number-start))))))
+             (string-to-number (substring buffer-file-name
+                                          (1+ number-start)))))
           ((and (eq major-mode 'mh-folder-mode)
                 mh-show-buffer
                 (get-buffer mh-show-buffer))
--- a/lisp/mh-e/mh-e.el	Tue Jan 17 00:56:42 2006 +0000
+++ b/lisp/mh-e/mh-e.el	Tue Jan 17 16:28:02 2006 +0000
@@ -1372,13 +1372,13 @@
     (goto-char (point-max))
     (let (folder unseen total p)
       (when (search-backward " out of " (point-min) t)
-        (setq total (read-from-string
+        (setq total (string-to-number
                      (buffer-substring-no-properties
                       (match-end 0) (line-end-position))))
         (when (search-backward " in sequence " (point-min) t)
           (setq p (point))
           (when (search-backward " has " (point-min) t)
-            (setq unseen (read-from-string (buffer-substring-no-properties
+            (setq unseen (string-to-number (buffer-substring-no-properties
                                             (match-end 0) p)))
             (while (eq (char-after) ? )
               (backward-char))
@@ -1387,7 +1387,7 @@
             (when (and (equal (aref folder (1- (length folder))) ?+)
                        (equal current-folder folder))
               (setq folder (substring folder 0 (1- (length folder)))))
-            (values (format "+%s" folder) (car unseen) (car total))))))))
+            (values (format "+%s" folder) unseen total)))))))
 
 (defun mh-folder-size-folder (folder)
   "Find size of FOLDER using \"folder\"."
@@ -1398,7 +1398,7 @@
                     "-norecurse" folder)
       (goto-char (point-min))
       (if (re-search-forward " has \\([0-9]+\\) " nil t)
-          (values (car (read-from-string (match-string 1))) u folder)
+          (values (string-to-number (match-string 1)) u folder)
         (values 0 u folder)))))
 
 (defun mh-folder-size-flist (folder)
--- a/lisp/mh-e/mh-identity.el	Tue Jan 17 00:56:42 2006 +0000
+++ b/lisp/mh-e/mh-identity.el	Tue Jan 17 16:28:02 2006 +0000
@@ -127,7 +127,7 @@
 character \":\", then it must have a special handler defined in
 `mh-identity-handlers', else return an error since it is not a
 valid header field."
-  (or (cdr (mh-assoc-ignore-case field mh-identity-handlers))
+  (or (cdr (assoc-string field mh-identity-handlers t))
       (and (eq (aref field 0) ?:)
            (error "Field %s not found in `mh-identity-handlers'" field))
       (cdr (assoc ":default" mh-identity-handlers))
--- a/lisp/mh-e/mh-mime.el	Tue Jan 17 00:56:42 2006 +0000
+++ b/lisp/mh-e/mh-mime.el	Tue Jan 17 16:28:02 2006 +0000
@@ -543,7 +543,7 @@
 MESSAGE number."
   (let ((msg (if (and (equal message "") (numberp mh-sent-from-msg))
                  mh-sent-from-msg
-               (car (read-from-string message)))))
+               (string-to-number message))))
     (cond ((integerp msg)
            (if (string= "" description)
                ;; Rationale: mml-attach-file constructs a malformed composition
@@ -921,7 +921,10 @@
             ;; If needed dissect the current buffer
             (if pre-dissected-handles
                 (setq handles pre-dissected-handles)
-              (setq handles (or (mm-dissect-buffer nil) (mm-uu-dissect)))
+              (if (setq handles (mm-dissect-buffer nil))
+                  (when (fboundp 'mm-uu-dissect-text-parts)
+                    (mm-uu-dissect-text-parts handles))
+                (setq handles (mm-uu-dissect)))
               (setf (mh-mime-handles (mh-buffer-data))
                     (mm-merge-handles handles
                                       (mh-mime-handles (mh-buffer-data))))
@@ -1477,8 +1480,11 @@
         (mh-mime-display
          (or (gethash handle (mh-mime-handles-cache (mh-buffer-data)))
              (setf (gethash handle (mh-mime-handles-cache (mh-buffer-data)))
-                   (let ((handles (or (mm-dissect-buffer nil)
-                                      (mm-uu-dissect))))
+                   (let ((handles (mm-dissect-buffer nil)))
+                     (if handles
+                         (when (fboundp 'mm-uu-dissect-text-parts)
+                           (mm-uu-dissect-text-parts handles))
+                       (setq handles (mm-uu-dissect)))
                      (setf (mh-mime-handles (mh-buffer-data))
                            (mm-merge-handles
                             handles (mh-mime-handles (mh-buffer-data))))
--- a/lisp/mh-e/mh-search.el	Tue Jan 17 00:56:42 2006 +0000
+++ b/lisp/mh-e/mh-search.el	Tue Jan 17 16:28:02 2006 +0000
@@ -1105,10 +1105,8 @@
                               (substring s (match-end 0) (1- (length s))))
                     (return 'error)))
                 (let* ((s (buffer-substring-no-properties (1+ (point)) end))
-                       (val (ignore-errors (read-from-string s))))
-                  (if (and (consp val) (numberp (car val)))
-                      (car val)
-                    (return 'error)))
+                       (n (ignore-errors (string-to-number s))))
+                  (if n n (return 'error)))
                 nil)))
     (forward-line)))
 
@@ -1184,8 +1182,8 @@
             (return 'error))
           (list (format "+%s" (buffer-substring-no-properties
                                (point) (1- msg-start)))
-                (car (read-from-string
-                      (buffer-substring-no-properties msg-start end)))
+                (string-to-number
+                 (buffer-substring-no-properties msg-start end))
                 nil)))
     (forward-line)))
 
@@ -1313,11 +1311,9 @@
                  (mark (mh-search-from-end ?/ folder/msg)))
             (unless mark (return 'error))
             (list (format "+%s" (substring folder/msg 0 mark))
-                  (let ((n (ignore-errors (read-from-string
+                  (let ((n (ignore-errors (string-to-number
                                            (substring folder/msg (1+ mark))))))
-                    (if (and (consp n) (numberp (car n)))
-                        (car n)
-                      (return 'error)))
+                    (if n n (return 'error)))
                   nil))))
     (forward-line)))
 
@@ -1458,12 +1454,10 @@
               (return 'error))
             (list (format "+%s" (buffer-substring-no-properties
                                  folder-start (point)))
-                  (let ((val (ignore-errors (read-from-string
-                                             (buffer-substring-no-properties
-                                              (1+ (point)) msg-end)))))
-                    (if (and (consp val) (integerp (car val)))
-                        (car val)
-                      (return 'error)))
+                  (let ((n (ignore-errors (string-to-number
+                                           (buffer-substring-no-properties
+                                            (1+ (point)) msg-end)))))
+                    (if n n (return 'error)))
                   match))))
     (forward-line)))
 
@@ -1804,8 +1798,8 @@
     (goto-char end)
     (setq last-slash (search-backward "/" begin t))
     (cond ((and first-space last-slash)
-           (cons (car (read-from-string (buffer-substring-no-properties
-                                         (1+ last-slash) end)))
+           (cons (string-to-number (buffer-substring-no-properties
+                                    (1+ last-slash) end))
                  (buffer-substring-no-properties begin (1- first-space))))
           (t (cons nil nil)))))
 
@@ -1818,8 +1812,8 @@
     (setq last-space (search-backward " " begin t))
     (setq last-slash (search-backward "/" begin t))
     (cond ((and last-slash last-space)
-           (cons (car (read-from-string (buffer-substring-no-properties
-                                         (1+ last-slash) (1- last-space))))
+           (cons (string-to-number (buffer-substring-no-properties
+                                    (1+ last-slash) (1- last-space)))
                  (buffer-substring-no-properties (1+ last-space) end))))))
 
 (defalias 'mh-md5-parser 'mh-openssl-parser)
@@ -1858,7 +1852,7 @@
                    ;; update maps
                    (setq checksum (buffer-substring-no-properties
                                    (point) (line-end-position)))
-                   (let ((msg (car (read-from-string msg))))
+                   (let ((msg (string-to-number msg)))
                      (set-buffer folder)
                      (mh-index-update-single-msg msg checksum origin-map)))))
           (forward-line))))
--- a/lisp/mh-e/mh-seq.el	Tue Jan 17 00:56:42 2006 +0000
+++ b/lisp/mh-e/mh-seq.el	Tue Jan 17 16:28:02 2006 +0000
@@ -560,7 +560,7 @@
         (set-buffer mh-temp-buffer)
         (goto-char (point-min))
         (while (re-search-forward "/\\([0-9]*\\)$" nil t)
-          (push (car (read-from-string (match-string 1))) result))
+          (push (string-to-number (match-string 1)) result))
         (nreverse result)))))
 
 (defun mh-seq-names (seq-list)
@@ -928,9 +928,10 @@
              (append original (list "-list") pick-expr))
       (goto-char (point-min))
       (while (not (eobp))
-        (let ((num (read-from-string
-                    (buffer-substring (point) (line-end-position)))))
-          (when (numberp (car num)) (push (car num) msg-list))
+        (let ((num (ignore-errors
+                     (string-to-number
+                      (buffer-substring (point) (line-end-position))))))
+          (when num (push num msg-list))
           (forward-line))))
     (if (null msg-list)
         (message "No matches")
@@ -1350,7 +1351,7 @@
             (let* ((index-line
                     (prog1 (buffer-substring (point) (line-end-position))
                       (forward-line)))
-                   (index (car (read-from-string index-line)))
+                   (index (string-to-number index-line))
                    (id (prog1 (buffer-substring (point) (line-end-position))
                          (forward-line)))
                    (refs (prog1 (buffer-substring (point) (line-end-position))
--- a/lisp/textmodes/sgml-mode.el	Tue Jan 17 00:56:42 2006 +0000
+++ b/lisp/textmodes/sgml-mode.el	Tue Jan 17 16:28:02 2006 +0000
@@ -1,4 +1,4 @@
-;;; sgml-mode.el --- SGML- and HTML-editing modes
+;;; sgml-mode.el --- SGML- and HTML-editing modes -*- coding: iso-2022-7bit -*-
 
 ;; Copyright (C) 1992, 1995, 1996, 1998, 2001, 2002, 2003, 2004,
 ;;   2005 Free Software Foundation, Inc.
@@ -1828,12 +1828,9 @@
   (make-local-variable 'outline-regexp)
   (make-local-variable 'outline-heading-end-regexp)
   (make-local-variable 'outline-level)
-  (make-local-variable 'sentence-end)
-  (setq sentence-end
-	(if sentence-end-double-space
-	    "[.?!][]\"')}]*\\(<[^>]*>\\)*\\($\\| $\\|\t\\|  \\)[ \t\n]*"
-	  "[.?!][]\"')}]*\\(<[^>]*>\\)*\\($\\|[ \t]\\)[ \t\n]*"))
-  (setq sgml-tag-alist html-tag-alist
+  (make-local-variable 'sentence-end-base)
+  (setq sentence-end-base "[.?!][]\"'$B!I$,1r}(B)}]*\\(<[^>]*>\\)*"
+	sgml-tag-alist html-tag-alist
 	sgml-face-tag-alist html-face-tag-alist
 	sgml-tag-help html-tag-help
 	outline-regexp "^.*<[Hh][1-6]\\>"
--- a/lisp/time.el	Tue Jan 17 00:56:42 2006 +0000
+++ b/lisp/time.el	Tue Jan 17 16:28:02 2006 +0000
@@ -129,7 +129,7 @@
 If `display-time-use-mail-icon' is non-nil, the image's
 background color is the background of this face.  Set this to
 make the mail indicator stand out on a color display."
-  :group 'faces
+  :group 'mode-line-faces
   :group 'display-time
   :version "22.1"
   :type '(choice (const :tag "None" nil) face))
--- a/man/ChangeLog	Tue Jan 17 00:56:42 2006 +0000
+++ b/man/ChangeLog	Tue Jan 17 16:28:02 2006 +0000
@@ -1,3 +1,12 @@
+2006-01-16  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	* gnus.texi: Update copyright.
+
+2006-01-16  Juri Linkov  <juri@jurta.org>
+
+	* display.texi (Standard Faces): Add `mode-line-buffer-id'.
+	Move `mode-line-highlight' before `mode-line-buffer-id'.
+
 2006-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
 
 	* gnus.texi (Article Washing): Additions.
--- a/man/display.texi	Tue Jan 17 00:56:42 2006 +0000
+++ b/man/display.texi	Tue Jan 17 16:28:02 2006 +0000
@@ -142,8 +142,6 @@
 @item highlight
 This face is used for highlighting portions of text, in various modes.
 For example, mouse-sensitive text is highlighted using this face.
-@item mode-line-highlight
-Like @code{highlight}, but used for portions of text on mode lines.
 @item isearch
 This face is used for highlighting Isearch matches.
 @item lazy-highlight
@@ -193,6 +191,10 @@
 than the selected one (if @code{mode-line-in-non-selected-windows} is
 non-@code{nil}).  This face inherits from @code{mode-line}, so changes
 in that face affect mode lines in all windows.
+@item mode-line-highlight
+Like @code{highlight}, but used for portions of text on mode lines.
+@item mode-line-buffer-id
+This face is used for buffer identification parts in the mode line.
 @item header-line
 Similar to @code{mode-line} for a window's header line.  Most modes
 don't use the header line, but some special modes, such the Info mode, do.
--- a/man/gnus.texi	Tue Jan 17 00:56:42 2006 +0000
+++ b/man/gnus.texi	Tue Jan 17 16:28:02 2006 +0000
@@ -8,7 +8,7 @@
 
 @copying
 Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-   2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+   2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document