Mercurial > hg > xemacs-beta
annotate lisp/scrollbar.el @ 5553:62edcc6a11ec
Add an assertion about argument order to #'apply-partially compiler macro
lisp/ChangeLog addition:
2011-08-24 Aidan Kehoe <kehoea@parhasard.net>
* cl-macs.el (apply-partially):
Add an assertion to this compiler macro, requiring that the order
of the placeholders corresponding to the arguments in the
constants vector of the constructed compiled function be the same
as the order of the arguments to #'apply-partially.
tests/ChangeLog addition:
2011-08-24 Aidan Kehoe <kehoea@parhasard.net>
* automated/lisp-tests.el:
Add a test of apply partially that depends on the relative order
of its arguments.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Wed, 24 Aug 2011 11:06:41 +0100 |
parents | 308d34e9f07d |
children |
rev | line source |
---|---|
428 | 1 ;;; scrollbar.el --- Scrollbar support for XEmacs |
2 | |
3 ;; Copyright (C) 1995, 1997 Free Software Foundation, Inc. | |
4 | |
5 ;; Maintainer: XEmacs Development Team | |
6 ;; Keywords: internal, extensions, dumped | |
7 | |
8 ;; This file is part of XEmacs. | |
9 | |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
502
diff
changeset
|
10 ;; XEmacs is free software: you can redistribute it and/or modify it |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
502
diff
changeset
|
11 ;; under the terms of the GNU General Public License as published by the |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
502
diff
changeset
|
12 ;; 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:
502
diff
changeset
|
13 ;; option) any later version. |
428 | 14 |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
502
diff
changeset
|
15 ;; XEmacs is distributed in the hope that it will be useful, but WITHOUT |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
502
diff
changeset
|
16 ;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
502
diff
changeset
|
17 ;; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
502
diff
changeset
|
18 ;; for more details. |
428 | 19 |
20 ;; 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:
502
diff
changeset
|
21 ;; along with XEmacs. If not, see <http://www.gnu.org/licenses/>. |
428 | 22 |
23 ;;; Synched up with: Not in FSF. (Completely divergent from FSF scroll-bar.el) | |
24 | |
25 ;;; Commentary: | |
26 | |
27 ;; This file is dumped with XEmacs (when scrollbar support is compiled in). | |
28 | |
29 ;;; Code: | |
30 | |
31 ;; added for the options menu - dverna | |
32 (defcustom scrollbars-visible-p t | |
33 "Whether the scrollbars are globally visible. | |
34 This variable can be customized through the options menu." | |
35 :type 'boolean | |
36 :set (lambda (var val) | |
37 (set-specifier vertical-scrollbar-visible-p val) | |
38 (set-specifier horizontal-scrollbar-visible-p val) | |
39 (setq-default scrollbars-visible-p val)) | |
40 :group 'display) | |
41 | |
42 (defun init-scrollbar-from-resources (locale) | |
43 (when (and (featurep 'x) | |
44 (or (eq locale 'global) | |
45 (eq 'x (device-or-frame-type locale)))) | |
502 | 46 (declare-fboundp (x-init-scrollbar-from-resources locale))) |
428 | 47 (when (and (featurep 'mswindows) |
48 (or (eq locale 'global) | |
49 (eq 'mswindows (device-or-frame-type locale)))) | |
502 | 50 (declare-fboundp (mswindows-init-scrollbar-metrics locale)))) |
428 | 51 |
52 ;; | |
53 ;; vertical scrollbar functions | |
54 ;; | |
55 | |
440 | 56 ;;; #### Move functions from C into Lisp here! |
428 | 57 |
58 ;; | |
59 ;; horizontal scrollbar functions | |
60 ;; | |
61 | |
62 (defun scrollbar-char-left (window) | |
63 "Function called when the char-left arrow on the scrollbar is clicked. | |
64 This is the little arrow to the left of the scrollbar. One argument is | |
65 passed, the scrollbar's window. You can advise this function to | |
66 change the scrollbar behavior." | |
67 (when (window-live-p window) | |
68 (scrollbar-set-hscroll window (- (window-hscroll window) 1)) | |
69 (setq zmacs-region-stays t) | |
70 nil)) | |
71 | |
72 (defun scrollbar-char-right (window) | |
73 "Function called when the char-right arrow on the scrollbar is clicked. | |
74 This is the little arrow to the right of the scrollbar. One argument is | |
75 passed, the scrollbar's window. You can advise this function to | |
76 change the scrollbar behavior." | |
77 (when (window-live-p window) | |
78 (scrollbar-set-hscroll window (+ (window-hscroll window) 1)) | |
79 (setq zmacs-region-stays t) | |
80 nil)) | |
81 | |
82 (defun scrollbar-page-left (window) | |
83 "Function called when the user gives the \"page-left\" scrollbar action. | |
84 \(The way this is done can vary from scrollbar to scrollbar.\) One argument is | |
85 passed, the scrollbar's window. You can advise this function to | |
86 change the scrollbar behavior." | |
87 (when (window-live-p window) | |
88 (scrollbar-set-hscroll window (- (window-hscroll window) | |
89 (- (window-width window) 2))) | |
90 (setq zmacs-region-stays t) | |
91 nil)) | |
92 | |
93 (defun scrollbar-page-right (window) | |
94 "Function called when the user gives the \"page-right\" scrollbar action. | |
95 \(The way this is done can vary from scrollbar to scrollbar.\) One argument is | |
96 passed, the scrollbar's window. You can advise this function to | |
97 change the scrollbar behavior." | |
98 (when (window-live-p window) | |
99 (scrollbar-set-hscroll window (+ (window-hscroll window) | |
100 (- (window-width window) 2))) | |
101 (setq zmacs-region-stays t) | |
102 nil)) | |
103 | |
104 (defun scrollbar-to-left (window) | |
105 "Function called when the user gives the \"to-left\" scrollbar action. | |
106 \(The way this is done can vary from scrollbar to scrollbar.\). One argument is | |
107 passed, the scrollbar's window. You can advise this function to | |
108 change the scrollbar behavior." | |
109 (when (window-live-p window) | |
110 (scrollbar-set-hscroll window 0) | |
111 (setq zmacs-region-stays t) | |
112 nil)) | |
113 | |
114 (defun scrollbar-to-right (window) | |
115 "Function called when the user gives the \"to-right\" scrollbar action. | |
116 \(The way this is done can vary from scrollbar to scrollbar.\). One argument is | |
117 passed, the scrollbar's window. You can advise this function to | |
118 change the scrollbar behavior." | |
119 (when (window-live-p window) | |
120 (scrollbar-set-hscroll window 'max) | |
121 (setq zmacs-region-stays t) | |
122 nil)) | |
123 | |
124 (defun scrollbar-horizontal-drag (data) | |
125 "Function called when the user drags the horizontal scrollbar thumb. | |
126 One argument is passed, a cons containing the scrollbar's window and a value | |
127 representing how many columns the thumb is slid over. You can advise | |
128 this function to change the scrollbar behavior." | |
129 (let ((window (car data)) | |
130 (value (cdr data))) | |
131 (when (and (window-live-p window) (integerp value)) | |
132 (scrollbar-set-hscroll window value) | |
133 (setq zmacs-region-stays t) | |
134 nil))) | |
135 | |
136 ;;; scrollbar.el ends here |