Mercurial > hg > xemacs-beta
view src/gtk-xemacs.h @ 5916:1152e0091f8c
Avoid confusion about ELC vs. source file encoding, #'load, #'load-internal.
lisp/ChangeLog addition:
2015-06-03 Aidan Kehoe <kehoea@parhasard.net>
* code-files.el (load):
Revise this to respect load-ignore-out-of-date-elc-files, rather
than leaving that to #'load-internal. Avoids a corner case where
the source and the compiled file have different, incompatible
encodings.
Move the call to #'substitute-in-file-name here.
No longer check for a zero-length filename, since #'load-internal
no longer chokes on same and errors correctly.
src/ChangeLog addition:
2015-06-03 Aidan Kehoe <kehoea@parhasard.net>
* lread.c (Fload_internal):
Delegate calling the handler and #'substitute-in-file-name to #'load.
Error correctly with a zero-length file name, instead of giving a
bus error on my machine.
Delegate the check for out-of-date ELC files to #'load,
avoiding a bug where the encoding of the ELC file and the source
file differed.
* lread.c (PRINT_LOADING_MESSAGE_1):
This is simplified, now we no longer have to talk about
out-of-date ELC files.
tests/ChangeLog addition:
2015-06-03 Aidan Kehoe <kehoea@parhasard.net>
* automated/file-tests.el:
Gross sanity check for #'load and #'load-internal with a
zero-length FILE, something that crashed until today.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Wed, 03 Jun 2015 20:13:07 +0100 |
parents | 2aa9cd456ae7 |
children |
line wrap: on
line source
/* gtk-xemacs.h ** ** Description: A widget to encapsulate a XEmacs 'text widget' ** ** Created by: William M. Perry ** Copyright (c) 2000 William M. Perry <wmperry@gnu.org> ** ** 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 __GTK_XEMACS_H__ #define __GTK_XEMACS_H__ BEGIN_C_DECLS #define GTK_XEMACS(obj) GTK_CHECK_CAST (obj, gtk_xemacs_get_type (), GtkXEmacs) #define GTK_XEMACS_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_xemacs_get_type (), GtkXEmacsClass) #define GTK_IS_XEMACS(obj) GTK_CHECK_TYPE (obj, gtk_xemacs_get_type ()) #define GTK_XEMACS_FRAME(obj) GTK_XEMACS (obj)->f typedef struct _GtkXEmacs GtkXEmacs; typedef struct _GtkXEmacsClass GtkXEmacsClass; struct _GtkXEmacs { GtkFixed fixed; struct frame *f; }; struct _GtkXEmacsClass { GtkFixedClass parent_class; }; guint gtk_xemacs_get_type (void); GtkWidget *gtk_xemacs_new (struct frame *f); END_C_DECLS #endif /* __GTK_XEMACS_H__ */