./devel/lua-penlight, Lua libraries for functional programming, OS path management, etc

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 1.13.1, Package name: lua54-penlight-1.13.1, Maintainer: pkgsrc-users

A set of pure Lua libraries focusing on input data handling (such as
reading configuration files), functional programming (such as map,
reduce, placeholder expressions,etc), and OS path management. Much
of the functionality is inspired by the Python standard libraries.


Required to run:
[devel/lua-filesystem] [lang/lua53]

Required to build:
[pkgtools/cwrappers]

Master sites:


Version history: (Expand)


CVS history: (Expand)


   2023-03-31 02:22:11 by Joerg Sonnenberger | Files touched by this commit (2)
Log message:
lua-penlight 1.13.1:

fix: warn unquoted argument
fix: xml.parse returned nonsense when given a file name
feat: app.require_here now follows symlink'd main modules to their directory
fix: pretty.write invalid order function for sorting
fix: compat.warn raised write guard warning in OpenResty
feat: utils.enum now accepts hash tables, to enable better error handling
feat: utils.kpairs new iterator over all non-integer keys
fix: warn use rawget to not trigger strict-checkers
fix: lapp provides the file name when using the default argument
fix: lapp positional arguments now allow digits after the first character
fix: path.isdir windows root directories (including drive letter) were not \ 
considered valid
   2022-02-13 12:39:39 by Nia Alarie | Files touched by this commit (2) | Package updated
Log message:
lua-penlight: update to 1.12.0

