annotate lwlib/xlwradio.h @ 5574:d4f334808463

Support inlining labels, bytecomp.el. lisp/ChangeLog addition: 2011-10-02 Aidan Kehoe <kehoea@parhasard.net> * bytecomp.el (byte-compile-initial-macro-environment): Add #'declare to this, so it doesn't need to rely on #'cl-compiling file to determine when we're byte-compiling. Update #'labels to support declaring labels inline, as Common Lisp requires. * bytecomp.el (byte-compile-function-form): Don't error if FUNCTION is quoting a non-lambda, non-symbol, just return it. * cl-extra.el (cl-macroexpand-all): If a label name has been quoted, expand to the label placeholder quoted with 'function. This allows the byte compiler to distinguish between uses of the placeholder as data and uses in contexts where it should be inlined. * cl-macs.el: * cl-macs.el (cl-do-proclaim): When proclaming something as inline, if it is bound as a label, don't modify the symbol's plist; instead, treat the first element of its placeholder constant vector as a place to store compile information. * cl-macs.el (declare): Leave processing declarations while compiling to the implementation of #'declare in byte-compile-initial-macro-environment. tests/ChangeLog addition: 2011-10-02 Aidan Kehoe <kehoea@parhasard.net> * automated/lisp-tests.el: * automated/lisp-tests.el (+): Test #'labels and inlining.
author Aidan Kehoe <kehoea@parhasard.net>
date Sun, 02 Oct 2011 15:32:16 +0100
parents 308d34e9f07d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
1 /* Radio Widget for XEmacs.
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
2 Copyright (C) 1999 Edward A. Falk
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
3
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
4 This file is part of XEmacs.
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
5
5402
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 442
diff changeset
6 XEmacs is free software: you can redistribute it and/or modify it
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
7 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: 442
diff changeset
8 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: 442
diff changeset
9 option) any later version.
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
10
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
11 XEmacs is distributed in the hope that it will be useful, but WITHOUT
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
12 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
14 for more details.
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
15
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
16 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: 442
diff changeset
17 along with XEmacs. If not, see <http://www.gnu.org/licenses/>. */
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
18
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
19 /* Synched up with: Radio.h 1.1 */
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
20
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
21 /*
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
22 * Radio.h - Radio button widget
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
23 *
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
24 * Author: Edward A. Falk
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
25 * falk@falconer.vip.best.com
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
26 *
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
27 * Date: June 30, 1997
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
28 */
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
29
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
30 #ifndef _XawRadio_h
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
31 #define _XawRadio_h
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
32
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
33 /***********************************************************************
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
34 *
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
35 * Radio Widget
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
36 *
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
37 * The Radio widget is identical to the Toggle widget in behavior but
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
38 * not in appearance. The Radio widget looks like a small diamond
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
39 * shaped button to the left of the label.
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
40 *
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
41 ***********************************************************************/
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
42
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 434
diff changeset
43 #include ATHENA_Toggle_h_
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
44
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
45 /* Resources:
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
46
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
47 Name Class RepType Default Value
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
48 ---- ----- ------- -------------
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
49 radioGroup RadioGroup Widget NULL
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
50 radioData RadioData Pointer (XPointer) Widget
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
51 state State Boolean Off
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
52 background Background Pixel XtDefaultBackground
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
53 bitmap Pixmap Pixmap None
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
54 border BorderColor Pixel XtDefaultForeground
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
55 borderWidth BorderWidth Dimension 1
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
56 callback Callback Pointer NULL
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
57 cursor Cursor Cursor None
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
58 destroyCallback Callback Pointer NULL
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
59 font Font XFontStructx* XtDefaultFont
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
60 foreground Foreground Pixel XtDefaultForeground
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
61 height Height Dimension text height
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
62 highlightThickness Thickness Dimension 2
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
63 insensitiveBorder sensitive Pixmap Gray
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
64 internalHeight Height Dimension 2
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
65 internalWidth Width Dimension 4
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
66 justify Justify XtJustify XtJustifyCenter
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
67 label Label String NULL
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
68 mappedWhenManaged MappedWhenManaged Boolean True
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
69 resize Resize Boolean True
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
70 sensitive Sensitive Boolean True
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
71 width Width Dimension text width
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
72 x Position Position 0
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
73 y Position Position 0
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
74
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
75 */
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
76
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
77 /*
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
78 * These should be in StringDefs.h but aren't so we will define
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
79 * them here if they are needed.
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
80 */
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
81
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
82
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
83 extern WidgetClass radioWidgetClass;
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
84
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
85 typedef struct _RadioClassRec *RadioWidgetClass;
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
86 typedef struct _RadioRec *RadioWidget;
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
87
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
88
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
89 /************************************************************
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
90 *
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
91 * Public Functions
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
92 *
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
93 ************************************************************/
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
94
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
95 #endif /* _XawRadio_h */