andreasKroepelin / polylux

A package for creating slides in Typst
https://polylux.dev/book
MIT License
1.18k stars 55 forks source link

Replace uses of locate(loc => {}) with context expressions #180

Open 2xsaiko opened 4 months ago

2xsaiko commented 4 months ago

locate() with function argument is deprecated. Generally

#let fn() = {
  locate(loc => {
    let value = state.at(loc)

    // ...
  })
}

can be replaced with

#let fn() = context {
  let value = state.get()

  // ...
}

and if you actually need a position reference like the loc parameter, you can use the here() function. https://typst.app/docs/reference/introspection/here/

From https://typst.app/docs/reference/introspection/locate/:

Compatibility

In Typst 0.10 and lower, the locate function took a closure that made the current location in the document available (like here does now). Compatibility with the old way will remain for a while to give package authors time to upgrade. To that effect, locate detects whether it received a selector or a user-defined function and adjusts its semantics accordingly. This behaviour will be removed in the future.