annotate nt/Emacs.ad.h @ 5294:bbff29a01820

Add compiler macros and compilation sanity-checks for functions with keywords. 2010-10-25 Aidan Kehoe <kehoea@parhasard.net> Add compiler macros and compilation sanity-checking for various functions that take keywords. * byte-optimize.el (side-effect-free-fns): #'symbol-value is side-effect free and not error free. * bytecomp.el (byte-compile-normal-call): Check keyword argument lists for sanity; store information about the positions where keyword arguments start using the new byte-compile-keyword-start property. * cl-macs.el (cl-const-expr-val): Take a new optional argument, cl-not-constant, defaulting to nil, in this function; return it if the expression is not constant. (cl-non-fixnum-number-p): Make this into a separate function, we want to pass it to #'every. (eql): Use it. (define-star-compiler-macros): Use the same code to generate the member*, assoc* and rassoc* compiler macros; special-case some code in #'add-to-list in subr.el. (remove, remq): Add compiler macros for these two functions, in preparation for #'remove being in C. (define-foo-if-compiler-macros): Transform (remove-if-not ...) calls to (remove ... :if-not) at compile time, which will be a real win once the latter is in C. (define-substitute-if-compiler-macros) (define-subst-if-compiler-macros): Similarly for these functions. (delete-duplicates): Change this compiler macro to use #'plists-equal; if we don't have information about the type of SEQUENCE at compile time, don't bother attempting to inline the call, the function will be in C soon enough. (equalp): Remove an old commented-out compiler macro for this, if we want to see it it's in version control. (subst-char-in-string): Transform this to a call to nsubstitute or nsubstitute, if that is appropriate. * cl.el (ldiff): Don't call setf here, this makes for a load-time dependency problem in cl-macs.el
author Aidan Kehoe <kehoea@parhasard.net>
date Mon, 25 Oct 2010 13:04:04 +0100
parents 4be1180a9e89
children e01bac102bc0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
100
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
1 (String) "Emacs.modeline*attributeForeground: Black",
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
2 (String) "Emacs.modeline*attributeBackground: Gray75",
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
3 (String) "Emacs.text-cursor*attributeBackground: Red3",
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
4 (String) "*menubar*Foreground: Gray30",
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
5 (String) "*menubar*Background: Gray75",
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
6 (String) "*menubar*buttonForeground: Blue",
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
7 (String) "*XlwMenu*selectColor: ForestGreen",
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
8 (String) "*XmToggleButton*selectColor: ForestGreen",
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
9 (String) "*popup*Foreground: Black",
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
10 (String) "*popup*Background: Gray75",
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
11 (String) "*dialog*Foreground: Black",
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
12 (String) "*dialog*Background: #A5C0C1",
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
13 (String) "*dialog*XmTextField*Background: WhiteSmoke",
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
14 (String) "*dialog*XmText*Background: WhiteSmoke",
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
15 (String) "*dialog*XmList*Background: WhiteSmoke",
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
16 (String) "*dialog*Command*Background: WhiteSmoke",
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
17 (String) "*XlwScrollBar*Foreground: Gray30",
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
18 (String) "*XlwScrollBar*Background: Gray75",
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
19 (String) "*XmScrollBar*Foreground: Gray30",
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
20 (String) "*XmScrollBar*Background: Gray75",
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
21 (String) "*topToolBarShadowColor: Gray90",
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
22 (String) "*bottomToolBarShadowColor: Gray40",
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
23 (String) "*backgroundToolBarColor: Gray75",
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
24 (String) "*toolBarShadowThickness: 2",
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
25 (String) "*menubar*Font: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*",
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
26 (String) "*popup*Font: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*",
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
27 (String) "*XmDialogShell*FontList: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*",
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
28 (String) "*XmTextField*FontList: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-*",
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
29 (String) "*XmText*FontList: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-*",
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
30 (String) "*XmList*FontList: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-*",
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
31 (String) "*Dialog*Font: -*-helvetica-bold-r-*-*-*-140-*-*-*-*-iso8859-*",
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
32 (String) "*dialog*button1.accelerators:#override\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
33 <KeyPress>Return: ArmAndActivate()\\n\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
34 <KeyPress>KP_Enter: ArmAndActivate()\\n\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
35 Ctrl<KeyPress>m: ArmAndActivate()\\n",
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
36 (String) "*XmTextField*translations: #override\\n\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
37 !<Key>osfBackSpace: delete-previous-character()\\n\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
38 !<Key>osfDelete: delete-previous-character()\\n\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
39 !Ctrl<Key>h: delete-previous-character()\\n\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
40 !Ctrl<Key>d: delete-next-character()\\n\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
41 !Meta<Key>osfDelete: delete-previous-word()\\n\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
42 !Meta<Key>osfBackSpace: delete-previous-word()\\n\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
43 !Meta<Key>d: delete-next-word()\\n\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
44 !Ctrl<Key>k: delete-to-end-of-line()\\n\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
45 !Ctrl<Key>g: process-cancel()\\n\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
46 !Ctrl<Key>b: backward-character()\\n\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
47 !<Key>osfLeft: backward-character()\\n\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
48 !Ctrl<Key>f: forward-character()\\n\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
49 !<Key>osfRight: forward-character()\\n\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
50 !Meta<Key>b: backward-word()\\n\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
51 !Meta<Key>osfLeft: backward-word()\\n\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
52 !Meta<Key>f: forward-word()\\n\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
53 !Meta<Key>osfRight: forward-word()\\n\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
54 !Ctrl<Key>e: end-of-line()\\n\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
55 !Ctrl<Key>a: beginning-of-line()\\n\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
56 !Ctrl<Key>w: cut-clipboard()\\n\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
57 !Meta<Key>w: copy-clipboard()\\n\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
58 <Btn2Up>: copy-primary()\\n",
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
59 (String) "*dialog*XmPushButton*translations:#override\\n\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
60 <Btn1Down>: Arm()\\n\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
61 <Btn1Down>,<Btn1Up>: Activate()\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
62 Disarm()\\n\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
63 <Btn1Down>(2+): MultiArm()\\n\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
64 <Btn1Up>(2+): MultiActivate()\\n\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
65 <Btn1Up>: Activate()\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
66 Disarm()\\n\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
67 <Key>osfSelect: ArmAndActivate()\\n\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
68 <Key>osfActivate: ArmAndActivate()\\n\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
69 <Key>osfHelp: Help()\\n\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
70 ~Shift ~Meta ~Alt <Key>Return: ArmAndActivate()\\n\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
71 <EnterWindow>: Enter()\\n\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
72 <LeaveWindow>: Leave()\\n",
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
73 (String) "*ximStyles: XIMPreeditPosition|XIMStatusArea\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
74 XIMPreeditPosition|XIMStatusNothing\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
75 XIMPreeditPosition|XIMStatusNone\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
76 XIMPreeditNothing|XIMStatusArea\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
77 XIMPreeditNothing|XIMStatusNothing\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
78 XIMPreeditNothing|XIMStatusNone\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
79 XIMPreeditNone|XIMStatusArea\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
80 XIMPreeditNone|XIMStatusNothing\
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
81 XIMPreeditNone|XIMStatusNone",
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
82 (String) "*EmacsFrame.ximForeground: black",
4be1180a9e89 Import from CVS: tag r20-1b2
cvs
parents:
diff changeset
83 (String) "*EmacsFrame.ximBackground: white",