annotate src/m/mips-nec.h @ 4570:e6a7054a9c30

Add check-coding-systems-region, test it and others, fix some bugs. tests/ChangeLog addition: 2008-12-28 Aidan Kehoe <kehoea@parhasard.net> * automated/query-coding-tests.el: Add tests for #'unencodable-char-position, #'check-coding-systems-region, #'encode-coding-char. Remove some debugging statements. lisp/ChangeLog addition: 2008-12-28 Aidan Kehoe <kehoea@parhasard.net> * coding.el (query-coding-region): (query-coding-string): Make these defsubsts, they're short enough and they're called explicitly rarely enough that it make some sense. The alternative would be compiler macros that avoid the binding of the arguments. (unencodable-char-position): Document where the docstring and API are from. Correct a special case for zero--check-argument-type returns nil when it succeeds, we can't usefully chain its result in an and here. (check-coding-systems-region): New. API taken from GNU; docstring and implementation are independent. (encode-coding-char): Add an optional third argument, as used by recent GNU. Document the origen of the docstring. (default-query-coding-region): Add a short docstring to the non-Mule implementation of this function. * unicode.el: Don't set the query-coding-function property for unicode coding systems if we're on non-mule. Unintern unicode-query-coding-region, unicode-query-coding-skip-chars-arg in the same context.
author Aidan Kehoe <kehoea@parhasard.net>
date Sun, 28 Dec 2008 22:51:14 +0000
parents ecf1ebac70d8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
321
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
1 /* m- file for Mips machines.
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
2 Copyright (C) 1987, 1992, 1993, 1995 Free Software Foundation, Inc.
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
3
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
4 This file contains some changes for our SVR4 based SINIX-Mips 5.4.
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
5 I hope this is helpful to port the emacs to our RM?00 series and
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
6 maybe to the DC/OSx (Mips-based) machines of Pyramid Inc.
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
7 (Marco.Walther@mch.sni.de)
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
8
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
9 This file is part of GNU Emacs.
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
10
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
11 GNU Emacs is free software; you can redistribute it and/or modify
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
12 it under the terms of the GNU General Public License as published by
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
13 the Free Software Foundation; either version 2, or (at your option)
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
14 any later version.
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
15
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
16 GNU Emacs is distributed in the hope that it will be useful,
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
17 but WITHOUT ANY WARRANTY; without even the implied warranty of
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
19 GNU General Public License for more details.
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
20
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
21 You should have received a copy of the GNU General Public License
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
22 along with XEmacs; see the file COPYING. If not, write to
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
23 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
24 Boston, MA 02111-1307, USA. */
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
25
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
26 /* Synched up with: FSF 19.31. */
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
27
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
28 /* The following line tells the configuration script what sort of
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
29 operating system this machine is likely to run.
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
30 USUAL-OPSYS="note"
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
31
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
32 NOTE-START
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
33 Use m-mips4.h for RISCOS version 4; use s-bsd4-3.h with the BSD world.
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
34 Note that the proper m- file for the Decstation is m-pmax.h.
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
35 This is the m- file for SNI RM*00 machines. Use s- sinix5-4.h file!
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
36 With this the file mips-siemens.h is obsolete.
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
37 NOTE-END */
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
38
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
39 /* Now define a symbol for the cpu type, if your compiler
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
40 does not define it automatically:
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
41 Ones defined so far include vax, m68000, ns16000, pyramid,
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
42 orion, tahoe, APOLLO and many others */
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
43 #ifndef mips
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
44 # define mips
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
45 #endif
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
46
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
47 /* Data type of load average, as read out of kmem. */
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
48
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
49 #define LOAD_AVE_TYPE long
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
50
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
51 /* Convert that into an integer that is 100 for a load average of 1.0 */
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
52
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
53 #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / 256.0)
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
54
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
55 /* CDC EP/IX 1.4.3 uses /unix */
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
56
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
57 #undef KERNEL_FILE
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
58 #define KERNEL_FILE "/unix"
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
59
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
60 /* Define NO_REMAP if memory segmentation makes it not work well
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
61 to change the boundary between the text section and data section
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
62 when Emacs is dumped. If you define this, the preloaded Lisp
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
63 code will not be sharable; but that's better than failing completely. */
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
64
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
65 #define NO_REMAP
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
66
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
67 /* Describe layout of the address space in an executing process. */
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
68 /* MARCO ???
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
69 */
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
70 #define TEXT_START 0x400000
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
71
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
72 #undef ORDINARY_LINK
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
73
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
74 #undef LIBS_DEBUG
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
75
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
76 /* Alter some of the options used when linking. */
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
77
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
78 #undef LIBS_MACHINE
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
79 /* #define LIBS_MACHINE "-lmld" */ /* mrb */
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
80 #define START_FILES "pre-crt0.o /usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xt.o"
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
81
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
82 #ifdef LIB_STANDARD
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
83 #undef LIB_STANDARD
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
84 #endif
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
85 #define LIB_STANDARD "-lc /usr/ccs/lib/crtn.o"
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
86
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
87 #ifdef __GNUC__
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
88 #define C_DEBUG_SWITCH
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
89 #define C_OPTIMIZE_SWITCH "-O"
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
90 #define LD_SWITCH_MACHINE
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
91 #else
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
92 #define C_DEBUG_SWITCH "-DSYSV"
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
93 #define C_OPTIMIZE_SWITCH "-DSYSV "
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
94 #define LD_SWITCH_MACHINE
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents:
diff changeset
95 #endif