Mercurial > hg > xemacs-beta
annotate src/general-slots.h @ 5602:c9e5612f5424
Support the MP library on recent FreeBSD, have it pass relevant tests.
src/ChangeLog addition:
2011-11-26 Aidan Kehoe <kehoea@parhasard.net>
* number-mp.c (bignum_to_string):
Don't overwrite the accumulator we've just set up for this
function.
* number-mp.c (BIGNUM_TO_TYPE):
mp_itom() doesn't necessarily do what this code used to think with
negative numbers, it can treat them as unsigned ints. Subtract
numbers from bignum_zero instead of multiplying them by -1 to
convert them to their negative equivalents.
* number-mp.c (bignum_to_int):
* number-mp.c (bignum_to_uint):
* number-mp.c (bignum_to_long):
* number-mp.c (bignum_to_ulong):
* number-mp.c (bignum_to_double):
Use the changed BIGNUM_TO_TYPE() in these functions.
* number-mp.c (bignum_ceil):
* number-mp.c (bignum_floor):
In these functions, be more careful about rounding to positive and
negative infinity, respectively. Don't use the sign of QUOTIENT
when working out out whether to add or subtract one, rather use
the sign QUOTIENT would have if arbitrary-precision division were
done.
* number-mp.h:
* number-mp.h (MP_GCD):
Wrap #include <mp.h> in BEGIN_C_DECLS/END_C_DECLS.
* number.c (Fbigfloat_get_precision):
* number.c (Fbigfloat_set_precision):
Don't attempt to call XBIGFLOAT_GET_PREC if this build doesn't
support big floats.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Sat, 26 Nov 2011 17:59:14 +0000 |
parents | 48a3d3281b48 |
children | 1a507c4c6c42 |
rev | line source |
---|---|
442 | 1 /* Commonly-used symbols -- include file |
2 Copyright (C) 1995 Sun Microsystems. | |
5157
1fae11d56ad2
redo memory-usage mechanism, add way of dynamically initializing Lisp objects
Ben Wing <ben@xemacs.org>
parents:
5084
diff
changeset
|
3 Copyright (C) 1995, 1996, 2000, 2001, 2002, 2003, 2010 Ben Wing. |
442 | 4 |
5 This file is part of XEmacs. | |
6 | |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
5222
diff
changeset
|
7 XEmacs is free software: you can redistribute it and/or modify it |
442 | 8 under the terms of the GNU General Public License as published by the |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
5222
diff
changeset
|
9 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:
5222
diff
changeset
|
10 option) any later version. |
442 | 11 |
12 XEmacs is distributed in the hope that it will be useful, but WITHOUT | |
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
15 for more details. | |
16 | |
17 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:
5222
diff
changeset
|
18 along with XEmacs. If not, see <http://www.gnu.org/licenses/>. */ |
442 | 19 |
20 /* Synched up with: Not in FSF. */ | |
21 | |
22 /* The purpose of this file is as a central place to stick symbols | |
23 that don't have any obvious connection to any particular module | |
24 and might be used in many different contexts. | |
25 | |
1632 | 26 Four types of declarations are allowed here: |
442 | 27 |
28 SYMBOL (Qfoo); declares a symbol "foo" | |
1632 | 29 SYMBOL_MODULE_API (Qfoo); declares a symbol "foo" that is visible to modules |
442 | 30 SYMBOL_KEYWORD (Q_foo); declares a keyword symbol ":foo" |
31 SYMBOL_GENERAL (Qfoo, "bar"); declares a symbol named "bar" but stored in | |
32 the variable Qfoo | |
5320
31be2a3d121d
Move Qcount, Q_default, Q_test to general-slots.h; add SYMBOL_KEYWORD_GENERAL()
Aidan Kehoe <kehoea@parhasard.net>
parents:
5222
diff
changeset
|
33 SYMBOL_KEYWORD_GENERAL (Q_foo_, ":bar"); declares a keyword named ":bar" |
31be2a3d121d
Move Qcount, Q_default, Q_test to general-slots.h; add SYMBOL_KEYWORD_GENERAL()
Aidan Kehoe <kehoea@parhasard.net>
parents:
5222
diff
changeset
|
34 but stored in the variable Q_foo_. |
442 | 35 |
36 To sort the crap in this file, use the following: | |
37 | |
38 (sort-regexp-fields nil | |
39 "^.*(Q_?\\(.*\\));$" "\\1" | |
40 (progn | |
41 (search-forward "SYMBOL") | |
42 (match-beginning 0)) | |
43 (point-max)) | |
44 */ | |
45 | |
46 SYMBOL (Qabort); | |
47 SYMBOL_KEYWORD (Q_accelerator); | |
48 SYMBOL_KEYWORD (Q_active); | |
49 SYMBOL (Qafter); | |
50 SYMBOL (Qall); | |
5084
6afe991b8135
Add a PARSE_KEYWORDS macro, use it in #'make-hash-table.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4995
diff
changeset
|
51 SYMBOL_KEYWORD (Q_allow_other_keys); |
442 | 52 SYMBOL (Qand); |
53 SYMBOL (Qappend); | |
771 | 54 SYMBOL (Qascii); |
442 | 55 SYMBOL (Qassoc); |
56 SYMBOL (Qat); | |
57 SYMBOL (Qautodetect); | |
58 SYMBOL (Qbad_variable); | |
59 SYMBOL (Qbefore); | |
1983 | 60 SYMBOL (Qbigfloat); |
442 | 61 SYMBOL (Qbinary); |
62 SYMBOL (Qbitmap); | |
63 SYMBOL (Qboolean); | |
64 SYMBOL_KEYWORD (Q_border); | |
65 SYMBOL (Qbottom); | |
66 SYMBOL (Qbottom_margin); | |
67 SYMBOL (Qbuffer); | |
1318 | 68 SYMBOL (Qbuffers); |
442 | 69 SYMBOL (Qbuilt_in); |
70 SYMBOL (Qbutton); | |
71 SYMBOL_KEYWORD (Q_buttons); | |
72 SYMBOL_KEYWORD (Q_callback); | |
73 SYMBOL_KEYWORD (Q_callback_ex); | |
74 SYMBOL (Qcancel); | |
5182
2e528066e2fc
Move #'sort*, #'fill, #'merge to C from cl-seq.el.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5157
diff
changeset
|
75 SYMBOL (Qcar); |
442 | 76 SYMBOL (Qcategory); |
3439 | 77 SYMBOL (Qccl_program); |
442 | 78 SYMBOL (Qcenter); |
771 | 79 SYMBOL (Qchain); |
1333 | 80 SYMBOL (Qchange); |
442 | 81 SYMBOL (Qchannel); |
82 SYMBOL (Qchar); | |
83 SYMBOL (Qcharacter); | |
84 SYMBOL (Qchars); | |
771 | 85 SYMBOL (Qcode_page); |
86 SYMBOL (Qcoding_system); | |
4995
8431b52e43b1
Move the various map* functions to C; add #'map-into.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4691
diff
changeset
|
87 SYMBOL (Qcoerce); |
442 | 88 SYMBOL (Qcolor); |
89 SYMBOL (Qcolumns); | |
90 SYMBOL (Qcommand); | |
91 SYMBOL_KEYWORD (Q_config); | |
92 SYMBOL (Qconsole); | |
771 | 93 SYMBOL (Qcontrol_1); |
442 | 94 SYMBOL (Qcopies); |
5320
31be2a3d121d
Move Qcount, Q_default, Q_test to general-slots.h; add SYMBOL_KEYWORD_GENERAL()
Aidan Kehoe <kehoea@parhasard.net>
parents:
5222
diff
changeset
|
95 SYMBOL (Qcount); |
1927 | 96 SYMBOL_MODULE_API (Qcritical); |
442 | 97 SYMBOL (Qctext); |
771 | 98 SYMBOL (Qcurrent); |
442 | 99 SYMBOL (Qcursor); |
100 SYMBOL (Qdata); | |
5222
18c0b5909d16
Use keywords in structure syntax; new #define, NEED_TO_HANDLE_21_4_CODE 1
Aidan Kehoe <kehoea@parhasard.net>
parents:
5207
diff
changeset
|
101 SYMBOL_KEYWORD (Q_data); |
903 | 102 SYMBOL (Qdde); |
442 | 103 SYMBOL (Qdead); |
793 | 104 SYMBOL (Qdebug); |
442 | 105 SYMBOL (Qdefault); |
5320
31be2a3d121d
Move Qcount, Q_default, Q_test to general-slots.h; add SYMBOL_KEYWORD_GENERAL()
Aidan Kehoe <kehoea@parhasard.net>
parents:
5222
diff
changeset
|
106 /* We name the C variable corresponding to the keyword Q_default_, not |
31be2a3d121d
Move Qcount, Q_default, Q_test to general-slots.h; add SYMBOL_KEYWORD_GENERAL()
Aidan Kehoe <kehoea@parhasard.net>
parents:
5222
diff
changeset
|
107 Q_default, to allow it to be useful with PARSE_KEYWORDS (). */ |
31be2a3d121d
Move Qcount, Q_default, Q_test to general-slots.h; add SYMBOL_KEYWORD_GENERAL()
Aidan Kehoe <kehoea@parhasard.net>
parents:
5222
diff
changeset
|
108 SYMBOL_KEYWORD_GENERAL (Q_default_, ":default"); |
1927 | 109 SYMBOL_MODULE_API (Qdelete); |
442 | 110 SYMBOL (Qdelq); |
771 | 111 SYMBOL (Qdescription); |
442 | 112 SYMBOL_KEYWORD (Q_descriptor); |
113 SYMBOL (Qdevice); | |
1318 | 114 SYMBOL (Qdevices); |
442 | 115 SYMBOL_KEYWORD (Q_device); |
116 SYMBOL (Qdialog); | |
673 | 117 SYMBOL (Qdirectory); |
442 | 118 SYMBOL (Qdimension); |
119 SYMBOL (Qdisplay); | |
120 SYMBOL (Qdoc_string); | |
771 | 121 SYMBOL (Qdocumentation); |
442 | 122 SYMBOL (Qduplex); |
793 | 123 SYMBOL (Qemergency); |
442 | 124 SYMBOL (Qempty); |
5182
2e528066e2fc
Move #'sort*, #'fill, #'merge to C from cl-seq.el.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5157
diff
changeset
|
125 SYMBOL_KEYWORD (Q_end); |
3439 | 126 SYMBOL (Qencode_as_utf_8); |
442 | 127 SYMBOL (Qeval); |
853 | 128 SYMBOL (Qevent); |
442 | 129 SYMBOL (Qextents); |
563 | 130 SYMBOL (Qexternal); |
442 | 131 SYMBOL (Qface); |
1318 | 132 SYMBOL (Qfaces); |
442 | 133 SYMBOL (Qfallback); |
134 SYMBOL (Qfile); | |
1632 | 135 SYMBOL_MODULE_API (Qfile_name); |
442 | 136 SYMBOL_KEYWORD (Q_filter); |
3659 | 137 SYMBOL (Qfinal); |
1983 | 138 SYMBOL (Qfixnum); |
5193
41ac827cb71b
fix cygwin compile, fix warning and style in elhash.c
Ben Wing <ben@xemacs.org>
parents:
5191
diff
changeset
|
139 SYMBOL_MODULE_API (Qfixnump); |
1983 | 140 SYMBOL (Qfloat); |
442 | 141 SYMBOL (Qfont); |
142 SYMBOL (Qframe); | |
1318 | 143 SYMBOL (Qframes); |
442 | 144 SYMBOL (Qfrom_page); |
4691
3ba90c659d01
Move Qfrom_unicode to general-slots.h, fix the native Win32 build.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4690
diff
changeset
|
145 SYMBOL (Qfrom_unicode); |
442 | 146 SYMBOL (Qfull_assoc); |
147 SYMBOL (Qfuncall); | |
148 SYMBOL (Qfunction); | |
1333 | 149 SYMBOL (Qgarbage_collection); |
442 | 150 SYMBOL (Qgeneric); |
151 SYMBOL (Qgeometry); | |
152 SYMBOL (Qglobal); | |
853 | 153 SYMBOL (Qglyph); |
462 | 154 SYMBOL (Qgtk); |
853 | 155 SYMBOL (Qgui_item); |
442 | 156 SYMBOL (Qgutter); |
157 SYMBOL (Qheight); | |
158 SYMBOL_KEYWORD (Q_height); | |
159 SYMBOL (Qhelp); | |
771 | 160 SYMBOL (Qhigh); |
442 | 161 SYMBOL (Qhighlight); |
162 SYMBOL (Qhorizontal); | |
163 SYMBOL (Qicon); | |
164 SYMBOL (Qid); | |
165 SYMBOL (Qignore); | |
3659 | 166 SYMBOL (Qinitial); |
442 | 167 SYMBOL (Qimage); |
168 SYMBOL_KEYWORD (Q_image); | |
169 SYMBOL_KEYWORD (Q_included); | |
170 SYMBOL (Qinfo); | |
171 SYMBOL (Qinherit); | |
172 SYMBOL_KEYWORD (Q_initial_focus); | |
173 SYMBOL (Qinteger); | |
174 SYMBOL (Qinternal); | |
5565
48a3d3281b48
Pass eighth bit on TTY consoles to coding system if needed.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5445
diff
changeset
|
175 SYMBOL (Qiso2022); |
442 | 176 SYMBOL_KEYWORD (Q_items); |
177 SYMBOL_KEYWORD (Q_justify); | |
863 | 178 SYMBOL_KEYWORD (Q_vertically_justify); |
179 SYMBOL_KEYWORD (Q_horizontally_justify); | |
5182
2e528066e2fc
Move #'sort*, #'fill, #'merge to C from cl-seq.el.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5157
diff
changeset
|
180 SYMBOL_KEYWORD (Q_key); |
442 | 181 SYMBOL (Qkey); |
182 SYMBOL (Qkey_assoc); | |
2842 | 183 SYMBOL (Qkey_mapping); |
442 | 184 SYMBOL_KEYWORD (Q_key_sequence); |
185 SYMBOL (Qkeyboard); | |
186 SYMBOL (Qkeymap); | |
187 SYMBOL_KEYWORD (Q_keys); | |
188 SYMBOL_KEYWORD (Q_label); | |
189 SYMBOL (Qlandscape); | |
190 SYMBOL (Qlast_command); | |
191 SYMBOL (Qleft); | |
192 SYMBOL (Qleft_margin); | |
193 SYMBOL (Qlet); | |
771 | 194 SYMBOL (Qlevel); |
442 | 195 SYMBOL (Qlist); |
771 | 196 SYMBOL (Qlittle_endian); |
197 SYMBOL (Qlocale); | |
198 SYMBOL (Qlow); | |
5182
2e528066e2fc
Move #'sort*, #'fill, #'merge to C from cl-seq.el.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5157
diff
changeset
|
199 SYMBOL_GENERAL (Qlss, "<"); |
442 | 200 SYMBOL (Qmagic); |
201 SYMBOL_KEYWORD (Q_margin_width); | |
202 SYMBOL (Qmarkers); | |
203 SYMBOL (Qmax); | |
204 SYMBOL (Qmemory); | |
205 SYMBOL (Qmenubar); | |
206 SYMBOL (Qmessage); | |
207 SYMBOL_GENERAL (Qminus, "-"); | |
208 SYMBOL (Qmodifiers); | |
209 SYMBOL (Qmotion); | |
210 SYMBOL (Qmsprinter); | |
211 SYMBOL (Qmswindows); | |
212 SYMBOL (Qname); | |
1632 | 213 SYMBOL_MODULE_API (Qnative); |
442 | 214 SYMBOL (Qnatnum); |
215 SYMBOL (Qno); | |
216 SYMBOL (Qnone); | |
217 SYMBOL (Qnot); | |
218 SYMBOL (Qnothing); | |
1632 | 219 SYMBOL_MODULE_API (Qnotice); |
442 | 220 SYMBOL (Qobject); |
221 SYMBOL (Qok); | |
222 SYMBOL (Qold_assoc); | |
223 SYMBOL (Qold_delete); | |
224 SYMBOL (Qold_delq); | |
225 SYMBOL (Qold_rassoc); | |
226 SYMBOL (Qold_rassq); | |
227 SYMBOL (Qonly); | |
228 SYMBOL (Qor); | |
229 SYMBOL (Qorientation); | |
230 SYMBOL_KEYWORD (Q_orientation); | |
231 SYMBOL (Qother); | |
232 SYMBOL (Qpage_setup); | |
510 | 233 SYMBOL (Qpages); |
442 | 234 SYMBOL (Qpeer); |
235 SYMBOL (Qpointer); | |
236 SYMBOL (Qpopup); | |
237 SYMBOL (Qportrait); | |
238 SYMBOL (Qprepend); | |
239 SYMBOL (Qprint); | |
240 SYMBOL (Qprinter); | |
241 SYMBOL_KEYWORD (Q_printer_settings); | |
242 SYMBOL (Qprocess); | |
243 SYMBOL_KEYWORD (Q_properties); | |
244 SYMBOL (Qprovide); | |
4690
257b468bf2ca
Move the #'query-coding-region implementation to C.
Aidan Kehoe <kehoea@parhasard.net>
parents:
3767
diff
changeset
|
245 SYMBOL (Qquery_coding_clear_highlights); |
257b468bf2ca
Move the #'query-coding-region implementation to C.
Aidan Kehoe <kehoea@parhasard.net>
parents:
3767
diff
changeset
|
246 SYMBOL (Qquery_coding_warning_face); |
442 | 247 SYMBOL (Qquestion); |
248 SYMBOL_KEYWORD (Q_question); | |
5207
1096ef427b56
Error on too many arguments to #'function, #'quote.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5193
diff
changeset
|
249 SYMBOL (Qquote); |
442 | 250 SYMBOL (Qradio); |
251 SYMBOL (Qrassoc); | |
252 SYMBOL (Qrassq); | |
1983 | 253 SYMBOL (Qratio); |
1318 | 254 SYMBOL (Qredisplay); |
442 | 255 SYMBOL (Qremove_all); |
256 SYMBOL (Qrequire); | |
257 SYMBOL (Qresource); | |
258 SYMBOL (Qretry); | |
259 SYMBOL (Qreturn); | |
260 SYMBOL (Qreverse); | |
261 SYMBOL (Qright); | |
262 SYMBOL (Qright_margin); | |
1927 | 263 SYMBOL_MODULE_API (Qsearch); |
442 | 264 SYMBOL (Qselected); |
265 SYMBOL_KEYWORD (Q_selected); | |
510 | 266 SYMBOL (Qselection); |
442 | 267 SYMBOL (Qset_glyph_image); |
5565
48a3d3281b48
Pass eighth bit on TTY consoles to coding system if needed.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5445
diff
changeset
|
268 SYMBOL (Qseven); |
442 | 269 SYMBOL (Qsignal); |
1927 | 270 SYMBOL_MODULE_API (Qsimple); |
442 | 271 SYMBOL (Qsize); |
563 | 272 SYMBOL (Qsound); |
442 | 273 SYMBOL (Qspace); |
274 SYMBOL (Qspecifier); | |
275 SYMBOL (Qstandard); | |
5182
2e528066e2fc
Move #'sort*, #'fill, #'merge to C from cl-seq.el.
Aidan Kehoe <kehoea@parhasard.net>
parents:
5157
diff
changeset
|
276 SYMBOL_KEYWORD (Q_start); |
442 | 277 SYMBOL (Qstream); |
278 SYMBOL (Qstring); | |
5320
31be2a3d121d
Move Qcount, Q_default, Q_test to general-slots.h; add SYMBOL_KEYWORD_GENERAL()
Aidan Kehoe <kehoea@parhasard.net>
parents:
5222
diff
changeset
|
279 SYMBOL (Qstring_match); |
442 | 280 SYMBOL_KEYWORD (Q_style); |
281 SYMBOL_KEYWORD (Q_suffix); | |
771 | 282 SYMBOL (Qsubtype); |
4690
257b468bf2ca
Move the #'query-coding-region implementation to C.
Aidan Kehoe <kehoea@parhasard.net>
parents:
3767
diff
changeset
|
283 SYMBOL (Qsucceeded); |
442 | 284 SYMBOL (Qsymbol); |
285 SYMBOL (Qsyntax); | |
771 | 286 SYMBOL (Qsystem_default); |
442 | 287 SYMBOL (Qterminal); |
288 SYMBOL (Qtest); | |
5320
31be2a3d121d
Move Qcount, Q_default, Q_test to general-slots.h; add SYMBOL_KEYWORD_GENERAL()
Aidan Kehoe <kehoea@parhasard.net>
parents:
5222
diff
changeset
|
289 SYMBOL_KEYWORD (Q_test); |
442 | 290 SYMBOL (Qtext); |
291 SYMBOL_KEYWORD (Q_text); | |
292 SYMBOL (Qthis_command); | |
293 SYMBOL (Qtimeout); | |
294 SYMBOL (Qtimestamp); | |
295 SYMBOL_KEYWORD (Q_title); | |
296 SYMBOL (Qto_page); | |
297 SYMBOL (Qtoggle); | |
298 SYMBOL (Qtoolbar); | |
299 SYMBOL (Qtop); | |
300 SYMBOL (Qtop_margin); | |
301 SYMBOL (Qtty); | |
302 SYMBOL (Qtype); | |
5222
18c0b5909d16
Use keywords in structure syntax; new #define, NEED_TO_HANDLE_21_4_CODE 1
Aidan Kehoe <kehoea@parhasard.net>
parents:
5207
diff
changeset
|
303 SYMBOL_KEYWORD (Q_type); |
442 | 304 SYMBOL (Qundecided); |
305 SYMBOL (Qundefined); | |
4690
257b468bf2ca
Move the #'query-coding-region implementation to C.
Aidan Kehoe <kehoea@parhasard.net>
parents:
3767
diff
changeset
|
306 SYMBOL (Qunencodable); |
257b468bf2ca
Move the #'query-coding-region implementation to C.
Aidan Kehoe <kehoea@parhasard.net>
parents:
3767
diff
changeset
|
307 SYMBOL (Qinvalid_sequence); |
442 | 308 SYMBOL (Qunimplemented); |
3659 | 309 SYMBOL (Qunicode_registries); |
3767 | 310 SYMBOL (Qunicode_type); |
771 | 311 SYMBOL (Quser_default); |
442 | 312 SYMBOL_KEYWORD (Q_value); |
313 SYMBOL (Qvalue_assoc); | |
314 SYMBOL (Qvertical); | |
315 SYMBOL (Qwarning); | |
316 SYMBOL (Qwidget); | |
317 SYMBOL (Qwidth); | |
318 SYMBOL_KEYWORD (Q_width); | |
319 SYMBOL (Qwindow); | |
1318 | 320 SYMBOL (Qwindows); |
321 SYMBOL (Qwindow_id); | |
442 | 322 SYMBOL (Qwindow_system); |
323 SYMBOL (Qx); | |
324 SYMBOL (Qy); | |
325 SYMBOL (Qyes); |