Merged in changes from CVS trunk. Plus added lisp/term tweaks.

Patches applied:

 * lorentey@elte.hu--2004/emacs--cvs-trunk--0--base-0
   tag of miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-474

 * lorentey@elte.hu--2004/emacs--cvs-trunk--0--patch-1
   Add CVS metadata files.

 * lorentey@elte.hu--2004/emacs--cvs-trunk--0--patch-2
   Update from CVS.


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-393
This commit is contained in:
Karoly Lorentey 2005-09-04 03:48:17 +00:00
commit fbf3497344
1502 changed files with 23319 additions and 13290 deletions

View file

@ -1,7 +1,7 @@
/* Coding system handler (conversion, detection, and etc).
Copyright (C) 1995,97,1998,2002,2003 Electrotechnical Laboratory, JAPAN.
Licensed to the Free Software Foundation.
Copyright (C) 2001,2002,2003 Free Software Foundation, Inc.
Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
This file is part of GNU Emacs.
@ -365,7 +365,7 @@ Lisp_Object Qsafe_chars;
Lisp_Object Qvalid_codes;
extern Lisp_Object Qinsert_file_contents, Qwrite_region;
Lisp_Object Qcall_process, Qcall_process_region, Qprocess_argument;
Lisp_Object Qcall_process, Qcall_process_region;
Lisp_Object Qstart_process, Qopen_network_stream;
Lisp_Object Qtarget_idx;
@ -5349,12 +5349,17 @@ static int shrink_conversion_region_threshhold = 1024;
} \
} while (0)
/* ARG is (CODING . BUFFER) where CODING is what to be set in
Vlast_coding_system_used and BUFFER if non-nil is a buffer to
kill. */
static Lisp_Object
code_convert_region_unwind (arg)
Lisp_Object arg;
{
inhibit_pre_post_conversion = 0;
Vlast_coding_system_used = arg;
Vlast_coding_system_used = XCAR (arg);
if (! NILP (XCDR (arg)))
Fkill_buffer (XCDR (arg));
return Qnil;
}
@ -5607,7 +5612,7 @@ code_convert_region (from, from_byte, to, to_byte, coding, encodep, replace)
Lisp_Object new;
record_unwind_protect (code_convert_region_unwind,
Vlast_coding_system_used);
Fcons (Vlast_coding_system_used, Qnil));
/* We should not call any more pre-write/post-read-conversion
functions while this pre-write-conversion is running. */
inhibit_pre_post_conversion = 1;
@ -5975,7 +5980,7 @@ code_convert_region (from, from_byte, to, to_byte, coding, encodep, replace)
TEMP_SET_PT_BOTH (from, from_byte);
prev_Z = Z;
record_unwind_protect (code_convert_region_unwind,
Vlast_coding_system_used);
Fcons (Vlast_coding_system_used, Qnil));
saved_coding_system = Vlast_coding_system_used;
Vlast_coding_system_used = coding->symbol;
/* We should not call any more pre-write/post-read-conversion
@ -6021,17 +6026,31 @@ static Lisp_Object Vcode_conversion_workbuf_name;
/* Set the current buffer to the working buffer prepared for
code-conversion. MULTIBYTE specifies the multibyteness of the
buffer. */
buffer. Return the buffer we set if it must be killed after use.
Otherwise return Qnil. */
static struct buffer *
static Lisp_Object
set_conversion_work_buffer (multibyte)
int multibyte;
{
Lisp_Object buffer;
Lisp_Object buffer, buffer_to_kill;
struct buffer *buf;
buffer = Fget_buffer_create (Vcode_conversion_workbuf_name);
buf = XBUFFER (buffer);
if (buf == current_buffer)
{
/* As we are already in the work buffer, we must generate a new
buffer for the work. */
Lisp_Object name;
name = Fgenerate_new_buffer_name (Vcode_conversion_workbuf_name, Qnil);
buffer = buffer_to_kill = Fget_buffer_create (name);
buf = XBUFFER (buffer);
}
else
buffer_to_kill = Qnil;
delete_all_overlays (buf);
buf->directory = current_buffer->directory;
buf->read_only = Qnil;
@ -6044,7 +6063,7 @@ set_conversion_work_buffer (multibyte)
Fwiden ();
del_range_2 (BEG, BEG_BYTE, Z, Z_BYTE, 0);
buf->enable_multibyte_characters = multibyte ? Qt : Qnil;
return buf;
return buffer_to_kill;
}
Lisp_Object
@ -6057,10 +6076,9 @@ run_pre_post_conversion_on_str (str, coding, encodep)
struct gcpro gcpro1, gcpro2;
int multibyte = STRING_MULTIBYTE (str);
Lisp_Object old_deactivate_mark;
Lisp_Object buffer_to_kill;
record_unwind_protect (Fset_buffer, Fcurrent_buffer ());
record_unwind_protect (code_convert_region_unwind,
Vlast_coding_system_used);
/* It is not crucial to specbind this. */
old_deactivate_mark = Vdeactivate_mark;
GCPRO2 (str, old_deactivate_mark);
@ -6068,7 +6086,9 @@ run_pre_post_conversion_on_str (str, coding, encodep)
/* We must insert the contents of STR as is without
unibyte<->multibyte conversion. For that, we adjust the
multibyteness of the working buffer to that of STR. */
set_conversion_work_buffer (multibyte);
buffer_to_kill = set_conversion_work_buffer (multibyte);
record_unwind_protect (code_convert_region_unwind,
Fcons (Vlast_coding_system_used, buffer_to_kill));
insert_from_string (str, 0, 0,
SCHARS (str), SBYTES (str), 0);
@ -6111,6 +6131,7 @@ run_pre_write_conversin_on_c_str (str, size, nchars, nbytes, coding)
struct buffer *cur = current_buffer;
Lisp_Object old_deactivate_mark, old_last_coding_system_used;
Lisp_Object args[3];
Lisp_Object buffer_to_kill;
/* It is not crucial to specbind this. */
old_deactivate_mark = Vdeactivate_mark;
@ -6120,7 +6141,7 @@ run_pre_write_conversin_on_c_str (str, size, nchars, nbytes, coding)
/* We must insert the contents of STR as is without
unibyte<->multibyte conversion. For that, we adjust the
multibyteness of the working buffer to that of STR. */
set_conversion_work_buffer (coding->src_multibyte);
buffer_to_kill = set_conversion_work_buffer (coding->src_multibyte);
insert_1_both (*str, nchars, nbytes, 0, 0, 0);
UNGCPRO;
inhibit_pre_post_conversion = 1;
@ -6144,6 +6165,8 @@ run_pre_write_conversin_on_c_str (str, size, nchars, nbytes, coding)
coding->src_multibyte
= ! NILP (current_buffer->enable_multibyte_characters);
set_buffer_internal (cur);
if (! NILP (buffer_to_kill))
Fkill_buffer (buffer_to_kill);
}