changeset 106977:fb153cd1668b

Merge from trunk
author Jan D. <jan.h.d@swipnet.se>
date Wed, 20 Jan 2010 07:28:33 +0100
parents 00e805a10065 (current diff) 89b4f7566280 (diff)
children 68f669472e65
files admin/revdiff
diffstat 7 files changed, 41 insertions(+), 150 deletions(-) [+]
line wrap: on
line diff
--- a/admin/ChangeLog	Tue Jan 19 15:54:57 2010 +0100
+++ b/admin/ChangeLog	Wed Jan 20 07:28:33 2010 +0100
@@ -1,3 +1,8 @@
+2010-01-20  Glenn Morris  <rgm@gnu.org>
+
+	* revdiff: Remove file that only works with CVS, and isn't really
+	needed with Bazaar (given the in-built revision options of bzr diff).
+
 2010-01-12  Glenn Morris  <rgm@gnu.org>
 
 	* emacs-pretesters, make-announcement: Use bug-gnu-emacs rather
--- a/admin/revdiff	Tue Jan 19 15:54:57 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +0,0 @@
-#! /usr/bin/perl
-
-# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-#   2010  Free Software Foundation, Inc.
-#
-# This file is part of GNU Emacs.
-
-# GNU Emacs is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-
-# GNU Emacs is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
-
-
-use File::Basename;
-
-if (@ARGV < 3)
-{
-  print <<USAGE;
-revdiff FILE OLD NEW
-
-Get a diff of FILE between revisions OLD and NEW.  Store the
-diff in a file named FILE-OLD-NEW.diff.
-
-If OLD is `-' use FILE's current revision for OLD.  If OLD is
-`-<number>', use the Nth revision before the current one for OLD.
-
-If NEW is +<number> or -<number>, build diffs between revisions OLD
-and OLD +/- <number>.
-
-Examples:
-
-revdiff FILE - -1      get the latest change of FILE
-revdiff FILE -1 +1     also gets the latest change of FILE
-revdiff FILE 1.500 +2  get diffs 1.500-1.501 and 1.501-1.502.
-
-USAGE
-  exit 1;
-}
-
-$file = shift @ARGV;
-$old  = shift @ARGV;
-
-sub diffit
-{
-  my ($old, $new) = @_;
-  print "cvs diff -r$old -r$new $file >$file-$old-$new.diff\n";
-  system "cvs diff -r$old -r$new $file >$file-$old-$new.diff";
-}
-
-sub current_revision ($)
-{
-  my ($file) = @_;
-  my $dir = dirname ($file);
-  my $base = basename ($file);
-  my $entries = "$dir/CVS/Entries";
-  die "Can't find $entries" unless -f $entries;
-  open (IN, "<$entries") or die "Cannot open $entries";
-  my $rev;
-  while ($line = <IN>)
-    {
-      if ($line =~ m,/$base/([^/]+),)
-	{
-	  $rev = $1;
-	  break;
-	}
-    }
-  die "Cannot determine current revision of $file" unless $rev;
-  close (IN);
-  return $rev;
-}
-
-if ($old eq "-")
-  {
-    $old = current_revision ($file);
-  }
-elsif ($old =~ /^-(\d+)$/)
-  {
-    my $offset = $1;
-    $old = current_revision ($file);
-    die "Internal error" unless $old =~ /(.*)\.(\d+)$/;
-    my $minor = $2 - $offset;
-    $old = sprintf ("%d.%d", $1, $minor);
-  }
-
-while (@ARGV)
-  {
-    my $new = shift @ARGV;
-    if ($new =~ /^[+]\d+$/)
-      {
-	my $n = $new;
-	for ($i = 0; $i < $n; ++$i)
-	  {
-	    unless ($old =~ /(.*)\.(\d+)$/)
-	      {
-		die "Internal error";
-	      }
-	    my $j = $2 + 1;
-	    $new = "$1.$j";
-	    diffit ($old, $new);
-	    $old = $new;
-	  }
-      }
-    elsif ($new =~ /^[-]\d+$/)
-      {
-	my $n = - $new;
-	for ($i = 0; $i < $n; ++$i)
-	  {
-	    unless ($old =~ /(.*)\.(\d+)$/)
-	      {
-		die "Internal error";
-	      }
-	    my $j = $2 - 1;
-	    $new = "$1.$j";
-	    diffit ($new, $old);
-	    $old = $new;
-	  }
-      }
-    else
-      {
-	diffit ($old, $new);
-	$old = $new;
-      }
-  }
-
-# Local Variables:
-# mode: cperl
-# End:
-
-# arch-tag: 2798b20d-c7f2-4c78-8378-7bb529c36a09
--- a/lisp/ChangeLog	Tue Jan 19 15:54:57 2010 +0100
+++ b/lisp/ChangeLog	Wed Jan 20 07:28:33 2010 +0100
@@ -1,3 +1,14 @@
+2010-01-20  Glenn Morris  <rgm@gnu.org>
+
+	* indent.el (tab-always-indent): Fix custom-type.
+
+2010-01-19  Alan Mackenzie  <acm@muc.de>
+
+	* progmodes/cc-defs.el: Fix bug#5395: typing '#' in an empty
+	buffer throws "args out of range".
+	(c-set-cpp-delimiters, c-clear-cpp-delimiters): Check for EOB
+	playing the role of delimiter.
+
 2010-01-18  Stephen Leake  <stephen_leake@member.fsf.org>
 
 	* lisp/progmodes/ada-mode.el: Fix bug#5400.
