Using saved parent location: http://bzr.savannah.gnu.org/r/emacs/trunk/ Now on revision 100586. ------------------------------------------------------------ revno: 100586 committer: Glenn Morris branch nick: trunk timestamp: Fri 2010-06-11 20:35:55 -0700 message: * Makefile.in (install-arch-indep): Delete any old info .gz files first. diff: === modified file 'ChangeLog' --- ChangeLog 2010-06-11 03:35:40 +0000 +++ ChangeLog 2010-06-12 03:35:55 +0000 @@ -1,3 +1,7 @@ +2010-06-12 Glenn Morris + + * Makefile.in (install-arch-indep): Delete any old info .gz files first. + 2010-06-11 Glenn Morris * configure.in (--without-compress-info): New option. === modified file 'Makefile.in' --- Makefile.in 2010-06-11 03:35:40 +0000 +++ Makefile.in 2010-06-12 03:35:55 +0000 @@ -583,6 +583,7 @@ ${INSTALL_DATA} $$f $(DESTDIR)${infodir}/$$f; \ chmod a+r $(DESTDIR)${infodir}/$$f; \ if [ -n "${GZIP_INFO}" ] && [ -n "${GZIP_PROG}" ]; then \ + rm -f $(DESTDIR)${infodir}/$$f.gz; \ ${GZIP_PROG} -9n $(DESTDIR)${infodir}/$$f; \ else true; fi; \ done; \ @@ -606,6 +607,7 @@ ${INSTALL_DATA} ${mansrcdir}/$${page} $(DESTDIR)${man1dir}/$${page}; \ chmod a+r $(DESTDIR)${man1dir}/$${page}; \ if [ -n "${GZIP_INFO}" ] && [ -n "${GZIP_PROG}" ]; then \ + rm -f $(DESTDIR)${man1dir}/$${page}.gz; \ ${GZIP_PROG} -9n $(DESTDIR)${man1dir}/$${page}; \ else true; fi ); \ done ------------------------------------------------------------ revno: 100585 committer: Juanma Barranquero branch nick: trunk timestamp: Fri 2010-06-11 23:26:13 +0200 message: Fix Windows makefiles to adapt to lisp/vc reorganization. * lib-src/makefile.w32-in (lisp2): Fix references to vc/vc-hooks.elc and vc/ediff-hook.elc. * lisp/makefile.w32-in (WINS_BASIC): Include new directory vc. diff: === modified file 'lib-src/ChangeLog' --- lib-src/ChangeLog 2010-06-10 01:04:45 +0000 +++ lib-src/ChangeLog 2010-06-11 21:26:13 +0000 @@ -1,3 +1,8 @@ +2010-06-11 Juanma Barranquero + + * makefile.w32-in (lisp2): Fix references to vc/vc-hooks.elc + and vc/ediff-hook.elc. + 2010-06-06 Dan Nicolaescu * ntlib.h: Remove code dealing with BSTRING. === modified file 'lib-src/makefile.w32-in' --- lib-src/makefile.w32-in 2010-05-08 18:47:07 +0000 +++ lib-src/makefile.w32-in 2010-06-11 21:26:13 +0000 @@ -279,8 +279,8 @@ $(lispsource)textmodes/text-mode.elc \ $(lispsource)emacs-lisp/timer.elc \ $(lispsource)jka-cmpr-hook.elc \ - $(lispsource)vc-hooks.elc \ - $(lispsource)ediff-hook.elc \ + $(lispsource)vc/vc-hooks.elc \ + $(lispsource)vc/ediff-hook.elc \ $(lispsource)epa-hook.elc \ $(TOOLTIP_SUPPORT) \ $(WINNT_SUPPORT) \ === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-06-11 21:19:23 +0000 +++ lisp/ChangeLog 2010-06-11 21:26:13 +0000 @@ -1,5 +1,7 @@ 2010-06-11 Juanma Barranquero + * makefile.w32-in (WINS_BASIC): Include new directory vc. + * loadup.el ("vc-hooks", "ediff-hook"): Load from lisp/vc/. 2010-06-11 Juri Linkov === modified file 'lisp/makefile.w32-in' --- lisp/makefile.w32-in 2010-01-13 08:35:10 +0000 +++ lisp/makefile.w32-in 2010-06-11 21:26:13 +0000 @@ -114,7 +114,8 @@ play \ progmodes \ textmodes \ - url + url \ + vc # Directories with lisp files to compile, and to extract data from # (customs, autoloads, etc.) ------------------------------------------------------------ revno: 100584 committer: Juanma Barranquero branch nick: trunk timestamp: Fri 2010-06-11 23:19:23 +0200 message: * loadup.el ("vc-hooks", "ediff-hook"): Load from lisp/vc/. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-06-11 19:09:57 +0000 +++ lisp/ChangeLog 2010-06-11 21:19:23 +0000 @@ -1,3 +1,7 @@ +2010-06-11 Juanma Barranquero + + * loadup.el ("vc-hooks", "ediff-hook"): Load from lisp/vc/. + 2010-06-11 Juri Linkov * finder.el (finder-known-keywords): Add keyword "vc" === modified file 'lisp/loadup.el' --- lisp/loadup.el 2010-05-21 00:22:58 +0000 +++ lisp/loadup.el 2010-06-11 21:19:23 +0000 @@ -243,8 +243,8 @@ (progn ; floating pt. functions if we have float support. (load "emacs-lisp/float-sup"))) -(load "vc-hooks") -(load "ediff-hook") +(load "vc/vc-hooks") +(load "vc/ediff-hook") (if (fboundp 'x-show-tip) (load "tooltip")) ;If you want additional libraries to be preloaded and their ------------------------------------------------------------ revno: 100583 committer: Juri Linkov branch nick: trunk timestamp: Fri 2010-06-11 22:09:57 +0300 message: * lisp/finder.el (finder-known-keywords): Add keyword "vc" for version control. * add-log.el, cvs-status.el, diff.el, diff-mode.el, ediff.el, * emerge.el, log-edit.el, log-view.el, pcvs.el, smerge-mode.el, * vc-annotate.el, vc-bzr.el, vc-dir.el, vc-dispatcher.el, vc-git.el, * vc-hg.el, vc-mtn.el, vc.el: Add keyword "vc". diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-06-11 18:51:00 +0000 +++ lisp/ChangeLog 2010-06-11 19:09:57 +0000 @@ -1,5 +1,15 @@ 2010-06-11 Juri Linkov + * finder.el (finder-known-keywords): Add keyword "vc" + for version control. + + * add-log.el, cvs-status.el, diff.el, diff-mode.el, ediff.el, + * emerge.el, log-edit.el, log-view.el, pcvs.el, smerge-mode.el, + * vc-annotate.el, vc-bzr.el, vc-dir.el, vc-dispatcher.el, vc-git.el, + * vc-hg.el, vc-mtn.el, vc.el: Add keyword "vc". + +2010-06-11 Juri Linkov + Move version control related files to the "vc" subdirectory. * add-log.el, cvs-status.el, diff.el, diff-mode.el, ediff-diff.el, * ediff.el, ediff-help.el, ediff-hook.el, ediff-init.el, === modified file 'lisp/finder.el' --- lisp/finder.el 2010-03-23 07:11:50 +0000 +++ lisp/finder.el 2010-06-11 19:09:57 +0000 @@ -76,6 +76,7 @@ (tex . "supporting code for the TeX formatter") (tools . "programming tools") (unix . "front-ends/assistants for, or emulators of, UNIX-like features") + (vc . "version control") (wp . "word processing") )) === modified file 'lisp/vc/add-log.el' --- lisp/vc/add-log.el 2010-06-11 18:51:00 +0000 +++ lisp/vc/add-log.el 2010-06-11 19:09:57 +0000 @@ -5,7 +5,7 @@ ;; Free Software Foundation, Inc. ;; Maintainer: FSF -;; Keywords: tools +;; Keywords: vc tools ;; This file is part of GNU Emacs. === modified file 'lisp/vc/cvs-status.el' --- lisp/vc/cvs-status.el 2010-06-11 18:51:00 +0000 +++ lisp/vc/cvs-status.el 2010-06-11 19:09:57 +0000 @@ -4,7 +4,7 @@ ;; 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. ;; Author: Stefan Monnier -;; Keywords: pcl-cvs cvs status tree tools +;; Keywords: pcl-cvs cvs status tree vc tools ;; This file is part of GNU Emacs. === modified file 'lisp/vc/diff-mode.el' --- lisp/vc/diff-mode.el 2010-06-11 18:51:00 +0000 +++ lisp/vc/diff-mode.el 2010-06-11 19:09:57 +0000 @@ -4,7 +4,7 @@ ;; 2007, 2008, 2009, 2010 Free Software Foundation, Inc. ;; Author: Stefan Monnier -;; Keywords: convenience patch diff +;; Keywords: convenience patch diff vc ;; This file is part of GNU Emacs. === modified file 'lisp/vc/diff.el' --- lisp/vc/diff.el 2010-06-11 18:51:00 +0000 +++ lisp/vc/diff.el 2010-06-11 19:09:57 +0000 @@ -6,7 +6,7 @@ ;; Author: Frank Bresz ;; (according to authors.el) ;; Maintainer: FSF -;; Keywords: unix, tools +;; Keywords: unix, vc, tools ;; This file is part of GNU Emacs. === modified file 'lisp/vc/ediff.el' --- lisp/vc/ediff.el 2010-06-11 18:51:00 +0000 +++ lisp/vc/ediff.el 2010-06-11 19:09:57 +0000 @@ -5,7 +5,7 @@ ;; Author: Michael Kifer ;; Created: February 2, 1994 -;; Keywords: comparing, merging, patching, tools, unix +;; Keywords: comparing, merging, patching, vc, tools, unix ;; Yoni Rabkin contacted the maintainer of this ;; file on 20/3/2008, and the maintainer agreed that when a bug is === modified file 'lisp/vc/emerge.el' --- lisp/vc/emerge.el 2010-06-11 18:51:00 +0000 +++ lisp/vc/emerge.el 2010-06-11 19:09:57 +0000 @@ -5,7 +5,7 @@ ;; This file is part of GNU Emacs. ;; Author: Dale R. Worley -;; Keywords: unix, tools +;; Keywords: unix, vc, tools ;; This software was created by Dale R. Worley and is ;; distributed free of charge. It is placed in the public domain and === modified file 'lisp/vc/log-edit.el' --- lisp/vc/log-edit.el 2010-06-11 18:51:00 +0000 +++ lisp/vc/log-edit.el 2010-06-11 19:09:57 +0000 @@ -4,7 +4,7 @@ ;; 2008, 2009, 2010 Free Software Foundation, Inc. ;; Author: Stefan Monnier -;; Keywords: pcl-cvs cvs commit log +;; Keywords: pcl-cvs cvs commit log vc ;; This file is part of GNU Emacs. === modified file 'lisp/vc/log-view.el' --- lisp/vc/log-view.el 2010-06-11 18:51:00 +0000 +++ lisp/vc/log-view.el 2010-06-11 19:09:57 +0000 @@ -4,7 +4,7 @@ ;; 2008, 2009, 2010 Free Software Foundation, Inc. ;; Author: Stefan Monnier -;; Keywords: rcs, sccs, cvs, log, version control, tools +;; Keywords: rcs, sccs, cvs, log, vc, tools ;; This file is part of GNU Emacs. === modified file 'lisp/vc/pcvs.el' --- lisp/vc/pcvs.el 2010-06-11 18:51:00 +0000 +++ lisp/vc/pcvs.el 2010-06-11 19:09:57 +0000 @@ -13,7 +13,7 @@ ;; (Greg Klanderman) greg@alphatech.com ;; (Jari Aalto+mail.emacs) jari.aalto@poboxes.com ;; Maintainer: (Stefan Monnier) monnier@gnu.org -;; Keywords: CVS, version control, release management +;; Keywords: CVS, vc, release management ;; This file is part of GNU Emacs. === modified file 'lisp/vc/smerge-mode.el' --- lisp/vc/smerge-mode.el 2010-06-11 18:51:00 +0000 +++ lisp/vc/smerge-mode.el 2010-06-11 19:09:57 +0000 @@ -4,7 +4,7 @@ ;; 2007, 2008, 2009, 2010 Free Software Foundation, Inc. ;; Author: Stefan Monnier -;; Keywords: tools revision-control merge diff3 cvs conflict +;; Keywords: vc, tools, revision control, merge, diff3, cvs, conflict ;; This file is part of GNU Emacs. === modified file 'lisp/vc/vc-annotate.el' --- lisp/vc/vc-annotate.el 2010-06-11 18:51:00 +0000 +++ lisp/vc/vc-annotate.el 2010-06-11 19:09:57 +0000 @@ -5,7 +5,7 @@ ;; Author: Martin Lorentzson ;; Maintainer: FSF -;; Keywords: tools +;; Keywords: vc tools ;; This file is part of GNU Emacs. === modified file 'lisp/vc/vc-bzr.el' --- lisp/vc/vc-bzr.el 2010-06-11 18:51:00 +0000 +++ lisp/vc/vc-bzr.el 2010-06-11 19:09:57 +0000 @@ -4,7 +4,7 @@ ;; Author: Dave Love ;; Riccardo Murri -;; Keywords: tools +;; Keywords: vc tools ;; Created: Sept 2006 ;; Version: 2008-01-04 (Bzr revno 25) ;; URL: http://launchpad.net/vc-bzr === modified file 'lisp/vc/vc-dir.el' --- lisp/vc/vc-dir.el 2010-06-11 18:51:00 +0000 +++ lisp/vc/vc-dir.el 2010-06-11 19:09:57 +0000 @@ -4,7 +4,7 @@ ;; Free Software Foundation, Inc. ;; Author: Dan Nicolaescu -;; Keywords: tools +;; Keywords: vc tools ;; This file is part of GNU Emacs. === modified file 'lisp/vc/vc-dispatcher.el' --- lisp/vc/vc-dispatcher.el 2010-06-11 18:51:00 +0000 +++ lisp/vc/vc-dispatcher.el 2010-06-11 19:09:57 +0000 @@ -5,7 +5,7 @@ ;; Author: FSF (see below for full credits) ;; Maintainer: Eric S. Raymond -;; Keywords: tools +;; Keywords: vc tools ;; This file is part of GNU Emacs. === modified file 'lisp/vc/vc-git.el' --- lisp/vc/vc-git.el 2010-06-11 18:51:00 +0000 +++ lisp/vc/vc-git.el 2010-06-11 19:09:57 +0000 @@ -3,7 +3,7 @@ ;; Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. ;; Author: Alexandre Julliard -;; Keywords: tools +;; Keywords: vc tools ;; This file is part of GNU Emacs. === modified file 'lisp/vc/vc-hg.el' --- lisp/vc/vc-hg.el 2010-06-11 18:51:00 +0000 +++ lisp/vc/vc-hg.el 2010-06-11 19:09:57 +0000 @@ -3,7 +3,7 @@ ;; Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. ;; Author: Ivan Kanis -;; Keywords: tools +;; Keywords: vc tools ;; This file is part of GNU Emacs. === modified file 'lisp/vc/vc-mtn.el' --- lisp/vc/vc-mtn.el 2010-06-11 18:51:00 +0000 +++ lisp/vc/vc-mtn.el 2010-06-11 19:09:57 +0000 @@ -3,7 +3,7 @@ ;; Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc. ;; Author: Stefan Monnier -;; Keywords: +;; Keywords: vc ;; This file is part of GNU Emacs. === modified file 'lisp/vc/vc.el' --- lisp/vc/vc.el 2010-06-11 18:51:00 +0000 +++ lisp/vc/vc.el 2010-06-11 19:09:57 +0000 @@ -6,7 +6,7 @@ ;; Author: FSF (see below for full credits) ;; Maintainer: Andre Spiegel -;; Keywords: tools +;; Keywords: vc tools ;; This file is part of GNU Emacs. ------------------------------------------------------------ revno: 100582 committer: Juri Linkov branch nick: trunk timestamp: Fri 2010-06-11 21:51:00 +0300 message: Move version control related files to the "vc" subdirectory. * add-log.el, cvs-status.el, diff.el, diff-mode.el, ediff-diff.el, * ediff.el, ediff-help.el, ediff-hook.el, ediff-init.el, * ediff-merg.el, ediff-mult.el, ediff-ptch.el, ediff-util.el, * ediff-vers.el, ediff-wind.el, emerge.el, log-edit.el, log-view.el, * pcvs-defs.el, pcvs.el, pcvs-info.el, pcvs-parse.el, pcvs-util.el, * smerge-mode.el, vc-annotate.el, vc-arch.el, vc-bzr.el, vc-cvs.el, * vc-dav.el, vc-dir.el, vc-dispatcher.el, vc.el, vc-git.el, * vc-hg.el, vc-hooks.el, vc-mtn.el, vc-rcs.el, vc-sccs.el, vc-svn.el: Move files to the "vc" subdirectory. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-06-11 14:39:54 +0000 +++ lisp/ChangeLog 2010-06-11 18:51:00 +0000 @@ -1,3 +1,16 @@ +2010-06-11 Juri Linkov + + Move version control related files to the "vc" subdirectory. + * add-log.el, cvs-status.el, diff.el, diff-mode.el, ediff-diff.el, + * ediff.el, ediff-help.el, ediff-hook.el, ediff-init.el, + * ediff-merg.el, ediff-mult.el, ediff-ptch.el, ediff-util.el, + * ediff-vers.el, ediff-wind.el, emerge.el, log-edit.el, log-view.el, + * pcvs-defs.el, pcvs.el, pcvs-info.el, pcvs-parse.el, pcvs-util.el, + * smerge-mode.el, vc-annotate.el, vc-arch.el, vc-bzr.el, vc-cvs.el, + * vc-dav.el, vc-dir.el, vc-dispatcher.el, vc.el, vc-git.el, + * vc-hg.el, vc-hooks.el, vc-mtn.el, vc-rcs.el, vc-sccs.el, vc-svn.el: + Move files to the "vc" subdirectory. + 2010-06-11 Chong Yidong * comint.el (comint-password-prompt-regexp): Fix 2010-04-10 change === added directory 'lisp/vc' === renamed file 'lisp/add-log.el' => 'lisp/vc/add-log.el' === renamed file 'lisp/cvs-status.el' => 'lisp/vc/cvs-status.el' === renamed file 'lisp/diff-mode.el' => 'lisp/vc/diff-mode.el' === renamed file 'lisp/diff.el' => 'lisp/vc/diff.el' === renamed file 'lisp/ediff-diff.el' => 'lisp/vc/ediff-diff.el' === renamed file 'lisp/ediff-help.el' => 'lisp/vc/ediff-help.el' === renamed file 'lisp/ediff-hook.el' => 'lisp/vc/ediff-hook.el' === renamed file 'lisp/ediff-init.el' => 'lisp/vc/ediff-init.el' === renamed file 'lisp/ediff-merg.el' => 'lisp/vc/ediff-merg.el' === renamed file 'lisp/ediff-mult.el' => 'lisp/vc/ediff-mult.el' === renamed file 'lisp/ediff-ptch.el' => 'lisp/vc/ediff-ptch.el' === renamed file 'lisp/ediff-util.el' => 'lisp/vc/ediff-util.el' === renamed file 'lisp/ediff-vers.el' => 'lisp/vc/ediff-vers.el' === renamed file 'lisp/ediff-wind.el' => 'lisp/vc/ediff-wind.el' === renamed file 'lisp/ediff.el' => 'lisp/vc/ediff.el' === renamed file 'lisp/emerge.el' => 'lisp/vc/emerge.el' === renamed file 'lisp/log-edit.el' => 'lisp/vc/log-edit.el' === renamed file 'lisp/log-view.el' => 'lisp/vc/log-view.el' === renamed file 'lisp/pcvs-defs.el' => 'lisp/vc/pcvs-defs.el' === renamed file 'lisp/pcvs-info.el' => 'lisp/vc/pcvs-info.el' === renamed file 'lisp/pcvs-parse.el' => 'lisp/vc/pcvs-parse.el' === renamed file 'lisp/pcvs-util.el' => 'lisp/vc/pcvs-util.el' === renamed file 'lisp/pcvs.el' => 'lisp/vc/pcvs.el' === renamed file 'lisp/smerge-mode.el' => 'lisp/vc/smerge-mode.el' === renamed file 'lisp/vc-annotate.el' => 'lisp/vc/vc-annotate.el' === renamed file 'lisp/vc-arch.el' => 'lisp/vc/vc-arch.el' === renamed file 'lisp/vc-bzr.el' => 'lisp/vc/vc-bzr.el' === renamed file 'lisp/vc-cvs.el' => 'lisp/vc/vc-cvs.el' === renamed file 'lisp/vc-dav.el' => 'lisp/vc/vc-dav.el' === renamed file 'lisp/vc-dir.el' => 'lisp/vc/vc-dir.el' === renamed file 'lisp/vc-dispatcher.el' => 'lisp/vc/vc-dispatcher.el' === renamed file 'lisp/vc-git.el' => 'lisp/vc/vc-git.el' === renamed file 'lisp/vc-hg.el' => 'lisp/vc/vc-hg.el' === renamed file 'lisp/vc-hooks.el' => 'lisp/vc/vc-hooks.el' === renamed file 'lisp/vc-mtn.el' => 'lisp/vc/vc-mtn.el' === renamed file 'lisp/vc-rcs.el' => 'lisp/vc/vc-rcs.el' === renamed file 'lisp/vc-sccs.el' => 'lisp/vc/vc-sccs.el' === renamed file 'lisp/vc-svn.el' => 'lisp/vc/vc-svn.el' === renamed file 'lisp/vc.el' => 'lisp/vc/vc.el' ------------------------------------------------------------ revno: 100581 committer: Chong Yidong branch nick: trunk timestamp: Fri 2010-06-11 10:39:54 -0400 message: Fix for comint-password-prompt-regexp (Bug#6367). * lisp/comint.el (comint-password-prompt-regexp): Fix 2010-04-10 change (Bug#6367). * comint-testsuite.el: New file. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-06-11 13:28:41 +0000 +++ lisp/ChangeLog 2010-06-11 14:39:54 +0000 @@ -1,3 +1,8 @@ +2010-06-11 Chong Yidong + + * comint.el (comint-password-prompt-regexp): Fix 2010-04-10 change + (Bug#6367). + 2010-06-11 Stephen Eglen * shell.el: Bind `shell-resync-dirs' to M-RET. === modified file 'lisp/comint.el' --- lisp/comint.el 2010-05-20 21:38:59 +0000 +++ lisp/comint.el 2010-06-11 14:39:54 +0000 @@ -340,7 +340,7 @@ ;; Something called "perforce" uses "Enter password:". (defcustom comint-password-prompt-regexp (concat - "^\\(" + "\\(" (regexp-opt '("Enter" "Enter same" "Old" "old" "New" "new" "'s" "login" "Kerberos" "CVS" "UNIX" " SMB" "LDAP" "[sudo]" "Repeat" "Bad")) === modified file 'test/ChangeLog' --- test/ChangeLog 2010-06-02 20:13:11 +0000 +++ test/ChangeLog 2010-06-11 14:39:54 +0000 @@ -1,3 +1,7 @@ +2010-06-11 Chong Yidong + + * comint-testsuite.el: New file. + 2010-06-02 Stefan Monnier * indent: New dir. === added file 'test/comint-testsuite.el' --- test/comint-testsuite.el 1970-01-01 00:00:00 +0000 +++ test/comint-testsuite.el 2010-06-11 14:39:54 +0000 @@ -0,0 +1,59 @@ +;;; bytecomp-testsuite.el + +;; Copyright (C) 2010 Free Software Foundation, Inc. + +;; 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 3 of the License, 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. If not, see . + +;;; Commentary: + +;; Tests for comint and related modes. + +;;; Code: + +(require 'comint) + +(defun comint-testsuite-run () + (interactive) + (with-output-to-temp-buffer "*comint test*" + (comint-testsuite--test-comint-password-prompt-regexp))) + +(defun comint-testsuite--test-comint-password-prompt-regexp () + (interactive) + (let ((password-strings + '("foo@example.net's password: " ;ssh + "Password for foo@example.org: " ; knit + "Kerberos password for devnull/root GNU.ORG: " ; ksu + "Enter passphrase: " ; ssh-add + "Enter passphrase (empty for no passphrase): " ; ssh-keygen + "Enter same passphrase again: " ; ssh-keygen + "Passphrase for key root@GNU.ORG: " ; plink + "[sudo] password for user:" ; Ubuntu sudo + "Password (again):" + "Enter password:")) + fail) + (dolist (str password-strings) + (unless (string-match comint-password-prompt-regexp str) + (setq fail t) + (princ (format " ERROR: comint-password-prompt-regexp did not match %s\n" + str)))) + (if fail + (princ "FAILED: comint-password-prompt-regexp test\n") + (princ "PASSED: comint-password-prompt-regexp test\n")))) + +(provide 'comint-testsuite) + +;;; comint-testsuite.el ends here + ------------------------------------------------------------ revno: 100580 committer: Stephen Eglen branch nick: trunk timestamp: Fri 2010-06-11 14:28:41 +0100 message: Bind `shell-resync-dirs' to M-RET in *shell* buffers. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-06-10 12:56:11 +0000 +++ lisp/ChangeLog 2010-06-11 13:28:41 +0000 @@ -1,3 +1,7 @@ +2010-06-11 Stephen Eglen + + * shell.el: Bind `shell-resync-dirs' to M-RET. + 2010-06-10 Michael Albinus * notifications.el: Move file from lisp/net, because it is === modified file 'lisp/shell.el' --- lisp/shell.el 2010-01-13 08:35:10 +0000 +++ lisp/shell.el 2010-06-11 13:28:41 +0000 @@ -340,6 +340,7 @@ (define-key shell-mode-map "\C-c\C-f" 'shell-forward-command) (define-key shell-mode-map "\C-c\C-b" 'shell-backward-command) (define-key shell-mode-map "\t" 'comint-dynamic-complete) + (define-key shell-mode-map (kbd "M-RET") 'shell-resync-dirs) (define-key shell-mode-map "\M-?" 'comint-dynamic-list-filename-completions) (define-key shell-mode-map [menu-bar completion] ------------------------------------------------------------ revno: 100579 committer: Glenn Morris branch nick: trunk timestamp: Thu 2010-06-10 20:41:02 -0700 message: * INSTALL: Revert previous accidental commit. diff: === modified file 'INSTALL' --- INSTALL 2010-06-11 03:35:40 +0000 +++ INSTALL 2010-06-11 03:41:02 +0000 @@ -6,37 +6,31 @@ This file contains general information. For more specific information -for the MS-Windows, GNUstep/Mac OS X, and MS-DOS ports, also see the files -nt/INSTALL, nextstep/INSTALL, and msdos/INSTALL. For information +for the Windows, GNUstep/Mac OS X, and MS-DOS ports, also see the files +nt/INSTALL nextstep/INSTALL, and msdos/INSTALL. For information specific to building from a Bazaar checkout (rather than a release), see the file INSTALL.BZR. BASIC INSTALLATION -On most Unix systems, you can build Emacs by first running the -`configure' shell script. This attempts to deduce correct values for -various system-dependent variables and features, and find the -directories where certain system headers and libraries are kept. -In a few cases, you may need to explicitly tell configure where to -find some things, or what options to use. - -`configure' creates a `Makefile' in several subdirectories, and a -`src/config.h' file containing system-dependent definitions. -Running the `make' utility then builds the package for your system. +The simplest way to build Emacs is to use the `configure' shell script +which attempts to guess correct values for various system-dependent +variables and features and find the directories where various system +headers and libraries are kept. It then creates a `Makefile' in each +subdirectory and a `config.h' file containing system-dependent +definitions. Running the `make' utility then builds the package for +your system. Here's the procedure to build Emacs using `configure' on systems which -are supported by it. In rare cases, if the simplified procedure fails, -you might need to use various non-default options, and maybe perform -some of the steps manually. The more detailed description in the rest -of the sections of this guide will help you do that, so please refer -to those sections if you need to. +are supported by it. If this simplified procedure fails, or if you +are using a platform such as MS-Windows, where `configure' script +doesn't work, you might need to use various non-default options, and +maybe perform some of the steps manually. The more detailed +description in the rest of the sections of this guide will help you do +that, so please refer to them if the simple procedure does not work. - 1. Make sure your system has at least 230 MB of free disk space. - This is for Emacs 23.2; Emacs gets bigger as more features are added. - The size of the final installed Emacs is about half this; see below. - This includes the space-saving that comes from automatically - compressing the Lisp source files on installation. + 1. Make sure your system has at least 120 MB of free disk space. 2a. `cd' to the directory where you unpacked Emacs and invoke the `configure' script: @@ -58,18 +52,17 @@ system names, wrong places for headers or libraries, missing libraries that you know are installed on your system, etc. - If you find anything wrong, you may have to pass to `configure' - one or more options specifying the explicit machine configuration - name, where to find various headers and libraries, etc. - Refer to the section DETAILED BUILDING AND INSTALLATION below. + If you find anything wrong, you will have to pass to `configure' + explicit machine configuration name, and one or more options + which tell it where to find various headers and libraries; refer + to DETAILED BUILDING AND INSTALLATION section below. - If `configure' didn't find some (optional) image support libraries, - such as Xpm, jpeg, etc., and you want to use them refer to the - subsection "Image support libraries" below. + If `configure' didn't find some image support libraries, such as + Xpm, jpeg, etc., and you want to use them refer to the subsection + "Image support libraries", below. If the details printed by `configure' don't make any sense to - you, but there are no obvious errors, assume that `configure' did - its job and proceed. + you, assume that `configure' did its job and proceed. 4. If you need to run the `configure' script more than once (e.g., with some non-default options), always clean the source @@ -86,7 +79,7 @@ in the `src' directory. You can try this program, to make sure it works: - src/emacs -Q + src/emacs -q 7. Assuming that the program `src/emacs' starts and displays its opening screen, you can install the program and its auxiliary @@ -100,13 +93,9 @@ make clean - You can delete the entire build directory if you do not plan to - build Emacs again. - - Note that the install automatically saves space by compressing - (provided you have the `gzip' program) those installed Lisp source (.el) - files that have corresponding .elc versions. You may also wish - to compress the installed Info files. + You can also save some space by compressing (with `gzip') Info files + and installed Lisp source (.el) files which have corresponding .elc + versions. ADDITIONAL DISTRIBUTION FILES @@ -168,15 +157,19 @@ running Emacs; however, note that Emacs will not be able to use colored icons in the toolbar if XPM support is not compiled in. -Here's the list of some of these optional libraries, and the URLs -where they can be found (in the unlikely event that your distribution -does not provide them): +Here's the list of these optional libraries, and the URLs where they +can be found: - . libXaw3d http://directory.fsf.org/project/xaw3d/ - . libxpm for XPM: http://www.x.org/releases/current/src/lib/ - . libpng for PNG: http://www.libpng.org/ + . libXaw3d for fancy 3D-style + scroll bars: ftp://ftp.x.org/contrib/widgets/Xaw3d/ + . libxpm for XPM: ftp://ftp.x.org/contrib/libraries/ + Get version 3.4k or later, which lets Emacs + use its own color allocation functions. + . libpng for PNG: ftp://ftp.simplesystems.org/pub/libpng/png/ . libz (for PNG): http://www.zlib.net/ - . libjpeg for JPEG: http://www.ijg.org/ (use a version newer than 6a) + . libjpeg for JPEG: ftp://ftp.uu.net/graphics/jpeg/ + Get version 6b -- 6a is reported to fail in + Emacs. . libtiff for TIFF: http://www.libtiff.org/ . libgif for GIF: http://sourceforge.net/projects/giflib/ @@ -190,22 +183,29 @@ * Extra fonts The Emacs distribution does not include fonts and does not install -them. You must do that yourself, if you need more fonts than your -distribution normally provides. +them. You must do that yourself. Emacs running on the GNU system supports both X fonts and local fonts (i.e. the fonts managed by the fontconfig library). For `Unicode' (ISO 10646) X fonts, see (packaged in Debian), - (packaged in Debian). -(In recent Debian versions, there is an extensive `misc-fixed' -iso10646-1 in the default X installation.) Perhaps also see + (packaged in Debian). (In +recent Debian versions, there is an extensive `misc-fixed' iso10646-1 +in the default X installation.) Perhaps also see . has basic fonts for Emacs's ISO-8859 charsets. +XFree86 release 4 (from and mirrors) +contains font support for most, if not all, of the charsets that Emacs +currently supports, including iso10646-1 encoded fonts for use with +the mule-unicode charsets. The font files should also be usable with +older X releases. Note that XFree 4 contains many iso10646-1 fonts +with minimal character repertoires, which can cause problems -- see +etc/PROBLEMS. + BDF Unicode fonts etl-unicode.tar.gz are available from and . These @@ -217,17 +217,15 @@ * GNU/Linux development packages -Many GNU/Linux systems do not come with development packages by default; -they include the files that you need to run Emacs, but not those you -need to compile it. For example, to compile Emacs with support for X -and graphics libraries, you may need to install the `X development' -package(s) and development versions of the jpeg, png, etc. packages. - -The names of the packages that you need varies according to the -GNU/Linux distribution that you use, and the options that you want to -configure Emacs with. On Debian-based systems, you can install all the -packages needed to build the installed version of Emacs with a command -like `apt-get build-dep emacs23'. +Many GNU/Linux systems do not come with development packages by +default; they just include the files that you need to run Emacs, but +not those you need to compile it. For example, to compile Emacs with +X11 support, you may need to install the special `X11 development' +package. For example, in April 2003, the package names to install +were `XFree86-devel' and `Xaw3d-devel' on Red Hat. On Debian, the +packages necessary to build the installed version should be +sufficient; they can be installed using `apt-get build-dep emacs21' in +Debian 3 and above. DETAILED BUILDING AND INSTALLATION: @@ -242,20 +240,21 @@ least 2.8 MB and can reach 100 MB or more. If the swapping space is insufficient, you will get an error in the command `temacs -batch -l loadup dump', found in `./src/Makefile.in', or possibly when -running the final dumped Emacs. (This should not be an issue -on any recent system.) +running the final dumped Emacs. -Building Emacs requires about 230 MB of disk space (including the -Emacs sources). Once installed, Emacs occupies about 120 MB in the file +Building Emacs requires about 140 MB of disk space (including the +Emacs sources) Once installed, Emacs occupies about 77 MB in the file system where it is installed; this includes the executable files, Lisp libraries, miscellaneous data files, and on-line documentation. If the building and installation take place in different directories, -then the installation procedure momentarily requires 230+120 MB. +then the installation procedure momentarily requires 140+77 MB. -2) In the unlikely event that `configure' does not detect your system -type correctly, consult `./etc/MACHINES' to see what --host, --build -options you should pass to `configure'. That file also offers hints -for getting around some possible installation problems. +2) Consult `./etc/MACHINES' to see what configuration name you should +give to the `configure' program. That file offers hints for +getting around some possible installation problems. The file lists +many different configurations, but only the part for your machine and +operating system is relevant. (The list is arranged in alphabetical +order by the vendor name.) 3) You can build Emacs in the top-level Emacs source directory or in a separate directory. @@ -263,10 +262,15 @@ 3a) To build in the top-level Emacs source directory, go to that directory and run the program `configure' as follows: - ./configure [--OPTION[=VALUE]] ... - -If `configure' cannot determine your system type, try again -specifying the proper --build, --host options explicitly. + ./configure [CONFIGURATION-NAME] [--OPTION[=VALUE]] ... + +The CONFIGURATION-NAME argument should be a configuration name given +in `./etc/MACHINES', with the system version number added at the end. + +You should try first omitting CONFIGURATION-NAME. This way, +`configure' will try to guess your system type. If it cannot guess, +or if something goes wrong in building or installing Emacs this way, +try again specifying the proper CONFIGURATION-NAME explicitly. If you don't want X support, specify `--with-x=no'. If you omit this option, `configure' will try to figure out for itself whether your @@ -279,16 +283,15 @@ Window System files installed in unusual places. These options also accept a list of directories, separated with colons. -[gtk is default] To get more attractive menus, you can specify an X toolkit when you configure Emacs; use the option `--with-x-toolkit=TOOLKIT', where -TOOLKIT is `gtk', `athena', or `motif' (`yes' and `lucid' are synonyms +TOOLKIT is `athena', `motif' or `gtk' (`yes' and `lucid' are synonyms for `athena'). On some systems, it does not work to use a toolkit with shared libraries. A free implementation of Motif, called LessTif, is available from . Compiling with LessTif or Motif causes a standard File Selection Dialog to pop up when you invoke file commands with the mouse. You can get fancy -3D-style scroll bars, even without Gtk or LessTif/Motif, if you have the +3D-style scroll bars, even without LessTif/Motif, if you have the Xaw3d library installed (see "Image support libraries" above for Xaw3d availability). @@ -322,10 +325,10 @@ Use --without-toolkit-scroll-bars to disable LessTif/Motif or Xaw3d scroll bars. -Use --without-xim to inhibit the default use of X Input Methods. -In this case, the X resource useXIM can be used to turn on use of XIM. +Use --without-xim to inhibit the default use of X Input Methods. In +this case, the X resource useXIM can be used to turn on use of XIM. -Use --disable-largefile to omit support for files larger than 2GB on +Use --disable-largefile omits support for files larger than 2GB on systems which support that. Use --without-sound to disable sound support. @@ -335,11 +338,11 @@ - Emacs (and the other utilities users run) go in PREFIXDIR/bin (unless the `--exec-prefix' option says otherwise). - The architecture-independent files go in PREFIXDIR/share/emacs/VERSION - (where VERSION is the version number of Emacs, like `23.2'). + (where VERSION is the version number of Emacs, like `19.27'). - The architecture-dependent files go in PREFIXDIR/libexec/emacs/VERSION/CONFIGURATION - (where CONFIGURATION is the configuration name, like - i686-pc-linux-gnu), unless the `--exec-prefix' option says otherwise. + (where CONFIGURATION is the configuration name, like mips-dec-ultrix4.2), + unless the `--exec-prefix' option says otherwise. The `--exec-prefix=EXECDIR' option allows you to specify a separate portion of the directory tree for installing architecture-specific @@ -351,16 +354,17 @@ For example, the command - ./configure --build=i386-linux-gnu --without-sound - -configures Emacs to build for a 32-bit GNU/Linux distribution, -without sound. - -`configure' doesn't do any compilation or installation itself. -It just creates the files that influence those things: -`./Makefile' in the top-level directory and several subdirectories; -and `./src/config.h'. For details on exactly what it does, see the -section called `CONFIGURATION BY HAND', below. + ./configure mips-dec-ultrix --with-x11 + +configures Emacs to build for a DECstation running Ultrix, with +support for the X11 window system. + +`configure' doesn't do any compilation or installation +itself. It just creates the files that influence those things: +`./Makefile', `lib-src/Makefile', `oldXMenu/Makefile', +`lwlib/Makefile', `src/Makefile', and `./src/config.h'. For details +on exactly what it does, see the section called `CONFIGURATION BY +HAND', below. When it is done, `configure' prints a description of what it did and creates a shell script `config.status' which, when run, recreates the @@ -432,9 +436,14 @@ To build in a separate directory, you must use a version of `make' that supports the `VPATH' variable, such as GNU `make'. -(Do not try to build in a separate directory by creating many links -to the real source directory -- there is no need, and installation -will fail.) +3c) Some people try to build in a separate directory by filling +it full of symlinks to the files in the real source directory. +If you do that, `make all' does work, but `make install' fails: +it copies the symbolic links rather than the actual files. + +As far as is known, there is no particular reason to use +a directory full of links rather than use the standard GNU +facilities to build in a separate directory (see 3b above). 4) Look at `./lisp/paths.el'; if some of those values are not right for your system, set up the file `./lisp/site-init.el' with Emacs @@ -445,7 +454,7 @@ (setq news-inews-program "/usr/bin/inews") is how you would override the default value of the variable -news-inews-program. +news-inews-program (which is "/usr/local/inews"). Before you override a variable this way, *look at the value* that the variable gets by default! Make sure you know what kind of value the @@ -464,11 +473,18 @@ site-load.el, Emacs will use *precisely* that value when it starts up again. If you do this, you are on your own! +Note that, on some systems, the code you place in site-init.el must +not use expand-file-name or any other function which may look +something up in the system's password and user information database. +See `./etc/PROBLEMS' for more details on which systems this affects. + The `site-*.el' files are nonexistent in the distribution. You do not need to create them if you have nothing to put in them. 6) Refer to the file `./etc/TERMS' for information on fields you may -wish to add to various termcap entries. +wish to add to various termcap entries. The files `./etc/termcap.ucb' +and `./etc/termcap.dat' may already contain appropriately-modified +entries. 7) Run `make' in the top directory of the Emacs distribution to finish building Emacs in the standard way. The final executable file is @@ -482,11 +498,11 @@ `/usr/local/bin' holds the executable programs users normally run - `emacs', `etags', `ctags', `b2m', `emacsclient', - `grep-changelog', and `rcs-checkin'. + and `rcs-checkin'. `/usr/local/share/emacs/VERSION/lisp' holds the Emacs Lisp library; `VERSION' stands for the number of the Emacs version - you are installing, like `23.1' or `23.2'. Since the + you are installing, like `18.59' or `19.27'. Since the Lisp library changes from one version of Emacs to another, including the version number in the path allows you to have several versions of Emacs installed @@ -494,17 +510,18 @@ make Emacs unavailable while installing a new version. `/usr/local/share/emacs/VERSION/etc' holds the Emacs tutorial, the DOC - file, and other architecture-independent files Emacs - might need while running. + file, the `yow' database, and other + architecture-independent files Emacs might need while + running. VERSION is as specified for `.../lisp'. `/usr/local/libexec/emacs/VERSION/CONFIGURATION-NAME' contains executable programs used by Emacs that users are not expected to run themselves. `VERSION' is the number of the Emacs version you are - installing, and `CONFIGURATION-NAME' is the value - deduced by the `configure' program to identify the + installing, and `CONFIGURATION-NAME' is the argument + you gave to the `configure' program to identify the architecture and operating system of your machine, - like `i686-pc-linux-gnu' or `sparc-sun-sunos'. Since + like `mips-dec-ultrix' or `sparc-sun-sunos'. Since these files are specific to the version of Emacs, operating system, and architecture in use, including the configuration name in the path allows you to have @@ -516,9 +533,10 @@ `/usr/local/share/info' holds the on-line documentation for Emacs, known as "info files". Many other GNU programs are documented using info files as well, so this directory - stands apart from the other, Emacs-specific directories. + stands apart from the other, Emacs-specific + directories. -`/usr/local/share/man/man1' holds the man pages for the programs installed +`/usr/local/man/man1' holds the man pages for the programs installed in `/usr/local/bin'. Any version of Emacs, whether installed or not, also looks for Lisp @@ -581,9 +599,10 @@ defaults to /usr/local/share. We create the following subdirectories under `datadir': - `emacs/VERSION/lisp', containing the Emacs Lisp library, and - - `emacs/VERSION/etc', containing the tutorials, DOC file, etc. + - `emacs/VERSION/etc', containing the Emacs tutorial, the DOC + file, and the `yow' database. `VERSION' is the number of the Emacs version you are installing, - like `23.1' or `23.2'. Since these files vary from one version + like `18.59' or `19.0'. Since these files vary from one version of Emacs to another, including the version number in the path allows you to have several versions of Emacs installed at the same time; this means that you don't have to make Emacs @@ -596,25 +615,23 @@ programs used by Emacs that users are not expected to run themselves. `VERSION' is the number of the Emacs version you are installing, - and `CONFIGURATION-NAME' is the value deduced by the + and `CONFIGURATION-NAME' is the argument you gave to the `configure' program to identify the architecture and operating - system of your machine, like `i686-pc-linux-gnu' or `sparc-sun-sunos'. - Since these files are specific to the version of Emacs, - operating system, and architecture in use, including the - configuration name in the path allows you to have several - versions of Emacs for any mix of machines and operating - systems installed at the same time; this is useful for sites - at which different kinds of machines share the file system - Emacs is installed on. + system of your machine, like `mips-dec-ultrix' or + `sparc-sun-sunos'. Since these files are specific to the version + of Emacs, operating system, and architecture in use, including + the configuration name in the path allows you to have several + versions of Emacs for any mix of machines and operating systems + installed at the same time; this is useful for sites at which + different kinds of machines share the file system Emacs is + installed on. `infodir' indicates where to put the info files distributed with Emacs; it defaults to `/usr/local/share/info'. `mandir' indicates where to put the man pages for Emacs and its utilities (like `etags'); it defaults to - `/usr/local/share/man/man1'. - -[here] + `/usr/local/man/man1'. `manext' gives the extension the man pages should be installed with. It should contain a period, followed by the appropriate ------------------------------------------------------------ revno: 100578 committer: Glenn Morris branch nick: trunk timestamp: Thu 2010-06-10 20:35:40 -0700 message: Make compressing the info files optional. * configure.in (--without-compress-info): New option. (GZIP_INFO): New output variable. * Makefile.in (GZIP_INFO): New, set by configure. (install-arch-indep): Don't gzip info pages if GZIP_INFO is nil. Handle man pages in the same way. * etc/NEWS: Re-order installation section, and add new item. diff: === modified file 'ChangeLog' --- ChangeLog 2010-06-10 05:34:38 +0000 +++ ChangeLog 2010-06-11 03:35:40 +0000 @@ -1,3 +1,12 @@ +2010-06-11 Glenn Morris + + * configure.in (--without-compress-info): New option. + (GZIP_INFO): New output variable. + + * Makefile.in (GZIP_INFO): New, set by configure. + (install-arch-indep): Don't gzip info pages if GZIP_INFO is nil. + Handle man pages in the same way. + 2010-06-10 Glenn Morris * Makefile.in (install-arch-indep): Gzip the info files too. === modified file 'INSTALL' --- INSTALL 2010-05-27 05:43:27 +0000 +++ INSTALL 2010-06-11 03:35:40 +0000 @@ -6,31 +6,37 @@ This file contains general information. For more specific information -for the Windows, GNUstep/Mac OS X, and MS-DOS ports, also see the files -nt/INSTALL nextstep/INSTALL, and msdos/INSTALL. For information +for the MS-Windows, GNUstep/Mac OS X, and MS-DOS ports, also see the files +nt/INSTALL, nextstep/INSTALL, and msdos/INSTALL. For information specific to building from a Bazaar checkout (rather than a release), see the file INSTALL.BZR. BASIC INSTALLATION -The simplest way to build Emacs is to use the `configure' shell script -which attempts to guess correct values for various system-dependent -variables and features and find the directories where various system -headers and libraries are kept. It then creates a `Makefile' in each -subdirectory and a `config.h' file containing system-dependent -definitions. Running the `make' utility then builds the package for -your system. +On most Unix systems, you can build Emacs by first running the +`configure' shell script. This attempts to deduce correct values for +various system-dependent variables and features, and find the +directories where certain system headers and libraries are kept. +In a few cases, you may need to explicitly tell configure where to +find some things, or what options to use. + +`configure' creates a `Makefile' in several subdirectories, and a +`src/config.h' file containing system-dependent definitions. +Running the `make' utility then builds the package for your system. Here's the procedure to build Emacs using `configure' on systems which -are supported by it. If this simplified procedure fails, or if you -are using a platform such as MS-Windows, where `configure' script -doesn't work, you might need to use various non-default options, and -maybe perform some of the steps manually. The more detailed -description in the rest of the sections of this guide will help you do -that, so please refer to them if the simple procedure does not work. +are supported by it. In rare cases, if the simplified procedure fails, +you might need to use various non-default options, and maybe perform +some of the steps manually. The more detailed description in the rest +of the sections of this guide will help you do that, so please refer +to those sections if you need to. - 1. Make sure your system has at least 120 MB of free disk space. + 1. Make sure your system has at least 230 MB of free disk space. + This is for Emacs 23.2; Emacs gets bigger as more features are added. + The size of the final installed Emacs is about half this; see below. + This includes the space-saving that comes from automatically + compressing the Lisp source files on installation. 2a. `cd' to the directory where you unpacked Emacs and invoke the `configure' script: @@ -52,17 +58,18 @@ system names, wrong places for headers or libraries, missing libraries that you know are installed on your system, etc. - If you find anything wrong, you will have to pass to `configure' - explicit machine configuration name, and one or more options - which tell it where to find various headers and libraries; refer - to DETAILED BUILDING AND INSTALLATION section below. + If you find anything wrong, you may have to pass to `configure' + one or more options specifying the explicit machine configuration + name, where to find various headers and libraries, etc. + Refer to the section DETAILED BUILDING AND INSTALLATION below. - If `configure' didn't find some image support libraries, such as - Xpm, jpeg, etc., and you want to use them refer to the subsection - "Image support libraries", below. + If `configure' didn't find some (optional) image support libraries, + such as Xpm, jpeg, etc., and you want to use them refer to the + subsection "Image support libraries" below. If the details printed by `configure' don't make any sense to - you, assume that `configure' did its job and proceed. + you, but there are no obvious errors, assume that `configure' did + its job and proceed. 4. If you need to run the `configure' script more than once (e.g., with some non-default options), always clean the source @@ -79,7 +86,7 @@ in the `src' directory. You can try this program, to make sure it works: - src/emacs -q + src/emacs -Q 7. Assuming that the program `src/emacs' starts and displays its opening screen, you can install the program and its auxiliary @@ -93,9 +100,13 @@ make clean - You can also save some space by compressing (with `gzip') Info files - and installed Lisp source (.el) files which have corresponding .elc - versions. + You can delete the entire build directory if you do not plan to + build Emacs again. + + Note that the install automatically saves space by compressing + (provided you have the `gzip' program) those installed Lisp source (.el) + files that have corresponding .elc versions. You may also wish + to compress the installed Info files. ADDITIONAL DISTRIBUTION FILES @@ -157,19 +168,15 @@ running Emacs; however, note that Emacs will not be able to use colored icons in the toolbar if XPM support is not compiled in. -Here's the list of these optional libraries, and the URLs where they -can be found: +Here's the list of some of these optional libraries, and the URLs +where they can be found (in the unlikely event that your distribution +does not provide them): - . libXaw3d for fancy 3D-style - scroll bars: ftp://ftp.x.org/contrib/widgets/Xaw3d/ - . libxpm for XPM: ftp://ftp.x.org/contrib/libraries/ - Get version 3.4k or later, which lets Emacs - use its own color allocation functions. - . libpng for PNG: ftp://ftp.simplesystems.org/pub/libpng/png/ + . libXaw3d http://directory.fsf.org/project/xaw3d/ + . libxpm for XPM: http://www.x.org/releases/current/src/lib/ + . libpng for PNG: http://www.libpng.org/ . libz (for PNG): http://www.zlib.net/ - . libjpeg for JPEG: ftp://ftp.uu.net/graphics/jpeg/ - Get version 6b -- 6a is reported to fail in - Emacs. + . libjpeg for JPEG: http://www.ijg.org/ (use a version newer than 6a) . libtiff for TIFF: http://www.libtiff.org/ . libgif for GIF: http://sourceforge.net/projects/giflib/ @@ -183,29 +190,22 @@ * Extra fonts The Emacs distribution does not include fonts and does not install -them. You must do that yourself. +them. You must do that yourself, if you need more fonts than your +distribution normally provides. Emacs running on the GNU system supports both X fonts and local fonts (i.e. the fonts managed by the fontconfig library). For `Unicode' (ISO 10646) X fonts, see (packaged in Debian), - (packaged in Debian). (In -recent Debian versions, there is an extensive `misc-fixed' iso10646-1 -in the default X installation.) Perhaps also see + (packaged in Debian). +(In recent Debian versions, there is an extensive `misc-fixed' +iso10646-1 in the default X installation.) Perhaps also see . has basic fonts for Emacs's ISO-8859 charsets. -XFree86 release 4 (from and mirrors) -contains font support for most, if not all, of the charsets that Emacs -currently supports, including iso10646-1 encoded fonts for use with -the mule-unicode charsets. The font files should also be usable with -older X releases. Note that XFree 4 contains many iso10646-1 fonts -with minimal character repertoires, which can cause problems -- see -etc/PROBLEMS. - BDF Unicode fonts etl-unicode.tar.gz are available from and . These @@ -217,15 +217,17 @@ * GNU/Linux development packages -Many GNU/Linux systems do not come with development packages by -default; they just include the files that you need to run Emacs, but -not those you need to compile it. For example, to compile Emacs with -X11 support, you may need to install the special `X11 development' -package. For example, in April 2003, the package names to install -were `XFree86-devel' and `Xaw3d-devel' on Red Hat. On Debian, the -packages necessary to build the installed version should be -sufficient; they can be installed using `apt-get build-dep emacs21' in -Debian 3 and above. +Many GNU/Linux systems do not come with development packages by default; +they include the files that you need to run Emacs, but not those you +need to compile it. For example, to compile Emacs with support for X +and graphics libraries, you may need to install the `X development' +package(s) and development versions of the jpeg, png, etc. packages. + +The names of the packages that you need varies according to the +GNU/Linux distribution that you use, and the options that you want to +configure Emacs with. On Debian-based systems, you can install all the +packages needed to build the installed version of Emacs with a command +like `apt-get build-dep emacs23'. DETAILED BUILDING AND INSTALLATION: @@ -240,21 +242,20 @@ least 2.8 MB and can reach 100 MB or more. If the swapping space is insufficient, you will get an error in the command `temacs -batch -l loadup dump', found in `./src/Makefile.in', or possibly when -running the final dumped Emacs. +running the final dumped Emacs. (This should not be an issue +on any recent system.) -Building Emacs requires about 140 MB of disk space (including the -Emacs sources) Once installed, Emacs occupies about 77 MB in the file +Building Emacs requires about 230 MB of disk space (including the +Emacs sources). Once installed, Emacs occupies about 120 MB in the file system where it is installed; this includes the executable files, Lisp libraries, miscellaneous data files, and on-line documentation. If the building and installation take place in different directories, -then the installation procedure momentarily requires 140+77 MB. +then the installation procedure momentarily requires 230+120 MB. -2) Consult `./etc/MACHINES' to see what configuration name you should -give to the `configure' program. That file offers hints for -getting around some possible installation problems. The file lists -many different configurations, but only the part for your machine and -operating system is relevant. (The list is arranged in alphabetical -order by the vendor name.) +2) In the unlikely event that `configure' does not detect your system +type correctly, consult `./etc/MACHINES' to see what --host, --build +options you should pass to `configure'. That file also offers hints +for getting around some possible installation problems. 3) You can build Emacs in the top-level Emacs source directory or in a separate directory. @@ -262,15 +263,10 @@ 3a) To build in the top-level Emacs source directory, go to that directory and run the program `configure' as follows: - ./configure [CONFIGURATION-NAME] [--OPTION[=VALUE]] ... - -The CONFIGURATION-NAME argument should be a configuration name given -in `./etc/MACHINES', with the system version number added at the end. - -You should try first omitting CONFIGURATION-NAME. This way, -`configure' will try to guess your system type. If it cannot guess, -or if something goes wrong in building or installing Emacs this way, -try again specifying the proper CONFIGURATION-NAME explicitly. + ./configure [--OPTION[=VALUE]] ... + +If `configure' cannot determine your system type, try again +specifying the proper --build, --host options explicitly. If you don't want X support, specify `--with-x=no'. If you omit this option, `configure' will try to figure out for itself whether your @@ -283,15 +279,16 @@ Window System files installed in unusual places. These options also accept a list of directories, separated with colons. +[gtk is default] To get more attractive menus, you can specify an X toolkit when you configure Emacs; use the option `--with-x-toolkit=TOOLKIT', where -TOOLKIT is `athena', `motif' or `gtk' (`yes' and `lucid' are synonyms +TOOLKIT is `gtk', `athena', or `motif' (`yes' and `lucid' are synonyms for `athena'). On some systems, it does not work to use a toolkit with shared libraries. A free implementation of Motif, called LessTif, is available from . Compiling with LessTif or Motif causes a standard File Selection Dialog to pop up when you invoke file commands with the mouse. You can get fancy -3D-style scroll bars, even without LessTif/Motif, if you have the +3D-style scroll bars, even without Gtk or LessTif/Motif, if you have the Xaw3d library installed (see "Image support libraries" above for Xaw3d availability). @@ -325,10 +322,10 @@ Use --without-toolkit-scroll-bars to disable LessTif/Motif or Xaw3d scroll bars. -Use --without-xim to inhibit the default use of X Input Methods. In -this case, the X resource useXIM can be used to turn on use of XIM. +Use --without-xim to inhibit the default use of X Input Methods. +In this case, the X resource useXIM can be used to turn on use of XIM. -Use --disable-largefile omits support for files larger than 2GB on +Use --disable-largefile to omit support for files larger than 2GB on systems which support that. Use --without-sound to disable sound support. @@ -338,11 +335,11 @@ - Emacs (and the other utilities users run) go in PREFIXDIR/bin (unless the `--exec-prefix' option says otherwise). - The architecture-independent files go in PREFIXDIR/share/emacs/VERSION - (where VERSION is the version number of Emacs, like `19.27'). + (where VERSION is the version number of Emacs, like `23.2'). - The architecture-dependent files go in PREFIXDIR/libexec/emacs/VERSION/CONFIGURATION - (where CONFIGURATION is the configuration name, like mips-dec-ultrix4.2), - unless the `--exec-prefix' option says otherwise. + (where CONFIGURATION is the configuration name, like + i686-pc-linux-gnu), unless the `--exec-prefix' option says otherwise. The `--exec-prefix=EXECDIR' option allows you to specify a separate portion of the directory tree for installing architecture-specific @@ -354,17 +351,16 @@ For example, the command - ./configure mips-dec-ultrix --with-x11 - -configures Emacs to build for a DECstation running Ultrix, with -support for the X11 window system. - -`configure' doesn't do any compilation or installation -itself. It just creates the files that influence those things: -`./Makefile', `lib-src/Makefile', `oldXMenu/Makefile', -`lwlib/Makefile', `src/Makefile', and `./src/config.h'. For details -on exactly what it does, see the section called `CONFIGURATION BY -HAND', below. + ./configure --build=i386-linux-gnu --without-sound + +configures Emacs to build for a 32-bit GNU/Linux distribution, +without sound. + +`configure' doesn't do any compilation or installation itself. +It just creates the files that influence those things: +`./Makefile' in the top-level directory and several subdirectories; +and `./src/config.h'. For details on exactly what it does, see the +section called `CONFIGURATION BY HAND', below. When it is done, `configure' prints a description of what it did and creates a shell script `config.status' which, when run, recreates the @@ -436,14 +432,9 @@ To build in a separate directory, you must use a version of `make' that supports the `VPATH' variable, such as GNU `make'. -3c) Some people try to build in a separate directory by filling -it full of symlinks to the files in the real source directory. -If you do that, `make all' does work, but `make install' fails: -it copies the symbolic links rather than the actual files. - -As far as is known, there is no particular reason to use -a directory full of links rather than use the standard GNU -facilities to build in a separate directory (see 3b above). +(Do not try to build in a separate directory by creating many links +to the real source directory -- there is no need, and installation +will fail.) 4) Look at `./lisp/paths.el'; if some of those values are not right for your system, set up the file `./lisp/site-init.el' with Emacs @@ -454,7 +445,7 @@ (setq news-inews-program "/usr/bin/inews") is how you would override the default value of the variable -news-inews-program (which is "/usr/local/inews"). +news-inews-program. Before you override a variable this way, *look at the value* that the variable gets by default! Make sure you know what kind of value the @@ -473,18 +464,11 @@ site-load.el, Emacs will use *precisely* that value when it starts up again. If you do this, you are on your own! -Note that, on some systems, the code you place in site-init.el must -not use expand-file-name or any other function which may look -something up in the system's password and user information database. -See `./etc/PROBLEMS' for more details on which systems this affects. - The `site-*.el' files are nonexistent in the distribution. You do not need to create them if you have nothing to put in them. 6) Refer to the file `./etc/TERMS' for information on fields you may -wish to add to various termcap entries. The files `./etc/termcap.ucb' -and `./etc/termcap.dat' may already contain appropriately-modified -entries. +wish to add to various termcap entries. 7) Run `make' in the top directory of the Emacs distribution to finish building Emacs in the standard way. The final executable file is @@ -498,11 +482,11 @@ `/usr/local/bin' holds the executable programs users normally run - `emacs', `etags', `ctags', `b2m', `emacsclient', - and `rcs-checkin'. + `grep-changelog', and `rcs-checkin'. `/usr/local/share/emacs/VERSION/lisp' holds the Emacs Lisp library; `VERSION' stands for the number of the Emacs version - you are installing, like `18.59' or `19.27'. Since the + you are installing, like `23.1' or `23.2'. Since the Lisp library changes from one version of Emacs to another, including the version number in the path allows you to have several versions of Emacs installed @@ -510,18 +494,17 @@ make Emacs unavailable while installing a new version. `/usr/local/share/emacs/VERSION/etc' holds the Emacs tutorial, the DOC - file, the `yow' database, and other - architecture-independent files Emacs might need while - running. VERSION is as specified for `.../lisp'. + file, and other architecture-independent files Emacs + might need while running. `/usr/local/libexec/emacs/VERSION/CONFIGURATION-NAME' contains executable programs used by Emacs that users are not expected to run themselves. `VERSION' is the number of the Emacs version you are - installing, and `CONFIGURATION-NAME' is the argument - you gave to the `configure' program to identify the + installing, and `CONFIGURATION-NAME' is the value + deduced by the `configure' program to identify the architecture and operating system of your machine, - like `mips-dec-ultrix' or `sparc-sun-sunos'. Since + like `i686-pc-linux-gnu' or `sparc-sun-sunos'. Since these files are specific to the version of Emacs, operating system, and architecture in use, including the configuration name in the path allows you to have @@ -533,10 +516,9 @@ `/usr/local/share/info' holds the on-line documentation for Emacs, known as "info files". Many other GNU programs are documented using info files as well, so this directory - stands apart from the other, Emacs-specific - directories. + stands apart from the other, Emacs-specific directories. -`/usr/local/man/man1' holds the man pages for the programs installed +`/usr/local/share/man/man1' holds the man pages for the programs installed in `/usr/local/bin'. Any version of Emacs, whether installed or not, also looks for Lisp @@ -599,10 +581,9 @@ defaults to /usr/local/share. We create the following subdirectories under `datadir': - `emacs/VERSION/lisp', containing the Emacs Lisp library, and - - `emacs/VERSION/etc', containing the Emacs tutorial, the DOC - file, and the `yow' database. + - `emacs/VERSION/etc', containing the tutorials, DOC file, etc. `VERSION' is the number of the Emacs version you are installing, - like `18.59' or `19.0'. Since these files vary from one version + like `23.1' or `23.2'. Since these files vary from one version of Emacs to another, including the version number in the path allows you to have several versions of Emacs installed at the same time; this means that you don't have to make Emacs @@ -615,23 +596,25 @@ programs used by Emacs that users are not expected to run themselves. `VERSION' is the number of the Emacs version you are installing, - and `CONFIGURATION-NAME' is the argument you gave to the + and `CONFIGURATION-NAME' is the value deduced by the `configure' program to identify the architecture and operating - system of your machine, like `mips-dec-ultrix' or - `sparc-sun-sunos'. Since these files are specific to the version - of Emacs, operating system, and architecture in use, including - the configuration name in the path allows you to have several - versions of Emacs for any mix of machines and operating systems - installed at the same time; this is useful for sites at which - different kinds of machines share the file system Emacs is - installed on. + system of your machine, like `i686-pc-linux-gnu' or `sparc-sun-sunos'. + Since these files are specific to the version of Emacs, + operating system, and architecture in use, including the + configuration name in the path allows you to have several + versions of Emacs for any mix of machines and operating + systems installed at the same time; this is useful for sites + at which different kinds of machines share the file system + Emacs is installed on. `infodir' indicates where to put the info files distributed with Emacs; it defaults to `/usr/local/share/info'. `mandir' indicates where to put the man pages for Emacs and its utilities (like `etags'); it defaults to - `/usr/local/man/man1'. + `/usr/local/share/man/man1'. + +[here] `manext' gives the extension the man pages should be installed with. It should contain a period, followed by the appropriate === modified file 'Makefile.in' --- Makefile.in 2010-06-10 05:34:38 +0000 +++ Makefile.in 2010-06-11 03:35:40 +0000 @@ -243,6 +243,8 @@ # We use gzip to compress installed .el files. GZIP_PROG = @GZIP_PROG@ +# If non-nil, gzip the installed Info and man pages. +GZIP_INFO = @GZIP_INFO@ # ============================= Targets ============================== @@ -580,8 +582,9 @@ for f in `ls $$elt $$elt-[1-9] $$elt-[1-9][0-9] 2>/dev/null`; do \ ${INSTALL_DATA} $$f $(DESTDIR)${infodir}/$$f; \ chmod a+r $(DESTDIR)${infodir}/$$f; \ - [ -n "${GZIP_PROG}" ] && \ + if [ -n "${GZIP_INFO}" ] && [ -n "${GZIP_PROG}" ]; then \ ${GZIP_PROG} -9n $(DESTDIR)${infodir}/$$f; \ + else true; fi; \ done; \ done); \ else true; fi @@ -601,7 +604,10 @@ for page in ${MAN_PAGES}; do \ (cd $${thisdir}; \ ${INSTALL_DATA} ${mansrcdir}/$${page} $(DESTDIR)${man1dir}/$${page}; \ - chmod a+r $(DESTDIR)${man1dir}/$${page}); \ + chmod a+r $(DESTDIR)${man1dir}/$${page}; \ + if [ -n "${GZIP_INFO}" ] && [ -n "${GZIP_PROG}" ]; then \ + ${GZIP_PROG} -9n $(DESTDIR)${man1dir}/$${page}; \ + else true; fi ); \ done ## Install those items from etc/ that need to end up elsewhere. === modified file 'configure.in' --- configure.in 2010-06-08 02:29:12 +0000 +++ configure.in 2010-06-11 03:35:40 +0000 @@ -174,6 +174,16 @@ dnl http://lists.gnu.org/archive/html/emacs-devel/2008-04/msg01844.html OPTION_DEFAULT_ON([makeinfo],[don't require makeinfo for building manuals]) +## This is an option because I do not know if all info/man support +## compressed files, nor how to test if they do so. +OPTION_DEFAULT_ON([compress-info],[don't compress the installed Info pages]) +if test $with_compress_info = yes; then + GZIP_INFO=yes +else + GZIP_INFO= +fi +AC_SUBST(GZIP_INFO) + AC_ARG_WITH([pkg-config-prog],dnl [AS_HELP_STRING([--with-pkg-config-prog=PATH], [path to pkg-config for finding GTK and librsvg])]) === modified file 'etc/NEWS' --- etc/NEWS 2010-06-09 07:26:38 +0000 +++ etc/NEWS 2010-06-11 03:35:40 +0000 @@ -24,6 +24,13 @@ * Installation Changes in Emacs 24.1 +** Configure links against libselinux if it is found. +You can disable this by using --without-selinux. + +--- +** By default, the installed Info and man pages are compressed. +You can disable this by configuring --without-compress-info. + --- ** There are new configure options: --with-mmdf, --with-mail-unlink, --with-mailhost. @@ -34,9 +41,6 @@ ** There is a new configure option --with-crt-dir. This is only useful if your crt*.o files are in a non-standard location. -** Configure links against libselinux if it is found. -You can disable this by using --without-selinux. - * Startup Changes in Emacs 24.1 ------------------------------------------------------------ revno: 100577 committer: Michael Albinus branch nick: trunk timestamp: Thu 2010-06-10 14:56:11 +0200 message: * notifications.el: Move file from lisp/net, because it is supposed to talk locally to the user. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-06-10 12:44:59 +0000 +++ lisp/ChangeLog 2010-06-10 12:56:11 +0000 @@ -1,3 +1,8 @@ +2010-06-10 Michael Albinus + + * notifications.el: Move file from lisp/net, because it is + supposed to talk locally to the user. + 2010-06-10 Julien Danjou * net/notifications.el (notifications-on-action-signal) === renamed file 'lisp/net/notifications.el' => 'lisp/notifications.el' ------------------------------------------------------------ revno: 100576 committer: Michael Albinus branch nick: trunk timestamp: Thu 2010-06-10 14:44:59 +0200 message: * net/notifications.el (notifications-on-action-signal) (notifications-on-closed-signal): Pass notification id as first argument to the callback functions. Add docstrings. (notifications-notify): Fix docstring. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-06-10 05:39:03 +0000 +++ lisp/ChangeLog 2010-06-10 12:44:59 +0000 @@ -1,3 +1,10 @@ +2010-06-10 Julien Danjou + + * net/notifications.el (notifications-on-action-signal) + (notifications-on-closed-signal): Pass notification id as first + argument to the callback functions. Add docstrings. + (notifications-notify): Fix docstring. + 2010-06-10 Glenn Morris * emacs-lisp/authors.el (authors-ignored-files) === modified file 'lisp/net/notifications.el' --- lisp/net/notifications.el 2010-06-09 17:54:28 +0000 +++ lisp/net/notifications.el 2010-06-10 12:44:59 +0000 @@ -86,9 +86,10 @@ "Mapping between notification and close callback functions.") (defun notifications-on-action-signal (id action) + "Dispatch signals to callback functions from `notifications-on-action-map'." (let ((entry (assoc id notifications-on-action-map))) (when entry - (funcall (cadr entry) action) + (funcall (cadr entry) id action) (remove entry 'notifications-on-action-map)))) (dbus-register-signal @@ -100,9 +101,11 @@ 'notifications-on-action-signal) (defun notifications-on-closed-signal (id reason) + "Dispatch signals to callback functions from `notifications-on-closed-map'." (let ((entry (assoc id notifications-on-close-map))) (when entry - (funcall (cadr entry) (cadr (assoc reason notifications-closed-reason))) + (funcall (cadr entry) + id (cadr (assoc reason notifications-closed-reason))) (remove entry 'notifications-on-close-map)))) (dbus-register-signal @@ -155,11 +158,13 @@ should point to. The \"y\" hint must also be specified. :y Specifies the Y location on the screen that the notification should point to. The \"x\" hint must also be specified. - :on-action Function to call when an action is invoked. The key of the - action is passed as argument to the function. + :on-action Function to call when an action is invoked. + The notification id and the key of the action are passed + as arguments to the function. :on-close Function to call when the notification has been closed by timeout or by the user. - The function receives the closing reason as argument: + The function receive the notification id and the closing + reason as arguments: - `expired' if the notification has expired - `dismissed' if the notification was dismissed by the user - `close-notification' if the notification was closed ------------------------------------------------------------ revno: 100575 [merge] committer: Katsumi Yamaoka branch nick: trunk timestamp: Thu 2010-06-10 05:54:25 +0000 message: Synch with Gnus trunk. (gnus-mime-buttonized-part-id): New internal variable. (gnus-article-edit-part): Bind it to make last part that is substituted or deleted visible. (gnus-mime-display-single): Buttonize part of which id equals to gnus-mime-buttonized-part-id. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2010-06-10 00:30:13 +0000 +++ lisp/gnus/ChangeLog 2010-06-10 05:33:55 +0000 @@ -1,3 +1,11 @@ +2010-06-10 Katsumi Yamaoka + + * gnus-art.el (gnus-mime-buttonized-part-id): New internal variable. + (gnus-article-edit-part): Bind it to make last part that is substituted + or deleted visible. + (gnus-mime-display-single): Buttonize part of which id equals to + gnus-mime-buttonized-part-id. + 2010-06-10 Dan Christensen * gnus-util.el (gnus-user-date): Use gnus-date-get-time. === modified file 'lisp/gnus/gnus-art.el' --- lisp/gnus/gnus-art.el 2010-06-02 00:10:42 +0000 +++ lisp/gnus/gnus-art.el 2010-06-10 05:33:55 +0000 @@ -4896,6 +4896,10 @@ (t (gnus-article-goto-part n))))) +(defvar gnus-mime-buttonized-part-id nil + "ID of a mime part that should be buttonized. +`gnus-mime-save-part-and-strip' and `gnus-mime-delete-part' bind it.") + (eval-when-compile (defsubst gnus-article-edit-part (handles &optional current-id) "Edit an article in order to delete a mime part. @@ -4938,10 +4942,15 @@ ,(gnus-group-read-only-p) ,gnus-summary-buffer no-highlight)) t) - (gnus-article-edit-done) + ;; Force buttonizing this part. + (let ((gnus-mime-buttonized-part-id current-id)) + (gnus-article-edit-done)) (gnus-configure-windows 'article) (when (and current-id (integerp gnus-auto-select-part)) - (gnus-article-jump-to-part (+ current-id gnus-auto-select-part))))) + (gnus-article-jump-to-part + (min (max (+ current-id gnus-auto-select-part) 1) + (with-current-buffer gnus-article-buffer + (length gnus-article-mime-handle-alist))))))) (defun gnus-mime-replace-part (file) "Replace MIME part under point with an external body." @@ -5844,7 +5853,8 @@ ((or (bobp) (eq (char-before (1- (point))) ?\n)) 0) (t 1)))) (when (or (not display) - (not (gnus-unbuttonized-mime-type-p type))) + (not (gnus-unbuttonized-mime-type-p type)) + (eq id gnus-mime-buttonized-part-id)) (gnus-insert-mime-button handle id (list (or display (and not-attachment text)))) (gnus-article-insert-newline) ------------------------------------------------------------ Use --include-merges or -n0 to see merged revisions.