From 16ccc3d066711098e15ee8e678b249e0b9379990 Mon Sep 17 00:00:00 2001 From: dos-reis Date: Tue, 10 Feb 2009 00:13:01 +0000 Subject: * interp/i-spec2.boot (upDollar): Fix thinko. * interp/compat.boot (editFile): Tidy. * interp/br-op2.boot (modemap2Sig): Don't update $badStack.xo --- src/ChangeLog | 6 ++++++ src/interp/br-op2.boot | 3 +-- src/interp/compat.boot | 9 ++++++--- src/interp/i-spec2.boot | 4 ++-- src/interp/i-syscmd.boot | 22 ++++++++++------------ src/lisp/Makefile.in | 3 +++ src/lisp/core.lisp.in | 3 +++ 7 files changed, 31 insertions(+), 19 deletions(-) (limited to 'src') diff --git a/src/ChangeLog b/src/ChangeLog index 681f5356..79db4323 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2009-02-09 Gabriel Dos Reis + + * interp/i-spec2.boot (upDollar): Fix thinko. + * interp/compat.boot (editFile): Tidy. + * interp/br-op2.boot (modemap2Sig): Don't update $badStack.xo + 2009-02-08 Gabriel Dos Reis * interp/i-spec2.boot (constantInDomain?): Move from i-coerce.boot. diff --git a/src/interp/br-op2.boot b/src/interp/br-op2.boot index 9ef668ee..f4d259dd 100644 --- a/src/interp/br-op2.boot +++ b/src/interp/br-op2.boot @@ -1,6 +1,6 @@ -- Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd. -- All rights reserved. --- Copyright (C) 2007, Gabriel Dos Reis. +-- Copyright (C) 2007-2009, Gabriel Dos Reis. -- All rights reserved. -- -- Redistribution and use in source and binary forms, with or without @@ -578,7 +578,6 @@ modemap2Sig(op,mm) == pp predList pp nsig pp mm - $badStack := [[op, mm], :$badStack] --pause nsig [predList, origin, substitute("%", origin, nsig)] diff --git a/src/interp/compat.boot b/src/interp/compat.boot index bdda2846..b5082786 100644 --- a/src/interp/compat.boot +++ b/src/interp/compat.boot @@ -57,9 +57,12 @@ system() == terminateSystemCommand() editFile file == - MEMQ(INTERN('"WIN32",FIND_-PACKAGE("KEYWORD")),_*FEATURES_*) => - runCommand STRCONC('"notepad ", namestring pathname file) - runCommand STRCONC('"$AXIOM/lib/SPADEDIT ",namestring pathname file) + editProg := + %hasFeature KEYWORD::WIN32 => '"notepad" + prog := getEnv '"EDITOR" => prog + # $EditorProgram ^= 0 => $EditorProgram + return nil -- FIXME: Should we not notify user? + runCommand STRCONC(editProg,'" ",namestring pathname file) makeBigFloat(mantissa,expon) == [$BFtag,mantissa,:expon] diff --git a/src/interp/i-spec2.boot b/src/interp/i-spec2.boot index 38c1f021..0f158a2b 100644 --- a/src/interp/i-spec2.boot +++ b/src/interp/i-spec2.boot @@ -1,6 +1,6 @@ -- Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd. -- All rights reserved. --- Copyright (C) 2007-2008, Gabriel Dos Reis. +-- Copyright (C) 2007-2009, Gabriel Dos Reis. -- All rights reserved. -- -- Redistribution and use in source and binary forms, with or without @@ -123,7 +123,7 @@ upDollar t == type := constantInDomain?([f],t) => type ^= true => findConstantInDomain(op,f,type,t) -- Ambiguous constant. FIXME: try to narrow before giving up. - throwKeyedMsg("S2IB0008h",[c,t]) + throwKeyedMsg("S2IB0008h",[f,t]) findUniqueOpInDomain(op,f,t) nargs := #rest form diff --git a/src/interp/i-syscmd.boot b/src/interp/i-syscmd.boot index c936105e..ec6a4d2e 100644 --- a/src/interp/i-syscmd.boot +++ b/src/interp/i-syscmd.boot @@ -833,8 +833,8 @@ compileSpad2Cmd args == throwKeyedMsg("S2IZ0036",[STRCONC('")",object2String optname)]) $InteractiveMode : local := nil - -- avoid transformations based on syntax only - $normalizeTree := false + -- avoid Boolean semantics transformations based on syntax only + $normalizeTree: local := false if translateOldToNew then spad2AsTranslatorAutoloadOnceTrigger() sayKeyedMsg("S2IZ0085", nil) @@ -855,8 +855,6 @@ convertSpadToAsFile path == $globalMacroStack : local := nil -- for spad -> as translator $abbreviationStack: local := nil -- for spad -> as translator $macrosAlreadyPrinted: local := nil -- for spad -> as translator - SETQ($badStack, nil) --ditto TEMP to check for bad code - $newPaths: local := true --ditto TEMP $abbreviationsAlreadyPrinted: local := nil -- for spad -> as translator $convertingSpadFile : local := true $options: local := '((nolib)) -- translator shouldn't create nrlibs @@ -1142,8 +1140,8 @@ fixObjectForPrinting(v) == v displayProperties(option,l) == - $dependentAlist : local - $dependeeAlist : local + $dependentAlist : local := nil + $dependeeAlist : local := nil [opt,:vl]:= (l or ['properties]) imacs := getInterpMacroNames() pmacs := getParserMacroNames() @@ -1280,7 +1278,7 @@ editSpad2Cmd l == l:= null l => _/EDITFILE CAR l - l := pathname l + l := pathname STRING l oldDir := pathnameDirectory l fileTypes := pathnameType l => [pathnameType l] @@ -1326,7 +1324,7 @@ newHelpSpad2Cmd args == null (helpFile := MAKE_-INPUT_-FILENAME [narg,'HELPSPAD,'_*]) => NIL $useFullScreenHelp => - runCommand STRCONC('"$AXIOM/lib/SPADEDIT ",namestring helpFile) + editFile helpFile true filestream := MAKE_-INSTREAM(helpFile) @@ -2290,7 +2288,7 @@ reportCount () == --% )library library args == origDir := GET_-CURRENT_-DIRECTORY() - $newConlist := [] + $newConlist: local := nil -- Users typically specify abbreviations without quotes. LOCALDATABASE([STRING a for a in args],$options) extendLocalLibdb $newConlist @@ -2600,9 +2598,9 @@ spool filename == SETQ(_*TRACE_-OUTPUT_*,_*STANDARD_-OUTPUT_*) TERPRI() resetHighlight() - PROBE_-FILE car filename => - systemError CONCAT('"file ", STRING car filename, '" already exists") - DRIBBLE car filename + PROBE_-FILE STRING first filename => + systemError CONCAT('"file ", STRING first filename, '" already exists") + DRIBBLE STRING first filename SETQ(_*TRACE_-OUTPUT_*,_*STANDARD_-OUTPUT_*) TERPRI() clearHighlight() diff --git a/src/lisp/Makefile.in b/src/lisp/Makefile.in index c187df70..94d88729 100644 --- a/src/lisp/Makefile.in +++ b/src/lisp/Makefile.in @@ -128,6 +128,8 @@ $(oa_base_lisp_linkset): $(oa_target_lispdir)/core.$(LNKEXT) axiom_optimize_options = @axiom_optimize_options@ +oa_editor = @oa_editor@ + void_type = @void_type@ char_type = @char_type@ int_type = @int_type@ @@ -138,6 +140,7 @@ string_type = @string_type@ edit = sed \ -e 's|@open_axiom_installdir[@]|$(open_axiom_installdir)|g' \ -e 's|@axiom_optimize_options[@]|$(axiom_optimize_options)|g' \ + -e 's|@oa_editor[@]|$(oa_editor)|g' \ -e 's|@host[@]|$(host)|g' \ -e 's|@build[@]|$(build)|g' \ -e 's|@target[@]|$(target)|g' \ diff --git a/src/lisp/core.lisp.in b/src/lisp/core.lisp.in index 6cf8744d..53643489 100644 --- a/src/lisp/core.lisp.in +++ b/src/lisp/core.lisp.in @@ -129,6 +129,7 @@ ;; Lisp compiler optimization settings. (defconstant |$LispOptimizeOptions| '(@axiom_optimize_options@)) + (proclaim '(optimize @axiom_optimize_options@)) ;; Return true if the full OpenAxiom algebra system is completed @@ -195,6 +196,8 @@ (cond (|$useDynamicLink| "@SHREXT@") (t ".@LIBEXT@"))) +(defconstant |$EditorProgram| "@oa_editor@") + ;; Base name of the native core runtime library (defconstant |$CoreLibName| "open-axiom-core") -- cgit v1.2.3