view nt/Emacs.ad.h @ 5908:6174848f3e6c

Use parse_integer() in read_atom(); support bases with ratios like integers src/ChangeLog addition: 2015-05-08 Aidan Kehoe <kehoea@parhasard.net> * data.c (init_errors_once_early): Move the Qunsupported_type here from numbers.c, so it's available when the majority of our types are not supported. * general-slots.h: Add it here, too. * number.c: Remove the definition of Qunsupported_type from here. * lread.c (read_atom): Check if the first character could reflect a rational, if so, call parse_integer(), don't check the syntax of the other characters. This allows us to accept the non-ASCII digit characters too. If that worked partially, but not completely, and the next char is a slash, try to parse as a ratio. If that fails, try isfloat_string(), but only if the first character could plausibly be part of a float. Otherwise, treat as a symbol. * lread.c (read_rational): Rename from read_integer. Handle ratios with the same radix specification as was used for integers. * lread.c (read1): Rename read_integer in this function. Support the Common Lisp #NNNrMMM syntax for parsing a number MMM of arbitrary radix NNN. man/ChangeLog addition: 2015-05-08 Aidan Kehoe <kehoea@parhasard.net> * lispref/numbers.texi (Numbers): Describe the newly-supported arbitrary-base syntax for rationals (integers and ratios). Describe that ratios can take the same base specification as integers, something also new. tests/ChangeLog addition: 2015-05-08 Aidan Kehoe <kehoea@parhasard.net> * automated/lisp-reader-tests.el: Check the arbitrary-base integer reader syntax support, just added. Check the reader base support for ratios, just added. Check the non-ASCII-digit support in the reader, just added.
author Aidan Kehoe <kehoea@parhasard.net>
date Sat, 09 May 2015 00:40:57 +0100
parents e01bac102bc0
children
line wrap: on
line source

/* Copyright (C) 1997 David Hobley

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/>. */


(String) "Emacs.modeline*attributeForeground:	Black",
(String) "Emacs.modeline*attributeBackground:	Gray75",
(String) "Emacs.text-cursor*attributeBackground:	Red3",
(String) "*menubar*Foreground:			Gray30",
(String) "*menubar*Background:			Gray75",
(String) "*menubar*buttonForeground:		Blue",
(String) "*XlwMenu*selectColor:			ForestGreen",
(String) "*XmToggleButton*selectColor:		ForestGreen",
(String) "*popup*Foreground:			Black",
(String) "*popup*Background:			Gray75",
(String) "*dialog*Foreground:			Black",
(String) "*dialog*Background:			#A5C0C1",
(String) "*dialog*XmTextField*Background:		WhiteSmoke",
(String) "*dialog*XmText*Background:		WhiteSmoke",
(String) "*dialog*XmList*Background:		WhiteSmoke",
(String) "*dialog*Command*Background:		WhiteSmoke",
(String) "*XlwScrollBar*Foreground:		Gray30",
(String) "*XlwScrollBar*Background:		Gray75",
(String) "*XmScrollBar*Foreground:		Gray30",
(String) "*XmScrollBar*Background:		Gray75",
(String) "*topToolBarShadowColor:			Gray90",
(String) "*bottomToolBarShadowColor:		Gray40",
(String) "*backgroundToolBarColor:		Gray75",
(String) "*toolBarShadowThickness:		2",
(String) "*menubar*Font: 			-*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*",
(String) "*popup*Font:			-*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*",
(String) "*XmDialogShell*FontList:	-*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*",
(String) "*XmTextField*FontList:		-*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-*",
(String) "*XmText*FontList:		-*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-*",
(String) "*XmList*FontList:		-*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-*",
(String) "*Dialog*Font:			-*-helvetica-bold-r-*-*-*-140-*-*-*-*-iso8859-*",
(String) "*dialog*button1.accelerators:#override\
<KeyPress>Return: ArmAndActivate()\\n\
<KeyPress>KP_Enter: ArmAndActivate()\\n\
Ctrl<KeyPress>m: ArmAndActivate()\\n",
(String) "*XmTextField*translations: #override\\n\
	!<Key>osfBackSpace:	delete-previous-character()\\n\
	!<Key>osfDelete:	delete-previous-character()\\n\
	!Ctrl<Key>h: 		delete-previous-character()\\n\
	!Ctrl<Key>d: 		delete-next-character()\\n\
	!Meta<Key>osfDelete:	delete-previous-word()\\n\
	!Meta<Key>osfBackSpace:	delete-previous-word()\\n\
	!Meta<Key>d:		delete-next-word()\\n\
	!Ctrl<Key>k:		delete-to-end-of-line()\\n\
	!Ctrl<Key>g:		process-cancel()\\n\
	!Ctrl<Key>b:		backward-character()\\n\
	!<Key>osfLeft:		backward-character()\\n\
	!Ctrl<Key>f:		forward-character()\\n\
	!<Key>osfRight:		forward-character()\\n\
	!Meta<Key>b:		backward-word()\\n\
	!Meta<Key>osfLeft:	backward-word()\\n\
	!Meta<Key>f:		forward-word()\\n\
	!Meta<Key>osfRight:	forward-word()\\n\
	!Ctrl<Key>e:		end-of-line()\\n\
	!Ctrl<Key>a:		beginning-of-line()\\n\
	!Ctrl<Key>w:		cut-clipboard()\\n\
	!Meta<Key>w:		copy-clipboard()\\n\
	<Btn2Up>:		copy-primary()\\n",
(String) "*dialog*XmPushButton*translations:#override\\n\
    <Btn1Down>:         Arm()\\n\
    <Btn1Down>,<Btn1Up>: Activate()\
			Disarm()\\n\
    <Btn1Down>(2+):     MultiArm()\\n\
    <Btn1Up>(2+):       MultiActivate()\\n\
    <Btn1Up>:           Activate()\
		        Disarm()\\n\
    <Key>osfSelect:  	ArmAndActivate()\\n\
    <Key>osfActivate:   ArmAndActivate()\\n\
    <Key>osfHelp:	Help()\\n\
    ~Shift ~Meta ~Alt <Key>Return:	ArmAndActivate()\\n\
    <EnterWindow>:      Enter()\\n\
    <LeaveWindow>:      Leave()\\n",
(String) "*ximStyles: XIMPreeditPosition|XIMStatusArea\
            XIMPreeditPosition|XIMStatusNothing\
            XIMPreeditPosition|XIMStatusNone\
            XIMPreeditNothing|XIMStatusArea\
            XIMPreeditNothing|XIMStatusNothing\
            XIMPreeditNothing|XIMStatusNone\
            XIMPreeditNone|XIMStatusArea\
            XIMPreeditNone|XIMStatusNothing\
            XIMPreeditNone|XIMStatusNone",
(String) "*EmacsFrame.ximForeground: black",
(String) "*EmacsFrame.ximBackground: white",