--- a/lisp/indent.el	Tue Jan 19 15:54:57 2010 +0100
+++ b/lisp/indent.el	Wed Jan 20 07:28:33 2010 +0100
@@ -1,7 +1,7 @@
 ;;; indent.el --- indentation commands for Emacs
 
-;; Copyright (C) 1985, 1995, 2001, 2002, 2003, 2004,
-;;   2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+;;   2008, 2009, 2010  Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 
@@ -55,7 +55,11 @@
 Some programming language modes have their own variable to control this,
 e.g., `c-tab-always-indent', and do not respect this variable."
   :group 'indent
-  :type '(choice (const nil) (const t) (const always)))
+  :type '(choice
+	  (const :tag "Always indent" t)
+	  (const :tag "Indent if inside indentation, else TAB" nil)
+	  (const :tag "Indent, or if already indented complete" complete)))
+
 
 (defun indent-according-to-mode ()
   "Indent line in proper way for current major mode.
--- a/lisp/progmodes/cc-defs.el	Tue Jan 19 15:54:57 2010 +0100
+++ b/lisp/progmodes/cc-defs.el	Wed Jan 20 07:28:33 2010 +0100
@@ -1217,12 +1217,14 @@
   ;; This macro does a hidden buffer change.
   `(progn
      (c-put-char-property ,beg 'category 'c-cpp-delimiter)
-     (c-put-char-property ,end 'category 'c-cpp-delimiter)))
+     (if (< ,end (point-max))
+	 (c-put-char-property ,end 'category 'c-cpp-delimiter))))
 (defmacro c-clear-cpp-delimiters (beg end)
   ;; This macro does a hidden buffer change.
   `(progn
      (c-clear-char-property ,beg 'category)
-     (c-clear-char-property ,end 'category)))
+     (if (< ,end (point-max))
+	 (c-clear-char-property ,end 'category))))
 
 (defsubst c-comment-out-cpps ()
   ;; Render all preprocessor constructs syntactically commented out.
--- a/src/ChangeLog	Tue Jan 19 15:54:57 2010 +0100
+++ b/src/ChangeLog	Wed Jan 20 07:28:33 2010 +0100
@@ -1,3 +1,15 @@
+2010-01-20  Kenichi Handa  <handa@m17n.org>
+
+	* coding.c (consume_chars): If ! multibyte and the encoder is ccl,
+	treat the source as actual byte sequence.
+
+2010-01-19  Alan Mackenzie  <acm@muc.de>
+
+	Fix spurious before-change-functions invocation from (insert ?\n).
+	* textprop.c (set_text_properties): rename parameter
+	`signal_after_change_p' to `coherent_change_p', and make the
+	invocation of `modify_region' conditional on it.
+
 2010-01-19  Jan Djärv  <jan.h.d@swipnet.se>
 
 	* xsettings.c (apply_xft_settings): Save settings in Vxft_settings
@@ -182,13 +194,6 @@
 	* dispnew.c (change_frame_size_1): newwidth == FRAME_COLS  (f) must
 	also be true before we can return early (bug #5339).
 
-2010-01-08  Alan Mackenzie  <acm@muc.de>
-
-	Fix spurious before-change-functions invocation from (insert ?\n).
-	* textprop.c (set_text_properties): rename parameter
-	`signal_after_change_p' to `coherent_change_p', and make the
-	invocation of `modify_region' conditional on it.
-
 2010-01-06  David Reitter  <david.reitter@gmail.com>
 
 	* nsfns.m (ns_get_screen): Rewrite, returning NULL for non-NS.
--- a/src/coding.c	Tue Jan 19 15:54:57 2010 +0100
+++ b/src/coding.c	Wed Jan 20 07:28:33 2010 +0100
@@ -7417,7 +7417,8 @@
 	{
 	  EMACS_INT bytes;
 
-	  if (coding->encoder == encode_coding_raw_text)
+	  if (coding->encoder == encode_coding_raw_text
+	      || coding->encoder == encode_coding_ccl)
 	    c = *src++, pos++;
 	  else if ((bytes = MULTIBYTE_LENGTH (src, src_end)) > 0)
 	    c = STRING_CHAR_ADVANCE_NO_UNIFY (src), pos += bytes;