diff options
author | Bjørn Erik Pedersen <[email protected]> | 2022-09-01 09:26:27 +0200 |
---|---|---|
committer | Bjørn Erik Pedersen <[email protected]> | 2022-09-01 12:13:23 +0200 |
commit | 8e5044d7f5af5f3454e65860809f4a23692a0b00 (patch) | |
tree | dc3bb2c595f09ac55db645621e8ad6b7851270cc /hugolib/page.go | |
parent | 5046a6c7ca1cec914c5f1347799bb30a9d45854a (diff) | |
download | hugo-8e5044d7f5af5f3454e65860809f4a23692a0b00.tar.gz hugo-8e5044d7f5af5f3454e65860809f4a23692a0b00.zip |
Fix shortcode parser regression with quoted param values
This issue was introduced in `v0.102.0`.
In 223bf2800488ad5d38854bbb595d789bc35ebe32 we removed the byte source from the parsed page result, which
meant we had to preserve exact positioning for all elements. This introduced some new `TypeIgnore` tokens
which we, wrongly, assumed didn't matter where we put in the result slice (they should be ignored anyway).
But it seems that this broke the logic where we determine if it's positional or named params in the case
where the paramater value contains escaped quoutes.
This commit makes sure that these ignore tokens (the back slashes) are never sent back to the client, which is how it was before `v0.102.0`.
This commit also fixes some lost error information in that same commit.
Fixes #10236
Diffstat (limited to 'hugolib/page.go')
-rw-r--r-- | hugolib/page.go | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/hugolib/page.go b/hugolib/page.go index 4752d11f1..37bf528c7 100644 --- a/hugolib/page.go +++ b/hugolib/page.go @@ -39,8 +39,6 @@ import ( "github.com/gohugoio/hugo/common/herrors" "github.com/gohugoio/hugo/parser/metadecoders" - "errors" - "github.com/gohugoio/hugo/parser/pageparser" "github.com/gohugoio/hugo/output" @@ -762,7 +760,7 @@ Loop: case it.IsEOF(): break Loop case it.IsError(): - err := fail(errors.New(it.ValStr(result.Input())), it) + err := fail(it.Err, it) currShortcode.err = err return err |