Mercurial > hg > xemacs-beta
view lwlib/Makefile.in.in @ 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 | 4aa8ee813265 |
children |
line wrap: on
line source
## Makefile for Lucid Widget Library ## Copyright (C) 1994 Lucid, Inc. ## Copyright (C) 1995 Tinker Systems and INS Engineering Corp. ## Copyright (C) 1994, 1995 Board of Trustees, University of Illinois ## Copyright (C) 1996, 1997 Sun Microsystems, Inc. ## Copyright (C) 2005 Ben Wing. ## This file is part of Lucid Widget Library. ## The Lucid Widget Library 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. ## The Lucid Widget Library 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 the Lucid Widget Library. If not, see ## <http://www.gnu.org/licenses/>. DESTDIR= ## For performance and consistency, no built-in rules .SUFFIXES: .SUFFIXES: .c .h .o .i .s srcdir=@srcdir@ @SET_MAKE@ SHELL=/bin/sh RM = rm -f AR = ar cq CC=@XEMACS_CC@ CPP=@CPP@ CFLAGS=@XE_CFLAGS@ CPPFLAGS=@CPPFLAGS@ RANLIB=@RANLIB@ #define NOT_C_CODE #include "../src/config.h" #ifdef USE_GNU_MAKE vpath %.c @srcdir@ vpath %.h @srcdir@ #else VPATH=@srcdir@ #endif objs = lwlib.o lwlib-utils.o lwlib-colors.o lwlib-fonts.o @lwlib_objs@ all: liblw.a c_switch_all=@c_switch_all@ cppflags = $(CPPFLAGS) -I. -I$(srcdir)/../src $(c_switch_all) cflags = $(CFLAGS) $(cppflags) #ifdef SOLARIS2 %.o : %.c #else .c.o: #endif $(CC) -c $(cflags) $< ## Create preprocessor output (debugging purposes only) .c.i: #ifdef __GNUC__ $(CC) -E $(cppflags) -o $@ $< #else /* works on Solaris; what about other systems? */ $(CC) -P $(cppflags) $< #endif /* compiler */ ## Create assembler output (debugging purposes only) .c.s: $(CC) -S -c $(cflags) $< liblw.a: $(objs) $(RM) $@ $(AR) $@ $(objs) @-test -n "$(RANLIB)" && $(RANLIB) $@ .PHONY: mostlyclean clean distclean realclean extraclean .PHONY: distclean-noconfig realclean-noconfig extraclean-noconfig mostlyclean: -$(RM) liblw.a liblw_pure_*.a *.o *.i core clean: mostlyclean distclean-noconfig: clean -$(RM) config.h TAGS ## This is used in making a distribution. ## Do not use it on development directories! distclean: distclean-noconfig -$(RM) GNUmakefile Makefile Makefile.in realclean-noconfig: distclean-noconfig realclean: distclean extraclean-noconfig: realclean-noconfig -$(RM) *~ \#* extraclean: realclean -$(RM) *~ \#* CONFIG_H = ../src/config.h config.h ## Following correct as of 19980312 lwlib-Xaw.o: $(CONFIG_H) lwlib-Xaw.h lwlib-internal.h lwlib.h xlwmenu.h xlwradio.h \ xlwgauge.h xlwcheckbox.h lwlib-Xlw.o: $(CONFIG_H) lwlib-Xlw.h lwlib-internal.h lwlib.h xlwmenu.h xlwscrollbar.h \ xlwtabs.h xlwgcs.h lwlib-Xm.o: $(CONFIG_H) lwlib-Xm.h lwlib-internal.h lwlib-utils.h lwlib.h xlwmenu.h lwlib-utils.o: $(CONFIG_H) lwlib-utils.h lwlib-colors.o: $(CONFIG_H) lwlib-colors.h lwlib-fonts.o: $(CONFIG_H) lwlib-fonts.h lwlib.o: $(CONFIG_H) lwlib-Xaw.h lwlib-Xlw.h lwlib-Xm.h lwlib-internal.h lwlib-utils.h lwlib.h xlwmenu.h xlwmenu.o: $(CONFIG_H) lwlib.h xlwmenu.h xlwmenuP.h xlwscrollbar.o: $(CONFIG_H) xlwscrollbar.h xlwscrollbarP.h xlwtabs.o: $(CONFIG_H) xlwtabs.h xlwtabsP.h xlwradio.o: $(CONFIG_H) xlwradio.h xlwradioP.h xlwcheckbox.o: $(CONFIG_H) xlwcheckbox.h xlwcheckboxP.h xlwgauge.o: $(CONFIG_H) xlwgauge.h xlwgaugeP.h xlwgcs.o: $(CONFIG_H) xlwgcs.h