# HG changeset patch # User Karoly Lorentey # Date 1076982745 0 # Node ID 03a73693678e63e3e9805b4ee2b1e66094d57807 # Parent fc638739c70fc411e4f397e82a9ef871ab494d89# Parent cc5e51e26b0cc5646b4821916fef28f14b43635f Merged in changes from CVS HEAD Patches applied: * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-71 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-72 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-73 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-74 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-75 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-76 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-77 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-78 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-79 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-80 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-81 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-82 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-83 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-84 Add lisp/emacs-lisp/macroexp.el * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-85 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-86 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-87 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-88 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-89 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-90 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-91 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-92 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-93 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-94 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-95 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-96 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-97 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-77 diff -r fc638739c70f -r 03a73693678e AUTHORS --- a/AUTHORS Tue Feb 10 13:52:03 2004 +0000 +++ b/AUTHORS Tue Feb 17 01:52:25 2004 +0000 @@ -882,7 +882,7 @@ Jonathan Vail: changed vc.el -Jonathan Yavner: wrote ses.el testcover-ses.el testcover-unsafep.el +Jonathan Yavner: wrote ses.el tcover-ses.el tcover-unsafep.el testcover.el unsafep.el and changed Makefile.in files.el ses-example.ses ses.texi diff -r fc638739c70f -r 03a73693678e ChangeLog --- a/ChangeLog Tue Feb 10 13:52:03 2004 +0000 +++ b/ChangeLog Tue Feb 17 01:52:25 2004 +0000 @@ -1,3 +1,12 @@ +2004-02-14 Jonathan Yavner + + * AUTHORS (JonathanYavner): Rename testcover-*.el to tcover-*.el + to match previous changes by Eli Zaretskii. + +2004-02-09 Luc Teirlinck + + * Makefile.in: Set CDPATH to an empty string. + 2004-01-27 Stefan Monnier * configure.in : Use fink packages if available. diff -r fc638739c70f -r 03a73693678e Makefile.in --- a/Makefile.in Tue Feb 10 13:52:03 2004 +0000 +++ b/Makefile.in Tue Feb 17 01:52:25 2004 +0000 @@ -53,6 +53,10 @@ SHELL = /bin/sh +# This may not work with certain non-GNU make's. It only matters when +# inheriting a CDPATH not starting with the current directory. +CDPATH= + # If Make doesn't predefine MAKE, set it here. @SET_MAKE@ diff -r fc638739c70f -r 03a73693678e etc/ChangeLog --- a/etc/ChangeLog Tue Feb 10 13:52:03 2004 +0000 +++ b/etc/ChangeLog Tue Feb 17 01:52:25 2004 +0000 @@ -1,3 +1,7 @@ +2004-02-08 Andreas Schwab + + * NEWS: Fix typo. + 2003-12-29 Ognyan Kulev * TUTORIAL.bg: Use windows-1251 encoding. Fix punctuation errors. diff -r fc638739c70f -r 03a73693678e etc/NEWS --- a/etc/NEWS Tue Feb 10 13:52:03 2004 +0000 +++ b/etc/NEWS Tue Feb 17 01:52:25 2004 +0000 @@ -97,16 +97,28 @@ The new user option 'overflow-newline-into-fringe' may be set to nil to revert to the old behaviour of continuing such lines. -** The buffer boundaries (i.e. first and last line in the buffer) may now -be marked with bitmaps in the fringes. In addition, up and down -arrow bitmaps may be shown at the top and bottom of the right fringe -if the window can be scrolled in either direction. +** The buffer boundaries (i.e. first and last line in the buffer) may +now be marked with angle bitmaps in the fringes. In addition, up and +down arrow bitmaps may be shown at the top and bottom of the left or +right fringe if the window can be scrolled in either direction. This behavior is activated by setting the buffer-local variable -`indicate-buffer-boundaries' to a non-nil value. If value is t, both -boundaries and scrolling arrows are shown; any other non-nil value -shows only the buffer boundaries. The default value of this variable -is found in `default-indicate-buffer-boundaries'. +`indicate-buffer-boundaries' to a non-nil value. The default value of +this variable is found in `default-indicate-buffer-boundaries'. + +If value is `left' or `right', both angle and arrow bitmaps are +displayed in the left or right fringe, resp. Any other non-nil value +causes the bitmap on the top line to be displayed in the left fringe, +and the bitmap on the bottom line in the right fringe. + +If value is a cons (ANGLES . ARROWS), the car specifies the position +of the angle bitmaps, and the cdr specifies the position of the arrow +bitmaps. + +For example, (t . right) places the top angle bitmap in left fringe, +the bottom angle bitmap in right fringe, and both arrow bitmaps in +right fringe. To show just the angle bitmaps in the left fringe, but +no arrow bitmaps, use (left . nil). ** New command `display-local-help' displays any local help at point in the echo area. It is bound to `C-h .'. It normally displays the @@ -283,7 +295,12 @@ ** New functions frame-current-scroll-bars and window-current-scroll-bars. These functions return the current locations of the vertical and -horisontal scroll bars in a frame or window. +horizontal scroll bars in a frame or window. + +--- +** Emacs now supports drag and drop for X. Dropping a file on a window + opens it, dropping text inserts the text. Dropping a file on a dired + buffer copies or moves the file to that directory. ** Under X, mouse-wheel-mode is turned on by default. @@ -968,7 +985,7 @@ +++ ** Diary sexp entries can have custom marking in the calendar. Diary sexp functions which only apply to certain days (such as -`diary-block' or `diary-cyclic' now take an optional parameter MARK, +`diary-block' or `diary-cyclic') now take an optional parameter MARK, which is the name of a face or a single-character string indicating how to highlight the day in the calendar display. Specifying a single-character string as @var{mark} places the character next to the @@ -1797,6 +1814,40 @@ * Lisp Changes in Emacs 21.4 +** New function 'define-fringe-bitmap' can now be used to change the +built-in fringe bitmaps, as well as create new fringe bitmaps. +The return value is a number identifying the new fringe bitmap. + +To change a built-in bitmap, do (require 'fringe) and identify the +bitmap to change with the value of the corresponding symbol, like +`left-truncation-fringe-bitmap' or `continued-line-fringe-bitmap'. + +** New function 'destroy-fringe-bitmap' may be used to destroy a +previously created bitmap, or restore a built-in bitmap. + +** New function 'set-fringe-bitmap-face' can now be used to set a +specific face to be used for a specific fringe bitmap. Normally, +this should be a face derived from the `fringe' face, specifying +the foreground color as the desired color of the bitmap. + +** There are new display properties, left-fringe and right-fringe, +that can be used to show a specific bitmap in the left or right fringe +bitmap of the display line. + +Format is 'display '(left-fringe BITMAP [FACE]), where BITMAP is a +number identifying a fringe bitmap, either built-in or as returned by +`define-fringe-bitmap', and FACE is an optional face name to be used +for displaying the bitmap. + +** New function `fringe-bitmaps-at-pos' returns a cons (LEFT . RIGHT) +identifying the current fringe bitmaps in the display line at a given +buffer position. A nil value means no bitmap. + ++++ +** New function `line-number-at-pos' returns line number of current +line in current buffer, or if optional buffer position is given, line +number of corresponding line in current buffer. + ** The default value of `sentence-end' is now defined using the new variable `sentence-end-without-space' which contains such characters that end a sentence without following spaces. diff -r fc638739c70f -r 03a73693678e leim/ChangeLog --- a/leim/ChangeLog Tue Feb 10 13:52:03 2004 +0000 +++ b/leim/ChangeLog Tue Feb 17 01:52:25 2004 +0000 @@ -1,3 +1,7 @@ +2004-02-16 J,bi(Br,bt(Bme Marant (tiny change) + + * Makefile.in (distclean maintainer-clean): Depend on clean. + 2004-01-27 Ognyan Kulev (tiny change) * quail/cyrillic.el ("bulgarian-bds"): Docstring fixed. diff -r fc638739c70f -r 03a73693678e leim/Makefile.in --- a/leim/Makefile.in Tue Feb 10 13:52:03 2004 +0000 +++ b/leim/Makefile.in Tue Feb 17 01:52:25 2004 +0000 @@ -226,7 +226,7 @@ rm -f ${TIT} ${NON-TIT} ${WORLD} ${TIT:.elc=.el} \ ${MISC-DIC} ${MISC-DIC:.elc=.el} leim-list.el -distclean maintainer-clean: +distclean maintainer-clean: clean if test -f stamp-subdir; then rm -rf ${SUBDIRS} stamp-subdir; fi rm -f Makefile diff -r fc638739c70f -r 03a73693678e lib-src/ChangeLog --- a/lib-src/ChangeLog Tue Feb 10 13:52:03 2004 +0000 +++ b/lib-src/ChangeLog Tue Feb 17 01:52:25 2004 +0000 @@ -1,3 +1,18 @@ +2004-02-14 Paul Eggert + + * rcs2log: Work correctly if CVSROOT specifies :fork: or + :local: methods, or omits the colon between the hostname + and the path. Allow :/ in repository path, since CVS does. + Fix typo: "pository" should be set from $CVSROOT, not $repository. + This fixes a bug reported by Wolfgang Scherer in + , + along with some related bugs I discovered by inspecting how + CVS itself parses $CVSROOT. + +2004-02-04 J,bi(Br,bt(Bme Marant (tiny) + + * emacsclient.c (decode_options): Fix handling of alternate editor. + 2004-01-27 Stefan Monnier * emacsclient.c (main): Don't use the hostname in the socket name. @@ -14,6 +29,12 @@ Only try su-fallback if the socket name was not explicit. Check socket name length in su-fallback case as well. +2004-01-20 Stefan Monnier + + * emacsclient.c (main): Stop if socket name too long. + Only try su-fallback if the socket name was not explicit. + Check socket name length in su-fallback case as well. + 2004-01-08 Andreas Schwab * emacsclient.c (main): Save errno from socket_status. @@ -54,7 +75,7 @@ 2003-08-25 Takaaki Ota (tiny change) - * etags.c (consider_token): check C++ `operator' only when the + * etags.c (consider_token): Check C++ `operator' only when the token len is long enough. 2003-08-20 Dave Love @@ -5493,7 +5514,8 @@ ;; coding: iso-2022-7bit ;; End: - Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003 + Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, + 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted provided the copyright notice and this notice are preserved. diff -r fc638739c70f -r 03a73693678e lib-src/emacsclient.c --- a/lib-src/emacsclient.c Tue Feb 10 13:52:03 2004 +0000 +++ b/lib-src/emacsclient.c Tue Feb 17 01:52:25 2004 +0000 @@ -106,6 +106,8 @@ int argc; char **argv; { + alternate_editor = getenv ("ALTERNATE_EDITOR"); + while (1) { int opt = getopt_long (argc, argv, @@ -114,8 +116,6 @@ if (opt == EOF) break; - alternate_editor = getenv ("ALTERNATE_EDITOR"); - switch (opt) { case 0: diff -r fc638739c70f -r 03a73693678e lib-src/rcs2log --- a/lib-src/rcs2log Tue Feb 10 13:52:03 2004 +0000 +++ b/lib-src/rcs2log Tue Feb 17 01:52:25 2004 +0000 @@ -29,10 +29,10 @@ Report bugs to .' -Id='$Id: rcs2log,v 1.52 2003/12/27 08:18:08 uid65632 Exp $' +Id='$Id: rcs2log,v 1.53 2004/02/15 07:41:58 uid65632 Exp $' -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2001, 2002, 2003, +# 2004 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -49,7 +49,7 @@ # Free Software Foundation, Inc., 59 Temple Place - Suite 330, # Boston, MA 02111-1307, USA. -Copyright='Copyright (C) 2003 Free Software Foundation, Inc. +Copyright='Copyright (C) 2004 Free Software Foundation, Inc. This program comes with NO WARRANTY, to the extent permitted by law. You may redistribute copies of this program under the terms of the GNU General Public License. @@ -251,18 +251,24 @@ rlog='cvs -q log' repository=`sed 1q &2 "$0: $CVSROOT: CVSROOT has multiple ':/'s" - exit 1;; - *:/*) + /* | :fork:* | :local:*) ;; + */*) # remote repository - pository=`expr "X$repository" : '.*:\(/.*\)'`;; - *) + pository=`expr "X$CVSROOT" : '[^/]*\(.*\)'`;; + esac + case $pository in + '') # local repository case $repository in /*) ;; - *) repository=${CVSROOT?}/$repository;; + *) + repository=${CVSROOT?}/$repository + case $repository in + :fork:* | :local:*) + repository=`expr "$repository" : ':[^:]*:\(.*\)'`;; + esac;; esac if test ! -d "$repository" then diff -r fc638739c70f -r 03a73693678e lisp/ChangeLog --- a/lisp/ChangeLog Tue Feb 10 13:52:03 2004 +0000 +++ b/lisp/ChangeLog Tue Feb 17 01:52:25 2004 +0000 @@ -1,3 +1,312 @@ +2004-02-16 Jari Aalto (tiny change) + + * filecache.el: All message and error commands now use prefix + "Filecache:" to make it easy to read *Messages* buffer. + +2004-02-16 Jari Aalto + + Autorevert: Add support to detect changed dired buffers. + * autorevert.el (auto-revert-active-p, auto-revert-list-diff) + (auto-revert-dired-file-list, auto-revert-dired-changed-p) + (auto-revert-handler, auto-revert-active-p): New functions. + (auto-revert-buffers): Moved revert logic to `auto-revert-handler' + and `auto-revert-active-p'. + (eval-when-compile): Defvar dired-directory. + +2004-02-16 Alfred M. Szmidt (tiny change) + + * progmodes/compile.el (compilation-directory): New defvar. + (compile): Save current directory in compilation-directory. + (recompile): Bind default-directory to compilation-directory if + that is non-nil. + +2004-02-16 Dave Love + + * newcomment.el (comment-insert-comment-function) + (comment-region-function, uncomment-region-function): New. + (comment-indent): Use comment-insert-comment-function. + (uncomment-region): Use uncomment-region-function. + (comment-region): Use comment-region-function. + + * emacs-lisp/rx.el (rx-not): Bind case-fold-search to nil. + +2004-02-16 Richard Stallman + + * Makefile.in (TAGS, TAGS-LISP): Filter out of `els' only + loaddefs* and ldefs-boot*. + +2004-02-16 Eli Zaretskii + + * mail/mail-utils.el (rmail-dont-reply-to): Anchor user login name + and email address at the beginning and end of the address. + + * mail/rmail.el (rmail-default-dont-reply-to-names): Make "info-" + anchored at the beginning of the email address. + +2004-02-16 TAKAI Kousuke (tiny change) + + * international/ccl.el (ccl-compile-write): Pass `left' to + ccl-embed-code to generate correct code of write-expr-register. + +2004-02-15 Dan Nicolaescu (tiny change) + + * progmodes/grep.el (grep-compute-defaults): Fix typos. + +2004-02-15 Jan Dj,Ad(Brv + + * x-dnd.el: Mention support for Motif in commentary. + (x-dnd-handle-drag-n-drop-event): Ditto. + +2004-02-14 Jonathan Yavner + + * ses.el: Use "ses--" prefixes for buffer-local variables. + Use (point-min) instead of 1, even when we know the buffer + is unnarrowed. + (ses-build-load-map): Delete. Distribute its content to defconst's for + the three maps. + (ses-menu, ses-header-line-menu): New menus. + (ses-mode-map): Use them. + (ses-read-number) New fun. Duplicates code from interactive "N" spec. + +2004-02-14 Martin Stjernholm + + * Makefile.in: Fixed the CC Mode recompile kludge so it works + when building in a different directory. + +2004-02-13 Luc Teirlinck + + * simple.el (kill-new): Put yank-handler property on the entire string. + +2004-02-11 Stefan Monnier + + * pcvs-defs.el (cvs-menu): Add `tag'. + +2004-02-11 Luc Teirlinck + + * simple.el (kill-append): Doc fix. + + * emacs-lisp/lisp-mode.el (lisp-mode-variables): + Adapt outline-regexp to the new conventions for commenting out code. + +2004-02-11 John Paul Wallington + + * mail/smtpmail.el (smtpmail-try-auth-methods): Fix typo. + +2004-02-10 Stefan Monnier + + * diff.el (diff-switches): New fun. + (diff, diff-backup): Use it. + (diff): Clean up the args construction. Use backquote. + Use listp instead of consp to avoid putting a nil arg. + +2004-02-10 Jan Dj,Ad(Brv + + * x-dnd.el (x-dnd-types-alist): Add COMPOUND_TEXT, FILE_NAME + handeled by x-dnd-handle-file-name. + (x-dnd-known-types): Add COMPOUND_TEXT. + (x-dnd-init-frame): Call x-dnd-init-motif-for-frame. + (x-dnd-get-state-cons-for-frame): Must do copy-sequence on + x-dnd-empty-state. + (x-dnd-forget-drop): Ditto. + (x-dnd-save-state): Add optional parameter extra-data (for Motif). + (x-dnd-handle-one-url): Return private when inserting text. + (x-dnd-insert-ctext): New function. + (x-dnd-handle-file-name): New function for FILE_NAME. + (x-dnd-handle-drag-n-drop-event): Add Motif, remove call to error. + (x-dnd-init-motif-for-frame, x-dnd-get-motif-value) + (x-dnd-motif-value-to-list, x-dnd-handle-motif): New functions. + +2004-02-10 Kenichi Handa + + * term/x-win.el (x-select-utf8-or-ctext): Use compare-strings + instead of while loop. + +2004-02-10 Miles Bader + + * emacs-lisp/macroexp.el: New file, implements `macroexpand-all'. + +2004-02-09 Kenichi Handa + + * tar-mode.el (tar-extract): Fix for the case that a file doesn't + have end-of-line. + +2004-02-09 Martin Stjernholm + + * Makefile.in: Added extra dependencies in the recompile target + needed to cope with the compile time macro expansions in CC Mode. + +2004-02-09 Kim F. Storm + + * fringe.el (no-fringe-bitmap, undef-fringe-bitmap) + (left-truncation-fringe-bitmap, right-truncation-fringe-bitmap) + (up-arrow-fringe-bitmap, down-arrow-fringe-bitmap) + (continued-line-fringe-bitmap, continuation-line-fringe-bitmap) + (overlay-arrow-fringe-bitmap, top-left-angle-fringe-bitmap) + (top-right-angle-fringe-bitmap, bottom-left-angle-fringe-bitmap) + (bottom-right-angle-fringe-bitmap, left-bracket-fringe-bitmap) + (right-bracket-fringe-bitmap, filled-box-cursor-fringe-bitmap) + (hollow-box-cursor-fringe-bitmap, hollow-square-fringe-bitmap) + (bar-cursor-fringe-bitmap, hbar-cursor-fringe-bitmap) + (empty-line-fringe-bitmap): Define standard fringe bitmaps id's. + +2004-02-08 Stefan Monnier + + * window.el (window-safely-shrinkable-p): Don't change the buffer-list. + Don't allow shrink if there's a window on our right. + + * progmodes/prolog.el (prolog-program-name): Use gprolog if available. + (prolog-mode-syntax-table, prolog-mode-abbrev-table, prolog-mode-map): + Bring together declaration and initialization. + (prolog-mode-variables): Don't set the syntax table. + Don't set paragraph-start and comment-indent-function. + Add /*..*/ to the comment regexps. + (prolog-mode-commands): Remove. Do it during init of prolog-mode-map. + (prolog-mode-map): Don't bind TAB. + (prolog-mode): Set the syntax table. + (prolog-comment-indent): Remove. + (inferior-prolog-mode-map): Initialize in the declaration. + (inferior-prolog-mode-syntax-table) + (inferior-prolog-mode-abbrev-table): New vars. + (inferior-prolog-mode): Derive from comint-mode. + (run-prolog): Avoid switch-to-buffer which can fail in dedicated and + minibuffer windows. + + * progmodes/grep.el (grep-regexp-alist): Allow :, \t and ( + in file names, as long as it is unabmiguous. + +2004-02-08 Andreas Schwab + + * textmodes/reftex-toc.el + (reftex-toc-load-all-files-for-promotion): Remove useless use of + format. Doc fix. + + * textmodes/refer.el (refer-find-entry-internal): Remove extra + format string arguments. + + * tar-mode.el (tar-parse-octal-integer-safe): Add missing format + string argument. + + * progmodes/xscheme.el (verify-xscheme-buffer): Fix format strings. + + * play/zone.el (zone-call): Fix format string. + + * net/webjump.el (webjump-builtin): Add missing format string argument. + + * midnight.el (midnight-delay-set): Remove extra format string argument. + + * mail/rmail.el (rmail-get-new-mail): Remove useless use of format. + + * hexl.el (hexl-insert-char): Add missing format string argument. + + * format.el (format-decode): Fix format string. + + * emulation/vi.el (vi-mode): Remove extra format string argument. + (vi-repeat-last-search): Likewise. + (vi-reverse-last-search): Likewise. + (vi-goto-mark): Likewise. + (vi-reverse-last-find-char): Likewise. + (vi-repeat-last-find-char): Likewise. + (vi-locate-def): Likewise. + + * emacs-lisp/lisp-mnt.el (lm-verify): Remove useless use of format. + + * ediff-util.el (ediff-toggle-read-only): Remove extra format + string argument. + (ediff-toggle-regexp-match): Likewise. + + * dired-aux.el (dired-do-query-replace-regexp): Add missing + format string argument. + + * calc/calc-map.el (calc-get-operator): Remove extra format + string argument. + + * calc/calc-forms.el (calc-convert-time-zones): Fix format string. + + * calc/calc-ext.el (calc-do-prefix-help): Remove extra format + string argument. + + * eshell/esh-mode.el (eshell-send-invisible): Fix format string. + + * eshell/em-hist.el (eshell-hist-word-reference): Fix format string. + + * emulation/viper-ex.el (ex-mark): Remove extra format string argument. + + * emacs-lisp/cl-macs.el (defstruct): Remove extra format string arg. + (cl-struct-setf-expander): Likewise. + + * vc.el (with-vc-file): Fix unsafe uses of error. + (vc-cancel-version): Likewise. + +2004-02-08 Jan Nieuwenhuizen (tiny change) + + * progmodes/gud.el (gud-jdb-marker-filter): Add period as optional + thousands separator; fixes : regexp for + non-english locales. + +2004-02-08 Andreas Schwab + + * view.el (view-mode-enable): Revert previous change. + +2004-02-07 Kim F. Storm + + * simple.el (line-number-at-pos): Rename from line-at-pos. + Uses changed (what-line and vc-annotate-warp-version). + +2004-02-06 Stefan Monnier + + * diff-mode.el (diff-file-regexp-alist, diff-error-regexp-alist) + (diff-mode): Remove aborted attempt at support for compile.el. + (diff-mode, diff-minor-mode): Avoid obsolete write-contents-hooks. + +2004-02-06 Andreas Schwab + + * view.el (view-mode-enable): Add view-mode-map to + minor-mode-overriding-map-alist. + +2004-02-05 Jan Dj,Ad(Brv + + * x-dnd.el (x-dnd-get-local-file-name): Fix byte compiler warning + +2004-02-04 Stefan Monnier + + * progmodes/cperl-mode.el (cperl-fill-paragraph): Call fill-paragraph + with point inside rather than after the paragraph. + +2004-02-04 Sam Steingold + + * mail/smtpmail.el (smtpmail-try-auth-methods): + Do not try authentication when no mechanism is available. + Pass port-name as defaultport to `netrc-machine'. + +2004-02-04 Stephen Eglen + + * iswitchb.el (iswitchb-minibuffer-setup-hook): Update doc string + to show how minibuffer height can be constrained. + +2004-02-04 John Paul Wallington + + * files.el (auto-mode-alist): Fix .scm, .stk, .ss, .sch entry. + +2004-02-03 Jan Dj,Ad(Brv + + * x-dnd.el: New file for drag and drop. + + * term/x-win.el: require x-dnd, set after-make-frame-functions + to x-dnd-init-frame, let x-dnd-handle-drag-n-drop-event handle + drag-n-drop event. + + * dired.el (dired-dnd-test-function, dired-dnd-popup-notice) + (dired-dnd-do-ask-action, dired-dnd-handle-local-file) + (dired-dnd-handle-file): New functions for drag and drop support. + (dired-mode): Initialize drag and drop if x-dnd present. + +2004-02-02 Stefan Monnier + + * progmodes/cperl-mode.el (cperl-mode-map, cperl-do-auto-fill) + (cperl-menu): Use fill-paragraph, not cperl-fill-paragraph. + (cperl-mode): Set fill-paragraph-function. + (cperl-fill-paragraph): Make it non-interactive. + 2004-02-02 Benjamin Rutt * diff-mode.el (diff-mode-shared-map): Bind q to `quit-window'. @@ -10,8 +319,7 @@ 2004-02-01 Andreas Schwab - * progmodes/executable.el (executable-command-find-posix-p): Doc - fix. + * progmodes/executable.el (executable-command-find-posix-p): Doc fix. 2004-02-01 Stephen Eglen diff -r fc638739c70f -r 03a73693678e lisp/Makefile.in --- a/lisp/Makefile.in Tue Feb 10 13:52:03 2004 +0000 +++ b/lisp/Makefile.in Tue Feb 17 01:52:25 2004 +0000 @@ -188,11 +188,11 @@ $(emacs) -f batch-update-authors $(srcdir)/AUTHORS $(srcdir) TAGS: $(lisptagsfiles1) $(lisptagsfiles2) - els=`echo $(lisptagsfiles1) $(lisptagsfiles2) | sed -e "s,$(lisp)/loaddefs.*\.el,,"`; \ + els=`echo $(lisptagsfiles1) $(lisptagsfiles2) | sed -e "s,$(lisp)/loaddefs[^ ]*,," -e "s,$(lisp)/ldefs-boot[^ ]*,,"`; \ ${ETAGS} $$els TAGS-LISP: $(lisptagsfiles1) $(lisptagsfiles2) - els=`echo $(lisptagsfiles1) $(lisptagsfiles2) | sed -e "s,$(lisp)/loaddefs.*\.el,,"`; \ + els=`echo $(lisptagsfiles1) $(lisptagsfiles2) | sed -e "s,$(lisp)/loaddefs[^ ]*,," -e "s,$(lisp)/ldefs-boot[^ ]*,,"`; \ ${ETAGS} -o TAGS-LISP $$els .SUFFIXES: .elc .el @@ -273,9 +273,18 @@ # Note that this doesn't create .elc files. It only recompiles if an # .elc is present. -recompile: doit +recompile: doit $(lisp)/progmodes/cc-mode.elc $(EMACS) $(EMACSOPT) -f batch-byte-recompile-directory $(lisp) +# CC Mode uses a compile time macro system which causes a compile time +# dependency in cc-mode.elc on the macros in cc-langs.el and the +# version string in cc-defs.el. +$(lisp)/progmodes/cc-mode.elc: \ + $(lisp)/progmodes/cc-mode.el \ + $(lisp)/progmodes/cc-langs.el \ + $(lisp)/progmodes/cc-defs.el + $(EMACS) $(EMACSOPT) -f batch-byte-compile $(lisp)/progmodes/cc-mode.el + # Prepare a bootstrap in the lisp subdirectory. # # Build loaddefs.el, because it's not sure it's up-to-date, and if it's not, diff -r fc638739c70f -r 03a73693678e lisp/autorevert.el --- a/lisp/autorevert.el Tue Feb 10 13:52:03 2004 +0000 +++ b/lisp/autorevert.el Tue Feb 17 01:52:25 2004 +0000 @@ -70,7 +70,11 @@ ;; Dependencies: (require 'timer) -(eval-when-compile (require 'cl)) +(autoload 'dired-get-filename "dired") + +(eval-when-compile + (defvar dired-directory) + (require 'cl)) ;; Custom Group: @@ -244,6 +248,82 @@ 'auto-revert-buffers) nil))) +(defun auto-revert-active-p () + "Check if auto-revert is active (in current buffer or globally)." + (or auto-revert-mode + (and + global-auto-revert-mode + (not global-auto-revert-ignore-buffer) + (not (memq major-mode + global-auto-revert-ignore-modes))))) + +(defun auto-revert-list-diff (a b) + "Check if strings in list A differ from list B." + (when (and a b) + (setq a (sort a 'string-lessp)) + (setq b (sort b 'string-lessp)) + (let (elt1 elt2) + (catch 'break + (while (and (setq elt1 (and a (pop a))) + (setq elt2 (and b (pop b)))) + (if (not (string= elt1 elt2)) + (throw 'break t))))))) + +(defun auto-revert-dired-file-list () + "Return list of dired files." + (let (file list) + (save-excursion + (goto-char (point-min)) + (while (not (eobp)) + (if (setq file (dired-get-filename t t)) + (push file list)) + (forward-line 1))) + list)) + +(defun auto-revert-dired-changed-p () + "Check if dired buffer has changed." + (when (and (stringp dired-directory) + ;; Exclude remote buffers, would be too slow for user + ;; modem, timeouts, network lag ... all is possible + (not (string-match "@" dired-directory)) + (file-directory-p dired-directory)) + (let ((files (directory-files dired-directory)) + (dired (auto-revert-dired-file-list))) + (or (not (eq (length files) (length dired))) + (auto-revert-list-diff files dired))))) + +(defun auto-revert-buffer-p () + "Check if current buffer should be reverted." + ;; Always include dired buffers to list. It would be too expensive + ;; to test the "revert" status here each time timer launches. + (or (eq major-mode 'dired-mode) + (and (not (buffer-modified-p)) + (if (buffer-file-name) + (and (file-readable-p (buffer-file-name)) + (not (verify-visited-file-modtime (current-buffer)))) + (and revert-buffer-function + (or (and global-auto-revert-mode + global-auto-revert-non-file-buffers) + auto-revert-mode)))))) + +(defun auto-revert-handler () + "Revert current buffer." + (let (done) + (cond + ((eq major-mode 'dired-mode) + ;; Dired includes revert-buffer-function + (when (and revert-buffer-function + (auto-revert-dired-changed-p)) + (setq done t) + (revert-buffer t t t))) + ((or (buffer-file-name) + revert-buffer-function) + (setq done t) + (revert-buffer 'ignore-auto 'dont-ask 'preserve-modes))) + (if (and done + auto-revert-verbose) + (message "Reverting buffer `%s'." (buffer-name))))) + (defun auto-revert-buffers () "Revert buffers as specified by Auto-Revert and Global Auto-Revert Mode. @@ -294,24 +374,9 @@ (memq buf auto-revert-buffer-list)) (setq auto-revert-buffer-list (delq buf auto-revert-buffer-list))) - (when (and - (or auto-revert-mode - (and - global-auto-revert-mode - (not global-auto-revert-ignore-buffer) - (not (memq major-mode - global-auto-revert-ignore-modes)))) - (not (buffer-modified-p)) - (if (buffer-file-name) - (and (file-readable-p (buffer-file-name)) - (not (verify-visited-file-modtime buf))) - (and revert-buffer-function - (or (and global-auto-revert-mode - global-auto-revert-non-file-buffers) - auto-revert-mode)))) - (if auto-revert-verbose - (message "Reverting buffer `%s'." buf)) - (revert-buffer 'ignore-auto 'dont-ask 'preserve-modes) + (when (and (auto-revert-active-p) + (auto-revert-buffer-p)) + (auto-revert-handler) ;; `preserve-modes' avoids changing the (minor) modes. But we ;; do want to reset the mode for VC, so we do it explicitly. (vc-find-file-hook))) diff -r fc638739c70f -r 03a73693678e lisp/calc/calc-ext.el --- a/lisp/calc/calc-ext.el Tue Feb 10 13:52:03 2004 +0000 +++ b/lisp/calc/calc-ext.el Tue Feb 17 01:52:25 2004 +0000 @@ -1,6 +1,6 @@ ;;; calc-ext.el --- various extension functions for Calc -;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002 Free Software Foundation, Inc. +;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2004 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainers: D. Goel @@ -1262,7 +1262,7 @@ (if key (if msgs (message "%s: %s: %c-" group (car msgs) key) - (message "%s: (none) %c-" group (car msgs) key)) + (message "%s: (none) %c-" group key)) (message "%s: %s" group (car msgs)))) (and key (calc-unread-command key)))) diff -r fc638739c70f -r 03a73693678e lisp/calc/calc-forms.el --- a/lisp/calc/calc-forms.el Tue Feb 10 13:52:03 2004 +0000 +++ b/lisp/calc/calc-forms.el Tue Feb 17 01:52:25 2004 +0000 @@ -1,6 +1,6 @@ ;;; calc-forms.el --- data format conversion functions for Calc -;; Copyright (C) 1990, 1991, 1992, 1993, 2001 Free Software Foundation, Inc. +;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2004 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainers: D. Goel @@ -212,11 +212,11 @@ ", to zone: ")))) (if (stringp old) (setq old (math-read-expr old))) (if (eq (car-safe old) 'error) - (error "Error in expression: " (nth 1 old))) + (error "Error in expression: %S" (nth 1 old))) (if (equal new "") (setq new "local")) (if (stringp new) (setq new (math-read-expr new))) (if (eq (car-safe new) 'error) - (error "Error in expression: " (nth 1 new))) + (error "Error in expression: %S" (nth 1 new))) (calc-enter-result 1 "tzcv" (list 'calcFunc-tzconv (calc-top-n 1) old new))))) diff -r fc638739c70f -r 03a73693678e lisp/calc/calc-map.el --- a/lisp/calc/calc-map.el Tue Feb 10 13:52:03 2004 +0000 +++ b/lisp/calc/calc-map.el Tue Feb 17 01:52:25 2004 +0000 @@ -1,6 +1,6 @@ ;;; calc-map.el --- higher-order functions for Calc -;; Copyright (C) 1990, 1991, 1992, 1993, 2001 Free Software Foundation, Inc. +;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2004 Free Software Foundation, Inc. ;; Author: David Gillespie ;; Maintainers: D. Goel @@ -700,10 +700,7 @@ (calcFunc-afixp . 2)))))) (oper3 (if (eq (nth 2 oper) 'calcFunc-inner) (calc-get-operator - (format "%s%s, inner (add)" msg dir - (substring - (symbol-name (nth 2 oper)) - 9))) + (format "%s%s, inner (add)" msg dir)) '(0 0 0))) (args nil) (nargs (if (> (nth 1 oper) 0) diff -r fc638739c70f -r 03a73693678e lisp/diff-mode.el --- a/lisp/diff-mode.el Tue Feb 10 13:52:03 2004 +0000 +++ b/lisp/diff-mode.el Tue Feb 17 01:52:25 2004 +0000 @@ -1,6 +1,6 @@ ;;; diff-mode.el --- a mode for viewing/editing context diffs -;; Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. +;; Copyright (C) 1998,1999,2000,01,02,03,2004 Free Software Foundation, Inc. ;; Author: Stefan Monnier ;; Keywords: convenience patch diff @@ -28,7 +28,7 @@ ;; commands, editing and various conversions as well as jumping ;; to the corresponding source file. -;; Inspired by Pavel Machek's patch-mode.el () +;; Inspired by Pavel Machek's patch-mode.el () ;; Some efforts were spent to have it somewhat compatible with XEmacs' ;; diff-mode as well as with compilation-minor-mode @@ -272,18 +272,6 @@ (nil "^--- \\([^\t\n]+\\)\t.*\n\\*" 1))) ; context diffs ;;;; -;;;; Compile support -;;;; - -(defvar diff-file-regexp-alist - '(("Index: \\(.+\\)" 1))) - -(defvar diff-error-regexp-alist - '(("@@ -\\([0-9]+\\),[0-9]+ \\+\\([0-9]+\\),[0-9]+ @@" nil 2) - ("--- \\([0-9]+\\),[0-9]+ ----" nil 1) - ("\\([0-9]+\\)\\(,[0-9]+\\)?[adc]\\([0-9]+\\)" nil 3))) - -;;;; ;;;; Movement ;;;; @@ -879,31 +867,11 @@ ;; (set (make-local-variable 'page-delimiter) "--- [^\t]+\t") ;; compile support - ;;;; compile support is not good enough yet. It should be merged - ;;;; with diff.el's support. - (set (make-local-variable 'compilation-file-regexp-alist) - diff-file-regexp-alist) - (set (make-local-variable 'compilation-error-regexp-alist) - diff-error-regexp-alist) - (when (string-match "\\.rej\\'" (or buffer-file-name "")) - (set (make-local-variable 'compilation-current-file) - (substring buffer-file-name 0 (match-beginning 0)))) - ;; Be careful not to change compilation-last-buffer when we're just - ;; doing a C-x v = (for example). - (if (boundp 'compilation-last-buffer) - (let ((compilation-last-buffer compilation-last-buffer)) - (compilation-minor-mode 1)) - (compilation-minor-mode 1)) - ;; M-RET and RET should be done by diff-mode because the `compile' - ;; support is significantly less good. - (add-to-list 'minor-mode-overriding-map-alist - (cons 'compilation-minor-mode (make-sparse-keymap))) - (when (and (> (point-max) (point-min)) diff-default-read-only) (toggle-read-only t)) ;; setup change hooks (if (not diff-update-on-the-fly) - (add-hook 'write-contents-hooks 'diff-write-contents-hooks) + (add-hook 'write-contents-functions 'diff-write-contents-hooks nil t) (make-local-variable 'diff-unhandled-changes) (add-hook 'after-change-functions 'diff-after-change-function nil t) (add-hook 'post-command-hook 'diff-post-command-hook nil t)) @@ -924,7 +892,7 @@ ;; FIXME: setup font-lock ;; setup change hooks (if (not diff-update-on-the-fly) - (add-hook 'write-contents-hooks 'diff-write-contents-hooks) + (add-hook 'write-contents-functions 'diff-write-contents-hooks nil t) (make-local-variable 'diff-unhandled-changes) (add-hook 'after-change-functions 'diff-after-change-function nil t) (add-hook 'post-command-hook 'diff-post-command-hook nil t))) diff -r fc638739c70f -r 03a73693678e lisp/diff.el --- a/lisp/diff.el Tue Feb 10 13:52:03 2004 +0000 +++ b/lisp/diff.el Tue Feb 17 01:52:25 2004 +0000 @@ -1,6 +1,6 @@ ;;; diff.el --- run `diff' in compilation-mode -;; Copyright (C) 1992, 1994, 1996, 2001 Free Software Foundation, Inc. +;; Copyright (C) 1992, 1994, 1996, 2001, 2004 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: unix, tools @@ -30,8 +30,6 @@ ;;; Code: -(require 'compile) - (defgroup diff nil "Comparing files with `diff'." :group 'tools) @@ -48,237 +46,109 @@ :type 'string :group 'diff) -(defvar diff-regexp-alist - '( - ;; -u format: @@ -OLDSTART,OLDEND +NEWSTART,NEWEND @@ - ("^@@ -\\([0-9]+\\),[0-9]+ \\+\\([0-9]+\\),[0-9]+ @@$" 1 2) - - ;; -c format: *** OLDSTART,OLDEND **** - ("^\\*\\*\\* \\([0-9]+\\),[0-9]+ \\*\\*\\*\\*$" 1 nil) - ;; --- NEWSTART,NEWEND ---- - ("^--- \\([0-9]+\\),[0-9]+ ----$" nil 1) - - ;; plain diff format: OLDSTART[,OLDEND]{a,d,c}NEWSTART[,NEWEND] - ("^\\([0-9]+\\)\\(,[0-9]+\\)?[adc]\\([0-9]+\\)\\(,[0-9]+\\)?$" 1 3) - - ;; -e (ed) format: OLDSTART[,OLDEND]{a,d,c} - ("^\\([0-9]+\\)\\(,[0-9]+\\)?[adc]$" 1) - - ;; -f format: {a,d,c}OLDSTART[ OLDEND] - ;; -n format: {a,d,c}OLDSTART LINES-CHANGED - ("^[adc]\\([0-9]+\\)\\( [0-9]+\\)?$" 1) - ) - "Alist of regular expressions to match difference sections in \\[diff] output. -Each element has the form (REGEXP OLD-IDX NEW-IDX). -Any text that REGEXP matches identifies one difference hunk -or the header of a hunk. - -The OLD-IDX'th subexpression of REGEXP gives the line number -in the old file, and NEW-IDX'th subexpression gives the line number -in the new file. If OLD-IDX or NEW-IDX -is nil, REGEXP matches only half a hunk.") - -(defvar diff-old-file nil - "This is the old file name in the comparison in this buffer.") -(defvar diff-new-file nil - "This is the new file name in the comparison in this buffer.") (defvar diff-old-temp-file nil "This is the name of a temp file to be deleted after diff finishes.") (defvar diff-new-temp-file nil "This is the name of a temp file to be deleted after diff finishes.") -;; See compilation-parse-errors-function (compile.el). -(defun diff-parse-differences (limit-search find-at-least) - (setq compilation-error-list nil) - (message "Parsing differences...") - - ;; Don't reparse diffs already seen at last parse. - (if compilation-parsing-end (goto-char compilation-parsing-end)) - - ;; Construct in REGEXP a regexp composed of all those in dired-regexp-alist. - (let ((regexp (mapconcat (lambda (elt) - (concat "\\(" (car elt) "\\)")) - diff-regexp-alist - "\\|")) - ;; (GROUP-IDX OLD-IDX NEW-IDX) - (groups (let ((subexpr 1)) - (mapcar (lambda (elt) - (prog1 - (cons subexpr - (mapcar (lambda (n) - (and n - (+ subexpr n))) - (cdr elt))) - (setq subexpr (+ subexpr 1 - (count-regexp-groupings - (car elt)))))) - diff-regexp-alist))) - - (new-error - (function (lambda (file subexpr) - (setq compilation-error-list - (cons - (list (save-excursion - ;; Report location of message - ;; at beginning of line. - (goto-char - (match-beginning subexpr)) - (beginning-of-line) - (point-marker)) - ;; Report location of corresponding text. - (list file nil) - (string-to-int - (buffer-substring - (match-beginning subexpr) - (match-end subexpr))) - nil) - compilation-error-list))))) +;; prompt if prefix arg present +(defun diff-switches () + (if current-prefix-arg + (read-string "Diff switches: " + (if (stringp diff-switches) + diff-switches + (mapconcat 'identity diff-switches " "))))) - (found-desired nil) - (num-loci-found 0) - g) - - (while (and (not found-desired) - ;; We don't just pass LIMIT-SEARCH to re-search-forward - ;; because we want to find matches containing LIMIT-SEARCH - ;; but which extend past it. - (re-search-forward regexp nil t)) - - ;; Find which individual regexp matched. - (setq g groups) - (while (and g (null (match-beginning (car (car g))))) - (setq g (cdr g))) - (setq g (car g)) - - (if (nth 1 g) ;OLD-IDX - (funcall new-error diff-old-file (nth 1 g))) - (if (nth 2 g) ;NEW-IDX - (funcall new-error diff-new-file (nth 2 g))) - - (setq num-loci-found (1+ num-loci-found)) - (if (or (and find-at-least - (>= num-loci-found find-at-least)) - (and limit-search (>= (point) limit-search))) - ;; We have found as many new loci as the user wants, - ;; or the user wanted a specific diff, and we're past it. - (setq found-desired t))) - (set-marker compilation-parsing-end - (if found-desired (point) - ;; Set to point-max, not point, so we don't perpetually - ;; parse the last bit of text when it isn't a diff header. - (point-max))) - (message "Parsing differences...done")) - (setq compilation-error-list (nreverse compilation-error-list))) - -(defun diff-process-setup () - "Set up \`compilation-exit-message-function' for \`diff'." - ;; Avoid frightening people with "abnormally terminated" - ;; if diff finds differences. - (set (make-local-variable 'compilation-exit-message-function) - (lambda (status code msg) - (cond ((not (eq status 'exit)) - (cons msg code)) - ((zerop code) - '("finished (no differences)\n" . "no differences")) - ((= code 1) - '("finished\n" . "differences found")) - (t - (cons msg code)))))) +(defun diff-sentinel (code) + "Code run when the diff process exits. +CODE is the exit code of the process. It should be 0 iff no diffs were found." + (if diff-old-temp-file (delete-file diff-old-temp-file)) + (if diff-new-temp-file (delete-file diff-new-temp-file)) + (save-excursion + (goto-char (point-max)) + (insert (format "\nDiff finished%s. %s\n" + (if (equal 0 code) " (no differences)" "") + (current-time-string))))) ;;;###autoload (defun diff (old new &optional switches no-async) "Find and display the differences between OLD and NEW files. Interactively the current buffer's file name is the default for NEW and a backup file for NEW is the default for OLD. -With prefix arg, prompt for diff switches. -If NO-ASYNC is non-nil, call diff synchronously." +If NO-ASYNC is non-nil, call diff synchronously. +With prefix arg, prompt for diff switches." (interactive - (nconc - (let (oldf newf) - (nreverse - (list - (setq newf (buffer-file-name) - newf (if (and newf (file-exists-p newf)) - (read-file-name - (concat "Diff new file: (default " - (file-name-nondirectory newf) ") ") - nil newf t) - (read-file-name "Diff new file: " nil nil t))) - (setq oldf (file-newest-backup newf) - oldf (if (and oldf (file-exists-p oldf)) - (read-file-name - (concat "Diff original file: (default " - (file-name-nondirectory oldf) ") ") - (file-name-directory oldf) oldf t) - (read-file-name "Diff original file: " - (file-name-directory newf) nil t)))))) - (if current-prefix-arg - (list (read-string "Diff switches: " - (if (stringp diff-switches) - diff-switches - (mapconcat 'identity diff-switches " ")))) - nil))) + (let (oldf newf) + (setq newf (buffer-file-name) + newf (if (and newf (file-exists-p newf)) + (read-file-name + (concat "Diff new file: (default " + (file-name-nondirectory newf) ") ") + nil newf t) + (read-file-name "Diff new file: " nil nil t))) + (setq oldf (file-newest-backup newf) + oldf (if (and oldf (file-exists-p oldf)) + (read-file-name + (concat "Diff original file: (default " + (file-name-nondirectory oldf) ") ") + (file-name-directory oldf) oldf t) + (read-file-name "Diff original file: " + (file-name-directory newf) nil t))) + (list oldf newf (diff-switches)))) (setq new (expand-file-name new) old (expand-file-name old)) - (let ((old-alt (file-local-copy old)) + (or switches (setq switches diff-switches)) ; If not specified, use default. + (let* ((old-alt (file-local-copy old)) (new-alt (file-local-copy new)) - buf) + (command + (mapconcat 'identity + `(,diff-command + ;; Use explicitly specified switches + ,@(if (listp switches) switches (list switches)) + ,@(if (or old-alt new-alt) + (list "-L" old "-L" new)) + ,(shell-quote-argument (or old-alt old)) + ,(shell-quote-argument (or new-alt new))) + " ")) + (buf (get-buffer-create "*Diff*")) + proc) (save-excursion - (let ((compilation-process-setup-function 'diff-process-setup) - (command - (mapconcat 'identity - (append (list diff-command) - ;; Use explicitly specified switches - (if switches - (if (consp switches) - switches (list switches)) - ;; If not specified, use default. - (if (consp diff-switches) - diff-switches - (list diff-switches))) - (if (or old-alt new-alt) - (list "-L" old "-L" new)) - (list - (shell-quote-argument (or old-alt old))) - (list - (shell-quote-argument (or new-alt new)))) - " "))) - (setq buf - (compile-internal command - "No more differences" "Diff" - 'diff-parse-differences - nil nil nil nil nil nil no-async)) - (set-buffer buf) - (set (make-local-variable 'diff-old-file) old) - (set (make-local-variable 'diff-new-file) new) - (set (make-local-variable 'diff-old-temp-file) old-alt) - (set (make-local-variable 'diff-new-temp-file) new-alt) - (set (make-local-variable 'compilation-finish-function) - (function (lambda (buff msg) - (if diff-old-temp-file - (delete-file diff-old-temp-file)) - (if diff-new-temp-file - (delete-file diff-new-temp-file))))) - ;; When async processes aren't available, the compilation finish - ;; function doesn't get chance to run. Invoke it by hand. - (or (fboundp 'start-process) - (funcall compilation-finish-function nil nil)) - buf)))) + (display-buffer buf) + (set-buffer buf) + (setq buffer-read-only nil) + (buffer-disable-undo (current-buffer)) + (erase-buffer) + (buffer-enable-undo (current-buffer)) + (diff-mode) + (set (make-local-variable 'revert-buffer-function) + `(lambda (ignore-auto noconfirm) + (diff ',old ',new ',switches ',no-async))) + (set (make-local-variable 'diff-old-temp-file) old-alt) + (set (make-local-variable 'diff-new-temp-file) new-alt) + (insert command "\n") + (if (and (not no-async) (fboundp 'start-process)) + (progn + (setq proc (start-process "Diff" buf shell-file-name + shell-command-switch command)) + (set-process-sentinel + proc (lambda (proc msg) + (with-current-buffer (process-buffer proc) + (diff-sentinel (process-exit-status proc)))))) + ;; Async processes aren't available. + (diff-sentinel + (call-process shell-file-name nil buf nil + shell-command-switch command)))) + buf)) ;;;###autoload (defun diff-backup (file &optional switches) "Diff this file with its backup file or vice versa. Uses the latest backup, if there are several numerical backups. If this file is a backup, diff it with its original. -The backup file is the first file given to `diff'." +The backup file is the first file given to `diff'. +With prefix arg, prompt for diff switches." (interactive (list (read-file-name "Diff (file with backup): ") - (if current-prefix-arg - (read-string "Diff switches: " - (if (stringp diff-switches) - diff-switches - (mapconcat 'identity - diff-switches " "))) - nil))) + (diff-switches))) (let (bak ori) (if (backup-file-name-p file) (setq bak file diff -r fc638739c70f -r 03a73693678e lisp/dired-aux.el --- a/lisp/dired-aux.el Tue Feb 10 13:52:03 2004 +0000 +++ b/lisp/dired-aux.el Tue Feb 17 01:52:25 2004 +0000 @@ -1,6 +1,6 @@ ;;; dired-aux.el --- less commonly used parts of dired -*-byte-compile-dynamic: t;-*- -;; Copyright (C) 1985, 1986, 1992, 1994, 1998, 2000, 2001 +;; Copyright (C) 1985, 1986, 1992, 1994, 1998, 2000, 2001, 2004 ;; Free Software Foundation, Inc. ;; Author: Sebastian Kremer . @@ -2114,7 +2114,7 @@ (let ((buffer (get-file-buffer file))) (if (and buffer (with-current-buffer buffer buffer-read-only)) - (error "File `%s' is visited read-only")))) + (error "File `%s' is visited read-only" file)))) (tags-query-replace from to delimited '(dired-get-marked-files nil nil 'dired-nondirectory-p))) diff -r fc638739c70f -r 03a73693678e lisp/dired.el --- a/lisp/dired.el Tue Feb 10 13:52:03 2004 +0000 +++ b/lisp/dired.el Tue Feb 17 01:52:25 2004 +0000 @@ -1292,7 +1292,16 @@ (or switches dired-listing-switches)) (set (make-local-variable 'font-lock-defaults) '(dired-font-lock-keywords t)) (dired-sort-other dired-actual-switches t) - (run-hooks 'dired-mode-hook)) + (run-hooks 'dired-mode-hook) + (when (featurep 'x-dnd) + (make-variable-buffer-local 'x-dnd-test-function) + (make-variable-buffer-local 'x-dnd-protocol-alist) + (setq x-dnd-test-function 'dired-dnd-test-function) + (setq x-dnd-protocol-alist + (append '(("^file:///" . dired-dnd-handle-local-file) + ("^file://" . dired-dnd-handle-file) + ("^file:" . dired-dnd-handle-local-file)) + x-dnd-protocol-alist)))) ;; Idiosyncratic dired commands that don't deal with marks. @@ -3131,6 +3140,93 @@ (autoload 'dired-query "dired-aux") + +;;;; Drag and drop support + +(defun dired-dnd-test-function (window action types) + "The test function for drag and drop into dired buffers. +WINDOW is where the mouse is when this function is called. It may be a frame +if the mouse is over the menu bar, scroll bar or tool bar. +ACTION is the suggested action from the source, and TYPES are the +types the drop data can have. This function only accepts drops with +types in `x-dnd-known-types'. It returns the action suggested by the source." + (let ((type (x-dnd-choose-type types))) + (if type + (cons action type) + nil))) + +(defun dired-dnd-popup-notice () + (x-popup-dialog + t + '("Recursive copies not enabled.\nSee variable dired-recursive-copies." + ("Ok" . nil)))) + + +(defun dired-dnd-do-ask-action (uri) + ;; No need to get actions and descriptions from the source, + ;; we only have three actions anyway. + (let ((action (x-popup-menu + t + (list "What action?" + (cons "" + '(("Copy here" . copy) + ("Move here" . move) + ("Link here" . link) + "--" + ("Cancel" . nil))))))) + (if action + (dired-dnd-handle-local-file uri action) + nil))) + +(defun dired-dnd-handle-local-file (uri action) + "Copy, move or link a file to the dired directory. +URI is the file to handle, ACTION is one of copy, move, link or ask. +Ask means pop up a menu for the user to select one of copy, move or link." + (require 'dired-aux) + (let* ((from (x-dnd-get-local-file-name uri t)) + (to (if from (concat (dired-current-directory) + (file-name-nondirectory from)) + nil))) + (if from + (cond ((or (eq action 'copy) + (eq action 'private)) ; Treat private as copy. + + ;; If copying a directory and dired-recursive-copies is nil, + ;; dired-copy-file silently fails. Pop up a notice. + (if (and (file-directory-p from) + (not dired-recursive-copies)) + (dired-dnd-popup-notice) + (progn + (dired-copy-file from to 1) + (dired-relist-entry to) + action))) + + ((eq action 'move) + (dired-rename-file from to 1) + (dired-relist-entry to) + action) + + ((eq action 'link) + (make-symbolic-link from to 1) + (dired-relist-entry to) + action) + + ((eq action 'ask) + (dired-dnd-do-ask-action uri)) + + (t nil))))) + +(defun dired-dnd-handle-file (uri action) + "Copy, move or link a file to the dired directory if it is a local file. +URI is the file to handle. If the hostname in the URI isn't local, do nothing. +ACTION is one of copy, move, link or ask. +Ask means pop up a menu for the user to select one of copy, move or link." + (let ((local-file (x-dnd-get-local-file-uri uri))) + (if local-file (dired-dnd-handle-local-file local-file action) + nil))) + + + (if (eq system-type 'vax-vms) (load "dired-vms")) diff -r fc638739c70f -r 03a73693678e lisp/ediff-util.el --- a/lisp/ediff-util.el Tue Feb 10 13:52:03 2004 +0000 +++ b/lisp/ediff-util.el Tue Feb 17 01:52:25 2004 +0000 @@ -1,6 +1,6 @@ ;;; ediff-util.el --- the core commands and utilities of ediff -;; Copyright (C) 1994, 95, 96, 97, 98, 99, 2000, 01, 02 Free Software Foundation, Inc. +;; Copyright (C) 1994, 95, 96, 97, 98, 99, 2000, 01, 02, 04 Free Software Foundation, Inc. ;; Author: Michael Kifer @@ -1080,8 +1080,10 @@ (eq this-command 'ediff-toggle-read-only) (file-exists-p file) (not (file-writable-p file))) - (message "Warning: file %s is read-only" - (ediff-abbreviate-file-name file) (beep 1))) + (progn + (beep 1) + (message "Warning: file %s is read-only" + (ediff-abbreviate-file-name file)))) )))) ;; checkout if visited file is checked in @@ -2233,7 +2235,7 @@ (if (y-or-n-p (format "Ignore regions that match %s regexps, OK? " - msg-connective alt-msg-connective)) + msg-connective)) (message "Will ignore regions that match %s regexps" msg-connective) (setq ediff-hide-regexp-connective alt-connective) (message "Will ignore regions that match %s regexps" @@ -2272,7 +2274,7 @@ (if (y-or-n-p (format "Focus on regions that match %s regexps, OK? " - msg-connective alt-msg-connective)) + msg-connective)) (message "Will focus on regions that match %s regexps" msg-connective) (setq ediff-focus-regexp-connective alt-connective) diff -r fc638739c70f -r 03a73693678e lisp/emacs-lisp/cl-macs.el --- a/lisp/emacs-lisp/cl-macs.el Tue Feb 10 13:52:03 2004 +0000 +++ b/lisp/emacs-lisp/cl-macs.el Tue Feb 17 01:52:25 2004 +0000 @@ -1,6 +1,6 @@ ;;; cl-macs.el --- Common Lisp macros -*-byte-compile-dynamic: t;-*- -;; Copyright (C) 1993, 2003 Free Software Foundation, Inc. +;; Copyright (C) 1993, 2003, 2004 Free Software Foundation, Inc. ;; Author: Dave Gillespie ;; Version: 2.02 @@ -2261,8 +2261,7 @@ (list (list 'or pred-check (list 'error (format "%s accessing a non-%s" - accessor name) - 'cl-x)))) + accessor name))))) (list (if (eq type 'vector) (list 'aref 'cl-x pos) (if (= pos 0) '(car cl-x) (list 'nth pos 'cl-x)))))) forms) @@ -2340,8 +2339,7 @@ (list (list 'or (subst temp 'cl-x pred-form) (list 'error (format - "%s storing a non-%s" accessor name) - temp)))) + "%s storing a non-%s" accessor name))))) (list (if (eq (car (get name 'cl-struct-type)) 'vector) (list 'aset temp pos store) (list 'setcar diff -r fc638739c70f -r 03a73693678e lisp/emacs-lisp/lisp-mnt.el --- a/lisp/emacs-lisp/lisp-mnt.el Tue Feb 10 13:52:03 2004 +0000 +++ b/lisp/emacs-lisp/lisp-mnt.el Tue Feb 17 01:52:25 2004 +0000 @@ -1,6 +1,6 @@ ;;; lisp-mnt.el --- utility functions for Emacs Lisp maintainers -;; Copyright (C) 1992, 1994, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. +;; Copyright (C) 1992, 1994, 1997, 2000, 2001, 2003, 2004 Free Software Foundation, Inc. ;; Author: Eric S. Raymond ;; Maintainer: FSF @@ -522,7 +522,7 @@ (setq ret (cond ((null name) - (format "Package %s does not exist")) + "Can't find package name") ((not (lm-authors)) "`Author:' tag missing") ((not (lm-maintainer)) @@ -546,7 +546,7 @@ (concat "^;;;[ \t]+" name "[ \t]+ends here[ \t]*$" "\\|^;;;[ \t]+ End of file[ \t]+" name) nil t))) - (format "Can't find the footer line")) + "Can't find the footer line") ((not (and (lm-copyright-mark) (lm-crack-copyright))) "Can't find a valid copyright notice") ((not (or non-fsf-ok diff -r fc638739c70f -r 03a73693678e lisp/emacs-lisp/lisp-mode.el --- a/lisp/emacs-lisp/lisp-mode.el Tue Feb 10 13:52:03 2004 +0000 +++ b/lisp/emacs-lisp/lisp-mode.el Tue Feb 17 01:52:25 2004 +0000 @@ -182,7 +182,7 @@ (make-local-variable 'parse-sexp-ignore-comments) (setq parse-sexp-ignore-comments t) (make-local-variable 'outline-regexp) - (setq outline-regexp ";;;;* \\|(") + (setq outline-regexp ";;;;* [^ \t\n]\\|(") (make-local-variable 'outline-level) (setq outline-level 'lisp-outline-level) (make-local-variable 'comment-start) diff -r fc638739c70f -r 03a73693678e lisp/emacs-lisp/macroexp.el --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/emacs-lisp/macroexp.el Tue Feb 17 01:52:25 2004 +0000 @@ -0,0 +1,197 @@ +;;; macroexp.el --- Additional macro-expansion support +;; +;; Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. +;; +;; Author: Miles Bader +;; Keywords: lisp, compiler, macros + +;; This file is part of GNU Emacs. + +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; GNU Emacs is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, +;; Boston, MA 02111-1307, USA. + +;;; Commentary: +;; +;; This file contains macro-expansions functions that are not defined in +;; the Lisp core, namely `macroexpand-all', which expands all macros in +;; a form, not just a top-level one. +;; + +;;; Code: + +;; Bound by the top-level `macroexpand-all', and modified to include any +;; macros defined by `defmacro'. +(defvar macroexpand-all-environment nil) + +(defun maybe-cons (car cdr original-cons) + "Return (CAR . CDR), using ORIGINAL-CONS if possible." + (if (and (eq car (car original-cons)) (eq cdr (cdr original-cons))) + original-cons + (cons car cdr))) + +;; We use this special macro to iteratively process forms and share list +;; structure of the result with the input. Doing so recursively using +;; `maybe-cons' results in excessively deep recursion for very long +;; input forms. +(defmacro macroexp-accumulate (#1=#:\(var\ list\) &rest body) + "Return a list of the results of evaluating BODY for each element of LIST. +Evaluate BODY with VAR bound to each `car' from LIST, in turn. +Return a list of the values of the final form in BODY. +The list structure of the result will share as much with LIST as +possible (for instance, when BODY just returns VAR unchanged, the +result will be eq to LIST)." + (let ((var (car #1#)) + (list (cadr #1#)) + (shared (make-symbol "shared")) + (unshared (make-symbol "unshared")) + (tail (make-symbol "tail")) + (new-el (make-symbol "new-el"))) + `(let* ((,shared ,list) + (,unshared nil) + (,tail ,shared) + ,var ,new-el) + (while ,tail + (setq ,var (car ,tail) + ,new-el (progn ,@body)) + (unless (eq ,var ,new-el) + (while (not (eq ,shared ,tail)) + (push (pop ,shared) ,unshared)) + (setq ,shared (cdr ,shared)) + (push ,new-el ,unshared)) + (setq ,tail (cdr ,tail))) + (nconc (nreverse ,unshared) ,shared)))) +(put 'macroexp-accumulate 'lisp-indent-function 1) + +(defun macroexpand-all-forms (forms &optional skip) + "Return FORMS with macros expanded. FORMS is a list of forms. +If SKIP is non-nil, then don't expand that many elements at the start of +FORMS." + (macroexp-accumulate (form forms) + (if (or (null skip) (zerop skip)) + (macroexpand-all-1 form) + (setq skip (1- skip)) + form))) + +(defun macroexpand-all-clauses (clauses &optional skip) + "Return CLAUSES with macros expanded. +CLAUSES is a list of lists of forms; any clause that's not a list is ignored. +If SKIP is non-nil, then don't expand that many elements at the start of +each clause." + (macroexp-accumulate (clause clauses) + (if (listp clause) + (macroexpand-all-forms clause skip) + clause))) + +(defun macroexpand-all-1 (form) + "Expand all macros in FORM. +This is an internal version of `macroexpand-all'. +Assumes the caller has bound `macroexpand-all-environment'." + (if (and (listp form) (eq (car form) 'backquote-list*)) + ;; Special-case `backquote-list*', as it is normally a macro that + ;; generates exceedingly deep expansions from relatively shallow input + ;; forms. We just process it `in reverse' -- first we expand all the + ;; arguments, _then_ we expand the top-level definition. + (macroexpand (macroexpand-all-forms form 1) + macroexpand-all-environment) + ;; Normal form; get its expansion, and then expand arguments. + (setq form (macroexpand form macroexpand-all-environment)) + (if (consp form) + (let ((fun (car form))) + (cond + ((eq fun 'cond) + (maybe-cons fun (macroexpand-all-clauses (cdr form)) form)) + ((eq fun 'condition-case) + (maybe-cons + fun + (maybe-cons (cadr form) + (maybe-cons (macroexpand-all-1 (nth 2 form)) + (macroexpand-all-clauses (nthcdr 3 form) 1) + (cddr form)) + (cdr form)) + form)) + ((eq fun 'defmacro) + (push (cons (cadr form) (cons 'lambda (cddr form))) + macroexpand-all-environment) + (macroexpand-all-forms form 3)) + ((eq fun 'defun) + (macroexpand-all-forms form 3)) + ((memq fun '(defvar defconst)) + (macroexpand-all-forms form 2)) + ((eq fun 'function) + (if (and (consp (cadr form)) (eq (car (cadr form)) 'lambda)) + (maybe-cons fun + (maybe-cons (macroexpand-all-forms (cadr form) 2) + nil + (cadr form)) + form) + form)) + ((memq fun '(let let*)) + (maybe-cons fun + (maybe-cons (macroexpand-all-clauses (cadr form) 1) + (macroexpand-all-forms (cddr form)) + (cdr form)) + form)) + ((eq fun 'quote) + form) + ((and (consp fun) (eq (car fun) 'lambda)) + ;; embedded lambda + (maybe-cons (macroexpand-all-forms fun 2) + (macroexpand-all-forms (cdr form)) + form)) + ;; The following few cases are for normal function calls that + ;; are known to funcall one of their arguments. The byte + ;; compiler has traditionally handled these functions specially + ;; by treating a lambda expression quoted by `quote' as if it + ;; were quoted by `function'. We make the same transformation + ;; here, so that any code that cares about the difference will + ;; see the same transformation. + ;; First arg is a function: + ((and (memq fun '(apply mapcar mapatoms mapconcat mapc)) + (consp (cadr form)) + (eq (car (cadr form)) 'quote)) + ;; We don't use `maybe-cons' since there's clearly a change. + (cons fun + (cons (macroexpand-all-1 (cons 'function (cdr (cadr form)))) + (macroexpand-all-forms (cddr form))))) + ;; Second arg is a function: + ((and (eq fun 'sort) + (consp (nth 2 form)) + (eq (car (nth 2 form)) 'quote)) + ;; We don't use `maybe-cons' since there's clearly a change. + (cons fun + (cons (macroexpand-all-1 (cadr form)) + (cons (macroexpand-all-1 + (cons 'function (cdr (nth 2 form)))) + (macroexpand-all-forms (nthcdr 3 form)))))) + (t + ;; For everything else, we just expand each argument (for + ;; setq/setq-default this works alright because the variable names + ;; are symbols). + (macroexpand-all-forms form 1)))) + form))) + +;;;###autoload +(defun macroexpand-all (form &optional environment) + "Return result of expanding macros at all levels in FORM. +If no macros are expanded, FORM is returned unchanged. +The second optional arg ENVIRONMENT specifies an environment of macro +definitions to shadow the loaded ones for use in file byte-compilation." + (let ((macroexpand-all-environment environment)) + (macroexpand-all-1 form))) + +(provide 'macroexp) + +;;; arch-tag: af9b8c24-c196-43bc-91e1-a3570790fa5a +;;; macroexp.el ends here diff -r fc638739c70f -r 03a73693678e lisp/emacs-lisp/rx.el --- a/lisp/emacs-lisp/rx.el Tue Feb 10 13:52:03 2004 +0000 +++ b/lisp/emacs-lisp/rx.el Tue Feb 17 01:52:25 2004 +0000 @@ -345,7 +345,8 @@ (defun rx-not (form) "Parse and produce code from FORM. FORM is `(not ...)'." (rx-check form) - (let ((result (rx-to-string (cadr form) 'no-group))) + (let ((result (rx-to-string (cadr form) 'no-group)) + case-fold-search) (cond ((string-match "\\`\\[^" result) (if (= (length result) 4) (substring result 2 3) diff -r fc638739c70f -r 03a73693678e lisp/emulation/vi.el --- a/lisp/emulation/vi.el Tue Feb 10 13:52:03 2004 +0000 +++ b/lisp/emulation/vi.el Tue Feb 17 01:52:25 2004 +0000 @@ -455,7 +455,7 @@ (vi-mode-setup)) (if (eq major-mode 'vi-mode) - (message "Already in vi-mode." (ding)) + (progn (ding) (message "Already in vi-mode.")) (setq vi-mode-old-local-map (current-local-map)) (setq vi-mode-old-mode-name mode-name) (setq vi-mode-old-major-mode major-mode) @@ -703,7 +703,7 @@ regexp-search-ring search-ring)))) (if (null search-command) - (message "No last search command to repeat." (ding)) + (progn (ding) (message "No last search command to repeat.")) (funcall search-command search-string nil nil arg))) (defun vi-reverse-last-search (arg &optional search-command search-string) @@ -718,7 +718,7 @@ regexp-search-ring search-ring)))) (if (null search-command) - (message "No last search command to repeat." (ding)) + (progn (ding) (message "No last search command to repeat.")) (funcall (cond ((eq search-command 're-search-forward) 're-search-backward) ((eq search-command 're-search-backward) 're-search-forward) ((eq search-command 'search-forward) 'search-backward) @@ -838,7 +838,7 @@ (t (let ((mark (vi-get-mark mark-char))) (if (null mark) - (message "Mark register undefined." (vi-ding)) + (progn (vi-ding) (message "Mark register undefined.")) (set-mark-command nil) (goto-char mark) (if line-flag (back-to-indentation))))))) @@ -881,7 +881,7 @@ (interactive "p") (if (null find-arg) (setq find-arg vi-last-find-char)) (if (null find-arg) - (message "No last find char to repeat." (ding)) + (progn (ding) (message "No last find char to repeat.")) (vi-find-char (cons (* (car find-arg) -1) (cdr find-arg)) count))) ;6/13/86 (defun vi-find-char (arg count) @@ -909,7 +909,7 @@ (interactive "p") (if (null find-arg) (setq find-arg vi-last-find-char)) (if (null find-arg) - (message "No last find char to repeat." (ding)) + (progn (ding) (message "No last find char to repeat.")) (vi-find-char find-arg count))) (defun vi-backward-find-char (count char) @@ -1465,7 +1465,8 @@ (goto-char (point-min)) (if (re-search-forward (concat "^(def[unvarconst ]*" name) nil t) nil - (message "No definition for \"%s\" in current file." name (ding)) + (ding) + (message "No definition for \"%s\" in current file." name) (set-mark-command t)))) (defun vi-split-open-line (arg) diff -r fc638739c70f -r 03a73693678e lisp/emulation/viper-ex.el --- a/lisp/emulation/viper-ex.el Tue Feb 10 13:52:03 2004 +0000 +++ b/lisp/emulation/viper-ex.el Tue Feb 17 01:52:25 2004 +0000 @@ -1,6 +1,6 @@ ;;; viper-ex.el --- functions implementing the Ex commands for Viper -;; Copyright (C) 1994, 95, 96, 97, 98, 2000, 01, 02 Free Software Foundation, Inc. +;; Copyright (C) 1994, 95, 96, 97, 98, 2000, 01, 02, 04 Free Software Foundation, Inc. ;; Author: Michael Kifer @@ -1458,7 +1458,7 @@ (if (eq 1 (length name)) (setq char (string-to-char name)) (error "`%s': Spurious text \"%s\" after mark name" - name (substring name 1) viper-SpuriousText)) + name (substring name 1))) (save-window-excursion (setq viper-ex-work-buf (get-buffer-create viper-ex-work-buf-name)) (set-buffer viper-ex-work-buf) diff -r fc638739c70f -r 03a73693678e lisp/eshell/em-hist.el --- a/lisp/eshell/em-hist.el Tue Feb 10 13:52:03 2004 +0000 +++ b/lisp/eshell/em-hist.el Tue Feb 17 01:52:25 2004 +0000 @@ -1,6 +1,6 @@ ;;; em-hist.el --- history list management -;; Copyright (C) 1999, 2000 Free Software Foundation +;; Copyright (C) 1999, 2000, 2004 Free Software Foundation ;; Author: John Wiegley @@ -523,7 +523,7 @@ ((string= "^" ref) 1) ((string= "$" ref) nil) ((string= "%" ref) - (error "`%' history word designator not yet implemented")))) + (error "`%%' history word designator not yet implemented")))) (defun eshell-hist-parse-arguments (&optional silent b e) "Parse current command arguments in a history-code-friendly way." diff -r fc638739c70f -r 03a73693678e lisp/eshell/esh-mode.el --- a/lisp/eshell/esh-mode.el Tue Feb 10 13:52:03 2004 +0000 +++ b/lisp/eshell/esh-mode.el Tue Feb 17 01:52:25 2004 +0000 @@ -1,6 +1,6 @@ ;;; esh-mode.el --- user interface -;; Copyright (C) 1999, 2000, 2001 Free Software Foundation +;; Copyright (C) 1999, 2000, 2001, 2004 Free Software Foundation ;; Author: John Wiegley @@ -1017,7 +1017,7 @@ Then send it to the process running in the current buffer." (interactive "P") ; Defeat snooping via C-x ESC ESC (let ((str (read-passwd - (format "Password: " + (format "%s Password: " (process-name (eshell-interactive-process)))))) (if (stringp str) (process-send-string (eshell-interactive-process) diff -r fc638739c70f -r 03a73693678e lisp/filecache.el --- a/lisp/filecache.el Tue Feb 10 13:52:03 2004 +0000 +++ b/lisp/filecache.el Tue Feb 17 01:52:25 2004 +0000 @@ -310,7 +310,7 @@ "Add FILE to the file cache." (interactive "fAdd File: ") (if (not (file-exists-p file)) - (message "File %s does not exist" file) + (message "Filecache: file %s does not exist" file) (let* ((file-name (file-name-nondirectory file)) (dir-name (file-name-directory file)) (the-entry (assoc-string @@ -441,7 +441,8 @@ (setq delete-list (cons (car elt) delete-list)))) file-cache-alist) (file-cache-delete-file-list delete-list) - (message "Deleted %d files from file cache" (length delete-list)))) + (message "Filecache: deleted %d files from file cache" + (length delete-list)))) (defun file-cache-delete-directory (directory) "Delete DIRECTORY from the file cache." @@ -454,8 +455,8 @@ (setq result (1+ result)))) file-cache-alist) (if (zerop result) - (error "No entries containing %s found in cache" directory) - (message "Deleted %d entries" result)))) + (error "Filecache: no entries containing %s found in cache" directory) + (message "Filecache: deleted %d entries" result)))) (defun file-cache-do-delete-directory (dir entry) (let ((directory-list (cdr entry)) @@ -488,14 +489,14 @@ (num) ) (if (not (listp directory-list)) - (error "Unknown type in file-cache-alist for key %s" file)) + (error "Filecache: unknown type in file-cache-alist for key %s" file)) (cond ;; Single element ((eq 1 len) (setq directory (elt directory-list 0))) ;; No elements ((eq 0 len) - (error "No directory found for key %s" file)) + (error "Filecache: no directory found for key %s" file)) ;; Multiple elements (t (let* ((minibuffer-dir (file-name-directory (minibuffer-contents))) diff -r fc638739c70f -r 03a73693678e lisp/files.el --- a/lisp/files.el Tue Feb 10 13:52:03 2004 +0000 +++ b/lisp/files.el Tue Feb 17 01:52:25 2004 +0000 @@ -1619,7 +1619,7 @@ ("\\.ltx\\'" . latex-mode) ("\\.dtx\\'" . doctex-mode) ("\\.el\\'" . emacs-lisp-mode) - ("\\.scm\\|\\.stk\\|\\.ss\\|\\.sch\\'" . scheme-mode) + ("\\.\\(scm\\|stk\\|ss\\|sch\\)\\'" . scheme-mode) ("\\.l\\'" . lisp-mode) ("\\.lisp\\'" . lisp-mode) ("\\.f\\'" . fortran-mode) diff -r fc638739c70f -r 03a73693678e lisp/format.el --- a/lisp/format.el Tue Feb 10 13:52:03 2004 +0000 +++ b/lisp/format.el Tue Feb 17 01:52:25 2004 +0000 @@ -1,6 +1,6 @@ ;;; format.el --- read and save files in multiple formats -;; Copyright (c) 1994, 1995, 1997, 1999 Free Software Foundation +;; Copyright (c) 1994, 1995, 1997, 1999, 2004 Free Software Foundation ;; Author: Boris Goldowsky @@ -287,7 +287,7 @@ (let ((do format) f) (while do (or (setq f (assq (car do) format-alist)) - (error "Unknown format" (car do))) + (error "Unknown format %s" (car do))) ;; Decode: (if (nth 3 f) (setq end (format-decode-run-method (nth 3 f) begin end))) diff -r fc638739c70f -r 03a73693678e lisp/fringe.el --- a/lisp/fringe.el Tue Feb 10 13:52:03 2004 +0000 +++ b/lisp/fringe.el Tue Feb 17 01:52:25 2004 +0000 @@ -35,6 +35,33 @@ ;;; Code: +;; Standard fringe bitmaps + +(defconst no-fringe-bitmap 0) +(defconst undef-fringe-bitmap 1) +(defconst left-truncation-fringe-bitmap 2) +(defconst right-truncation-fringe-bitmap 3) +(defconst up-arrow-fringe-bitmap 4) +(defconst down-arrow-fringe-bitmap 5) +(defconst continued-line-fringe-bitmap 6) +(defconst continuation-line-fringe-bitmap 7) +(defconst overlay-arrow-fringe-bitmap 8) +(defconst top-left-angle-fringe-bitmap 9) +(defconst top-right-angle-fringe-bitmap 10) +(defconst bottom-left-angle-fringe-bitmap 11) +(defconst bottom-right-angle-fringe-bitmap 12) +(defconst left-bracket-fringe-bitmap 13) +(defconst right-bracket-fringe-bitmap 14) +(defconst filled-box-cursor-fringe-bitmap 15) +(defconst hollow-box-cursor-fringe-bitmap 16) +(defconst hollow-square-fringe-bitmap 17) +(defconst bar-cursor-fringe-bitmap 18) +(defconst hbar-cursor-fringe-bitmap 19) +(defconst empty-line-fringe-bitmap 20) + + +;; Control presence of fringes + (defvar fringe-mode) (defun set-fringe-mode-1 (ignore value) diff -r fc638739c70f -r 03a73693678e lisp/gnus/ChangeLog --- a/lisp/gnus/ChangeLog Tue Feb 10 13:52:03 2004 +0000 +++ b/lisp/gnus/ChangeLog Tue Feb 17 01:52:25 2004 +0000 @@ -1,3 +1,9 @@ +2004-02-08 Andreas Schwab + + * nnlistserv.el (nnlistserv-kk-wash-article): Fix paren nesting. + + * gnus-score.el (gnus-summary-increase-score): Fix format string. + 2003-06-25 Sam Steingold * gnus-group.el (gnus-group-suspend): Avoid some consing. diff -r fc638739c70f -r 03a73693678e lisp/gnus/gnus-score.el --- a/lisp/gnus/gnus-score.el Tue Feb 10 13:52:03 2004 +0000 +++ b/lisp/gnus/gnus-score.el Tue Feb 17 01:52:25 2004 +0000 @@ -1,5 +1,5 @@ ;;; gnus-score.el --- scoring code for Gnus -;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001 +;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2004 ;; Free Software Foundation, Inc. ;; Author: Per Abrahamsen @@ -616,7 +616,7 @@ (gnus-score-insert-help "Match permanence" char-to-perm 2))) (gnus-score-kill-help-buffer) - (if mimic (message "%c %c %c" prefix hchar tchar pchar) + (if mimic (message "%c %c %c %c" prefix hchar tchar pchar) (message "")) (unless (setq temporary (cadr (assq pchar char-to-perm))) ;; Deal with der(r)ided superannuated paradigms. diff -r fc638739c70f -r 03a73693678e lisp/gnus/nnlistserv.el --- a/lisp/gnus/nnlistserv.el Tue Feb 10 13:52:03 2004 +0000 +++ b/lisp/gnus/nnlistserv.el Tue Feb 17 01:52:25 2004 +0000 @@ -1,6 +1,6 @@ ;;; nnlistserv.el --- retrieving articles via web mailing list archives -;; Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc. +;; Copyright (C) 1997, 1998, 1999, 2000, 2004 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news, mail @@ -127,7 +127,7 @@ (nnweb-decode-entities) (while headers (goto-char (point-min)) - (re-search-forward (format "