Mercurial > hg > xemacs-beta
view src/ExternalClientP.h @ 3024:b7f26b2f78bd
[xemacs-hg @ 2005-10-25 08:32:40 by ben]
more mc-alloc-related factoring; make it hard to do the wrong thing
postgresql/postgresql.c, postgresql/postgresql.h: MC-Alloc refactoring.
ldap/eldap.c, ldap/eldap.h: MC-Alloc refactoring.
alloc.c, buffer.c, console.c, emacs.c, file-coding.c, lrecord.h, lstream.c, mule-charset.c, print.c, scrollbar-gtk.c, scrollbar-msw.c, scrollbar-x.c, scrollbar.c, symbols.c, symeval.h, unicode.c, window.c, xemacs.def.in.in: rename `struct lcrecord_header' to `struct old_lcrecord_header';
likewise for `old_basic_alloc_lcrecord', `old_free_lcrecord',
`old_zero_lcrecord', `old_zero_sized_lcrecord', `old_copy_lcrecord',
`old_copy_sized_lcrecord', `old_alloc_lcrecord_type'. Created new
LISPOBJ_STORAGE_SIZE() used only on objects created through allocation
of Lisp-Object memory instead of basic xmalloc()/xfree(). This is
distinguished from malloced_storage_size(), for non-Lisp-Objects.
The definition of LISPOBJ_STORAGE_SIZE() can reduce down to
malloced_storage_size() when not MC-ALLOC, but with MC-ALLOC it's
a different function.
The whole point other than cleaning up the use of LISPOBJ_STORAGE_SIZE
is to make it harder to accidentally use the old kind (lowercase) of
function in new code, since you get a compile error.
| author | ben |
|---|---|
| date | Tue, 25 Oct 2005 08:32:50 +0000 |
| parents | 74fd4e045ea6 |
| children | 697ef44129c6 2aa9cd456ae7 |
line wrap: on
line source
/* External client widget internal header file. Copyright (C) 1993, 1994 Sun Microsystems, Inc. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Synched up with: Not in FSF. */ /* Written by Ben Wing. */ #ifndef INCLUDED_ExternalClientP_h_ #define INCLUDED_ExternalClientP_h_ #include "ExternalClient.h" #ifdef EXTW_USES_MOTIF #include <Xm/PrimitiveP.h> #endif typedef struct { /* new fields for ExternalClient class */ int dummy; } ExternalClientClassPart; typedef struct _ExternalClientClassRec { /* full class record declaration */ CoreClassPart core_class; #ifdef EXTW_USES_MOTIF XmPrimitiveClassPart primitive_class; #endif ExternalClientClassPart externalClient_class; } ExternalClientClassRec; typedef struct { /* new fields for ExternalClient widget */ Bool dead_shell; /* is the shell dead? */ unsigned long shell_timeout;/* how long to wait for shell's response */ int shell_ready; /* is the shell ready? */ Window event_window; long event_mask; Bool has_focus; char *emacs_procid; XtCallbackList shell_ready_callback; String shell_name; Bool use_tooltalk; } ExternalClientPart; typedef struct _ExternalClientRec { /* full instance record */ CorePart core; #ifdef EXTW_USES_MOTIF XmPrimitivePart primitive; #endif ExternalClientPart externalClient; } ExternalClientRec; extern ExternalClientClassRec externalClientClassRec; /* class pointer */ #endif /* INCLUDED_ExternalClientP_h_ */
