Mercurial > emacs
view oldXMenu/XCrAssoc.c @ 68127:40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
unnecessary.
* mh-init.el (mh-sys-path): Co-locate with mh-variants, which uses it.
(mh-variants): Note variable isn't meant to be accessed directly; use
function mh-variants instead.
(mh-variant-info, mh-variant-mh-info, mh-variant-mu-mh-info)
(mh-variant-nmh-info): Co-locate next to mh-variants, which uses them.
Updated to use mh-file-command-p which is more accurrate than
file-executable-p which returns t for directories.
(mh-file-command-p): Move here from mh-utils, since mh-variant-*-info
are the only functions to use it.
(mh-variant-set, mh-variant-set-variant, mh-variant-p): Use function
mh-variants instead of variable. More robust.
(mh-find-path-run): Move here from mh-utils.el. Mention that checking
this variable is unnecessary.
(mh-find-path): Move here from mh-utils.el. With the advent of MH
variants and an mhparam command that doesn't work if there isn't an MH
profile, we can't get libdir for running install-mh. So don't bother.
If there's an issue with the environment, direct the user to install
MH and run install-mh (closes SF #835192). Don't read ~/.mh_profile
directly. Use mh-profile-component which uses mhparam (closes SF
#1016027).
* mh-utils.el (mh-get-profile-field): Rename to
mh-profile-component-value. Add colon to search removing unnecessary
addition of colon to field in mh-profile-component.
(mh-profile-component): Modify call to mh-profile-component-value
accordingly. Move next to mh-profile-component-value.
(mh-find-path-run, mh-find-path, mh-file-command-p): Move to
mh-init.el. It makes sense that code that is only run once per session
(more or less) is in mh-init.el rather than cluttering mh-utils.el.
(mh-no-install, mh-install): Delete.
author | Bill Wohler <wohler@newt.com> |
---|---|
date | Tue, 10 Jan 2006 23:55:42 +0000 |
parents | 3861ff8f4bf1 |
children | e8a3fb527b77 2d92f5c9d6ae |
line wrap: on
line source
/* Copyright Massachusetts Institute of Technology 1985 */ /* Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. */ /* Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of M.I.T. not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. M.I.T. makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty. */ #include <config.h> #include <X11/Xlib.h> #include <errno.h> #include "X10.h" #ifndef NULL #define NULL 0 #endif extern int errno; /* * XCreateAssocTable - Create an XAssocTable. The size argument should be * a power of two for efficiency reasons. Some size suggestions: use 32 * buckets per 100 objects; a reasonable maximum number of object per * buckets is 8. If there is an error creating the XAssocTable, a NULL * pointer is returned. */ XAssocTable *XCreateAssocTable(size) register int size; /* Desired size of the table. */ { register XAssocTable *table; /* XAssocTable to be initialized. */ register XAssoc *buckets; /* Pointer to the first bucket in */ /* the bucket array. */ /* Malloc the XAssocTable. */ if ((table = (XAssocTable *)malloc(sizeof(XAssocTable))) == NULL) { /* malloc call failed! */ errno = ENOMEM; return(NULL); } /* calloc the buckets (actually just their headers). */ buckets = (XAssoc *)calloc((unsigned)size, (unsigned)sizeof(XAssoc)); if (buckets == NULL) { /* calloc call failed! */ errno = ENOMEM; return(NULL); } /* Insert table data into the XAssocTable structure. */ table->buckets = buckets; table->size = size; while (--size >= 0) { /* Initialize each bucket. */ buckets->prev = buckets; buckets->next = buckets; buckets++; } return(table); } /* arch-tag: 5df3237d-ada0-4345-a3ab-282cafb397aa (do not change this comment) */