Mercurial > hg > xemacs-beta
view src/fontcolor-msw-impl.h @ 5864:750fab17b299
Make #'parse-integer Lisp-visible, extend it, allowing non-ASCII digits.
src/ChangeLog addition:
2015-02-25 Aidan Kehoe <kehoea@parhasard.net>
* lread.c (read_atom): Use the new calling convention for
parse_integer().
* lisp.h: Change the declaration of parse_integer ().
* number.h (bignum_set_emacs_int, make_bignum_emacs_uint):
New #defines, used in data.c.
* lread.c (read_integer): Ditto.
* lread.c (read1): Ditto.
* data.c (find_highest_value): New.
* data.c (fill_ichar_array): New.
* data.c (build_fixnum_to_char_map): New.
* data.c (Fset_digit_fixnum_map): New.
* data.c (Fdigit_char_p): Moved from cl-extra.el.
* data.c (Fdigit_char): Moved from cl-extra.el.
* data.c (parse_integer): Moved from lread.c.
* data.c (Fparse_integer): Made available to Lisp.
* data.c (syms_of_data): Make the new subrs available.
* data.c (vars_of_data): Make the new vars available.
Expose parse_integer to Lisp, make it follow the Common Lisp API
(with some extensions, to allow us to support non ASCII digit
characters).
lisp/ChangeLog addition:
2015-02-25 Aidan Kehoe <kehoea@parhasard.net>
* cl-extra.el (digit-char-p): Moved to data.c.
* cl-extra.el (digit-char): Moved to data.c.
tests/ChangeLog addition:
2015-02-25 Aidan Kehoe <kehoea@parhasard.net>
* automated/lisp-tests.el:
parse_integer(), used in #'read, now signals invalid-argument
rather than invalid-read-syntax, check for that.
* automated/lisp-tests.el:
Check #'parse-integer now it's available to Lisp, check
#'digit-char, #'digit-char-p and the congruence in behaviour,
check the XEmacs-specific RADIX-TABLE argument behaviour.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Wed, 25 Feb 2015 11:47:12 +0000 |
parents | 308d34e9f07d |
children |
line wrap: on
line source
/* mswindows-specific Lisp objects -- header implementation. Copyright (C) 1993, 1994 Free Software Foundation, Inc. Copyright (C) 1995 Board of Trustees, University of Illinois. Copyright (C) 1995, 1996, 2002 Ben Wing. Copyright (C) 1997, Jonathan Harris. This file is part of XEmacs. XEmacs is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with XEmacs. If not, see <http://www.gnu.org/licenses/>. */ /* Synched up with: Not in FSF. */ /* Authorship: Ultimately based on FSF. Rewritten by Ben Wing. Rewritten for mswindows by Jonathan Harris, November 1997 for 21.0. */ #ifndef INCLUDED_fontcolor_msw_impl_h_ #define INCLUDED_fontcolor_msw_impl_h_ #include "fontcolor-impl.h" #include "fontcolor-msw.h" struct mswindows_color_instance_data { COLORREF color; }; #define MSWINDOWS_COLOR_INSTANCE_DATA(c) \ ((struct mswindows_color_instance_data *) (c)->data) #define COLOR_INSTANCE_MSWINDOWS_COLOR(c) \ (MSWINDOWS_COLOR_INSTANCE_DATA (c)->color) /* The four HFONTS are for the 4 (underlined, strikethrough) combinations. Only the one at index 0, neither underlined nor struk through is created with the font instance. Other fonts are created as necessary during redisplay, using the one at index 0 as prototype */ #define MSWINDOWS_NUM_FONT_VARIANTS 4 struct mswindows_font_instance_data { HFONT hfont [MSWINDOWS_NUM_FONT_VARIANTS]; }; #define MSWINDOWS_FONT_INSTANCE_DATA(c) \ ((struct mswindows_font_instance_data *) (c)->data) #define FONT_INSTANCE_MSWINDOWS_HFONT_I(c,i) \ (MSWINDOWS_FONT_INSTANCE_DATA(c)->hfont[(i)]) #define FONT_INSTANCE_MSWINDOWS_HFONT_VARIANT(c,under,strike) \ FONT_INSTANCE_MSWINDOWS_HFONT_I (c, (!!(strike)<<1)|!!(under)) /* If font creation during redisplay fails, then the following value is used to prevent future attempts to create this font. Redisplay uses the "main" font when encounters this value */ #define MSWINDOWS_BAD_HFONT ((HFONT)INVALID_HANDLE_VALUE) #endif /* INCLUDED_fontcolor_msw_impl_h_ */