annotate lisp/tl/emu-orig.el @ 4:b82b59fe008d r19-15b3

Import from CVS: tag r19-15b3
author cvs
date Mon, 13 Aug 2007 08:46:56 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
1 ;;;
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
2 ;;; emu-orig.el --- Mule 2 emulation module for Original Emacs and XEmacs
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
3 ;;;
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
4 ;;; Copyright (C) 1995 Free Software Foundation, Inc.
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
5 ;;; Copyright (C) 1994 .. 1996 MORIOKA Tomohiko
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
6 ;;;
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
7 ;;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
8 ;;; Version:
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
9 ;;; $Id: emu-orig.el,v 1.1.1.1 1996/12/18 03:55:31 steve Exp $
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
10 ;;; Keywords: emulation, compatibility, Mule
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
11 ;;;
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
12 ;;; This file is part of tl (Tiny Library).
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
13 ;;;
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
14 ;;; This program is free software; you can redistribute it and/or
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
15 ;;; modify it under the terms of the GNU General Public License as
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
16 ;;; published by the Free Software Foundation; either version 2, or
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
17 ;;; (at your option) any later version.
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
18 ;;;
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
19 ;;; This program is distributed in the hope that it will be useful,
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
20 ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
21 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
22 ;;; General Public License for more details.
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
23 ;;;
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
24 ;;; You should have received a copy of the GNU General Public License
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
25 ;;; along with This program. If not, write to the Free Software
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
26 ;;; Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
27 ;;;
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
28 ;;; Code:
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
29
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
30 ;;; @ leading-char
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
31 ;;;
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
32
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
33 (defconst lc-ascii 0)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
34 (defconst lc-ltn1 129)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
35
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
36 (defun char-leading-char (chr)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
37 "Return leading character of CHAR.
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
38 \[emu-orig.el; Mule emulating function]"
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
39 (if (< chr 128)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
40 lc-ascii
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
41 lc-ltn1))
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
42
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
43 (defalias 'get-lc 'char-leading-char)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
44
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
45 (defun find-charset-string (str)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
46 "Return a list of leading-chars in the string.
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
47 \[emu-orig.el; Mule emulating function]"
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
48 (if (string-match "[\200-\377]" str)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
49 (list lc-ltn1)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
50 ))
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
51
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
52 (defun find-charset-region (start end)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
53 "Return a list of leading-chars in the region between START and END.
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
54 \[emu-orig.el; Mule emulating function]"
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
55 (if (save-excursion
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
56 (save-restriction
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
57 (narrow-to-region start end)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
58 (goto-char start)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
59 (re-search-forward "[\200-\377]" nil t)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
60 ))
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
61 (list lc-ltn1)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
62 ))
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
63
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
64
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
65 ;;; @ coding-system
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
66 ;;;
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
67
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
68 (defconst *internal* nil)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
69 (defconst *ctext* nil)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
70 (defconst *noconv* nil)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
71
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
72 (defun code-convert-string (str ic oc)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
73 "Convert code in STRING from SOURCE code to TARGET code,
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
74 On successful converion, returns the result string,
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
75 else returns nil. [emu-orig.el; Mule emulating function]"
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
76 str)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
77
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
78 (defun code-convert-region (beg end ic oc)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
79 "Convert code of the text between BEGIN and END from SOURCE
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
80 to TARGET. On successful conversion returns t,
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
81 else returns nil. [emu-orig.el; Mule emulating function]"
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
82 t)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
83
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
84 (defun code-detect-region (beg end)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
85 "Detect coding-system of the text in the region between START and END.
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
86 \[emu-orig.el; Mule emulating function]"
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
87 )
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
88
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
89 (defun set-file-coding-system (coding-system &optional force)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
90 )
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
91
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
92
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
93 ;;; @ character and string
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
94 ;;;
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
95
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
96 (defun char-bytes (chr) 1)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
97 (defun char-width (chr) 1)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
98
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
99 (defalias 'string-width 'length)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
100
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
101 (defun string-to-char-list (str)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
102 (mapcar (function identity) str)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
103 )
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
104
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
105 (defun truncate-string (str width &optional start-column)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
106 "Truncate STR to fit in WIDTH columns.
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
107 Optional non-nil arg START-COLUMN specifies the starting column.
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
108 \[emu-orig.el; Mule 2.3 emulating function]"
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
109 (or start-column
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
110 (setq start-column 0))
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
111 (substring str start-column width)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
112 )
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
113
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
114
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
115 ;;; @ etc
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
116 ;;;
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
117
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
118 (cond (running-xemacs
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
119 (require 'emu-xemacs))
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
120 (running-emacs-19
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
121 (require 'emu-19)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
122 ))
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
123
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
124
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
125 ;;; @ end
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
126 ;;;
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
127
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
128 (provide 'emu-orig)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
129
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
130 ;;; emu-orig.el ends here