Mercurial > hg > xemacs-beta
view src/ui-gtk.h @ 5615:5f4f92a31875
Move the functionality of #'cl-macroexpand into Fmacroexpand, eval.c
src/ChangeLog addition:
2011-12-22 Aidan Kehoe <kehoea@parhasard.net>
* eval.c (Fmacroexpand): Rename Fmacroexpand_internal, add the
functionality that used to be in #'cl-macroexpand--it makes no
sense for us, and needlessly slows things down, to have two
separate functions.
* eval.c:
* eval.c (syms_of_eval):
Move byte-compile-macro-environment here, now it's used by
#'macroexpand.
lisp/ChangeLog addition:
2011-12-22 Aidan Kehoe <kehoea@parhasard.net>
* bytecomp-runtime.el:
* bytecomp-runtime.el (byte-compile-macro-environment): Moved to
eval.c.
* cl.el:
* cl.el ('cl-macroexpand): New alias.
* cl.el ('macroexpand-internal): New alias.
* cl.el (cl-macroexpand): Move the functionality of this to
#'macroexpand (formerly #'macroexpand-internal) in eval.c; since
CL is always loaded in XEmacs, it brings nothing and slows things
down to have the two functions separate.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Thu, 22 Dec 2011 12:51:03 +0000 |
parents | 2aa9cd456ae7 |
children |
line wrap: on
line source
/* ui-gtk.h ** ** Description: ** ** Created by: William M. Perry ** Copyright (c) 2000 Aventail Corporation ** ** 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 3 of the License, 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. If not, see <http://www.gnu.org/licenses/>. */ #ifndef __UI_GTK_H__ #define __UI_GTK_H__ /* Encapsulate a foreign function call */ #include "sysgtk.h" #include "sysdll.h" typedef void (*ffi_actual_function) (void); typedef void (*ffi_marshalling_function) (ffi_actual_function, GtkArg *); #define MAX_GTK_ARGS 100 typedef struct { NORMAL_LISP_OBJECT_HEADER header; GtkType return_type; GtkType args[MAX_GTK_ARGS]; gint n_args; Lisp_Object function_name; dll_func function_ptr; ffi_marshalling_function marshal; } emacs_ffi_data; DECLARE_LISP_OBJECT (emacs_ffi, emacs_ffi_data); #define XFFI(x) XRECORD (x, emacs_ffi, emacs_ffi_data) #define wrap_emacs_ffi(p) wrap_record (p, emacs_ffi) #define FFIP(x) RECORDP (x, emacs_ffi) #define CHECK_FFI(x) CHECK_RECORD (x, emacs_ffi) /* Encapsulate a GtkObject in Lisp */ typedef struct { NORMAL_LISP_OBJECT_HEADER header; gboolean alive_p; GtkObject *object; Lisp_Object plist; } emacs_gtk_object_data; DECLARE_LISP_OBJECT (emacs_gtk_object, emacs_gtk_object_data); #define XGTK_OBJECT(x) XRECORD (x, emacs_gtk_object, emacs_gtk_object_data) #define wrap_emacs_gtk_object(p) wrap_record (p, emacs_gtk_object) #define GTK_OBJECTP(x) RECORDP (x, emacs_gtk_object) #define CHECK_GTK_OBJECT(x) CHECK_RECORD (x, emacs_gtk_object) extern Lisp_Object build_gtk_object (GtkObject *obj); /* Encapsulate a GTK_TYPE_BOXED in lisp */ typedef struct { NORMAL_LISP_OBJECT_HEADER header; GtkType object_type; void *object; } emacs_gtk_boxed_data; DECLARE_LISP_OBJECT (emacs_gtk_boxed, emacs_gtk_boxed_data); #define XGTK_BOXED(x) XRECORD (x, emacs_gtk_boxed, emacs_gtk_boxed_data) #define wrap_emacs_gtk_boxed(p) wrap_record (p, emacs_gtk_boxed) #define GTK_BOXEDP(x) RECORDP (x, emacs_gtk_boxed) #define CHECK_GTK_BOXED(x) CHECK_RECORD (x, emacs_gtk_boxed) extern Lisp_Object build_gtk_boxed (void *obj, GtkType t); #endif /* __UI_GTK_H__ */