changeset 90234:b1c1fc853d2f

Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-86 Merge from emacs--cvs-trunk--0 Patches applied: * emacs--cvs-trunk--0 (patch 562-568) - Update from CVS - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 125-128) - Merge from emacs--cvs-trunk--0 - Update from CVS
author Miles Bader <miles@gnu.org>
date Fri, 30 Sep 2005 11:43:45 +0000
parents ee12d75eb214 (current diff) d60c08a57a67 (diff)
children 4b0820d67bba
files admin/FOR-RELEASE etc/ChangeLog etc/NEWS etc/calccard.tex etc/etags.1 lib-src/ChangeLog lib-src/etags.c lisp/ChangeLog lisp/buff-menu.el lisp/calc/calc-lang.el lisp/comint.el lisp/cus-edit.el lisp/emulation/cua-base.el lisp/faces.el lisp/gnus/ChangeLog lisp/gnus/gnus-art.el lisp/gnus/message.el lisp/gnus/mm-decode.el lisp/gnus/mm-uu.el lisp/gnus/mm-view.el lisp/gnus/nntp.el lisp/isearch.el lisp/progmodes/cc-cmds.el lisp/progmodes/compile.el lisp/progmodes/vhdl-mode.el lisp/recentf.el lisp/simple.el lisp/textmodes/org.el lisp/textmodes/tex-mode.el lisp/tooltip.el lispref/ChangeLog lispref/display.texi lispref/errors.texi lwlib/ChangeLog lwlib/xlwmenu.c man/ChangeLog man/gnus.texi man/message.texi man/search.texi src/ChangeLog src/editfns.c src/fns.c src/image.c src/keyboard.c src/macgui.h src/marker.c src/process.c src/systime.h src/xdisp.c src/xterm.c src/xterm.h
diffstat 54 files changed, 880 insertions(+), 521 deletions(-) [+]
line wrap: on
line diff
--- a/admin/FOR-RELEASE	Sun Sep 25 22:07:01 2005 +0000
+++ b/admin/FOR-RELEASE	Fri Sep 30 11:43:45 2005 +0000
@@ -29,6 +29,25 @@
 
 ** Update Speedbar.
 
+** Rework how the fringe "angle" bitmap at at bottom of buffer is
+shown to include an indication of whether the last line has a NL or not.
+[Assigned to KFS]
+
+** Rework how fringe bitmaps are defined and used.
+Currently, bitmap usage and bitmap appearence are "mixed-up" in a
+one-level representation.  It would be cleaner to split the
+representation into a two-level model where first level maps
+bitmap usage to a bitmap name, and second level maps bitmap name to
+a bitmap appearence.
+[Assigned to KFS]
+
+** Put a max-limit on the size of images, e.g. based on the display size.
+This is to avoid allocating insane amounts of memory due to bogus
+image size specifications.
+Note: rather than clipping images that are too big (this may be
+non-trivial to do correctly in all cases -- and thus non-trivial to
+test), it may be better just to avoid displaying such images for emacs 22.
+
 * FATAL ERRORS
 
 ** Investigate reported crashes in compact_small_strings.
@@ -46,16 +65,17 @@
 back burner waiting for a legal comment or an alternate implementation
 (around 30 lines of code).
 
-** goeran@uddeborg.se's Sep 13 crash report
-about trying to display the invalid gif file poison.gif.
+* BUGS
 
-* BUGS
+** Make a new interface for specifying window configurations
+so that we can fix bugs in balance-windows.
 
 ** TCP server processes do not work on Windows.
 
 TCP/IP server processes created with `make-network-process' consume
 excesive CPU on some Windows environments.  Usages of 50% and 100%
 CPU time have been observed on different Window XP configurations.
+Seems to be a problem in sys_select in w32proc.c.
 
 * DOCUMENTATION
 
@@ -176,7 +196,7 @@
 lispref/display.texi     Chong Yidong
 lispref/edebug.texi      Chong Yidong      "Luc Teirlinck"
 lispref/elisp.texi       "Luc Teirlinck"   Lute Kamstra
-lispref/errors.texi      "Luc Teirlinck"
+lispref/errors.texi      "Luc Teirlinck"   Chong Yidong
 lispref/eval.texi        "Luc Teirlinck"   Chong Yidong
 lispref/files.texi       "Luc Teirlinck"   Chong Yidong
 lispref/frames.texi      "Luc Teirlinck"   Chong Yidong
@@ -191,7 +211,7 @@
 lispref/loading.texi     "Luc Teirlinck"   Chong Yidong
 lispref/locals.texi      Chong Yidong
 lispref/macros.texi      "Luc Teirlinck"   Chong Yidong
-lispref/maps.texi
+lispref/maps.texi        Chong Yidong
 lispref/markers.texi     "Luc Teirlinck"   Chong Yidong
 lispref/minibuf.texi     "Luc Teirlinck"   Chong Yidong
 lispref/modes.texi	 Chong Yidong
--- a/etc/ChangeLog	Sun Sep 25 22:07:01 2005 +0000
+++ b/etc/ChangeLog	Fri Sep 30 11:43:45 2005 +0000
@@ -1,3 +1,19 @@
+2005-09-30  David Ponce  <david@dponce.com>
+
+	* NEWS: Update recentf changes.
+
+2005-09-28  Simon Josefsson  <jas@extundo.com>
+
+	* GNUS-NEWS: Fix IDNA notes.
+
+2005-09-27  Jay Belanger <belanger@truman.edu>
+
+	* calccard.tex: Update `versionnumber', remove `versiondate'.
+	(Error Recovery): Refer to "initial state" rather than "default
+	state".
+	(Algebra): Mention LaTeX language mode.
+	(Programming): Delete reference to "Z =".
+
 2005-09-24  Steven Huwig  <steven_h@acm.org>  (tiny change)
 
 	* emacs.py (ehelp): Add g and l to arg list, and use them in the
--- a/etc/GNUS-NEWS	Sun Sep 25 22:07:01 2005 +0000
+++ b/etc/GNUS-NEWS	Fri Sep 30 11:43:45 2005 +0000
@@ -142,10 +142,10 @@
 ** Support for non-ASCII domain names
 
 Message supports non-ASCII domain names in From:, To: and Cc: and will
-query you whether to perform encoding when you try to send a message.
-The variable `message-use-idna' controls this.  Gnus will also decode
-non-ASCII domain names in From:, To: and Cc: when you view a message.
-The variable `gnus-use-idna' controls this.
+encode them when you try to send a message.  The variable
+`message-use-idna' controls this.  Gnus will also decode non-ASCII
+domain names in From:, To: and Cc: when you view a message.  The
+variable `gnus-use-idna' controls this.
 
 ** Better handling of Microsoft citation styles
 
--- a/etc/NEWS	Sun Sep 25 22:07:01 2005 +0000
+++ b/etc/NEWS	Fri Sep 30 11:43:45 2005 +0000
@@ -2631,14 +2631,19 @@
 enabled.  The new option `recentf-auto-cleanup' controls when to do
 automatic cleanup.
 
+The ten most recent files can be quickly opened by using the shortcut
+keys 1 to 9, and 0, when the recent list is displayed in a buffer via
+the `recentf-open-files', or `recentf-open-more-files' commands.
+
 The `recentf-keep' option replaces `recentf-keep-non-readable-files-p'
 and provides a more general mechanism to customize which file names to
 keep in the recent list.
 
-With the more advanced option: `recentf-filename-handler', you can
-specify a function that transforms filenames handled by recentf.  For
-example, if set to `file-truename', the same file will not be in the
-recent list with different symbolic links.
+With the more advanced option `recentf-filename-handlers', you can
+specify functions that successively transform recent file names.  For
+example, if set to `file-truename' plus `abbreviate-file-name', the
+same file will not be in the recent list with different symbolic
+links, and the file name will be abbreviated.
 
 To follow naming convention, `recentf-menu-append-commands-flag'
 replaces the misnamed option `recentf-menu-append-commands-p'.  The
--- a/etc/calccard.tex	Sun Sep 25 22:07:01 2005 +0000
+++ b/etc/calccard.tex	Fri Sep 30 11:43:45 2005 +0000
@@ -59,8 +59,7 @@
 %  UUCP: mit-erl!gildea
 %  Internet: gildea@stop.mail-abuse.org
 
-\def\versionnumber{2.03}
-\def\versiondate{November 2001}
+\def\versionnumber{2.1}
 \def\year{2005}
 \def\version{v\versionnumber}
 
@@ -72,7 +71,7 @@
 \vskip 1ex plus 2 fill\begingroup\small
 \centerline{Copyright \copyright\ \year\ Free Software Foundation, Inc.}
 \centerline{designed by Dave Gillespie and Stephen Gildea, \version}
-\centerline{for GNU Emacs Calc version \versionnumber\ (\versiondate)}
+\centerline{for GNU Emacs Calc version \versionnumber}
 
 Permission is granted to make and distribute copies of
 this card provided the copyright notice and this permission notice
@@ -274,7 +273,7 @@
 
 \title{GNU Calc Reference Card}
 
-\centerline{(for version \versionnumber\ of \versiondate)}
+\centerline{(for version \versionnumber)}
 
 \section{Starting and Stopping}
 
