Mercurial > hg > xemacs-beta
annotate lisp/dialog-items.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 |
---|---|
442 | 1 ;;; dialog-items.el --- Dialog-box content for XEmacs |
2 | |
3 ;; Copyright (C) 2000 Andy Piper. | |
4 ;; Copyright (C) 2000 Ben Wing. | |
5 | |
6 ;; Maintainer: XEmacs Development Team | |
7 ;; Keywords: content, gui, internal, dumped | |
8 | |
9 ;; This file is part of XEmacs. | |
10 | |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
863
diff
changeset
|
11 ;; 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:
863
diff
changeset
|
12 ;; 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:
863
diff
changeset
|
13 ;; 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:
863
diff
changeset
|
14 ;; option) any later version. |
442 | 15 |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
863
diff
changeset
|
16 ;; 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:
863
diff
changeset
|
17 ;; 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:
863
diff
changeset
|
18 ;; 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:
863
diff
changeset
|
19 ;; for more details. |
442 | 20 |
21 ;; 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:
863
diff
changeset
|
22 ;; along with XEmacs. If not, see <http://www.gnu.org/licenses/>. |
442 | 23 |
24 ;;; Synched up with: Not in FSF. | |
25 | |
26 ;;; Commentary: | |
27 | |
28 ;; | |
29 ;; Simple search dialog | |
30 ;; | |
31 (defvar search-dialog-direction t) | |
32 (defvar search-dialog-regexp nil) | |
33 (defvar search-dialog nil) | |
34 | |
35 (defun search-dialog-callback (parent image-instance event) | |
36 (save-selected-frame | |
37 (select-frame parent) | |
38 (let ((domain (frame-selected-window (event-channel event)))) | |
39 (funcall (if search-dialog-direction | |
40 (if search-dialog-regexp | |
41 're-search-forward | |
42 'search-forward) | |
43 (if search-dialog-regexp | |
44 're-search-backward | |
45 'search-backward)) | |
46 (glyph-image-property | |
47 (car (glyph-image-property | |
48 (nth 1 (glyph-image-property | |
49 search-dialog :items domain)) | |
50 :items domain)) :text domain)) | |
51 (isearch-highlight (match-beginning 0) (match-end 0))))) | |
52 | |
53 (defun make-search-dialog () | |
54 "Popup a search dialog box." | |
55 (interactive) | |
56 (let ((parent (selected-frame))) | |
57 (make-dialog-box | |
58 'general | |
59 :parent parent | |
60 :title "Search" | |
863 | 61 :autosize t |
442 | 62 :spec |
63 (setq search-dialog | |
64 (make-glyph | |
65 `[layout | |
863 | 66 :orientation horizontal |
67 :vertically-justify top | |
68 :horizontally-justify center | |
442 | 69 :border [string :data "Search"] |
70 :items | |
863 | 71 ([layout :orientation vertical |
72 :justify top ; implies left also | |
442 | 73 :items |
74 ([string :data "Search for:"] | |
75 [button :descriptor "Match Case" | |
76 :style toggle | |
77 :selected (not case-fold-search) | |
78 :callback (setq case-fold-search | |
79 (not case-fold-search))] | |
80 [button :descriptor "Regular Expression" | |
81 :style toggle | |
82 :selected search-dialog-regexp | |
83 :callback (setq search-dialog-regexp | |
84 (not search-dialog-regexp))] | |
85 [button :descriptor "Forwards" | |
86 :style radio | |
87 :selected search-dialog-direction | |
88 :callback (setq search-dialog-direction t)] | |
89 [button :descriptor "Backwards" | |
90 :style radio | |
91 :selected (not search-dialog-direction) | |
92 :callback (setq search-dialog-direction nil)] | |
93 )] | |
863 | 94 [layout :orientation vertical |
95 :vertically-justify top | |
96 :horizontally-justify right | |
97 :items | |
442 | 98 ([edit-field :width 15 :descriptor "" :active t |
863 | 99 :initial-focus t] |
442 | 100 [button :width 10 :descriptor "Find Next" |
101 :callback-ex | |
102 (lambda (image-instance event) | |
103 (search-dialog-callback ,parent | |
104 image-instance | |
105 event))] | |
106 [button :width 10 :descriptor "Cancel" | |
107 :callback-ex | |
108 (lambda (image-instance event) | |
109 (isearch-dehighlight) | |
110 (delete-frame | |
111 (event-channel event)))])])])) | |
863 | 112 ;; These are no longer strictly necessary, but not setting a size |
113 ;; at all yields a much more noticeable resize since the initial | |
114 ;; frame is so big. | |
115 :properties `(height ,(widget-logical-to-character-height 6) | |
116 width ,(widget-logical-to-character-width 39)) | |
117 ))) |