Mercurial > emacs
view oldXMenu/XLookAssoc.c @ 110486:1ad1adb298a3
Merge Changes made in Gnus trunk.
gnus-html.el (gnus-html-get-image-data): Search also for \r\n\r\n to get the start of data.
gnus-html.el: Use gnus-html-encode-url to encode URL.
gnus-sum.el (gnus-update-marks): Add sanity check to not delete marks outside the active range.
gnus.el: Try to keep the server/method cache unique.
gnus-html.el (gnus-html-rescale-image): Use window-inside-pixel-edges rather than window-pixel-edges.
gnus-html.el (gnus-html-put-image): Stop using markers.
gnus-html.el (gnus-html-image-fetched): Search also for \r\n\r\n to get the start of data.
nnimap.el: Expunge IMAP groups by default on article deletion.
gnus-int.el (gnus-request-expire-articles): Inhibit the daemon, since this command might take a while.
nnimap.el (nnimap-request-list): Set the current nnimap group to nil, since EXAMINE changes it on the server.
nnmail.el, nnimap.el: Allow nnimap to just delete 'junk messages when splitting.
nnimap.el (nnimap-parse-flags): Make IMAP flags parsing much faster by using `read'.
nnimap.el (nnimap-make-process-buffer): Record the server name.
gnus-html.el (gnus-html-image-fetched): Only cache if gnus-html-image-automatic-caching is set.
gnus-html.el (gnus-html-image-fetched): Check for errors.
gnus-start.el (gnus-read-active-for-groups): Only run -request-scan once per method on `g'.
nnimap.el (nnimap-request-expire-articles): If nnmail-expiry-wait is immediate, then expire all articles.
gnus-group.el (gnus-group-get-icon): Compute icon to return.
gnus-group.el (gnus-group-icon-list): Fix bad docstring information.
nnimap.el (nnimap-update-info): Fix up various off-by-one errors when syncing flags in nnimap.
time-date.el (date-to-time): Speed up date-to-time.
gnus-start.el (gnus-get-unread-articles): Don't have `gnus-get-unread-articles-in-group' update info.
gnus-group.el: Remove gnus-group-highlight-line from the default hook list.
gnus-group.el (gnus-group-highlight-line): Typo fix: beg, not start.
gnus-group.el (gnus-group-insert-group-line): Pass the real group name so that it gets the right data.
gnus-int.el (gnus-open-server): Add tracing for performance debugging.
nnimap.el (nnimap-parse-flags): Parse the data in any order.
nnimap.el (nnimap-update-info): Fix up code slightly.
author | Katsumi Yamaoka <yamaoka@jpl.org> |
---|---|
date | Thu, 23 Sep 2010 00:30:37 +0000 |
parents | 5cc91198ffb2 |
children | ef719132ddfa |
line wrap: on
line source
/* Copyright Massachusetts Institute of Technology 1985 */ #include "copyright.h" #include <X11/Xlib.h> #include <X11/Xresource.h> #include "X10.h" #ifndef NULL #define NULL 0 #endif /* * XLookUpAssoc - Retrieve the data stored in an XAssocTable by its XId. * If an appropriately matching XId can be found in the table the routine will * return apointer to the data associated with it. If the XId can not be found * in the table the routine will return a NULL pointer. All XId's are relative * to the currently active Display. */ caddr_t XLookUpAssoc(register Display *dpy, register XAssocTable *table, register XID x_id) /* XAssocTable to search in. */ /* XId to search for. */ { int hash; register XAssoc *bucket; register XAssoc *Entry; /* Hash the XId to get the bucket number. */ hash = x_id & (table->size - 1); /* Look up the bucket to get the entries in that bucket. */ bucket = &table->buckets[hash]; /* Get the first entry in the bucket. */ Entry = bucket->next; /* Scan through the entries in the bucket for the right XId. */ for (; Entry != bucket; Entry = Entry->next) { if (Entry->x_id == x_id) { /* We have the right XId. */ if (Entry->display == dpy) { /* We have the right display. */ /* We have the right entry! */ return(Entry->data); } /* Oops, identical XId's on different displays! */ continue; } if (Entry->x_id > x_id) { /* We have gone past where it should be. */ /* It is apparently not in the table. */ return(NULL); } } /* It is apparently not in the table. */ return(NULL); } /* arch-tag: d5075d0c-4b71-467d-b33c-3f5c4c4afcf2 (do not change this comment) */