@@ -307,7 +306,7 @@
 \key{redo last operation}{D}
 \key{recall last arguments}{M-RET}
 \key{edit top of stack}{`}
-\wkey{reset Calc to default state}{\mhash 0 {\rm (zero)}}
+\wkey{reset Calc to initial state}{\mhash 0 {\rm (zero)}}
 
 \section{Transferring Data}
 
@@ -558,7 +557,7 @@
 
 \key{``Big'' display mode}{d B}
 \key{C, Pascal, FORTRAN modes}{d C\, d P\, d F}
-\key{\TeX, eqn modes}{d T\, d E}
+\key{\TeX, La\TeX, eqn modes}{d T\, d L\, d E}
 \key{Unformatted mode}{d U}
 \key{Normal language mode}{d N}
 
@@ -652,7 +651,6 @@
 \key{repeat {\it n} times, break from loop}{Z <\, Z >\, Z /}
 \key{``for'' loop: start, end; body, step}{Z (\, Z )}
 \key{save, restore mode settings}{Z `\, Z '}
-\key{display message during macro}{Z =}
 \key{query user during macro}{Z \#}
 \key{put finished macro on a key}{Z K}
 
--- a/etc/etags.1	Sun Sep 25 22:07:01 2005 +0000
+++ b/etc/etags.1	Fri Sep 30 11:43:45 2005 +0000
@@ -93,28 +93,31 @@
 .TP
 .B \-d, \-\-defines
 Create tag entries for C preprocessor constant definitions
-and enum constants, too.  This is the
-default behavior for \fBetags\fP.
+and enum constants, too.  Since this is the default behavior of
+\fBetags\fP, only \fBctags\fP accepts this option.
 .TP
 .B \-D, \-\-no\-defines
 Do not create tag entries for C preprocessor constant definitions
 and enum constants.
 This may make the tags file much smaller if many header files are tagged.
-This is the default behavior for \fBctags\fP.
+Since this is the default behavior of \fBctags\fP, only \fBetags\fP
+accepts this option.
 .TP
-.B \-g, \-\-globals
+.B \-\-globals
 Create tag entries for global variables in C, C++, Objective C, Java,
 and Perl.
-This is the default behavior for \fBetags\fP.
+Since this is the default behavior of \fBetags\fP, only \fBctags\fP
+accepts this option.
 .TP
-.B \-G, \-\-no\-globals
+.B \-\-no\-globals
 Do not tag global variables.  Typically this reduces the file size by
-one fourth.  This is the default behavior for \fBctags\fP.
+one fourth.  Since this is the default behavior of \fBctags\fP, only
+\fBetags\fP accepts this option.
 .TP
 \fB\-i\fP \fIfile\fP, \fB\-\-include=\fIfile\fP
 Include a note in the tag file indicating that, when searching for a
 tag, one should also consult the tags file \fIfile\fP after checking the
-current file.  This options is only accepted by \fBetags\fP.
+current file.  Only \fBetags\fP accepts this option.
 .TP
 .B \-I, \-\-ignore\-indentation
 Don't rely on indentation as much as we normally do.  Currently, this
--- a/lib-src/ChangeLog	Sun Sep 25 22:07:01 2005 +0000
+++ b/lib-src/ChangeLog	Fri Sep 30 11:43:45 2005 +0000
@@ -1,3 +1,16 @@
+2005-09-27  Francesco Potort,Al(B  <pot@gnu.org>
+
+	* etags.c: Preliminary Forth support.
+	(prolog_pr): Cast strlen to int before comparison.
+	(LOOKING_AT, LOOKING_AT_NOCASE): Let the preprocessor check that
+	the second argument is indeed a literal string.
+	(main): In append mode, sort the tags file after writing it.
+
+2005-09-27  Emanuele Giaquinta  <emanuele.giaquinta@gmail.com>  (tiny change)
+
+	* etags.c (longopts, print_help, main): The -a (--append) option
+	can be used in ctags also; for one, the Linux make file uses it.
+
 2005-09-20  Chong Yidong  <cyd@stupidchicken.com>
 
 	* ebrowse.c (add_sym): Compare namespace names instead of
--- a/lib-src/etags.c	Sun Sep 25 22:07:01 2005 +0000
+++ b/lib-src/etags.c	Fri Sep 30 11:43:45 2005 +0000
@@ -41,7 +41,7 @@
  * configuration file containing regexp definitions for etags.
  */
 
-char pot_etags_version[] = "@(#) pot revision number is 17.5";
+char pot_etags_version[] = "@(#) pot revision number is 17.14";
 
 #define	TRUE	1
 #define	FALSE	0
@@ -343,6 +343,7 @@
 static void Cplusplus_entries __P((FILE *));
 static void Cstar_entries __P((FILE *));
 static void Erlang_functions __P((FILE *));
+static void Forth_words __P((FILE *));
 static void Fortran_functions __P((FILE *));
 static void HTML_labels __P((FILE *));
 static void Lisp_functions __P((FILE *));
@@ -489,6 +490,7 @@
 #if LONG_OPTIONS
 static struct option longopts[] =
 {
+  { "append",		  no_argument,	     NULL,	     	 'a'   },
   { "packages-only",      no_argument,	     &packages_only, 	 TRUE  },
   { "c++",		  no_argument,	     NULL,	     	 'C'   },
   { "declarations",	  no_argument,	     &declarations,  	 TRUE  },
@@ -508,7 +510,7 @@
   { "parse-stdin",        required_argument, NULL,               STDIN },
   { "version",		  no_argument,	     NULL,     	     	 'V'   },
 
-#if CTAGS /* Etags options */
+#if CTAGS /* Ctags options */
   { "backward-search",	  no_argument,	     NULL,	     	 'B'   },
   { "cxref",		  no_argument,	     NULL,	     	 'x'   },
   { "defines",		  no_argument,	     NULL,	     	 'd'   },
@@ -519,8 +521,7 @@
   { "vgrind",		  no_argument,	     NULL,     	     	 'v'   },
   { "no-warn",		  no_argument,	     NULL,	     	 'w'   },
 
-#else /* Ctags options */
-  { "append",		  no_argument,	     NULL,	     	 'a'   },
+#else /* Etags options */
   { "no-defines",	  no_argument,	     NULL,	     	 'D'   },
   { "no-globals",	  no_argument,	     &globals, 	     	 FALSE },
   { "include",		  required_argument, NULL,     	     	 'i'   },
@@ -631,6 +632,12 @@
 "In Erlang code, the tags are the functions, records and macros\n\
 defined in the file.";
 
+char *Forth_suffixes [] =
+  { "fth", "tok", NULL };
+static char Forth_help [] =
+"In Forth code, tags are words defined by `:',\n\
+constant, code, create, defer, value, variable, buffer:, field.";
+
 static char *Fortran_suffixes [] =
   { "F", "f", "f90", "for", NULL };
 static char Fortran_help [] =
@@ -778,6 +785,7 @@
   { "c*",        no_lang_help,   Cstar_entries,     Cstar_suffixes     },
   { "cobol",     Cobol_help,     Cobol_paragraphs,  Cobol_suffixes     },
   { "erlang",    Erlang_help,    Erlang_functions,  Erlang_suffixes    },
+  { "forth",     Forth_help,     Forth_words,       Forth_suffixes     },
   { "fortran",   Fortran_help,   Fortran_functions, Fortran_suffixes   },
   { "html",      HTML_help,      HTML_labels,       HTML_suffixes      },
   { "java",      Cjava_help,     Cjava_entries,     Cjava_suffixes     },
@@ -881,8 +889,7 @@
 Absolute names are stored in the output file as they are.\n\
 Relative ones are stored relative to the output file's directory.\n");
 
-  if (!CTAGS)
-    puts ("-a, --append\n\
+  puts ("-a, --append\n\
         Append tag entries to existing tags file.");
 
   puts ("--packages-only\n\
@@ -1180,17 +1187,19 @@
       globals = TRUE;
     }
 
+  /* When the optstring begins with a '-' getopt_long does not rearrange the
+     non-options arguments to be at the end, but leaves them alone. */
   optstring = "-";
 #ifdef ETAGS_REGEXPS
   optstring = "-r:Rc:";
 #endif /* ETAGS_REGEXPS */
   if (!LONG_OPTIONS)
-    optstring += 1;
+    optstring += 1;		/* remove the initial '-' */
   optstring = concat (optstring,
-		      "Cf:Il:o:SVhH",
-		      (CTAGS) ? "BxdtTuvw" : "aDi:");
-
-  while ((opt = getopt_long (argc, argv, optstring, longopts, 0)) != EOF)
+		      "aCf:Il:o:SVhH",
+		      (CTAGS) ? "BxdtTuvw" : "Di:");
+
+  while ((opt = getopt_long (argc, argv, optstring, longopts, NULL)) != EOF)
     switch (opt)
       {
       case 0:
@@ -1218,6 +1227,7 @@
 	break;
 
 	/* Common options. */
+      case 'a': append_to_tagfile = TRUE;	break;
       case 'C': cplusplus = TRUE;		break;
       case 'f':		/* for compatibility with old makefiles */
       case 'o':
@@ -1267,7 +1277,6 @@
 	break;
 
 	/* Etags options */
-      case 'a': append_to_tagfile = TRUE;			break;
       case 'D': constantypedefs = FALSE;			break;
       case 'i': included_files[nincluded_files++] = optarg;	break;
 
@@ -1285,6 +1294,7 @@
 	/* NOTREACHED */
       }
 
+  /* No more options.  Store the rest of arguments. */
   for (; optind < argc; optind++)
     {
       argbuffer[current_arg].arg_type = at_filename;
@@ -1413,7 +1423,7 @@
 
   if (!CTAGS || cxref_style)
     {
-      put_entries (nodehead);	/* write the remainig tags (ETAGS) */
+      put_entries (nodehead);	/* write the remaining tags (ETAGS) */
       free_tree (nodehead);
       nodehead = NULL;
       if (!CTAGS)
@@ -1465,12 +1475,13 @@
   if (fclose (tagf) == EOF)
     pfatal (tagfile);
 
-  if (update)
-    {
-      char cmd[2*BUFSIZ+10];
-      sprintf (cmd, "sort -o %.*s %.*s", BUFSIZ, tagfile, BUFSIZ, tagfile);
-      exit (system (cmd));
-    }
+  if (CTAGS)
+    if (append_to_tagfile || update)
+      {
+	char cmd[2*BUFSIZ+10];
+	sprintf (cmd, "sort -o %.*s %.*s", BUFSIZ, tagfile, BUFSIZ, tagfile);
+	exit (system (cmd));
+      }
   return EXIT_SUCCESS;
 }
 
@@ -4075,10 +4086,18 @@
            char_pointer = line_buffer.buffer,				\
 	   TRUE);							\
       )
-#define LOOKING_AT(cp, keyword)	/* keyword is a constant string */	\
-  (strneq ((cp), keyword, sizeof(keyword)-1) /* cp points at keyword */	\
-   && notinname ((cp)[sizeof(keyword)-1])	/* end of keyword */	\
-   && ((cp) = skip_spaces((cp)+sizeof(keyword)-1))) /* skip spaces */
+
+#define LOOKING_AT(cp, kw)  /* kw is the keyword, a literal string */	\
+  ((assert("" kw), TRUE)   /* syntax error if not a literal string */	\
+   && strneq ((cp), kw, sizeof(kw)-1)		/* cp points at kw */	\
+   && notinname ((cp)[sizeof(kw)-1])		/* end of kw */		\
+   && ((cp) = skip_spaces((cp)+sizeof(kw)-1)))	/* skip spaces */
+
+/* Similar to LOOKING_AT but does not use notinname, does not skip */
+#define LOOKING_AT_NOCASE(cp, kw) /* the keyword is a literal string */	\
+  ((assert("" kw), TRUE)     /* syntax error if not a literal string */	\
+   && strncaseeq ((cp), kw, sizeof(kw)-1)	/* cp points at kw */	\
+   && ((cp) += sizeof(kw)-1))			/* skip spaces */
 
 /*
  * Read a file, but do no processing.  This is used to do regexp
@@ -4956,7 +4975,7 @@
 
 
 /*
- * Postscript tag functions
+ * Postscript tags
  * Just look for lines where the first character is '/'
  * Also look at "defineps" for PSWrap
  * Ideas by:
@@ -4987,6 +5006,43 @@
 
 
 /*
+ * Forth tags
+ * Ignore anything after \ followed by space or in ( )
+ * Look for words defined by :
+ * Look for constant, code, create, defer, value, and variable
+ * OBP extensions:  Look for buffer:, field,
+ * Ideas by Eduardo Horvath <eeh@netbsd.org> (2004)
+ */
+static void
+Forth_words (inf)
+     FILE *inf;
+{
+  register char *bp;
+
+  LOOP_ON_INPUT_LINES (inf, lb, bp)
+    while ((bp = skip_spaces (bp))[0] != '\0')
+      if (bp[0] == '\\' && iswhite(bp[1]))
+	break;			/* read next line */
+      else if (bp[0] == '(' && iswhite(bp[1]))
+	do			/* skip to ) or eol */
+	  bp++;
+	while (*bp != ')' && *bp != '\0');
+      else if ((bp[0] == ':' && iswhite(bp[1]) && bp++)
+	       || LOOKING_AT_NOCASE (bp, "constant")
+	       || LOOKING_AT_NOCASE (bp, "code")
+	       || LOOKING_AT_NOCASE (bp, "create")
+	       || LOOKING_AT_NOCASE (bp, "defer")
+	       || LOOKING_AT_NOCASE (bp, "value")
+	       || LOOKING_AT_NOCASE (bp, "variable")
+	       || LOOKING_AT_NOCASE (bp, "buffer:")
+	       || LOOKING_AT_NOCASE (bp, "field"))
+	get_tag (skip_spaces (bp), NULL); /* Yay!  A definition! */
+      else
+	bp = skip_non_spaces (bp);
+}
+
+
+/*
  * Scheme tag functions
  * look for (def... xyzzy
  *          (def... (xyzzy
@@ -4994,7 +5050,6 @@
  *          (set! xyzzy
  * Original code by Ken Haase (1985?)
  */
-
 static void
 Scheme_functions (inf)
      FILE *inf;
@@ -5213,11 +5268,6 @@
 }
 
 
-/* Similar to LOOKING_AT but does not use notinname, does not skip */
-#define LOOKING_AT_NOCASE(cp, kw)	/* kw is a constant string */	\
-  (strncaseeq ((cp), kw, sizeof(kw)-1)	/* cp points at kw */		\
-   && ((cp) += sizeof(kw)-1))		/* skip spaces */
-
 /*
  * HTML support.
  * Contents of <title>, <h1>, <h2>, <h3> are tags.
@@ -5434,7 +5484,7 @@
        || (s[pos] == '(' && (pos += 1))
        || (s[pos] == ':' && s[pos + 1] == '-' && (pos += 2)))
       && (last == NULL		/* save only the first clause */
-	  || len != strlen (last)
+	  || len != (int)strlen (last)
 	  || !strneq (s, last, len)))
 	{
 	  make_tag (s, len, TRUE, s, pos, lineno, linecharno);
@@ -6502,7 +6552,7 @@
 	    : *s1 - *s2);
 }
 
-/* Skip spaces, return new pointer. */
+/* Skip spaces (end of string is not space), return new pointer. */
 static char *
 skip_spaces (cp)
      char *cp;
@@ -6512,7 +6562,7 @@
   return cp;
 }
 
-/* Skip non spaces, return new pointer. */
+/* Skip non spaces, except end of string, return new pointer. */
 static char *
 skip_non_spaces (cp)
      char *cp;
--- a/lisp/ChangeLog	Sun Sep 25 22:07:01 2005 +0000
+++ b/lisp/ChangeLog	Fri Sep 30 11:43:45 2005 +0000
@@ -1,8 +1,93 @@
+2005-09-30  Kenichi Handa  <handa@m17n.org>
+
+	* ps-mule.el (ps-mule-show-warning): If a character is in
+	ps-print-translation-table, don't treat it as non-printable.
+
+2005-09-30  David Ponce  <david@dponce.com>
+
+	* tree-widget.el (tree-widget-themes-load-path): New variable.
+	(tree-widget-themes-directory): Doc fix.
+	(tree-widget-image-formats) [Emacs]: Doc fix.
+	(tree-widget--locate-sub-directory): New function.
+	(tree-widget-themes-directory): Use it.
+
+	* recentf.el (recentf-filename-handlers): Rename from
+	`recentf-filename-handler'.  Allow a list of functions.
+	(recentf-menu-items-for-commands): Fix :help strings.
+	(recentf-apply-filename-handlers): New function.
+	(recentf-expand-file-name): Use it.
+	(recentf-cleanup): Remove duplicates too.
+
+2005-09-29  Juri Linkov  <juri@jurta.org>
+
+	* faces.el: Rearrange face definitions to be in the same order as
+	their face descriptions in "(emacs)Standard Faces".
+
+	* isearch.el (isearch, lazy-highlight): Add group `basic-faces'.
+
+	* tooltip.el (tooltip): Add group `basic-faces'.
+
+	* buff-menu.el (Buffer-menu-buffer): Remove group
+	`font-lock-highlighting-faces'.
+
+	* progmodes/compile.el (compilation-error, compilation-warning)
+	(compilation-info, compilation-line-number, compilation-column-number):
+	Change group from `font-lock-highlighting-faces' to `compilation'.
+
+	* progmodes/vhdl-mode.el (vhdl-font-lock-prompt-face)
+	(vhdl-font-lock-attribute-face, vhdl-font-lock-enumvalue-face)
+	(vhdl-font-lock-function-face, vhdl-font-lock-directive-face)
+	(vhdl-font-lock-reserved-words-face)
+	(vhdl-font-lock-translate-off-face, syntax-alist): Remove group
+	`font-lock-highlighting-faces'.
+
+	* cus-edit.el (custom-buffer-sort-alphabetically): Default to nil.
+
+2005-09-28  Kim F. Storm  <storm@cua.dk>
+
+	* emulation/cua-base.el: Set CUA move property on additional commands:
+	up-list, down-list, backward-up-list, end-of-defun beginning-of-defun,
+	forward-sexp backward-sexp, forward-list, backward-list
+
+2005-09-28  Romain Francoise  <romain@orebokech.com>
+
+	* comint.el (comint-show-output): Really set point at the
+	beginning of the output when not using `comint-use-prompt-regexp'.
+
+2005-09-27  Jay Belanger  <belanger@truman.edu>
+
+	* calc/calc-lang.el (math-oper-table): Raise the precedence of "/"
+	in TeX mode.
+
+2005-09-26  Juanma Barranquero  <lekktu@gmail.com>
+
+	* textmodes/org.el (org-table-sum): Fix format string.
+
+	* textmodes/tex-mode.el (tex-insert-quote, latex-indent):
+	Quote face names.
+
+2005-09-26  Romain Francoise  <romain@orebokech.com>
+
+	* isearch.el (isearch-forward-regexp): Close doc string.
+
+2005-09-25  Richard M. Stallman  <rms@gnu.org>
+
+	* simple.el (blink-matching-open): Don't no-op when point is BEGV+1.
+
+	* isearch.el (isearch-forward, isearch-forward-regexp): Doc fixes.
+
+	* progmodes/compile.el (compilation-error-properties):
+	When getting the file from the previous error message,
+	correctly decode the new data format.
+
+	* progmodes/cc-cmds.el (c-electric-paren):
+	Call old-blink-paren only for close-paren.
+
 2005-09-24  Andreas Schwab  <schwab@suse.de>
 
 	* term/rxvt.el (rxvt-register-default-colors): Delete redundant
