Mercurial > hg > xemacs-beta
view src/objects-x-impl.h @ 4642:48b45a606961
Support #'function-arglist with built-in special forms.
Also fix a couple of bugs in lisp/help.el.
lisp/ChangeLog addition:
2009-06-14 Aidan Kehoe <kehoea@parhasard.net>
* help.el (describe-function-1):
Check macro-p, not macrop, when describing whether a symbol has an
associated macro or an associated function. Relevant with
autoloaded macros.
(function-arglist):
Accept multi-line arglists in built-in functions, as found in
#'write-region-internal. #'dontusethis-set-symbol-value-handler
is still broken for other reasons.
src/ChangeLog addition:
2009-06-14 Aidan Kehoe <kehoea@parhasard.net>
* eval.c (For):
* eval.c (Fand):
* eval.c (Fif):
* eval.c (Fwhen):
* eval.c (Fcond):
* eval.c (Fprogn):
* eval.c (Fprog1):
* eval.c (Fprog2):
* eval.c (FletX):
* eval.c (Flet):
* eval.c (Fwhile):
* eval.c (Fdefvar):
* eval.c (Fdefconst):
* eval.c (Frun_hooks):
* eval.c (Frun_hooks_with_args):
* eval.c (Frun_hooks_with_args_until_success):
* eval.c (Frun_hooks_with_args_until_failure):
Add arguments information, understood by #'function-arglist, to
all these special forms, functions and macros. Remove the
argument information that was already there that was not
understood by #'function-arglist.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Sun, 14 Jun 2009 15:07:13 +0100 |
parents | ad2f4ae9895b |
children | 87175eb65ff4 |
line wrap: on
line source
/* X-specific Lisp objects. Copyright (C) 1993, 1994 Free Software Foundation, Inc. Copyright (C) 1995 Board of Trustees, University of Illinois. Copyright (C) 1995, 1996, 2002 Ben Wing. This file is part of XEmacs. XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. XEmacs 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 General Public License for more details. You should have received a copy of the GNU General Public License along with XEmacs; see the file COPYING. 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. */ /* This file Mule-ized (more like Mule-verified) by Ben Wing, 7-10-00. */ #ifndef INCLUDED_objects_x_impl_h_ #define INCLUDED_objects_x_impl_h_ #include "objects-impl.h" #include "objects-x.h" #ifdef USE_XFT /* for resource name definitions, etc */ #include "../lwlib/lwlib-fonts.h" #endif #ifdef HAVE_X_WINDOWS /***************************************************************************** Color-Instance ****************************************************************************/ struct x_color_instance_data { XColor color; /* Yes, it looks crazy to have both the XColor and the XftColor, but pragmatically both are used. */ #ifdef USE_XFT XftColor xftColor; #endif char dealloc_on_gc; }; #define X_COLOR_INSTANCE_DATA(c) ((struct x_color_instance_data *) (c)->data) #define COLOR_INSTANCE_X_COLOR(c) (X_COLOR_INSTANCE_DATA (c)->color) #ifdef USE_XFT #define COLOR_INSTANCE_X_XFTCOLOR(c) (X_COLOR_INSTANCE_DATA (c)->xftColor) #endif #define COLOR_INSTANCE_X_DEALLOC(c) (X_COLOR_INSTANCE_DATA (c)->dealloc_on_gc) /***************************************************************************** Font-Instance ****************************************************************************/ struct x_font_instance_data { /* X-specific information */ /* Yes, it looks crazy to have both the XFontStruct and the XftFont, but pragmatically both are used (lwlib delegates labels to the widget sets, which internally use XFontStructs). */ XFontStruct * font; #ifdef USE_XFT XftFont *xftFont; #endif }; #define X_FONT_INSTANCE_DATA(f) ((struct x_font_instance_data *) (f)->data) #define FONT_INSTANCE_X_FONT(f) (X_FONT_INSTANCE_DATA (f)->font) #ifdef USE_XFT #define FONT_INSTANCE_X_XFTFONT(f) (X_FONT_INSTANCE_DATA (f)->xftFont) #endif #endif /* HAVE_X_WINDOWS */ #endif /* INCLUDED_objects_x_impl_h_ */