]> gitweb.factorcode.org Git - factor.git/commitdiff
FUEL: improved fuel-get-uses
authorBjörn Lindqvist <bjourne@gmail.com>
Sun, 28 Jan 2018 02:48:09 +0000 (03:48 +0100)
committerBjörn Lindqvist <bjourne@gmail.com>
Mon, 29 Jan 2018 11:12:07 +0000 (12:12 +0100)
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
misc/fuel/fuel-debug-uses.el

index 6e847cf6251b308d15d8d7ae78f9098d54d0d28c..81b0022dc1792831ec68db92110e81f68fd4c113 100644 (file)
@@ -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
 
index 119d17ad0e01917a01194f9d04cda545ef678906..c27d749d3a4bb6d6541c0d2c20d0a990cdcc8072 100644 (file)
   (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)