aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore15
-rw-r--r--lib-src/ChangeLog12
-rwxr-xr-xlib-src/grep-changelog62
-rw-r--r--lisp/ChangeLog45
-rw-r--r--lisp/cus-edit.el7
-rw-r--r--lisp/emacs-lisp/lisp-mode.el4
-rw-r--r--lisp/find-dired.el5
-rw-r--r--lisp/gnus/ChangeLog4
-rw-r--r--lisp/hexl.el2
-rw-r--r--lisp/newcomment.el13
-rw-r--r--lisp/textmodes/fill.el35
-rw-r--r--lisp/type-break.el66
-rw-r--r--man/ChangeLog9
-rw-r--r--man/info.texi5
-rw-r--r--src/ChangeLog5
-rw-r--r--src/coding.c21
16 files changed, 198 insertions, 112 deletions
diff --git a/.gitignore b/.gitignore
index f51b0ce31c3..0322669fb04 100644
--- a/.gitignore
+++ b/.gitignore
@@ -26,18 +26,19 @@ _$*
26*.ln 26*.ln
27core 27core
28# CVS default ignores end 28# CVS default ignores end
29configure 29*.xdelta
30.DS_Store
31.arch-inventory
32Makefile
33autom4te.cache
30bin 34bin
31boot.log 35boot.log
32boot.log.diff 36boot.log.diff
33boot.log.old 37boot.log.old
34update.log 38config.cache
35config.log 39config.log
36config.status 40config.status
37config.cache 41configure
38Makefile
39emacs*.tar.gz 42emacs*.tar.gz
40leim*.tar.gz 43leim*.tar.gz
41*.xdelta 44update.log
42autom4te.cache
43.arch-inventory
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog
index 9876b0b041a..4e995ff185a 100644
--- a/lib-src/ChangeLog
+++ b/lib-src/ChangeLog
@@ -1,3 +1,15 @@
12004-03-09 Juanma Barranquero <lektu@terra.es>
2
3 * grep-changelog: Changes to support ChangeLog.10+.
4 (main): Tidy up usage string. Fix "Use of uninitialized value"
5 warning. Set version to 0.2. Parse the directory listing to get
6 any ChangeLog.n file, not just 1..9.
7 (header_match_p, entry_match_p, print_log, parse_changelog):
8 Remove Perl prototypes (their purpose is to help the parser, which
9 isn't needed here, not declare arguments).
10 (parse_changelog): Make --reverse faster on big batches by not
11 modifying the entries list.
12
12004-03-01 Juanma Barranquero <lektu@terra.es> 132004-03-01 Juanma Barranquero <lektu@terra.es>
2 14
3 * makefile.w32-in (obj): Add fringe.c. 15 * makefile.w32-in (obj): Add fringe.c.
diff --git a/lib-src/grep-changelog b/lib-src/grep-changelog
index 9baf0213db7..38fce879c7a 100755
--- a/lib-src/grep-changelog
+++ b/lib-src/grep-changelog
@@ -1,6 +1,6 @@
1#! /usr/bin/perl 1#! /usr/bin/perl
2 2
3# Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. 3# Copyright (C) 1999, 2000, 2001, 2004 Free Software Foundation, Inc.
4# 4#
5# This file is part of GNU Emacs. 5# This file is part of GNU Emacs.
6# 6#
@@ -56,34 +56,36 @@ $result = 0 if $to_date && $to_date !~ /^\d\d\d\d-\d\d-\d\d$/;
56 56
57if ($result == 0 || $help) { 57if ($result == 0 || $help) {
58 print <<USAGE; 58 print <<USAGE;
59
59Usage: $0 [options] [CHANGELOG...] 60Usage: $0 [options] [CHANGELOG...]
60Print entries in ChangeLogs matching various criteria. Valid options
61are
62 61
63 --author=AUTHOR match entries whose author line matches 62Print entries in ChangeLogs matching various criteria.
63Valid options are:
64
65 --author=AUTHOR Match entries whose author line matches
64 regular expression AUTHOR 66 regular expression AUTHOR
65 --text=TEXT match entries whose text matches regular 67 --text=TEXT Match entries whose text matches regular
66 expression TEXT. 68 expression TEXT
67 --exclude=TEXT exclude entries matching TEXT. 69 --exclude=TEXT Exclude entries matching TEXT
68 --from-date=YYYY-MM-DD match entries not older than given date 70 --from-date=YYYY-MM-DD Match entries not older than given date
69 --to-date=YYYY-MM-DD match entries not younger than given date 71 --to-date=YYYY-MM-DD Match entries not younger than given date
70 --rcs-log format output suitable for RCS log entries. 72 --rcs-log Format output suitable for RCS log entries
71 --with-date print short date line in RCS log 73 --with-date Print short date line in RCS log
72 --reverse show entries in reverse (chronological) order 74 --reverse Show entries in reverse (chronological) order
73 --version print version info 75 --version Print version info
74 --help print this help 76 --help Print this help
75 77
76If no CHANGELOG is specified scan the files "ChangeLog" and 78If no CHANGELOG is specified scan the files "ChangeLog" and
77"ChangeLog.[9-1]" in the current directory. Old-style dates in ChangeLogs 79"ChangeLog.1+" in the current directory. Old-style dates in ChangeLogs
78are not recognized. 80are not recognized.
79USAGE 81USAGE
80 exit $help ? 0 : 1; 82 exit !$help;
81} 83}
82 84
83# Print version info and exit if `--version' was specified. 85# Print version info and exit if `--version' was specified.
84 86
85if ($version) { 87if ($version) {
86 print "0.1\n"; 88 print "0.2\n";
87 exit 0; 89 exit 0;
88} 90}
89 91
@@ -92,7 +94,7 @@ if ($version) {
92# options specified, i.e. it matches $author, and its date is in 94# options specified, i.e. it matches $author, and its date is in
93# the range $from_date <= date <= $to_date. 95# the range $from_date <= date <= $to_date.
94 96
95sub header_match_p ($) { 97sub header_match_p {
96 my $header = shift; 98 my $header = shift;
97 99
98 return 0 unless $header; 100 return 0 unless $header;
@@ -122,7 +124,7 @@ sub header_match_p ($) {
122# command line, i.e. it matches $regexp, and it doesn't match 124# command line, i.e. it matches $regexp, and it doesn't match
123# $exclude. 125# $exclude.
124 126
125sub entry_match_p ($) { 127sub entry_match_p {
126 my $entry = shift; 128 my $entry = shift;
127 129
128 return 0 unless $entry; 130 return 0 unless $entry;
@@ -143,7 +145,7 @@ sub entry_match_p ($) {
143# lines are not printed, and leading spaces and file names are removed 145# lines are not printed, and leading spaces and file names are removed
144# from ChangeLog entries. 146# from ChangeLog entries.
145 147
146sub print_log ($$) { 148sub print_log {
147 my ($header, $entry) = @_; 149 my ($header, $entry) = @_;
148 my $output = ''; 150 my $output = '';
149 151
@@ -172,7 +174,7 @@ sub print_log ($$) {
172 174
173# Scan LOG for matching entries, and print them to standard output. 175# Scan LOG for matching entries, and print them to standard output.
174 176
175sub parse_changelog ($) { 177sub parse_changelog {
176 my $log = shift; 178 my $log = shift;
177 my $entry = undef; 179 my $entry = undef;
178 my $header = undef; 180 my $header = undef;
@@ -219,8 +221,8 @@ sub parse_changelog ($) {
219 close IN; 221 close IN;
220 222
221 if ($reverse) { 223 if ($reverse) {
222 while (defined (my $entry = pop @entries)) { 224 for (my $entry = @entries; $entry; $entry--) {
223 print $entry; 225 print $entries[$entry-1];
224 } 226 }
225 } 227 }
226} 228}
@@ -230,9 +232,19 @@ sub parse_changelog ($) {
230 232
231# If files were specified on the command line, parse those files in the 233# If files were specified on the command line, parse those files in the
232# order supplied by the user; otherwise parse default files ChangeLog and 234# order supplied by the user; otherwise parse default files ChangeLog and
233# ChangeLog.9...ChangeLog.1 according to $reverse. 235# ChangeLog.1+ according to $reverse.
234unless (@ARGV > 0) { 236unless (@ARGV > 0) {
235 @ARGV = ("ChangeLog", map {"ChangeLog.$_"} reverse 1..9); 237 @ARGV = ("ChangeLog");
238
239 push @ARGV,
240 map {"ChangeLog.$_"}
241 sort {$b <=> $a}
242 map {/\.(\d+)$/; $1}
243 do {
244 opendir D, '.';
245 grep /^ChangeLog\.\d+$/, readdir D;
246 };
247
236 @ARGV = reverse @ARGV if $reverse; 248 @ARGV = reverse @ARGV if $reverse;
237} 249}
238 250
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index a7aedbbe57e..7d12a911b31 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,9 +1,35 @@
12004-03-09 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * type-break.el (type-break-emacs-variant): Remove.
4 (type-break-run-at-time, type-break-cancel-function-timers):
5 Use fboundp rather than version name and number.
6
72004-03-09 Masatake YAMATO <jet@gyve.org>
8
9 * hexl.el (hexl-mode): Use `make-local-variable' instead of
10 `make-variable-buffer-local'.
11
122004-03-08 Michael Albinus <Michael.Albinus@alcatel.de>
13
14 * find-dired.el (find-dired): Call `shell-command' instead of
15 `start-process-shell-command'. By this, Tramp takes over
16 handling of remote directories.
17
182004-03-07 Stefan Monnier <monnier@iro.umontreal.ca>
19
20 * cus-edit.el (fill) <defgroup>: Move to fill.el.
21
22 * textmodes/fill.el (fill) <defgroup>: Move from cus-edit.el.
23 (enable-kinsoku): Make it a defcustom.
24 (fill-comment-paragraph): Don't rely on fill-prefix to bound the
25 paragraph to same-comment-start-marker.
26
12004-03-07 Dave Love <fx@gnu.org> 272004-03-07 Dave Love <fx@gnu.org>
2 28
3 * net/browse-url.el (rfc2368-parse-mailto-url): Autoload. 29 * net/browse-url.el (rfc2368-parse-mailto-url): Autoload.
4 (browse-url-mail): Use it. 30 (browse-url-mail): Use it.
5 31
6 * mail/rfc2368.el (rfc2368-unhexify-char): Deleted. 32 * mail/rfc2368.el (rfc2368-unhexify-char): Delete.
7 (rfc2368-unhexify-string): Use replace-regexp-in-string. 33 (rfc2368-unhexify-string): Use replace-regexp-in-string.
8 34
92004-03-07 Francis J. Wright <F.J.Wright@qmul.ac.uk> 352004-03-07 Francis J. Wright <F.J.Wright@qmul.ac.uk>
@@ -21,14 +47,17 @@
21 * gdb-ui.el (gdb-overlay-arrow-position): Add defvar. 47 * gdb-ui.el (gdb-overlay-arrow-position): Add defvar.
22 (gdb-reset): Reset gdb-overlay-arrow-position marker and remove it 48 (gdb-reset): Reset gdb-overlay-arrow-position marker and remove it
23 from overlay-arrow-variable-list. 49 from overlay-arrow-variable-list.
24 (gdb-assembler-mode): Use add-to-list for 50 (gdb-assembler-mode): Use add-to-list for gdb-overlay-arrow-position.
25 gdb-overlay-arrow-position.
26 51
272004-03-06 Nick Roberts <nick@nick.uklinux.net> 522004-03-06 Nick Roberts <nick@nick.uklinux.net>
28 53
29 * gdb-ui.el (gdb-assembler-mode, gdb-assembler-custom): Set up 54 * gdb-ui.el (gdb-assembler-mode, gdb-assembler-custom): Set up
30 overlay arrow string properly for the assembler buffer. 55 overlay arrow string properly for the assembler buffer.
31 56
572004-03-05 Stefan Monnier <monnier@iro.umontreal.ca>
58
59 * mail/sendmail.el (mail-mode): Fix last change.
60
322004-03-05 Nick Roberts <nick@nick.uklinux.net> 612004-03-05 Nick Roberts <nick@nick.uklinux.net>
33 62
34 * gdb-ui.el (gdb-assembler-mode): Create a second overlay arrow 63 * gdb-ui.el (gdb-assembler-mode): Create a second overlay arrow
@@ -38,6 +67,11 @@
38 67
392004-03-04 Stefan Monnier <monnier@iro.umontreal.ca> 682004-03-04 Stefan Monnier <monnier@iro.umontreal.ca>
40 69
70 * progmodes/sh-script.el (sh-font-lock-paren): Add @ in case patterns.
71
72 * pcvs-info.el (cvs-fileinfo->backup-file): Use a more constraining
73 regexp to distinguish .#ChangeLog.9.1.400 and .#ChangeLog.1.400.
74
41 * mail/sendmail.el (mail-mode): Set comment-start-skip. 75 * mail/sendmail.el (mail-mode): Set comment-start-skip.
42 76
43 * newcomment.el (uncomment-region): Allow non-terminated comment. 77 * newcomment.el (uncomment-region): Allow non-terminated comment.
@@ -98,6 +132,11 @@
98 132
992004-03-02 Stefan Monnier <monnier@iro.umontreal.ca> 1332004-03-02 Stefan Monnier <monnier@iro.umontreal.ca>
100 134
135 * Makefile.in (setwins, setwins_almost): Skip .arch-ids and other
136 hidden files/directories.
137
1382004-03-02 Stefan Monnier <monnier@iro.umontreal.ca>
139
101 * textmodes/fill.el (fill-paragraph): Don't check comment-start-skip, 140 * textmodes/fill.el (fill-paragraph): Don't check comment-start-skip,
102 only comment-start (in case the mode hasn't set it). 141 only comment-start (in case the mode hasn't set it).
103 142
diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el
index fc5e7ecb8af..04570b1512e 100644
--- a/lisp/cus-edit.el
+++ b/lisp/cus-edit.el
@@ -1,6 +1,6 @@
1;;; cus-edit.el --- tools for customizing Emacs and Lisp packages 1;;; cus-edit.el --- tools for customizing Emacs and Lisp packages
2;; 2;;
3;; Copyright (C) 1996,97,1999,2000,01,02,2003 Free Software Foundation, Inc. 3;; Copyright (C) 1996,97,1999,2000,01,02,03,2004 Free Software Foundation, Inc.
4;; 4;;
5;; Author: Per Abrahamsen <abraham@dina.kvl.dk> 5;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
6;; Maintainer: FSF 6;; Maintainer: FSF
@@ -286,11 +286,6 @@
286 "Content of the modeline." 286 "Content of the modeline."
287 :group 'environment) 287 :group 'environment)
288 288
289(defgroup fill nil
290 "Indenting and filling text."
291 :link '(custom-manual "(emacs)Filling Text")
292 :group 'editing)
293
294(defgroup editing-basics nil 289(defgroup editing-basics nil
295 "Most basic editing facilities." 290 "Most basic editing facilities."
296 :group 'editing) 291 :group 'editing)
diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el
index c2dc3e6a16c..6b50318d3e6 100644
--- a/lisp/emacs-lisp/lisp-mode.el
+++ b/lisp/emacs-lisp/lisp-mode.el
@@ -1,6 +1,6 @@
1;;; lisp-mode.el --- Lisp mode, and its idiosyncratic commands 1;;; lisp-mode.el --- Lisp mode, and its idiosyncratic commands
2 2
3;; Copyright (C) 1985, 1986, 1999, 2000, 2001, 2003 Free Software Foundation, Inc. 3;; Copyright (C) 1985,86,1999,2000,01,03,2004 Free Software Foundation, Inc.
4 4
5;; Maintainer: FSF 5;; Maintainer: FSF
6;; Keywords: lisp, languages 6;; Keywords: lisp, languages
@@ -197,6 +197,8 @@
197 (setq comment-column 40) 197 (setq comment-column 40)
198 (make-local-variable 'comment-indent-function) 198 (make-local-variable 'comment-indent-function)
199 (setq comment-indent-function 'lisp-comment-indent) 199 (setq comment-indent-function 'lisp-comment-indent)
200 ;; Don't get confused by `;' in doc strings when paragraph-filling.
201 (set (make-local-variable 'comment-use-global-state) t)
200 (make-local-variable 'imenu-generic-expression) 202 (make-local-variable 'imenu-generic-expression)
201 (setq imenu-generic-expression lisp-imenu-generic-expression) 203 (setq imenu-generic-expression lisp-imenu-generic-expression)
202 (make-local-variable 'multibyte-syntax-as-symbol) 204 (make-local-variable 'multibyte-syntax-as-symbol)
diff --git a/lisp/find-dired.el b/lisp/find-dired.el
index 9407afc3862..5bef4d6bf3a 100644
--- a/lisp/find-dired.el
+++ b/lisp/find-dired.el
@@ -121,6 +121,8 @@ as the final argument."
121 "" 121 ""
122 (concat "\\( " args " \\) ")) 122 (concat "\\( " args " \\) "))
123 (car find-ls-option))) 123 (car find-ls-option)))
124 ;; Start the find process.
125 (shell-command (concat args "&") (current-buffer))
124 ;; The next statement will bomb in classic dired (no optional arg allowed) 126 ;; The next statement will bomb in classic dired (no optional arg allowed)
125 (dired-mode dir (cdr find-ls-option)) 127 (dired-mode dir (cdr find-ls-option))
126 (let ((map (make-sparse-keymap))) 128 (let ((map (make-sparse-keymap)))
@@ -149,8 +151,7 @@ as the final argument."
149 ;; ``wildcard'' line. 151 ;; ``wildcard'' line.
150 (insert " " args "\n") 152 (insert " " args "\n")
151 (setq buffer-read-only t) 153 (setq buffer-read-only t)
152 ;; Start the find process. 154 (let ((proc (get-buffer-process (current-buffer))))
153 (let ((proc (start-process-shell-command find-dired-find-program (current-buffer) args)))
154 (set-process-filter proc (function find-dired-filter)) 155 (set-process-filter proc (function find-dired-filter))
155 (set-process-sentinel proc (function find-dired-sentinel)) 156 (set-process-sentinel proc (function find-dired-sentinel))
156 ;; Initialize the process marker; it is used by the filter. 157 ;; Initialize the process marker; it is used by the filter.
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 7fa3fb61ce5..43be1e84e43 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,7 @@
12004-03-05 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * message.el (message-mode): Fix last change.
4
12004-03-04 Stefan Monnier <monnier@iro.umontreal.ca> 52004-03-04 Stefan Monnier <monnier@iro.umontreal.ca>
2 6
3 * message.el (message-mode): Set comment-start-skip. 7 * message.el (message-mode): Set comment-start-skip.
diff --git a/lisp/hexl.el b/lisp/hexl.el
index 40e3c929c59..9fd21824f26 100644
--- a/lisp/hexl.el
+++ b/lisp/hexl.el
@@ -239,7 +239,7 @@ You can use \\[hexl-find-file] to visit a file in Hexl mode.
239 (add-hook 'change-major-mode-hook 'hexl-maybe-dehexlify-buffer nil t) 239 (add-hook 'change-major-mode-hook 'hexl-maybe-dehexlify-buffer nil t)
240 240
241 ;; Set a callback function for eldoc. 241 ;; Set a callback function for eldoc.
242 (set (make-variable-buffer-local 'eldoc-print-current-symbol-info-function) 242 (set (make-local-variable 'eldoc-print-current-symbol-info-function)
243 'hexl-print-current-point-info) 243 'hexl-print-current-point-info)
244 (eldoc-add-command-completions "hexl-") 244 (eldoc-add-command-completions "hexl-")
245 (eldoc-remove-command "hexl-save-buffer" 245 (eldoc-remove-command "hexl-save-buffer"
diff --git a/lisp/newcomment.el b/lisp/newcomment.el
index 1c9c0dfd4b6..924cf0ed8c4 100644
--- a/lisp/newcomment.el
+++ b/lisp/newcomment.el
@@ -345,6 +345,13 @@ If UNP is non-nil, unquote nested comment markers."
345;;;; Navigation 345;;;; Navigation
346;;;; 346;;;;
347 347
348(defvar comment-use-global-state nil
349 "Non-nil means that the global syntactic context is used.
350More specifically, it means that `syntax-ppss' is used to find out whether
351point is within a string or not. Major modes whose syntax is faithfully
352described by the syntax-tables can set this to non-nil so comment markers
353in strings will not confuse Emacs.")
354
348(defun comment-search-forward (limit &optional noerror) 355(defun comment-search-forward (limit &optional noerror)
349 "Find a comment start between point and LIMIT. 356 "Find a comment start between point and LIMIT.
350Moves point to inside the comment and returns the position of the 357Moves point to inside the comment and returns the position of the
@@ -357,8 +364,10 @@ and raises an error or returns nil of NOERROR is non-nil."
357 (unless noerror (error "No comment"))) 364 (unless noerror (error "No comment")))
358 (let* ((pt (point)) 365 (let* ((pt (point))
359 ;; Assume (at first) that pt is outside of any string. 366 ;; Assume (at first) that pt is outside of any string.
360 (s (parse-partial-sexp pt (or limit (point-max)) nil nil nil t))) 367 (s (parse-partial-sexp pt (or limit (point-max)) nil nil
361 (when (and (nth 8 s) (nth 3 s)) 368 (if comment-use-global-state (syntax-ppss pt))
369 t)))
370 (when (and (nth 8 s) (nth 3 s) (not comment-use-global-state))
362 ;; The search ended inside a string. Try to see if it 371 ;; The search ended inside a string. Try to see if it
363 ;; works better when we assume that pt is inside a string. 372 ;; works better when we assume that pt is inside a string.
364 (setq s (parse-partial-sexp 373 (setq s (parse-partial-sexp
diff --git a/lisp/textmodes/fill.el b/lisp/textmodes/fill.el
index 7a794d67c5e..57ba513cd7f 100644
--- a/lisp/textmodes/fill.el
+++ b/lisp/textmodes/fill.el
@@ -30,6 +30,11 @@
30 30
31;;; Code: 31;;; Code:
32 32
33(defgroup fill nil
34 "Indenting and filling text."
35 :link '(custom-manual "(emacs)Filling Text")
36 :group 'editing)
37
33(defcustom fill-individual-varying-indent nil 38(defcustom fill-individual-varying-indent nil
34 "*Controls criterion for a new paragraph in `fill-individual-paragraphs'. 39 "*Controls criterion for a new paragraph in `fill-individual-paragraphs'.
35Non-nil means changing indent doesn't end a paragraph. 40Non-nil means changing indent doesn't end a paragraph.
@@ -49,13 +54,14 @@ A value of nil means that any change in indentation starts a new paragraph."
49If the function returns nil, then `fill-paragraph' does its normal work.") 54If the function returns nil, then `fill-paragraph' does its normal work.")
50 55
51(defvar fill-paragraph-handle-comment t 56(defvar fill-paragraph-handle-comment t
52 "If non-nil, paragraph filling will try to pay attention to comments.") 57 "Non-nil means paragraph filling will try to pay attention to comments.")
53 58
54(defvar enable-kinsoku t 59(defcustom enable-kinsoku t
55 "*Non-nil means enable \"kinsoku\" processing on filling paragraph. 60 "*Non-nil means enable \"kinsoku\" processing on filling paragraphs.
56Kinsoku processing is designed to prevent certain characters from being 61Kinsoku processing is designed to prevent certain characters from being
57placed at the beginning or end of a line by filling. 62placed at the beginning or end of a line by filling.
58See the documentation of `kinsoku' for more information.") 63See the documentation of `kinsoku' for more information."
64 :type 'boolean)
59 65
60(defun set-fill-prefix () 66(defun set-fill-prefix ()
61 "Set the fill prefix to the current line up to point. 67 "Set the fill prefix to the current line up to point.
@@ -317,7 +323,7 @@ be tested. If it returns t, fill commands do not break the line there."
317 :options '(fill-french-nobreak-p fill-single-word-nobreak-p)) 323 :options '(fill-french-nobreak-p fill-single-word-nobreak-p))
318 324
319(defcustom fill-nobreak-invisible nil 325(defcustom fill-nobreak-invisible nil
320 "Non-nil means that fill command do not break lines in invisible text." 326 "Non-nil means that fill commands do not break lines in invisible text."
321 :type 'boolean 327 :type 'boolean
322 :group 'fill) 328 :group 'fill)
323 329
@@ -365,7 +371,7 @@ and `fill-nobreak-invisible'."
365Don't move back past the buffer position LIMIT. 371Don't move back past the buffer position LIMIT.
366 372
367This function is called when we are going to break the current line 373This function is called when we are going to break the current line
368after or before a non-ascii character. If the charset of the 374after or before a non-ASCII character. If the charset of the
369character has the property `fill-find-break-point-function', this 375character has the property `fill-find-break-point-function', this
370function calls the property value as a function with one arg LINEBEG. 376function calls the property value as a function with one arg LINEBEG.
371If the charset has no such property, do nothing." 377If the charset has no such property, do nothing."
@@ -428,7 +434,7 @@ Point is moved to just past the fill prefix on the first line."
428 (string-to-list sentence-end-without-space))) 434 (string-to-list sentence-end-without-space)))
429 (while (re-search-forward eol-double-space-re to t) 435 (while (re-search-forward eol-double-space-re to t)
430 (or (>= (point) to) (memq (char-before) '(?\t ?\ )) 436 (or (>= (point) to) (memq (char-before) '(?\t ?\ ))
431 (memq (char-after (match-beginning 0)) 437 (memq (char-after (match-beginning 0))
432 sentence-end-without-space-list) 438 sentence-end-without-space-list)
433 (insert-and-inherit ?\ )))) 439 (insert-and-inherit ?\ ))))
434 440
@@ -844,8 +850,13 @@ can take care of filling. JUSTIFY is used as in `fill-paragraph'."
844 (concat paragraph-start "\\|[ \t]*\\(?:" 850 (concat paragraph-start "\\|[ \t]*\\(?:"
845 comment-start-skip "\\)\\(?:" 851 comment-start-skip "\\)\\(?:"
846 (default-value 'paragraph-start) "\\)")) 852 (default-value 'paragraph-start) "\\)"))
847 (paragraph-ignore-fill-prefix nil) 853 ;; We used to reply on fill-prefix to break paragraph at
848 (fill-prefix comment-fill-prefix) 854 ;; comment-starter changes, but it did not work for the
855 ;; first line (mixed comment&code).
856 ;; We now use comment-re instead to "manually" make sure
857 ;; we treat comment-marker changes as paragraph boundaries.
858 ;; (paragraph-ignore-fill-prefix nil)
859 ;; (fill-prefix comment-fill-prefix)
849 (after-line (if has-code-and-comment 860 (after-line (if has-code-and-comment
850 (line-beginning-position 2)))) 861 (line-beginning-position 2))))
851 (setq end (progn (forward-paragraph) (point))) 862 (setq end (progn (forward-paragraph) (point)))
@@ -892,7 +903,7 @@ as specified by its text properties.
892The fourth arg NOSQUEEZE non-nil means to leave 903The fourth arg NOSQUEEZE non-nil means to leave
893whitespace other than line breaks untouched, and fifth arg TO-EOP 904whitespace other than line breaks untouched, and fifth arg TO-EOP
894non-nil means to keep filling to the end of the paragraph (or next 905non-nil means to keep filling to the end of the paragraph (or next
895hard newline, if `use-hard-newlines' is on). 906hard newline, if variable `use-hard-newlines' is on).
896 907
897Return the fill-prefix used for filling the last paragraph. 908Return the fill-prefix used for filling the last paragraph.
898 909
@@ -976,8 +987,8 @@ beginning and end of the region are not at paragraph breaks, they are
976moved to the beginning and end \(respectively) of the paragraphs they 987moved to the beginning and end \(respectively) of the paragraphs they
977are in. 988are in.
978 989
979If `use-hard-newlines' is true, all hard newlines are taken to be paragraph 990If variable `use-hard-newlines' is true, all hard newlines are
980breaks. 991taken to be paragraph breaks.
981 992
982When calling from a program, operates just on region between BEGIN and END, 993When calling from a program, operates just on region between BEGIN and END,
983unless optional fourth arg WHOLE-PAR is non-nil. In that case bounds are 994unless optional fourth arg WHOLE-PAR is non-nil. In that case bounds are
diff --git a/lisp/type-break.el b/lisp/type-break.el
index 83e6a4cebff..d7d74fd887b 100644
--- a/lisp/type-break.el
+++ b/lisp/type-break.el
@@ -1,6 +1,6 @@
1;;; type-break.el --- encourage rests from typing at appropriate intervals 1;;; type-break.el --- encourage rests from typing at appropriate intervals
2 2
3;; Copyright (C) 1994, 95, 97, 2000 Free Software Foundation, Inc. 3;; Copyright (C) 1994, 95, 97, 2000, 2004 Free Software Foundation, Inc.
4 4
5;; Author: Noah Friedman 5;; Author: Noah Friedman
6;; Maintainer: Noah Friedman <friedman@splode.com> 6;; Maintainer: Noah Friedman <friedman@splode.com>
@@ -8,7 +8,7 @@
8;; Status: Works in GNU Emacs 19.25 or later, some versions of XEmacs 8;; Status: Works in GNU Emacs 19.25 or later, some versions of XEmacs
9;; Created: 1994-07-13 9;; Created: 1994-07-13
10 10
11;; $Id: type-break.el,v 1.29 2003/09/01 15:45:17 miles Exp $ 11;; $Id: type-break.el,v 1.30 2004/03/09 15:27:06 monnier Exp $
12 12
13;; This file is part of GNU Emacs. 13;; This file is part of GNU Emacs.
14 14
@@ -277,39 +277,6 @@ It will be either \"seconds\" or \"keystrokes\".")
277(defvar type-break-current-keystroke-warning-interval nil) 277(defvar type-break-current-keystroke-warning-interval nil)
278(defvar type-break-time-warning-count 0) 278(defvar type-break-time-warning-count 0)
279(defvar type-break-keystroke-warning-count 0) 279(defvar type-break-keystroke-warning-count 0)
280
281;; Constant indicating emacs variant.
282;; This can be one of `xemacs', `lucid', `epoch', `mule', etc.
283(defconst type-break-emacs-variant
284 (let ((data (match-data))
285 (version (cond
286 ((fboundp 'nemacs-version)
287 (nemacs-version))
288 (t
289 (emacs-version))))
290 (alist '(("\\bXEmacs\\b" . xemacs)
291 ("\\bLucid\\b" . lucid)
292 ("^Nemacs\\b" . nemacs)
293 ("^GNU Emacs 19" . standard19)
294 ("^GNU Emacs 20" . standard19)
295 ("^GNU Emacs 18" . emacs18)))
296 result)
297 (while alist
298 (cond
299 ((string-match (car (car alist)) version)
300 (setq result (cdr (car alist)))
301 (setq alist nil))
302 (t
303 (setq alist (cdr alist)))))
304 (set-match-data data)
305 (cond ((eq result 'lucid)
306 (and (string= emacs-version "19.8 Lucid")
307 (setq result 'lucid-19-8)))
308 ((memq result '(nemacs emacs18))
309 (signal 'error
310 "type-break not supported in this version of emacs.")))
311 result))
312
313 280
314;;;###autoload 281;;;###autoload
315(defun type-break-mode (&optional prefix) 282(defun type-break-mode (&optional prefix)
@@ -954,38 +921,37 @@ With optional non-nil ALL, force redisplay of all mode-lines."
954;;; for different versions of emacs. 921;;; for different versions of emacs.
955 922
956(defun type-break-run-at-time (time repeat function) 923(defun type-break-run-at-time (time repeat function)
957 (cond ((eq type-break-emacs-variant 'standard19) 924 (condition-case nil (or (require 'timer) (require 'itimer)) (error nil))
958 (require 'timer) 925 (cond ((fboundp 'run-at-time)
959 (funcall 'run-at-time time repeat function)) 926 (run-at-time time repeat function))
960 ((eq type-break-emacs-variant 'lucid-19-8) 927 ((fboundp 'start-timer)
961 (let ((name (if (symbolp function) 928 (let ((name (if (symbolp function)
962 (symbol-name function) 929 (symbol-name function)
963 "type-break"))) 930 "type-break")))
964 (require 'timer) 931 (start-timer name function time repeat)))
965 (funcall 'start-timer name function time repeat))) 932 ((fboundp 'start-itimer)
966 ((memq type-break-emacs-variant '(xemacs lucid))
967 (let ((name (if (symbolp function) 933 (let ((name (if (symbolp function)
968 (symbol-name function) 934 (symbol-name function)
969 "type-break"))) 935 "type-break")))
970 (require 'itimer) 936 (start-itimer name function time repeat)))))
971 (funcall 'start-itimer name function time repeat)))))
972 937
938(defvar timer-dont-exit)
973(defun type-break-cancel-function-timers (function) 939(defun type-break-cancel-function-timers (function)
974 (cond ((eq type-break-emacs-variant 'standard19) 940 (cond ((fboundp 'cancel-function-timers)
975 (let ((timer-dont-exit t)) 941 (let ((timer-dont-exit t))
976 (funcall 'cancel-function-timers function))) 942 (cancel-function-timers function)))
977 ((eq type-break-emacs-variant 'lucid-19-8) 943 ((fboundp 'delete-timer)
978 (let ((list timer-list)) 944 (let ((list timer-list))
979 (while list 945 (while list
980 (and (eq (funcall 'timer-function (car list)) function) 946 (and (eq (funcall 'timer-function (car list)) function)
981 (funcall 'delete-timer (car list))) 947 (delete-timer (car list)))
982 (setq list (cdr list))))) 948 (setq list (cdr list)))))
983 ((memq type-break-emacs-variant '(xemacs lucid)) 949 ((fboundp 'delete-itimer)
984 (with-no-warnings 950 (with-no-warnings
985 (let ((list itimer-list)) 951 (let ((list itimer-list))
986 (while list 952 (while list
987 (and (eq (funcall 'itimer-function (car list)) function) 953 (and (eq (funcall 'itimer-function (car list)) function)
988 (funcall 'delete-itimer (car list))) 954 (delete-itimer (car list)))
989 (setq list (cdr list)))))))) 955 (setq list (cdr list))))))))
990 956
991 957
diff --git a/man/ChangeLog b/man/ChangeLog
index c949d6f2fea..f84d1605799 100644
--- a/man/ChangeLog
+++ b/man/ChangeLog
@@ -1,3 +1,8 @@
12004-03-08 Karl Berry <karl@gnu.org>
2
3 * info.texi: \input texinfo.tex instead of just texinfo, to avoid
4 problems making the texinfo distribution.
5
12004-03-04 Richard M. Stallman <rms@gnu.org> 62004-03-04 Richard M. Stallman <rms@gnu.org>
2 7
3 * search.texi (Regexps): Explain that ^ and $ have their 8 * search.texi (Regexps): Explain that ^ and $ have their
@@ -60,6 +65,10 @@
60 (Icons X): Remove alias -iconic. 65 (Icons X): Remove alias -iconic.
61 (Misc X): New node. 66 (Misc X): New node.
62 67
682004-02-17 Karl Berry <karl@gnu.org>
69
70 * info.texi (Help-Int): mention the new line number feature.
71
632004-02-15 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> 722004-02-15 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
64 73
65 * frames.texi (Drag and drop): Add Motif to list of supported 74 * frames.texi (Drag and drop): Add Motif to list of supported
diff --git a/man/info.texi b/man/info.texi
index 24a6c4bbc46..deab84b37af 100644
--- a/man/info.texi
+++ b/man/info.texi
@@ -1,4 +1,7 @@
1\input texinfo @c -*-texinfo-*- 1\input texinfo.tex @c -*-texinfo-*-
2@c We must \input texinfo.tex instead of texinfo, otherwise make
3@c distcheck in the Texinfo distribution fails, because the texinfo Info
4@c file is made first, and texi2dvi must include . first in the path.
2@comment %**start of header 5@comment %**start of header
3@setfilename info.info 6@setfilename info.info
4@settitle Info 7@settitle Info
diff --git a/src/ChangeLog b/src/ChangeLog
index bb8ef04bc67..95cec4f1f14 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
12004-03-09 Kenichi Handa <handa@etlken2>
2
3 * coding.c (decode_coding_emacs_mule): Handle insufficent source
4 correctly.
5
12004-03-04 Richard M. Stallman <rms@gnu.org> 62004-03-04 Richard M. Stallman <rms@gnu.org>
2 7
3 * s/sol2-6.h (LD_SWITCH_SYSTEM_TEMACS): New definition. 8 * s/sol2-6.h (LD_SWITCH_SYSTEM_TEMACS): New definition.
diff --git a/src/coding.c b/src/coding.c
index 62c761c5bcf..76ef3026a2d 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -1024,9 +1024,26 @@ decode_coding_emacs_mule (coding, source, destination, src_bytes, dst_bytes)
1024 } 1024 }
1025 else 1025 else
1026 { 1026 {
1027 bytes = CHAR_STRING (*src, tmp); 1027 int i, c;
1028 p = tmp; 1028
1029 bytes = BYTES_BY_CHAR_HEAD (*src);
1029 src++; 1030 src++;
1031 for (i = 1; i < bytes; i++)
1032 {
1033 ONE_MORE_BYTE (c);
1034 if (CHAR_HEAD_P (c))
1035 break;
1036 }
1037 if (i < bytes)
1038 {
1039 bytes = CHAR_STRING (*src_base, tmp);
1040 p = tmp;
1041 src = src_base + 1;
1042 }
1043 else
1044 {
1045 p = src_base;
1046 }
1030 } 1047 }
1031 if (dst + bytes >= (dst_bytes ? dst_end : src)) 1048 if (dst + bytes >= (dst_bytes ? dst_end : src))
1032 { 1049 {