Merge branch 'master'
FIXED: workaround Emacs incompatibility with certain locales

The Emacs Elisp reader only works with locales that have "." as their
decimal separator, but Prolog initialization sets up the locale
according to the environment variables.  Therefore we need to reset
the locale after initializing Prolog in case the environment
prescribes a locale with a different decimal separator, such as fr_FR.
See also https://github.com/SWI-Prolog/packages-sweep/issues/1
Merge branch 'master'
Announce recent changes in NEWS.org and bump version to 0.27.4
; Add installation instructions for 'straight.el' users

* sweep.texi (Installation): Provide a recipe for installing Sweep
with 'straight.el'.
Merge branch 'master'
; Fix ElDoc at-point docs with SSU guards and DCG pushback lists

* sweep.pl (sweep_short_documentation_head/9): Fix handling of SSU
guards and DCG pushback lists.

* sweeprolog-tests.el (eldoc-ssu-guard,eldoc-dcg-pushback): New tests.
Improve indentation for multi-line comments

* sweeprolog.el (sweeprolog-indent-line): Indent multi-lines comment
lines according to previous line.
* sweeprolog-tests.el (indentation): Test it.
Provide file spec completions for 1st arg of 'process_create/3'

* sweep.pl (source_arg/2): Recognize 'process_create/3'.
Merge branch 'master'
Announce recent changes in NEWS.org and bump version to 0.27.3
; Update copyright for 2024
Merge branch 'master'
; * sweep.texi (General Improvements): Fix typo
; Remove two unused local variables

* sweeprolog.el (sweeprolog--diagnostics-changes-beg)
(sweeprolog--diagnostics-changes-end): Unused, remove.
* sweeprolog.el (sweeprolog-diagnostic-function): Adapt.
; Fix error with documentation at point for atom non-terminals

* sweep.pl (explicit_args_/3): Check whether G0 is an atom.
* sweeprolog-tests.el (eldoc-dcg-atom): Test it.
Merge branch 'master'
Indentation fixups
Fix fullstop detection in presence of dot character literal

This fixes an issue where the character "0'." in a clause body would
confuse clause boundaries calculation.

* sweeprolog.el (sweeprolog-end-of-top-term): Make sure fullstop have
punctuation syntax class (otherwise it's part of a character literal).
* sweeprolog-tests.el (end-of-top-term-with-dot-char-literal): Test it
Fix top-level buffer to thread id association

* sweeprolog.el (sweeprolog-top-level-buffer): Fix thinko.
* sweeprolog-tests.el (backward-sexp-over-char-literal): New test.