Merge from emacs-23.
authorGlenn Morris <rgm@gnu.org>
Tue, 25 Jan 2011 03:47:47 +0000 (19:47 -0800)
committerGlenn Morris <rgm@gnu.org>
Tue, 25 Jan 2011 03:47:47 +0000 (19:47 -0800)
Note setting of CANNOT_DUMP on ia64 hpux is still to be merged manually.

23 files changed:
1  2 
ChangeLog
configure.in
doc/lispref/ChangeLog
doc/lispref/display.texi
doc/lispref/frames.texi
doc/lispref/loading.texi
doc/lispref/searching.texi
lib-src/ChangeLog
lib-src/movemail.c
lisp/ChangeLog
lisp/button.el
lisp/comint.el
lisp/dired.el
lisp/emacs-lisp/re-builder.el
lisp/files.el
lisp/gnus/nnbabyl.el
lisp/progmodes/ruby-mode.el
lisp/simple.el
lwlib/ChangeLog
lwlib/lwlib-Xm.c
src/ChangeLog
src/lisp.h
src/xdisp.c

diff --cc ChangeLog
+++ b/ChangeLog
 -2011-01-23  Peter O'Gorman  <bug-gnu-emacs@mlists.thewrittenword.com>  (tiny change)
++2011-01-25  Peter O'Gorman  <bug-gnu-emacs@mlists.thewrittenword.com>  (tiny change)
+       * configure.in: Add HP-UX on IA64 (Bug#6811).
 -2011-01-12  Chong Yidong  <cyd@stupidchicken.com>
 +2011-01-24  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Remove HAVE_RAW_DECL_CHOWN etc. from config.h
 +      * Makefile.in (sync-from-gnulib): Remove m4/warn-on-use.m4,
 +      as it is no longer needed.
 +      * aclocal.m4, configure, lib/Makefile.in, src/config.in: Regenerate.
 +      * configure.in: Invoke the new gnulib macro
 +      gl_ASSERT_NO_GNULIB_POSIXCHECK, which removes the need for
 +      warn-on-use.m4 and for the HAVE_RAW_DECL_* symbols in config.h.
 +      * m4/getopt.m4: Sync from gnulib; this removes the need for
 +      HAVE_DECL_OPTRESET and HAVE_DECL_GETOPT_CLIP from config.h.
 +      * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK):
 +      New macro, synced from gnulib.
 +      * m4/warn-on-use.m4: Remove.
 +
 +2011-01-22  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      aclocal.m4: put this file back into repository
 +      This way, we don't have to assume that the maintainer has
 +      the automake package installed.  See
 +      <http://lists.gnu.org/archive/html/emacs-devel/2011-01/msg00746.html>.
 +      * .bzrignore: Remove aclocal.m4, undoing the previous change.
 +      * Makefile.in (top_maintainer_clean): Do not remove aclocal.m4,
 +      undoing the previous change.
 +      * aclocal.m4: New file (actually, resurrected).
 +
 +2011-01-22  Miles Bader  <miles@gnu.org>
 +
 +      * configure.in: Don't zero-out FONTCONFIG_CFLAGS and
 +      FONTCONFIG_LIBS when building with XFT (doing so is incorrect, as
 +      Emacs directly uses fontconfig, and breaks building when using a
 +      strict linker).
 +
 +2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      src/config.in: shrink slightly
 +      * configure.in: Invoke the new gnulib macro gl_ASSERT_NO_GNULIB_TESTS.
 +      This makes src/config.in a bit smaller, by removing identifiers
 +      like GNULIB_TEST_MKTIME that Emacs does not need.
 +      * m4/getopt.m4, m4/gnulib-common.m4, m4/include_next.m4:
 +      * m4/multiarch.m4, m4/stddef_h.m4, m4/time_h.m4, m4/unistd_h.m4:
 +      Sync from gnulib.  This removes a few more unnecessary symbols from
 +      src/config.in, such as AA_APPLE_UNIVERSAL_BUILD and HAVE_STDDEF_H.
 +      * configure, src/config.in: Regenerate.
 +
 +      aclocal.m4: tweaks to regenerate more conveniently
 +      This attempts to act better when the source is in a weird state.  See
 +      <http://lists.gnu.org/archive/html/emacs-devel/2011-01/msg00734.html>.
 +      * Makefile.in (am--refresh): Add aclocal.m4, configure, config.in.
 +      * .bzrignore: Add aclocal.m4.
 +
 +2011-01-20  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      aclocal.m4: omit auto-generated file from repository
 +      * Makefile.in (top_maintainer_clean): Remove aclocal.m4; this undoes
 +      the most recent change here.
 +      * aclocal.m4: Remove from bzr repository.  This file is
 +      auto-generated and isn't needed to run 'configure'.  See
 +      <http://lists.gnu.org/archive/html/emacs-devel/2011-01/msg00698.html>.
 +
 +2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Minor Makefile.in tweaks to build from gnulib better.
 +      <http://lists.gnu.org/archive/html/emacs-devel/2011-01/msg00673.html>
 +      * Makefile.in (sync-from-gnulib): Also run autoreconf -I m4.
 +      (top_maintainer_clean): Don't remove aclocal.m4.
 +
 +2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Minor cleanups for 'bzr status'
 +      * .bzrignore: Add emacs-*/, the output of make-dist, and stamp-h1,
 +      the output of config.guess.
 +      * Makefile.in (top_distclean): Remove stamp-h1 too.
 +
 +      * configure.in (HAVE_ATTRIBUTE_ALIGNED): Arrange for this to be
 +      defined if the compiler supports GCC-style __attribute__
 +      ((__aligned__ ...)).  IBM AIX and Oracle Solaris Studio support
 +      this syntax.
 +
 +2011-01-17  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Makefile.in: tidy up the building of lib
 +      * Makefile.in (am--refresh): Mark as .PHONY.
 +      (top_maintainer_clean): Don't remove lib/gnulib.mk m4/gnulib-cache.m4,
 +      as they're not rebuilt unless you do a "make sync-from-gnulib"
 +      and the former is needed for "configure".
 +      (maintainer-clean): Don't recurse into lib, as "make bootstrap-clean"
 +      has already removed lib/Makefile.
 +
 +      * Makefile.in (GNULIB_MODULES): Change ftoastr to dtoastr.
 +      This avoids building ftoastr and ldtoastr, which aren't needed.  See
 +      <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00199.html>.
 +
 +      * .bzrignore: Add .h files that are host-dependent.
 +      Add lib/.deps/, lib/arg-nonnull.h, lib/c++defs.h, lib/getopt.h,
 +      lib/time.h, lib/unistd.h, lib/warn-on-use.h.  These are
 +      host-dependent and are built as part of an ordinary 'make', and
 +      should not be checked in.
 +
 +      * lib/Makefile.in: Regenerate.
 +      * lib/COPYING: New file, a copy of COPYING.
  
 -      * configure.in [netbsd systems]: Check for tputs definition
 -      (Bug#7642).
 +      * configure: Regenerate.
 +      * configure.in (AC_USE_SYSTEM_EXTENSIONS): Remove: gnulib does this.
 +
 +      Regenerate.
 +      * lib/getopt.c, lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h:
 +      * lib/gettext.h, lib/unistd.in.h, m4/unistd_h.m4:
 +      New files, copied from gnulib by gnulib-tool.
 +      * aclocal.m4, configure, lib/Makefile.in, m4/getopt.m4:
 +      * m4/gnulib-cache.m4, m4/gnulib-comp.m4, src/config.in:
 +      Regenerate.
 +
 +      Use gnulib's getopt-gnu module.
 +      * Makefile.in (GNULIB_MODULES): Add getopt-gnu.
 +      (AUTOCONF_INPUTS): Remove getopt.m4; aclocal.m4 is a good-enough
 +      representative of the dependencies.
 +      * configure.in: Do not configure getopt, as gnulib does that now.
 +      * make-dist: Do not worry about lib-src/getopt.h, as gnulib handles
 +      getopt now, in lib.
 +
 +      Regenerate.
 +      * arg-nonnull.h, c++defs.h, lib/mktime-internal.h, lib/mktime.c:
 +      * lib/stddef.in.h, lib/time.h, lib/time.in.h, lib/time_r.c:
 +      * m4/extensions.m4, m4/include_next.m4, m4/mktime.m4:
 +      * m4/multiarch.m4, m4/stddef_h.m4, m4/time_h.m4, m4/time_r.m4:
 +      * m4/extensions.m4, m4/include_next.m4, m4/mktime.m4, m4/multiarch.m4:
 +      * m4/stddef_h.m4, m4/time_h.m4, m4/time_r.m4, m4/warn-on-use.m4:
 +      * m4/wchar_t.m4, warn-on-use.h:
 +      New files, copied from gnulib by gnulib-tool.
 +      * aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk:
 +      * m4/gnulib-cache.m4, m4/gnulib-comp.m4, src/config.in:
 +      Regenerate.
 +
 +      Use gnulib's mktime module.
 +      * Makefile.in (GNULIB_MODULES): Add mktime.
 +      * configure.in: Remove code no longer needed, as gnulib now does it.
 +      (AC_CHECK_FUNCS): Remove mktime.
 +      (AC_FUNC_MKTIME, BROKEN_MKTIME): Remove.
 +      (__restrict): Remove, as this now gets in the way of the C99
 +      support for 'restrict' pulled in by the gnulib mktime module.
 +      Code should now use 'restrict' and not '__restrict".
 +      (mktime): Remove.
 +      * make-dist: Put gnulib-generated files arg-nonnull.h, c++defs.h,
 +      and warn-on-use.h into the distribution.
 +
 +      Regenerate.
 +      * lib/dtoastr.c, lib/ftoastr.c, lib/ftoastr.h, lib/intprops.h:
 +      * lib/ldtoastr.c, m4/c-strtod.m4:
 +      New files, copied from gnulib by gnulib-tool.
 +      * lib/dummy.c: Remove.
 +      * aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk:
 +      * m4/gnulib-cache.m4, m4/gnulib-comp.m4, src/config.in:
 +      Regenerate.
 +
 +      Use gnulib's ftoastr module.
 +      * Makefile.in (GNULIB_MODULES): Add ftoastr.  Remove dummy.
 +
 +      Regenerate.
 +      * aclocal.m4, compile, depcomp, lib/Makefile.in, lib/dummy.c:
 +      * lib/gnulib.mk, m4/00gnulib.m4, m4/gnulib-cache.m4:
 +      * m4/gnulib-common.m4, m4/gnulib-comp.m4, m4/gnulib-tool.m4, missing:
 +      New files, generated automatically, with 'make sync-from-gnulib'
 +      followed by 'make'.
 +      * configure, lisp/dired.el, src/config.in: Regenerate.
 +
 +      Automate syncing from gnulib.
 +      * INSTALL, README: Document new subdirectory 'lib'.
 +      * Makefile.in (SUBDIR): Add lib.
 +      (SUBDIR_MAKEFILES): Add lib/Makefile.
 +      (lib-src, src, TAGS, tags): Depend on lib.
 +      (gnulib_srcdir, GNULIB_MODULES, GNULIB_TOOL_FLAGS): New macros.
 +      ($(gnulib_srcdir)): New rule.
 +      (sync-from-gnulib): New rule, which is .PHONY.
 +      (lib): New rule, which is like lib-src.
 +      (Makefile): Depend on lib/Makefile.in.
 +      (AUTOCONF_INPUTS): Depend on aclocal.m4.
 +      (ACLOCAL_INPUTS, AUTOMAKE_INPUTS): New macros.
 +      ($(srcdir)/aclocal.m4, $(srcdir)/lib/Makefile.in): New rules.
 +      (am--refresh): New rule, to pacify Automake.
 +      (mostlyclean, clean, distclean, bootstrap-clean, maintainer-clean):
 +      Clean lib, too.
 +      (top_maintainer_clean): New macro, to remove gnulib-tool and Automake
 +      droppings.
 +      (maintainer-clean, extraclean): Use it.
 +      * configure.in: Initialize for automake and gnulib, by invoking
 +      AM_INIT_AUTOMAKE, AM_PROG_CC_C_O, gl_EARLY, and gl_INIT.  Output
 +      lib/Makefile, too.  Use automake to build gnulib, as gnulib works
 +      more conveniently with automake.
 +      * lib/Makefile.am: New file.
 +      * make-dist: Also put into the distribution aclocal.m4,
 +      compile, depcomp, missing, and the files under lib/.
 +
 +2011-01-15  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (epaths-force): No more arch-tag to edit.
 +
 +2011-01-15  Chong Yidong  <cyd@stupidchicken.com>
 +
 +      * configure.in: Bump min libxml2 version to 2.6.17 (Bug#7603).
 +
 +2011-01-14  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * make-dist: Distribute test/ files too.
 +      Distribute every file under test/ that is under version control,
 +      using patterns like *.el to capture files that are added later.
 +      Without this change, "configure" would fail, because it would
 +      attempt to build from a Makefile.in that was not distributed.
 +
 +2011-01-13  Christian Ohler  <ohler@gnu.org>
 +
 +      * Makefile.in (INFO_FILES): Add ERT.
 +
 +      * Makefile.in (check): Run tests in test/automated.
 +
 +      * Makefile.in:
 +      * configure.in: Add test/automated/Makefile.
 +
 +2011-01-07  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * install-sh, mkinstalldirs, move-if-change: Update from master
 +      source in gnulib.
 +
 +      * config.guess, config.sub: Updated from master source.
 +
 +2011-01-05  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * configure.in: Check for __builtin_unwind_init.
 +
 +2011-01-05  Glenn Morris  <rgm@gnu.org>
 +
 +      * configure.in (HAVE_MAKEINFO): New output variable.
 +      (MAKEINFO): Reset to "makeinfo" if not found.
 +      * Makefile.in (install-arch-indep, info):
 +      Replace MAKEINFO = off with HAVE_MAKEINFO = no.
 +
 +2010-12-29  Ulrich Mueller  <ulm@gentoo.org>
 +
 +      * configure.in: Make gameuser configurable (Bug#7717).
 +
 +2010-12-15  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (install-arch-dep, uninstall): Remove code relating to the
 +      long absent lib-src/fns-*.el.
  
  2010-12-11  Glenn Morris  <rgm@gnu.org>
  
diff --cc configure.in
@@@ -515,17 -493,31 +515,25 @@@ case "${canonical}" i
      CFLAGS="-D_INCLUDE__STDC_A1_SOURCE $CFLAGS"
    ;;
  
+   ia64*-hp-hpux1[1-9]* )
+     machine=hp800 opsys=hpux11
+   ;;
+   hppa*-*-linux-gnu* )
+     machine=hp800 opsys=gnu-linux
+   ;;
    ## IBM machines
 -  s390-*-linux-gnu* )
 -    machine=ibms390 opsys=gnu-linux
 -  ;;
 -  s390x-*-linux-gnu* )
 -    machine=ibms390x opsys=gnu-linux
 -  ;;
 -  rs6000-ibm-aix4.2* | powerpc-ibm-aix4.2*  )
 +  rs6000-ibm-aix4.[23]* )
      machine=ibmrs6000 opsys=aix4-2
    ;;
 -  rs6000-ibm-aix4.3* | powerpc-ibm-aix4.3*  )
 +  powerpc-ibm-aix4.[23]*  )
      machine=ibmrs6000 opsys=aix4-2
    ;;
 -  rs6000-ibm-aix5* | powerpc-ibm-aix5*  )
 +  rs6000-ibm-aix[56]* )
      machine=ibmrs6000 opsys=aix4-2
    ;;
 -  rs6000-ibm-aix6* | powerpc-ibm-aix6*  )
 +  powerpc-ibm-aix[56]*  )
      machine=ibmrs6000 opsys=aix4-2
    ;;
  
