Mercurial > hg > xemacs-beta
annotate src/tooltalk.h @ 5273:799742b751c8
Accept circular lists where that is useful in #'mapcar*, #'map* and friends.
src/ChangeLog addition:
2010-09-16 Aidan Kehoe <kehoea@parhasard.net>
* fns.c (Flist_length): New, moved here from cl-extra.el, needed
by the next function.
(shortest_length_among_sequences): New.
(Fmapconcat, FmapcarX, Fmapvector, Fmapcan, Fmapc, Fmap)
(Fmap_into, Fsome, Fevery):
Use shortest_length_among_sequences() when working out how many
iterations to do, only giving circular list errors if all
arguments are circular.
| author | Aidan Kehoe <kehoea@parhasard.net> |
|---|---|
| date | Thu, 16 Sep 2010 20:34:49 +0100 |
| parents | e0db3c197671 |
| children | 308d34e9f07d |
| rev | line source |
|---|---|
| 428 | 1 /* ToolTalk Interface. |
| 2 Copyright (C) 1993 Sun Microsystems, Inc. | |
| 3 | |
| 4 This file is part of XEmacs. | |
| 5 | |
| 6 XEmacs is free software; you can redistribute it and/or modify it | |
| 7 under the terms of the GNU General Public License as published by the | |
| 8 Free Software Foundation; either version 2, or (at your option) any | |
| 9 later version. | |
| 10 | |
| 11 XEmacs is distributed in the hope that it will be useful, but WITHOUT | |
| 12 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
| 13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
| 14 for more details. | |
| 15 | |
| 16 You should have received a copy of the GNU General Public License | |
| 17 along with XEmacs; see the file COPYING. If not, write to | |
| 18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
| 19 Boston, MA 02111-1307, USA. | |
| 20 | |
| 21 */ | |
| 22 | |
| 23 /* Synched up with: Not in FSF. */ | |
| 24 | |
| 440 | 25 #ifndef INCLUDED_tooltalk_h_ |
| 26 #define INCLUDED_tooltalk_h_ | |
| 442 | 27 #include TT_C_H_FILE |
| 428 | 28 |
| 440 | 29 typedef struct Lisp_Tooltalk_Message Lisp_Tooltalk_Message; |
|
5118
e0db3c197671
merge up to latest default branch, doesn't compile yet
Ben Wing <ben@xemacs.org>
parents:
793
diff
changeset
|
30 DECLARE_LISP_OBJECT (tooltalk_message, Lisp_Tooltalk_Message); |
| 440 | 31 #define XTOOLTALK_MESSAGE(x) XRECORD (x, tooltalk_message, Lisp_Tooltalk_Message) |
| 617 | 32 #define wrap_tooltalk_message(p) wrap_record (p, tooltalk_message) |
| 428 | 33 #define TOOLTALK_MESSAGEP(x) RECORDP (x, tooltalk_message) |
| 34 #define CHECK_TOOLTALK_MESSAGE(x) CHECK_RECORD (x, tooltalk_message) | |
| 35 | |
| 440 | 36 typedef struct Lisp_Tooltalk_Pattern Lisp_Tooltalk_Pattern; |
|
5118
e0db3c197671
merge up to latest default branch, doesn't compile yet
Ben Wing <ben@xemacs.org>
parents:
793
diff
changeset
|
37 DECLARE_LISP_OBJECT (tooltalk_pattern, Lisp_Tooltalk_Pattern); |
| 440 | 38 #define XTOOLTALK_PATTERN(x) XRECORD (x, tooltalk_pattern, Lisp_Tooltalk_Pattern) |
| 617 | 39 #define wrap_tooltalk_pattern(p) wrap_record (p, tooltalk_pattern) |
| 428 | 40 #define TOOLTALK_PATTERNP(x) RECORDP (x, tooltalk_pattern) |
| 41 #define CHECK_TOOLTALK_PATTERN(x) CHECK_RECORD (x, tooltalk_pattern) | |
| 42 | |
| 43 #define TOOLTALK_MESSAGE_KEY 100 | |
| 44 #define TOOLTALK_PATTERN_KEY 101 | |
| 45 | |
| 46 #define CHECK_TOOLTALK_CONSTANT(x) do { \ | |
| 47 if (!(INTP (x) || SYMBOLP (x))) \ | |
| 48 dead_wrong_type_argument (Qsymbolp, (x)); \ | |
| 49 } while (0) | |
| 50 | |
| 51 #define VALID_TOOLTALK_MESSAGEP(m) \ | |
| 52 (m && (tt_ptr_error (m) == TT_OK)) | |
| 53 | |
| 54 #define VALID_TOOLTALK_PATTERNP(p) \ | |
| 55 (p && (tt_ptr_error (p) == TT_OK)) | |
| 56 | |
| 57 Lisp_Object box_tooltalk_message (Tt_message m); | |
| 58 Tt_message unbox_tooltalk_message (Lisp_Object msg); | |
| 59 | |
| 60 extern Lisp_Object Qtooltalk_error; | |
| 61 | |
| 440 | 62 #endif /* INCLUDED_tooltalk_h_ */ |
