changeset 83075:1281a5c8fb39

Merged in changes from CVS HEAD Patches applied: * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-141 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-142 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-143 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-144 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-145 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-115
author Karoly Lorentey <lorentey@elte.hu>
date Thu, 11 Mar 2004 01:13:03 +0000
parents 34a7a8f40548 (current diff) 721573026f56 (diff)
children 5eaa708b8d47
files lisp/ChangeLog lisp/type-break.el man/info.texi
diffstat 16 files changed, 198 insertions(+), 112 deletions(-) [+]
line wrap: on
line diff
--- a/.cvsignore	Thu Mar 11 01:11:38 2004 +0000
+++ b/.cvsignore	Thu Mar 11 01:13:03 2004 +0000
@@ -1,15 +1,16 @@
-configure
+*.xdelta
+.DS_Store
+.arch-inventory
+Makefile
+autom4te.cache
 bin
 boot.log
 boot.log.diff
 boot.log.old
-update.log
+config.cache
 config.log
 config.status
-config.cache
-Makefile
+configure
 emacs*.tar.gz
 leim*.tar.gz
-*.xdelta
-autom4te.cache
-.arch-inventory
+update.log
--- a/lib-src/ChangeLog	Thu Mar 11 01:11:38 2004 +0000
+++ b/lib-src/ChangeLog	Thu Mar 11 01:13:03 2004 +0000
@@ -1,3 +1,15 @@
+2004-03-09  Juanma Barranquero  <lektu@terra.es>
+
+	* grep-changelog: Changes to support ChangeLog.10+.
+	(main): Tidy up usage string.  Fix "Use of uninitialized value"
+	warning.  Set version to 0.2.  Parse the directory listing to get
+	any ChangeLog.n file, not just 1..9.
+	(header_match_p, entry_match_p, print_log, parse_changelog):
+	Remove Perl prototypes (their purpose is to help the parser, which
+	isn't needed here, not declare arguments).
+	(parse_changelog): Make --reverse faster on big batches by not
+	modifying the entries list.
+
 2004-03-01  Juanma Barranquero  <lektu@terra.es>
 
 	* makefile.w32-in (obj): Add fringe.c.
--- a/lib-src/grep-changelog	Thu Mar 11 01:11:38 2004 +0000
+++ b/lib-src/grep-changelog	Thu Mar 11 01:13:03 2004 +0000
@@ -1,6 +1,6 @@
 #! /usr/bin/perl
 
-# Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2001, 2004 Free Software Foundation, Inc.
 #
 # This file is part of GNU Emacs.
 #
@@ -56,34 +56,36 @@
 
 if ($result == 0 || $help) {
     print <<USAGE;
+
 Usage: $0 [options] [CHANGELOG...]
-Print entries in ChangeLogs matching various criteria.  Valid options
-are
 
-  --author=AUTHOR         match entries whose author line matches
+Print entries in ChangeLogs matching various criteria.
+Valid options are:
+
+  --author=AUTHOR         Match entries whose author line matches
 			  regular expression AUTHOR
-  --text=TEXT             match entries whose text matches regular
-			  expression TEXT.
-  --exclude=TEXT	  exclude entries matching TEXT.
-  --from-date=YYYY-MM-DD  match entries not older than given date
-  --to-date=YYYY-MM-DD    match entries not younger than given date
-  --rcs-log		  format output suitable for RCS log entries.
-  --with-date		  print short date line in RCS log
-  --reverse               show entries in reverse (chronological) order
-  --version		  print version info
-  --help		  print this help
+  --text=TEXT             Match entries whose text matches regular
+			  expression TEXT
+  --exclude=TEXT	  Exclude entries matching TEXT
+  --from-date=YYYY-MM-DD  Match entries not older than given date
+  --to-date=YYYY-MM-DD    Match entries not younger than given date
+  --rcs-log		  Format output suitable for RCS log entries
+  --with-date		  Print short date line in RCS log
+  --reverse               Show entries in reverse (chronological) order
+  --version		  Print version info
+  --help		  Print this help
 
 If no CHANGELOG is specified scan the files "ChangeLog" and
-"ChangeLog.[9-1]" in the current directory.  Old-style dates in ChangeLogs
+"ChangeLog.1+" in the current directory.  Old-style dates in ChangeLogs
 are not recognized.
 USAGE
-    exit $help ? 0 : 1;
+    exit !$help;
 }
 
 # Print version info and exit if `--version' was specified.
 
 if ($version) {
-    print "0.1\n";
+    print "0.2\n";
     exit 0;
 }
 
@@ -92,7 +94,7 @@
 # options specified, i.e. it matches $author, and its date is in
 # the range $from_date <= date <= $to_date.
 
-sub header_match_p ($) {
+sub header_match_p {
     my $header = shift;
 
     return 0 unless $header;
@@ -122,7 +124,7 @@
 # command line, i.e. it matches $regexp, and it doesn't match
 # $exclude.
 
-sub entry_match_p ($) {
+sub entry_match_p {
     my $entry = shift;
 
     return 0 unless $entry;
@@ -143,7 +145,7 @@
 # lines are not printed, and leading spaces and file names are removed
 # from ChangeLog entries.
 
-sub print_log ($$) {
+sub print_log {
     my ($header, $entry) = @_;
     my $output = '';
 
@@ -172,7 +174,7 @@
 
 # Scan LOG for matching entries, and print them to standard output.
 
-sub parse_changelog ($) {
+sub parse_changelog {
     my $log = shift;
     my $entry = undef;
     my $header = undef;
@@ -219,8 +221,8 @@
     close IN;
 
     if ($reverse) {
-        while (defined (my $entry = pop @entries)) {
-            print $entry;
+        for (my $entry = @entries; $entry; $entry--) {
+            print $entries[$entry-1];
         }
     }
 }
@@ -230,9 +232,19 @@
 
 # If files were specified on the command line, parse those files in the
 # order supplied by the user; otherwise parse default files ChangeLog and
-# ChangeLog.9...ChangeLog.1 according to $reverse.
+# ChangeLog.1+ according to $reverse.
 unless (@ARGV > 0) {
-    @ARGV = ("ChangeLog", map {"ChangeLog.$_"} reverse 1..9);
+    @ARGV = ("ChangeLog");
+
+    push @ARGV,
+      map {"ChangeLog.$_"}
+        sort {$b <=> $a}
+          map {/\.(\d+)$/; $1}
+            do {
+                opendir D, '.';
+                grep /^ChangeLog\.\d+$/, readdir D;
+            };
+
     @ARGV = reverse @ARGV if $reverse;
 }
 
--- a/lisp/ChangeLog	Thu Mar 11 01:11:38 2004 +0000
+++ b/lisp/ChangeLog	Thu Mar 11 01:13:03 2004 +0000
@@ -1,9 +1,35 @@
+2004-03-09  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* type-break.el (type-break-emacs-variant): Remove.
+	(type-break-run-at-time, type-break-cancel-function-timers):
+	Use fboundp rather than version name and number.
+
+2004-03-09  Masatake YAMATO  <jet@gyve.org>
+
+	* hexl.el (hexl-mode): Use `make-local-variable' instead of
+	`make-variable-buffer-local'.
+
+2004-03-08  Michael Albinus  <Michael.Albinus@alcatel.de>
+
+	* find-dired.el (find-dired): Call `shell-command' instead of
+	`start-process-shell-command'.  By this, Tramp takes over
+	handling of remote directories.
+
+2004-03-07  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* cus-edit.el (fill) <defgroup>: Move to fill.el.
+
+	* textmodes/fill.el (fill) <defgroup>: Move from cus-edit.el.
+	(enable-kinsoku): Make it a defcustom.
+	(fill-comment-paragraph): Don't rely on fill-prefix to bound the
+	paragraph to same-comment-start-marker.
+
 2004-03-07  Dave Love  <fx@gnu.org>
 
 	* net/browse-url.el (rfc2368-parse-mailto-url): Autoload.
 	(browse-url-mail): Use it.
 
-	* mail/rfc2368.el (rfc2368-unhexify-char): Deleted.
+	* mail/rfc2368.el (rfc2368-unhexify-char): Delete.
 	(rfc2368-unhexify-string): Use replace-regexp-in-string.
 
 2004-03-07  Francis J. Wright  <F.J.Wright@qmul.ac.uk>
@@ -21,14 +47,17 @@
 	* gdb-ui.el (gdb-overlay-arrow-position): Add defvar.
 	(gdb-reset): Reset gdb-overlay-arrow-position marker and remove it
 	from overlay-arrow-variable-list.
-	(gdb-assembler-mode): Use add-to-list for
-	gdb-overlay-arrow-position.
+	(gdb-assembler-mode): Use add-to-list for gdb-overlay-arrow-position.
 
 2004-03-06  Nick Roberts  <nick@nick.uklinux.net>
 
 	* gdb-ui.el (gdb-assembler-mode, gdb-assembler-custom): Set up
 	overlay arrow string properly for the assembler buffer.
 
+2004-03-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* mail/sendmail.el (mail-mode): Fix last change.
+
 2004-03-05  Nick Roberts  <nick@nick.uklinux.net>
 
 	* gdb-ui.el (gdb-assembler-mode): Create a second overlay arrow
@@ -38,6 +67,11 @@
 
 2004-03-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 
+	* progmodes/sh-script.el (sh-font-lock-paren): Add @ in case patterns.
+
+	* pcvs-info.el (cvs-fileinfo->backup-file): Use a more constraining
+	regexp to distinguish .#ChangeLog.9.1.400 and .#ChangeLog.1.400.
+
 	* mail/sendmail.el (mail-mode): Set comment-start-skip.
 
 	* newcomment.el (uncomment-region): Allow non-terminated comment.
@@ -98,6 +132,11 @@
 
 2004-03-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 
+	* Makefile.in (setwins, setwins_almost): Skip .arch-ids and other
+	hidden files/directories.
+
+2004-03-02  Stefan Monnier  <monnier@iro.umontreal.ca>
+
 	* textmodes/fill.el (fill-paragraph): Don't check comment-start-skip,
 	only comment-start (in case the mode hasn't set it).
 
--- a/lisp/cus-edit.el	Thu Mar 11 01:11:38 2004 +0000
+++ b/lisp/cus-edit.el	Thu Mar 11 01:13:03 2004 +0000
@@ -1,6 +1,6 @@
 ;;; cus-edit.el --- tools for customizing Emacs and Lisp packages
 ;;
-;; Copyright (C) 1996,97,1999,2000,01,02,2003  Free Software Foundation, Inc.
+;; Copyright (C) 1996,97,1999,2000,01,02,03,2004  Free Software Foundation, Inc.
 ;;
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Maintainer: FSF
@@ -286,11 +286,6 @@
   "Content of the modeline."
   :group 'environment)
 
-(defgroup fill nil
-  "Indenting and filling text."
-  :link '(custom-manual "(emacs)Filling Text")
-  :group 'editing)
-
 (defgroup editing-basics nil
   "Most basic editing facilities."
   :group 'editing)
--- a/lisp/emacs-lisp/lisp-mode.el	Thu Mar 11 01:11:38 2004 +0000
+++ b/lisp/emacs-lisp/lisp-mode.el	Thu Mar 11 01:13:03 2004 +0000
@@ -1,6 +1,6 @@
 ;;; lisp-mode.el --- Lisp mode, and its idiosyncratic commands
 
-;; Copyright (C) 1985, 1986, 1999, 2000, 2001, 2003 Free Software Foundation, Inc.
+;; Copyright (C) 1985,86,1999,2000,01,03,2004  Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: lisp, languages
@@ -197,6 +197,8 @@
   (setq comment-column 40)
   (make-local-variable 'comment-indent-function)
   (setq comment-indent-function 'lisp-comment-indent)
+  ;; Don't get confused by `;' in doc strings when paragraph-filling.
+  (set (make-local-variable 'comment-use-global-state) t)
   (make-local-variable 'imenu-generic-expression)
   (setq imenu-generic-expression lisp-imenu-generic-expression)
   (make-local-variable 'multibyte-syntax-as-symbol)
--- a/lisp/find-dired.el	Thu Mar 11 01:11:38 2004 +0000
+++ b/lisp/find-dired.el	Thu Mar 11 01:13:03 2004 +0000
@@ -121,6 +121,8 @@
 			   ""
 			 (concat "\\( " args " \\) "))
 		       (car find-ls-option)))
+    ;; Start the find process.
+    (shell-command (concat args "&") (current-buffer))
     ;; The next statement will bomb in classic dired (no optional arg allowed)
     (dired-mode dir (cdr find-ls-option))
     (let ((map (make-sparse-keymap)))
@@ -149,8 +151,7 @@
     ;; ``wildcard'' line.
     (insert "  " args "\n")
     (setq buffer-read-only t)
-    ;; Start the find process.
-    (let ((proc (start-process-shell-command find-dired-find-program (current-buffer) args)))
+    (let ((proc (get-buffer-process (current-buffer))))
       (set-process-filter proc (function find-dired-filter))
       (set-process-sentinel proc (function find-dired-sentinel))
       ;; Initialize the process marker; it is used by the filter.
--- a/lisp/gnus/ChangeLog	Thu Mar 11 01:11:38 2004 +0000
+++ b/lisp/gnus/ChangeLog	Thu Mar 11 01:13:03 2004 +0000
@@ -1,3 +1,7 @@
+2004-03-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* message.el (message-mode): Fix last change.
+
 2004-03-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 
 	* message.el (message-mode): Set comment-start-skip.
--- a/lisp/hexl.el	Thu Mar 11 01:11:38 2004 +0000
+++ b/lisp/hexl.el	Thu Mar 11 01:13:03 2004 +0000
@@ -239,7 +239,7 @@
     (add-hook 'change-major-mode-hook 'hexl-maybe-dehexlify-buffer nil t)
 
     ;; Set a callback function for eldoc.
-    (set (make-variable-buffer-local 'eldoc-print-current-symbol-info-function)
+    (set (make-local-variable 'eldoc-print-current-symbol-info-function)
 	 'hexl-print-current-point-info)
     (eldoc-add-command-completions "hexl-")
     (eldoc-remove-command "hexl-save-buffer" 
--- a/lisp/newcomment.el	Thu Mar 11 01:11:38 2004 +0000
+++ b/lisp/newcomment.el	Thu Mar 11 01:13:03 2004 +0000
@@ -345,6 +345,13 @@
 ;;;; Navigation
 ;;;;
 
+(defvar comment-use-global-state nil
+  "Non-nil means that the global syntactic context is used.
+More specifically, it means that `syntax-ppss' is used to find out whether
+point is within a string or not.  Major modes whose syntax is faithfully
+described by the syntax-tables can set this to non-nil so comment markers
+in strings will not confuse Emacs.")
+
 (defun comment-search-forward (limit &optional noerror)
   "Find a comment start between point and LIMIT.
 Moves point to inside the comment and returns the position of the
@@ -357,8 +364,10 @@
 	(unless noerror (error "No comment")))
     (let* ((pt (point))
 	   ;; Assume (at first) that pt is outside of any string.
-	   (s (parse-partial-sexp pt (or limit (point-max)) nil nil nil t)))
-      (when (and (nth 8 s) (nth 3 s))
+	   (s (parse-partial-sexp pt (or limit (point-max)) nil nil
+				  (if comment-use-global-state (syntax-ppss pt))
+				  t)))
+      (when (and (nth 8 s) (nth 3 s) (not comment-use-global-state))
 	  ;; The search ended inside a string.  Try to see if it
 	  ;; works better when we assume that pt is inside a string.
 	  (setq s (parse-partial-sexp
--- a/lisp/textmodes/fill.el	Thu Mar 11 01:11:38 2004 +0000
+++ b/lisp/textmodes/fill.el	Thu Mar 11 01:13:03 2004 +0000
@@ -30,6 +30,11 @@
 
 ;;; Code:
 
+(defgroup fill nil
+  "Indenting and filling text."
+  :link '(custom-manual "(emacs)Filling Text")
+  :group 'editing)
+
 (defcustom fill-individual-varying-indent nil
   "*Controls criterion for a new paragraph in `fill-individual-paragraphs'.
 Non-nil means changing indent doesn't end a paragraph.
@@ -49,13 +54,14 @@
 If the function returns nil, then `fill-paragraph' does its normal work.")
 
 (defvar fill-paragraph-handle-comment t
-  "If non-nil, paragraph filling will try to pay attention to comments.")
+  "Non-nil means paragraph filling will try to pay attention to comments.")
 
-(defvar enable-kinsoku t
-  "*Non-nil means enable \"kinsoku\" processing on filling paragraph.
+(defcustom enable-kinsoku t
+  "*Non-nil means enable \"kinsoku\" processing on filling paragraphs.
 Kinsoku processing is designed to prevent certain characters from being
 placed at the beginning or end of a line by filling.
-See the documentation of `kinsoku' for more information.")
+See the documentation of `kinsoku' for more information."
+  :type 'boolean)
 
 (defun set-fill-prefix ()
   "Set the fill prefix to the current line up to point.
@@ -317,7 +323,7 @@
   :options '(fill-french-nobreak-p fill-single-word-nobreak-p))
 
 (defcustom fill-nobreak-invisible nil
-  "Non-nil means that fill command do not break lines in invisible text."
+  "Non-nil means that fill commands do not break lines in invisible text."
   :type 'boolean
   :group 'fill)
 
@@ -365,7 +371,7 @@
 Don't move back past the buffer position LIMIT.
 
 This function is called when we are going to break the current line
-after or before a non-ascii character.  If the charset of the
+after or before a non-ASCII character.  If the charset of the
 character has the property `fill-find-break-point-function', this
 function calls the property value as a function with one arg LINEBEG.
 If the charset has no such property, do nothing."
@@ -428,7 +434,7 @@
 	 (string-to-list sentence-end-without-space)))
     (while (re-search-forward eol-double-space-re to t)
       (or (>= (point) to) (memq (char-before) '(?\t ?\ ))
-	  (memq (char-after (match-beginning 0)) 
+	  (memq (char-after (match-beginning 0))
 		sentence-end-without-space-list)
 	  (insert-and-inherit ?\ ))))
 
@@ -844,8 +850,13 @@
 		    (concat paragraph-start "\\|[ \t]*\\(?:"
 			    comment-start-skip "\\)\\(?:"
 			    (default-value 'paragraph-start) "\\)"))
-		   (paragraph-ignore-fill-prefix nil)
-		   (fill-prefix comment-fill-prefix)
+		   ;; We used to reply on fill-prefix to break paragraph at
+		   ;; comment-starter changes, but it did not work for the
+		   ;; first line (mixed comment&code).
+		   ;; We now use comment-re instead to "manually" make sure
+		   ;; we treat comment-marker changes as paragraph boundaries.
+		   ;; (paragraph-ignore-fill-prefix nil)
+		   ;; (fill-prefix comment-fill-prefix)
 		   (after-line (if has-code-and-comment
 				   (line-beginning-position 2))))
 	      (setq end (progn (forward-paragraph) (point)))
@@ -892,7 +903,7 @@
 The fourth arg NOSQUEEZE non-nil means to leave
 whitespace other than line breaks untouched, and fifth arg TO-EOP
 non-nil means to keep filling to the end of the paragraph (or next
-hard newline, if `use-hard-newlines' is on).
+hard newline, if variable `use-hard-newlines' is on).
 
 Return the fill-prefix used for filling the last paragraph.
 
@@ -976,8 +987,8 @@
 moved to the beginning and end \(respectively) of the paragraphs they
 are in.
 
-If `use-hard-newlines' is true, all hard newlines are taken to be paragraph
-breaks.
+If variable `use-hard-newlines' is true, all hard newlines are
+taken to be paragraph breaks.
 
 When calling from a program, operates just on region between BEGIN and END,
 unless optional fourth arg WHOLE-PAR is non-nil.  In that case bounds are
--- a/lisp/type-break.el	Thu Mar 11 01:11:38 2004 +0000
+++ b/lisp/type-break.el	Thu Mar 11 01:13:03 2004 +0000
@@ -1,6 +1,6 @@
 ;;; type-break.el --- encourage rests from typing at appropriate intervals
 
-;; Copyright (C) 1994, 95, 97, 2000 Free Software Foundation, Inc.
+;; Copyright (C) 1994, 95, 97, 2000, 2004 Free Software Foundation, Inc.
 
 ;; Author: Noah Friedman
 ;; Maintainer: Noah Friedman <friedman@splode.com>
@@ -8,7 +8,7 @@
 ;; Status: Works in GNU Emacs 19.25 or later, some versions of XEmacs
 ;; Created: 1994-07-13
 
-;; $Id: type-break.el,v 1.29 2003/09/01 15:45:17 miles Exp $
+;; $Id: type-break.el,v 1.30 2004/03/09 15:27:06 monnier Exp $
 
 ;; This file is part of GNU Emacs.
 
@@ -277,39 +277,6 @@
 (defvar type-break-current-keystroke-warning-interval nil)
 (defvar type-break-time-warning-count 0)
 (defvar type-break-keystroke-warning-count 0)
-
-;; Constant indicating emacs variant.
-;; This can be one of `xemacs', `lucid', `epoch', `mule', etc.
-(defconst type-break-emacs-variant
-  (let ((data (match-data))
-        (version (cond
-                  ((fboundp 'nemacs-version)
-                   (nemacs-version))
-                  (t
-                   (emacs-version))))
-        (alist '(("\\bXEmacs\\b"  . xemacs)
-                 ("\\bLucid\\b"   . lucid)
-                 ("^Nemacs\\b"    . nemacs)
-                 ("^GNU Emacs 19" . standard19)
-                 ("^GNU Emacs 20" . standard19)
-                 ("^GNU Emacs 18" . emacs18)))
-        result)
-    (while alist
-      (cond
-       ((string-match (car (car alist)) version)
-        (setq result (cdr (car alist)))
-        (setq alist nil))
-       (t
-        (setq alist (cdr alist)))))
-    (set-match-data data)
-    (cond ((eq result 'lucid)
-           (and (string= emacs-version "19.8 Lucid")
-                (setq result 'lucid-19-8)))
-          ((memq result '(nemacs emacs18))
-           (signal 'error
-                   "type-break not supported in this version of emacs.")))
-    result))
-
 
 ;;;###autoload
 (defun type-break-mode (&optional prefix)
@@ -954,38 +921,37 @@
 ;;; for different versions of emacs.
 
 (defun type-break-run-at-time (time repeat function)
-  (cond ((eq type-break-emacs-variant 'standard19)
-         (require 'timer)
-         (funcall 'run-at-time time repeat function))
-        ((eq type-break-emacs-variant 'lucid-19-8)
+  (condition-case nil (or (require 'timer) (require 'itimer)) (error nil))
+  (cond ((fboundp 'run-at-time)
+         (run-at-time time repeat function))
+        ((fboundp 'start-timer)
          (let ((name (if (symbolp function)
                          (symbol-name function)
                        "type-break")))
-           (require 'timer)
-           (funcall 'start-timer name function time repeat)))
-        ((memq type-break-emacs-variant '(xemacs lucid))
+           (start-timer name function time repeat)))
+        ((fboundp 'start-itimer)
          (let ((name (if (symbolp function)
                          (symbol-name function)
                        "type-break")))
-           (require 'itimer)
-           (funcall 'start-itimer name function time repeat)))))
+           (start-itimer name function time repeat)))))
 
+(defvar timer-dont-exit)
 (defun type-break-cancel-function-timers (function)
-  (cond ((eq type-break-emacs-variant 'standard19)
+  (cond ((fboundp 'cancel-function-timers)
          (let ((timer-dont-exit t))
-           (funcall 'cancel-function-timers function)))
-        ((eq type-break-emacs-variant 'lucid-19-8)
+           (cancel-function-timers function)))
+        ((fboundp 'delete-timer)
          (let ((list timer-list))
            (while list
              (and (eq (funcall 'timer-function (car list)) function)
-                  (funcall 'delete-timer (car list)))
+                  (delete-timer (car list)))
              (setq list (cdr list)))))
-        ((memq type-break-emacs-variant '(xemacs lucid))
+        ((fboundp 'delete-itimer)
 	 (with-no-warnings
 	  (let ((list itimer-list))
 	    (while list
 	      (and (eq (funcall 'itimer-function (car list)) function)
-		   (funcall 'delete-itimer (car list)))
+		   (delete-itimer (car list)))
 	      (setq list (cdr list))))))))
 
 
--- a/man/ChangeLog	Thu Mar 11 01:11:38 2004 +0000
+++ b/man/ChangeLog	Thu Mar 11 01:13:03 2004 +0000
@@ -1,3 +1,8 @@
+2004-03-08  Karl Berry  <karl@gnu.org>
+
+	* info.texi: \input texinfo.tex instead of just texinfo, to avoid
+	problems making the texinfo distribution.
+
 2004-03-04  Richard M. Stallman  <rms@gnu.org>
 
 	* search.texi (Regexps): Explain that ^ and $ have their
@@ -60,6 +65,10 @@
 	(Icons X): Remove alias -iconic.
 	(Misc X): New node.
 
+2004-02-17  Karl Berry  <karl@gnu.org>
+
+	* info.texi (Help-Int): mention the new line number feature.
+
 2004-02-15  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
 
 	* frames.texi (Drag and drop): Add Motif to list of supported
--- a/man/info.texi	Thu Mar 11 01:11:38 2004 +0000
+++ b/man/info.texi	Thu Mar 11 01:13:03 2004 +0000
@@ -1,4 +1,7 @@
-\input texinfo    @c -*-texinfo-*-
+\input texinfo.tex    @c -*-texinfo-*-
+@c We must \input texinfo.tex instead of texinfo, otherwise make
+@c distcheck in the Texinfo distribution fails, because the texinfo Info
+@c file is made first, and texi2dvi must include . first in the path.
 @comment %**start of header
 @setfilename info.info
 @settitle Info
--- a/src/ChangeLog	Thu Mar 11 01:11:38 2004 +0000
+++ b/src/ChangeLog	Thu Mar 11 01:13:03 2004 +0000
@@ -1,3 +1,8 @@
+2004-03-09  Kenichi Handa  <handa@etlken2>
+
+	* coding.c (decode_coding_emacs_mule): Handle insufficent source
+	correctly.
+
 2004-03-04  Richard M. Stallman  <rms@gnu.org>
 
 	* s/sol2-6.h (LD_SWITCH_SYSTEM_TEMACS): New definition.
--- a/src/coding.c	Thu Mar 11 01:11:38 2004 +0000
+++ b/src/coding.c	Thu Mar 11 01:13:03 2004 +0000
@@ -1024,9 +1024,26 @@
 	}
       else
 	{
-	  bytes = CHAR_STRING (*src, tmp);
-	  p = tmp;
+	  int i, c;
+
+	  bytes = BYTES_BY_CHAR_HEAD (*src);
 	  src++;
+	  for (i = 1; i < bytes; i++)
+	    {
+	      ONE_MORE_BYTE (c);
+	      if (CHAR_HEAD_P (c))
+		break;
+	    }
+	  if (i < bytes)
+	    {
+	      bytes = CHAR_STRING (*src_base, tmp);
+	      p = tmp;
+	      src = src_base + 1;
+	    }
+	  else
+	    {
+	      p = src_base;
+	    }
 	}
       if (dst + bytes >= (dst_bytes ? dst_end : src))
 	{