]>
git.eshelyaron.com Git - dict.git/log
Eshel Yaron [Thu, 13 Oct 2022 08:38:52 +0000 (11:38 +0300)]
Load libswipl ahead of sweep-module if it's an ELF
Eshel Yaron [Thu, 13 Oct 2022 08:16:10 +0000 (11:16 +0300)]
DOC: index some keystrokes in the manual
Jan Wielemaker [Wed, 12 Oct 2022 08:43:08 +0000 (10:43 +0200)]
PORT: Try to find emacs-module.h in the $MINGW_ROOT to build it along with
the Windows versions.
Eshel Yaron [Tue, 11 Oct 2022 14:37:08 +0000 (17:37 +0300)]
DOC: Update section "Things to do"
Eshel Yaron [Mon, 10 Oct 2022 12:59:14 +0000 (15:59 +0300)]
ENHANCED: use next-error-select-buffer when switching to a buffer
* sweeprolog.el: sweeprolog-mode: add hook to
window-selection-change-functions.
Eshel Yaron [Mon, 10 Oct 2022 12:31:29 +0000 (15:31 +0300)]
FIXED: sweeprolog-end-of-top-term would get confused by "=.."
* sweeprolog.el: sweeprolog-end-of-top-term: don't stop after "=..".
* sweeprolog-tests.el: add unit test.
Eshel Yaron [Sun, 9 Oct 2022 14:48:13 +0000 (17:48 +0300)]
ADDED: Flymake integration in sweeprolog-mode
* sweeprolog.el:
- sweeprolog-enable-flymake: new user option.
- sweeprolog--diagnostics: new buffer-local variable.
- sweeprolog--diagnostics-report-fn,
sweeprolog--diagnostics-changes-beg,
sweeprolog--diagnostics-changes-end: new buffer-local variables.
- sweeprolog-
defface : add docstrings for generated functions.
- sweeprolog--colourise: accumulate diagnostics when
sweeprolog-enable-flymake is non-nil.
- sweeprolog-colourise-buffer, sweeprolog-colourise-some-terms: report
diagnostics when sweeprolog-enable-flymake is non-nil.
- sweeprolog-show-diagnostics: new command in sweeprolog-mode buffers.
- sweeprolog-mode-map: bind it.
- sweeprolog-diagnostic-function: new function.
- sweeprolog-mode: use it when sweeprolog-enable-flymake is non-nil.
* README.org: Examining diagnostics: new section.
* NEWS.org: announce flymake integration.
Eshel Yaron [Sun, 9 Oct 2022 12:02:38 +0000 (15:02 +0300)]
DOC: add descriptions to all manual sections
Eshel Yaron [Sun, 9 Oct 2022 04:41:34 +0000 (07:41 +0300)]
FIXED: quote file paths passed to shell-command-to-string
* sweeprolog.el: sweeprolog--ensure-module: quote paths and use
packaged sweep.pl
* README.org: fix typo
Eshel Yaron [Sat, 8 Oct 2022 20:38:45 +0000 (23:38 +0300)]
ADDED: new command and user option for updating whitespace
* sweeprolog.el:
- sweeprolog-align-spaces: new command, updates whitespace around
point according to SWI-Prolog conventions.
- sweeprolog-enable-cycle-spacing: new user option, when non-nil
sweeprolog-align-spaces is added to cycle-spacing-actions.
- sweeprolog-mode: use it.
- README.org: document it.
- NEWS.org: announce it.
Eshel Yaron [Fri, 7 Oct 2022 09:44:08 +0000 (12:44 +0300)]
FIXED: detecting end of clause with inline comments ending with "."
Eshel Yaron [Fri, 7 Oct 2022 09:01:05 +0000 (12:01 +0300)]
Use sweep.pl from the ELPA package rather than from SWI-Prolog
Eshel Yaron [Fri, 7 Oct 2022 07:03:17 +0000 (10:03 +0300)]
DOC: added short documentation for sweep as a SWI-Prolog package
Eshel Yaron [Thu, 6 Oct 2022 19:37:00 +0000 (22:37 +0300)]
PORT: don't use defvar-keymap, introduced only in Emacs 29
Eshel Yaron [Thu, 6 Oct 2022 19:04:52 +0000 (22:04 +0300)]
TEST: add unit test for nested Elisp->Prolog->Elisp call chains
Eshel Yaron [Thu, 6 Oct 2022 18:18:31 +0000 (21:18 +0300)]
ENHANCED: allow for Elisp->Prolog->Elisp->... call chains
Eshel Yaron [Thu, 6 Oct 2022 06:56:51 +0000 (09:56 +0300)]
DOC: add manual sections "Contributing" and "Things to do"
Eshel Yaron [Tue, 4 Oct 2022 18:35:58 +0000 (21:35 +0300)]
Announce recent changes in NEWS.org, bump version to 0.5.0
Eshel Yaron [Tue, 4 Oct 2022 18:16:17 +0000 (21:16 +0300)]
DOC: describe the Top-level Menu and signaling in the manual
* README.org:
- The Top-level Menu buffer: new section.
- Sending signals to running top-levels: new section.
Eshel Yaron [Tue, 4 Oct 2022 14:32:17 +0000 (17:32 +0300)]
ADDED: key and menu bindings for sweeprolog-list-top-levels
* sweeprolog.el:
- sweeprolog-prefix-map: bind sweeprolog-list-top-levels to T
- sweeprolog-menu: add menu entry for sweeprolog-list-top-levels
Eshel Yaron [Tue, 4 Oct 2022 11:21:42 +0000 (14:21 +0300)]
ADDED: new command for signaling a top-level from the Top-level Menu
* sweeprolog.el:
- sweeprolog-top-level-menu-signal: new command
- sweeprolog-top-level-menu-mode-map: bind it to s
Eshel Yaron [Tue, 4 Oct 2022 11:20:05 +0000 (14:20 +0300)]
ADDED: new command for signaling the current top-level
* sweeprolog.el:
- sweeprolog-top-level-signal-current: new command
- sweeprolog-top-level-mode-map: bind it to C-c C-c
Eshel Yaron [Tue, 4 Oct 2022 09:42:48 +0000 (12:42 +0300)]
FIXED: top-level buffer to thread synchronization
Eshel Yaron [Tue, 4 Oct 2022 09:33:08 +0000 (12:33 +0300)]
ADDED: new command for signaling Prolog top-level threads
* sweep.pl: sweep_thread_signal/2: new predicate.
* sweeprolog.el:
- sweeprolog-signal-thread: new function, Elisp interface for
sweep_thread_signal/2.
- sweeprolog-top-level-thread-id: new buffer-local variable in
sweeprolog-top-level buffers.
- sweeprolog-top-level-signal: new command.
- sweeprolog-top-level-mode: signal top-level thread with
thread_exit/1 when buffer is killed.
Eshel Yaron [Tue, 4 Oct 2022 08:27:20 +0000 (11:27 +0300)]
FIXED: reverse args modes in sweeprolog-document-predicate-at-point
Eshel Yaron [Mon, 3 Oct 2022 15:55:36 +0000 (18:55 +0300)]
ADDED: sweep Top-level Menu for listing Prolog top-levels
* sweep.pl
- sweep_top_level_threads/2: new predicate for querying
currently active Prolog top-level threads
* sweeprolog.el
- sweeprolog-top-level-menu--entries: new function, exposing
sweep_top_level_threads/2 to Elisp.
- sweeprolog-top-level-menu-mode: new major mode derived from
tabulated-list-mode
- sweeprolog-top-level-menu-go-to: new command, switches to the
top-level buffer of the Top-level Menu entry at point
- sweeprolog-top-level-menu-kill: new command, kills the top-level
buffer of the Top-level Menu entry at point
- sweeprolog-top-level-menu-new: new command, creates a new top-level
from the Top-level Menu
- sweeprolog-list-top-levels: new command, opens the Top-level Menu
Eshel Yaron [Mon, 3 Oct 2022 15:55:14 +0000 (18:55 +0300)]
NEWS.org: announce sweeprolog-document-predicate-at-point
Eshel Yaron [Mon, 3 Oct 2022 15:53:58 +0000 (18:53 +0300)]
README.org: fix typos
Eshel Yaron [Sun, 2 Oct 2022 20:04:02 +0000 (23:04 +0300)]
DOC: Add docstrings to some undocumented internal functions
Eshel Yaron [Sun, 2 Oct 2022 20:03:29 +0000 (23:03 +0300)]
DOC: new manual section "Documenting predicates"
Eshel Yaron [Sun, 2 Oct 2022 17:20:14 +0000 (20:20 +0300)]
ADDED: new command sweeprolog-document-predicate-at-point
Eshel Yaron [Sat, 1 Oct 2022 19:26:07 +0000 (22:26 +0300)]
ADDED: new function sweeprolog-definition-at-point
Eshel Yaron [Sat, 1 Oct 2022 15:55:32 +0000 (18:55 +0300)]
DOC: document new eldoc integration
Eshel Yaron [Sat, 1 Oct 2022 14:33:47 +0000 (17:33 +0300)]
ADDED: on-the-fly documentation for predicates with eldoc
Eshel Yaron [Sat, 1 Oct 2022 10:57:20 +0000 (13:57 +0300)]
ADDED: auto-insert integration for filling in Prolog module headers
* sweeprolog-module-header-comment-skeleton: new user option
Eshel Yaron [Fri, 30 Sep 2022 20:23:06 +0000 (23:23 +0300)]
FIXED: clear highlighting from whitespace after a fullstop
Eshel Yaron [Fri, 30 Sep 2022 20:05:38 +0000 (23:05 +0300)]
NEWS.org: remove version macro using internal package-desc-version
Eshel Yaron [Fri, 30 Sep 2022 14:11:27 +0000 (17:11 +0300)]
FIXED: error when indenting after prefix operator
Eshel Yaron [Fri, 30 Sep 2022 11:57:30 +0000 (14:57 +0300)]
DOC: say sweep-module instead of sweeprolog-module in the manual
Eshel Yaron [Fri, 30 Sep 2022 11:55:42 +0000 (14:55 +0300)]
DOC: add missing source block in Getting Started section
Eshel Yaron [Fri, 30 Sep 2022 11:50:18 +0000 (14:50 +0300)]
DOC: Added "Getting Started" manual section
Eshel Yaron [Fri, 30 Sep 2022 11:50:11 +0000 (14:50 +0300)]
ADDED: Menu for sweep commands
Eshel Yaron [Fri, 30 Sep 2022 09:03:05 +0000 (12:03 +0300)]
DOC: add a reference to the SWI-Prolog manual QQ section
Eshel Yaron [Fri, 30 Sep 2022 08:58:41 +0000 (11:58 +0300)]
ENHANCED: provide semantic highlighting for missing term kinds
Eshel Yaron [Fri, 30 Sep 2022 06:54:01 +0000 (09:54 +0300)]
DOC: document quasi-quotation highlighting in the manual
Eshel Yaron [Fri, 30 Sep 2022 06:22:42 +0000 (09:22 +0300)]
ENHANCED: fontify quasi-quotation content according to its type
* sweeprolog-qq-mode-alist: new user option
* (sweeprolog--colour-term-to-faces): use it
Eshel Yaron [Thu, 29 Sep 2022 20:12:02 +0000 (23:12 +0300)]
FIXED: error on interactively removing variable highlighting
Eshel Yaron [Thu, 29 Sep 2022 20:05:59 +0000 (23:05 +0300)]
DOC: document new variable highlighting in the manual
Eshel Yaron [Thu, 29 Sep 2022 20:04:22 +0000 (23:04 +0300)]
ADDED: new command sweeprolog-highlight-variable
* (sweeprolog-highlight-variable): New command
* (sweeprolog-cursor-sensor-functions): use it
Eshel Yaron [Thu, 29 Sep 2022 20:03:21 +0000 (23:03 +0300)]
ADDED: new user option sweeprolog-enable-cursor-sensor
* sweeprolog-enable-cursor-sensor: New option
* (sweeprolog-mode): use it
Eshel Yaron [Thu, 29 Sep 2022 18:49:25 +0000 (21:49 +0300)]
ENHANCED: underline occurrences of the variable at point
Eshel Yaron [Thu, 29 Sep 2022 18:28:55 +0000 (21:28 +0300)]
DOC: add installation instructions from NonGNU ELPA
Eshel Yaron [Thu, 29 Sep 2022 17:55:48 +0000 (20:55 +0300)]
Use a public mailing list in the Maintainer package header
Eshel Yaron [Thu, 29 Sep 2022 17:46:51 +0000 (20:46 +0300)]
ENHANCED: More indicative error on failure to locate sweep-module
Eshel Yaron [Thu, 29 Sep 2022 17:38:58 +0000 (20:38 +0300)]
ENHANCED: only fontify visible sweeprolog-mode buffers on idle
Eshel Yaron [Thu, 29 Sep 2022 13:57:23 +0000 (16:57 +0300)]
ENHANCED: (sweep--colour-term-to-face): return multiple regions
Eshel Yaron [Thu, 29 Sep 2022 08:43:43 +0000 (11:43 +0300)]
DOC: document the newly added sweeprolog-restart command
Eshel Yaron [Thu, 29 Sep 2022 05:58:05 +0000 (08:58 +0300)]
ADDED: new command sweeprolog-restart for resetting sweep
* (sweeprolog-init): new &rest args
* (sweeprolog-restart): new command
* sweeprolog-prefix-map: bind it
Eshel Yaron [Wed, 28 Sep 2022 17:13:45 +0000 (20:13 +0300)]
FIXED: remove message_hook during cleanup to avoid possible crash
Eshel Yaron [Wed, 28 Sep 2022 15:15:40 +0000 (18:15 +0300)]
MODIFIED: Breaking change: rename sweep.el to sweeprolog.el...
...and replace the `sweep-` prefix for all symbols with `sweeprolog-`.
This follows a request from RMS and Philip Kaludercic on the
emacs-devel mailing list to make the name of the Emacs package more
indicative.
Eshel Yaron [Mon, 26 Sep 2022 10:00:58 +0000 (13:00 +0300)]
FIXED: don't rely on string-lines added in Emacs 28.1
Eshel Yaron [Mon, 26 Sep 2022 09:16:16 +0000 (12:16 +0300)]
FIXED: use a more robust mechanism for finding sweep-module
Eshel Yaron [Mon, 26 Sep 2022 07:58:16 +0000 (10:58 +0300)]
Update LICENSE
Eshel Yaron [Mon, 26 Sep 2022 06:48:25 +0000 (09:48 +0300)]
DOC: update installation instruction to reflect inclusion in swipl
Eshel Yaron [Sun, 25 Sep 2022 20:25:32 +0000 (23:25 +0300)]
DOC: fix typos in README.org
Eshel Yaron [Sun, 25 Sep 2022 15:07:37 +0000 (18:07 +0300)]
DOC: document imenu support in sweep-mode buffers
Eshel Yaron [Sun, 25 Sep 2022 14:35:13 +0000 (17:35 +0300)]
ADDED: support imenu in sweep-mode buffers
Eshel Yaron [Sun, 25 Sep 2022 11:48:44 +0000 (14:48 +0300)]
ENHANCED: also update highlighting between sub terms
Eshel Yaron [Sun, 25 Sep 2022 07:03:18 +0000 (10:03 +0300)]
ADDED: sweep-mode: make sexp-based commands work on Prolog terms
This includes forward-sexp (C-M-f), transpose-sexps (C-M-t), etc.
Eshel Yaron [Sat, 24 Sep 2022 14:35:11 +0000 (17:35 +0300)]
DOC: fix copy-paste error in README.org
Eshel Yaron [Sat, 24 Sep 2022 14:33:23 +0000 (17:33 +0300)]
DOC: document new user option sweep-faces-style
Eshel Yaron [Sat, 24 Sep 2022 14:17:44 +0000 (17:17 +0300)]
Tweak README to prevent a hosting platform from failing to render it
Eshel Yaron [Fri, 23 Sep 2022 20:08:10 +0000 (23:08 +0300)]
ADDED: sweep-faces-style user option for controlling highlighting
Eshel Yaron [Fri, 23 Sep 2022 20:07:47 +0000 (23:07 +0300)]
sweep.el: remove outdated sweep--compile-module function
Jan Wielemaker [Sat, 24 Sep 2022 13:48:02 +0000 (15:48 +0200)]
Find Emacs as `emacs`
Eshel Yaron [Fri, 23 Sep 2022 18:43:38 +0000 (21:43 +0300)]
FIXED: qualify calls to sweep_funcall/2
Eshel Yaron [Fri, 23 Sep 2022 18:18:53 +0000 (21:18 +0300)]
FIXED: sweep-init-args separate arguments
Eshel Yaron [Fri, 23 Sep 2022 16:10:49 +0000 (19:10 +0300)]
FIXED: indentation error when typing at end of buffer
Eshel Yaron [Fri, 23 Sep 2022 15:44:10 +0000 (18:44 +0300)]
BUILD: replaced Makefile with CMakeLists.txt
Eshel Yaron [Fri, 23 Sep 2022 15:22:01 +0000 (18:22 +0300)]
BUILD: rely on preexisting emacs-module.h
Eshel Yaron [Fri, 23 Sep 2022 10:05:50 +0000 (13:05 +0300)]
BUILD: Inline sweep.h in sweep.c
Eshel Yaron [Fri, 23 Sep 2022 10:05:16 +0000 (13:05 +0300)]
New make target: make info
Eshel Yaron [Fri, 23 Sep 2022 09:43:52 +0000 (12:43 +0300)]
ADDED: new user option for choosing indentation increments
* sweep.el:
** sweep-indent-offset: new user option
** (sweep-indent-line): use it
* README.org: document new indentation engine
Eshel Yaron [Wed, 21 Sep 2022 18:58:39 +0000 (21:58 +0300)]
ENHANCHED: automatic syntax aware autoindentation in sweep-mode
Eshel Yaron [Wed, 21 Sep 2022 16:30:34 +0000 (19:30 +0300)]
ADDED: sweep_op_info/2: new_predicate
Eshel Yaron [Mon, 19 Sep 2022 17:10:27 +0000 (20:10 +0300)]
FIXED: handle some more color terms
Eshel Yaron [Mon, 19 Sep 2022 09:15:28 +0000 (12:15 +0300)]
FIXED: (sweep--colourise): handle the dict_content color term
Eshel Yaron [Mon, 19 Sep 2022 08:14:28 +0000 (11:14 +0300)]
PORT: use (eql sweep) instead of (eql 'sweep) in cl-defmethods...
...for compatibility with Emacs 27
Eshel Yaron [Fri, 16 Sep 2022 11:08:32 +0000 (14:08 +0300)]
FIXED: (sweep-beginning-of-top-term): possible infinite loop
Eshel Yaron [Wed, 14 Sep 2022 20:49:12 +0000 (23:49 +0300)]
FIXED: package-lint complaint about autoloaded private function
Eshel Yaron [Wed, 14 Sep 2022 20:47:59 +0000 (23:47 +0300)]
DOC: update commentary section in sweep.el
Eshel Yaron [Wed, 14 Sep 2022 20:16:15 +0000 (23:16 +0300)]
DOC: Add Top-level history section
Eshel Yaron [Wed, 14 Sep 2022 18:35:44 +0000 (21:35 +0300)]
FIXED: indentation after with inline comments
Eshel Yaron [Wed, 14 Sep 2022 13:21:13 +0000 (16:21 +0300)]
ENHANCED: don't record one-character inputs in the top level history
Eshel Yaron [Mon, 12 Sep 2022 15:42:24 +0000 (18:42 +0300)]
ADDED: sweep-colourise-buffer-on-idle user option, on by default
Eshel Yaron [Mon, 12 Sep 2022 09:53:40 +0000 (12:53 +0300)]
ENHANCED: Update semantic highlighting on idle timer in sweep-mode
(sweep-colourise-buffer-max-size): new user option
(sweep-colourise-buffer-min-interval): new user option
(sweep-mode): setup highlighting on idle timer
Eshel Yaron [Mon, 12 Sep 2022 07:58:15 +0000 (10:58 +0300)]
ADDED: (sweep-indent-line-ends-with-prefix-operator): New function
(sweep-indent-line-indentation): use it
Eshel Yaron [Mon, 12 Sep 2022 07:38:40 +0000 (10:38 +0300)]
ADDED: (sweep-prefix-operators): New function
James N. V. Cash [Sun, 11 Sep 2022 22:55:46 +0000 (18:55 -0400)]
Makefile: Allow specifying the path to emacs
Running emacs on macOS, the emacs binary is inside the app bundle, not
on the path, so it's useful to be able to specify it.
James N. V. Cash [Sun, 11 Sep 2022 22:54:35 +0000 (18:54 -0400)]
Makefile: Use "--batch" instead of "-batch" for consistency