Skip to content
Browse files

Merge branch 'emacs' into 23.1.undone

Conflicts:
	INSTALL [moved to INSTALL.emacs]
	admin/nt/README-ftp-server
	configure
	configure.in
	doc/emacs/ChangeLog
	doc/lispref/ChangeLog
	doc/lispref/elisp.texi
	doc/lispref/vol1.texi
	doc/lispref/vol2.texi
	doc/misc/ChangeLog
	etc/NEWS
	leim/ChangeLog
	lisp/ChangeLog
	lisp/bindings.el
	lisp/emacs-lisp/cl-indent.el
	lisp/emacs-lisp/lisp-mode.el
	lisp/faces.el
	lisp/menu-bar.el
	lisp/mouse.el
	lisp/progmodes/gdb-mi.el
	lisp/progmodes/gud.el
	lisp/simple.el
	lisp/startup.el
	src/ChangeLog
	src/eval.c
	src/keymap.c
	src/nsmenu.m
	src/nsterm.m
  • Loading branch information...
2 parents b16df03 + 2c6196c commit 0d4a52740b825129ac842a21ec9b79a7c85ff670 @davidswelt committed Sep 21, 2009
Showing with 8,626 additions and 5,946 deletions.
  1. +2 −1 .dir-locals.el
  2. +1 −0 .gitignore
  3. +94 −0 ChangeLog
  4. +2 −7 INSTALL.CVS
  5. +4 −6 INSTALL.emacs
  6. +24 −18 Makefile.in
  7. +27 −1 admin/ChangeLog
  8. +40 −5 admin/FOR-RELEASE
  9. +4 −2 admin/charsets/mapconv
  10. +14 −5 admin/make-tarball.txt
  11. +8 −3 admin/notes/bugtracker
  12. +31 −0 admin/notes/newfile
  13. +4 −0 admin/unidata/.gitignore
  14. +43 −54 config.guess
  15. +28 −8 config.sub
  16. +5,460 −4,418 configure
  17. +97 −12 configure.in
  18. +212 −0 doc/emacs/ChangeLog
  19. +10 −1 doc/emacs/Makefile.in
  20. +17 −12 doc/emacs/ack.texi
  21. +10 −11 doc/emacs/anti.texi
  22. +34 −33 doc/emacs/arevert-xtra.texi
  23. +2 −2 doc/emacs/buffers.texi
  24. +191 −28 doc/emacs/building.texi
  25. +15 −14 doc/emacs/cal-xtra.texi
  26. +12 −29 doc/emacs/cmdargs.texi
  27. +108 −120 doc/emacs/custom.texi
  28. +12 −13 doc/emacs/dired-xtra.texi
  29. +1 −1 doc/emacs/dired.texi
  30. +20 −11 doc/emacs/display.texi
  31. +20 −5 doc/emacs/emacs-xtra.texi
  32. +383 −175 doc/emacs/emacs.texi
  33. +13 −10 doc/emacs/emerge-xtra.texi
  34. +9 −12 doc/emacs/entering.texi
  35. +1 −0 doc/emacs/files.texi
  36. +6 −6 doc/emacs/fortran-xtra.texi
  37. +5 −5 doc/emacs/frames.texi
  38. +181 −124 doc/emacs/glossary.texi
  39. +1 −1 doc/emacs/help.texi
  40. +23 −16 doc/emacs/macos.texi
  41. +11 −5 doc/emacs/maintaining.texi
  42. +4 −5 doc/emacs/major.texi
  43. +22 −20 doc/emacs/misc.texi
  44. +3 −2 doc/emacs/msdog.texi
  45. +11 −30 doc/emacs/mule.texi
  46. +3 −2 doc/emacs/programs.texi
  47. +5 −7 doc/emacs/search.texi
  48. +7 −7 doc/emacs/sending.texi
  49. +3 −2 doc/emacs/vc-xtra.texi
  50. +3 −2 doc/emacs/vc1-xtra.texi
  51. +2 −2 doc/emacs/xresources.texi
  52. +21 −0 doc/lispintro/ChangeLog
  53. +3 −2 doc/lispintro/Makefile.in
  54. +38 −53 doc/lispintro/emacs-lisp-intro.texi
  55. +185 −0 doc/lispref/ChangeLog
  56. +8 −3 doc/lispref/Makefile.in
  57. +1 −1 doc/lispref/README
  58. +0 −5 doc/lispref/abbrevs.texi
  59. +5 −5 doc/lispref/advice.texi
  60. +7 −5 doc/lispref/anti.texi
  61. +1 −1 doc/lispref/back.texi
  62. +4 −0 doc/lispref/backups.texi
  63. +11 −4 doc/lispref/buffers.texi
  64. +2 −3 doc/lispref/commands.texi
  65. +10 −9 doc/lispref/customize.texi
  66. +34 −43 doc/lispref/display.texi
  67. +80 −67 doc/lispref/edebug.texi
  68. +103 −70 doc/lispref/elisp.texi
  69. +2 −2 doc/lispref/files.texi
  70. +12 −4 doc/lispref/frames.texi
  71. +57 −69 doc/lispref/functions.texi
  72. +1 −1 doc/lispref/hash.texi
  73. +4 −4 doc/lispref/help.texi
  74. +4 −4 doc/lispref/hooks.texi
  75. +9 −10 doc/lispref/loading.texi
  76. +4 −3 doc/lispref/markers.texi
  77. +1 −1 doc/lispref/minibuf.texi
  78. +14 −27 doc/lispref/modes.texi
  79. +15 −27 doc/lispref/nonascii.texi
  80. +14 −13 doc/lispref/objects.texi
  81. +3 −2 doc/lispref/os.texi
  82. +33 −26 doc/lispref/processes.texi
  83. +3 −10 doc/lispref/searching.texi
  84. +3 −9 doc/lispref/text.texi
  85. +4 −4 doc/lispref/tips.texi
  86. +5 −6 doc/lispref/two-volume.make
  87. +124 −82 doc/lispref/vol1.texi
  88. +124 −82 doc/lispref/vol2.texi
  89. +2 −2 doc/lispref/windows.texi
  90. +4 −0 doc/man/ChangeLog
  91. +343 −1 doc/misc/ChangeLog
  92. +85 −33 doc/misc/auth.texi