-	condition. 
-	
+	condition.
+
 2005-09-25  Romain Francoise  <romain@orebokech.com>
 
 	* dired-aux.el (dired-copy-file-recursive):
@@ -21,7 +106,7 @@
 	* play/mpuz.el (mpuz-offer-abort, mpuz-try-letter, mpuz-close-game):
 	* progmodes/ebrowse.el (ebrowse-find-pattern):
 	* progmodes/idlw-shell.el (idlwave-shell-set-bp-check):
-	* textmodes/reftex-index.el (reftex-index-initialize-phrases-buffer): 
+	* textmodes/reftex-index.el (reftex-index-initialize-phrases-buffer):
 	End `yes-or-no-p' and `y-or-n-p' prompts with question mark and
 	space.
 
@@ -699,20 +784,12 @@
 
 	* descr-text.el (describe-property-list): Handle non-symbol prop names.
 
-2005-08-30  Richard M. Stallman  <rms@gnu.org>
+2005-09-08  Richard M. Stallman  <rms@gnu.org>
 
 	* simple.el (blink-matching-open): Get rid of text props from
 	the string shown in echo area.  Don't permanently set point.
 	Some rearrangements.
 
-	* files.el (risky-local-variable-p):
-	Match `-predicates' and `-commands.
-
-	* cus-edit.el (custom-buffer-sort-alphabetically): Default to t.
-	(custom-save-all): Visit the file if necessary;
-	kill the buffer if we created it.
-	(custom-save-delete): Don't visit file or kill buffer here.
-
 2005-09-08  Reiner Steib  <Reiner.Steib@gmx.de>
 
 	* recentf.el (recentf-filename-handler): Add custom choice
--- a/lisp/buff-menu.el	Sun Sep 25 22:07:01 2005 +0000
+++ b/lisp/buff-menu.el	Fri Sep 30 11:43:45 2005 +0000
@@ -77,8 +77,7 @@
 (defface Buffer-menu-buffer
   '((t (:weight bold)))
   "Face used to highlight buffer name."
-  :group 'Buffer-menu
-  :group 'font-lock-highlighting-faces)
+  :group 'Buffer-menu)
 
 (defcustom Buffer-menu-buffer+size-width 26
   "*How wide to jointly make the buffer name and size columns."
--- a/lisp/calc/calc-lang.el	Sun Sep 25 22:07:01 2005 +0000
+++ b/lisp/calc/calc-lang.el	Fri Sep 30 11:43:45 2005 +0000
@@ -354,10 +354,10 @@
      ( "\\times"  *		   191 190 )
      ( "*"        *		   191 190 )
      ( "2x"	  *		   191 190 )
+     ( "/"	  /		   185 186 )
      ( "+"	  +		   180 181 )
      ( "-"	  -		   180 181 )
      ( "\\over"	  /		   170 171 )
-     ( "/"	  /		   170 171 )
      ( "\\choose" calcFunc-choose  170 171 )
      ( "\\mod"	  %		   170 171 )
      ( "<"	  calcFunc-lt	   160 161 )
--- a/lisp/comint.el	Sun Sep 25 22:07:01 2005 +0000
+++ b/lisp/comint.el	Fri Sep 30 11:43:45 2005 +0000
@@ -2056,7 +2056,11 @@
 	   (set-window-start (selected-window) (point))
 	   (comint-skip-prompt))
 	  (t
-	   (goto-char (field-beginning pos))
+	   (let* ((beg (field-beginning pos))
+		  (pt (if (= (point-min) beg)
+			  (point-min)
+			(1+ beg))))
+	     (goto-char pt))
 	   (set-window-start (selected-window) (point))))))
 
 
--- a/lisp/cus-edit.el	Sun Sep 25 22:07:01 2005 +0000
+++ b/lisp/cus-edit.el	Fri Sep 30 11:43:45 2005 +0000
@@ -670,7 +670,7 @@
   :type 'boolean
   :group 'custom-browse)
 
-(defcustom custom-buffer-sort-alphabetically t
+(defcustom custom-buffer-sort-alphabetically nil
   "If non-nil, sort members of each customization group alphabetically."
   :type 'boolean
   :group 'custom-buffer)
--- a/lisp/emulation/cua-base.el	Sun Sep 25 22:07:01 2005 +0000
+++ b/lisp/emulation/cua-base.el	Fri Sep 30 11:43:45 2005 +0000
@@ -1324,6 +1324,10 @@
    move-end-of-line move-beginning-of-line
    end-of-buffer beginning-of-buffer
    scroll-up scroll-down
+   up-list down-list backward-up-list
+   end-of-defun beginning-of-defun
+   forward-sexp backward-sexp
+   forward-list backward-list
    forward-sentence backward-sentence
    forward-paragraph backward-paragraph))
   (put cmd 'CUA 'move))
--- a/lisp/faces.el	Sun Sep 25 22:07:01 2005 +0000
+++ b/lisp/faces.el	Fri Sep 30 11:43:45 2005 +0000
@@ -1849,12 +1849,154 @@
   "The standard faces of Emacs."
   :group 'faces)
 
