mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-22 04:47:34 +00:00
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
This commit is contained in:
commit
9fcd266514
16 changed files with 199 additions and 113 deletions
15
.gitignore
vendored
15
.gitignore
vendored
|
|
@ -26,18 +26,19 @@ _$*
|
|||
*.ln
|
||||
core
|
||||
# CVS default ignores end
|
||||
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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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 @@ $result = 0 if $to_date && $to_date !~ /^\d\d\d\d-\d\d-\d\d$/;
|
|||
|
||||
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
|
||||
Usage: $0 [options] [CHANGELOG...]
|
||||
|
||||
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 @@ if ($version) {
|
|||
# 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 @@ sub header_match_p ($) {
|
|||
# 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 @@ sub entry_match_p ($) {
|
|||
# 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 @@ sub print_log ($$) {
|
|||
|
||||
# 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 @@ sub parse_changelog ($) {
|
|||
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 @@ sub parse_changelog ($) {
|
|||
|
||||
# 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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
@ -96,6 +130,11 @@
|
|||
* textmodes/fill.el (fill-comment-paragraph): Be more careful when
|
||||
recognizing leading comment on code line.
|
||||
|
||||
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,
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -121,6 +121,8 @@ as the final argument."
|
|||
""
|
||||
(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 @@ as the final argument."
|
|||
;; ``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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -239,7 +239,7 @@ You can use \\[hexl-find-file] to visit a file in Hexl mode.
|
|||
(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"
|
||||
|
|
|
|||
|
|
@ -345,6 +345,13 @@ If UNP is non-nil, unquote nested comment markers."
|
|||
;;;; 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 @@ and raises an error or returns nil of NOERROR is non-nil."
|
|||
(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
|
||||
|
|
|
|||
|
|
@ -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 @@ A value of nil means that any change in indentation starts a new paragraph."
|
|||
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 @@ be tested. If it returns t, fill commands do not break the line there."
|
|||
: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 @@ and `fill-nobreak-invisible'."
|
|||
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 @@ Point is moved to just past the fill prefix on the first line."
|
|||
(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 @@ can take care of filling. JUSTIFY is used as in `fill-paragraph'."
|
|||
(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 @@ as specified by its text properties.
|
|||
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 @@ beginning and end of the region are not at paragraph breaks, they are
|
|||
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
|
||||
|
|
|
|||
|
|
@ -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 @@ It will be either \"seconds\" or \"keystrokes\".")
|
|||
(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 @@ With optional non-nil ALL, force redisplay of all mode-lines."
|
|||
;;; 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))))))))
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
21
src/coding.c
21
src/coding.c
|
|
@ -1024,9 +1024,26 @@ decode_coding_emacs_mule (coding, source, destination, src_bytes, dst_bytes)
|
|||
}
|
||||
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))
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in a new issue