Mercurial > hg > xemacs-beta
view nt/Emacs.ad.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 | e01bac102bc0 |
children |
line wrap: on
line source
/* Copyright (C) 1997 David Hobley 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/>. */ (String) "Emacs.modeline*attributeForeground: Black", (String) "Emacs.modeline*attributeBackground: Gray75", (String) "Emacs.text-cursor*attributeBackground: Red3", (String) "*menubar*Foreground: Gray30", (String) "*menubar*Background: Gray75", (String) "*menubar*buttonForeground: Blue", (String) "*XlwMenu*selectColor: ForestGreen", (String) "*XmToggleButton*selectColor: ForestGreen", (String) "*popup*Foreground: Black", (String) "*popup*Background: Gray75", (String) "*dialog*Foreground: Black", (String) "*dialog*Background: #A5C0C1", (String) "*dialog*XmTextField*Background: WhiteSmoke", (String) "*dialog*XmText*Background: WhiteSmoke", (String) "*dialog*XmList*Background: WhiteSmoke", (String) "*dialog*Command*Background: WhiteSmoke", (String) "*XlwScrollBar*Foreground: Gray30", (String) "*XlwScrollBar*Background: Gray75", (String) "*XmScrollBar*Foreground: Gray30", (String) "*XmScrollBar*Background: Gray75", (String) "*topToolBarShadowColor: Gray90", (String) "*bottomToolBarShadowColor: Gray40", (String) "*backgroundToolBarColor: Gray75", (String) "*toolBarShadowThickness: 2", (String) "*menubar*Font: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*", (String) "*popup*Font: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*", (String) "*XmDialogShell*FontList: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*", (String) "*XmTextField*FontList: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-*", (String) "*XmText*FontList: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-*", (String) "*XmList*FontList: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-*", (String) "*Dialog*Font: -*-helvetica-bold-r-*-*-*-140-*-*-*-*-iso8859-*", (String) "*dialog*button1.accelerators:#override\ <KeyPress>Return: ArmAndActivate()\\n\ <KeyPress>KP_Enter: ArmAndActivate()\\n\ Ctrl<KeyPress>m: ArmAndActivate()\\n", (String) "*XmTextField*translations: #override\\n\ !<Key>osfBackSpace: delete-previous-character()\\n\ !<Key>osfDelete: delete-previous-character()\\n\ !Ctrl<Key>h: delete-previous-character()\\n\ !Ctrl<Key>d: delete-next-character()\\n\ !Meta<Key>osfDelete: delete-previous-word()\\n\ !Meta<Key>osfBackSpace: delete-previous-word()\\n\ !Meta<Key>d: delete-next-word()\\n\ !Ctrl<Key>k: delete-to-end-of-line()\\n\ !Ctrl<Key>g: process-cancel()\\n\ !Ctrl<Key>b: backward-character()\\n\ !<Key>osfLeft: backward-character()\\n\ !Ctrl<Key>f: forward-character()\\n\ !<Key>osfRight: forward-character()\\n\ !Meta<Key>b: backward-word()\\n\ !Meta<Key>osfLeft: backward-word()\\n\ !Meta<Key>f: forward-word()\\n\ !Meta<Key>osfRight: forward-word()\\n\ !Ctrl<Key>e: end-of-line()\\n\ !Ctrl<Key>a: beginning-of-line()\\n\ !Ctrl<Key>w: cut-clipboard()\\n\ !Meta<Key>w: copy-clipboard()\\n\ <Btn2Up>: copy-primary()\\n", (String) "*dialog*XmPushButton*translations:#override\\n\ <Btn1Down>: Arm()\\n\ <Btn1Down>,<Btn1Up>: Activate()\ Disarm()\\n\ <Btn1Down>(2+): MultiArm()\\n\ <Btn1Up>(2+): MultiActivate()\\n\ <Btn1Up>: Activate()\ Disarm()\\n\ <Key>osfSelect: ArmAndActivate()\\n\ <Key>osfActivate: ArmAndActivate()\\n\ <Key>osfHelp: Help()\\n\ ~Shift ~Meta ~Alt <Key>Return: ArmAndActivate()\\n\ <EnterWindow>: Enter()\\n\ <LeaveWindow>: Leave()\\n", (String) "*ximStyles: XIMPreeditPosition|XIMStatusArea\ XIMPreeditPosition|XIMStatusNothing\ XIMPreeditPosition|XIMStatusNone\ XIMPreeditNothing|XIMStatusArea\ XIMPreeditNothing|XIMStatusNothing\ XIMPreeditNothing|XIMStatusNone\ XIMPreeditNone|XIMStatusArea\ XIMPreeditNone|XIMStatusNothing\ XIMPreeditNone|XIMStatusNone", (String) "*EmacsFrame.ximForeground: black", (String) "*EmacsFrame.ximBackground: white",