-
 (defface default
   '((t nil))
   "Basic default face."
   :group 'basic-faces)
 
+(defface bold
+  '((t :weight bold))
+  "Basic bold face."
+  :group 'basic-faces)
+
+(defface italic
+  '((((supports :slant italic))
+     :slant italic)
+    (((supports :underline t))
+     :underline t)
+    (t
+     ;; default to italic, even it doesn't appear to be supported,
+     ;; because in some cases the display engine will do it's own
+     ;; workaround (to `dim' on ttys)
+     :slant italic))
+  "Basic italic face."
+  :group 'basic-faces)
+
+(defface bold-italic
+  '((t :weight bold :slant italic))
+  "Basic bold-italic face."
+  :group 'basic-faces)
+
+(defface underline
+  '((((supports :underline t))
+     :underline t)
+    (((supports :weight bold))
+     :weight bold)
+    (t :underline t))
+  "Basic underlined face."
+  :group 'basic-faces)
+
+(defface fixed-pitch
+  '((t :family "courier"))
+  "The basic fixed-pitch face."
+  :group 'basic-faces)
+
+(defface variable-pitch
+  '((t :family "helv"))
+  "The basic variable-pitch face."
+  :group 'basic-faces)
+
+(defface shadow
+  '((((class color grayscale) (min-colors 88) (background light))
+     :foreground "grey50")
+    (((class color grayscale) (min-colors 88) (background dark))
+     :foreground "grey70")
+    (((class color) (min-colors 8) (background light))
+     :foreground "green")
+    (((class color) (min-colors 8) (background dark))
+     :foreground "yellow"))
+  "Basic face for shadowed text."
+  :group 'basic-faces
+  :version "22.1")
+
+(defface highlight
+  '((((class color) (min-colors 88) (background light))
+     :background "darkseagreen2")
+    (((class color) (min-colors 88) (background dark))
+     :background "darkolivegreen")
+    (((class color) (min-colors 16) (background light))
+     :background "darkseagreen2")
+    (((class color) (min-colors 16) (background dark))
+     :background "darkolivegreen")
+    (((class color) (min-colors 8))
+     :background "green" :foreground "black")
+    (t :inverse-video t))
+  "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")
+    (((class color) (min-colors 88) (background light))
+     :background "lightgoldenrod2")
+    (((class color) (min-colors 16) (background dark))
+     :background "blue3")
+    (((class color) (min-colors 16) (background light))
+     :background "lightgoldenrod2")
+    (((class color) (min-colors 8))
+     :background "blue" :foreground "white")
+    (((type tty) (class mono))
+     :inverse-video t)
+    (t :background "gray"))
+  "Basic face for highlighting the region."
+  :version "21.1"
+  :group 'basic-faces)
+
+(defface secondary-selection
+  '((((class color) (min-colors 88) (background light))
+     :background "yellow1")
+    (((class color) (min-colors 88) (background dark))
+     :background "SkyBlue4")
+    (((class color) (min-colors 16) (background light))
+     :background "yellow")
+    (((class color) (min-colors 16) (background dark))
+     :background "SkyBlue4")
+    (((class color) (min-colors 8))
+     :background "cyan" :foreground "black")
+    (t :inverse-video t))
+  "Basic face for displaying the secondary selection."
+  :group 'basic-faces)
+
+(defface trailing-whitespace
+  '((((class color) (background light))
+     :background "red1")
+    (((class color) (background dark))
+     :background "red1")
+    (t :inverse-video t))
+  "Basic face for highlighting trailing whitespace."
+  :version "21.1"
+  :group 'whitespace		; like `show-trailing-whitespace'
+  :group 'basic-faces)
+
+(defface escape-glyph
+  '((((background dark)) :foreground "cyan")
+    ;; See the comment in minibuffer-prompt for
+    ;; the reason not to use blue on MS-DOS.
+    (((type pc)) :foreground "magenta")
+    ;; red4 is too dark, but some say blue is too loud.
+    ;; brown seems to work ok. -- rms.
+    (t :foreground "brown"))
+  "Face for characters displayed as ^-sequences or \-sequences."
+  :group 'basic-faces
+  :version "22.1")
+
+(defface nobreak-space
+  '((((class color) (min-colors 88)) :inherit escape-glyph :underline t)
+    (((class color) (min-colors 8)) :background "magenta")
+    (t :inverse-video t))
+  "Face for displaying nobreak space."
+  :group 'basic-faces
+  :version "22.1")
 
 (defface mode-line
   '((((class color) (min-colors 88))
@@ -1883,23 +2025,6 @@
   :group 'modeline
   :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 vertical-border
-  '((((type tty)) :inherit mode-line-inactive))
-  "Face used for vertical window dividers on ttys."
-  :version "22.1"
-  :group 'modeline
-  :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)
@@ -1940,20 +2065,13 @@
   :version "21.1"
   :group 'basic-faces)
 
-
-(defface tool-bar
-  '((default
-     :box (:line-width 1 :style released-button)
-     :foreground "black")
-    (((type x w32 mac) (class color))
-     :background "grey75")
-    (((type x) (class mono))
-     :background "grey"))
-  "Basic tool-bar face."
-  :version "21.1"
+(defface vertical-border
+  '((((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
   '((((background dark)) :foreground "cyan")
     ;; Don't use blue because many users of the MS-DOS port customize
@@ -1970,25 +2088,6 @@
 (setq minibuffer-prompt-properties
       (append minibuffer-prompt-properties (list 'face 'minibuffer-prompt)))
 
-(defface region
-  '((((class color) (min-colors 88) (background dark))
-     :background "blue3")
-    (((class color) (min-colors 88) (background light))
-     :background "lightgoldenrod2")
-    (((class color) (min-colors 16) (background dark))
-     :background "blue3")
-    (((class color) (min-colors 16) (background light))
-     :background "lightgoldenrod2")
-    (((class color) (min-colors 8))
-     :background "blue" :foreground "white")
-    (((type tty) (class mono))
-     :inverse-video t)
-    (t :background "gray"))
-  "Basic face for highlighting the region."
-  :version "21.1"
-  :group 'basic-faces)
-
-
 (defface fringe
   '((((class color) (background light))
      :background "grey95")
@@ -2001,34 +2100,18 @@
   :group 'frames
   :group 'basic-faces)
 
-
 (defface scroll-bar '()
   "Basic face for the scroll bar colors under X."
   :version "21.1"
   :group 'frames
   :group 'basic-faces)
 
-
-(defface menu
-  '((((type tty))
-     :inverse-video t)
-    (((type x-toolkit))
-     )
-    (t
-     :inverse-video t))
-  "Basic face for the font and colors of the menu bar and popup menus."
-  :version "21.1"
-  :group 'menu
-  :group 'basic-faces)
-
-
 (defface border '()
   "Basic face for the frame border under X."
   :version "21.1"
   :group 'frames
   :group 'basic-faces)
 
-
 (defface cursor '()
   "Basic face for the cursor color under X.
 Note: Other faces cannot inherit from the cursor face."
@@ -2044,126 +2127,30 @@
   :group 'mouse
   :group 'basic-faces)
 
-
-(defface bold '((t :weight bold))
-  "Basic bold face."
-  :group 'basic-faces)
-
-
-(defface italic
-  '((((supports :slant italic))
-     :slant italic)
-    (((supports :underline t))
-     :underline t)
-    (t
-     ;; default to italic, even it doesn't appear to be supported,
-     ;; because in some cases the display engine will do it's own
-     ;; workaround (to `dim' on ttys)
-     :slant italic))
-  "Basic italic face."
-  :group 'basic-faces)
-
-
-(defface bold-italic '((t :weight bold :slant italic))
-  "Basic bold-italic face."
-  :group 'basic-faces)
-
-
-(defface underline '((((supports :underline t))
-		      :underline t)
-		     (((supports :weight bold))
-		      :weight bold)
-		     (t :underline t))
-  "Basic underlined face."
-  :group 'basic-faces)
-
-
-(defface highlight
-  '((((class color) (min-colors 88) (background light))
-     :background "darkseagreen2")
-    (((class color) (min-colors 88) (background dark))
-     :background "darkolivegreen")
-    (((class color) (min-colors 16) (background light))
-     :background "darkseagreen2")
-    (((class color) (min-colors 16) (background dark))
-     :background "darkolivegreen")
-    (((class color) (min-colors 8))
-     :background "green" :foreground "black")
-    (t :inverse-video t))
-  "Basic face for highlighting."
+(defface tool-bar
+  '((default
+     :box (:line-width 1 :style released-button)
+     :foreground "black")
+    (((type x w32 mac) (class color))
+     :background "grey75")
+    (((type x) (class mono))
+     :background "grey"))
+  "Basic tool-bar face."
+  :version "21.1"
   :group 'basic-faces)
 
-
-(defface secondary-selection
-  '((((class color) (min-colors 88) (background light))
-     :background "yellow1")
-    (((class color) (min-colors 88) (background dark))
-     :background "SkyBlue4")
-    (((class color) (min-colors 16) (background light))
-     :background "yellow")
-    (((class color) (min-colors 16) (background dark))
-     :background "SkyBlue4")
-    (((class color) (min-colors 8))
-     :background "cyan" :foreground "black")
-    (t :inverse-video t))
-  "Basic face for displaying the secondary selection."
-  :group 'basic-faces)
-
-
-(defface fixed-pitch '((t :family "courier"))
-  "The basic fixed-pitch face."
-  :group 'basic-faces)
-
-
-(defface variable-pitch '((t :family "helv"))
-  "The basic variable-pitch face."
-  :group 'basic-faces)
-
-
-(defface trailing-whitespace
-  '((((class color) (background light))
-     :background "red1")
-    (((class color) (background dark))
-     :background "red1")
-    (t :inverse-video t))
-  "Basic face for highlighting trailing whitespace."
+(defface menu
+  '((((type tty))
+     :inverse-video t)
+    (((type x-toolkit))
+     )
+    (t
+     :inverse-video t))
+  "Basic face for the font and colors of the menu bar and popup menus."
   :version "21.1"
-  :group 'whitespace		; like `show-trailing-whitespace'
+  :group 'menu
   :group 'basic-faces)
 
-(defface escape-glyph
-  '((((background dark)) :foreground "cyan")
-    ;; See the comment in minibuffer-prompt for
-    ;; the reason not to use blue on MS-DOS.
-    (((type pc)) :foreground "magenta")
-    ;; red4 is too dark, but some say blue is too loud.
-    ;; brown seems to work ok. -- rms.
-    (t :foreground "brown"))
-  "Face for characters displayed as ^-sequences or \-sequences."
-  :group 'basic-faces
-  :version "22.1")
-
-(defface nobreak-space
-  '((((class color) (min-colors 88)) :inherit escape-glyph :underline t)
-    (((class color) (min-colors 8)) :background "magenta")
-    (t :inverse-video t))
-  "Face for displaying nobreak space."
-  :group 'basic-faces
-  :version "22.1")
-
-(defface shadow
-  '((((class color grayscale) (min-colors 88) (background light))
-     :foreground "grey50")
-    (((class color grayscale) (min-colors 88) (background dark))
-     :foreground "grey70")
-    (((class color) (min-colors 8) (background light))
-     :foreground "green")
-    (((class color) (min-colors 8) (background dark))
-     :foreground "yellow"))
-  "Basic face for shadowed text."
-  :group 'basic-faces
-  :version "22.1")
-
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;; Manipulating font names.
--- a/lisp/gnus/ChangeLog	Sun Sep 25 22:07:01 2005 +0000
+++ b/lisp/gnus/ChangeLog	Fri Sep 30 11:43:45 2005 +0000
@@ -1,3 +1,56 @@
+2005-09-28  Reiner Steib  <Reiner.Steib@gmx.de>
+
+	* message.el: Remove useless autoloads.
+
+2005-09-28  Simon Josefsson  <jas@extundo.com>
+
+	* message.el (message-use-idna): Default to t.
+	(message-use-idna): Test whether encoding works too.  Doc fix.
+
+2005-09-28  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	* nntp.el (nntp-warn-about-losing-connection): Remove.
+
+2005-09-27  Reiner Steib  <Reiner.Steib@gmx.de>
+
+	* mm-uu.el (mm-uu-emacs-sources-regexp): Make variable
+	customizable.  Change default value.
+	(mm-uu-diff-groups-regexp): Change default value.
+	(mm-uu-type-alist): Added doc string.
+	(mm-uu-configure): Added doc string.  Make it interactive.
+	(mm-uu-diff-groups-regexp): Fix missing quotes from previous
+	commit.
+
+2005-09-27  Simon Josefsson  <jas@extundo.com>
+
+	* message.el (message-idna-to-ascii-rhs-1): Reformat.
+
+2005-09-27  Arne J,Ax(Brgensen  <arne@arnested.dk>
+
+	* message.el (message-remove-duplicates): New function.
+	Implementation borrowed from `gnus-remove-duplicates'.
+	(message-idna-to-ascii-rhs): Also encode idna addresses in
+	Reply-To:, Mail-Reply-To: and Mail-Followup-To:.
+	(message-idna-to-ascii-rhs-1): When `message-use-idna' is 'ask
+	only ask about the same idna domain once per header and also tell
+	in what header to replace the idna domain.
+
+	* gnus-art.el (article-decode-idna-rhs): Also decode idna
+	addresses in Reply-To:, Mail-Reply-To: and Mail-Followup-To:.
+	(article-decode-idna-rhs): Fix regexp so that all idna-address in
+	a header is decoded and not just the last one.
+
+2005-09-27  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	* gnus-art.el (gnus-mime-display-single): Don't modify text if it
+	has been decoded.
+
+	* mm-decode.el (mm-insert-part): Don't modify text if it has been
+	decoded.
+
+	* mm-view.el (mm-inline-text): Don't strip text props unless
+	decoding enriched or richtext parts.
+
 2005-09-25  Romain Francoise  <romain@orebokech.com>
 
 	* gnus-agent.el (gnus-agent-expire-group, gnus-agent-expire):
--- a/lisp/gnus/gnus-art.el	Sun Sep 25 22:07:01 2005 +0000
+++ b/lisp/gnus/gnus-art.el	Fri Sep 30 11:43:45 2005 +0000
@@ -2333,20 +2333,22 @@
 (autoload 'idna-to-unicode "idna")
 
 (defun article-decode-idna-rhs ()
-  "Decode IDNA strings in RHS in From:, To: and Cc: headers in current buffer."
+  "Decode IDNA strings in RHS in various headers in current buffer.
+The following headers are decoded: From:, To:, Cc:, Reply-To:,
+Mail-Reply-To: and Mail-Followup-To:."
   (when gnus-use-idna
     (save-restriction
       (let ((inhibit-point-motion-hooks t)
 	    (inhibit-read-only t))
 	(article-narrow-to-head)
 	(goto-char (point-min))
-	(while (re-search-forward "@.*\\(xn--[-A-Za-z0-9.]*\\)[ \t\n\r,>]" nil t)
+	(while (re-search-forward "@[^ \t\n\r,>]*\\(xn--[-A-Za-z0-9.]*\\)[ \t\n\r,>]" nil t)
 	  (let (ace unicode)
 	    (when (save-match-data
 		    (and (setq ace (match-string 1))
 			 (save-excursion
 			   (and (re-search-backward "^[^ \t]" nil t)
-				(looking-at "From\\|To\\|Cc")))
+				(looking-at "From\\|To\\|Cc\\|Reply-To\\|Mail-Reply-To\\|Mail-Followup-To")))
 			 (setq unicode (idna-to-unicode ace))))
 	      (unless (string= ace unicode)
 		(replace-match unicode nil nil nil 1)))))))))
@@ -4864,14 +4866,17 @@
 	      (forward-line -1)
 	      (setq beg (point)))
 	    (gnus-article-insert-newline)
-	    (mm-insert-inline handle
-			      (let ((charset
-				     (mail-content-type-get
-				      (mm-handle-type handle) 'charset)))
-				(if (eq charset 'gnus-decoded)
-				    (mm-get-part handle)
-				  (mm-decode-string (mm-get-part handle)
-						    charset))))
+	    (mm-insert-inline
+	     handle
+	     (let ((charset (mail-content-type-get (mm-handle-type handle)
+						   'charset)))
+	       (cond ((not charset)
+		      (mm-string-as-multibyte (mm-get-part handle)))
+		     ((eq charset 'gnus-decoded)
+		      (with-current-buffer (mm-handle-buffer handle)
+			(buffer-string)))
+		     (t
+		      (mm-decode-string (mm-get-part handle) charset)))))
 	    (goto-char (point-max))))
 	  ;; Do highlighting.
 	  (save-excursion
--- a/lisp/gnus/message.el	Sun Sep 25 22:07:01 2005 +0000
+++ b/lisp/gnus/message.el	Fri Sep 30 11:43:45 2005 +0000
@@ -1454,8 +1454,13 @@
 				   (file-error))
 				 (mm-coding-system-p 'utf-8)
 				 (executable-find idna-program)
-				 'ask)
-  "Whether to encode non-ASCII in domain names into ASCII according to IDNA."
+				 (string= (idna-to-ascii "räksmörgås")
+					  "xn--rksmrgs-5wao1o")
+				 t)
+  "Whether to encode non-ASCII in domain names into ASCII according to IDNA.
+GNU Libidn, and in particular the elisp package \"idna.el\" and
+the external program \"idn\", must be installed for this
+functionality to work."
   :version "22.1"
   :group 'message-headers
   :link '(custom-manual "(message)IDNA")
@@ -1807,7 +1812,6 @@
 
 ;;; Suggested by Jonas Steverud  @  www.dtek.chalmers.se/~d4jonas/
 
-;;;###autoload
 (defun message-change-subject (new-subject)
   "Ask for NEW-SUBJECT header, append (was: <Old Subject>)."
   ;; <URL:http://www.landfield.com/usefor/drafts/draft-ietf-usefor-useage--1.02.unpaged>
@@ -1839,7 +1843,6 @@
 				    " (was: "
 				    old-subject ")\n")))))))))
 
-;;;###autoload
 (defun message-mark-inserted-region (beg end)
   "Mark some region in the current article with enclosing tags.
 See `message-mark-insert-begin' and `message-mark-insert-end'."
@@ -1851,7 +1854,6 @@
     (goto-char beg)
     (insert message-mark-insert-begin)))
 
-;;;###autoload
 (defun message-mark-insert-file (file)
   "Insert FILE at point, marking it with enclosing tags.
 See `message-mark-insert-begin' and `message-mark-insert-end'."
@@ -1864,7 +1866,6 @@
     (goto-char p)
     (insert message-mark-insert-begin)))
 
