From 5709e0b621dc56491d4b52782f190744be2ca0a1 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bj=C3=B6rn=20Lindqvist?= Date: Sun, 28 Jan 2018 03:48:09 +0100 Subject: [PATCH] FUEL: improved fuel-get-uses The path to the source file needs to be set when parsing, in case a syntax word uses 'where' or some similar word. --- extra/fuel/fuel.factor | 27 ++++++++++++++------------- misc/fuel/fuel-debug-uses.el | 2 +- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/extra/fuel/fuel.factor b/extra/fuel/fuel.factor index 6e847cf625..81b0022dc1 100644 --- a/extra/fuel/fuel.factor +++ b/extra/fuel/fuel.factor @@ -1,8 +1,8 @@ ! Copyright (C) 2008, 2009 Jose Antonio Ortega Ruiz. ! See http://factorcode.org/license.txt for BSD license. -USING: accessors assocs compiler.units continuations fuel.eval +USING: accessors assocs compiler.units continuations fry fuel.eval fuel.help fuel.xref help.topics io.pathnames kernel namespaces parser -parser.notes sequences tools.scaffold vocabs vocabs.files +parser.notes sequences source-files tools.scaffold vocabs vocabs.files vocabs.hierarchy vocabs.loader vocabs.metadata vocabs.parser words ; IN: fuel @@ -48,12 +48,6 @@ SYMBOL: :uses-suggestions [ manifest get auto-used>> clone :uses prefix fuel-eval-set-result ] print-use-hook set ; -: get-uses ( lines -- ) - [ - parser-quiet? on - parse-fresh drop - ] curry with-compilation-unit ; inline - PRIVATE> : fuel-use-suggested-vocabs ( ..a suggestions quot: ( ..a -- ..b ) -- ..b ) @@ -61,13 +55,20 @@ PRIVATE> [ try-suggested-restarts rethrow ] recover ; inline : fuel-run-file ( path -- ) - [ set-use-hook run-file ] curry with-scope ; inline + '[ _ set-use-hook run-file ] with-scope ; inline : fuel-with-autouse ( ..a quot: ( ..a -- ..b ) -- ..b ) - [ set-use-hook call ] curry with-scope ; inline - -: fuel-get-uses ( lines -- ) - [ get-uses ] curry fuel-with-autouse ; + '[ _ set-use-hook call ] with-scope ; inline + +: fuel-get-uses ( name lines -- ) + '[ + [ + _ [ + parser-quiet? on + _ parse-fresh drop + ] with-source-file + ] with-compilation-unit + ] fuel-with-autouse ; ! Edit locations diff --git a/misc/fuel/fuel-debug-uses.el b/misc/fuel/fuel-debug-uses.el index 119d17ad0e..c27d749d3a 100644 --- a/misc/fuel/fuel-debug-uses.el +++ b/misc/fuel/fuel-debug-uses.el @@ -109,7 +109,7 @@ (let* ((lines (fuel-debug--file-lines file)) (old-usings (fuel-debug--current-usings file)) (cmd `(:fuel ((V{ ,@old-usings } - [ V{ ,@lines } fuel-get-uses ] + [ ,file V{ ,@lines } fuel-get-uses ] fuel-use-suggested-vocabs)) t t))) (fuel-debug--uses-prepare file) (with-current-buffer (fuel-debug--uses-buffer) -- 2.34.1