view oldXMenu/XDestAssoc.c @ 110403:14dab55b2888

Fix and improve last syntax-propertize patch * lisp/emacs-lisp/syntax.el (syntax-propertize-precompile-rules): New macro. (syntax-propertize-rules): Add var-ref case. Fix offset computation when adding surrounding \(..\). * lisp/progmodes/fortran.el (fortran--font-lock-syntactic-keywords): Remove. (fortran-make-syntax-propertize-function): New function; replaces fortran-font-lock-syntactic-keywords. (fortran-mode): Use it. (fortran-line-length): Use it. Improve interactive spec. * lisp/progmodes/js.el (js-mode): Fix last change (bug#7054). * lisp/textmodes/tex-mode.el (tex-syntax-propertize-rules) (latex-syntax-propertize-rules): New consts; replace tex-font-lock-syntactic-keywords. (tex-env-mark, latex-env-before-change): New functions. (latex-electric-env-pair-mode): New minor mode. (tex-font-lock-verb): Change arguments; do move point. (tex-font-lock-syntactic-face-function): Adjust to new verbatim representation as a form of comment. (tex-font-lock-keywords-1): Remove workaround, now unneeded. (doctex-syntax-propertize-rules): New const; replaces doctex-font-lock-syntactic-keywords. (tex-common-initialization, doctex-mode): Use syntax-propertize-rules.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Sat, 18 Sep 2010 02:35:00 +0200
parents 5cc91198ffb2
children ef719132ddfa
line wrap: on
line source

/* Copyright    Massachusetts Institute of Technology    1985	*/

#include "copyright.h"


#include <X11/Xlib.h>
#include "X10.h"

/*
 * XDestroyAssocTable - Destroy (free the memory associated with)
 * an XAssocTable.
 */
XDestroyAssocTable(register XAssocTable *table)
{
	register int i;
	register XAssoc *bucket;
	register XAssoc *Entry, *entry_next;

	/* Free the buckets. */
	for (i = 0; i < table->size; i++) {
		bucket = &table->buckets[i];
		for (
	        	Entry = bucket->next;
			Entry != bucket;
			Entry = entry_next
		) {
		        entry_next = Entry->next;
			free((char *)Entry);
		}
	}

	/* Free the bucket array. */
	free((char *)table->buckets);

	/* Free the table. */
	free((char *)table);
}

/* arch-tag: a536bf02-8d63-45f2-8c1a-c7f9fd4da2cf
   (do not change this comment) */