* resources: update copyright in info.plist
* meson.build: dynamically generate current year
"present" may be misleading.
* resources/macos: remove unecessary newlines
* ci: use latest macos images
* ci/build: clarify the purpose of md5sha1sum
* meson.build: remove hidapi usage
* ci: downgrade macos version for universal build
* scripts: codesign the universal binary with sha1 and sha256
* ci: revert back to macos-14 for universal
* ci/build: remove old comment
* CI: update various action versions
The most significant change is action/upload-artifact@v4,
which does not support uploading artifacts of the same name.
This makes our lives significantly worse, but I don't know
if GitHub will remove v3 in future or not.
* CI: fix macOS universal artifact download
* CI: update release action versions
* CI: use containers only for building
* CI: fix multiline commands
* CI: try to fix multiline strings again
* CI: fix multiline strings again ugh
* CI: Fix ccache in containers
* CI: Fix quotes again
* CI: fix ccache
* CI: fix deprecated set-output command
* ci: update build box to v2.1.2
* ci: revert to softprops/action-gh-release
* ci: add name to release
* ci: remove name again
* ci: fix wrong outputs reference
* ci: add name
* ci: add missing name for each step
* ci: format yaml files
* ci/release: add names to unamed entries
* ci/release: fix MSYS2 not downloading deps
* ci/release: change to ncipollo/release-action
There is some weird issue with softprops/action-gh-release and I can't update an existing release.
* ci/release: allow updating releases
* ci/release: upload all artifacts, then download them at once
* ci/release: use a better name for job
* ci/release: add release as dependency
* ci/release: set tag for update release
* ci/auto-labeler: remove workaround for old autolabeler issue
* ci/release: remove the need of another bash -c
* ci/release: remove weird bash -c
* fix: avoid iterating over a changing table in `run_threads`
This is done to avoid iterating over a table that can change in the meantime.
More precisely the issue appears if a thread is removed from the table, we yield early from `run_threads` because we reached the end of the frame, and a new thread is added before the next iteration.
For example:
```lua
local lost_time = false
core.add_thread(function()
-- force early yield
local t0 = system.get_time()
while system.get_time() - t0 < .1 do end
lost_time = true
end, "a")
local step = core.step
function core.step()
if lost_time then
-- add a new thread while run_threads hasn't finished iterating
core.add_thread(function()end, "a1")
lost_time = false
end
return step()
end
```
would crash with `invalid key to 'next'`.
* fix: only run coroutine if it wasn't removed
* fix: don't handle `core.threads` table as an array
This caused some entries to be skipped or even removed erroneously.
* ci: generate better release notes
* scripts: rename generate-release-note.sh
* ci/release: check out all the history
* ci/release: accept version from input
* Make command palette item scrolling more natural
Also add a config option for the maximum number of visible entries in the command palette.
* Make `autocomplete` item scrolling more natural
* Improve `autocomplete` suggestions box sizing
This avoids that the box gets too big because of non-visible items, and makes it reactive to window sizing.
* Draw ellipsis when `autocomplete` entries aren't fully visible
* changelog: update changelog for v2.1.3
* update version in metadata
* changelog: fix formatting issue and release date
* appstream: update release date
* add system.setenv
* document system.setenv
* system.setenv: use wide versions of functions on windows
* do not include processenv.h
* system.setenv: report failure, including of utfconv
* system.setenv: free utfconv output
* comment typo in data/core/init.lua
* init.lua reword comment
* Update dirwatch.lua
Some wording is still whacky, maybe next time
* Update dirwatch.lua
* clear up can/may be not nil confusion
* falsey vs falsy new wording to help out
* falsey -> falsy
* Update data/core/dirwatch.lua
Co-authored-by: Guldoman <giulio.lettieri@gmail.com>
---------
Co-authored-by: Guldoman <giulio.lettieri@gmail.com>
* Improve number highlighting for python syntax highlighting
Adds support for octal and binary representation, as well uppercase characters (X, B and O)
* add underscore and negative hex/oct/bin value support
* Removed | from pattern
* fix: free-before-init in renwin_init_surface when using sdl renderer
`ren->rensurface.surface` presupposes zero-initialized rensurface.
Rensurface was not actually zero-initialized.
It is now.
* fix: heap buffer overflow in process_env_free
`process_env_free` presupposed that it was null-terminated.
Pass length to free instead.
* use calloc instead of memset for zero-init
Co-authored-by: Guldoman <giulio.lettieri@gmail.com>
---------
Co-authored-by: Guldoman <giulio.lettieri@gmail.com>
* fix nagbar failed save message
- visually separated statements with a `.`
- first statement slightly rewritten
- use `'` rather than `"`
* yeahhhh no back to `"`
* feat(process): allow commands and envs on proces_start
* refactor(process): copy process arguments once whenever possible
Refactors the code to use an arglist type which is just lpCmdline on Windows
and a list in Linux.
The function automatically escapes the command when it is needed, avoiding
a second copy.
This also allows UTF-8 commands btw.
* fix(process): fix invalid dereference
* refactor(process): mark xstrdup as potentially unused
* feat(process): add parent process environment when launching process
* fix(process): fix operator precedence with array operators
* fix(process): fix segfault when freeing random memory
* fix(process): fix wrong check for setenv()
* fix(process): fix accidentally initializing an array by assignment
* fix(process): clear return value if success