@@@ -1,10 -1,24 +1,28 @@@
 -2011-01-23  Chong Yidong  <cyd@stupidchicken.com>
++2011-01-25  Chong Yidong  <cyd@stupidchicken.com>
+             Richard Kim  <emacs18@gmail.com>
+       * loading.texi (Library Search): Document list-load-path-shadows
+       (Bug#7757).
 -2011-01-23  Chong Yidong  <cyd@stupidchicken.com>
++2011-01-25  Chong Yidong  <cyd@stupidchicken.com>
+       * searching.texi (Regexp Special): Remove outdated discussion of
+       character sets (Bug#7780).
 -2011-01-22  Chong Yidong  <cyd@stupidchicken.com>
 -
+       * frames.texi (Pop-Up Menus): Document where menu title comes
+       from (Bug#7684).
 -2011-01-22  Glenn Morris  <rgm@gnu.org>
++2011-01-25  Glenn Morris  <rgm@gnu.org>
+       * display.texi (Making Buttons): Mention limitation of text buttons.
 -2011-01-08  Chong Yidong  <cyd@stupidchicken.com>
 +2011-01-23  Werner Lemberg  <wl@gnu.org>
 +
 +      * Makefile.in (MAKEINFO): Now controlled by `configure'.
 +      (MAKEINFO_OPTS): New variable.  Use it where appropriate.
 +      (ENVADD): New variable to control texi2dvi and texi2pdf.
 +
 +2011-01-15  Chong Yidong  <cyd@stupidchicken.com>
  
        * files.texi (Directory Names): Move directory-abbrev-alist doc to
        Emacs manual.
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -1,52 -1,8 +1,57 @@@
 -2011-01-23  Chong Yidong  <cyd@stupidchicken.com>
++2011-01-25  Chong Yidong  <cyd@stupidchicken.com>
+       * movemail.c (main): Use setregid instead of setegid, which is
+       missing on older systems.  Suggested by Peter O'Gorman (Bug#6811).
 +2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Check return values of some library calls.
 +      * hexl.c (main): Check fread result.
 +      * make-docfile.c (main): Check chdir result.
 +      (scan_c_file): Check fscanf result.
 +      * movemail.c (main): Check ftruncate result.
 +
 +2011-01-17  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Include <unistd.h> unilaterally.
 +      * emacsclient.c, etags.c, fakemail.c, make-docfile.c, movemail.c:
 +      * pop.c, test-distrib.c, update-game-score.c:
 +      Include <unistd.h> without worrying about HAVE_UNISTD_H, since
 +      unistd.h is always present now, possibly supplied by gnulib.
 +
 +      Include <getopt.h> not "getopt.h".
 +      * ebrowse.c, emacsclient.c: Include <getopt.h>, not "getopt.h".
 +      Since getopt.h is no longer in this directory, there's no point
 +      using the form with double-quotes.
 +
 +      Remove unused files.
 +      * getopt.c, getopt1.c, getopt_.h, getopt_int.h: Remove.
 +      These files are now in ../lib, copied from gnulib.
 +
 +      Use gnulib's getopt-gnu module.
 +      * Makefile.in (mostlyclean): Do not clean getopt.h or getopt.h-t,
 +      as these are now done by gnulib.
 +      (GETOPT_H, getopt.h, GETOPTOBJS, GETOPTDEPS, getopt.o, getopt1.o):
 +      Remove; now done by gnulib.  All uses removed.
 +
 +      Automate syncing from gnulib.
 +      * Makefile.in (EXE_FILES): New macro.
 +      (BASE_CFLAGS): Add -I../lib and -I${srcdir}/../lib,
 +      for gnulib's .h files.
 +      (LOADLIBES): Add ../lib/libgnu.a.
 +      ($(EXE_FILES)): Depend on ../lib/libgnu.a.
 +      (../lib/libgnu.a): New rule.
 +
 +2011-01-08  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * Makefile.in (EXECUTABLES): Remove; macro unused since 1993.
 +
 +2011-01-08  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (EMACSOPT): Add --no-site-lisp.
 +
 +      * Makefile.in (EMACSOPT): Remove --multibyte, it does nothing any more.
 +
  2011-01-02  Glenn Morris  <rgm@gnu.org>
  
        * ebrowse.c (version) <emacs_copyright>:
Simple merge
diff --cc lisp/ChangeLog
@@@ -1,52 -1,41 +1,87 @@@
 -2011-01-25  Glenn Morris  <rgm@gnu.org>
 -
 -      * comint.el (comint-mode): Doc fix.  (Bug#7897)
 -
 -2011-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
++2011-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
+       * files.el (file-name-non-special): Only change buffer-file-name after
+       insert-file-contents if it's `visit'ing the file (bug#7854).
 -2011-01-23  Chong Yidong  <cyd@stupidchicken.com>
++2011-01-25  Chong Yidong  <cyd@stupidchicken.com>
+       * dired.el (dired-revert): Doc fix (Bug#7758).
 -2011-01-23  Nobuyoshi Nakada  <nobu@ruby-lang.org>
++      * simple.el (line-move-visual): Doc fix (Bug#7594).
++
++2011-01-25  Nobuyoshi Nakada  <nobu@ruby-lang.org>
+       * progmodes/ruby-mode.el (ruby-here-doc-beg-match): Fix for
+       here-doc which ends with an underscore.
+       (ruby-mode-set-encoding): Skip shebang line always.
+       (ruby-mode-map): Bind C-c C-c to comment-region.
+       (ruby-font-lock-keywords): Highlight literal hash key labels as symbols.
+       (ruby-forward-sexp): Stop after literal hash key labels.
+       (ruby-font-lock-syntactic-keywords): Highlight regexp after open
+       bracket.
 -2011-01-22  Keitaro Miyazaki  <keitaro.miyazaki@gmail.com>  (tiny change)
++2011-01-25  Keitaro Miyazaki  <keitaro.miyazaki@gmail.com>  (tiny change)
+       * emacs-lisp/re-builder.el (reb-mode-map): Set case-fold-search in
+       the correct buffer (Bug#7650).
 -2011-01-22  Glenn Morris  <rgm@gnu.org>
++2011-01-25  Glenn Morris  <rgm@gnu.org>
++
++      * comint.el (comint-mode): Doc fix.  (Bug#7897)
+       * simple.el (do-auto-fill): Give it a doc string.
+       * button.el (make-text-button): Doc fix.  (See bug#7881)
 +2011-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/perl-mode.el (perl-syntax-propertize-special-constructs):
 +      Don't move backward, so as not to fall in an inf-loop (bug#7736).
 +
 +      * progmodes/ruby-mode.el (ruby-syntax-propertize-function): (bug#7735)
 +      Handle ?" and friends differently (e.g. don't use backrefs).
 +
 +2011-01-24  Jay Belanger  <jay.p.belanger@gmail.com>
 +
 +      * calc/calc.el (calc-default-power-reference-level)
 +      (calc-default-field-reference-level): New variables.
 +      * calc/calc-units.el (math-standard-units):  Add dB and Np.
 +      (math-logunits): New variable.
 +      (math-extract-logunits, math-logcombine, calcFunc-luplus)
 +      (calcFunc-luminus, calc-luplus, calc-luminus, math-logunit-level)
 +      (calcFunc-fieldlevel, calcFunc-powerlevel, calc-level):
 +      New functions.
 +      (math-find-base-units-rec): Add entry for ln(10).
 +      * calc/calc-help.el (calc-u-prefix-help): Add logarithmic help.
 +      (calc-ul-prefix-help): New function.
 +      * calc/calc-ext.el (calc-init-extensions): Autoload new units
 +      functions. Add keybindings for new units functions.
 +
 +2011-01-22  Giorgos Keramidas  <keramida@ceid.upatras.gr>
 +
 +      * net/rcirc.el (rcirc-kill-buffer-hook): Flush logs when killing
 +      rcirc buffers.
 +
 +2011-01-22  Glenn Morris  <rgm@gnu.org>
 +
 +      * emacs-lisp/copyright.el (copyright-find-copyright): New function,
 +      split out from copyright-update-year.
 +      (copyright-update): Don't mess with the GPL version if we don't own the
 +      copyright.  Update license regexp, and remove no longer needed
 +      Esperanto stuff.
 +      (copyright-fix-years): Use copyright-find-copyright.
 +
  2011-01-22  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * simple.el (line-move-visual): Doc fix (Bug#7594).
 +      * vc/diff.el (diff-sentinel): Doc fix (Bug#7682).
 +
 +2011-01-22  Jari Aalto  <jari.aalto@cante.net>
 +
 +      * play/landmark.el: Change `lm-' prefix to `landmark-' (Bug#7672).
 +      (lm): Rename to landmark.
 +      (lm-test-run): Rename to landmark-test-run.
 +
 +2011-01-22  Chong Yidong  <cyd@stupidchicken.com>
  
        * emacs-lisp/re-builder.el (reb-mode-map): Fix logic error in
        "Case sensitive" menu item.
diff --cc lisp/button.el
Simple merge
diff --cc lisp/comint.el
Simple merge
diff --cc lisp/dired.el
Simple merge
Simple merge
diff --cc lisp/files.el
Simple merge
@@@ -1,8 -1,7 +1,8 @@@
  ;;; nnbabyl.el --- rmail mbox access for Gnus
  
- ;; Copyright (C) 1995, 1996, 1997, 1998, 1099, 2000, 2001, 2002, 2003,
+ ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
 -;;   2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
 +;;   2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
 +;;   Free Software Foundation, Inc.
  
  ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
  ;;    Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
@@@ -1108,127 -1134,48 +1110,130 @@@ See `add-log-current-defun-function'.
                (if mlist (concat mlist mname) mname)
              mlist)))))
  
 -(defconst ruby-font-lock-syntactic-keywords
 -  `(;; #{ }, #$hoge, #@foo are not comments
 +(declare-function ruby-syntax-propertize-heredoc "ruby-mode" (limit))
 +
 +(if (eval-when-compile (fboundp #'syntax-propertize-rules))
 +    ;; New code that works independently from font-lock.
 +    (progn
 +      (defun ruby-syntax-propertize-function (start end)
 +        "Syntactic keywords for Ruby mode.  See `syntax-propertize-function'."
 +        (goto-char start)
 +        (ruby-syntax-propertize-heredoc end)
 +        (funcall
 +         (syntax-propertize-rules
 +          ;; #{ }, #$hoge, #@foo are not comments
 +          ("\\(#\\)[{$@]" (1 "."))
 +          ;; $' $" $` .... are variables
 +          ;; ?' ?" ?` are ascii codes
 +          ("\\([?$]\\)[#\"'`]"
 +           (1 (unless (save-excursion
 +                        ;; Not within a string.
 +                        (nth 3 (syntax-ppss (match-beginning 0))))
 +                (string-to-syntax "\\"))))
 +          ;; regexps
 +          ("\\(^\\|[=(,~?:;<>]\\|\\(^\\|\\s \\)\\(if\\|elsif\\|unless\\|while\\|until\\|when\\|and\\|or\\|&&\\|||\\)\\|g?sub!?\\|scan\\|split!?\\)\\s *\\(/\\)[^/\n\\\\]*\\(\\\\.[^/\n\\\\]*\\)*\\(/\\)"
 +           (4 "\"/")
 +           (6 "\"/"))
 +          ("^=en\\(d\\)\\_>" (1 "!"))
 +          ("^\\(=\\)begin\\_>" (1 "!"))
 +          ;; Handle here documents.
 +          ((concat ruby-here-doc-beg-re ".*\\(\n\\)")
 +           (7 (prog1 "\"" (ruby-syntax-propertize-heredoc end)))))
 +         (point) end))
 +
 +      (defun ruby-syntax-propertize-heredoc (limit)
 +        (let ((ppss (syntax-ppss))
 +              (res '()))
 +          (when (eq ?\n (nth 3 ppss))
 +            (save-excursion
 +              (goto-char (nth 8 ppss))
 +              (beginning-of-line)
 +              (while (re-search-forward ruby-here-doc-beg-re
 +                                        (line-end-position) t)
 +                (push (concat (ruby-here-doc-end-match) "\n") res)))
 +            (let ((start (point)))
 +              ;; With multiple openers on the same line, we don't know in which
 +              ;; part `start' is, so we have to go back to the beginning.
 +              (when (cdr res)
 +                (goto-char (nth 8 ppss))
 +                (setq res (nreverse res)))
 +              (while (and res (re-search-forward (pop res) limit 'move))
 +                (if (null res)
 +                    (put-text-property (1- (point)) (point)
 +                                       'syntax-table (string-to-syntax "\""))))
 +              ;; Make extra sure we don't move back, lest we could fall into an
 +              ;; inf-loop.
 +              (if (< (point) start) (goto-char start))))))
 +      )
 +
 +  ;; For Emacsen where syntax-propertize-rules is not (yet) available,
 +  ;; fallback on the old font-lock-syntactic-keywords stuff.
 +
 +  (defconst ruby-here-doc-end-re
 +    "^\\([ \t]+\\)?\\(.*\\)\\(\n\\)"
 +    "Regexp to match the end of heredocs.
 +
 +This will actually match any line with one or more characters.
 +It's useful in that it divides up the match string so that
 +`ruby-here-doc-beg-match' can search for the beginning of the heredoc.")
 +
 +  (defun ruby-here-doc-beg-match ()
 +    "Return a regexp to find the beginning of a heredoc.
 +
 +This should only be called after matching against `ruby-here-doc-end-re'."
-     (let ((contents (regexp-quote (match-string 2))))
++    (let ((contents (concat
++                     (regexp-quote (concat (match-string 2) (match-string 3)))
++                     (if (string= (match-string 3) "_") "\\B" "\\b"))))
 +      (concat "<<"
 +              (let ((match (match-string 1)))
 +                (if (and match (> (length match) 0))
-                     (concat "\\(?:-\\([\"']?\\)\\|\\([\"']\\)" match "\\)"
-                             contents "\\b\\(\\1\\|\\2\\)")
-                   (concat "-?\\([\"']\\|\\)" contents "\\b\\1"))))))
++                    (concat "\\(?:-\\([\"']?\\)\\|\\([\"']\\)"
++                            (match-string 1) "\\)"
++                            contents "\\(\\1\\|\\2\\)")
++                  (concat "-?\\([\"']\\|\\)" contents "\\1"))))))
 +
 +  (defconst ruby-font-lock-syntactic-keywords
 +    `( ;; #{ }, #$hoge, #@foo are not comments
-       ("\\(#\\)[{$@]" 1 (1 . nil))
-       ;; the last $', $", $` in the respective string is not variable
-       ;; the last ?', ?", ?` in the respective string is not ascii code
-       ("\\(^\\|[\[ \t\n<+\(,=]\\)\\(['\"`]\\)\\(\\\\.\\|\\2\\|[^'\"`\n\\\\]\\)*?\\\\?[?$]\\(\\2\\)"
-        (2 (7 . nil))
-        (4 (7 . nil)))
-       ;; $' $" $` .... are variables
-       ;; ?' ?" ?` are ascii codes
-       ("\\(^\\|[^\\\\]\\)\\(\\\\\\\\\\)*[?$]\\([#\"'`]\\)" 3 (1 . nil))
-       ;; regexps
-       ("\\(^\\|[=(,~?:;<>]\\|\\(^\\|\\s \\)\\(if\\|elsif\\|unless\\|while\\|until\\|when\\|and\\|or\\|&&\\|||\\)\\|g?sub!?\\|scan\\|split!?\\)\\s *\\(/\\)[^/\n\\\\]*\\(\\\\.[^/\n\\\\]*\\)*\\(/\\)"
-        (4 (7 . ?/))
-        (6 (7 . ?/)))
-       ("^=en\\(d\\)\\_>" 1 "!")
-       ("^\\(=\\)begin\\_>" 1 (ruby-comment-beg-syntax))
-       ;; Currently, the following case is highlighted incorrectly:
-       ;;
-       ;;   <<FOO
-       ;;   FOO
-       ;;   <<BAR
-       ;;   <<BAZ
-       ;;   BAZ
-       ;;   BAR
-       ;;
-       ;; This is because all here-doc beginnings are highlighted before any endings,
-       ;; so although <<BAR is properly marked as a beginning, when we get to <<BAZ
-       ;; it thinks <<BAR is part of a string so it's marked as well.
-       ;;
-       ;; This may be fixable by modifying ruby-in-here-doc-p to use
-       ;; ruby-in-non-here-doc-string-p rather than syntax-ppss-context,
-       ;; but I don't want to try that until we've got unit tests set up
-       ;; to make sure I don't break anything else.
-       (,(concat ruby-here-doc-beg-re ".*\\(\n\\)")
-        ,(+ 1 (regexp-opt-depth ruby-here-doc-beg-re))
-        (ruby-here-doc-beg-syntax))
-       (,ruby-here-doc-end-re 3 (ruby-here-doc-end-syntax)))
-     "Syntactic keywords for Ruby mode.  See `font-lock-syntactic-keywords'.")
+     ("\\(#\\)[{$@]" 1 (1 . nil))
+     ;; the last $', $", $` in the respective string is not variable
+     ;; the last ?', ?", ?` in the respective string is not ascii code
+     ("\\(^\\|[\[ \t\n<+\(,=]\\)\\(['\"`]\\)\\(\\\\.\\|\\2\\|[^'\"`\n\\\\]\\)*?\\\\?[?$]\\(\\2\\)"
+      (2 (7 . nil))
+      (4 (7 . nil)))
+     ;; $' $" $` .... are variables
+     ;; ?' ?" ?` are ascii codes
+     ("\\(^\\|[^\\\\]\\)\\(\\\\\\\\\\)*[?$]\\([#\"'`]\\)" 3 (1 . nil))
+     ;; regexps
+     ("\\(^\\|[[=(,~?:;<>]\\|\\(^\\|\\s \\)\\(if\\|elsif\\|unless\\|while\\|until\\|when\\|and\\|or\\|&&\\|||\\)\\|g?sub!?\\|scan\\|split!?\\)\\s *\\(/\\)[^/\n\\\\]*\\(\\\\.[^/\n\\\\]*\\)*\\(/\\)"
+      (4 (7 . ?/))
+      (6 (7 . ?/)))
+     ("^=en\\(d\\)\\_>" 1 "!")
+     ("^\\(=\\)begin\\_>" 1 (ruby-comment-beg-syntax))
+     ;; Currently, the following case is highlighted incorrectly:
+     ;;
+     ;;   <<FOO
+     ;;   FOO
+     ;;   <<BAR
+     ;;   <<BAZ
+     ;;   BAZ
+     ;;   BAR
+     ;;
+     ;; This is because all here-doc beginnings are highlighted before any endings,
+     ;; so although <<BAR is properly marked as a beginning, when we get to <<BAZ
+     ;; it thinks <<BAR is part of a string so it's marked as well.
+     ;;
+     ;; This may be fixable by modifying ruby-in-here-doc-p to use
+     ;; ruby-in-non-here-doc-string-p rather than syntax-ppss-context,
+     ;; but I don't want to try that until we've got unit tests set up
+     ;; to make sure I don't break anything else.
+     (,(concat ruby-here-doc-beg-re ".*\\(\n\\)")
+      ,(+ 1 (regexp-opt-depth ruby-here-doc-beg-re))
+      (ruby-here-doc-beg-syntax))
+     (,ruby-here-doc-end-re 3 (ruby-here-doc-end-syntax)))
+   "Syntactic keywords for Ruby mode.  See `font-lock-syntactic-keywords'.")
  
 -(defun ruby-comment-beg-syntax ()
 +  (defun ruby-comment-beg-syntax ()
-     "Return the syntax cell for a the first character of a =begin.
+   "Return the syntax cell for a the first character of a =begin.
  See the definition of `ruby-font-lock-syntactic-keywords'.
  
  This returns a comment-delimiter cell as long as the =begin
diff --cc lisp/simple.el
Simple merge
diff --cc lwlib/ChangeLog
 -2011-01-23  Werner Meisner  <weme24@gmx.net>
++2011-01-25  Werner Meisner  <weme24@gmx.net>
+       * lwlib-Xm.c (xm_update_menu): Avoid a NULL pointer dereference
+       (Bug#7690).
 +2010-09-26  Dan Nicolaescu  <dann@ics.uci.edu>
 +
 +      Use const for some pointer arguments.
 +      * lwlib.h (my_strcasecmp, safe_strcmp, name_to_widget)
 +      (find_in_table, dialog_spec_p, lw_separator_p):
 +      * lwlib.c (my_strcasecmp, safe_strcmp, name_to_widget)
 +      (find_in_table, dialog_spec_p, lw_separator_p): Use const.
 +
 +2010-09-20  Dan Nicolaescu  <dann@ics.uci.edu>
 +
 +      * lwlib.h (lw_register_widget, lw_create_widget):
 +      * lwlib.c (allocate_widget_info, lw_register_widget)
 +      (lw_create_widget, separator_table): Use const.
 +
 +2010-07-29  Dan Nicolaescu  <dann@ics.uci.edu>
 +
 +      * xlwmenu.c (abort_gracefully): Mark as NO_RETURN.
 +
 +2010-07-26  Dan Nicolaescu  <dann@ics.uci.edu>
 +
 +      * xlwmenu.h (xlwmenu_window_p, xlwmenu_redisplay): Add declarations.
 +
 +2010-07-12  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * Makefile.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS): Set from
 +      substitution.
 +      (ALL_CFLAGS): Add ${C_WARNINGS_SWITCH} and ${PROFILING_CFLAGS}.
 +
 +2010-07-08  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * xlwmenu.c (size_menu_item): Change from K&R to prototype.
 +      Change label_width and height to int.
 +      (draw_arrow, draw_shadow_rectangle, draw_shadow_rhombus)
 +      (draw_separator, display_menu, fit_to_screen, motion_event_is_in_menu)
 +      (map_event_to_widget_value): Reformat.
 +      (display_menu_item): Change from K&R to prototype.
 +
 +      * lwlib.c (allocate_widget_info, lw_register_widget): Change from K&R
 +      to prototype.
 +      (lw_internal_update_other_instances, merge_widget_value): Reformat.
 +
 +      * lwlib-int.h (widget_creation_function): Fix prototype.
 +
 +      * lwlib-Xm.c (x_print_complete_resource_name)
 +      (make_destroyed_instance, free_destroyed_instance, first_child)
 +      (lw_motif_widget_p, resource_motif_string, destroy_all_children)
 +      (xm_arm_callback, xm_update_label, xm_update_list)
 +      (xm_update_pushbutton, xm_update_cascadebutton)
 +      (xm_update_toggle, xm_update_radiobox, make_menu_in_widget)
 +      (update_one_menu_entry, xm_update_menu, xm_update_text)
 +      (xm_update_text_field, xm_update_one_widget)
 +      (xm_update_one_value, activate_button, dialog_key_cb)
 +      (make_dialog, mark_dead_instance_destroyed)
 +      (find_matching_instance, recenter_widget, recycle_instance)
 +      (xm_create_dialog, make_menubar, remove_grabs, make_popup_menu)
 +      (make_main, xm_destroy_instance, xm_popup_menu)
 +      (set_min_dialog_size, xm_pop_instance, do_call)
 +      (xm_internal_update_other_instances, xm_generic_callback)
 +      (xm_nosel_callback, xm_pull_down_callback, xm_pop_down_callback)
 +      (xm_set_keyboard_focus, xm_set_main_areas, xm_manage_resizing): Change
 +      from K&R to prototype.
 +
 +      * lwlib-Xlw.c (x_print_complete_resource_name): Change from K&R to
 +      prototype.
 +      (xlw_update_one_value): Reformat.
 +
 +      * lwlib-Xaw.c (xaw_generic_callback, command_reset)
 +      (xaw_update_one_value): Reformat.
 +      (xaw_update_one_widget): Reformat and remove dead code.
 +      (xaw_scrollbar_scroll, xaw_scrollbar_jump, xaw_create_scrollbar)
 +      (xaw_update_scrollbar): Remove (not used).
 +      (make_dialog): Change from K&R to prototype. Remove dead code.
 +      (xaw_creation_table): Remove scrollbar entry.
 +
 +2010-07-08  Dan Nicolaescu  <dann@ics.uci.edu>
 +
 +      * lwlib.c (allocate_widget_instance, get_widget_info)
 +      (get_widget_instance, find_instance, set_one_value)
 +      (update_one_widget_instance, update_all_widget_values)
 +      (lw_modify_all_widgets, lw_get_widget, lw_make_widget)
 +      (lw_create_widget, lw_pop_all_widgets, lw_show_busy)
 +      (lw_refigure_widget, lw_allow_resizing): Remove alternative K&R
 +      declarations.
 +      * lwlib-Xlw.c (xlw_update_one_widget):
 +      (xlw_pop_instance): Likewise.
 +      * lwlib-Xaw.c (xaw_update_one_widget, xaw_pop_instance):
 +      Likewise.
 +      * lwlib-Xm.c (P_): Remove.
 +
 +2010-07-07  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * lwlib.c (lwlib_memset, lwlib_bcopy): Remove.
 +      (malloc_widget_value, free_widget_info, allocate_widget_instance)
 +      (lw_separator_p): Replace lwlib_memset, lwlib_bcopy, bzero, bcmp by
 +      memset, memcpy, memcmp.
 +      * lwlib-utils.c (XtApplyToWidgets): Likewise.
 +      * xlwmenu.c (XlwMenuInitialize): Likewise.
 +      * lwlib.h (lwlib_bcopy): Remove declaration.
 +
 +2010-07-05  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * xlwmenu.c (XlwMenuSetValues, XlwMenuInitialize): Correct prototype.
 +      (display_menu_item): Remove unused variable gi.
 +      (make_windows_if_needed): Remove unused variable screen.
 +      (XlwMenuRedisplay): Remove unused variable i.
 +
 +      * lwlib-Xaw.c: Include <ctype.h> for isdigit.
 +      (fill_xft_data, set_text): Remove unused variable screen.
 +      (draw_text): Cast bp to FcChar8*.
 +      (find_xft_data): Return 0 if inst or xft_data is not set.
 +      (wm_delete_window): Correct prototype.  Initialize widget to 0
 +      and return if widget is still 0 after loop.
 +
 +2010-07-04  Dan Nicolaescu  <dann@ics.uci.edu>
 +
 +      * lwlib-Xaw.c: Convert function definitions to standard C.
 +      * lwlib-Xlw.c:
 +      * lwlib-utils.c:
 +      * lwlib.c:
 +      * lwlib.h:
 +      * xlwmenu.c: Likewise.
 +
 +2010-07-02  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * lwlib-Xm.c: Remove __P and P_ from .c and .m files.
 +      * lwlib-Xm.c:
 +      * lwlib.c:
 +      * xlwmenu.c: Likewise.
 +
 +      Remove P_ and __P macros.
 +      * lwlib-Xaw.h: Remove P_ and __P macros.
 +      * lwlib-Xlw.h:
 +      * lwlib-Xm.h:
 +      * lwlib-int.h:
 +      * lwlib-utils.h:
 +      * lwlib.h: Likewise.
 +
 +2010-05-15  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (mostlyclean): Remove references to non-existent files.
 +
 +2010-05-13  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * lwlib-Xaw.c (make_dialog): Remove extra arg to XtVaGetSubresources.
 +
 +2010-05-08  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * xlwmenu.c (XlwMenuDestroy): Remove XtDestroyWidget on subwidgets
 +      (Bug #6127).
 +
  2010-05-07  Chong Yidong  <cyd@stupidchicken.com>
  
        * Version 23.2 released.
Simple merge
diff --cc src/ChangeLog
@@@ -1,24 -1,16 +1,34 @@@
 -2011-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
++2011-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
+       * xdisp.c (handle_fontified_prop): Be careful with font-lock changing
+       the buffer's point-max (bug#7876).
 -2011-01-23  Chong Yidong  <cyd@stupidchicken.com>
++2011-01-25  Chong Yidong  <cyd@stupidchicken.com>
+       * lisp.h (XPNTR): Obey DATA_SEG_BITS in all non-USE_LSB_TAG cases.
 -      Remove unused HAVE_SHM branch (Bug#6811).
++      Remove unused case (Bug#6811).
 -2011-01-23  Peter O'Gorman  <bug-gnu-emacs@mlists.thewrittenword.com>  (tiny change)
 +2011-01-23  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * s/hpux11.h: Set CANNOT_DUMP on IA64 (Bug#6811).
 +      * nsterm.m (x_set_offset): Set dont_constrain to 0 so the call to
 +      setFrameTopLeftPoint is constrained.
 +
 +2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Check return values of some library calls.
 +      * emacs.c (main): Check dup result.
 +      * frame.c: Include <limits.h>, for INT_MIN and INT_MAX.
 +      (frame_name_fnn_p): Check strtol result.
 +
 +      * image.c (x_create_bitmap_from_xpm_data): Add cast to fix type clash
 +      when calling XpmCreatePixmapFromData.
 +
 +      Promote SSDATA macro from gtkutil.c and xsmfns.c to lisp.h.
 +      * lisp.h (SSDATA): New macro.
 +      All uses of (char *) SDATA (x) replaced with SSDATA (x),
 +      and all uses of (unsigned char *) SDATA (x) replaced with SDATA (x).
 +      * gtkutil.c (SSDATA): Remove, as lisp.h now defines this.
 +      * xsmfns.c (SSDATA): Likewise.
  
  2011-01-22  Martin Rudalics  <rudalics@gmx.at>
  
diff --cc src/lisp.h
@@@ -440,11 -429,16 +440,17 @@@ enum pvec_typ
    ((((EMACS_INT) (N)) & VALMASK) | ((EMACS_INT) Lisp_Int) << VALBITS)
  #endif
  
 -#define XSET(var, type, ptr) \
 -   ((var) = ((EMACS_INT)(type) << VALBITS) + ((EMACS_INT) (ptr) & VALMASK))
 +#define XSET(var, type, ptr)                            \
 +   ((var) = ((EMACS_INT) ((EMACS_UINT) (type) << VALBITS) \
 +           + ((EMACS_INT) (ptr) & VALMASK)))
  
+ #ifdef DATA_SEG_BITS
+ /* DATA_SEG_BITS forces extra bits to be or'd in with any pointers
+    which were stored in a Lisp_Object */
+ #define XPNTR(a) ((EMACS_UINT) (((a) & VALMASK) | DATA_SEG_BITS))
+ #else
  #define XPNTR(a) ((EMACS_UINT) ((a) & VALMASK))
+ #endif
  
  #endif /* not USE_LSB_TAG */
  
diff --cc src/xdisp.c
Simple merge