From: Glenn Morris Date: Tue, 25 Jan 2011 03:47:47 +0000 (-0800) Subject: Merge from emacs-23. X-Git-Tag: emacs-pretest-24.0.90~104^2~618^2~1322^2~136 X-Git-Url: https://code.delx.au/gnu-emacs/commitdiff_plain/06d8ace51597cd41e110560a56a1abeb6cce23d6 Merge from emacs-23. Note setting of CANNOT_DUMP on ia64 hpux is still to be merged manually. --- 06d8ace51597cd41e110560a56a1abeb6cce23d6 diff --cc ChangeLog index b3b3b999dc,71ac292bbd..0ff3459d66 --- a/ChangeLog +++ b/ChangeLog @@@ -1,247 -1,11 +1,251 @@@ -2011-01-23 Peter O'Gorman (tiny change) ++2011-01-25 Peter O'Gorman (tiny change) + + * configure.in: Add HP-UX on IA64 (Bug#6811). + -2011-01-12 Chong Yidong +2011-01-24 Paul Eggert + + 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 + + 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 + . + * .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 + + * 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 + + 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 + . + * Makefile.in (am--refresh): Add aclocal.m4, configure, config.in. + * .bzrignore: Add aclocal.m4. + +2011-01-20 Paul Eggert + + 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 + . + +2011-01-19 Paul Eggert + + Minor Makefile.in tweaks to build from gnulib better. + + * Makefile.in (sync-from-gnulib): Also run autoreconf -I m4. + (top_maintainer_clean): Don't remove aclocal.m4. + +2011-01-18 Paul Eggert + + 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 + + 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 + . + + * .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 + + * Makefile.in (epaths-force): No more arch-tag to edit. + +2011-01-15 Chong Yidong + + * configure.in: Bump min libxml2 version to 2.6.17 (Bug#7603). + +2011-01-14 Paul Eggert + + * 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 + + * 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 + + * 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 + + * configure.in: Check for __builtin_unwind_init. + +2011-01-05 Glenn Morris + + * 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 + + * configure.in: Make gameuser configurable (Bug#7717). + +2010-12-15 Glenn Morris + + * Makefile.in (install-arch-dep, uninstall): Remove code relating to the + long absent lib-src/fns-*.el. 2010-12-11 Glenn Morris diff --cc configure.in index 923f8095fa,fd1c62ccb7..4e8a31ecc5 --- a/configure.in +++ b/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 ;; diff --cc doc/lispref/ChangeLog index e196b3015b,7e6e7b4181..7dcf00ba81 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@@ -1,10 -1,24 +1,28 @@@ -2011-01-23 Chong Yidong ++2011-01-25 Chong Yidong + Richard Kim + + * loading.texi (Library Search): Document list-load-path-shadows + (Bug#7757). + -2011-01-23 Chong Yidong ++2011-01-25 Chong Yidong + + * searching.texi (Regexp Special): Remove outdated discussion of + character sets (Bug#7780). + -2011-01-22 Chong Yidong - + * frames.texi (Pop-Up Menus): Document where menu title comes + from (Bug#7684). + -2011-01-22 Glenn Morris ++2011-01-25 Glenn Morris + + * display.texi (Making Buttons): Mention limitation of text buttons. + -2011-01-08 Chong Yidong +2011-01-23 Werner Lemberg + + * 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 * files.texi (Directory Names): Move directory-abbrev-alist doc to Emacs manual. diff --cc lib-src/ChangeLog index 74509f4ae5,aa5ae5ba7e..9712414286 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@@ -1,52 -1,8 +1,57 @@@ -2011-01-23 Chong Yidong ++2011-01-25 Chong Yidong + + * 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 + + 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 + + Include unilaterally. + * emacsclient.c, etags.c, fakemail.c, make-docfile.c, movemail.c: + * pop.c, test-distrib.c, update-game-score.c: + Include without worrying about HAVE_UNISTD_H, since + unistd.h is always present now, possibly supplied by gnulib. + + Include not "getopt.h". + * ebrowse.c, emacsclient.c: Include , 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 + + * Makefile.in (EXECUTABLES): Remove; macro unused since 1993. + +2011-01-08 Glenn Morris + + * Makefile.in (EMACSOPT): Add --no-site-lisp. + + * Makefile.in (EMACSOPT): Remove --multibyte, it does nothing any more. + 2011-01-02 Glenn Morris * ebrowse.c (version) : diff --cc lisp/ChangeLog index 62aeaf7f92,70ebcca9c9..722637d9c3 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@@ -1,52 -1,41 +1,87 @@@ -2011-01-25 Glenn Morris - - * comint.el (comint-mode): Doc fix. (Bug#7897) - -2011-01-24 Stefan Monnier ++2011-01-25 Stefan Monnier + + * 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 ++2011-01-25 Chong Yidong + + * dired.el (dired-revert): Doc fix (Bug#7758). + -2011-01-23 Nobuyoshi Nakada ++ * simple.el (line-move-visual): Doc fix (Bug#7594). ++ ++2011-01-25 Nobuyoshi Nakada + + * 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 (tiny change) ++2011-01-25 Keitaro Miyazaki (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 ++2011-01-25 Glenn Morris ++ ++ * 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 + + * 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 + + * 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 + + * net/rcirc.el (rcirc-kill-buffer-hook): Flush logs when killing + rcirc buffers. + +2011-01-22 Glenn Morris + + * 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 - * simple.el (line-move-visual): Doc fix (Bug#7594). + * vc/diff.el (diff-sentinel): Doc fix (Bug#7682). + +2011-01-22 Jari Aalto + + * 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 * emacs-lisp/re-builder.el (reb-mode-map): Fix logic error in "Case sensitive" menu item. diff --cc lisp/gnus/nnbabyl.el index 2346c05c85,0e53be39a7..06e41d7800 --- a/lisp/gnus/nnbabyl.el +++ b/lisp/gnus/nnbabyl.el @@@ -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 ;; Masanobu UMEDA diff --cc lisp/progmodes/ruby-mode.el index 733af999cd,81860b7e60..b3a640a228 --- a/lisp/progmodes/ruby-mode.el +++ b/lisp/progmodes/ruby-mode.el @@@ -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: - ;; - ;; <]\\|\\(^\\|\\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: + ;; + ;; < ++2011-01-25 Werner Meisner + + * lwlib-Xm.c (xm_update_menu): Avoid a NULL pointer dereference + (Bug#7690). + +2010-09-26 Dan Nicolaescu + + 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 + + * 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 + + * xlwmenu.c (abort_gracefully): Mark as NO_RETURN. + +2010-07-26 Dan Nicolaescu + + * xlwmenu.h (xlwmenu_window_p, xlwmenu_redisplay): Add declarations. + +2010-07-12 Andreas Schwab + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 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 + + * 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 + + * 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 + + * Makefile.in (mostlyclean): Remove references to non-existent files. + +2010-05-13 Jan Djärv + + * lwlib-Xaw.c (make_dialog): Remove extra arg to XtVaGetSubresources. + +2010-05-08 Jan Djärv + + * xlwmenu.c (XlwMenuDestroy): Remove XtDestroyWidget on subwidgets + (Bug #6127). + 2010-05-07 Chong Yidong * Version 23.2 released. diff --cc src/ChangeLog index 134e289681,0539b849ef..3776682c69 --- a/src/ChangeLog +++ b/src/ChangeLog @@@ -1,24 -1,16 +1,34 @@@ -2011-01-24 Stefan Monnier ++2011-01-25 Stefan Monnier + + * xdisp.c (handle_fontified_prop): Be careful with font-lock changing + the buffer's point-max (bug#7876). + -2011-01-23 Chong Yidong ++2011-01-25 Chong Yidong + + * 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 (tiny change) +2011-01-23 Jan Djärv - * 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 + + Check return values of some library calls. + * emacs.c (main): Check dup result. + * frame.c: Include , 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 diff --cc src/lisp.h index 64c0b2332e,34330b0e6c..c5c047a53c --- a/src/lisp.h +++ b/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 */