-;;;###autoload
 (defun message-add-archive-header ()
   "Insert \"X-No-Archive: Yes\" in the header and a note in the body.
 The note can be customized using `message-archive-note'.  When called with a
@@ -1884,7 +1885,6 @@
       (message-add-header message-archive-header)
       (message-sort-headers)))
 
-;;;###autoload
 (defun message-cross-post-followup-to-header (target-group)
   "Mangles FollowUp-To and Newsgroups header to point to TARGET-GROUP.
 With prefix-argument just set Follow-Up, don't cross-post."
@@ -1928,7 +1928,6 @@
       (insert (concat "\nFollowup-To: " target-group)))
   (setq message-cross-post-old-target target-group))
 
-;;;###autoload
 (defun message-cross-post-insert-note (target-group cross-post in-old
 						    old-groups)
   "Insert a in message body note about a set Followup or Crosspost.
@@ -1961,7 +1960,6 @@
 	(insert (concat message-followup-to-note target-group "\n"))
       (insert (concat message-cross-post-note target-group "\n")))))
 
-;;;###autoload
 (defun message-cross-post-followup-to (target-group)
   "Crossposts message and set Followup-To to TARGET-GROUP.
 With prefix-argument just set Follow-Up, don't cross-post."
@@ -2003,7 +2001,6 @@
 
 ;;; Reduce To: to Cc: or Bcc: header
 
-;;;###autoload
 (defun message-reduce-to-to-cc ()
  "Replace contents of To: header with contents of Cc: or Bcc: header."
  (interactive)
@@ -2030,6 +2027,14 @@
 
 ;;; End of functions adopted from `message-utils.el'.
 
+(defun message-remove-duplicates (list)
+  (let (new)
+    (while list
+      (or (member (car list) new)
+	  (setq new (cons (car list) new)))
+      (setq list (cdr list)))
+    (nreverse new)))
+
 (defun message-remove-header (header &optional is-regexp first reverse)
   "Remove HEADER in the narrowed buffer.
 If IS-REGEXP, HEADER is a regular expression.
@@ -4957,13 +4962,17 @@
   (let ((field (message-fetch-field header))
 	rhs ace  address)
     (when field
-      (dolist (address (mail-header-parse-addresses field))
-	(setq address (car address)
-	      rhs (downcase (or (cadr (split-string address "@")) ""))
-	      ace (downcase (idna-to-ascii rhs)))
+      (dolist (rhs
+	       (message-remove-duplicates
+		(mapcar (lambda (rhs) (or (cadr (split-string rhs "@")) ""))
+			(mapcar 'downcase
+				(mapcar
+				 'car (mail-header-parse-addresses field))))))
+	(setq ace (downcase (idna-to-ascii rhs)))
 	(when (and (not (equal rhs ace))
 		   (or (not (eq message-use-idna 'ask))
-		       (y-or-n-p (format "Replace %s with %s? " rhs ace))))
+		       (y-or-n-p (format "Replace %s with %s in %s:? "
+					 rhs ace header))))
 	  (goto-char (point-min))
 	  (while (re-search-forward (concat "^" header ":") nil t)
 	    (message-narrow-to-field)
@@ -4982,6 +4991,9 @@
 	(message-narrow-to-head)
 	(message-idna-to-ascii-rhs-1 "From")
 	(message-idna-to-ascii-rhs-1 "To")
+	(message-idna-to-ascii-rhs-1 "Reply-To")
+	(message-idna-to-ascii-rhs-1 "Mail-Reply-To")
+	(message-idna-to-ascii-rhs-1 "Mail-Followup-To")
 	(message-idna-to-ascii-rhs-1 "Cc")))))
 
 (defun message-generate-headers (headers)
--- a/lisp/gnus/mm-decode.el	Sun Sep 25 22:07:01 2005 +0000
+++ b/lisp/gnus/mm-decode.el	Fri Sep 30 11:43:45 2005 +0000
@@ -1058,9 +1058,15 @@
 (defun mm-insert-part (handle)
   "Insert the contents of HANDLE in the current buffer."
   (save-excursion
-    (insert (if (mm-multibyte-p)
-		(mm-string-as-multibyte (mm-get-part handle))
-	      (mm-get-part handle)))))
+    (insert
+     (cond ((eq (mail-content-type-get (mm-handle-type handle) 'charset)
+		'gnus-decoded)
+	    (with-current-buffer (mm-handle-buffer handle)
+	      (buffer-string)))
+	   ((mm-multibyte-p)
+	    (mm-string-as-multibyte (mm-get-part handle)))
+	   (t
+	    (mm-get-part handle))))))
 
 (defun mm-file-name-delete-whitespace (file-name)
   "Remove all whitespace characters from FILE-NAME."
--- a/lisp/gnus/mm-uu.el	Sun Sep 25 22:07:01 2005 +0000
+++ b/lisp/gnus/mm-uu.el	Fri Sep 30 11:43:45 2005 +0000
@@ -77,11 +77,15 @@
   "The default disposition of uu parts.
 This can be either \"inline\" or \"attachment\".")
 
-(defvar mm-uu-emacs-sources-regexp "gnu\\.emacs\\.sources"
-  "The regexp of Emacs sources groups.")
+(defcustom mm-uu-emacs-sources-regexp "\\.emacs\\.sources"
+  "The regexp of Emacs sources groups."
+  :version "22.1"
+  :type 'regexp
+  :group 'gnus-article-mime)
 
-(defcustom mm-uu-diff-groups-regexp "gnus\\.commits"
-  "*Regexp matching diff groups."
+(defcustom mm-uu-diff-groups-regexp
+  "\\(gmane\\|gnu\\)\\..*\\(diff\\|commit\\|cvs\\|bug\\|devel\\)"
+  "Regexp matching diff groups."
   :version "22.1"
   :type 'regexp
   :group 'gnus-article-mime)
@@ -153,7 +157,12 @@
      nil
      mm-uu-diff-extract
      nil
-     mm-uu-diff-test)))
+     mm-uu-diff-test))
+  "A list of specifications for non-MIME attachments.
+Each element consist of the following entries: label,
+start-regexp, end-regexp, extract-function, test-function.
+
+After modifying this list you must run \\[mm-uu-configure].")
 
 (defcustom mm-uu-configure-list '((shar . disabled))
   "A list of mm-uu configuration.
@@ -202,6 +211,8 @@
   (member (cons key val) mm-uu-configure-list))
 
 (defun mm-uu-configure (&optional symbol value)
+  "Configure detection of non-MIME attachments."
+  (interactive)
   (if symbol (set-default symbol value))
   (setq mm-uu-beginning-regexp nil)
   (mapcar (lambda (entry)
--- a/lisp/gnus/mm-view.el	Sun Sep 25 22:07:01 2005 +0000
+++ b/lisp/gnus/mm-view.el	Fri Sep 30 11:43:45 2005 +0000
@@ -367,9 +367,9 @@
 	(goto-char (point-max))))
     (save-restriction
       (narrow-to-region b (point))
-      (set-text-properties (point-min) (point-max) nil)
       (when (or (equal type "enriched")
 		(equal type "richtext"))
+	(set-text-properties (point-min) (point-max) nil)
 	(ignore-errors
 	  (enriched-decode (point-min) (point-max))))
       (mm-handle-set-undisplayer
--- a/lisp/gnus/nntp.el	Sun Sep 25 22:07:01 2005 +0000
+++ b/lisp/gnus/nntp.el	Fri Sep 30 11:43:45 2005 +0000
@@ -177,9 +177,6 @@
 server there that you can connect to.  See also
 `nntp-open-connection-function'")
 
-(defvoo nntp-warn-about-losing-connection t
-  "*If non-nil, beep when a server closes connection.")
-
 (defvoo nntp-coding-system-for-read 'binary
   "*Coding system to read from NNTP.")
 
--- a/lisp/isearch.el	Sun Sep 25 22:07:01 2005 +0000
+++ b/lisp/isearch.el	Fri Sep 30 11:43:45 2005 +0000
@@ -219,7 +219,8 @@
      (:background "magenta4" :foreground "cyan1"))
     (t (:inverse-video t)))
   "Face for highlighting Isearch matches."
-  :group 'isearch)
+  :group 'isearch
+  :group 'basic-faces)
 (defvar isearch 'isearch)
 
 (defcustom isearch-lazy-highlight t
@@ -289,7 +290,8 @@
      (:background "turquoise3"))
     (t (:underline t)))
   "Face for lazy highlighting of matches other than the current one."
-  :group 'lazy-highlight)
+  :group 'lazy-highlight
+  :group 'basic-faces)
 (put 'isearch-lazy-highlight-face 'face-alias 'lazy-highlight)
 (defvar lazy-highlight-face 'lazy-highlight)
 (define-obsolete-variable-alias 'isearch-lazy-highlight-face
@@ -529,6 +531,9 @@
 \\[isearch-abort] when search is successful aborts and moves point to\
  starting point.
 
+If you try to exit with the search string still empty, it invokes
+ nonincremental search.
+
 Type \\[isearch-query-replace] to start `query-replace' with string to\
  replace from last search string.
 Type \\[isearch-query-replace-regexp] to start `query-replace-regexp'\
@@ -575,7 +580,7 @@
 In regexp incremental searches, a space or spaces normally matches
 any whitespace (the variable `search-whitespace-regexp' controls
 precisely what that means).  If you want to search for a literal space
-and nothing else, enter `[ ]'."
+and nothing else, enter C-q SPC."
   (interactive "P\np")
   (isearch-mode t (null not-regexp) nil (not no-recursive-edit)))
 
--- a/lisp/progmodes/cc-cmds.el	Sun Sep 25 22:07:01 2005 +0000
+++ b/lisp/progmodes/cc-cmds.el	Fri Sep 30 11:43:45 2005 +0000
@@ -907,7 +907,8 @@
 	     ;; be most disruptive.  We'll blink it ourselves
 	     ;; afterwards.
 	     (old-blink-paren blink-paren-function)
-	     blink-paren-function)
+	     blink-paren-function
+	     (noblink (eq last-input-event ?\()))
 	(self-insert-command (prefix-numeric-value arg))
 	(if c-syntactic-indentation
 	    (indent-according-to-mode))
@@ -982,6 +983,7 @@
 		 (delete-region beg end))))
 	(and (not executing-kbd-macro)
 	     old-blink-paren
+	     (not noblink)
 	     (funcall old-blink-paren))))))
 
 (defun c-electric-continued-statement ()
--- a/lisp/progmodes/compile.el	Sun Sep 25 22:07:01 2005 +0000
+++ b/lisp/progmodes/compile.el	Fri Sep 30 11:43:45 2005 +0000
@@ -490,7 +490,7 @@
 (defface compilation-error
   '((t :inherit font-lock-warning-face))
   "Face used to highlight compiler errors."
-  :group 'font-lock-highlighting-faces
+  :group 'compilation
   :version "22.1")
 
 (defface compilation-warning
@@ -498,7 +498,7 @@
     (((class color)) (:foreground "cyan" :weight bold))
     (t (:weight bold)))
   "Face used to highlight compiler warnings."
-  :group 'font-lock-highlighting-faces
+  :group 'compilation
   :version "22.1")
 
 (defface compilation-info
@@ -511,19 +511,19 @@
     (((class color)) (:foreground "green" :weight bold))
     (t (:weight bold)))
   "Face used to highlight compiler information."
-  :group 'font-lock-highlighting-faces
+  :group 'compilation
   :version "22.1")
 
 (defface compilation-line-number
   '((t :inherit font-lock-variable-name-face))
   "Face for displaying line numbers in compiler messages."
-  :group 'font-lock-highlighting-faces
+  :group 'compilation
   :version "22.1")
 
 (defface compilation-column-number
   '((t :inherit font-lock-type-face))
   "Face for displaying column numbers in compiler messages."
-  :group 'font-lock-highlighting-faces
+  :group 'compilation
   :version "22.1")
 
 (defvar compilation-message-face 'underline
@@ -614,6 +614,7 @@
 ;; This function is the central driver, called when font-locking to gather
 ;; all information needed to later jump to corresponding source code.
 ;; Return a property list with all meta information on this error location.
+
 (defun compilation-error-properties (file line end-line col end-col type fmt)
   (unless (< (next-single-property-change (match-beginning 0) 'directory nil (point))
 	     (point))
@@ -628,11 +629,22 @@
 				    (get-text-property dir 'directory)))))
 	    (setq file (cons file (car dir)))))
       ;; This message didn't mention one, get it from previous
-      (setq file (previous-single-property-change (point) 'message)
-	    file (or (if file
-			 (car (nth 2 (car (or (get-text-property (1- file) 'message)
-					 (get-text-property file 'message))))))
-		     '("*unknown*"))))
+      (let ((prev-pos
+	     ;; Find the previous message.
+	     (previous-single-property-change (point) 'message)))
+	(if prev-pos
+	    ;; Get the file structure that belongs to it.
+	    (let* ((prev
+		    (or (get-text-property (1- prev-pos) 'message)
+			(get-text-property prev-pos 'message)))
+		   (prev-struct
+		    (car (nth 2 (car prev)))))
+	      ;; Construct FILE . DIR from that.
+	      (if prev-struct
+		  (setq file (cons (car prev-struct)
+				   (cadr prev-struct))))))
+	(unless file
+	  (setq file '("*unknown*")))))
     ;; All of these fields are optional, get them only if we have an index, and
     ;; it matched some part of the message.
     (and line
--- a/lisp/progmodes/vhdl-mode.el	Sun Sep 25 22:07:01 2005 +0000
+++ b/lisp/progmodes/vhdl-mode.el	Fri Sep 30 11:43:45 2005 +0000
@@ -12832,40 +12832,35 @@
     (((class color) (background dark)) (:foreground "Pink" :bold t))
     (t (:inverse-video t)))
   "Font lock mode face used to highlight prompts."
-  :group 'vhdl-highlight-faces
-  :group 'font-lock-highlighting-faces)
+  :group 'vhdl-highlight-faces)
 
 (defface vhdl-font-lock-attribute-face
   '((((class color) (background light)) (:foreground "Orchid"))
     (((class color) (background dark)) (:foreground "LightSteelBlue"))
     (t (:italic t :bold t)))
   "Font lock mode face used to highlight standardized attributes."
-  :group 'vhdl-highlight-faces
-  :group 'font-lock-highlighting-faces)
+  :group 'vhdl-highlight-faces)
 
 (defface vhdl-font-lock-enumvalue-face
   '((((class color) (background light)) (:foreground "SaddleBrown"))
     (((class color) (background dark)) (:foreground "BurlyWood"))
     (t (:italic t :bold t)))
   "Font lock mode face used to highlight standardized enumeration values."
-  :group 'vhdl-highlight-faces
-  :group 'font-lock-highlighting-faces)
+  :group 'vhdl-highlight-faces)
 
 (defface vhdl-font-lock-function-face
   '((((class color) (background light)) (:foreground "Cyan4"))
     (((class color) (background dark)) (:foreground "Orchid1"))
     (t (:italic t :bold t)))
   "Font lock mode face used to highlight standardized functions and packages."
-  :group 'vhdl-highlight-faces
-  :group 'font-lock-highlighting-faces)
+  :group 'vhdl-highlight-faces)
 
 (defface vhdl-font-lock-directive-face
   '((((class color) (background light)) (:foreground "CadetBlue"))
     (((class color) (background dark)) (:foreground "Aquamarine"))
     (t (:italic t :bold t)))
   "Font lock mode face used to highlight directives."
-  :group 'vhdl-highlight-faces
-  :group 'font-lock-highlighting-faces)
+  :group 'vhdl-highlight-faces)
 
 (defface vhdl-font-lock-reserved-words-face
   '((((class color) (background light)) (:foreground "Orange" :bold t))
@@ -12874,16 +12869,14 @@
     (((class color) (background dark)) (:foreground "Yellow" :bold t))
     (t ()))
   "Font lock mode face used to highlight additional reserved words."
-  :group 'vhdl-highlight-faces
-  :group 'font-lock-highlighting-faces)
+  :group 'vhdl-highlight-faces)
 
 (defface vhdl-font-lock-translate-off-face
   '((((class color) (background light)) (:background "LightGray"))
     (((class color) (background dark)) (:background "DimGray"))
     (t ()))
   "Font lock mode face used to background highlight translate-off regions."
-  :group 'vhdl-highlight-faces
-  :group 'font-lock-highlighting-faces)
+  :group 'vhdl-highlight-faces)
 
 ;; font lock mode faces used to highlight words with special syntax.
 (let ((syntax-alist vhdl-special-syntax-alist))
@@ -12897,8 +12890,7 @@
 	       (t ()))
 	     ,(concat "Font lock mode face used to highlight "
 		      (nth 0 (car syntax-alist)) ".")
-	     :group 'vhdl-highlight-faces
-	     :group 'font-lock-highlighting-faces))
+	     :group 'vhdl-highlight-faces))
     (setq syntax-alist (cdr syntax-alist))))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
--- a/lisp/recentf.el	Sun Sep 25 22:07:01 2005 +0000
+++ b/lisp/recentf.el	Fri Sep 30 11:43:45 2005 +0000
@@ -260,14 +260,17 @@
   :group 'recentf
   :type 'hook)
 
-(defcustom recentf-filename-handler nil
-  "Function to call to process filename handled by recentf.
-It is passed a filename to give a chance to transform it.
-If it returns nil, the filename is left unchanged."
+(defcustom recentf-filename-handlers nil
+  "Functions to post process recent file names.
+They are successively passed a file name to transform it."
   :group 'recentf
-  :type '(choice (const :tag "None" nil)
-                 (const abbreviate-file-name)
-                 function))
+  :type '(choice
+          (const :tag "None" nil)
+          (repeat :tag "Functions"
+           (choice
+            (const file-truename)
+            (const abbreviate-file-name)
+            (function :tag "Other function")))))
 
 (defcustom recentf-show-file-shortcuts-flag t
   "Whether to show ``[N]'' for the Nth item up to 10.
@@ -362,15 +365,25 @@
     (and m (setq recentf-list (delq (car m) recentf-list)))
     (push filename recentf-list)))
 
+(defun recentf-apply-filename-handlers (name)
+  "Apply `recentf-filename-handlers' to file NAME.
+Return the transformed file name, or NAME if any handler failed, or
+returned nil."
+  (or (condition-case nil
+          (let ((handlers recentf-filename-handlers)
+                (filename name))
+            (while (and filename handlers)
+              (setq filename (funcall (car handlers) filename)
+                    handlers (cdr handlers)))
+            filename)
+        (error nil))
+      name))
+
 (defsubst recentf-expand-file-name (name)
-  "Convert filename NAME to absolute, and canonicalize it.
-See also the function `expand-file-name'.
-If defined, call the function `recentf-filename-handler'
-to post process the canonical name."
-  (let* ((filename (expand-file-name name)))
-    (or (and recentf-filename-handler
-             (funcall recentf-filename-handler filename))
-        filename)))
+  "Convert file NAME to absolute, and canonicalize it.
+NAME is first passed to the function `expand-file-name', then to
+`recentf-filename-handlers' to post process it."
+  (recentf-apply-filename-handlers (expand-file-name name)))
 
 (defun recentf-include-p (filename)
   "Return non-nil if FILENAME should be included in the recent list.
@@ -436,23 +449,24 @@
 ;;; Menu building
 ;;
 (defvar recentf-menu-items-for-commands
-  (list ["Cleanup list"
-         recentf-cleanup
-         :help "Remove all excluded and non-kept files from the recent list"
-         :active t]
-        ["Edit list..."
-         recentf-edit-list
-         :help "Edit the files that are kept in the recent list"
-         :active t]
-        ["Save list now"
-         recentf-save-list
-         :help "Save the list of recently opened files now"
-         :active t]
-        ["Options..."
-         (customize-group "recentf")
-         :help "Customize recently opened files menu and options"
-         :active t]
-        )
+  (list
+   ["Cleanup list"
+    recentf-cleanup
+    :help "Remove duplicates, and obsoletes files from the recent list"
+    :active t]
+   ["Edit list..."
+    recentf-edit-list
+    :help "Manually remove files from the recent list"
+    :active t]
+   ["Save list now"
+    recentf-save-list
+    :help "Save the list of recently opened files now"
+    :active t]
+   ["Options..."
+    (customize-group "recentf")
+    :help "Customize recently opened files menu and options"
+    :active t]
+   )
   "List of menu items for recentf commands.")
 
 (defvar recentf-menu-filter-commands nil
@@ -1236,13 +1250,16 @@
                                            recentf-list))))))
 
 (defun recentf-cleanup ()
-  "Remove all non-kept and excluded files from the recent list."
+  "Cleanup the recent list.
+That is, remove duplicates, non-kept, and excluded files."
   (interactive)
   (message "Cleaning up the recentf list...")
   (let ((n 0) newlist)
     (dolist (f recentf-list)
+      (setq f (recentf-expand-file-name f))
       (if (and (recentf-include-p f)
-               (recentf-keep-p f))
+               (recentf-keep-p f)
+               (not (recentf-string-member f newlist)))
           (push f newlist)
         (setq n (1+ n))
         (message "File %s removed from the recentf list" f)))
--- a/lisp/simple.el	Sun Sep 25 22:07:01 2005 +0000
+++ b/lisp/simple.el	Fri Sep 30 11:43:45 2005 +0000
@@ -4236,7 +4236,7 @@
 (defun blink-matching-open ()
   "Move cursor momentarily to the beginning of the sexp before point."
   (interactive)
-  (when (and (> (point) (1+ (point-min)))
+  (when (and (> (point) (point-min))
 	     blink-matching-paren
 	     ;; Verify an even number of quoting characters precede the close.
 	     (= 1 (logand 1 (- (point)
--- a/lisp/textmodes/org.el	Sun Sep 25 22:07:01 2005 +0000
+++ b/lisp/textmodes/org.el	Fri Sep 30 11:43:45 2005 +0000
@@ -7064,7 +7064,7 @@
 		     (format "%d:%02d:%02d" h m s))))
 	(kill-new sres)
 	(if (interactive-p)
-	    (message "s"
+	    (message "%s"
 		     (substitute-command-keys
 		      (format "Sum of %d items: %-20s     (\\[yank] will insert result into buffer)"
 			      (length numbers) sres))))
@@ -9587,7 +9587,7 @@
       (if (fboundp 'command-remapping)
 	  (define-key map (vector 'remap old) new)
 	(substitute-key-definition old new map global-map)))))
-  
+
 (when (eq org-enable-table-editor 'optimized)
   ;; If the user wants maximum table support, we need to hijack
   ;; some standard editing functions
--- a/lisp/textmodes/tex-mode.el	Sun Sep 25 22:07:01 2005 +0000
+++ b/lisp/textmodes/tex-mode.el	Fri Sep 30 11:43:45 2005 +0000
@@ -1109,7 +1109,7 @@
 inserts \" characters."
   (interactive "*P")
   (if (or arg (memq (char-syntax (preceding-char)) '(?/ ?\\))
-	  (eq (get-text-property (point) 'face) tex-verbatim)
+	  (eq (get-text-property (point) 'face) 'tex-verbatim)
 	  (save-excursion
 	    (backward-char (length tex-open-quote))
 	    (when (or (looking-at (regexp-quote tex-open-quote))
@@ -2341,7 +2341,7 @@
 
 (defun latex-indent (&optional arg)
   (if (and (eq (get-text-property (line-beginning-position) 'face)
-	       tex-verbatim))
+	       'tex-verbatim))
       'noindent
     (with-syntax-table tex-latex-indent-syntax-table
       ;; TODO: Rather than ignore $, we should try to be more clever about it.
--- a/lisp/tooltip.el	Sun Sep 25 22:07:01 2005 +0000
+++ b/lisp/tooltip.el	Fri Sep 30 11:43:45 2005 +0000
@@ -113,7 +113,8 @@
     (t
      :inherit variable-pitch))
   "Face for tooltips."
-  :group 'tooltip)
+  :group 'tooltip
+  :group 'basic-faces)
 
 (defcustom tooltip-use-echo-area nil
   "Use the echo area instead of tooltip frames for help and GUD tooltips."
--- a/lisp/tree-widget.el	Sun Sep 25 22:07:01 2005 +0000
+++ b/lisp/tree-widget.el	Fri Sep 30 11:43:45 2005 +0000
@@ -131,14 +131,29 @@
   :type  'boolean
   :group 'tree-widget)
 
+(defvar tree-widget-themes-load-path
+  '(load-path
+    (let ((dir (if (fboundp 'locate-data-directory)
+                   (locate-data-directory "tree-widget") ;; XEmacs
+                 data-directory)))
+      (and dir (list dir (expand-file-name "images" dir))))
+    )
+  "List of locations where to search for the themes sub-directory.
+Each element is an expression that will be evaluated to return a
+single directory or a list of directories to search.
+
+The default is to search in the `load-path' first, then in the
+\"images\" sub directory in the data directory, then in the data
+directory.
+The data directory is the value of the variable `data-directory' on
+Emacs, and what `(locate-data-directory \"tree-widget\")' returns on
+XEmacs.")
+
 (defcustom tree-widget-themes-directory "tree-widget"
   "*Name of the directory where to look up for image themes.
 When nil use the directory where the tree-widget library is located.
 When a relative name is specified, try to locate that sub directory in
-`load-path', then in the data directory, and use the first one found.
-The data directory is the value of the variable `data-directory' on
-Emacs, and what `(locate-data-directory \"tree-widget\")' returns on
-XEmacs.
+the locations specified in `tree-widget-themes-load-path'.
 The default is to use the \"tree-widget\" relative name."
   :type '(choice (const :tag "Default" "tree-widget")
                  (const :tag "With the library" nil)
@@ -236,7 +251,7 @@
       (apply 'create-image `(,file ,type nil ,@props)))
     (defsubst tree-widget-image-formats ()
       "Return the alist of image formats/file name extensions.
-See also the option `widget-image-file-name-suffixes'."
+See also the option `widget-image-conversion'."
       (delq nil
             (mapcar
              #'(lambda (fmt)
@@ -264,47 +279,54 @@
          (make-vector 4 nil))
     (aset tree-widget--theme 0 name)))
 
+(defun tree-widget--locate-sub-directory (name path)
+  "Locate the sub-directory NAME in PATH.
+Return the absolute name of the directory found, or nil if not found."
+  (let (dir elt)
+    (while (and (not dir) (consp path))
+      (setq elt  (condition-case nil (eval (car path)) (error nil))
+            path (cdr path))
+      (cond
+       ((stringp elt)
+        (setq dir (expand-file-name name elt))
+        (or (file-accessible-directory-p dir)
+            (setq dir nil)))
+       ((and elt (not (equal elt (car path))))
+        (setq dir (tree-widget--locate-sub-directory name elt)))))
+    dir))
+
 (defun tree-widget-themes-directory ()
   "Locate the directory where to search for a theme.
 It is defined in variable `tree-widget-themes-directory'.
 Return the absolute name of the directory found, or nil if the
 specified directory is not accessible."
   (let ((found (aref tree-widget--theme 1)))
-    (if found
-        ;; The directory is available in the cache.
-        (unless (eq found 'void) found)
-      (cond
-       ;; Use the directory where tree-widget is located.
-       ((null tree-widget-themes-directory)
-        (setq found (locate-library "tree-widget"))
-        (when found
-          (setq found (file-name-directory found))
-          (or (file-accessible-directory-p found)
-              (setq found nil))))
-       ;; Check accessibility of absolute directory name.
-       ((file-name-absolute-p tree-widget-themes-directory)
-        (setq found (expand-file-name tree-widget-themes-directory))
+    (cond
+     ;; The directory was not found.
+     ((eq found 'void)
+      (setq found nil))
+     ;; The directory is available in the cache.
+     (found)
+     ;; Use the directory where this library is located.
+     ((null tree-widget-themes-directory)
+      (setq found (locate-library "tree-widget"))
+      (when found
+        (setq found (file-name-directory found))
         (or (file-accessible-directory-p found)
-            (setq found nil)))
-       ;; Locate a sub-directory in `load-path' and data directory.
-       (t
-        (let ((path
-               (append load-path
-                       (list (if (fboundp 'locate-data-directory)
-                                 ;; XEmacs
-                                 (locate-data-directory "tree-widget")
-                               ;; Emacs
-                               data-directory)))))
-          (while (and path (not found))
-            (when (car path)
-              (setq found (expand-file-name
-                           tree-widget-themes-directory (car path)))
-              (or (file-accessible-directory-p found)
-                  (setq found nil)))
-            (setq path (cdr path))))))
-      ;; Store the result in the cache for later use.
-      (aset tree-widget--theme 1 (or found 'void))
-      found)))
+            (setq found nil))))
+     ;; Check accessibility of absolute directory name.
+     ((file-name-absolute-p tree-widget-themes-directory)
+      (setq found (expand-file-name tree-widget-themes-directory))
+      (or (file-accessible-directory-p found)
+          (setq found nil)))
+     ;; Locate a sub-directory in `tree-widget-themes-load-path'.
+     (t
+      (setq found (tree-widget--locate-sub-directory
+                   tree-widget-themes-directory
+                   tree-widget-themes-load-path))))
+    ;; Store the result in the cache for later use.
+    (aset tree-widget--theme 1 (or found 'void))
+    found))
 
 (defsubst tree-widget-set-image-properties (props)
   "In current theme, set images properties to PROPS."
@@ -351,9 +373,9 @@
     plist))
 
 (defconst tree-widget--cursors
-  ;; Pointer shapes when the mouse pointer is over tree-widget images.
-  ;; This feature works since Emacs 22, and ignored on older versions,
-  ;; and XEmacs.
+  ;; Pointer shapes when the mouse pointer is over inactive
+  ;; tree-widget images.  This feature works since Emacs 22, and
+  ;; ignored on older versions, and XEmacs.
   '(
     ("guide"     . arrow)
     ("no-guide"  . arrow)
--- a/lispref/ChangeLog	Sun Sep 25 22:07:01 2005 +0000
+++ b/lispref/ChangeLog	Fri Sep 30 11:43:45 2005 +0000
@@ -1,3 +1,13 @@
+2005-09-29  Juri Linkov  <juri@jurta.org>
+
+	* display.texi (Displaying Messages): Rename argument name
+	`string' to `format-string' in functions `message', `message-box',
+	`message-or-box'.
+
+2005-09-26  Chong Yidong  <cyd@stupidchicken.com>
+
+	* errors.texi (Standard Errors): Corrected xrefs.
+
 2005-09-18  Chong Yidong  <cyd@stupidchicken.com>
 
 	* display.texi (Defining Images): Updated documentation for
--- a/lispref/display.texi	Sun Sep 25 22:07:01 2005 +0000
+++ b/lispref/display.texi	Fri Sep 30 11:43:45 2005 +0000
@@ -208,9 +208,9 @@
   This section describes the functions for explicitly producing echo
 area messages.  Many other Emacs features display messages there, too.
 
-@defun message string &rest arguments
-This function displays a message in the echo area.  The
-argument @var{string} is similar to a C language @code{printf} control
+@defun message format-string &rest arguments
+This function displays a message in the echo area.  The argument
+@var{format-string} is similar to a C language @code{printf} format
 string.  See @code{format} in @ref{Formatting Strings}, for the details
 on the conversion specifications.  @code{message} returns the
 constructed string.
@@ -218,14 +218,15 @@
 In batch mode, @code{message} prints the message text on the standard
 error stream, followed by a newline.
 
-If @var{string}, or strings among the @var{arguments}, have @code{face}
-text properties, these affect the way the message is displayed.
+If @var{format-string}, or strings among the @var{arguments}, have
+@code{face} text properties, these affect the way the message is displayed.
 
 @c Emacs 19 feature
-If @var{string} is @code{nil}, @code{message} clears the echo area; if
-the echo area has been expanded automatically, this brings it back to
-its normal size.  If the minibuffer is active, this brings the
-minibuffer contents back onto the screen immediately.
+If @var{format-string} is @code{nil} or the empty string,
+@code{message} clears the echo area; if the echo area has been
+expanded automatically, this brings it back to its normal size.
+If the minibuffer is active, this brings the minibuffer contents back
+onto the screen immediately.
 
 @example
 @group
@@ -254,7 +255,7 @@
 the previous echo area contents.
 @end defmac
 
-@defun message-or-box string &rest arguments
+@defun message-or-box format-string &rest arguments
 This function displays a message like @code{message}, but may display it
 in a dialog box instead of the echo area.  If this function is called in
 a command that was invoked using the mouse---more precisely, if
@@ -268,7 +269,7 @@
 @code{last-nonmenu-event} to a suitable value around the call.
 @end defun
 
-@defun message-box string &rest arguments
+@defun message-box format-string &rest arguments
 This function displays a message like @code{message}, but uses a dialog
 box (or a pop-up menu) whenever that is possible.  If it is impossible
 to use a dialog box or pop-up menu, because the terminal does not
--- a/lispref/errors.texi	Sun Sep 25 22:07:01 2005 +0000
+++ b/lispref/errors.texi	Fri Sep 30 11:43:45 2005 +0000
@@ -41,15 +41,17 @@
 
 @item args-out-of-range
 @code{"Args out of range"}@*
-@xref{Sequences Arrays Vectors}.
+This happens when trying to access an element beyond the range of a
+sequence or buffer.@*
+@xref{Sequences Arrays Vectors}, @xref{Text}.
 
 @item arith-error
 @code{"Arithmetic error"}@*
-See @code{/} and @code{%} in @ref{Numbers}.
+@xref{Arithmetic Operations}.
 
 @item beginning-of-buffer
 @code{"Beginning of buffer"}@*
-@xref{Motion}.
+@xref{Character Motion}.
 
 @item buffer-read-only
 @code{"Buffer is read-only"}@*
@@ -57,7 +59,7 @@
 
 @item coding-system-error
 @code{"Invalid coding system"}@*
-@xref{Coding Systems}.
+@xref{Lisp and Coding Systems}.
 
 @item cyclic-function-indirection
 @code{"Symbol's chain of function indirections\@* contains a loop"}@*
@@ -69,7 +71,7 @@
 
 @item end-of-buffer
 @code{"End of buffer"}@*
-@xref{Motion}.
+@xref{Character Motion}.
 
 @item end-of-file
 @code{"End of file during parsing"}@*
@@ -111,11 +113,11 @@
 
 @item invalid-function
 @code{"Invalid function"}@*
-@xref{Classifying Lists}.
+@xref{Function Indirection}.
 
 @item invalid-read-syntax
 @code{"Invalid read syntax"}@*
-@xref{Input Functions}.
+@xref{Printed Representation}.
 
 @item invalid-regexp
 @code{"Invalid regexp"}@*
--- a/lwlib/ChangeLog	Sun Sep 25 22:07:01 2005 +0000
+++ b/lwlib/ChangeLog	Fri Sep 30 11:43:45 2005 +0000
@@ -1,3 +1,9 @@
+2005-09-27  Dan Nicolaescu  <dann@ics.uci.edu>
+
+	* xlwmenu.c (find_next_selectable): 
+	(find_prev_selectable): Add missing parameter
+	declarations.
+
 2005-09-24  Dan Nicolaescu  <dann@ics.uci.edu>
 
 	* xlwmenu.c: Fix the return type for x_clear_errors and
--- a/lwlib/xlwmenu.c	Sun Sep 25 22:07:01 2005 +0000
+++ b/lwlib/xlwmenu.c	Fri Sep 30 11:43:45 2005 +0000
@@ -2138,6 +2138,7 @@
 find_next_selectable (mw, item, skip_titles)
      XlwMenuWidget mw;
      widget_value *item;
+     int skip_titles;
 {
   widget_value *current = item;
   enum menu_separator separator;
@@ -2174,6 +2175,7 @@
 find_prev_selectable (mw, item, skip_titles)
      XlwMenuWidget mw;
      widget_value *item;
+     int skip_titles;
 {
   widget_value *current = item;
   widget_value *prev = item;
--- a/man/ChangeLog	Sun Sep 25 22:07:01 2005 +0000
+++ b/man/ChangeLog	Fri Sep 30 11:43:45 2005 +0000
@@ -1,3 +1,22 @@
+2005-09-28  Simon Josefsson  <jas@extundo.com>
+
+	* message.texi (IDNA): Fix.
+
+2005-09-28  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	* gnus.texi (NNTP): Remove nntp-buggy-select, nntp-read-timeout,
+	nntp-server-hook, and nntp-warn-about-losing-connection; fix
+	description of nntp-open-connection-function.
+	(Common Variables): Fix descriptions.
+
+2005-09-26  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	* gnus.texi (Server Buffer Format): Document the %a format spec.
+
+2005-09-25  Richard M. Stallman  <rms@gnu.org>
+
+	* search.texi (Regexp Search): Doc search-whitespace-regexp.
+
 2005-09-22  Katsumi Yamaoka  <yamaoka@jpl.org>
 
 	* gnus.texi (Mail): Fix gnus-confirm-mail-reply-to-news entry.
--- a/man/gnus.texi	Sun Sep 25 22:07:01 2005 +0000
+++ b/man/gnus.texi	Fri Sep 30 11:43:45 2005 +0000
@@ -12199,6 +12199,9 @@
 
 @item s
 The opened/closed/denied status of the server.
+
+@item a
+Whether this server is agentized.
 @end table
 
 @vindex gnus-server-mode-line-format
@@ -12677,35 +12680,6 @@
 connection before giving up.  If it is @code{nil}, which is the default,
 no timeouts are done.
 
-@c @item nntp-command-timeout
-@c @vindex nntp-command-timeout
-@c @cindex PPP connections
-@c @cindex dynamic IP addresses
-@c If you're running Gnus on a machine that has a dynamically assigned
-@c address, Gnus may become confused.  If the address of your machine
-@c changes after connecting to the @acronym{NNTP} server, Gnus will simply sit
-@c waiting forever for replies from the server.  To help with this
-@c unfortunate problem, you can set this command to a number.  Gnus will
-@c then, if it sits waiting for a reply from the server longer than that
-@c number of seconds, shut down the connection, start a new one, and resend
-@c the command.  This should hopefully be transparent to the user.  A
-@c likely number is 30 seconds.
-@c
-@c @item nntp-retry-on-break
-@c @vindex nntp-retry-on-break
-@c If this variable is non-@code{nil}, you can also @kbd{C-g} if Gnus
-@c hangs.  This will have much the same effect as the command timeout
-@c described above.
-
-@item nntp-server-hook
-@vindex nntp-server-hook
-This hook is run as the last step when connecting to an @acronym{NNTP}
-server.
-
-@item nntp-buggy-select
-@vindex nntp-buggy-select
-Set this to non-@code{nil} if your select routine is buggy.
-
 @item nntp-nov-is-evil
 @vindex nntp-nov-is-evil
 If the @acronym{NNTP} server does not support @acronym{NOV}, you could set this
@@ -12737,11 +12711,6 @@
 @vindex nntp-prepare-server-hook
 A hook run before attempting to connect to an @acronym{NNTP} server.
 
-@item nntp-warn-about-losing-connection
-@vindex nntp-warn-about-losing-connection
-If this variable is non-@code{nil}, some noise will be made when a
-server closes connection.
-
 @item nntp-record-commands
 @vindex nntp-record-commands
 If non-@code{nil}, @code{nntp} will log all commands it sends to the
@@ -12754,8 +12723,8 @@
 It is possible to customize how the connection to the nntp server will
 be opened.  If you specify an @code{nntp-open-connection-function}
 parameter, Gnus will use that function to establish the connection.
-Five pre-made functions are supplied.  These functions can be grouped in
-two categories: direct connection functions (three pre-made), and
+Six pre-made functions are supplied.  These functions can be grouped in
+two categories: direct connection functions (four pre-made), and
 indirect ones (two pre-made).
 
 @item nntp-prepare-post-hook
@@ -12773,14 +12742,6 @@
 Note that not all servers support the recommended ID.  This works for
 INN versions 2.3.0 and later, for instance.
 
-@item nntp-read-timeout
-@vindex nntp-read-timeout
-How long nntp should wait between checking for the end of output.
-Shorter values mean quicker response, but is more CPU intensive.  The
-default is 0.1 seconds.  If you have a slow line to the server (and
-don't like to see Emacs eat your available CPU power), you might set
-this to, say, 1.
-
 @end table
 
 @menu
@@ -12955,7 +12916,9 @@
 
 The following variables affect the behavior of all, or several of the
 pre-made connection functions.  When not specified, all functions are
-affected.
+affected (the values of the following variables will be used as the
+default if each virtual @code{nntp} server doesn't specify those server
+variables individually).
 
 @table @code
 
@@ -12963,7 +12926,7 @@
 @vindex nntp-pre-command
 A command wrapper to use when connecting through a non native
 connection function (all except @code{nntp-open-network-stream},
-@code{nntp-open-tls-stream}, and @code{nntp-open-ssl-stream}.  This is
+@code{nntp-open-tls-stream}, and @code{nntp-open-ssl-stream}).  This is
 where you would put a @samp{SOCKS} wrapper for instance.
 
 @item nntp-address
@@ -12974,7 +12937,7 @@
 @vindex nntp-port-number
 Port number to connect to the @acronym{NNTP} server.  The default is
 @samp{nntp}.  If you use @acronym{NNTP} over
-@acronym{tls}/@acronym{ssl}, you may want to use integer ports rather
+@acronym{TLS}/@acronym{SSL}, you may want to use integer ports rather
 than named ports (i.e, use @samp{563} instead of @samp{snews} or
 @samp{nntps}), because external @acronym{TLS}/@acronym{SSL} tools may
 not work with named ports.
--- a/man/message.texi	Sun Sep 25 22:07:01 2005 +0000
+++ b/man/message.texi	Fri Sep 30 11:43:45 2005 +0000
@@ -839,13 +839,14 @@
 The @code{message-use-idna} variable control whether @acronym{IDNA} is
 used.  If the variable is @code{nil} no @acronym{IDNA} encoding will
 ever happen, if it is set to the symbol @code{ask} the user will be
-queried (the default), and if set to @code{t} @acronym{IDNA} encoding
-happens automatically.
+queried, and if set to @code{t} @acronym{IDNA} encoding happens
+automatically (the default).
 
 @findex message-idna-to-ascii-rhs
 If you want to experiment with the @acronym{IDNA} encoding, you can
 invoke @kbd{M-x message-idna-to-ascii-rhs RET} in the message buffer
-to have the non-@acronym{ASCII} domain names encoded while you edit the message.
+to have the non-@acronym{ASCII} domain names encoded while you edit
+the message.
 
 Note that you must have @uref{http://www.gnu.org/software/libidn/, GNU
 Libidn} installed in order to use this functionality.
--- a/man/search.texi	Sun Sep 25 22:07:01 2005 +0000
+++ b/man/search.texi	Fri Sep 30 11:43:45 2005 +0000
@@ -464,9 +464,12 @@
 defaults.  They also have separate search rings that you can access with
 @kbd{M-p} and @kbd{M-n}.
 
+@vindex search-whitespace-regexp
   If you type @key{SPC} in incremental regexp search, it matches any
-sequence of whitespace characters, including newlines.  If you want
-to match just a space, type @kbd{C-q @key{SPC}}.
+sequence of whitespace characters, including newlines.  If you want to
+match just a space, type @kbd{C-q @key{SPC}}.  You can control what a
+bare spece matches by setting the variable
+@code{search-whitespace-regexp} to the desired regexp.
 
   Note that adding characters to the regexp in an incremental regexp
 search can make the cursor move back and start again.  For example, if
--- a/nt/emacs.rc	Sun Sep 25 22:07:01 2005 +0000
+++ b/nt/emacs.rc	Fri Sep 30 11:43:45 2005 +0000
@@ -6,8 +6,8 @@
 #endif
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION 21,3,50,0
- PRODUCTVERSION 21,3,50,0
+ FILEVERSION 22,0,50,0
+ PRODUCTVERSION 22,0,50,0
  FILEFLAGSMASK 0x3FL
 #ifdef EMACSDEBUG
  FILEFLAGS 0x1L
@@ -24,12 +24,12 @@
 	BEGIN
 	    VALUE "CompanyName", "Free Software Foundation\0"
 	    VALUE "FileDescription", "GNU Emacs for Windows NT/95/98/2000/ME/XP\0"
-	    VALUE "FileVersion", "21, 3, 50, 0\0"
+	    VALUE "FileVersion", "22, 0, 50, 0\0"
 	    VALUE "InternalName", "Emacs\0"
 	    VALUE "LegalCopyright", "Copyright (C) 2002, 2003, 2004, 2005\0"
 	    VALUE "OriginalFilename", "emacs.exe"
 	    VALUE "ProductName", "Emacs: The extensible self-documenting text editor\0"
-	    VALUE "ProductVersion", "21, 3, 50, 0\0"
+	    VALUE "ProductVersion", "22, 0, 50, 0\0"
 	    VALUE "OLESelfRegister", "\0"
 	 END
      END
--- a/src/ChangeLog	Sun Sep 25 22:07:01 2005 +0000
+++ b/src/ChangeLog	Fri Sep 30 11:43:45 2005 +0000
@@ -1,3 +1,46 @@
+2005-09-29  Juri Linkov  <juri@jurta.org>
+
+	* editfns.c (Fmessage, Fmessage_box, Fmessage_or_box):
+	Rename argument name `string' to `format-string'.
+	(Fformat): Doc fix.
+
+2005-09-28  Kim F. Storm  <storm@cua.dk>
+
+	* image.c (gif_load): Fix size of allocated image buffer
+	for images where a sub-image may be larger than the image's
+	total height/width specifications.
+
+2005-09-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+	* macgui.h (struct _XCharStruct): Each member now takes short value.
+
+2005-09-27  Dan Nicolaescu  <dann@ics.uci.edu>
+
+	* xfaces.c (lookup_derived_face): Add parameter type.
+
+	* xdisp.c (cursor_row_fully_visible_p): Add parameter type.
+
+	* marker.c (verify_bytepos): Add parameter type.
+
+	* process.c (get_operating_system_release): Move prototype ...
+
+	* systime.h (get_operating_system_release): ... here.
+
+	* xterm.c (set_vertical_scroll_bar): Move prototype ...
+	(handle_one_xevent): Refer to union field to match the type
+	required by the function definition.
+
+	* xterm.h: ... here.
+
+	* fns.c (internal_equal, seed_random): Fix prototypes.
+	(internal_equal): Add missing parameter.
+
+2005-09-25  Richard M. Stallman  <rms@gnu.org>
+
+	* keyboard.c (update_menu_bindings): Variable deleted.
+	(syms_of_keyboard): Don't defvar it.
+	(parse_menu_item): Don't test it.
+
 2005-09-23  Richard M. Stallman  <rms@gnu.org>
 
 	* editfns.c (Fformat): Explicitly test for end of format string
@@ -9,7 +52,7 @@
 	BROKEN_GET_CURRENT_DIR_NAME.
 
 	* sysdep.c (get_current_dir_name): Also define if
-	BROKEN_GET_CURRENT_DIR_NAME. 
+	BROKEN_GET_CURRENT_DIR_NAME.
 
 	* m/ibmrs6000.h: Test for USG5, not USG5_4.
 
--- a/src/editfns.c	Sun Sep 25 22:07:01 2005 +0000
+++ b/src/editfns.c	Fri Sep 30 11:43:45 2005 +0000
@@ -3256,7 +3256,7 @@
 any existing message; this lets the minibuffer contents show.  See
 also `current-message'.
 
-usage: (message STRING &rest ARGS)  */)
+usage: (message FORMAT-STRING &rest ARGS)  */)
      (nargs, args)
      int nargs;
      Lisp_Object *args;
@@ -3286,7 +3286,7 @@
 If the first argument is nil or the empty string, clear any existing
 message; let the minibuffer contents show.
 
-usage: (message-box STRING &rest ARGS)  */)
+usage: (message-box FORMAT-STRING &rest ARGS)  */)
      (nargs, args)
      int nargs;
      Lisp_Object *args;
@@ -3348,7 +3348,7 @@
 If the first argument is nil or the empty string, clear any existing
 message; let the minibuffer contents show.
 
-usage: (message-or-box STRING &rest ARGS)  */)
+usage: (message-or-box FORMAT-STRING &rest ARGS)  */)
      (nargs, args)
      int nargs;
      Lisp_Object *args;
@@ -3413,8 +3413,8 @@
    : SBYTES (STRING))
 
 DEFUN ("format", Fformat, Sformat, 1, MANY, 0,
-       doc: /* Format a string out of a control-string and arguments.
-The first argument is a control string.
+       doc: /* Format a string out of a format-string and arguments.
+The first argument is a format control string.
 The other arguments are substituted into it to make the result, a string.
 It may contain %-sequences meaning to substitute the next argument.
 %s means print a string argument.  Actually, prints any object, with `princ'.
--- a/src/fns.c	Sun Sep 25 22:07:01 2005 +0000
+++ b/src/fns.c	Fri Sep 30 11:43:45 2005 +0000
@@ -77,10 +77,10 @@
 
 extern Lisp_Object Qinput_method_function;
 
-static int internal_equal ();
+static int internal_equal P_ ((Lisp_Object , Lisp_Object, int, int));
 
 extern long get_random ();
-extern void seed_random ();
+extern void seed_random P_ ((long));
 
 #ifndef HAVE_UNISTD_H
 extern long time ();
@@ -2169,7 +2169,7 @@
 	  if (!internal_equal (OVERLAY_START (o1), OVERLAY_START (o2),
 			       depth + 1, props)
 	      || !internal_equal (OVERLAY_END (o1), OVERLAY_END (o2),
-				  depth + 1))
+				  depth + 1, props))
 	    return 0;
 	  o1 = XOVERLAY (o1)->plist;
 	  o2 = XOVERLAY (o2)->plist;
--- a/src/image.c	Sun Sep 25 22:07:01 2005 +0000
+++ b/src/image.c	Fri Sep 30 11:43:45 2005 +0000
@@ -7369,8 +7369,17 @@
       return 0;
     }
 
-  width = img->width = max (gif->SWidth, gif->Image.Left + gif->Image.Width);
-  height = img->height = max (gif->SHeight, gif->Image.Top + gif->Image.Height);
+  image_top = gif->SavedImages[ino].ImageDesc.Top;
+  image_left = gif->SavedImages[ino].ImageDesc.Left;
+  image_width = gif->SavedImages[ino].ImageDesc.Width;
+  image_height = gif->SavedImages[ino].ImageDesc.Height;
+
+  width = img->width = max (gif->SWidth,
+			    max (gif->Image.Left + gif->Image.Width,
+				 image_left + image_width));
+  height = img->height = max (gif->SHeight,
+			      max (gif->Image.Top + gif->Image.Height,
+				   image_top + image_height));
 
   /* Create the X image and pixmap.  */
   if (!x_create_x_image_and_pixmap (f, width, height, 0, &ximg, &img->pixmap))
@@ -7405,11 +7414,6 @@
      requires more than can be done here (see the gif89 spec,
      disposal methods).  Let's simply assume that the part
      not covered by a sub-image is in the frame's background color.  */
-  image_top = gif->SavedImages[ino].ImageDesc.Top;
-  image_left = gif->SavedImages[ino].ImageDesc.Left;
-  image_width = gif->SavedImages[ino].ImageDesc.Width;
-  image_height = gif->SavedImages[ino].ImageDesc.Height;
-
   for (y = 0; y < image_top; ++y)
     for (x = 0; x < width; ++x)
       XPutPixel (ximg, x, y, FRAME_BACKGROUND_PIXEL (f));
--- a/src/keyboard.c	Sun Sep 25 22:07:01 2005 +0000
+++ b/src/keyboard.c	Fri Sep 30 11:43:45 2005 +0000
@@ -474,10 +474,6 @@
 
 int meta_key;
 
-/* Non-zero means force key bindings update in parse_menu_item.  */
-
-int update_menu_bindings;
-
 extern char *pending_malloc_warning;
 
 /* Circular buffer for pre-read keyboard input.  */
@@ -7402,9 +7398,7 @@
       else
 	def = AREF (item_properties, ITEM_PROPERTY_DEF);
 
-      if (!update_menu_bindings)
-	chkcache = 0;
-      else if (NILP (XCAR (cachelist))) /* Have no saved key.  */
+      if (NILP (XCAR (cachelist))) /* Have no saved key.  */
 	{
 	  if (newcache		/* Always check first time.  */
 	      /* Should we check everything when precomputing key
@@ -11407,12 +11401,6 @@
 `disable-point-adjustment' (which see) to non-nil.  */);
   Vglobal_disable_point_adjustment = Qnil;
 
-  DEFVAR_BOOL ("update-menu-bindings", &update_menu_bindings,
-	       doc: /* Non-nil means updating menu bindings is allowed.
-A value of nil means menu bindings should not be updated.
-Used during Emacs' startup.  */);
-  update_menu_bindings = 1;
-
   DEFVAR_LISP ("minibuffer-message-timeout", &Vminibuffer_message_timeout,
 	       doc: /* *How long to display an echo-area message when the minibuffer is active.
 If the value is not a number, such messages don't time out.  */);
--- a/src/macgui.h	Sun Sep 25 22:07:01 2005 +0000
+++ b/src/macgui.h	Fri Sep 30 11:43:45 2005 +0000
@@ -95,11 +95,14 @@
 /* Emulate XCharStruct.  */
 typedef struct _XCharStruct
 {
-  int rbearing;
-  int lbearing;
-  int width;
-  int ascent;
-  int descent;
+  short	lbearing;		/* origin to left edge of raster */
+  short	rbearing;		/* origin to right edge of raster */
+  short	width;			/* advance to next char's origin */
+  short	ascent;			/* baseline to top edge of raster */
+  short	descent;		/* baseline to bottom edge of raster */
+#if 0
+  unsigned short attributes;	/* per char flags (not predefined) */
+#endif
 } XCharStruct;
 
 #define STORE_XCHARSTRUCT(xcs, w, bds)			\
--- a/src/marker.c	Sun Sep 25 22:07:01 2005 +0000
+++ b/src/marker.c	Fri Sep 30 11:43:45 2005 +0000
@@ -256,6 +256,7 @@
 
 int
 verify_bytepos (charpos)
+     int charpos;
 {
   int below = 1;
   int below_byte = 1;
--- a/src/process.c	Sun Sep 25 22:07:01 2005 +0000
+++ b/src/process.c	Fri Sep 30 11:43:45 2005 +0000
@@ -187,7 +187,6 @@
 
 #include "syswait.h"
 
-extern void set_waiting_for_input P_ ((EMACS_TIME *));
 extern char *get_operating_system_release ();
 
 #ifndef USE_CRT_DLL
--- a/src/systime.h	Sun Sep 25 22:07:01 2005 +0000
+++ b/src/systime.h	Fri Sep 30 11:43:45 2005 +0000
@@ -154,6 +154,9 @@
 
 extern int set_file_times __P ((const char *, EMACS_TIME, EMACS_TIME));
 
+/* defined in keyboard.c */
+extern void set_waiting_for_input __P ((EMACS_TIME *));
+
 /* Compare times T1 and T2.  Value is 0 if T1 and T2 are the same.
    Value is < 0 if T1 is less than T2.  Value is > 0 otherwise.  */
 
--- a/src/xdisp.c	Sun Sep 25 22:07:01 2005 +0000
+++ b/src/xdisp.c	Fri Sep 30 11:43:45 2005 +0000
@@ -11470,6 +11470,7 @@
 cursor_row_fully_visible_p (w, force_p, current_matrix_p)
      struct window *w;
      int force_p;
+     int current_matrix_p;
 {
   struct glyph_matrix *matrix;
   struct glyph_row *row;
--- a/src/xterm.c	Sun Sep 25 22:07:01 2005 +0000
+++ b/src/xterm.c	Fri Sep 30 11:43:45 2005 +0000
@@ -4030,8 +4030,6 @@
 
 static Boolean xaw3d_pick_top;
 
-extern void set_vertical_scroll_bar P_ ((struct window *));
-
 /* Action hook installed via XtAppAddActionHook when toolkit scroll
    bars are used..  The hook is responsible for detecting when
    the user ends an interaction with the scroll bar, and generates
@@ -6759,13 +6757,13 @@
 			      && (int)(event.xbutton.time - ignore_next_mouse_click_timeout) > 0)
 			    {
 			      ignore_next_mouse_click_timeout = 0;
-			      construct_mouse_click (&inev.ie, &event, f);
+			      construct_mouse_click (&inev.ie, &event.xbutton, f);
 			    }
 			  if (event.type == ButtonRelease)
 			    ignore_next_mouse_click_timeout = 0;
 			}
 		      else
-			construct_mouse_click (&inev.ie, &event, f);
+			construct_mouse_click (&inev.ie, &event.xbutton, f);
 		    }
                 }
           }
--- a/src/xterm.h	Sun Sep 25 22:07:01 2005 +0000
+++ b/src/xterm.h	Fri Sep 30 11:43:45 2005 +0000
@@ -1006,6 +1006,7 @@
 extern void x_query_colors P_ ((struct frame *f, XColor *, int));
 extern void x_query_color P_ ((struct frame *f, XColor *));
 extern void x_clear_area P_ ((Display *, Window, int, int, int, int, int));
+extern void set_vertical_scroll_bar P_ ((struct window *));
 
 extern int x_dispatch_event P_ ((XEvent *, Display *));