annotate lisp/mule/ethiopic.el @ 5914:bd4d2c8ef9cc

Use the existing C-level line number cache within #'line-number. src/ChangeLog addition: 2015-05-15 Aidan Kehoe <kehoea@parhasard.net> * buffer.c: * buffer.c (Fline_number): New C implementation, using the line number cache of line-number.c, with a new optional BUFFER argument. * buffer.c (syms_of_buffer): Make it available to Lisp. * line-number.c (buffer_line_number): New argument, RESPECT-NARROWING, describing whether to count from the beginning of the visible region or from the beginning of the buffer. * line-number.h: * line-number.h (buffer_line_number): Update its declaration. * redisplay.c (window_line_number): Call it with the new argument. lisp/ChangeLog addition: 2015-05-15 Aidan Kehoe <kehoea@parhasard.net> * simple.el: * simple.el (line-number): Moved to buffer.c; we have an existing line number cache in C, it's a shame not to have it available.
author Aidan Kehoe <kehoea@parhasard.net>
date Fri, 15 May 2015 18:11:47 +0100
parents 308d34e9f07d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
353
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
1 ;;; ethiopic.el --- Support for Ethiopic -*- coding: iso-2022-7bit; -*-
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
2
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
3 ;; Copyright (C) 1995,1999 Electrotechnical Laboratory, JAPAN.
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
4 ;; Licensed to the Free Software Foundation.
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
5 ;; Copyright (C) 1997 MORIOKA Tomohiko
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
6
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
7 ;; Keywords: multilingual, Ethiopic
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
8
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
9 ;; This file is part of XEmacs.
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
10
5402
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 4072
diff changeset
11 ;; XEmacs is free software: you can redistribute it and/or modify it
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 4072
diff changeset
12 ;; under the terms of the GNU General Public License as published by the
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 4072
diff changeset
13 ;; Free Software Foundation, either version 3 of the License, or (at your
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 4072
diff changeset
14 ;; option) any later version.
353
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
15
5402
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 4072
diff changeset
16 ;; XEmacs is distributed in the hope that it will be useful, but WITHOUT
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 4072
diff changeset
17 ;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 4072
diff changeset
18 ;; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 4072
diff changeset
19 ;; for more details.
353
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
20
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
21 ;; You should have received a copy of the GNU General Public License
5402
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 4072
diff changeset
22 ;; along with XEmacs. If not, see <http://www.gnu.org/licenses/>.
353
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
23
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
24 ;; Author: TAKAHASHI Naoto <ntakahas@etl.go.jp>
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
25 ;; modified by MORIOKA Tomohiko <morioka@jaist.ac.jp> for XEmacs.
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
26
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
27 ;;; Code:
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
28
778
2923009caf47 [xemacs-hg @ 2002-03-16 10:38:59 by ben]
ben
parents: 444
diff changeset
29 ;; Ethiopic characters (Amahric and Tigrigna).
2923009caf47 [xemacs-hg @ 2002-03-16 10:38:59 by ben]
ben
parents: 444
diff changeset
30 (make-charset 'ethiopic "Ethiopic characters"
2923009caf47 [xemacs-hg @ 2002-03-16 10:38:59 by ben]
ben
parents: 444
diff changeset
31 '(dimension
2923009caf47 [xemacs-hg @ 2002-03-16 10:38:59 by ben]
ben
parents: 444
diff changeset
32 2
3659
98af8a976fc3 [xemacs-hg @ 2006-11-05 22:31:31 by aidan]
aidan
parents: 778
diff changeset
33 registries ["Ethiopic-Unicode"]
353
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
34 chars 94
778
2923009caf47 [xemacs-hg @ 2002-03-16 10:38:59 by ben]
ben
parents: 444
diff changeset
35 columns 2
2923009caf47 [xemacs-hg @ 2002-03-16 10:38:59 by ben]
ben
parents: 444
diff changeset
36 direction l2r
353
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
37 final ?3
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
38 graphic 0
778
2923009caf47 [xemacs-hg @ 2002-03-16 10:38:59 by ben]
ben
parents: 444
diff changeset
39 short-name "Ethiopic"
2923009caf47 [xemacs-hg @ 2002-03-16 10:38:59 by ben]
ben
parents: 444
diff changeset
40 long-name "Ethiopic characters"
353
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
41 ))
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
42
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
43 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
44 ;;; ETHIOPIC
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
45 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
46
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
47 (define-category ?E "Ethiopic (Ge'ez) character.")
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
48 (modify-category-entry 'ethiopic ?E)
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
49
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
50 (define-ccl-program ccl-encode-ethio-font
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
51 '(0
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
52 ;; In: R0:ethiopic (not checked)
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
53 ;; R1:position code 1
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
54 ;; R2:position code 2
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
55 ;; Out: R1:font code point 1
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
56 ;; R2:font code point 2
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
57 ((r1 -= 33)
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
58 (r2 -= 33)
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
59 (r1 *= 94)
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
60 (r2 += r1)
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
61 (if (r2 < 256)
4072
aa28d959af41 [xemacs-hg @ 2007-07-22 22:03:29 by aidan]
aidan
parents: 3970
diff changeset
62 (r1 = #x12)
353
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
63 (if (r2 < 448)
4072
aa28d959af41 [xemacs-hg @ 2007-07-22 22:03:29 by aidan]
aidan
parents: 3970
diff changeset
64 ((r1 = #x13) (r2 -= 256))
aa28d959af41 [xemacs-hg @ 2007-07-22 22:03:29 by aidan]
aidan
parents: 3970
diff changeset
65 ((r1 = #xfd) (r2 -= 208))
353
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
66 ))))
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
67 "CCL program to encode an Ethiopic code to code point of Ethiopic font.")
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
68
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 353
diff changeset
69 (set-charset-ccl-program 'ethiopic 'ccl-encode-ethio-font)
353
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
70
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
71 (set-language-info-alist
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
72 "Ethiopic" '((setup-function . setup-ethiopic-environment-internal)
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
73 (exit-function . exit-ethiopic-environment)
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
74 (charset ethiopic)
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
75 (coding-system iso-2022-7bit)
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
76 (coding-priority iso-2022-7bit)
3970
949ac151a10d [xemacs-hg @ 2007-05-20 20:09:20 by aidan]
aidan
parents: 3659
diff changeset
77 ;; (input-method . "ethiopic")
353
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
78 (features ethio-util)
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
79 (sample-text . "$(3$Q#U!.(B")
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
80 (documentation . t)))
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
81
3659
98af8a976fc3 [xemacs-hg @ 2006-11-05 22:31:31 by aidan]
aidan
parents: 778
diff changeset
82 ;; In a more ideal world, we could set the default face fallback from here
98af8a976fc3 [xemacs-hg @ 2006-11-05 22:31:31 by aidan]
aidan
parents: 778
diff changeset
83 ;; to use one of the misc-fixed sizes that handles Ethiopic.
98af8a976fc3 [xemacs-hg @ 2006-11-05 22:31:31 by aidan]
aidan
parents: 778
diff changeset
84
353
3b3709405255 Import from CVS: tag r21-1-6
cvs
parents:
diff changeset
85 ;;; ethiopic.el ends here