Note setting of CANNOT_DUMP on ia64 hpux is still to be merged manually.
-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>
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
;;
-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.
-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>:
-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.
;;; 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>
(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
-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.
-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>
((((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 */