annotate lisp/language/ethiopic.el @ 24102:1086aa5db591

Major rewrite to support cleaner method of dumping; a static "bss" section is used for heap space during preload, and bss data is now written to the proper section area when dumping. (need_to_recreate_heap): Renamed to using_dynamic_heap. (heap_index_in_executable): Obsolete variable removed. (data_section): New variable. (data_start_va): Renamed to data_start. (data_start_file): Obsolete variable removed. (bss_section): (extra_bss_size): (bss_section_static): (bss_start_static): (bss_size_static): (extra_bss_size_static): (heap_section): New variables. (_start): Remove code based on old unexec method. Call init_heap to initialize sbrk heap. (close_file_data): Update size of file when closing, so that unexec doesn't have to work out exact size in advance. (get_bss_info_from_map_file): (get_section_size): Obsolete functions removed. (rva_to_section): Fix minor bug, and add a work-around for a bug in very old linkers. (offset_to_section): (relocate_offset): New functions. (OFFSET_TO_RVA): (RVA_TO_OFFSET): (RVA_TO_SECTION_OFFSET): (PTR_TO_RVA): (PTR_TO_OFFSET): (OFFSET_TO_PTR): New macros. (get_section_info): Modify to support new unexec method; determines address ranges in process that need dumping, and COFF sections where data will be dumped. Allows for static and global bss data to be in separate ranges. No longer relies on knowledge of section names. (copy_executable_and_dump_data_section): Renamed copy_executable_and_dump_data. Completely rewritten to copy executable section by section, so that raw data areas can be expanded to hold dumped data as necessary. Allows for bss data to be in same section as initialized data. Reduces size of static heap section to that used during preload. (dump_bss_and_heap): (w32_fatal_reload_error): (read_in_bss): (map_in_heap): Obsolete functions removed. (unexec): Rounds off preload heap to nearest page rather than virtual allocation unit. Modified to match other changes.
author Andrew Innes <andrewi@gnu.org>
date Sun, 17 Jan 1999 19:21:24 +0000
parents 5c0a4ed13900
children 6d966e8b4bbe
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
23158
5c0a4ed13900 Add coding: local variable, to avoid bootstrapping problem
Paul Eggert <eggert@twinsun.com>
parents: 22983
diff changeset
1 ;;; ethiopic.el --- Support for Ethiopic -*- coding: iso-2022-7bit; -*-
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
2
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
3 ;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN.
18377
8b4a66c66dd6 Change copyright notice.
Richard M. Stallman <rms@gnu.org>
parents: 18309
diff changeset
4 ;; Licensed to the Free Software Foundation.
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
5
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
6 ;; Keywords: multilingual, Ethiopic
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
7
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
8 ;; This file is part of GNU Emacs.
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
9
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
10 ;; GNU Emacs is free software; you can redistribute it and/or modify
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
11 ;; it under the terms of the GNU General Public License as published by
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
12 ;; the Free Software Foundation; either version 2, or (at your option)
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
13 ;; any later version.
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
14
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
15 ;; GNU Emacs is distributed in the hope that it will be useful,
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
16 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
17 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
18 ;; GNU General Public License for more details.
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
19
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
20 ;; You should have received a copy of the GNU General Public License
17314
f438ebf1c679 Fix FSF address in comment.
Kenichi Handa <handa@m17n.org>
parents: 17299
diff changeset
21 ;; along with GNU Emacs; see the file COPYING. If not, write to the
f438ebf1c679 Fix FSF address in comment.
Kenichi Handa <handa@m17n.org>
parents: 17299
diff changeset
22 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
f438ebf1c679 Fix FSF address in comment.
Kenichi Handa <handa@m17n.org>
parents: 17299
diff changeset
23 ;; Boston, MA 02111-1307, USA.
17299
1d2c8b8a2875 Completely updated.
Kenichi Handa <handa@m17n.org>
parents: 17071
diff changeset
24
1d2c8b8a2875 Completely updated.
Kenichi Handa <handa@m17n.org>
parents: 17071
diff changeset
25 ;; Author: TAKAHASHI Naoto <ntakahas@etl.go.jp>
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
26
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
27 ;;; Code:
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
28
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
29 (define-ccl-program ccl-encode-ethio-font
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
30 '(0
17299
1d2c8b8a2875 Completely updated.
Kenichi Handa <handa@m17n.org>
parents: 17071
diff changeset
31 ;; In: R0:ethiopic (not checked)
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
32 ;; R1:position code 1
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
33 ;; R2:position code 2
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
34 ;; Out: R1:font code point 1
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
35 ;; R2:font code point 2
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
36 ((r1 -= 33)
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
37 (r2 -= 33)
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
38 (r1 *= 94)
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
39 (r2 += r1)
17299
1d2c8b8a2875 Completely updated.
Kenichi Handa <handa@m17n.org>
parents: 17071
diff changeset
40 (if (r2 < 256)
1d2c8b8a2875 Completely updated.
Kenichi Handa <handa@m17n.org>
parents: 17071
diff changeset
41 (r1 = ?\x12)
1d2c8b8a2875 Completely updated.
Kenichi Handa <handa@m17n.org>
parents: 17071
diff changeset
42 (if (r2 < 448)
1d2c8b8a2875 Completely updated.
Kenichi Handa <handa@m17n.org>
parents: 17071
diff changeset
43 ((r1 = ?\x13) (r2 -= 256))
1d2c8b8a2875 Completely updated.
Kenichi Handa <handa@m17n.org>
parents: 17071
diff changeset
44 ((r1 = ?\xfd) (r2 -= 208))
1d2c8b8a2875 Completely updated.
Kenichi Handa <handa@m17n.org>
parents: 17071
diff changeset
45 ))))
19090
7d36a4bbe75e (ccl-encode-ethio-font): Fix typo in doc-string.
Kenichi Handa <handa@m17n.org>
parents: 18377
diff changeset
46 "CCL program to encode an Ethiopic code to code point of Ethiopic font.")
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
47
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
48 (setq font-ccl-encoder-alist
17299
1d2c8b8a2875 Completely updated.
Kenichi Handa <handa@m17n.org>
parents: 17071
diff changeset
49 (cons (cons "ethiopic" ccl-encode-ethio-font) font-ccl-encoder-alist))
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
50
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
51 (set-language-info-alist
22983
7a010b8c0d99 ("LANUGAGE-ENVIRONMENT"): Delete property setup-function or change
Kenichi Handa <handa@m17n.org>
parents: 22764
diff changeset
52 "Ethiopic" '((setup-function . setup-ethiopic-environment-internal)
22518
64b8166a9747 Set `exit-function' of Ethiopic
Kenichi Handa <handa@m17n.org>
parents: 20744
diff changeset
53 (exit-function . exit-ethiopic-environment)
20744
48d79ef65489 Register coding-priority key in
Kenichi Handa <handa@m17n.org>
parents: 19090
diff changeset
54 (charset ethiopic)
48d79ef65489 Register coding-priority key in
Kenichi Handa <handa@m17n.org>
parents: 19090
diff changeset
55 (coding-system iso-2022-7bit)
48d79ef65489 Register coding-priority key in
Kenichi Handa <handa@m17n.org>
parents: 19090
diff changeset
56 (coding-priority iso-2022-7bit)
22983
7a010b8c0d99 ("LANUGAGE-ENVIRONMENT"): Delete property setup-function or change
Kenichi Handa <handa@m17n.org>
parents: 22764
diff changeset
57 (input-method . "ethiopic")
7a010b8c0d99 ("LANUGAGE-ENVIRONMENT"): Delete property setup-function or change
Kenichi Handa <handa@m17n.org>
parents: 22764
diff changeset
58 (features ethio-util)
22764
8543c4052dd2 ("Ethiopic"): Typo in sample-text fixed.
Kenichi Handa <handa@m17n.org>
parents: 22518
diff changeset
59 (sample-text . "$(3$Q#U!.(B")
17841
084d922fcd78 Coding system names changed as follows:
Kenichi Handa <handa@m17n.org>
parents: 17772
diff changeset
60 (documentation . t)))
17052
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
61
d0d7b244b1d0 Initial revision
Karl Heuer <kwzh@gnu.org>
parents:
diff changeset
62 ;;; ethiopic.el ends here