Skip to content

Flycheck failure for scaffold.janet #105

@sogaiu

Description

@sogaiu

I noticed that janet's [1] flychecking reports an error for scaffold.janet:

$ janet -k scaffold.janet 
error: scaffold.janet:42:1: compile error: (macro) grammar error in nil, unexpected peg source
  in peg/match [src/core/peg.c] on line 1904
  in make-template [scaffold.janet] on line 19, column 14
  in deftemplate [scaffold.janet] on line 32, column 34
  in dofile [boot.janet] (tail call) on line 3107, column 7

The following smaller sample seems to reproduce:

(def template-peg
  (peg/compile 1))

(defn make-template
  []
  (peg/match template-peg ""))

(defmacro deftemplate
  [template-name body]
  (make-template))

(deftemplate project-template
  ``
  fun
  ``)

One thing that seemed to work was to apply *flychecking* from Janet v1.40.0 like this:

(def template-peg
  (peg/compile 1))

(defn make-template
  []
  (if (dyn *flychecking*)
    (peg/match 1 "")
    (peg/match template-peg "")))

(defmacro deftemplate
  [template-name body]
  (make-template))

(deftemplate project-template
  ``
  fun
  ``)

But may be there's a nicer way.

Any ideas?


[1] For recent janet versions 1.39.1 through 1.40.1.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions