annotate src/gccache-gtk.h @ 4792:95b04754ea8c

Make #'equalp more compatible with CL; add a compiler macro, test & doc it. lisp/ChangeLog addition: 2009-11-08 Aidan Kehoe <kehoea@parhasard.net> * cl-extra.el (cl-string-vector-equalp) (cl-bit-vector-vector-equalp, cl-vector-array-equalp) (cl-hash-table-contents-equalp): New functions, to implement equalp treating arrays with identical contents as equivalent, as specified by Common Lisp. (equalp): Revise this function to implement array equivalence, and the hash-table equalp behaviour specified by CL. * cl-macs.el (equalp): Add a compiler macro for this function, used when one of the arguments is constant, and as such, its type is known at compile time. man/ChangeLog addition: 2009-11-08 Aidan Kehoe <kehoea@parhasard.net> * lispref/objects.texi (Equality Predicates): Document #'equalp here, as well as #'equal and #'eq. tests/ChangeLog addition: 2009-12-31 Aidan Kehoe <kehoea@parhasard.net> * automated/lisp-tests.el: Test much of the functionality of equalp; add a pointer to Paul Dietz' ANSI test suite for this function, converted to Emacs Lisp. Not including the tests themselves in XEmacs because who owns the copyright on the files is unclear and the GCL people didn't respond to my queries.
author Aidan Kehoe <kehoea@parhasard.net>
date Thu, 31 Dec 2009 15:09:41 +0000
parents 1e2a3710564c
children b3ce27ca7647
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2587
1e2a3710564c [xemacs-hg @ 2005-02-15 03:17:07 by ben]
ben
parents:
diff changeset
1 /* Efficient caching of X GCs (graphics contexts).
1e2a3710564c [xemacs-hg @ 2005-02-15 03:17:07 by ben]
ben
parents:
diff changeset
2 Copyright (C) 1993 Free Software Foundation, Inc.
1e2a3710564c [xemacs-hg @ 2005-02-15 03:17:07 by ben]
ben
parents:
diff changeset
3
1e2a3710564c [xemacs-hg @ 2005-02-15 03:17:07 by ben]
ben
parents:
diff changeset
4
1e2a3710564c [xemacs-hg @ 2005-02-15 03:17:07 by ben]
ben
parents:
diff changeset
5 This file is part of XEmacs.
1e2a3710564c [xemacs-hg @ 2005-02-15 03:17:07 by ben]
ben
parents:
diff changeset
6
1e2a3710564c [xemacs-hg @ 2005-02-15 03:17:07 by ben]
ben
parents:
diff changeset
7 XEmacs is free software; you can redistribute it and/or modify it
1e2a3710564c [xemacs-hg @ 2005-02-15 03:17:07 by ben]
ben
parents:
diff changeset
8 under the terms of the GNU General Public License as published by the
1e2a3710564c [xemacs-hg @ 2005-02-15 03:17:07 by ben]
ben
parents:
diff changeset
9 Free Software Foundation; either version 2, or (at your option) any
1e2a3710564c [xemacs-hg @ 2005-02-15 03:17:07 by ben]
ben
parents:
diff changeset
10 later version.
1e2a3710564c [xemacs-hg @ 2005-02-15 03:17:07 by ben]
ben
parents:
diff changeset
11
1e2a3710564c [xemacs-hg @ 2005-02-15 03:17:07 by ben]
ben
parents:
diff changeset
12 XEmacs is distributed in the hope that it will be useful, but WITHOUT
1e2a3710564c [xemacs-hg @ 2005-02-15 03:17:07 by ben]
ben
parents:
diff changeset
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
1e2a3710564c [xemacs-hg @ 2005-02-15 03:17:07 by ben]
ben
parents:
diff changeset
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
1e2a3710564c [xemacs-hg @ 2005-02-15 03:17:07 by ben]
ben
parents:
diff changeset
15 for more details.
1e2a3710564c [xemacs-hg @ 2005-02-15 03:17:07 by ben]
ben
parents:
diff changeset
16
1e2a3710564c [xemacs-hg @ 2005-02-15 03:17:07 by ben]
ben
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
1e2a3710564c [xemacs-hg @ 2005-02-15 03:17:07 by ben]
ben
parents:
diff changeset
18 along with XEmacs; see the file COPYING. If not, write to
1e2a3710564c [xemacs-hg @ 2005-02-15 03:17:07 by ben]
ben
parents:
diff changeset
19 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
1e2a3710564c [xemacs-hg @ 2005-02-15 03:17:07 by ben]
ben
parents:
diff changeset
20 Boston, MA 02111-1307, USA. */
1e2a3710564c [xemacs-hg @ 2005-02-15 03:17:07 by ben]
ben
parents:
diff changeset
21
1e2a3710564c [xemacs-hg @ 2005-02-15 03:17:07 by ben]
ben
parents:
diff changeset
22 /* Synched up with: Not in FSF. */
1e2a3710564c [xemacs-hg @ 2005-02-15 03:17:07 by ben]
ben
parents:
diff changeset
23
1e2a3710564c [xemacs-hg @ 2005-02-15 03:17:07 by ben]
ben
parents:
diff changeset
24 /* Written by jwz, 14 jun 93 */
1e2a3710564c [xemacs-hg @ 2005-02-15 03:17:07 by ben]
ben
parents:
diff changeset
25 /* Hacked by wmperry, apr 2000 */
1e2a3710564c [xemacs-hg @ 2005-02-15 03:17:07 by ben]
ben
parents:
diff changeset
26
1e2a3710564c [xemacs-hg @ 2005-02-15 03:17:07 by ben]
ben
parents:
diff changeset
27 #ifndef _GCCACHE_GTK_H_
1e2a3710564c [xemacs-hg @ 2005-02-15 03:17:07 by ben]
ben
parents:
diff changeset
28 #define _GCCACHE_GTK_H_
1e2a3710564c [xemacs-hg @ 2005-02-15 03:17:07 by ben]
ben
parents:
diff changeset
29
1e2a3710564c [xemacs-hg @ 2005-02-15 03:17:07 by ben]
ben
parents:
diff changeset
30 struct gc_cache;
1e2a3710564c [xemacs-hg @ 2005-02-15 03:17:07 by ben]
ben
parents:
diff changeset
31 struct gc_cache *make_gc_cache (GtkWidget *);
1e2a3710564c [xemacs-hg @ 2005-02-15 03:17:07 by ben]
ben
parents:
diff changeset
32 void free_gc_cache (struct gc_cache *cache);
1e2a3710564c [xemacs-hg @ 2005-02-15 03:17:07 by ben]
ben
parents:
diff changeset
33 GdkGC *gc_cache_lookup (struct gc_cache *, GdkGCValues *, unsigned long mask);
1e2a3710564c [xemacs-hg @ 2005-02-15 03:17:07 by ben]
ben
parents:
diff changeset
34
1e2a3710564c [xemacs-hg @ 2005-02-15 03:17:07 by ben]
ben
parents:
diff changeset
35 #endif /* _XGCCACHE_H_ */