Mercurial > hg > xemacs-beta
annotate tests/tooltalk/simple.el @ 4997:8800b5350a13
Move #'some, #'every to C, implementing them with mapcarX.
src/ChangeLog addition:
2010-02-03 Aidan Kehoe <kehoea@parhasard.net>
* fns.c (mapcarX):
Accept a new argument, indicating whether the function is being
called from #'some or #'every. Implement it.
Discard any multiple values where that is appropriate.
(Fmapconcat, FmapcarX, Fmapvector, Fmapcan, Fmapc, Fmap)
(Fmap_into):
Pass the new flag to mapcarX.
(Fsome, Fevery): Move these functions here from cl-extra.el;
implement them in terms of mapcarX.
(maplist): Discard multiple values where appropriate.
lisp/ChangeLog addition:
2010-02-03 Aidan Kehoe <kehoea@parhasard.net>
* cl-extra.el (some, every):
Move these functions to C.
* cl-macs.el (notany, notevery): Add compiler macros for these
functions, no longer proclaim them inline (which would involve
specbinding that's not necessary with the compiler macros).
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Wed, 03 Feb 2010 20:26:47 +0000 |
parents | 131b0175ea99 |
children | 9fc91aa3a927 |
rev | line source |
---|---|
70 | 1 ;;; Example of Sending Messages |
2 | |
3 (defun tooltalk-random-query-handler (msg pat) | |
4 (let ((state (get-tooltalk-message-attribute msg 'state))) | |
5 (cond | |
6 ((eq state 'TT_HANDLED) | |
7 (message (get-tooltalk-message-attribute msg arg_val 0))) | |
8 ((memq state '(TT_FAILED TT_REJECTED)) | |
9 (message "Random query turns up nothing"))))) | |
10 | |
11 (setq random-query-message | |
12 '( class TT_REQUEST | |
13 scope TT_SESSION | |
14 address TT_PROCEDURE | |
15 op "random-query" | |
16 args ((TT_INOUT "?" "string")) | |
17 callback tooltalk-random-query-handler)) | |
18 | |
19 (let ((m (make-tooltalk-message random-query-message))) | |
20 (send-tooltalk-message m)) | |
21 | |
22 ;;; Example of Receiving Messaegs | |
23 | |
24 (defun tooltalk-display-string-handler (msg pat) | |
25 (return-tooltalk-message msg 'reply) | |
26 (describe-tooltalk-message msg) | |
27 (message (get-tooltalk-message-attribute msg 'arg_val 0))) | |
28 | |
29 (setq display-string-pattern | |
30 '(category TT_HANDLE | |
31 scope TT_SESSION | |
32 op "emacs-eval" | |
33 args ((TT_IN "filename" "string")) | |
34 callback tooltalk-display-string-handler)) | |
35 | |
36 (let ((p (make-tooltalk-pattern display-string-pattern))) | |
37 (register-tooltalk-pattern p)) | |
38 |