Mercurial > hg > xemacs-beta
annotate lwlib/xlwscrollbar.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 | ade4c7e2c6cb |
children |
rev | line source |
---|---|
428 | 1 /* Implements a lightweight scrollbar widget. |
2 Copyright (C) 1992, 1993, 1994 Lucid, Inc. | |
3 | |
4 This file is part of the Lucid Widget Library. | |
5 | |
5422
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
440
diff
changeset
|
6 The Lucid Widget Library is free software: you can redistribute it |
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
440
diff
changeset
|
7 and/or modify it under the terms of the GNU General Public License as |
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
440
diff
changeset
|
8 published by the Free Software Foundation, either version 3 of the |
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
440
diff
changeset
|
9 License, or (at your option) any later version. |
428 | 10 |
5422
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
440
diff
changeset
|
11 The Lucid Widget Library is distributed in the hope that it will be |
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
440
diff
changeset
|
12 useful, but WITHOUT ANY WARRANTY; without even the implied warranty of |
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
440
diff
changeset
|
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
440
diff
changeset
|
14 General Public License for more details. |
428 | 15 |
16 You should have received a copy of the GNU General Public License | |
5422
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
440
diff
changeset
|
17 along with the Lucid Widget Library. If not, see |
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
440
diff
changeset
|
18 <http://www.gnu.org/licenses/>. */ |
428 | 19 |
20 /* Created by Douglas Keller <dkeller@vnet.ibm.com> */ | |
21 | |
440 | 22 #ifndef INCLUDED_xlwscrollbar_h_ |
23 #define INCLUDED_xlwscrollbar_h_ | |
428 | 24 |
25 #include <X11/Core.h> | |
26 | |
27 /* Motif-compatible resource names */ | |
28 #ifndef _XmStrDefs_h_ | |
29 | |
30 #define XmNbackground "background" | |
31 #define XmNbottomShadowColor "bottomShadowColor" | |
32 #define XmNbottomShadowPixmap "bottomShadowPixmap" | |
33 #define XmNforeground "foreground" | |
34 #define XmNincrement "increment" | |
35 #define XmNinitialDelay "initialDelay" | |
36 #define XmNmaximum "maximum" | |
37 #define XmNminimum "minimum" | |
38 #define XmNpageIncrement "pageIncrement" | |
39 #define XmNrepeatDelay "repeatDelay" | |
40 #define XmNshadowThickness "shadowThickness" | |
41 #define XmNborderWidth "borderWidth" | |
42 #define XmNshowArrows "showArrows" | |
43 #define XmNsliderSize "sliderSize" | |
44 #define XmNtopShadowColor "topShadowColor" | |
45 #define XmNtopShadowPixmap "topShadowPixmap" | |
46 #define XmNtroughColor "troughColor" | |
47 #define XmNvalue "value" | |
48 #define XmNvalueChangedCallback "valueChangedCallback" | |
49 #define XmNincrementCallback "incrementCallback" | |
50 #define XmNdecrementCallback "decrementCallback" | |
51 #define XmNpageIncrementCallback "pageIncrementCallback" | |
52 #define XmNpageDecrementCallback "pageDecrementCallback" | |
53 #define XmNtoTopCallback "toTopCallback" | |
54 #define XmNtoBottomCallback "toBottomCallback" | |
55 #define XmNdragCallback "dragCallback" | |
56 #define XmNorientation "orientation" | |
57 | |
58 #define XmCBackground "Background" | |
59 #define XmCBottomShadowColor "BottomShadowColor" | |
60 #define XmCBottomShadowPixmap "BottomShadowPixmap" | |
61 #define XmCTopShadowPixmap "TopShadowPixmap" | |
62 #define XmCForeground "Foreground" | |
63 #define XmCIncrement "Increment" | |
64 #define XmCInitialDelay "InitialDelay" | |
65 #define XmCMaximum "Maximum" | |
66 #define XmCMinimum "Minimum" | |
67 #define XmCPageIncrement "PageIncrement" | |
68 #define XmCRepeatDelay "RepeatDelay" | |
69 #define XmCShadowThickness "ShadowThickness" | |
70 #define XmCBorderWidth "BorderWidth" | |
71 #define XmCShowArrows "ShowArrows" | |
72 #define XmCSliderSize "SliderSize" | |
73 #define XmCTopShadowColor "TopShadowColor" | |
74 #define XmCTroughColor "TroughColor" | |
75 #define XmCValue "Value" | |
76 #define XmCValueChangedCallback "ValueChangedCallback" | |
77 #define XmCIncrementCallback "IncrementCallback" | |
78 #define XmCDecrementCallback "DecrementCallback" | |
79 #define XmCPageIncrementCallback "PageIncrementCallback" | |
80 #define XmCPageDecrementCallback "PageDecrementCallback" | |
81 #define XmCToTopCallback "ToTopCallback" | |
82 #define XmCToBottomCallback "ToBottomCallback" | |
83 #define XmCDragCallback "DragCallback" | |
84 #define XmCOrientation "Orientation" | |
85 | |
86 #endif /* _XmStrDefs_h_ */ | |
87 | |
88 /* New resources that Motif does not have. | |
89 Maybe we should use a different prefix. */ | |
90 | |
91 /* "knob" is obsolete; use "slider" instead. */ | |
92 #define XmNknobStyle "knobStyle" | |
93 #define XmCKnobStyle "KnobStyle" | |
94 | |
95 #define XmNsliderStyle "sliderStyle" | |
96 #define XmCSliderStyle "SliderStyle" | |
97 | |
98 #define XmNarrowPosition "arrowPosition" | |
99 #define XmCArrowPosition "ArrowPosition" | |
100 | |
101 #ifndef _Xm_h | |
102 | |
103 enum { | |
104 XmCR_NONE, | |
105 XmCR_VALUE_CHANGED = 2, | |
106 XmCR_INCREMENT, | |
107 XmCR_DECREMENT, | |
108 XmCR_PAGE_INCREMENT, | |
109 XmCR_PAGE_DECREMENT, | |
110 XmCR_TO_TOP, | |
111 XmCR_TO_BOTTOM, | |
112 XmCR_DRAG | |
113 }; | |
114 | |
115 enum { | |
116 XmNO_ORIENTATION, | |
117 XmVERTICAL, | |
118 XmHORIZONTAL | |
119 }; | |
120 | |
121 #endif /* ! _Xm_h */ | |
122 | |
123 extern WidgetClass xlwScrollBarWidgetClass; | |
124 | |
125 typedef struct _XlwScrollBarClassRec *XlwScrollBarWidgetClass; | |
126 typedef struct _XlwScrollBarRec *XlwScrollBarWidget; | |
127 | |
128 typedef struct | |
129 { | |
130 int reason; | |
131 XEvent * event; | |
132 int value; | |
133 int pixel; | |
134 } XlwScrollBarCallbackStruct; | |
135 | |
136 void XlwScrollBarGetValues(Widget widget, int *value, int *sliderSize, | |
137 int *increment, int *pageIncrement); | |
138 | |
139 void XlwScrollBarSetValues(Widget widget, int value, int sliderSize, | |
140 int increment, int pageIncrement, Boolean notify); | |
141 | |
440 | 142 #endif /* INCLUDED_xlwscrollbar_h_ */ |