view src/xmu.h @ 4502:8748a3f7ceb4

Handle varalias chains, custom variables in #'user-variable-p. src/ChangeLog addition: 2008-08-23 Aidan Kehoe <kehoea@parhasard.net> * eval.c (Fuser_variable_p): Moved to symbols.c * symbols.c (Fcustom_variable_p): Moved here from custom.el. (user_variable_alias_check_fun): Mapper function used in `user-variable-p'. (Fuser_variable_p): Moved here from eval.c, to allow it to examine the variable alias chain. Expanded to check each entry in the variable alias chain for signs of being a user variable; documentation updated, noting the differences between GNU's behaviour and ours (ours is a little more sensible) (map_varalias_chain): New. Given a C function, call it at least once for each symbol in a symbol's varalias chain, signalling an error if there's a cycle, and returning immediately if the function returns something other than Qzero. (Fdefvaralias): Correct the use of the word "alias" in the docstring and in the argument name. Motivate this in a comment. Add support for a DOCSTRING argument, something GNU has too, and document this * gc.c (vars_of_gc): Start the docstring of `garbage-collection-messages' with an asterisk, to indicate that it's a user variable. lisp/ChangeLog addition: 2008-08-23 Aidan Kehoe <kehoea@parhasard.net> * custom.el: Move #'custom-variable-p to C, since it's now called from #'user-variable-p.
author Aidan Kehoe <kehoea@parhasard.net>
date Sat, 23 Aug 2008 16:38:51 +0200
parents abe6d1db359e
children
line wrap: on
line source

/* Compatibility routines based on code from the MIT Xmu library */

/* Synched up with: Not in FSF. */

#ifndef INCLUDED_xmu_h_
#define INCLUDED_xmu_h_

#ifdef HAVE_XMU

# include <X11/Xmu/CharSet.h>
# include <X11/Xmu/Converters.h>
# include <X11/Xmu/CurUtil.h>
# include <X11/Xmu/Drawing.h>
# include <X11/Xmu/Error.h>
# include <X11/Xmu/Misc.h>

/* Do the EDITRES protocol if running X11R5 (or later) version */
#if (XtSpecificationRelease >= 5) 
/* #### No dice if we don't have XMU until someone ports
   _XEditResCheckMessages to xmu.c */
#define HACK_EDITRES
#include <X11/Xmu/Editres.h>
#endif /* R5+ */

#else

int XmuCursorNameToIndex (const char *name);
int XmuReadBitmapDataFromFile (const char *filename, unsigned int *width,
                               unsigned int *height, unsigned char **datap,
                               int *x_hot, int *y_hot);
int XmuPrintDefaultErrorMessage (Display *dpy, XErrorEvent *event, FILE *fp);
void XmuCopyISOLatin1Lowered (char *, const char *);

#define Max(x, y)       (((x) > (y)) ? (x) : (y))
#define Min(x, y)       (((x) < (y)) ? (x) : (y))
#define AssignMax(x, y) {if ((y) > (x)) x = (y);}
#define AssignMin(x, y) {if ((y) < (x)) x = (y);}
typedef enum {XtorientHorizontal, XtorientVertical} XtOrientation;

#endif /* HAVE_XMU */

#endif /* INCLUDED_xmu_h_ */