## 1.12.0 (2022-Jan-10)
 - deprecate: module `pl.text` the contents have moved to `pl.stringx` (removal \ 
later)
   [#407](https://github.com/lunarmodules/Penlight/pull/407)
 - deprecate: module `pl.xml`, please switch to a more specialized library \ 
(removal later)
   [#409](https://github.com/lunarmodules/Penlight/pull/409)
 - feat: `utils.npairs` added. An iterator with a range that honours the `n` field
   [#387](https://github.com/lunarmodules/Penlight/pull/387)
 - fix: `xml.maptags` would hang if it encountered text-nodes
   [#396](https://github.com/lunarmodules/Penlight/pull/396)
 - fix: `text.dedent` didn't handle declining indents nor empty lines
   [#402](https://github.com/lunarmodules/Penlight/pull/402)
 - fix: `dir.getfiles`, `dir.getdirectories`, and `dir.getallfiles` now have the
   directory optional, as was already documented
   [#405](https://github.com/lunarmodules/Penlight/pull/405)
 - feat: `array2d.default_range` now also takes a spreadsheet range, which means
   also other functions now take a range. \ 
[#404](https://github.com/lunarmodules/Penlight/pull/404)
 - fix: `lapp` enums allow [patterns magic \ 
characters](https://www.lua.org/pil/20.2.html)
   [#393](https://github.com/lunarmodules/Penlight/pull/393)
 - fix: `text.wrap` and `text.fill` numerous fixes for handling whitespace,
   accented characters, honouring width, etc.
   [#400](https://github.com/lunarmodules/Penlight/pull/400)
 - feat: `text.wrap` and `text.fill` have a new parameter to forcefully break words
   longer than the width given.
   [#400](https://github.com/lunarmodules/Penlight/pull/400)
 - fix: `stringx.expandtabs` could error out on Lua 5.3+
   [#406](https://github.com/lunarmodules/Penlight/pull/406)
 - fix: `pl` the module would not properly forward the `newindex` metamethod
   on the global table.
   [#395](https://github.com/lunarmodules/Penlight/pull/395)
 - feat: `utils.enum` added to create enums and prevent magic strings
   [#408](https://github.com/lunarmodules/Penlight/pull/408)
 - change: `xml.new` added some sanity checks on input
   [#397](https://github.com/lunarmodules/Penlight/pull/397)
 - added: `xml.xml_escape` and `xml.xml_unescape` functions (previously private)
   [#397](https://github.com/lunarmodules/Penlight/pull/397)
 - feat: `xml.tostring` now also takes numeric indents (previously only strings)
   [#397](https://github.com/lunarmodules/Penlight/pull/397)
 - fix: `xml.walk` now detects recursion (errors out)
   [#397](https://github.com/lunarmodules/Penlight/pull/397)
 - fix: `xml.clone` now detects recursion (errors out)
   [#397](https://github.com/lunarmodules/Penlight/pull/397)
 - fix: `xml.compare` now detects recursion (errors out)
   [#397](https://github.com/lunarmodules/Penlight/pull/397)
 - fix: `xml.compare` text compares now work
   [#397](https://github.com/lunarmodules/Penlight/pull/397)
 - fix: `xml.compare` attribute order compares now only compare if both inputs \ 
provide an order
   [#397](https://github.com/lunarmodules/Penlight/pull/397)
 - fix: `xml.compare` child comparisons failing now report proper error
   [#397](https://github.com/lunarmodules/Penlight/pull/397)
   2021-12-10 14:16:20 by Nia Alarie | Files touched by this commit (2) | Package updated
Log message:
lua-penlight: update to 1.11.0

## 1.11.0 (2021-08-18)

 - fix: `stringx.strip` behaved badly with string lengths > 200
 - fix: `path.currentdir` now takes no arguments and calls `lfs.currentdir` \ 
without argument
 - feat: `utils.raise_deprecation` now has an option to NOT include a
   stack-trace
   2021-10-26 12:20:11 by Nia Alarie | Files touched by this commit (3016)
Log message:
archivers: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

Could not be committed due to merge conflict:
devel/py-traitlets/distinfo

The following distfiles were unfetchable (note: some may be only fetched
conditionally):

./devel/pvs/distinfo pvs-3.2-solaris.tgz
./devel/eclipse/distinfo eclipse-sourceBuild-srcIncluded-3.0.1.zip
   2021-10-07 15:44:44 by Nia Alarie | Files touched by this commit (3017)
Log message:
devel: Remove SHA1 hashes for distfiles
   2021-05-13 12:19:09 by Nia Alarie | Files touched by this commit (2) | Package updated
Log message:
lua-penlight: update to 1.10.0

## 1.10.0 (2021-04-27)

 - deprecate: `permute.iter`, renamed to `permute.order_iter` (removal later)
   [#360](https://github.com/lunarmodules/Penlight/pull/360)
 - deprecate: `permute.table`, renamed to `permute.order_table` (removal later)
   [#360](https://github.com/lunarmodules/Penlight/pull/360)
 - deprecate: `Date` module (removal later)
   [#367](https://github.com/lunarmodules/Penlight/pull/367)
 - feat: `permute.list_iter` to iterate over different sets of values
   [#360](https://github.com/lunarmodules/Penlight/pull/360)
 - feat: `permute.list_table` generate table with different sets of values
   [#360](https://github.com/lunarmodules/Penlight/pull/360)
 - feat: Lua 5.4 'warn' compatibility function
   [#366](https://github.com/lunarmodules/Penlight/pull/366)
 - feat: deprecation functionality `utils.raise_deprecation`
   [#361](https://github.com/lunarmodules/Penlight/pull/361)
 - feat: `utils.splitv` now takes same args as `split`
   [#373](https://github.com/lunarmodules/Penlight/pull/373)
 - fix: `dir.rmtree` failed to remove symlinks to directories
   [#365](https://github.com/lunarmodules/Penlight/pull/365)
 - fix: `pretty.write` could error out on failing metamethods (Lua 5.3+)
   [#368](https://github.com/lunarmodules/Penlight/pull/368)
 - fix: `app.parse` now correctly parses values containing '=' or ':'
   [#373](https://github.com/lunarmodules/Penlight/pull/373)
 - fix: `dir.makepath` failed to create top-level directories
   [#372](https://github.com/lunarmodules/Penlight/pull/372)
 - overhaul: `array2d` module was updated, got additional tests and several
   documentation updates
   [#377](https://github.com/lunarmodules/Penlight/pull/377)
 - feat: `aray2d` now accepts negative indices
 - feat: `array2d.row` added to align with `column`
 - fix: bad error message in `array2d.map`
 - fix: `array2d.flatten` now ensures to deliver a 'square' result if `nil` is
   encountered
 - feat: `array2d.transpose` added
 - feat: `array2d.swap_rows` and `array2d.swap_cols` now return the array
 - fix: `aray2d.range` correctly recognizes `R` column in spreadsheet format, was
   mistaken for `R1C1` format.
 - fix: `aray2d.range` correctly recognizes 2 char column in spreadsheet format
 - feat: `array2d.default_range` added (previously private)
 - feat: `array2d.set` if used with a function now passes `i,j` to the function
   in line with the `new` implementation.
 - fix: `array2d.iter` didn't properly iterate the indices
   [#376](https://github.com/lunarmodules/Penlight/issues/376)
 - feat: `array2d.columns` now returns a second value; the column index
 - feat: `array2d.rows` added to be in line with `columns`

## 1.9.2 (2020-09-27)

 - fix: dir.walk [#350](https://github.com/lunarmodules/Penlight/pull/350)

## 1.9.1 (2020-09-24)

 - released to superseed the 1.9.0 version which was retagged in git after some
   distro's already had picked it up. This version is identical to 1.8.1.

## 1.8.1 (2020-09-24) (replacing a briefly released but broken 1.9.0 version)

## Fixes

  - In `pl.class`, `_init` can now be inherited from grandparent (or older \ 
ancestor) classes. [#289](https://github.com/lunarmodules/Penlight/pull/289)
  - Fixes `dir`, `lexer`, and `permute` to no longer use coroutines. \ 
[#344](https://github.com/lunarmodules/Penlight/pull/344)
   2020-11-23 21:06:46 by Nia Alarie | Files touched by this commit (2)
Log message:
lua-penlight: Update to 1.9.1

## 1.9.1 (2020-09-27)

 - fix: dir.walk [#350](https://github.com/lunarmodules/Penlight/pull/350)

## 1.9.1 (2020-09-24)

 - released to superseed the 1.9.0 version which was retagged in git after some
   distro's already had picked it up. This version is identical to 1.8.1.

## 1.8.1 (2020-09-24) (replacing a briefly released but broken 1.9.0 version)

## Fixes

  - In `pl.class`, `_init` can now be inherited from grandparent (or older \ 
ancestor) classes. [#289](https://github.com/lunarmodules/Penlight/pull/289)
  - Fixes `dir`, `lexer`, and `permute` to no longer use coroutines. \ 
[#344](https://github.com/lunarmodules/Penlight/pull/344)

## 1.8.0 (2020-08-05)

### New features

  - `pretty.debug` quickly dumps a set of values to stdout for debug purposes

### Changes

  - `pretty.write`: now also sorts non-string keys \ 
[#319](https://github.com/lunarmodules/Penlight/pull/319)
  - `stringx.count` has an extra option to allow overlapping matches
    [#326](https://github.com/lunarmodules/Penlight/pull/326)
  - added an extra changelog entry for `types.is_empty` on the 1.6.0 changelog, due
    to additional fixed behaviour not called out appropriately \ 
[#313](https://github.com/lunarmodules/Penlight/pull/313)
  - `path.packagepath` now returns a proper error message with names tried if
    it fails

### Fixes

  - Fix: `stringx.rfind` now properly works with overlapping matches
    [#314](https://github.com/lunarmodules/Penlight/pull/314)
  - Fix: `package.searchpath` (in module `pl.compat`)
    [#328](https://github.com/lunarmodules/Penlight/pull/328)
  - Fix: `path.isabs` now reports drive + relative-path as `false`, eg. \ 
"c:some/path" (Windows only)
  - Fix: OpenResty coroutines, used by `dir.dirtree`, `pl.lexer`, `pl.permute`. If
    available the original coroutine functions are now used \ 
[#329](https://github.com/lunarmodules/Penlight/pull/329)
  - Fix: in `pl.strict` also predefine global `_PROMPT2`
  - Fix: in `pl.strict` apply `tostring` to the given name, in case it is not a \ 
string.
  - Fix: the lexer would not recognize numbers without leading zero; \ 
"-.123".
    See [#315](https://github.com/lunarmodules/Penlight/issues/315)
   2020-07-02 12:26:19 by Nia Alarie | Files touched by this commit (29)
Log message:
Add 'lua' category to Lua modules.

While here, normalize some packages with strange variable order.