Sorry, we could not display the entire diff because too many files (700) changed.
View
3 .dir-locals.el
@@ -4,6 +4,7 @@
(change-log-mode . ((add-log-time-zone-rule . t)
(fill-column . 74)
(bug-reference-url-format
- . "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"))))
+ . "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s")
+ (mode . bug-reference))))
;; arch-tag: fb93c160-e9fe-4184-aad1-e4f5daa11cbd
View
1 .gitignore
@@ -1,5 +1,6 @@
autom4te.cache
makefile
+*~
/bin/
/site-lisp/
View
94 ChangeLog
@@ -1,3 +1,97 @@
+2009-09-17 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * config.guess, config.sub: Updated from master source.
+
+ * configure.in (OTHER_FILES): Define using autoconf not cpp.
+
+2009-09-14 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * .dir-locals.el (change-log-mode): Restore bug-reference-mode.
+
+2009-09-13 Chong Yidong <cyd@stupidchicken.com>
+
+ * INSTALL: Update URL for GNU FreeFont.
+
+2009-09-09 Glenn Morris <rgm@gnu.org>
+
+ * Makefile.in (install-arch-indep): Don't recursively change perms of
+ site-lisp and infodir. There may be non-Emacs files in here, and the
+ files supplied by Emacs are all handled explicitly already. (Bug#3800)
+ (mkdir): Set umask to world-readable before creating directories.
+ mkinstalldirs already checks if dirs exist, don't duplicate this test.
+
+2009-08-29 Glenn Morris <rgm@gnu.org>
+
+ * Makefile.in (info-real): Don't ignore errors from doc Makefiles.
+ (info): Don't give an error in the absence of makeinfo - let the doc
+ Makefiles do that, if the info files need rebuilding. (Bug#3982)
+
+2009-08-23 Ken Raeburn <raeburn@raeburn.org>
+
+ * Makefile.in (install-arch-indep): If the versioned DOC-####
+ generated during loadup+dump isn't found, install the plain DOC
+ file that always gets generated, in case CANNOT_DUMP is set.
+
+ * configure.in: Warn if package version specified here doesn't
+ match the version in version.el.
+ * configure: Regenerate.
+
+2009-08-22 Michael Albinus <michael.albinus@gmx.de>
+
+ * configure.in: AC_CHECK_FUNCS dbus_watch_get_unix_fd.
+
+ * configure: Regenerate.
+
+2009-08-19 Glenn Morris <rgm@gnu.org>
+
+ * INSTALL: Remove reference to cvtmail.
+
+2009-08-15 CHENG Gao <chenggao@gmail.com>
+
+ * Makefile.in (install-arch-indep): Remove .DS_Store files (MacOSX).
+
+2009-08-02 Kevin Ryde <user42@zip.com.au>
+
+ * INSTALL: Fix free fonts URL.
+
+2009-07-22 Glenn Morris <rgm@gnu.org>
+
+ * configure.in (AC_PREREQ): Require autoconf 2.62.
+
+2009-07-04 Andreas Schwab <schwab@linux-m68k.org>
+
+ * configure.in (--enable-checking, --enable-profiling): Use
+ AS_HELP_STRING.
+
+2009-07-03 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * configure.in (--enable-profiling): New option.
+ (mips-*-netbsd*, mipsel-*-netbsd*, mipseb-*-netbsd*): Use machine=mips.
+
+2009-06-27 Glenn Morris <rgm@gnu.org>
+
+ * configure.in: Restore netbsd on mips, mipsel, mipseb.
+
+2009-06-26 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * configure.in (--enable-checking): New option.
+
+2009-06-24 Glenn Morris <rgm@gnu.org>
+
+ * make-dist: Warn if subdir does not exist in source.
+ (nextstep/Cocoa/Emacs.base/Contents/Resources/preferences.nib)
+ (nextstep/GNUstep/Emacs.base/Resources/preferences.gorm):
+ No longer make links.
+
+2009-06-24 Yavor Doganov <yavor@gnu.org>
+
+ * make-dist (tempdir): Don't create directories preferences.gorm
+ and preferences.nib, they are no longer required.
+
+2009-06-21 Chong Yidong <cyd@stupidchicken.com>
+
+ * Branch for 23.1.
+
2009-06-12 Chong Yidong <cyd@stupidchicken.com>
* configure.in: Delete mac-fix-env target, which has been
View
9 INSTALL.CVS
@@ -44,13 +44,8 @@ To update loaddefs.el (and similar files), do:
$ make autoloads
If either of the above partial procedures fails, try "make bootstrap".
-
-Very occasionally changes in the source can introduce
-incompatibilities with previous builds. If a bootstrap fails, as a
-last resort try "make maintainer-clean" before configuring and
-bootstrapping again. If CPU time is not an issue, the most thorough
-way to rebuild, and avoid any spurious problems, is always to use this
-method.
+If CPU time is not an issue, the most thorough way to rebuild, and
+avoid any spurious problems, is always to use this method.
Users of non-Posix systems (MS-Windows etc.) should run the
platform-specific configuration scripts (nt/configure.bat, config.bat,
View
10 INSTALL.emacs
@@ -211,9 +211,8 @@ BDF Unicode fonts etl-unicode.tar.gz are available from
fonts can also be used by ps-print and ps-mule to print Unicode
characters.
-Finally, the Web pages <URL:http://www.nongnu.org/freefont/index.html>
-and <URL:http://www.nongnu.org/freefont/resources.html> list a large
-number of free Unicode fonts.
+Finally, the Web page <URL:http://www.gnu.org/software/freefont/>
+lists a large number of free Unicode fonts.
* GNU/Linux development packages
@@ -757,9 +756,8 @@ directory of the Emacs distribution.
in `./lib-src' to their final destinations, as selected in `./src/paths.h'.
Strictly speaking, not all of the executables in `./lib-src' need be copied.
-- The programs `cvtmail', `fakemail', `hexl',
- `movemail', `profile', `rcs2log', and `vcdiff' are used by Emacs;
- they do need to be copied.
+- The programs `fakemail', `hexl', `movemail', `profile', `rcs2log',
+ and `vcdiff' are used by Emacs; they do need to be copied.
- The programs `etags', `ctags', `emacsclient', `b2m', and `rcs-checkin'
are intended to be run by users; they are handled below.
- The programs `make-docfile' and `test-distrib' were
View
42 Makefile.in
@@ -526,6 +526,7 @@ install-arch-indep: mkdir info install-etc
rm -f $${subdir}/.cvsignore ; \
rm -f $${subdir}/.gitignore ; \
rm -f $${subdir}/.arch-inventory ; \
+ rm -f $${subdir}/.DS_Store ; \
rm -f $${subdir}/\#* ; \
rm -f $${subdir}/.\#* ; \
rm -f $${subdir}/*~ ; \
@@ -562,7 +563,7 @@ install-arch-indep: mkdir info install-etc
then \
docfile="DOC-$${fullversion}"; \
else \
- docfile="DOC-${version}*"; \
+ docfile="DOC"; \
fi; \
echo "Copying etc/$${docfile} to $(DESTDIR)${docdir} ..." ; \
(cd ./etc; tar -chf - $${docfile}) \
@@ -627,7 +628,7 @@ install-arch-indep: mkdir info install-etc
${INSTALL_INFO} --info-dir=$(DESTDIR)${infodir} $(DESTDIR)${infodir}/$$elt); \
done; \
else true; fi
- -chmod -R a+r $(DESTDIR)${datadir}/emacs/${version} $(DESTDIR)${datadir}/emacs/site-lisp ${COPYDESTS} $(DESTDIR)${infodir}
+ -chmod -R a+r $(DESTDIR)${datadir}/emacs/${version} ${COPYDESTS}
thisdir=`/bin/pwd`; \
cd ${mansrcdir}; \
for page in ${MAN_PAGES}; do \
@@ -663,28 +664,28 @@ install-strip:
### we may be creating several layers of directories (for example,
### /usr/local/lib/emacs/19.0/mips-dec-ultrix4.2), we use mkinstalldirs
### instead of mkdir. Not all systems' mkdir programs have the `-p' flag.
+### We set the umask so that any created directories are world-readable.
+### FIXME it would be good to warn about non-standard permissions of
+### pre-existing directories, but that does not seem easy.
mkdir: FRC
- if [ -d $(DESTDIR)${datadir} ]; then true; else \
- $(srcdir)/mkinstalldirs $(DESTDIR)${datadir}; \
- chmod a+r $(DESTDIR)${datadir};\
- fi
icondirs= ; \
for dir in $(iconsrcdir)/*/*/apps $(iconsrcdir)/*/*/mimetypes; do \
if [ -d $${dir} ]; then \
icondirs="$${icondirs} $${dir}" ; \
fi ; \
done ; \
icondirs=`echo "$${icondirs}" | sed 's,$(srcdir)/etc/images/icons,$(DESTDIR)${icondir},g'` ; \
- $(srcdir)/mkinstalldirs ${COPYDESTS} $(DESTDIR)${infodir} $(DESTDIR)${man1dir} \
+ umask 022 ; \
+ $(srcdir)/mkinstalldirs $(DESTDIR)${datadir} ${COPYDESTS} \
+ $(DESTDIR)${infodir} $(DESTDIR)${man1dir} \
$(DESTDIR)${bindir} $(DESTDIR)${docdir} $(DESTDIR)${libexecdir} \
$(DESTDIR)${datadir}/emacs/site-lisp \
$(DESTDIR)${datadir}/emacs/${version}/site-lisp \
$(DESTDIR)`echo ${locallisppath} | sed 's,:, $(DESTDIR),g'` \
$(DESTDIR)${desktopdir} $${icondirs}
### Delete all the installed files that the `install' target would
-### create (but not the noninstalled files such as `make all' would
-### create).
+### create (but not the noninstalled files such as `make all' would create).
###
### Don't delete the lisp and etc directories if they're in the source tree.
uninstall:
@@ -847,21 +848,26 @@ dist:
.PHONY: info dvi dist check html
info-real:
- -(cd doc/emacs; $(MAKE) $(MFLAGS) info)
- -(cd doc/misc; $(MAKE) $(MFLAGS) info)
- -(cd doc/lispref; $(MAKE) $(MFLAGS) info)
- -(cd doc/lispintro; $(MAKE) $(MFLAGS) info)
+ (cd doc/emacs; $(MAKE) $(MFLAGS) info)
+ (cd doc/misc; $(MAKE) $(MFLAGS) info)
+ (cd doc/lispref; $(MAKE) $(MFLAGS) info)
+ (cd doc/lispintro; $(MAKE) $(MFLAGS) info)
force-info:
-# Note that man/Makefile knows how to
-# put the info files in $(srcdir),
+# Note that man/Makefile knows how to put the info files in $(srcdir),
# so we can do ok running make in the build dir.
+# This used to have a clause that exited with an error if MAKEINFO = no.
+# But it is inappropriate to do so without checking if makeinfo is
+# actually needed - it is not if the info files are up-to-date. (Bug#3982)
+# Only the doc/*/Makefiles can decide that, so we let those rules run
+# and give a standard error if makeinfo is needed but missing.
+# While it would be nice to give a more detailed error message, that
+# would require changing every rule in doc/ that builds an info file,
+# and it's not worth it. This case is only relevant if you download a
+# release, then change the .texi files.
info: force-info
@if test "$(MAKEINFO)" = "off"; then \
echo "Configured --without-makeinfo, not building manuals" ; \
- elif test "$(MAKEINFO)" = "no"; then \
- echo "makeinfo is missing - cannot build manuals" ; \
- exit 1 ; \
else \
$(MAKE) $(MFLAGS) info-real ; \
fi
View
28 admin/ChangeLog
@@ -1,3 +1,29 @@
+2009-09-07 Juanma Barranquero <lekktu@gmail.com>
+
+ * unidata/.gitignore: New file.
+
+2009-08-22 Eli Zaretskii <eliz@gnu.org>
+
+ * notes/bugtracker: How to reassign a bug to a list of packages.
+
+ * notes/newfile: Details of how to check for problems with DOS 8+3
+ file-name restrictions.
+
+2009-08-18 Glenn Morris <rgm@gnu.org>
+
+ * notes/newfile: New file.
+
+2009-07-11 Eli Zaretskii <eliz@gnu.org>
+
+ * make-tarball.txt: Add a note about bumping the value of
+ customize-changed-options-previous-release.
+
+2009-06-24 Kenichi Handa <handa@m17n.org>
+
+ * charsets/mapconv: For the UNICODE format files, do reverse sort
+ and don't compact the map. This is to prefer the first one in the
+ duplicated mappings (e.g. 0x20->U+0020, 0x20->U+00A0).
+
2009-06-12 Kenichi Handa <handa@m17n.org>
* charsets/Makefile (JISX213A.map): Make it depend on
@@ -42,7 +68,7 @@
a string with a composition property to disable combining
characters being composed.
-2009-03-11 Miles Bader <Miles Bader <miles@gnu.org>>
+2009-03-11 Miles Bader <miles@gnu.org>
* quick-install-emacs: Be more clever about locating info directory.
View
45 admin/FOR-RELEASE
@@ -2,10 +2,43 @@ Tasks needed before the next release.
* TO BE DONE SHORTLY BEFORE RELEASE
-** Check for widow and orphan lines in manuals;
-make sure all the pages really look ok in the manual as formatted.
-
-** Regenerate the pdf versions of the reference cards in etc/refcards/.
+** Manuals
+Check cross-references between the manuals (eg from emacs to elisp)
+are correct. You can use something like the following in the info
+directory in the Emacs build tree:
+
+emacs -Q --eval "(setq Info-default-directory-list '(\".\"))" \
+ -f info-xref-check-all
+
+make emacs.dvi, elisp.dvi, and deal with any errors (undefined
+references etc) in the output. Break any overfull lines.
+Underfull hboxes are not serious, but it can be nice to get rid of
+them if a simple rephrasing or rearrangement will work.
+
+Update the master menu and detailed menu (eg the antinews version).
+The command texinfo-multiple-files-update can do this, but you
+probably want to apply the results selectively (eg the current master
+menu has better line-breaks than the automatic version). It includes
+the menu-entry name (if there is one) as well as the node name - using
+only the latter looks better. Also, it doesn't seem to handle nested
+includes, so will miss edebug.texi etc.
+
+Check for widow and orphan lines in the printed manual; make sure all
+the pages really look ok in the manual as formatted. Orphans/widows
+are cases where the first/last line of a paragraph is on its own at
+the end/start of a page, or where the last word in a paragraph is on
+its own at the start of a line. It looks better if you reword/respace
+things to avoid these. (AFAIK, there is no way to find these except
+paging through the whole manual.) This should be the very last thing
+you do, since any change can alter the layout.
+
+** Check the keybindings in the refcards are correct, and add any new ones.
+Regenerate the pdf versions in etc/refcards/.
+What paper size are the English versions supposed to be on?
+On Debian testing, the packages texlive-lang-czechslovak and
+texlive-lang-polish will let you generate the cs-* and sk-* pdfs.
+The Makefile rules did not work for me, I had to use something like:
+csplain -output-format=pdf cs-refcard
** Ask maintainers of refcard translations to update them.
@@ -24,6 +57,8 @@ sk Miroslav Vaško
** Try to reorder NEWS: most important things first, related items together.
+** Consider bumping customize-changed-options-previous-release.
+
* BUGS
** Does deleting frames run Lisp code? If so, can we get rid of that?
@@ -92,7 +127,7 @@ names of the people who have checked it.
SECTION READERS
----------------------------------
-etc/TUTORIAL
+etc/TUTORIAL rgm (but see Bug#3783)
etc/TUTORIAL.bg
etc/TUTORIAL.cn
etc/TUTORIAL.cs
View
6 admin/charsets/mapconv
@@ -30,7 +30,7 @@
# $1: source map file
# $2: address pattern for sed (optionally with substitution command)
# $3: format of source map file
-# GLIBC-1 GLIBC-2 GLIBC-2-7 CZYBORRA IANA UNICODE YASUOKA
+# GLIBC-1 GLIBC-2 GLIBC-2-7 CZYBORRA IANA UNICODE UNICODE2 YASUOKA
# $4: awk script
FILE="admin/charsets/$1"
@@ -115,9 +115,11 @@ elif [ "$3" = "IANA" ] ; then
elif [ "$3" = "UNICODE" ] ; then
# Source format is:
# YYYY XX
+ # We perform reverse sort to prefer the first one in the
+ # duplicated mappings (e.g. 0x20->U+0020, 0x20->U+00A0).
zcat $1 | sed -n -e "$2 p" \
| sed -e 's/\([0-9A-F]*\)[^0-9A-F]*\([0-9A-F]*\).*/0x\2 0x\1/' \
- | sort | ${AWKPROG}
+ | sort -r
elif [ "$3" = "UNICODE2" ] ; then
# Source format is:
# 0xXXXX 0xYYYY # ...
View
19 admin/make-tarball.txt
@@ -22,21 +22,26 @@ For each step, check for possible errors.
For a pretest, start at version .90. After .99, use .990 (so that
it sorts).
-5. rm configure; autoconf
+ If needed, increment the value of the variable
+ `customize-changed-options-previous-release' in cus-edit.el to
+ refer to a newer release of Emacs. (This is probably needed only
+ when preparing a major Emacs release, or branching for it.)
+
+5. rm configure; autoconf
Patch configure: See
http://lists.gnu.org/archive/html/emacs-devel/2009-02/msg00851.html
- make bootstrap
+ make bootstrap
6. Commit configure, README, doc/emacs/emacs.texi,
- doc/lispref/elisp.texi, etc/AUTHORS, lisp/version.el,
- nt/emacs.rc. Copy lisp/loaddefs.el to
+ doc/lispref/elisp.texi, etc/AUTHORS, lisp/version.el, nt/emacs.rc,
+ and lisp/cus-edit.el (if modified). Copy lisp/loaddefs.el to
lisp/ldefs-boot.el and commit lisp/ldefs-boot.el. For a release,
also commit the ChangeLog files in all directories.
7. make-dist --snapshot. Check the contents of the new tar with
- admin/diff-tar-files against an older tar file. Some old pretest
+ admin/diff-tar-files against an older tar file. Some old pretest
tarballs are kept under fencepost.gnu.org:~pot/emacs-pretest/, while
old emacs tarballs are at <ftp://ftp.gnu.org/pub/gnu/emacs/>.
@@ -76,6 +81,10 @@ For each step, check for possible errors.
After doing this, increase the version number on the trunk as per
step 4.
+ Also, open a Savannah support request asking for commits to the
+ new branch to be sent to the emacs-diffs mailing list (by default,
+ the list normally only gets commits to the trunk).
+
11. Now you should upload the files to the GNU ftp server. In order to
do that, you must be registered as an Emacs maintainer and have your
GPG key acknowledged by the ftp people. Mail <ftp-upload@gnu.org>
View
11 admin/notes/bugtracker
@@ -179,8 +179,9 @@ tags 123 + wontfix
*** To merge bugs:
Eg when bad replies create a bunch of new bugs for the same report.
-Bugs must all be in the same state (e.g. same package(s) and severity),
-but need not have the same tags (tags are merged). E.g.:
+Bugs must all be in the same state (e.g. same package(s) and severity
+-- see `reassign' and `severity' below), but need not have the same
+tags (tags are merged). E.g.:
merge 123 124 125 ...
@@ -189,7 +190,8 @@ of merged bugs only affects individual bugs, not all of them.
*** Forcing a merge:
Like `merge', but bugs need not be in the same state. The packages
-must still match though. The first one listed is the master. E.g.:
+must still match though (see `reassign' below). The first one listed
+is the master. E.g.:
forcemerge 123 124 125 ...
@@ -238,6 +240,9 @@ fixed 123 23.0.60
*** To remove a "fixed" mark:
notfixed 123 23.0.60
+*** To assign or reassign a bug to a package or list of packages:
+reassign 1234 emacs,cc-mode
+
** To remove spam from the tracker, move it to the `spam' pseudo-package:
reassign 123 spam
View
31 admin/notes/newfile
@@ -0,0 +1,31 @@
+CHECKLIST FOR ADDING A NEW FILE TO EMACS -*- outline -*-
+
+** Make sure the author(s) have a copyright assignment/disclaimer.
+
+** Make sure the file matches the standard Emacs template (header
+format, copyright and license notice, etc).
+
+** Make sure the filename does not cause the DOS port any problems (8+3).
+Run the `doschk' program like this:
+
+ find /path/to/emacs -print | doschk
+
+and examine the output for DOS-related problems. The sections of
+output under the headings "The following files are not valid DOS file
+names:" and "The following resolve to the same DOS file names:" should
+not include any files that end up in the release tarball.
+
+** Make the ChangeLog entry in the name of the author(s), not your own name.
+
+** If appropriate, add an entry to lisp/Makefile.in ELCFILES.
+
+** If appropriate, check that the file compiles OK and that Emacs
+builds fine with it. Address any compilation warnings.
+
+** If a major contribution, consider adding an entry to the
+Acknowledgments in doc/emacs/emacs.texi and ack.texi.
+
+** If appropriate, add a short NEWS entry.
+
+** If appropriate, update make-dist (not needed with "standard" file
+names, eg *.el).
View
4 admin/unidata/.gitignore
@@ -0,0 +1,4 @@
+*.elc
+unidata.txt
+
+# arch-tag: 1b0c916f-3060-47b4-a8c9-cff5c3598adf
View
97 config.guess
@@ -1,10 +1,10 @@
#! /bin/sh
# Attempt to guess a canonical system name.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
# Free Software Foundation, Inc.
-timestamp='2008-12-11'
+timestamp='2009-09-16'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -27,16 +27,16 @@ timestamp='2008-12-11'
# the same distribution terms that you use for the rest of that program.
-# Originally written by Per Bothner <per@bothner.com>.
-# Please send patches to <config-patches@gnu.org>. Submit a context
-# diff and a properly formatted ChangeLog entry.
+# Originally written by Per Bothner. Please send patches (context
+# diff format) to <config-patches@gnu.org> and include a ChangeLog
+# entry.
#
# This script attempts to guess a canonical system name similar to
# config.sub. If it succeeds, it prints the system name on stdout, and
# exits with 0. Otherwise, it exits with 1.
#
-# The plan is that this can be called by configure scripts if you
-# don't specify an explicit build system type.
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
me=`echo "$0" | sed -e 's,.*/,,'`
@@ -170,7 +170,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
eval $set_cc_for_build
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep __ELF__ >/dev/null
+ | grep -q __ELF__
then
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
# Return netbsd for either. FIX?
@@ -324,6 +324,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
case `/usr/bin/uname -p` in
sparc) echo sparc-icl-nx7; exit ;;
esac ;;
+ s390x:SunOS:*:*)
+ echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
sun4H:SunOS:5.*:*)
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
@@ -335,11 +338,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
SUN_ARCH="i386"
# If there is a compiler, see if it is configured for 64-bit objects.
# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
- # This test works for both compilers. Note that the full path to
- # /usr/bin/echo is necessary to work around the shell builtins for
- # echo that do not handle newlines.
+ # This test works for both compilers.
if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
- if /usr/bin/echo '\n#ifdef __amd64\nIS_64BIT_ARCH\n#endif' | \
+ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
grep IS_64BIT_ARCH >/dev/null
then
@@ -655,7 +656,7 @@ EOF
# => hppa64-hp-hpux11.23
if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
- grep __LP64__ >/dev/null
+ grep -q __LP64__
then
HP_ARCH="hppa2.0w"
else
@@ -821,6 +822,9 @@ EOF
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
echo i${UNAME_MACHINE}-pc-mks
exit ;;
+ 8664:Windows_NT:*)
+ echo x86_64-pc-mks
+ exit ;;
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
@@ -881,40 +885,17 @@ EOF
m68*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
- mips:Linux:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #undef CPU
- #undef mips
- #undef mipsel
- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
- CPU=mipsel
- #else
- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
- CPU=mips
- #else
- CPU=
- #endif
- #endif
-EOF
- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
- /^CPU/{
- s: ::g
- p
- }'`"
- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
- ;;
- mips64:Linux:*:*)
+ mips:Linux:*:* | mips64:Linux:*:*)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#undef CPU
- #undef mips64
- #undef mips64el
+ #undef ${UNAME_MACHINE}
+ #undef ${UNAME_MACHINE}el
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
- CPU=mips64el
+ CPU=${UNAME_MACHINE}el
#else
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
- CPU=mips64
+ CPU=${UNAME_MACHINE}
#else
CPU=
#endif
@@ -946,7 +927,7 @@ EOF
EV67) UNAME_MACHINE=alphaev67 ;;
EV68*) UNAME_MACHINE=alphaev68 ;;
esac
- objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
+ objdump --private-headers /bin/sh | grep -q ld.so.1
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
exit ;;
@@ -1000,14 +981,6 @@ EOF
elf32-i386)
TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
;;
- a.out-i386-linux)
- echo "${UNAME_MACHINE}-pc-linux-gnuaout"
- exit ;;
- "")
- # Either a pre-BFD a.out linker (linux-gnuoldld) or
- # one that does not give us useful --help.
- echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
- exit ;;
esac
# Determine whether the default compiler is a.out or elf
eval $set_cc_for_build
@@ -1073,7 +1046,7 @@ EOF
i*86:syllable:*:*)
echo ${UNAME_MACHINE}-pc-syllable
exit ;;
- i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
echo i386-unknown-lynxos${UNAME_RELEASE}
exit ;;
i*86:*DOS:*:*)
@@ -1117,8 +1090,11 @@ EOF
pc:*:*:*)
# Left here for compatibility:
# uname -m prints for DJGPP always 'pc', but it prints nothing about
- # the processor, so we play safe by assuming i386.
- echo i386-pc-msdosdjgpp
+ # the processor, so we play safe by assuming i586.
+ # Note: whatever this is, it MUST be the same as what config.sub
+ # prints for the "djgpp" host, or else GDB configury will decide that
+ # this is a cross-build.
+ echo i586-pc-msdosdjgpp
exit ;;
Intel:Mach:3*:*)
echo i386-pc-mach3
@@ -1156,6 +1132,16 @@ EOF
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
&& { echo i486-ncr-sysv4; exit; } ;;
+ NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+ OS_REL='.3'
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
echo m68k-unknown-lynxos${UNAME_RELEASE}
exit ;;
@@ -1168,7 +1154,7 @@ EOF
rs6000:LynxOS:2.*:*)
echo rs6000-unknown-lynxos${UNAME_RELEASE}
exit ;;
- PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
echo powerpc-unknown-lynxos${UNAME_RELEASE}
exit ;;
SM[BE]S:UNIX_SV:*:*)
@@ -1342,6 +1328,9 @@ EOF
i*86:rdos:*:*)
echo ${UNAME_MACHINE}-pc-rdos
exit ;;
+ i*86:AROS:*:*)
+ echo ${UNAME_MACHINE}-pc-aros
+ exit ;;
esac
#echo '(No uname command or uname output not recognized.)' 1>&2
View
36 config.sub
@@ -1,10 +1,10 @@
#! /bin/sh
# Configuration validation subroutine script.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
# Free Software Foundation, Inc.
-timestamp='2008-12-11'
+timestamp='2009-09-16'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@@ -32,13 +32,16 @@ timestamp='2008-12-11'
# Please send patches to <config-patches@gnu.org>. Submit a context
-# diff and a properly formatted ChangeLog entry.
+# diff and a properly formatted GNU ChangeLog entry.
#
# Configuration subroutine to validate and canonicalize a configuration type.
# Supply the specified configuration type as an argument.
# If it is invalid, we print an error message on stderr and exit with code 1.
# Otherwise, we print the canonical config type on stdout and succeed.
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
# This file is supposed to be the same for all GNU packages
# and recognize all the CPU types, system types and aliases
# that are meaningful with *any* GNU software.
@@ -122,6 +125,7 @@ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+ kopensolaris*-gnu* | \
storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
@@ -148,10 +152,13 @@ case $os in
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
- -apple | -axis | -knuth | -cray)
+ -apple | -axis | -knuth | -cray | -microblaze)
os=
basic_machine=$1
;;
+ -bluegene*)
+ os=-cnk
+ ;;
-sim | -cisco | -oki | -wec | -winbond)
os=
basic_machine=$1
@@ -271,6 +278,7 @@ case $basic_machine in
| mipsisa64sr71k | mipsisa64sr71kel \
| mipstx39 | mipstx39el \
| mn10200 | mn10300 \
+ | moxie \
| mt \
| msp430 \
| nios | nios2 \
@@ -335,7 +343,7 @@ case $basic_machine in
| lm32-* \
| m32c-* | m32r-* | m32rle-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
- | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
| mips16-* \
| mips64-* | mips64el-* \
@@ -445,6 +453,10 @@ case $basic_machine in
basic_machine=m68k-apollo
os=-bsd
;;
+ aros)
+ basic_machine=i386-pc
+ os=-aros
+ ;;
aux)
basic_machine=m68k-apple
os=-aux
@@ -461,6 +473,10 @@ case $basic_machine in
basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
os=-linux
;;
+ bluegene*)
+ basic_machine=powerpc-ibm
+ os=-cnk
+ ;;
c90)
basic_machine=c90-cray
os=-unicos
@@ -713,6 +729,9 @@ case $basic_machine in
basic_machine=ns32k-utek
os=-sysv
;;
+ microblaze)
+ basic_machine=microblaze-xilinx
+ ;;
mingw32)
basic_machine=i386-pc
os=-mingw32
@@ -1254,10 +1273,11 @@ case $os in
# Each alternative MUST END IN A *, to match a version number.
# -sysv* is not here because it comes later, after sysvr4.
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
- | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
+ | -kopensolaris* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
- | -aos* \
+ | -aos* | -aros* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
@@ -1606,7 +1626,7 @@ case $basic_machine in
-sunos*)
vendor=sun
;;
- -aix*)
+ -cnk*|-aix*)
vendor=ibm
;;
-beos*)
View
9,878 configure
5,460 additions, 4,418 deletions not shown because the diff is too large. Please use a local Git client to view these changes.
View
109 configure.in
@@ -12,17 +12,17 @@ dnl GNU Emacs is free software: you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
dnl the Free Software Foundation, either version 3 of the License, or
dnl (at your option) any later version.
-dnl
+dnl
dnl GNU Emacs is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
dnl GNU General Public License for more details.
-dnl
+dnl
dnl You should have received a copy of the GNU General Public License
dnl along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
-AC_PREREQ(2.61)
-AC_INIT(emacs, 23.0.94)
+AC_PREREQ(2.62)
+AC_INIT(emacs, 23.1.50)
AC_CONFIG_HEADER(src/config.h:src/config.in)
AC_CONFIG_SRCDIR(src/lisp.h)
@@ -209,6 +209,83 @@ elif test "${enableval}" != "yes"; then
locallisppath=${enableval}
fi)
+AC_ARG_ENABLE(checking,
+[AS_HELP_STRING([--enable-checking@<:@=LIST@:>@],
+ [enable expensive run-time checks. With LIST,
+ enable only specific categories of checks.
+ Categories are: all,yes,no.
+ Flags are: stringbytes, stringoverrun, stringfreelist,
+ xmallocoverrun, conslist])],
+[ac_checking_flags="${enableval}"],[])
+IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS="$IFS,"
+for check in $ac_checking_flags
+do
+ case $check in
+ # these set all the flags to specific states
+ yes) ac_enable_checking=1 ;;
+ no) ac_enable_checking= ;
+ ac_gc_check_stringbytes= ;
+ ac_gc_check_string_overrun= ;
+ ac_gc_check_string_free_list= ;
+ ac_xmalloc_overrun= ;
+ ac_gc_check_cons_list= ;;
+ all) ac_enable_checking=1 ;
+ ac_gc_check_stringbytes=1 ;
+ ac_gc_check_string_overrun=1 ;
+ ac_gc_check_string_free_list=1 ;
+ ac_xmalloc_overrun=1 ;
+ ac_gc_check_cons_list=1 ;;
+ # these enable particular checks
+ stringbytes) ac_gc_check_stringbytes=1 ;;
+ stringoverrun) ac_gc_check_string_overrun=1 ;;
+ stringfreelist) ac_gc_check_string_free_list=1 ;;
+ xmallocoverrun) ac_xmalloc_overrun=1 ;;
+ conslist) ac_gc_check_cons_list=1 ;;
+ *) AC_MSG_ERROR(unknown check category $check) ;;
+ esac
+done
+IFS="$ac_save_IFS"
+
+if test x$ac_enable_checking != x ; then
+ AC_DEFINE(ENABLE_CHECKING, 1,
+[Enable expensive run-time checking of data types?])
+fi
+if test x$ac_gc_check_stringbytes != x ; then
+ AC_DEFINE(GC_CHECK_STRING_BYTES, 1,
+[Define this temporarily to hunt a bug. If defined, the size of
+ strings is redundantly recorded in sdata structures so that it can
+ be compared to the sizes recorded in Lisp strings.])
+fi
+if test x$ac_gc_check_stringoverrun != x ; then
+ AC_DEFINE(GC_CHECK_STRING_OVERRUN, 1,
+[Define this to check for short string overrun.])
+fi
+if test x$ac_gc_check_string_free_list != x ; then
+ AC_DEFINE(GC_CHECK_STRING_FREE_LIST, 1,
+[Define this to check the string free list.])
+fi
+if test x$ac_xmalloc_overrun != x ; then
+ AC_DEFINE(XMALLOC_OVERRUN_CHECK, 1,
+[Define this to check for malloc buffer overrun.])
+fi
+if test x$ac_gc_check_cons_list != x ; then
+ AC_DEFINE(GC_CHECK_CONS_LIST, 1,
+[Define this to check for errors in cons list.])
+fi
+
+AC_ARG_ENABLE(profiling,
+[AS_HELP_STRING([--enable-profiling],
+ [build emacs with profiling support.
+ This might not work on all platforms])],
+[ac_enable_profiling="${enableval}"],[])
+if test x$ac_enable_profiling != x ; then
+ PROFILING_CFLAGS="-DPROFILING=1 -pg"
+ PROFILING_LDFLAGS="-pg"
+else
+ PROFILING_CFLAGS=
+ PROFILING_LDFLAGS=
+fi
+
#### Make srcdir absolute, if it isn't already. It's important to
#### avoid running the path through pwd unnecessarily, since pwd can
#### give you automounter prefixes, which can go away. We do all this
@@ -329,6 +406,9 @@ dnl see the `changequote' comment above.
case "${canonical}" in
alpha*-*-netbsd*) machine=alpha ;;
i[3456]86-*-netbsd*) machine=intel386 ;;
+ mips-*-netbsd*) machine=mips ;;
+ mipsel-*-netbsd*) machine=mips ;;
+ mipseb-*-netbsd*) machine=mips ;;
powerpc-*-netbsd*) machine=macppc ;;
sparc*-*-netbsd*) machine=sparc ;;
vax-*-netbsd*) machine=vax ;;
@@ -864,14 +944,16 @@ configure___ CFLAGS=C_DEBUG_SWITCH '${SPECIFIED_CFLAGS}'
/* Get the CFLAGS for real compilation. */
#ifdef __GNUC__
-configure___ REAL_CFLAGS=C_DEBUG_SWITCH C_OPTIMIZE_SWITCH C_WARNINGS_SWITCH '${SPECIFIED_CFLAGS}'
+configure___ REAL_CFLAGS=C_DEBUG_SWITCH C_OPTIMIZE_SWITCH C_WARNINGS_SWITCH ${PROFILING_CFLAGS} '${SPECIFIED_CFLAGS}'
#else
configure___ REAL_CFLAGS=C_DEBUG_SWITCH '${SPECIFIED_CFLAGS}'
#endif
#endif /* not THIS_IS_CONFIGURE */
' > ${tempcname}
+LDFLAGS="${LDFLAGS} ${PROFILING_LDFLAGS}"
+
# The value of CPP is a quoted variable reference, so we need to do this
# to get its actual value...
CPP=`eval "echo $CPP"`
@@ -1172,7 +1254,7 @@ fi
## No need to do anything special for these standard directories.
## This is an experiment, take it out if it causes problems.
if test -n "${x_libraries}" && test x"${x_libraries}" != xNONE; then
-
+
x_libraries=`echo :${x_libraries}: | sed -e 's|:/usr/lib64:|:|g' -e 's|:/lib64:|:|g' -e 's|^:||' -e 's|:$||'`
fi
@@ -1626,7 +1708,9 @@ HAVE_DBUS=no
if test "${with_dbus}" = "yes"; then
PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0, HAVE_DBUS=yes, HAVE_DBUS=no)
if test "$HAVE_DBUS" = yes; then
- AC_DEFINE(HAVE_DBUS, 1, [Define to 1 if using D-Bus.])
+ LIBS="$LIBS $DBUS_LIBS"
+ AC_DEFINE(HAVE_DBUS, 1, [Define to 1 if using D-Bus.])
+ AC_CHECK_FUNCS([dbus_watch_get_unix_fd])
fi
fi
@@ -1895,7 +1979,7 @@ if test "${HAVE_X11}" = "yes"; then
AC_DEFINE(HAVE_FREETYPE, 1,
[Define to 1 if using the freetype and fontconfig libraries.])
if test "${with_libotf}" != "no"; then
- PKG_CHECK_MODULES(LIBOTF, libotf, HAVE_LIBOTF=yes,
+ PKG_CHECK_MODULES(LIBOTF, libotf, HAVE_LIBOTF=yes,
HAVE_LIBOTF=no)
if test "$HAVE_LIBOTF" = "yes"; then
AC_DEFINE(HAVE_LIBOTF, 1, [Define to 1 if using libotf.])
@@ -2104,6 +2188,7 @@ if test "${HAVE_NS}" = "yes"; then
fi
# We also have mouse menus.
HAVE_MENUS=yes
+ OTHER_FILES=ns-app
fi
@@ -2467,6 +2552,9 @@ CPPFLAGS="$REAL_CPPFLAGS"
if test x"${version}" = x; then
AC_MSG_ERROR([can't find current emacs version in `${srcdir}/lisp/version.el'.])
fi
+if test x"${version}" != x"$PACKAGE_VERSION"; then
+ AC_MSG_WARN([version mismatch between `${srcdir}/configure.in' and `${srcdir}/lisp/version.el'.])
+fi
### Specify what sort of things we'll be editing into Makefile and config.h.
### Use configuration here uncanonicalized to avoid exceeding size limits.
@@ -2511,6 +2599,7 @@ AC_SUBST(GNUSTEP_SYSTEM_HEADERS)
AC_SUBST(GNUSTEP_SYSTEM_LIBRARIES)
AC_SUBST(GNU_OBJC_CFLAGS)
AC_SUBST(LIB_SRC_EXTRA_INSTALLABLES)
+AC_SUBST(OTHER_FILES)
AC_DEFINE_UNQUOTED(EMACS_CONFIGURATION, "${canonical}",
[Define to the canonical Emacs configuration name.])
@@ -2657,7 +2746,6 @@ AH_BOTTOM([
side does this in s/darwin.h and we cannot
parallel this exactly since GNUstep is multi-OS. */
#ifdef HAVE_NS
-#define OTHER_FILES ns-app
# ifdef NS_IMPL_GNUSTEP
/* See also .m.o rule in Makefile.in */
/* FIXME: are all these flags really needed? Document here why. */
@@ -2789,9 +2877,6 @@ typedef unsigned size_t;
#define HAVE_X11R6_XIM
#endif
-/* Should we enable expensive run-time checking of data types? */
-#undef ENABLE_CHECKING
-
#if defined __GNUC__ && (__GNUC__ > 2 \
|| (__GNUC__ == 2 && __GNUC_MINOR__ >= 5))
#define NO_RETURN __attribute__ ((__noreturn__))
View
212 doc/emacs/ChangeLog
@@ -1,3 +1,215 @@
+2009-09-19 Chong Yidong <cyd@stupidchicken.com>
+
+ * frames.texi (Frame Commands): C-z is now bound to suspend-frame.
+
+ * entering.texi (Exiting): C-z is now bound to suspend-frame.
+
+ * custom.texi (Init Examples): Replace Rumseld with Cheny (Bug#3519).
+ (Key Bindings): Reference Init Rebinding in introductory text. Shift
+ some of the introduction to Keymaps node.
+ (Keymaps): Simplify.
+ (Local Keymaps): Simplify. Move binding example to Init Rebinding.
+ (Minibuffer Maps): Remove mention of Mocklisp.
+ (Init Rebinding): Move mode-local rebinding example here from Local
+ Keymaps.
+ (Modifier Keys): Clarify.
+ (Rebinding): Add cindex for "binding keys".
+
+2009-09-13 Chong Yidong <cyd@stupidchicken.com>
+
+ * misc.texi (Invoking emacsclient): Minor clarifications (Bug#4419).
+
+2009-08-31 Nick Roberts <nickrob@snap.net.nz>
+
+ * building.texi (Threads Buffer, Multithreaded Debugging):
+ Re-organise these two sections,
+
+2009-08-29 Eli Zaretskii <eliz@gnu.org>
+
+ * cmdargs.texi (Initial Options): Fix last change.
+
+2009-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * mule.texi (Enabling Multibyte):
+ * cmdargs.texi (General Variables): Remove EMACS_UNIBYTE.
+ (Initial Options): Remove --(no-)multibyte, --(no-)unibyte.
+
+2009-08-20 Glenn Morris <rgm@gnu.org>
+
+ * cal-xtra.texi (Non-Gregorian Diary): Mention ``Adar I'' special case.
+
+2009-08-19 Glenn Morris <rgm@gnu.org>
+
+ * ack.texi (Acknowledgments): Remove cvtmail. Mention info-finder.
+
+2009-08-18 Glenn Morris <rgm@gnu.org>
+
+ * ack.texi (Acknowledgments):
+ * emacs.texi (Acknowledgments): Update for js.el replacing js2-mode.el.
+
+ * ack.texi (Acknowledgments): Add ucs-normalize.el and files-x.el.
+
+2009-08-09 Glenn Morris <rgm@gnu.org>
+
+ * ack.texi (Acknowledgments):
+ * emacs.texi (Acknowledgments): Add gdb-mi entry.
+
+2009-08-08 Dmitry Dzhus <dima@sphinx.net.ru>
+
+ * emacs.texi (Top): Add new menu items for GDB-UI.
+
+ * building.texi (GDB Graphical Interface): Add Multithreaded debugging
+ section. Threads buffer is in separate section now.
+
+2009-08-08 Glenn Morris <rgm@gnu.org>
+
+ * ack.texi (Acknowledgments):
+ * emacs.texi (Acknowledgments):
+ Update for js2-mode and org changes.
+
+2009-08-02 Michael Albinus <michael.albinus@gmx.de>
+
+ * files.texi (Reverting): Auto-Revert Tail mode works also for remote
+ files.
+
+2009-07-28 Chong Yidong <cyd@stupidchicken.com>
+
+ * building.texi (Lisp Libraries): Clarify meaning of autoloading.
+
+2009-07-23 Glenn Morris <rgm@gnu.org>
+
+ * programs.texi (Matching): Update blink-matching-paren-distance.
+
+2009-07-21 Chong Yidong <cyd@stupidchicken.com>
+
+ * frames.texi (Cut/Paste Other App): For select-active-regions,
+ selection is now updated on moving point.
+
+2009-07-21 Richard Stallman <rms@gnu.org>
+
+ * glossary.texi (GNU, Daemon): Update information.
+
+2009-07-19 Juri Linkov <juri@jurta.org>
+
+ * custom.texi (Specifying File Variables, Safe File Variables):
+ "variables/value pairs" -> "variable/value pairs".
+
+2009-07-15 Glenn Morris <rgm@gnu.org>
+
+ * misc.texi (Gnus): Remove widow.
+
+2009-07-11 Glenn Morris <rgm@gnu.org>
+
+ * Makefile.in (TEXI2PDF): New.
+ (emacs.pdf, emacs-xtra.pdf): New targets.
+
+ * arevert-xtra.texi (Autorevert): Add menu descriptions.
+
+ * display.texi (Horizontal Scrolling): Re-word to remove widow.
+
+ * emacs.texi (Top): Info can be read from other places than Emacs.
+ Don't print the copying notice twice in the printed version.
+ Update the menu and detailmenu.
+ (Preface): The meaning of "on-line" has changed.
+ Correct name for "Common Problems" chapter.
+ (Distrib): Update FSF shop URL.
+ (Intro): Showing two files at once is not so exciting.
+
+ * macos.texi (Mac OS / GNUstep): Fix spelling and cross-reference.
+ (Mac / GNUstep Basics): Minor grammar changes.
+ (Mac / GNUstep Events): Fix typo.
+ (GNUstep Support): CANNOT_DUMP no longer applies.
+
+ * misc.texi (Document View): Fix typos.
+
+ * dired.texi (Dired):
+ * help.texi (Help):
+ * macos.texi (Mac OS / GNUstep):
+ * maintaining.texi (Version Control, Introduction to VC):
+ End menu descriptions with a period.
+
+2009-07-09 Eli Zaretskii <eliz@gnu.org>
+
+ * msdog.texi (Windows Files) <w32-get-true-file-attributes>: Don't be
+ so categorical in saying that the option is only useful on NTFS.
+
+2009-07-09 Glenn Morris <rgm@gnu.org>
+
+ * Makefile.in (texinfodir): New variable, with location of texinfo.tex.
+ (ENVADD): Add texinfodir to TEXINPUTS.
+
+ * emacs.texi (Top): Fix cross-reference.
+
+ * maintaining.texi (VC Directory Buffer): Fix cross-reference.
+
+ * vc1-xtra.texi (Revision Tags): Fix typo.
+
+2009-07-03 Glenn Morris <rgm@gnu.org>
+
+ * emerge-xtra.texi (Emerge): Tweak Misc menu description.
+ (Submodes of Emerge): Skip Prefers is only relevant with an ancestor.
+ (Merge Commands): `.' does not seem to work in A or B buffer.
+ `l' can recreate the 3-window display.
+
+ * glossary.texi (Glossary): Minor phrasing changes throughout.
+ Add more internal cross-references.
+ <Autoloading>: You can't really autoload a variable.
+ <C-M->: Move details here from `M-C-' item.
+ <Continuation Line>: Refer to `Truncation.'
+ <Daemon, Free Software, Free Software Foundation, FSF, GNU>:
+ <Home Directory, Unix>: New entries.
+ <Deletion of Files>: Mention recycle bins.
+ <Directory>: Mention ``folders.''
+ <Error>: Don't mention ``type-ahead.''
+ <Fringe>: Refer to the manual node.
+ <Minor Mode>: Can be global or local.
+ <Spell Checking>: There are other checkers besides Ispell.
+
+2009-07-02 Glenn Morris <rgm@gnu.org>
+
+ * anti.texi (Antinews): Minor changes in phrasing.
+
+ * cal-xtra.texi, fortran-xtra.texi: Re-order a few things to reduce
+ some underfull lines in dvi output.
+
+ * emacs-xtra.texi (Introduction): Mention included in info Emacs manual.
+
+ * sending.texi (Mail Sending): Add a tiny bit on mailclient.
+
+ * vc-xtra.texi (Advanced VC Usage): End all menu items with a period.
+
+2009-07-01 Jan Djärv <jan.h.d@swipnet.se>
+
+ * xresources.texi (Table of Resources): Mention maximized for
+ fullscreen.
+
+ * cmdargs.texi (Window Size X): -mm/--maximized is new.
+
+2009-07-01 Chong Yidong <cyd@stupidchicken.com>
+
+ * anti.texi (Antinews): Correct the list of removed platforms.
+
+2009-06-28 Glenn Morris <rgm@gnu.org>
+
+ * arevert-xtra.texi: Minor language tweaks.
+
+ * dired-xtra.texi: Minor revisions.
+
+2009-06-23 Miles Bader <miles@gnu.org>
+
+ * display.texi (Scrolling): Document `recenter-redisplay'
+ (Temporary Face Changes): Document `text-scale-set'.
+
+2009-06-21 Chong Yidong <cyd@stupidchicken.com>
+
+ * Branch for 23.1.
+
+2009-06-17 Kenichi Handa <handa@m17n.org>
+
+ * mule.texi (Charsets): Update the description for the new charset.
+ (list-character-sets): New findex.
+ (Language Environments): Add @anchor{Describe Language Environment}.
+
2009-06-10 Chong Yidong <cyd@stupidchicken.com>
* basic.texi (Moving Point): Fix tag.
View
11 doc/emacs/Makefile.in
@@ -31,6 +31,8 @@ VPATH=@srcdir@
## Where the output files go.
## Note that the setfilename command in the .texi files assumes this.
infodir=../../info
+# Directory with the (customized) texinfo.tex file.
+texinfodir = $(srcdir)/../misc
# The makeinfo program is part of the Texinfo distribution.
# Use --force so that it generates output even if there are errors.
@@ -41,13 +43,14 @@ DVI_TARGETS = emacs.dvi
TEXI2DVI = texi2dvi
+TEXI2PDF = texi2pdf
# The following rule does not work with all versions of `make'.
.SUFFIXES: .texi .dvi
.texi.dvi:
$(TEXI2DVI) $<
-ENVADD = TEXINPUTS="$(srcdir):$(TEXINPUTS)" MAKEINFO="$(MAKEINFO) -I$(srcdir)"
+ENVADD = TEXINPUTS="$(srcdir):$(texinfodir):$(TEXINPUTS)" MAKEINFO="$(MAKEINFO) -I$(srcdir)"
EMACS_XTRA=\
@@ -128,10 +131,16 @@ $(infodir)/emacs: ${EMACSSOURCES}
emacs.dvi: ${EMACSSOURCES}
$(ENVADD) $(TEXI2DVI) ${srcdir}/emacs.texi
+emacs.pdf: ${EMACSSOURCES}
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/emacs.texi
+
emacs-xtra.dvi: emacs-xtra.texi $(EMACS_XTRA)
$(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-xtra.texi
+emacs-xtra.pdf: emacs-xtra.texi $(EMACS_XTRA)
+ $(ENVADD) $(TEXI2PDF) ${srcdir}/emacs-xtra.texi
+
mostlyclean:
rm -f *.log *.cp *.fn *.ky *.op *.ops *.pg *.vr core *.tp *.core
View
29 doc/emacs/ack.texi
@@ -247,10 +247,11 @@ Jan Dj@"{a}rv added support for the GTK+ toolkit and X drag-and-drop.
Carsten Dominik wrote Ref@TeX{}, a package for setting up labels and
cross-references in La@TeX{} documents; and co-wrote IDLWAVE mode
(q.v.@:). He was the main author of Org mode, for maintaining notes,
-todo lists, and project planning. Thomas Baumann, Bastien Guerry,
-Tassilo Horn, Philip Jackson, Tokuya Kameshima, Eric Schulte, Andy
-Stewart, David O'Toole, John Wiegley, and Piotr Zielinski also wrote
-various Org mode components.
+todo lists, and project planning. Thomas Baumann, Baoqiu Cui, Daniel
+German, Bastien Guerry, Tassilo Horn, Philip Jackson, Tokuya Kameshima,
+Ross Patterson, Sebastian Rose, Eric Schulte, Andy Stewart, David
+O'Toole, John Wiegley, and Piotr Zielinski also wrote various Org mode
+components.
@item
Scott Draves wrote @file{tq.el}, help functions for maintaining
@@ -539,7 +540,7 @@ those databases to the format used by the LaTeX text formatting package.
@item
Taichi Kawabata added support for Devanagari script and the Indian
-languages.
+languages, and wrote @file{ucs-normalize.el} for Unicode normalization.
@item
Taro Kawagishi implented the MD4 Message Digest Algorithm in Lisp; and
@@ -577,10 +578,6 @@ Pavel Kobyakov wrote @file{flymake.el}, a minor mode for performing
on-the-fly syntax checking.
@item
-Larry K.@: Kolodney wrote @file{cvtmail.c}, a program to convert the mail
-directories used by Gosling Emacs into RMAIL format.
-
-@item
David M.@: Koppelman wrote @file{hi-lock.el}, a minor mode for
interactive automatic highlighting of parts of the buffer text.
@@ -615,6 +612,10 @@ objects; and @file{isearch.el}, Emacs's incremental search minor mode.
He also co-wrote @file{hideif.el} (q.v.@:).
@item
+Karl Landstrom and Daniel Colascione wrote @file{js.el}, a mode for
+editing JavaScript.
+
+@item
Vinicius Jose Latorre wrote the Emacs printing facilities, as well as
@code{ps-print} (with Jim Thompson, Jacques Duthen, and Kenichi Handa),
a package for pretty-printing Emacs buffers to PostScript printers;
@@ -651,7 +652,9 @@ files.
@item
Juri Linkov wrote @file{misearch.el}, extending isearch to multi-buffer
-searches.
+searches; the code in @file{files-x.el} for handling file- and
+directory-local variables; and the @code{info-finder} feature that
+creates a virtual Info manual of package keywords.
@item
K@'{a}roly L@"{o}rentey wrote the ``multi-terminal'' code, which
@@ -980,8 +983,10 @@ and @file{vt-control.el}, providing some control functions for the DEC
VT line of terminals.
@item
-Nick Roberts wrote @file{gdb-ui.el}, the graphical user interface to
-GDB; and @file{t-mouse.el}, mouse support in text terminals.
+Nick Roberts wrote @file{t-mouse.el}, for mouse support in text
+terminals; and @file{gdb-ui.el}, a graphical user interface to GDB.
+Together with Dmitry Dzhus, he wrote @file{gdb-mi.el}, the successor to
+@file{gdb-ui.el}.
@item
Danny Roozendaal implemented @file{handwrite.el}, which converts text
View
21 doc/emacs/anti.texi
@@ -15,8 +15,8 @@ greater simplicity that results from the absence of many Emacs
@item
We have switched to a character representation specially designed for
-Emacs. Rather than forcing all the widely used scripts artificially
-into alignment, as Unicode does, Emacs treats them all equally, giving
+Emacs. Rather than forcing all the widely used scripts into artificial
+alignment, as Unicode does, Emacs treats them all equally, giving
each one a place in the space of character codes. We have eliminated
the confusing practice, in Emacs 23, whereby one character can belong
to multiple character sets. Now each script has its own variant, and
@@ -111,26 +111,25 @@ will remove DVCS support entirely, so you should migrate your projects
to CVS.
@item
-Rmail now uses a special file format, Babyl format, designed specially
+Rmail now uses a special file format, Babyl format, specifically designed
for storing and editing mail. When you visit a file in Rmail, or get new
mail, Rmail converts it automatically to Babyl format.
@item
Emacs can no longer display frames on X windows and text terminals
-(ttys) simultaneously. If you start Emacs as an X application, the
-Emacs job can only create X frames; if you start Emacs on a tty, the
-Emacs job can only use that tty. No more confusion about which type
-of frame @command{emacsclient} will use in any given Emacs session!
+(ttys) simultaneously. If you start Emacs as an X application, it
+can only create X frames; if you start Emacs on a tty, it can only use
+that tty. No more confusion about which type of frame
+@command{emacsclient} will use in any given Emacs session!
@item
Emacs can no longer be started as a daemon. You can be sure that if
you don't see Emacs, then it's not running.
@item
-Emacs has added support for some soon-to-be-non-obsolete platforms.
-These include GNU/Linux systems based on libc version 5, BSD systems
-based on the COFF executable format, Solaris versions less than 2.6,
-and many more.
+Emacs has added support for many soon-to-be-non-obsolete platforms,
+including VMS, DECstation, SCO Unix, and systems lacking alloca.
+Support for Sun windows has been added.
@item
To keep up with decreasing computer memory capacity and disk space, many
View
67 doc/emacs/arevert-xtra.texi
@@ -1,19 +1,19 @@
@c This is part of the Emacs manual.
-@c Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+@c Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009
+@c Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions.
@c
@c This file is included either in emacs-xtra.texi (when producing the
@c printed version) or in the main Emacs manual (for the on-line version).
@node Autorevert
-@section Auto Reverting non-file Buffers
+@section Auto Reverting Non-File Buffers
-Normally Global Auto Revert Mode only reverts file buffers. There are
+Global Auto Revert Mode normally only reverts file buffers. There are
two ways to auto-revert certain non-file buffers: enabling Auto Revert
-Mode in those buffers (using @kbd{M-x auto-revert-mode}) and setting
-@code{global-auto-revert-non-file-buffers} to @code{t}. The latter
+Mode in those buffers (using @kbd{M-x auto-revert-mode}); and setting
+@code{global-auto-revert-non-file-buffers} non-@code{nil}. The latter
enables Auto Reverting for all types of buffers for which it is
-implemented, that is, for the types of buffers listed in the menu
-below.
+implemented (listed in the menu below).
Like file buffers, non-file buffers should normally not revert while
you are working on them, or while they contain information that might
@@ -26,10 +26,10 @@ Another tricky detail is that, for efficiency reasons, Auto Revert
often does not try to detect all possible changes in the buffer, only
changes that are ``major'' or easy to detect. Hence, enabling
auto-reverting for a non-file buffer does not always guarantee that
-all information in the buffer is up to date and does not necessarily
+all information in the buffer is up-to-date, and does not necessarily
make manual reverts useless.
-At the other extreme, certain buffers automatically auto-revert every
+At the other extreme, certain buffers automatically revert every
@code{auto-revert-interval} seconds. (This currently only applies to
the Buffer Menu.) In this case, Auto Revert does not print any
messages while reverting, even when @code{auto-revert-verbose} is
@@ -39,9 +39,9 @@ The details depend on the particular types of buffers and are
explained in the corresponding sections.
@menu
-* Auto Reverting the Buffer Menu::
-* Auto Reverting Dired::
-* Supporting additional buffers::
+* Auto Reverting the Buffer Menu:: Auto Revert of the Buffer Menu.
+* Auto Reverting Dired:: Auto Revert of Dired buffers.
+* Supporting additional buffers:: How to add more Auto Revert support.
@end menu
@node Auto Reverting the Buffer Menu
@@ -67,14 +67,15 @@ operating systems. It may not work satisfactorily on some other
systems.
Dired buffers only auto-revert when the file list of the buffer's main
-directory changes. They do not auto-revert when information about a
-particular file changes or when inserted subdirectories change. To be
-sure that @emph{all} listed information is up to date, you have to
-manually revert using @kbd{g}, @emph{even} if auto-reverting is
+directory changes (e.g. when a new file is added). They do not
+auto-revert when information about a particular file changes
+(e.g. when the size changes) or when inserted subdirectories change.
+To be sure that @emph{all} listed information is up to date, you have
+to manually revert using @kbd{g}, @emph{even} if auto-reverting is
enabled in the Dired buffer. Sometimes, you might get the impression
that modifying or saving files listed in the main directory actually
does cause auto-reverting. This is because making changes to a file,
-or saving it, very often causes changes in the directory itself, for
+or saving it, very often causes changes in the directory itself; for
instance, through backup files or auto-save files. However, this is
not guaranteed.
@@ -91,10 +92,10 @@ If you want auto-reverting to resume in the presence of marks and
flags, mark the buffer non-modified using @kbd{M-~}. However, adding,
deleting or changing marks or flags will mark it modified again.
-Remote Dired buffers are not auto-reverted. Neither are Dired buffers
-for which you used shell wildcards or file arguments to list only some
-of the files. @samp{*Find*} and @samp{*Locate*} buffers do not
-auto-revert either.
+Remote Dired buffers are not auto-reverted (because it may be slow).
+Neither are Dired buffers for which you used shell wildcards or file
+arguments to list only some of the files. @samp{*Find*} and
+@samp{*Locate*} buffers do not auto-revert either.
@node Supporting additional buffers
@subsection Adding Support for Auto-Reverting additional Buffers.
@@ -127,7 +128,7 @@ If the function is only going to be used for auto-reverting, you can
ignore the @var{noconfirm} argument.
If you just want to automatically auto-revert every
-@code{auto-revert-interval} seconds, use:
+@code{auto-revert-interval} seconds (like the Buffer Menu), use:
@example
(set (make-local-variable 'buffer-stale-function)
@@ -153,7 +154,7 @@ Once the buffer has a @code{revert-buffer-function} and a
The buffer will only auto-revert if it is marked unmodified. Hence,
you will have to make sure that various functions mark the buffer
modified if and only if either the buffer contains information that
-might be lost by reverting or there is reason to believe that the user
+might be lost by reverting, or there is reason to believe that the user
might be inconvenienced by auto-reverting, because he is actively
working on the buffer. The user can always override this by manually
adjusting the modified status of the buffer. To support this, calling
@@ -165,21 +166,21 @@ as a consequence of auto-reverting. Of course, moving point might be
inevitable if the buffer radically changes.
You should make sure that the @code{revert-buffer-function} does not
-print messages that unnecessarily duplicate Auto Revert's own messages
-if @code{auto-revert-verbose} is @code{t} and effectively override a
-@code{nil} value for @code{auto-revert-verbose}. Hence, adapting a
-mode for auto-reverting often involves getting rid of such messages.
-This is especially important for buffers that automatically
-auto-revert every @code{auto-revert-interval} seconds.
+print messages that unnecessarily duplicate Auto Revert's own messages,
+displayed if @code{auto-revert-verbose} is @code{t}, and effectively
+override a @code{nil} value for @code{auto-revert-verbose}. Hence,
+adapting a mode for auto-reverting often involves getting rid of such
+messages. This is especially important for buffers that automatically
+revert every @code{auto-revert-interval} seconds.
-Also, you may want to update the documentation string of
-@code{global-auto-revert-non-file-buffers}.
+If the new auto-reverting is part of Emacs, you should mention it
+in the documentation string of @code{global-auto-revert-non-file-buffers}.
@ifinfo
-Finally, you should add a node to this chapter's menu. This node
+Similarly, you should add a node to this chapter's menu. This node
@end ifinfo
@ifnotinfo
-Finally, you should add a section to this chapter. This section
+Similarly, you should add a section to this chapter. This section
@end ifnotinfo
should at the very least make clear whether enabling auto-reverting
for the buffer reliably assures that all information in the buffer is
View
4 doc/emacs/buffers.texi
@@ -117,8 +117,8 @@ variable also affects the @code{find-file} command (@pxref{Visiting}).
One reason to create a new buffer is to use it for making temporary
notes. If you try to save it, Emacs asks for the file name to use.
-The variable @code{default-major-mode} determines the new buffer's
-major mode; the default value is Fundamental mode. @xref{Major
+The default value of the variable @code{major-mode} determines the new
+buffer's major mode; the default value is Fundamental mode. @xref{Major
Modes}.
@kindex C-x @key{LEFT}
View
219 doc/emacs/building.texi
@@ -854,10 +854,12 @@ multiple programs within one Emacs session.
* Source Buffers:: Use the mouse in the fringe/margin to
control your program.
* Breakpoints Buffer:: A breakpoint control panel.
+* Threads Buffer:: Displays your threads.
* Stack Buffer:: Select a frame from the call stack.
* Other GDB-UI Buffers:: Input/output, locals, registers,
assembler, threads and memory buffers.
* Watch Expressions:: Monitor variable values in the speedbar.
+* Multithreaded Debugging:: Debugging programs with several threads.
@end menu
@node GDB-UI Layout
@@ -882,7 +884,7 @@ displays the following frame layout:
|--------------------------------+--------------------------------+
| Primary Source buffer | I/O buffer for debugged pgm |
|--------------------------------+--------------------------------+
-| Stack buffer | Breakpoints/thread buffer |
+| Stack buffer | Breakpoints/Thread buffer |
+--------------------------------+--------------------------------+
@end group
@end smallexample
@@ -903,7 +905,7 @@ gdb-many-windows}.
You may also specify additional GDB-related buffers to display,
either in the same frame or a different one. Select the buffers you
-want with the @samp{GUD->GDB-windows} and @samp{GUD->GDB-Frames}
+want with the @samp{GUD->GDB-Windows} and @samp{GUD->GDB-Frames}
sub-menus. If the menu-bar is unavailable, type @code{M-x
gdb-display-@var{buffertype}-buffer} or @code{M-x
gdb-frame-@var{buffertype}-buffer} respectively, where
@@ -1010,10 +1012,92 @@ Visit the source line for the current breakpoint
Visit the source line for the breakpoint you click on.
@end table
+@vindex gdb-show-threads-by-default
When @code{gdb-many-windows} is non-@code{nil}, the breakpoints buffer
shares its window with the threads buffer. To switch from one to the
-other click with @kbd{mouse-1} on the relevant button in the header
-line.
+other click with @kbd{Mouse-1} on the relevant button in the header
+line, or press @kbd{TAB} inside that buffer. If
+@code{gdb-show-threads-by-default} is non-@code{nil}, the threads
+buffer, rather than the breakpoints buffer, is shown at start up.
+
+@node Threads Buffer
+@subsubsection Threads Buffer
+
+@findex gdb-select-thread
+The threads buffer displays a summary of all threads currently in your
+program (@pxref{Threads, Threads, Debugging programs with multiple
+threads, gdb, The GNU debugger}). Move point to any thread in the list
+and press @key{RET} to select it (@code{gdb-select-thread}) and
+display the associated source in the primary source buffer.
+Alternatively, click @kbd{Mouse-2} on a thread to select it. Contents
+of all GDB buffers are updated whenever you select a thread.
+
+ You can customize variables under @code{gdb-buffers} group to select
+fields included in threads buffer.
+
+@table @code
+@item gdb-thread-buffer-verbose-names
+@vindex gdb-thread-buffer-verbose-names
+Show long thread names like @samp{Thread 0x4e2ab70 (LWP 1983)} in
+threads buffer.
+
+@item gdb-thread-buffer-arguments
+@vindex gdb-thread-buffer-arguments
+Show arguments of thread top frames in threads buffer.
+
+@item gdb-thread-buffer-locations
+@vindex gdb-thread-buffer-locations
+Show file information or library names in threads buffer.
+
+@item gdb-thread-buffer-addresses
+@vindex gdb-thread-buffer-addresses
+Show addresses for thread frames in threads buffer.
+@end table
+
+ It’s possible to observe information for several threads
+simultaneously (in addition to buffers which show information for
+currently selected thread) using the following keys from the threads
+buffer.
+
+@table @kbd
+@item d
+@kindex d @r{(GDB threads buffer)}
+@findex gdb-display-disassembly-for-thread
+Display disassembly buffer for the thread at current line.
+(@code{gdb-display-disassembly-for-thread})
+
+@item f
+@kindex f @r{(GDB threads buffer)}
+@findex gdb-display-stack-for-thread
+Display stack buffer for the thread at current line.
+(@code{gdb-display-stack-for-thread}).
+
+@item l
+@kindex l @r{(GDB threads buffer)}
+@findex gdb-display-locals-for-thread
+Display locals buffer for the thread at current line.
+(@code{gdb-display-locals-for-thread}).
+
+@item r
+@kindex r @r{(GDB threads buffer)}
+@findex gdb-display-registers-for-thread
+Display registers buffer for the thread at current line.
+(@code{gdb-display-registers-for-thread}).
+@end table
+
+Pressing their upper-case counterparts, @kbd{D}, @kbd{F} ,@kbd{L} and
+@kbd{R} displays the corresponding buffer in a new frame.
+
+ When you create a buffer showing information about some specific
+thread, it becomes bound to that thread and keeps showing actual
+information while you debug your program. Every GDB buffer contains a
+number of thread it shows information for in its mode name. Thread
+number is also included in the buffer name of bound buffers to prevent
+buffer names clashing.
+
+Further commands are available in the threads buffer which depend on the
+mode of GDB that is used for controlling execution of your program.
+(@pxref{Multithreaded Debugging, Stopping and Starting Multi-threaded Programs}).
@node Stack Buffer
@subsubsection Stack Buffer
@@ -1069,27 +1153,12 @@ With GDB 6.4 or later, recently changed register values display with
press @key{SPC} to toggle the display of floating point registers
(@code{toggle-gdb-all-registers}).
-@item Assembler Buffer
-The assembler buffer displays the current frame as machine code. An
+@item Disassembly Buffer
+The disassembly buffer displays the current frame as machine code. An
arrow points to the current instruction, and you can set and remove
breakpoints as in a source buffer. Breakpoint icons also appear in
the fringe or margin.
-@item Threads Buffer
-@findex gdb-threads-select
-The threads buffer displays a summary of all threads currently in your
-program (@pxref{Threads, Threads, Debugging programs with multiple
-threads, gdb, The GNU debugger}). Move point to any thread in the
-list and press @key{RET} to select it (@code{gdb-threads-select}) and
-display the associated source in the primary source buffer.
-Alternatively, click @kbd{Mouse-2} on a thread to select it. If the
-locals buffer is visible, its contents update to display the variables
-that are local in the new thread.
-
-When there is more than one main thread and the threads buffer is
-present, Emacs displays the selected thread number in the mode line of
-many of the GDB-UI Buffers.
-
@item Memory Buffer
The memory buffer lets you examine sections of program memory
(@pxref{Memory, Memory, Examining memory, gdb, The GNU debugger}).
@@ -1102,8 +1171,9 @@ size for these data items.
When @code{gdb-many-windows} is non-@code{nil}, the threads buffer
shares its window with the breakpoints buffer, and the locals buffer
-with the registers buffer. To switch from one to the other click with
-@kbd{mouse-1} on the relevant button in the header line.
+with the registers buffer. To switch from one to the other click with
+@kbd{Mouse-1} on the relevant button in the header line or press
+@kbd{TAB} inside the buffer.
@node Watch Expressions
@subsubsection Watch Expressions
@@ -1171,6 +1241,97 @@ expressions updates, set @code{gdb-speedbar-auto-raise} to
non-@code{nil}. This can be useful if you are debugging with a full
screen Emacs frame.
+@node Multithreaded Debugging
+@subsubsection Stopping and Starting Multi-threaded Programs
+@cindex Multithreaded debugging in GDB
+
+@subsubheading All-stop Debugging
+
+In all-stop mode, whenever your program stops, @emph{all} threads of
+execution stop. Likewise, whenever you restart the program, all
+threads start executing. @xref{All-Stop Mode, , All-Stop Mode, gdb,
+The GNU debugger}. You can enable this behaviour in Emacs by setting
+@code{gdb-non-stop-setting} to @code{nil} before starting a debugging
+session.
+
+@subsubheading Non-stop Debugging
+@cindex Non-stop debugging in GDB
+
+For some multi-threaded targets, GDB supports a further mode of
+operation in which you can examine stopped program threads in the
+debugger while other threads continue to execute freely.
+@xref{Non-Stop Mode, , Non-Stop Mode, gdb, The GNU debugger}.
+This is referred to as @dfn{non-stop} mode.
+
+Versions of GDB prior to 7.0 do not support non-stop mode and it does
+not work on all targets. In such cases, Emacs uses all-stop mode
+regardless of the value of @code{gdb-non-stop-setting}.
+
+@vindex gdb-non-stop-setting
+If the variable @code{gdb-non-stop-setting} is non-@code{nil} (the
+default value), Emacs tries to start GDB in non-stop mode. Note that
+GDB debugging session needs to be restarted for change of this setting
+to take effect.
+
+@vindex gdb-switch-when-another-stopped
+When a thread stops in non-stop mode, Emacs automatically switches to
+that thread. It may be undesirable to allow switching of current
+thread when some other stopped thread is already selected. Set
+@code{gdb-switch-when-another-stopped} to @code{nil} to prevent this.
+
+@vindex gdb-switch-reasons
+Emacs can decide whether or not to switch to the stopped thread
+depending on the reason which caused the stop. Customize
+@code{gdb-switch-reasons} to select stop reasons which make Emacs
+switch thread.
+
+@vindex gdb-stopped-hooks
+The variable @code{gdb-stopped-hooks} allows you to execute your
+functions whenever some thread stops.
+
+ In non-stop mode, you can switch between different modes for GUD
+execution control commands.
+
+@vindex gdb-gud-control-all-threads
+@table @dfn
+@item Non-stop/A
+
+When @code{gdb-gud-control-all-threads} is @code{t} (the default
+value), interruption and continuation commands apply to all threads,
+so you can halt or continue all your threads with one command using
+@code{gud-stop-subjob} and @code{gud-cont}, respectively. The
+@samp{Go} button is shown on the toolbar when at least one thread is
+stopped, whereas @samp{Stop} button is shown when at least one thread
+is running.
+
+@item Non-stop/T
+
+When @code{gdb-gud-control-all-threads} is @code{nil}, only the
+current thread is stopped/continued. @samp{Go} and @samp{Stop}
+buttons on the GUD toolbar are shown depending on the state of current
+thread.
+@end table
+
+You can change the current value of @code{gdb-gud-control-all-threads}
+from the tool bar or from @samp{GUD->GDB-MI} menu.
+
+ Stepping commands always apply to the current thread.
+
+@subsubheading Fine Thread Control
+
+ In non-stop mode, you can interrupt/continue your threads without
+selecting them. Hitting @kbd{i} in threads buffer interrupts thread
+under point, @kbd{c} continues it, @kbd{s} steps through. More such
+commands may be added in the future.
+
+Combined with creating bound buffers for any thread, this allows you
+to change and track state of many threads in the same time.
+
+ Note that when you interrupt a thread, it stops with @samp{signal
+received} reason. If that reason is included in your
+@code{gdb-switch-reasons} (it is by default), Emacs will switch to
+that thread.
+
@node Executing Lisp
@section Executing Lisp Expressions
@@ -1270,11 +1431,13 @@ your own, put them in a single directory and add that directory to
@end example
@cindex autoload
- Often you do not have to give any command to load a library, because
-the commands defined in the library are set up to @dfn{autoload} that
-library. Trying to run any of those commands calls @code{load} to load
-the library; this replaces the autoload definitions with the real ones
-from the library.
+ Some commands are @dfn{autoloaded}: when you run them, Emacs will
+automatically load the associated library first. For instance, the
+@code{compile} and @code{compilation-mode} commands
+(@pxref{Compilation}) are autoloaded; if you call either command,
+Emacs automatically loads the @code{compile} library. In contrast,
+the command @code{recompile} is not autoloaded, so it is unavailable
+until you load the @code{compile} library.
@vindex load-dangerous-libraries
@cindex Lisp files byte-compiled by XEmacs
View
29 doc/emacs/cal-xtra.texi
@@ -34,8 +34,8 @@ diary suit your personal tastes.
The calendar display unfortunately cannot be changed from three
months, but you can customize the whitespace used by setting the
variables: @code{calendar-left-margin},
-@code{calendar-intermonth-spacing}, @code{calendar-column-width},
-@code{calendar-day-header-width}, and @code{calendar-day-digit-width}.
+@code{calendar-day-header-width}, @code{calendar-day-digit-width},
+@code{calendar-column-width}, and @code{calendar-intermonth-spacing}.
To display text @emph{between} the months, for example week numbers,
customize the variables @code{calendar-intermonth-header} and
@code{calendar-intermonth-text} as described in their documentation.
@@ -92,16 +92,16 @@ the current date is @emph{not} visible in the window.
@vindex holiday-oriental-holidays
@vindex holiday-solar-holidays
Emacs knows about holidays defined by entries on one of several lists.
-The lists of holidays that Emacs uses are for general holidays
-(@code{holiday-general-holidays}), local holidays
-(@code{holiday-local-holidays}), Baha'i holidays
-(@code{holiday-bahai-holidays}), Christian holidays
-(@code{holiday-christian-holidays}), Hebrew (Jewish) holidays
-(@code{holiday-hebrew-holidays}), Islamic (Muslim) holidays
-(@code{holiday-islamic-holidays}), Oriental holidays
-(@code{holiday-oriental-holidays}), sun- and moon-related holidays
-(@code{holiday-solar-holidays}), and other holidays
-(@code{holiday-other-holidays}).
+The lists of holidays that Emacs uses are for
+general holidays (@code{holiday-general-holidays}),
+local holidays (@code{holiday-local-holidays}),
+sun- and moon-related holidays (@code{holiday-solar-holidays}),
+Baha'i holidays (@code{holiday-bahai-holidays}),
+Christian holidays (@code{holiday-christian-holidays}),
+Hebrew (Jewish) holidays (@code{holiday-hebrew-holidays}),
+Islamic (Muslim) holidays (@code{holiday-islamic-holidays}),
+Oriental holidays (@code{holiday-oriental-holidays}),
+and other holidays (@code{holiday-other-holidays}).
You can customize these lists of holidays to your own needs, deleting or
adding holidays as described below. Set any of them to @code{nil} to
@@ -465,8 +465,9 @@ must precede a Baha'i date, @code{diary-hebrew-entry-symbol} (default
@samp{H}) a Hebrew date, and @code{diary-islamic-entry-symbol} (default
@samp{I}) an Islamic date. Moreover, non-Gregorian month names may not
be abbreviated (because the first three letters are often not unique).
-For example, a diary entry for the Hebrew date Heshvan 25 could look
-like this:
+(Note also that you must use ``Adar I'' if you want Adar of a common
+Hebrew year.) For example, a diary entry for the Hebrew date Heshvan 25
+could look like this:
@smallexample
HHeshvan 25 Happy Hebrew birthday!
View
41 doc/emacs/cmdargs.texi
@@ -332,26 +332,6 @@ own@footnote{This option has no effect on MS-Windows.}.
Enable the Emacs Lisp debugger for errors in the init file.
@xref{Error Debugging,, Entering the Debugger on an Error, elisp, The
GNU Emacs Lisp Reference Manual}.
-
-@item --unibyte
-@opindex --unibyte
-@itemx --no-multibyte
-@opindex --no-multibyte
-@cindex unibyte operation, command-line argument
-Do almost everything with single-byte buffers and strings.
-All buffers and strings are unibyte unless you (or a Lisp program)
-explicitly ask for a multibyte buffer or string. (Note that Emacs
-always loads Lisp files in multibyte mode, even if @samp{--unibyte} is
-specified; see @ref{Enabling Multibyte}.) Setting the environment
-variable @env{EMACS_UNIBYTE} has the same effect
-(@pxref{General Variables}).
-
-@item --multibyte
-@opindex --multibyte
-@itemx --no-unibyte
-@opindex --no-unibyte
-Inhibit the effect of @env{EMACS_UNIBYTE}, so that Emacs
-uses multibyte characters by default, as usual.
@end table
@node Command Example
@@ -479,12 +459,6 @@ variables to be set, but it uses their values if they are set.
@item CDPATH
Used by the @code{cd} command to search for the directory you specify,
when you specify a relative directory name.
-@item EMACS_UNIBYTE
-@cindex unibyte operation, environment variable
-Defining this environment variable with a nonempty value directs Emacs
-to do almost everything with single-byte buffers and strings. It is
-equivalent to using the @samp{--unibyte} command-line option on each
-invocation. @xref{Initial Options}.