Mercurial > emacs
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
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 *));