Commit 985773c9 authored by Miles Bader's avatar Miles Bader

Fix up multi-tty merge

Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-261
Creator:  Stefan Monnier <monnier@iro.umontreal.ca>
parent 47632e43
......@@ -18922,11 +18922,13 @@ _ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <stdio.h>
#include <sys/types.h> /* for off_t */
#include <stdio.h>
int
main ()
{
return fseeko (stdin, 0, 0) && (fseeko) (stdin, 0, 0);
int (*fp) (FILE *, off_t, int) = fseeko;
return fseeko (stdin, 0, 0) && fp (stdin, 0, 0);
;
return 0;
}
......@@ -18966,11 +18968,13 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#define _LARGEFILE_SOURCE 1
#include <stdio.h>
#include <sys/types.h> /* for off_t */
#include <stdio.h>
int
main ()
{
return fseeko (stdin, 0, 0) && (fseeko) (stdin, 0, 0);
int (*fp) (FILE *, off_t, int) = fseeko;
return fseeko (stdin, 0, 0) && fp (stdin, 0, 0);
;
return 0;
}
......
# Unlike most emacs dirs, etc has a simple non-autoconf-generated makefile
source ^(Makefile)$
# Auto-generated files, which ignore
precious ^(buildobj\.lst)$
# Generated files (DOC-X is generated on windows)
backup ^(DOC(|-[0-9.]*|-X))$
......
2007-10-12 Stefan Monnier <monnier@iro.umontreal.ca>
Fix up multy-tty merge.
* version.el (emacs-version): Bump to 23.0.60.
* term/x-win.el (x-initialize-window-system): Don't try to create
a fontset from a font-specification anymore. This was removed on the
unicode branch and mistakenly re-added by the multi-tty merge.
* term/w32-win.el: Remove duplicate code that's now in
w32-initialize-window-system.
(w32-initialize-window-system): Don't try to create a fontset from
a font-specification anymore. This was removed on the unicode branch
and mistakenly re-added by the multi-tty merge.
* term/mac-win.el: Remove duplicate top-level code.
* ldefs-boot.el: Update.
* language/ethio-util.el:
* international/characters.el: Use utf-8 rather than utf-8-emacs
since it works as well and has the advantage of working with
non-unicode versions of Emacs.
* international/encoded-kb.el (encoded-kbd-setup-display): Use the new
multi-tty code, which includes the previous local change.
2007-09-07 Kenichi Handa <handa@m17n.org>
* skeleton.el (skeleton-internal-1): Use integerp and stringp
......
......@@ -283,7 +283,7 @@ Not documented
;;;;;; do* do loop return-from return block etypecase typecase ecase
;;;;;; case load-time-value eval-when destructuring-bind function*
;;;;;; defmacro* defun* gentemp gensym cl-compile-time-init) "cl-macs"
;;;;;; "cl-macs.el" "6990af555f962480552cf0867f3d5bab")
;;;;;; "cl-macs.el" "6ebe05f6ba95a14ea35d74ef52c17882")
;;; Generated autoloads from cl-macs.el
(autoload 'cl-compile-time-init "cl-macs" "\
......
......@@ -1171,7 +1171,7 @@
))
;; Local Variables:
;; coding: utf-8-emacs
;; coding: utf-8
;; End:
;; arch-tag: 85889c35-9f4d-4912-9bf5-82de31b0d42d
......
......@@ -333,53 +333,43 @@ The following key sequence may cause multilingual text insertion."
(defun encoded-kbd-setup-display (display)
"Set up a `input-decode-map' for `keyboard-coding-system' on DISPLAY.
(put 'encoded-kbd-mode 'permanent-local t)
;;;###autoload
(define-minor-mode encoded-kbd-mode
"Toggle Encoded-kbd minor mode.
With arg, turn Encoded-kbd mode on if and only if arg is positive.
You should not turn this mode on manually, instead use the command
\\[set-keyboard-coding-system] which turns on or off this mode
automatically.
In Encoded-kbd mode, a text sent from keyboard is accepted
as a multilingual text encoded in a coding system set by
\\[set-keyboard-coding-system]."
:global t :group 'keyboard :group 'mule
(if encoded-kbd-mode
;; We are turning on Encoded-kbd mode.
(let ((coding (keyboard-coding-system))
result)
(or saved-key-translation-map
(if (keymapp key-translation-map)
(setq saved-key-translation-map
(copy-keymap key-translation-map))
(setq key-translation-map (make-sparse-keymap))))
(or saved-input-mode
(setq saved-input-mode
(current-input-mode)))
(setq result (and coding (encoded-kbd-setup-keymap coding)))
(if result
(if (eq result 8)
(set-input-mode
(nth 0 saved-input-mode)
(nth 1 saved-input-mode)
'use-8th-bit
(nth 3 saved-input-mode)))
(setq encoded-kbd-mode nil
saved-key-translation-map nil
saved-input-mode nil)
(error "Unsupported coding system in Encoded-kbd mode: %S"
coding)))
;; We are turning off Encoded-kbd mode.
(when saved-input-mode
(setq key-translation-map saved-key-translation-map
saved-key-translation-map nil)
(apply 'set-input-mode saved-input-mode)
(setq saved-input-mode nil))))
DISPLAY may be a display id, a frame, or nil for the selected frame's display."
(let ((frame (if (framep display) display (car (frames-on-display-list display)))))
(when frame
(with-selected-frame frame
;; Remove any previous encoded-kb keymap from input-decode-map.
(let ((m input-decode-map))
(if (equal (keymap-prompt m) "encoded-kb")
(setq input-decode-map (keymap-parent m))
(while (keymap-parent m)
(if (equal (keymap-prompt (keymap-parent m)) "encoded-kb")
(set-keymap-parent m (keymap-parent (keymap-parent m))))
(setq m (keymap-parent m)))))
(if (keyboard-coding-system)
;; We are turning on Encoded-kbd mode.
(let ((coding (keyboard-coding-system))
(keymap (make-sparse-keymap "encoded-kb"))
(cim (current-input-mode))
result)
(set-keymap-parent keymap input-decode-map)
(setq input-decode-map keymap)
(unless (terminal-parameter nil 'encoded-kbd-saved-input-meta-mode)
(set-terminal-parameter nil 'encoded-kbd-saved-input-mode (nth 2 cim)))
(setq result (and coding (encoded-kbd-setup-keymap keymap coding)))
(if result
(when (and (eq result 8)
(memq (nth 2 cim) '(t nil)))
(set-input-meta-mode 'use-8th-bit))
(set-terminal-parameter nil 'encoded-kbd-saved-input-meta-mode nil)
(error "Unsupported coding system in Encoded-kbd mode: %S"
coding)))
;; We are turning off Encoded-kbd mode.
(when (and (terminal-parameter nil 'encoded-kbd-saved-input-meta-mode)
(not (equal (nth 2 (current-input-mode))
(terminal-parameter nil 'encoded-kbd-saved-input-meta-mode))))
(set-input-meta-mode (terminal-parameter nil 'encoded-kbd-saved-input-meta-mode)))
(set-terminal-parameter nil 'saved-input-meta-mode nil))))))
(provide 'encoded-kb)
......
;;; ethio-util.el --- utilities for Ethiopic -*- coding: utf-8-emacs; -*-
;;; ethio-util.el --- utilities for Ethiopic -*- coding: utf-8; -*-
;; Copyright (C) 1997, 1998, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
......
This diff is collapsed.
......@@ -6498,7 +6498,7 @@ If FACE is not a valid face name, use default face."
;; But autoload them here to make the separation invisible.
;;;### (autoloads (ps-mule-end-job ps-mule-begin-job ps-mule-initialize
;;;;;; ps-multibyte-buffer) "ps-mule" "ps-mule.el" "bb18668f99d691db470ec2a32753ba28")
;;;;;; ps-multibyte-buffer) "ps-mule" "ps-mule.el" "ba0ba38bf1f9831ca12701290fd4b211")
;;; Generated autoloads from ps-mule.el
(defvar ps-multibyte-buffer nil "\
......@@ -6544,20 +6544,20 @@ Valid values are:
Any other value is treated as nil.")
(custom-autoload (quote ps-multibyte-buffer) "ps-mule" t)
(custom-autoload 'ps-multibyte-buffer "ps-mule" t)
(autoload (quote ps-mule-initialize) "ps-mule" "\
(autoload 'ps-mule-initialize "ps-mule" "\
Initialize global data for printing multi-byte characters.
\(fn)" nil nil)
(autoload (quote ps-mule-begin-job) "ps-mule" "\
(autoload 'ps-mule-begin-job "ps-mule" "\
Start printing job for multi-byte chars between FROM and TO.
It checks if all multi-byte characters in the region are printable or not.
\(fn FROM TO)" nil nil)
(autoload (quote ps-mule-end-job) "ps-mule" "\
(autoload 'ps-mule-end-job "ps-mule" "\
Finish printing job for multi-byte chars.
\(fn)" nil nil)
......
......@@ -2346,34 +2346,6 @@ See also `mac-dnd-known-types'."
(mac-dnd-drop-data event (selected-frame) window
(cdr item) (car item) action)))))
;;; Do the actual Windows setup here; the above code just defines
;;; functions and variables that we use now.
(setq command-line-args (x-handle-args command-line-args))
;;; Make sure we have a valid resource name.
(or (stringp x-resource-name)
(let (i)
(setq x-resource-name (invocation-name))
;; Change any . or * characters in x-resource-name to hyphens,
;; so as not to choke when we use it in X resource queries.
(while (setq i (string-match "[.*]" x-resource-name))
(aset x-resource-name i ?-))))
(if (x-display-list)
;; On Mac OS 8/9, Most coding systems used in code conversion for
;; font names are not ready at the time when the terminal frame is
;; created. So we reconstruct font name table for the initial
;; frame.
(mac-clear-font-name-table)
(x-open-connection "Mac"
x-command-line-resources
;; Exit Emacs with fatal error if this fails.
t))
(setq frame-creation-function 'x-create-frame-with-faces)
(setq font-encoding-alist
(append
'(("mac-roman" . mac-roman)
......
......@@ -1076,44 +1076,6 @@ European languages which are distributed with Windows as
See the documentation of `create-fontset-from-fontset-spec' for the format.")
;; Conditional on new-fontset so bootstrapping works on non-GUI compiles
(when (fboundp 'new-fontset)
;; Setup the default fontset.
(setup-default-fontset)
;; Create the standard fontset.
(create-fontset-from-fontset-spec w32-standard-fontset-spec t)
;; Create fontset specified in X resources "Fontset-N" (N is 0, 1,...).
(create-fontset-from-x-resource))
;; Apply a geometry resource to the initial frame. Put it at the end
;; of the alist, so that anything specified on the command line takes
;; precedence.
(let* ((res-geometry (x-get-resource "geometry" "Geometry"))
parsed)
(if res-geometry
(progn
(setq parsed (x-parse-geometry res-geometry))
;; If the resource specifies a position,
;; call the position and size "user-specified".
(if (or (assq 'top parsed) (assq 'left parsed))
(setq parsed (cons '(user-position . t)
(cons '(user-size . t) parsed))))
;; All geometry parms apply to the initial frame.
(setq initial-frame-alist (append initial-frame-alist parsed))
;; The size parms apply to all frames.
(if (assq 'height parsed)
(push (cons 'height (cdr (assq 'height parsed)))
default-frame-alist))
(if (assq 'width parsed)
(push (cons 'width (cdr (assq 'width parsed)))
default-frame-alist)))))
;; Check the reverseVideo resource.
(let ((case-fold-search t))
(let ((rv (x-get-resource "reverseVideo" "ReverseVideo")))
(if (and rv (string-match "^\\(true\\|yes\\|on\\)$" rv))
(push '(reverse . t) default-frame-alist))))
(defun x-win-suspend-error ()
"Report an error when a suspend is attempted."
(error "Suspending an Emacs running under W32 makes no sense"))
......@@ -1145,7 +1107,7 @@ pop-up menu are unaffected by `w32-list-proportional-fonts')."
;; Append list of fontsets currently defined.
;; Conditional on new-fontset so bootstrapping works on non-GUI compiles
(if (fboundp 'new-fontset)
(append w32-fixed-font-alist (list (generate-fontset-menu)))))))
(append w32-fixed-font-alist (list (generate-fontset-menu)))))))
(if fonts
(let (font)
(while fonts
......@@ -1199,30 +1161,6 @@ pop-up menu are unaffected by `w32-list-proportional-fonts')."
(create-fontset-from-fontset-spec w32-standard-fontset-spec t)
;; Create fontset specified in X resources "Fontset-N" (N is 0, 1,...).
(create-fontset-from-x-resource)
;; Try to create a fontset from a font specification which comes
;; from initial-frame-alist, default-frame-alist, or X resource.
;; A font specification in command line argument (i.e. -fn XXXX)
;; should be already in default-frame-alist as a `font'
;; parameter. However, any font specifications in site-start
;; library, user's init file (.emacs), and default.el are not
;; yet handled here.
(let ((font (or (cdr (assq 'font initial-frame-alist))
(cdr (assq 'font default-frame-alist))
(x-get-resource "font" "Font")))
xlfd-fields resolved-name)
(if (and font
(not (query-fontset font))
(setq resolved-name (x-resolve-font-name font))
(setq xlfd-fields (x-decompose-font-name font)))
(if (string= "fontset"
(aref xlfd-fields xlfd-regexp-registry-subnum))
(new-fontset font
(x-complement-fontset-spec xlfd-fields nil))
;; Create a fontset from FONT. The fontset name is
;; generated from FONT.
(create-fontset-from-ascii-font font
resolved-name "startup"))))
;; Apply a geometry resource to the initial frame. Put it at the end
;; of the alist, so that anything specified on the command line takes
......
......@@ -2469,28 +2469,6 @@ order until succeed.")
;; Create fontset specified in X resources "Fontset-N" (N is 0, 1, ...).
(create-fontset-from-x-resource)
;; Try to create a fontset from a font specification which comes
;; from initial-frame-alist, default-frame-alist, or X resource.
;; A font specification in command line argument (i.e. -fn XXXX)
;; should be already in default-frame-alist as a `font'
;; parameter. However, any font specifications in site-start
;; library, user's init file (.emacs), and default.el are not
;; yet handled here.
(let ((font (or (cdr (assq 'font initial-frame-alist))
(cdr (assq 'font default-frame-alist))
(x-get-resource "font" "Font")))
xlfd-fields resolved-name)
(if (and font
(not (query-fontset font))
(setq resolved-name (x-resolve-font-name font))
(setq xlfd-fields (x-decompose-font-name font)))
(if (string= "fontset" (aref xlfd-fields xlfd-regexp-registry-subnum))
(new-fontset font (x-complement-fontset-spec xlfd-fields nil))
;; Create a fontset from FONT. The fontset name is
;; generated from FONT.
(create-fontset-from-ascii-font font resolved-name "startup"))))
;; Set scroll bar mode to right if set by X resources. Default is left.
(if (equal (x-get-resource "verticalScrollBars" "ScrollBars") "right")
(customize-set-variable 'scroll-bar-mode 'right))
......
......@@ -30,7 +30,7 @@
(defconst emacs-copyright "Copyright (C) 2007 Free Software Foundation, Inc."
"Short copyright string for this version of Emacs.")
(defconst emacs-version "23.0.50" "\
(defconst emacs-version "23.0.60" "\
Version numbers of this version of Emacs.")
(defconst emacs-major-version
......
......@@ -12403,6 +12403,11 @@
* regex.c (re_error_msgid): Add an entry for REG_ERANGEX.
(regex_compile): Return REG_ERANGEX if appropriate.
2004-10-22 Kenichi Handa <handa@m17n.org>
* editfns.c (Ftranslate_region_internal): New function.
(syms_of_editfns): Defsubr it.
2004-10-22 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
* xfns.c (xic_create_xfontset): Initialize missing_list to NULL.
......
2007-10-12 Stefan Monnier <monnier@iro.umontreal.ca>
Fix up multy-tty merge.
* xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
and indentation.
* xfaces.c (free_realized_face, clear_face_gcs):
Include font_done_for_face in the input_blocked section, just in case.
* xdisp.c (decode_mode_spec): Use terminal-local coding systems.
(get_char_face_and_encoding): Undo last change and remove the *other*
duplicate definition (i.e. keep the one that's better scoped and that
includes code for the font-backend).
* terminal.c (create_terminal): Default keyboard_coding to
`no-conversion' and terminal_coding to `undecided'.
* lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
* fontset.c (free_realized_fontsets): Check that the table entry does
contain a fontset before trying to compare it to `base'.
* emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
syms_of_charset, and syms_of_coding earlier because init_window_once
now needs Vcoding_system_hash_table to be setup.
* coding.h (default_buffer_file_coding): Remove.
* coding.c (default_buffer_file_coding): Remove.
(Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
than ->symbol, and use the terminal-local coding system.
(syms_of_coding): Don't setup the coding-systems that are not
terminal-local.
(Fdefine_coding_system_internal): Use XCAR/XCDR.
* chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
* alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
in chartab.c and were re-added here by mistake.
(Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
* doc.c (Fsnarf_documentation):
* Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
src to etc.
* ChangeLog.10: Add mistakenly removed entry.
2007-10-12 Dan Nicolaescu <dann@ics.uci.edu>
* Makefile.in (fringe.o, minibuf.o): Fix dependencies.
......
......@@ -1007,7 +1007,7 @@ ${lispsource}international/charprop.el: temacs${EXEEXT} ${UNIDATA}
#endif
temacs${EXEEXT}: MAKE_PARALLEL $(LOCALCPP) $(STARTFILES) stamp-oldxmenu ${obj} ${otherobj} OBJECTS_MACHINE prefix-args${EXEEXT}
echo "${obj} ${otherobj} " OBJECTS_MACHINE > buildobj.lst
echo "${obj} ${otherobj} " OBJECTS_MACHINE > ${etc}buildobj.lst
$(LD) YMF_PASS_LDFLAGS (${STARTFLAGS} ${TEMACS_LDFLAGS}) $(LDFLAGS) \
-o temacs ${STARTFILES} ${obj} ${otherobj} \
OBJECTS_MACHINE ${LIBES}
......@@ -1133,7 +1133,7 @@ ecrt0.o: ecrt0.c $(config_h)
CRT0_COMPILE ${srcdir}/ecrt0.c
dired.o: dired.c commands.h buffer.h $(config_h) character.h charset.h \
coding.h regex.h systime.h blockinput.h atimer.h
dispnew.o: dispnew.c systty.h systime.h commands.h process.h frame.h \
dispnew.o: dispnew.c systime.h commands.h process.h frame.h \
window.h buffer.h dispextern.h termchar.h termopts.h termhooks.h cm.h \
disptab.h indent.h intervals.h \
xterm.h blockinput.h atimer.h character.h msdos.h composite.h keyboard.h \
......@@ -1288,11 +1288,10 @@ fns.o: fns.c commands.h $(config_h) frame.h buffer.h character.h keyboard.h \
keymap.h frame.h window.h dispextern.h $(INTERVAL_SRC) coding.h md5.h \
blockinput.h atimer.h systime.h xterm.h termhooks.h
print.o: print.c process.h frame.h window.h buffer.h keyboard.h character.h \
$(config_h) dispextern.h termchar.h $(INTERVAL_SRC) msdos.h composite.h \
$(config_h) dispextern.h termchar.h $(INTERVAL_SRC) msdos.h composite.h \
blockinput.h atimer.h systime.h
lread.o: lread.c commands.h keyboard.h buffer.h epaths.h character.h \
charset.h $(config_h) $(INTERVAL_SRC) termhooks.h coding.h msdos.h \
blockinput.h atimer.h systime.h
charset.h $(config_h) $(INTERVAL_SRC) termhooks.h coding.h msdos.h
/* Text properties support */
textprop.o: textprop.c buffer.h window.h dispextern.h $(INTERVAL_SRC) \
......@@ -1357,7 +1356,7 @@ mostlyclean:
rm -f temacs${EXEEXT} prefix-args${EXEEXT} core *.core \#* *.o libXMenu11.a liblw.a
rm -f ../etc/DOC
rm -f bootstrap-emacs${EXEEXT} emacs-${version}${EXEEXT}
rm -f buildobj.lst
rm -f ${etc}buildobj.lst
clean: mostlyclean
rm -f emacs-*${EXEEXT} emacs${EXEEXT}
/**/# This is used in making a distribution.
......
......@@ -3070,51 +3070,6 @@ See also the function `vector'. */)
}
DEFUN ("make-char-table", Fmake_char_table, Smake_char_table, 1, 2, 0,
doc: /* Return a newly created char-table, with purpose PURPOSE.
Each element is initialized to INIT, which defaults to nil.
PURPOSE should be a symbol which has a `char-table-extra-slots' property.
The property's value should be an integer between 0 and 10. */)
(purpose, init)
register Lisp_Object purpose, init;
{
Lisp_Object vector;
Lisp_Object n;
CHECK_SYMBOL (purpose);
n = Fget (purpose, Qchar_table_extra_slots);
CHECK_NUMBER (n);
if (XINT (n) < 0 || XINT (n) > 10)
args_out_of_range (n, Qnil);
/* Add 2 to the size for the defalt and parent slots. */
vector = Fmake_vector (make_number (CHAR_TABLE_STANDARD_SLOTS + XINT (n)),
init);
XSETPVECTYPE (XVECTOR (vector), PVEC_CHAR_TABLE);
XCHAR_TABLE (vector)->top = Qt;
XCHAR_TABLE (vector)->parent = Qnil;
XCHAR_TABLE (vector)->purpose = purpose;
XSETCHAR_TABLE (vector, XCHAR_TABLE (vector));
return vector;
}
/* Return a newly created sub char table with slots initialized by INIT.
Since a sub char table does not appear as a top level Emacs Lisp
object, we don't need a Lisp interface to make it. */
Lisp_Object
make_sub_char_table (init)
Lisp_Object init;
{
Lisp_Object vector
= Fmake_vector (make_number (SUB_CHAR_TABLE_STANDARD_SLOTS), init);
XSETPVECTYPE (XVECTOR (vector), PVEC_CHAR_TABLE);
XCHAR_TABLE (vector)->top = Qnil;
XCHAR_TABLE (vector)->defalt = Qnil;
XSETCHAR_TABLE (vector, XCHAR_TABLE (vector));
return vector;
}
DEFUN ("vector", Fvector, Svector, 0, MANY, 0,
doc: /* Return a newly created vector with specified arguments as elements.
Any number of arguments, even zero arguments, are allowed.
......@@ -4964,7 +4919,10 @@ Does not copy symbols. Copies strings without text properties. */)
for (i = 0; i < size; i++)
vec->contents[i] = Fpurecopy (XVECTOR (obj)->contents[i]);
if (COMPILEDP (obj))
XSETCOMPILED (obj, vec);
{
XSETPVECTYPE (vec, PVEC_COMPILED);
XSETCOMPILED (obj, vec);
}
else
XSETVECTOR (obj, vec);
return obj;
......
......@@ -7,7 +7,7 @@ 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 2, or (at your option)
the Free Software Foundation; either version 3, or (at your option)
any later version.
GNU Emacs is distributed in the hope that it will be useful,
......@@ -85,6 +85,7 @@ the char-table has no extra slot. */)
size = VECSIZE (struct Lisp_Char_Table) - 1 + n_extras;
vector = Fmake_vector (make_number (size), init);
XSETPVECTYPE (XVECTOR (vector), PVEC_CHAR_TABLE);
XCHAR_TABLE (vector)->parent = Qnil;
XCHAR_TABLE (vector)->purpose = purpose;
XSETCHAR_TABLE (vector, XCHAR_TABLE (vector));
......@@ -100,6 +101,7 @@ make_sub_char_table (depth, min_char, defalt)
int size = VECSIZE (struct Lisp_Sub_Char_Table) - 1 + chartab_size[depth];
table = Fmake_vector (make_number (size), defalt);
XSETPVECTYPE (XVECTOR (table), PVEC_SUB_CHAR_TABLE);
XSUB_CHAR_TABLE (table)->depth = make_number (depth);
XSUB_CHAR_TABLE (table)->min_char = make_number (min_char);
XSETSUB_CHAR_TABLE (table, XSUB_CHAR_TABLE (table));
......@@ -156,6 +158,7 @@ copy_char_table (table)
int i;
copy = Fmake_vector (make_number (size), Qnil);
XSETPVECTYPE (XVECTOR (copy), PVEC_CHAR_TABLE);
XCHAR_TABLE (copy)->defalt = XCHAR_TABLE (table)->defalt;
XCHAR_TABLE (copy)->parent = XCHAR_TABLE (table)->parent;
XCHAR_TABLE (copy)->purpose = XCHAR_TABLE (table)->purpose;
......
......@@ -387,9 +387,6 @@ int inherit_process_coding_system;
terminal coding system is nil. */
struct coding_system safe_terminal_coding;
/* Default coding system to be used to write a file. */
struct coding_system default_buffer_file_coding;
Lisp_Object Vfile_coding_system_alist;
Lisp_Object Vprocess_coding_system_alist;
Lisp_Object Vnetwork_coding_system_alist;
......@@ -8329,9 +8326,10 @@ frame's terminal device. */)
(terminal)
Lisp_Object terminal;
{
Lisp_Object coding_system;
struct coding_system *terminal_coding
= TERMINAL_TERMINAL_CODING (get_terminal (terminal, 1));
Lisp_Object coding_system = CODING_ID_NAME (terminal_coding->id);
coding_system = TERMINAL_TERMINAL_CODING (get_terminal (terminal, 1))->symbol;
/* For backward compatibility, return nil if it is `undecided'. */
return (! EQ (coding_system, Qundecided) ? coding_system : Qnil);
}
......@@ -8354,11 +8352,13 @@ DEFUN ("set-keyboard-coding-system-internal", Fset_keyboard_coding_system_intern
}
DEFUN ("keyboard-coding-system",
Fkeyboard_coding_system, Skeyboard_coding_system, 0, 0, 0,
Fkeyboard_coding_system, Skeyboard_coding_system, 0, 1, 0,
doc: /* Return coding system specified for decoding keyboard input. */)
()
(terminal)
Lisp_Object terminal;
{
return CODING_ID_NAME (keyboard_coding.id);
return CODING_ID_NAME (TERMINAL_KEYBOARD_CODING
(get_terminal (terminal, 1))->id);
}
......@@ -8643,11 +8643,11 @@ usage: (define-coding-system-internal ...) */)
else
{
charset_list = Fcopy_sequence (charset_list);
for (tail = charset_list; !NILP (tail); tail = Fcdr (tail))
for (tail = charset_list; CONSP (tail); tail = XCDR (tail))
{
struct charset *charset;
val = Fcar (tail);
val = XCAR (tail);
CHECK_CHARSET_GET_CHARSET (val, charset);
if (EQ (coding_type, Qiso_2022)
? CHARSET_ISO_FINAL (charset) < 0
......@@ -9827,8 +9827,6 @@ character.");
Fdefine_coding_system_internal (coding_arg_max, args);
}
setup_coding_system (Qno_conversion, &keyboard_coding);
setup_coding_system (Qundecided, &terminal_coding);
setup_coding_system (Qno_conversion, &safe_terminal_coding);
{
......
......@@ -746,9 +746,6 @@ extern int inherit_process_coding_system;
terminal coding system is nil. */