[nongnu] elpa/helm 5a222a8a6b: Fix obsolete call to make-instance
branch: elpa/helm commit 5a222a8a6b5e453c762fda8b219102e29e706dde Author: Thierry Volpiatto Commit: Thierry Volpiatto Fix obsolete call to make-instance We should use now a keyword corresponding to the :initarg of the class, so for name, use :name name instead of just name. --- helm-source.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-source.el b/helm-source.el index 5fef02ef8a..43f657d09c 100644 --- a/helm-source.el +++ b/helm-source.el @@ -992,7 +992,7 @@ the keyword :name in your source, NAME will be used instead. Argument CLASS is a symbol defining an eieio class object. Arguments ARGS are keyword value pairs as defined in CLASS." (declare (indent 2)) - (let ((source (apply #'make-instance class name args))) + (let ((source (apply #'make-instance class :name name args))) (setf (slot-value source 'name) name) (helm--setup-source source) (helm-setup-user-source source)
[elpa] externals/denote-search 7ae1f43470: Further clarify development updates in Denote
branch: externals/denote-search commit 7ae1f43470fc375c8add5f8c78f8e7d1d7c2da42 Author: Lucas Quintana Commit: Lucas Quintana Further clarify development updates in Denote --- README.md | 18 +++--- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 530ceb37de..43a2a7cd8b 100644 --- a/README.md +++ b/README.md @@ -5,13 +5,17 @@ - NOTICE: Together with Protesilaos, I merged most of the features of -this package into Denote. From version 4.0.0 onwards, you will be able -to search in the contents of your notes with the command -`denote-grep`, and most of the functionality described in -`denote-search` manual will be available in stock Denote as well (even -in unexpected places such as backlinks buffers!). The package will -stay here for existing users, but you probably should switch to -`denote-grep` once the new version of Denote is released. +this package into Denote. From version 4.0.0 (released on 2025-04-15) +onwards, the command `denote-grep` is available out-of-the-box to +search in the contents of your notes. Other commands with the +`denote-grep-` prefix mirror the functionality available in +`denote-search`. Also, you can now create links to a specific search +using the new command `denote-query-contents-link`. Another +interesting addition: try the well-known `denote-search` filter +commands in the backlinks buffer; they work there! + +The package will stay here for existing users, but you probably should +switch to `denote-grep`. -
[elpa] externals/minuet 0cea13a0da: doc: add section `Understanding Model Speed`.
branch: externals/minuet commit 0cea13a0da31d21ce1bdb1a6415bc6baa5428aa2 Author: Milan Glacier Commit: Milan Glacier doc: add section `Understanding Model Speed`. --- README.md | 23 +++ 1 file changed, 23 insertions(+) diff --git a/README.md b/README.md index 0723c457db..6fe1289050 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ - [Llama.cpp Qwen-2.5-coder:1.5b](#llamacpp-qwen-25-coder15b) - [API Keys](#api-keys) - [Selecting a Provider or Model](#selecting-a-provider-or-model) + - [Understanding Model Speed](#understanding-model-speed) - [Prompt](#prompt) - [Configuration](#configuration) - [minuet-provider](#minuet-provider) @@ -285,6 +286,28 @@ significantly slow down the default provider used by Minuet (`openai-fim-compatible` with deepseek). We recommend trying alternative providers instead. +## Understanding Model Speed + +For cloud-based providers, +[Openrouter](https://openrouter.ai/google/gemini-2.0-flash-001/providers) +offers a valuable resource for comparing the speed of both closed-source and +open-source models hosted by various cloud inference providers. + +When assessing model speed via Openrouter, two key metrics are latency (time to +first token) and throughput (tokens per second). Latency is often a more +critical factor than throughput. + +Ideally, one would aim for a latency of less than 1 second and a throughput +exceeding 100 tokens per second. + +For local LLM, +[llama.cpp#4167](https://github.com/ggml-org/llama.cpp/discussions/4167) +provides valuable data on model speed for 7B models running on Apple M-series +chips. The two crucial metrics are `Q4_0 PP [t/s]`, which measures latency +(tokens per second to process the KV cache, equivalent to the time to generate +the first token), and `Q4_0 TG [t/s]`, which indicates the tokens per second +generation speed. + # Prompt See [prompt](./prompt.md) for the default prompt used by `minuet` and
[nongnu] elpa/markdown-mode e0de26db95 1/2: Add $%*+/<=>_|&' to the markdown-mode syntax table as punctuation.
branch: elpa/markdown-mode commit e0de26db9519b92a2e976de673134df4efa50a79 Author: James Cherti <60946298+jamesche...@users.noreply.github.com> Commit: James Cherti <60946298+jamesche...@users.noreply.github.com> Add $%*+/<=>_|&' to the markdown-mode syntax table as punctuation. --- CHANGES.md | 1 + markdown-mode.el | 12 2 files changed, 13 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index aeaceeecee..3da109a47e 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -18,6 +18,7 @@ - Support drag and drop features on Windows and multiple files' drag and drop - Added cmark and cmark-gfm to the markdown command list. - Disable `imenu-submenus-on-top` by default [GH-882][] +- Add $%*+/<=>_|&' to the markdown-mode syntax table as punctuation. [gh-847]: https://github.com/jrblevin/markdown-mode/issues/847 [gh-861]: https://github.com/jrblevin/markdown-mode/pull/861 diff --git a/markdown-mode.el b/markdown-mode.el index fc1796b344..671210e5a8 100644 --- a/markdown-mode.el +++ b/markdown-mode.el @@ -3721,6 +3721,18 @@ SEQ may be an atom or a sequence." (defvar markdown-mode-syntax-table (let ((tab (make-syntax-table text-mode-syntax-table))) (modify-syntax-entry ?\" "." tab) +(modify-syntax-entry ?$ "." tab) ; Might appear in inline content +(modify-syntax-entry ?% "." tab) ; Could appear in URLs +(modify-syntax-entry ?* "." tab) ; Emphasis (bold/italic) +(modify-syntax-entry ?+ "." tab) ; Used in lists +(modify-syntax-entry ?/ "." tab) ; Might appear in inline content or URLs +(modify-syntax-entry ?< "." tab) ; For autolinks and embedded HTML +(modify-syntax-entry ?= "." tab) ; Underlining in setext headers +(modify-syntax-entry ?> "." tab) ; Blockquotes and HTML +(modify-syntax-entry ?_ "." tab) ; Used for emphasis/bold +(modify-syntax-entry ?| "." tab) ; Used in tables +(modify-syntax-entry ?& "." tab) ; HTML entities +(modify-syntax-entry ?' "." tab) ; Apostrophe as punctuation tab) "Syntax table for `markdown-mode'.")
[elpa] externals/denote-sequence 3c0d4b6d0d 1/3: Define denote-sequence-decrement function
branch: externals/denote-sequence commit 3c0d4b6d0dd4db34b6ab729f2cfe48d62fa027e6 Author: Protesilaos Stavrou Commit: Protesilaos Stavrou Define denote-sequence-decrement function --- denote-sequence.el | 28 1 file changed, 28 insertions(+) diff --git a/denote-sequence.el b/denote-sequence.el index abc572aa75..1d0783ec45 100644 --- a/denote-sequence.el +++ b/denote-sequence.el @@ -314,6 +314,34 @@ STRING is part of a sequence, not the entirety of it." (apply #'concat (append (butlast letters) (list (char-to-string (+ (string-to-char last) 1)) + +(defun denote-sequence-decrement (string) + "Decrement number represented by STRING and return it as a string. +STRING is part of a sequence, not the entirety of it. + +Also see `denote-sequence-increment'." + (cond + ((denote-sequence--numeric-partial-p string) +(let ((number (string-to-number string))) + (unless (= number 1) +(number-to-string (- number 1) + ((denote-sequence--alphanumeric-partial-p string) +(let* ((letters (split-string string "" :omit-nulls)) + (length-1-p (= (length letters) 1)) + (first (car letters)) + (reverse (nreverse (copy-sequence letters))) + (last (car reverse))) + (cond + ((and length-1-p (string= "a" first)) +nil) + (length-1-p +(char-to-string (- (string-to-char first) 1))) + ((string= "a" last) +(apply #'concat (butlast letters))) + (t +(apply #'concat + (append (butlast letters) + (list (char-to-string (- (string-to-char last) 1) (t (error "The string `%s' must contain only numbers or letters" string
[elpa] externals/denote-sequence dc0db73de6 3/3: Write tests for denote-sequence-increment and denote-sequence-decrement
branch: externals/denote-sequence commit dc0db73de640a7de81366baffb79a1c922892d74 Author: Protesilaos Stavrou Commit: Protesilaos Stavrou Write tests for denote-sequence-increment and denote-sequence-decrement --- tests/denote-sequence-test.el | 18 ++ 1 file changed, 18 insertions(+) diff --git a/tests/denote-sequence-test.el b/tests/denote-sequence-test.el index 2b8562b7e8..7080263b57 100644 --- a/tests/denote-sequence-test.el +++ b/tests/denote-sequence-test.el @@ -34,6 +34,24 @@ (require 'ert) (require 'denote-sequence) +(ert-deftest dst-denote-sequence-increment () + "Test that `denote-sequence-increment' does the right thing." + (should (equal (denote-sequence-increment "1") "2")) + (should (equal (denote-sequence-increment "a") "b")) + (should (equal (denote-sequence-increment "z") "za")) + (should (equal (denote-sequence-increment "zz") "zza")) + (should-error (denote-sequence-increment "1a"))) + +(ert-deftest dst-denote-sequence-decrement () + "Test that `denote-sequence-decrement' does the right thing." + (should (null (denote-sequence-decrement "1"))) + (should (null (denote-sequence-decrement "a"))) + (should (equal (denote-sequence-decrement "2") "1")) + (should (equal (denote-sequence-decrement "b") "a")) + (should (equal (denote-sequence-decrement "za") "z")) + (should (equal (denote-sequence-decrement "zza") "zz")) + (should-error (denote-sequence-decrement "1a"))) + (defun dst-relative-p (sequence type &rest files) "Return non-nil if FILES are relatives of SEQUENCE given TYPE." (when-let* ((relatives (denote-sequence-get-relative sequence type files))
[elpa] externals/denote-sequence updated (dd3893bc5f -> dc0db73de6)
elpasync pushed a change to branch externals/denote-sequence. from dd3893bc5f Use expand-file-name instead of concat in denote-sequence-file-prompt new 3c0d4b6d0d Define denote-sequence-decrement function new ec11d1c457 Make stylistic changes to denote-sequence-increment new dc0db73de6 Write tests for denote-sequence-increment and denote-sequence-decrement Summary of changes: denote-sequence.el| 47 +++ tests/denote-sequence-test.el | 18 + 2 files changed, 57 insertions(+), 8 deletions(-)
[elpa] externals/denote-sequence ec11d1c457 2/3: Make stylistic changes to denote-sequence-increment
branch: externals/denote-sequence commit ec11d1c457e4374f81cc4bef430b3d1becf7d247 Author: Protesilaos Stavrou Commit: Protesilaos Stavrou Make stylistic changes to denote-sequence-increment --- denote-sequence.el | 19 +++ 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/denote-sequence.el b/denote-sequence.el index 1d0783ec45..a9a4045c4d 100644 --- a/denote-sequence.el +++ b/denote-sequence.el @@ -292,28 +292,31 @@ which case convert the entirety of it. Also see `denote-sequence-scheme'." (defun denote-sequence-increment (string) "Increment number represented by STRING and return it as a string. -STRING is part of a sequence, not the entirety of it." +STRING is part of a sequence, not the entirety of it. + +Also see `denote-sequence-decrement'." (cond ((denote-sequence--numeric-partial-p string) (number-to-string (+ (string-to-number string) 1))) ((denote-sequence--alphanumeric-partial-p string) (let* ((letters (split-string string "" :omit-nulls)) - (length-1 (= (length letters) 1)) + (length-1-p (= (length letters) 1)) (first (car letters)) (reverse (nreverse (copy-sequence letters))) (last (car reverse))) (cond - ((and length-1 (string= "z" first)) + ((and length-1-p (string= "z" first)) "za") - (length-1 + (length-1-p (char-to-string (+ (string-to-char first) 1))) ((string= "z" last) (apply #'concat (append letters (list "a" (t -(let ((last last)) - (apply #'concat - (append (butlast letters) - (list (char-to-string (+ (string-to-char last) 1)) +(apply #'concat + (append (butlast letters) + (list (char-to-string (+ (string-to-char last) 1) + (t +(error "The string `%s' must contain only numbers or letters" string (defun denote-sequence-decrement (string) "Decrement number represented by STRING and return it as a string.
[nongnu] elpa/aidermacs 1dc5ba421d: Fix aidermacs--is-aidermacs-buffer-p
branch: elpa/aidermacs commit 1dc5ba421d125badecbd80c6ae14c3def27bc1a7 Author: Mingde (Matthew) Zeng Commit: Mingde (Matthew) Zeng Fix aidermacs--is-aidermacs-buffer-p --- aidermacs-backend-comint.el | 2 +- aidermacs-backends.el | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/aidermacs-backend-comint.el b/aidermacs-backend-comint.el index 7968c51d7e..92d3c020c6 100644 --- a/aidermacs-backend-comint.el +++ b/aidermacs-backend-comint.el @@ -368,7 +368,7 @@ The output is collected and passed to the current callback." map) "Keymap used when `aidermacs-comint-mode' is enabled.") -(define-derived-mode aidermacs-comint-mode comint-mode "Aider" +(define-derived-mode aidermacs-comint-mode comint-mode "Aidermacs" "Major mode for interacting with Aidermacs. Inherits from `comint-mode' with some Aider-specific customizations. \\{aider-comint-mode-map}" diff --git a/aidermacs-backends.el b/aidermacs-backends.el index 8fb6ba5900..854cf4aeb2 100644 --- a/aidermacs-backends.el +++ b/aidermacs-backends.el @@ -75,7 +75,7 @@ Returns non-nil if the buffer has either `aidermacs-comint-mode' or `aidermacs-vterm-mode' enabled." (let ((buf (or buffer (current-buffer (with-current-buffer buf - (or (bound-and-true-p aidermacs-comint-mode) + (or (derived-mode-p 'aidermacs-comint-mode) (bound-and-true-p aidermacs-vterm-mode) (defun aidermacs--send-command-backend (buffer command &optional redirect)
[nongnu] elpa/markdown-mode 90ad4af79a 2/2: Merge pull request #899 from jamescherti/jc-syntax-table
branch: elpa/markdown-mode commit 90ad4af79a8bb65a3a5cdd6314be44abd9517cfc Merge: 258313ef2b e0de26db95 Author: Shohei YOSHIDA Commit: GitHub Merge pull request #899 from jamescherti/jc-syntax-table Add * to the markdown-mode syntax table as punctuation --- CHANGES.md | 1 + markdown-mode.el | 12 2 files changed, 13 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index aeaceeecee..3da109a47e 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -18,6 +18,7 @@ - Support drag and drop features on Windows and multiple files' drag and drop - Added cmark and cmark-gfm to the markdown command list. - Disable `imenu-submenus-on-top` by default [GH-882][] +- Add $%*+/<=>_|&' to the markdown-mode syntax table as punctuation. [gh-847]: https://github.com/jrblevin/markdown-mode/issues/847 [gh-861]: https://github.com/jrblevin/markdown-mode/pull/861 diff --git a/markdown-mode.el b/markdown-mode.el index fc1796b344..671210e5a8 100644 --- a/markdown-mode.el +++ b/markdown-mode.el @@ -3721,6 +3721,18 @@ SEQ may be an atom or a sequence." (defvar markdown-mode-syntax-table (let ((tab (make-syntax-table text-mode-syntax-table))) (modify-syntax-entry ?\" "." tab) +(modify-syntax-entry ?$ "." tab) ; Might appear in inline content +(modify-syntax-entry ?% "." tab) ; Could appear in URLs +(modify-syntax-entry ?* "." tab) ; Emphasis (bold/italic) +(modify-syntax-entry ?+ "." tab) ; Used in lists +(modify-syntax-entry ?/ "." tab) ; Might appear in inline content or URLs +(modify-syntax-entry ?< "." tab) ; For autolinks and embedded HTML +(modify-syntax-entry ?= "." tab) ; Underlining in setext headers +(modify-syntax-entry ?> "." tab) ; Blockquotes and HTML +(modify-syntax-entry ?_ "." tab) ; Used for emphasis/bold +(modify-syntax-entry ?| "." tab) ; Used in tables +(modify-syntax-entry ?& "." tab) ; HTML entities +(modify-syntax-entry ?' "." tab) ; Apostrophe as punctuation tab) "Syntax table for `markdown-mode'.")
[elpa] externals/denote-sequence b73d7aca24 2/6: Update the tests for partial increment/decrement
branch: externals/denote-sequence commit b73d7aca2482cee8011f26e4c16d670e6e474669 Author: Protesilaos Stavrou Commit: Protesilaos Stavrou Update the tests for partial increment/decrement I also had a duplicate test there, so I am removing it. Plus a largely stylistic change of "string=" instead of "equal". --- tests/denote-sequence-test.el | 47 ++- 1 file changed, 20 insertions(+), 27 deletions(-) diff --git a/tests/denote-sequence-test.el b/tests/denote-sequence-test.el index 7080263b57..de5bb2c3a5 100644 --- a/tests/denote-sequence-test.el +++ b/tests/denote-sequence-test.el @@ -34,24 +34,6 @@ (require 'ert) (require 'denote-sequence) -(ert-deftest dst-denote-sequence-increment () - "Test that `denote-sequence-increment' does the right thing." - (should (equal (denote-sequence-increment "1") "2")) - (should (equal (denote-sequence-increment "a") "b")) - (should (equal (denote-sequence-increment "z") "za")) - (should (equal (denote-sequence-increment "zz") "zza")) - (should-error (denote-sequence-increment "1a"))) - -(ert-deftest dst-denote-sequence-decrement () - "Test that `denote-sequence-decrement' does the right thing." - (should (null (denote-sequence-decrement "1"))) - (should (null (denote-sequence-decrement "a"))) - (should (equal (denote-sequence-decrement "2") "1")) - (should (equal (denote-sequence-decrement "b") "a")) - (should (equal (denote-sequence-decrement "za") "z")) - (should (equal (denote-sequence-decrement "zza") "zz")) - (should-error (denote-sequence-decrement "1a"))) - (defun dst-relative-p (sequence type &rest files) "Return non-nil if FILES are relatives of SEQUENCE given TYPE." (when-let* ((relatives (denote-sequence-get-relative sequence type files)) @@ -242,15 +224,26 @@ function `denote-sequence-get-relative'." (should-error (denote-sequence-make-conversion "111=a" :string-is-sequence)) (should-error (denote-sequence-make-conversion "a1" :string-is-sequence))) -(ert-deftest dst-denote-sequence-increment () - "Test that `denote-sequence-increment' works with numbers and letters." - (should (string= (denote-sequence-increment "z") "za")) - (should (string= (denote-sequence-increment "ab") "ac")) - (should (string= (denote-sequence-increment "az") "aza")) - (should (string= (denote-sequence-increment "bbcz") "bbcza")) - (should (string= (denote-sequence-increment "1") "2")) - (should (string= (denote-sequence-increment "10") "11")) - (should-error (denote-sequence-increment "1=a"))) +(ert-deftest dst-denote-sequence-increment-partial () + "Test that `denote-sequence-increment-partial' does the right thing." + (should (string= (denote-sequence-increment-partial "1") "2")) + (should (string= (denote-sequence-increment-partial "a") "b")) + (should (string= (denote-sequence-increment-partial "z") "za")) + (should (string= (denote-sequence-increment-partial "zz") "zza")) + (should (string= (denote-sequence-increment-partial "bbcz") "bbcza")) + (should-error (denote-sequence-increment-partial "1=1")) + (should-error (denote-sequence-increment-partial "1a"))) + +(ert-deftest dst-denote-sequence-decrement-partial () + "Test that `denote-sequence-decrement-partial' does the right thing." + (should (null (denote-sequence-decrement-partial "1"))) + (should (null (denote-sequence-decrement-partial "a"))) + (should (string= (denote-sequence-decrement-partial "2") "1")) + (should (string= (denote-sequence-decrement-partial "b") "a")) + (should (string= (denote-sequence-decrement-partial "za") "z")) + (should (string= (denote-sequence-decrement-partial "zza") "zz")) + (should (string= (denote-sequence-decrement-partial "bbcza") "bbcz")) + (should-error (denote-sequence-decrement-partial "1a"))) (provide 'denote-sequence-test) ;;; denote-sequence-test.el ends here
[elpa] externals/denote-sequence 5d9e3588e9 1/6: Change the name of increment/decrement functions to be explicitly "partial"
branch: externals/denote-sequence commit 5d9e3588e99119d970372b040c938fc34b8fdc02 Author: Protesilaos Stavrou Commit: Protesilaos Stavrou Change the name of increment/decrement functions to be explicitly "partial" --- denote-sequence.el | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/denote-sequence.el b/denote-sequence.el index a9a4045c4d..b8270e24e4 100644 --- a/denote-sequence.el +++ b/denote-sequence.el @@ -290,11 +290,11 @@ which case convert the entirety of it. Also see `denote-sequence-scheme'." (error "String `%s' did not pass `denote-sequence-p'" string) (error "The `%s' must not contain both numbers and letters" string) -(defun denote-sequence-increment (string) +(defun denote-sequence-increment-partial (string) "Increment number represented by STRING and return it as a string. STRING is part of a sequence, not the entirety of it. -Also see `denote-sequence-decrement'." +Also see `denote-sequence-decrement-partial'." (cond ((denote-sequence--numeric-partial-p string) (number-to-string (+ (string-to-number string) 1))) @@ -318,11 +318,11 @@ Also see `denote-sequence-decrement'." (t (error "The string `%s' must contain only numbers or letters" string -(defun denote-sequence-decrement (string) +(defun denote-sequence-decrement-partial (string) "Decrement number represented by STRING and return it as a string. STRING is part of a sequence, not the entirety of it. -Also see `denote-sequence-increment'." +Also see `denote-sequence-increment-partial'." (cond ((denote-sequence--numeric-partial-p string) (let ((number (string-to-number string))) @@ -599,7 +599,7 @@ function `denote-sequence-get-all-sequences-with-prefix'." (components (denote-sequence-split largest)) (butlast (butlast components)) (last-component (car (nreverse components))) - (new-number (denote-sequence-increment last-component))) + (new-number (denote-sequence-increment-partial last-component))) (denote-sequence-join (if butlast (append butlast (list new-number)) @@ -637,7 +637,7 @@ function `denote-sequence-get-all-sequences-with-prefix'." (components (denote-sequence-split largest)) (butlast (butlast components)) (last-component (car (nreverse components))) - (new-number (denote-sequence-increment last-component))) + (new-number (denote-sequence-increment-partial last-component))) (denote-sequence-join (append butlast (list new-number)) scheme)) (number-to-string (+ (string-to-number largest) 1))) (error "Cannot find sequences given sequence `%s' using scheme `%s'" sequence denote-sequence-scheme
[elpa] externals/denote-sequence 6e2c0828ad 6/6: Add commands to move to the next or previous sibling
branch: externals/denote-sequence commit 6e2c0828add52d2e976aad87c12aa679bdd16874 Author: Protesilaos Stavrou Commit: Protesilaos Stavrou Add commands to move to the next or previous sibling I will document these later... --- denote-sequence.el | 20 1 file changed, 20 insertions(+) diff --git a/denote-sequence.el b/denote-sequence.el index 0a5588ea41..67b65b193d 100644 --- a/denote-sequence.el +++ b/denote-sequence.el @@ -880,6 +880,26 @@ If the current file does not have a sequence, then behave exactly like (denote-use-signature new-sequence)) (call-interactively 'denote))) +;;;###autoload +(defun denote-sequence-find-next-sibling (sequence) + "Visit the next sibling of file with SEQUENCE." + (interactive (list (denote-sequence--get-file-in-dired-or-prompt "Make a new sibling of SEQUENCE"))) + (if-let* ((relatives (denote-sequence-get-relative sequence 'siblings)) +(next-sequence (denote-sequence--infer-sibling sequence 'next)) +(path (denote-sequence-get-path next-sequence relatives))) + (find-file path) +(user-error "No next sibling for sequence `%s'" sequence))) + +;;;###autoload +(defun denote-sequence-find-previous-sibling (sequence) + "Visit the previous sibling of file with SEQUENCE." + (interactive (list (denote-sequence--get-file-in-dired-or-prompt "Make a new sibling of SEQUENCE"))) + (if-let* ((relatives (denote-sequence-get-relative sequence 'siblings)) +(previous-sequence (denote-sequence--infer-sibling sequence 'previous)) +(path (denote-sequence-get-path previous-sequence relatives))) + (find-file path) +(user-error "No previous sibling for sequence `%s'" sequence))) + (defvar denote-sequence-relative-types '(all-parents parent siblings children all-children) "Types of sequence relatives.")
[elpa] externals/denote-sequence updated (dc0db73de6 -> 6e2c0828ad)
elpasync pushed a change to branch externals/denote-sequence. from dc0db73de6 Write tests for denote-sequence-increment and denote-sequence-decrement new 5d9e3588e9 Change the name of increment/decrement functions to be explicitly "partial" new b73d7aca24 Update the tests for partial increment/decrement new 73c8d25939 Add obsolete alias for denote-sequence-increment-partial new 7040e4cb67 Define function to infer a sibling and write a test for it as well new 89cb9ba394 Define denote-sequence-get-path function new 6e2c0828ad Add commands to move to the next or previous sibling Summary of changes: denote-sequence.el| 74 +++ tests/denote-sequence-test.el | 61 +++ 2 files changed, 102 insertions(+), 33 deletions(-)
[elpa] externals/denote-sequence 73c8d25939 3/6: Add obsolete alias for denote-sequence-increment-partial
branch: externals/denote-sequence commit 73c8d259393bbc9cf1cebe38584c5dae2f323385 Author: Protesilaos Stavrou Commit: Protesilaos Stavrou Add obsolete alias for denote-sequence-increment-partial --- denote-sequence.el | 5 + 1 file changed, 5 insertions(+) diff --git a/denote-sequence.el b/denote-sequence.el index b8270e24e4..dadb169243 100644 --- a/denote-sequence.el +++ b/denote-sequence.el @@ -290,6 +290,11 @@ which case convert the entirety of it. Also see `denote-sequence-scheme'." (error "String `%s' did not pass `denote-sequence-p'" string) (error "The `%s' must not contain both numbers and letters" string) +(define-obsolete-function-alias + 'denote-sequence-increment + 'denote-sequence-increment-partial + "0.2.0") + (defun denote-sequence-increment-partial (string) "Increment number represented by STRING and return it as a string. STRING is part of a sequence, not the entirety of it.
[elpa] externals/denote-sequence 89cb9ba394 5/6: Define denote-sequence-get-path function
branch: externals/denote-sequence commit 89cb9ba394ec51b029475bd6da9b7c4338994c94 Author: Protesilaos Stavrou Commit: Protesilaos Stavrou Define denote-sequence-get-path function --- denote-sequence.el | 20 1 file changed, 20 insertions(+) diff --git a/denote-sequence.el b/denote-sequence.el index 20ce224d6b..0a5588ea41 100644 --- a/denote-sequence.el +++ b/denote-sequence.el @@ -426,6 +426,26 @@ With optional FILES consider only those, otherwise use the return value of `denote-directory-files'." (seq-filter #'denote-sequence-file-p (denote-sequence--get-files files))) +(defun denote-sequence-get-path (sequence &optional files) + "Return absolute path of file with SEQUENCE. +Search in the return value of `denote-sequence-get-all-files' or in FILES." + (let ((files + (seq-filter + (lambda (file) +(string= sequence (denote-retrieve-filename-signature file))) + (denote-sequence-get-all-files files +(if (length< files 2) +(car files) + (seq-find + (lambda (file) + (let ((file-extension (denote-get-file-extension-sans-encryption file))) + (and (denote-file-has-supported-extension-p file) +(or (string= (denote--file-extension denote-file-type) + file-extension) +(string= ".org" file-extension) +(member file-extension (denote-file-type-extensions)) + files + (defun denote-sequence--sequence-prefix-p (prefix sequence) "Return non-nil if SEQUENCE has prefix sequence PREFIX.
[elpa] externals/denote-sequence 7040e4cb67 4/6: Define function to infer a sibling and write a test for it as well
branch: externals/denote-sequence commit 7040e4cb6706c7a3023b1712ac94f83b448daffe Author: Protesilaos Stavrou Commit: Protesilaos Stavrou Define function to infer a sibling and write a test for it as well --- denote-sequence.el| 17 + tests/denote-sequence-test.el | 14 ++ 2 files changed, 31 insertions(+) diff --git a/denote-sequence.el b/denote-sequence.el index dadb169243..20ce224d6b 100644 --- a/denote-sequence.el +++ b/denote-sequence.el @@ -393,6 +393,23 @@ depth given SEQUENCE." (t (error "Unknown type of sequence for `%s'" last-component) (denote-sequence-join (list sequence new-depth) scheme))) +(defun denote-sequence--infer-sibling (sequence direction) + "Get sibling of SEQUENCE in DIRECTION `next' or `previous'. +Do not actually try to create a new sibling nor to test for the +existence of one. Simply do the work of finding the next or previous +sibling in the sequence." + (pcase-let* ((`(,sequence . ,scheme) (denote-sequence-and-scheme-p sequence)) + (components (denote-sequence-split sequence)) + (butlast (butlast components)) + (last-component (car (nreverse components))) + (direction-fn (pcase direction + ('next #'denote-sequence-increment-partial) + ('previous #'denote-sequence-decrement-partial) + (_ (error "Unknown DIRECTION `%s'" direction + (new-number (funcall direction-fn last-component))) +(when new-number + (denote-sequence-join (append butlast (list new-number)) scheme + (defun denote-sequence--get-files (&optional files) "Return list of files or buffers in the variable `denote-directory'. With optional FILES only consider those, otherwise use `denote-directory-files'." diff --git a/tests/denote-sequence-test.el b/tests/denote-sequence-test.el index de5bb2c3a5..29abcd78df 100644 --- a/tests/denote-sequence-test.el +++ b/tests/denote-sequence-test.el @@ -245,6 +245,20 @@ function `denote-sequence-get-relative'." (should (string= (denote-sequence-decrement-partial "bbcza") "bbcz")) (should-error (denote-sequence-decrement-partial "1a"))) +(ert-deftest dst-denote-sequence--infer-sibling () + "Test that `denote-sequence--infer-sibling' returns the correct result." + (should (string= (denote-sequence--infer-sibling "1" 'next) "2")) + (should (string= (denote-sequence--infer-sibling "1a" 'next) "1b")) + (should (string= (denote-sequence--infer-sibling "1z" 'next) "1za")) + (should (string= (denote-sequence--infer-sibling "1=1" 'next) "1=2")) + (should (string= (denote-sequence--infer-sibling "2" 'previous) "1")) + (should (string= (denote-sequence--infer-sibling "1b" 'previous) "1a")) + (should (string= (denote-sequence--infer-sibling "1za" 'previous) "1z")) + (should (string= (denote-sequence--infer-sibling "1=2" 'previous) "1=1")) + (should (null (denote-sequence--infer-sibling "1" 'previous))) + (should (null (denote-sequence--infer-sibling "1=1" 'previous))) + (should (null (denote-sequence--infer-sibling "1a" 'previous + (provide 'denote-sequence-test) ;;; denote-sequence-test.el ends here
[nongnu] elpa/haskell-ts-mode 0f93e445d3: Adding more syntax highlihgitng
branch: elpa/haskell-ts-mode commit 0f93e445d37a77a6cecec2b4a3fe375b5c518ffd Author: Pranshu Sharma Commit: Pranshu Sharma Adding more syntax highlihgitng should deal with lots of https://codeberg.org/pranshu/haskell-ts-mode/issues/16#issuecomment-4057751 --- haskell-ts-mode.el | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/haskell-ts-mode.el b/haskell-ts-mode.el index 185ce10c2e..279e45a14a 100644 --- a/haskell-ts-mode.el +++ b/haskell-ts-mode.el @@ -150,7 +150,7 @@ when `haskell-ts-prettify-words' is non-nil.") :language 'haskell :feature 'import - '((import ["qualified" "as"] @font-lock-keyword-face)) + '((import ["qualified" "as" "hiding"] @font-lock-keyword-face)) :language 'haskell :feature 'type-sig @@ -171,7 +171,8 @@ when `haskell-ts-prettify-words' is non-nil.") (constructor) @font-lock-type-face (declarations (type_synomym (name) @font-lock-type-face)) (declarations (data_type name: (name) @font-lock-type-face)) - (declarations (newtype name: (name) @font-lock-type-face))) + (declarations (newtype name: (name) @font-lock-type-face)) + (deriving "deriving" @font-lock-keyword-face (name) @font-lock-type-face)) :language 'haskell :feature 'match
[elpa] externals/do-at-point 7052878720 2/3: Add key to clone git repositories into /tmp/
branch: externals/do-at-point commit 70528787202286921de317d4dc2b1d32c568537d Author: Philip Kaludercic Commit: Philip Kaludercic Add key to clone git repositories into /tmp/ --- do-at-point.el | 2 ++ 1 file changed, 2 insertions(+) diff --git a/do-at-point.el b/do-at-point.el index e932028cf0..63e4b9bbfe 100644 --- a/do-at-point.el +++ b/do-at-point.el @@ -146,6 +146,8 @@ of this variable.") (?b "Browse" ,#'browse-url) (?d "Download" ,#'(lambda (url) (start-process "*Download*" nil "wget" "-q" "-c" url))) + (?G "Git" ,#'(lambda (url) +(start-process "*Git*" nil "git" "clone" url "/tmp/"))) (?e "eww" ,#'eww-browse-url)) (number (?* "Calc" ,(lambda () (calc-embedded '(t)
[elpa] externals/org 0fa070f1f4 1/2: Merge branch 'bugfix'
branch: externals/org commit 0fa070f1f4fe32ecce9f799d97997c6056acd850 Merge: 277344c5ef d2e1c6789e Author: Ihor Radchenko Commit: Ihor Radchenko Merge branch 'bugfix' --- lisp/org-compat.el | 9 + lisp/org-src.el| 4 ++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/lisp/org-compat.el b/lisp/org-compat.el index a6d52f5ddb..92ba488641 100644 --- a/lisp/org-compat.el +++ b/lisp/org-compat.el @@ -292,10 +292,11 @@ older than 27.1" (if tree (push tree elems)) (nreverse elems -(if (version< emacs-version "27.1") -(defsubst org-replace-buffer-contents (source &optional _max-secs _max-costs) - (replace-buffer-contents source)) - (defalias 'org-replace-buffer-contents #'replace-buffer-contents)) +(with-no-warnings ; `replace-buffer-contents' is obsolete in Emacs 31 + (if (version< emacs-version "27.1") + (defsubst org-replace-buffer-contents (source &optional _max-secs _max-costs) +(replace-buffer-contents source)) +(defalias 'org-replace-buffer-contents #'replace-buffer-contents))) (unless (fboundp 'proper-list-p) ;; `proper-list-p' was added in Emacs 27.1. The function below is diff --git a/lisp/org-src.el b/lisp/org-src.el index 2b2dab7725..88da62f534 100644 --- a/lisp/org-src.el +++ b/lisp/org-src.el @@ -1433,7 +1433,7 @@ EVENT is passed to `mouse-set-point'." (insert (with-current-buffer write-back-buf (buffer-string (save-restriction (narrow-to-region beg end) - (org-replace-buffer-contents write-back-buf 0.1 nil) + (replace-region-contents beg end write-back-buf 0.1 nil) (goto-char (point-max (when (and expecting-bol (not (bolp))) (insert "\n"))) (kill-buffer write-back-buf) @@ -1484,7 +1484,7 @@ EVENT is passed to `mouse-set-point'." (buffer-string (save-restriction (narrow-to-region beg end) -(org-replace-buffer-contents write-back-buf 0.1 nil) +(replace-region-contents beg end write-back-buf 0.1 nil) (goto-char (point-max (when (and expecting-bol (not (bolp))) (insert "\n") (when write-back-buf (kill-buffer write-back-buf))
[elpa] externals/org 452584d9db 2/2: org-compat: Declare `org-replace-buffer-contents' obsolete
branch: externals/org commit 452584d9db534071bf55a17330d63b76fe4a68f1 Author: Ihor Radchenko Commit: Ihor Radchenko org-compat: Declare `org-replace-buffer-contents' obsolete * lisp/org-compat.el (org-replace-buffer-contents): Declare obsolete. The function is no longer used and `replace-buffer-contents' itself is obsolete on Emacs master. --- lisp/org-compat.el | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lisp/org-compat.el b/lisp/org-compat.el index 92ba488641..8fb330fdfd 100644 --- a/lisp/org-compat.el +++ b/lisp/org-compat.el @@ -296,7 +296,10 @@ older than 27.1" (if (version< emacs-version "27.1") (defsubst org-replace-buffer-contents (source &optional _max-secs _max-costs) (replace-buffer-contents source)) -(defalias 'org-replace-buffer-contents #'replace-buffer-contents))) +(defalias 'org-replace-buffer-contents #'replace-buffer-contents) +(make-obsolete 'org-replace-buffer-contents + "use `replace-buffer-contents' instead" + "9.8"))) (unless (fboundp 'proper-list-p) ;; `proper-list-p' was added in Emacs 27.1. The function below is
[elpa] externals/org updated (277344c5ef -> 452584d9db)
elpasync pushed a change to branch externals/org. from 277344c5ef Merge branch 'bugfix' new d2e1c6789e Use `replace-region-contents' instead of `replace-buffer-contents' new 0fa070f1f4 Merge branch 'bugfix' new 452584d9db org-compat: Declare `org-replace-buffer-contents' obsolete Summary of changes: lisp/org-compat.el | 12 lisp/org-src.el| 4 ++-- 2 files changed, 10 insertions(+), 6 deletions(-)
[elpa] externals/do-at-point f356ba25b2 1/3: Add key to attach messages in Gnus
branch: externals/do-at-point commit f356ba25b2371c4927344fa6f9be907b76220947 Author: Philip Kaludercic Commit: Philip Kaludercic Add key to attach messages in Gnus --- do-at-point.el | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/do-at-point.el b/do-at-point.el index a15a4a4952..e932028cf0 100644 --- a/do-at-point.el +++ b/do-at-point.el @@ -92,6 +92,8 @@ but not `do-at-point-user-actions'. Refer to the user option `do-at-point-actions' for details on the structure of the values of this variable.") +(declare-function gnus-dired-attach "gnus-dired" (files-to-attach)) + (defcustom do-at-point-actions `((region (?\s "Mark" ,(lambda (start end) @@ -135,7 +137,11 @@ of this variable.") (?m "Compose message" ,(lambda (to) (compose-mail to (existing-filename (?f "Find file" ,#'find-file) - (?4 "Find file other window" ,#'find-file-other-window)) + (?4 "Find file other window" ,#'find-file-other-window) + (?a "Attach to message" + ,(lambda (path) +(require 'gnus-dired) +(gnus-dired-attach (list path) (url (?b "Browse" ,#'browse-url) (?d "Download" ,#'(lambda (url)
[elpa] externals/do-at-point 09a05933f1 3/3: Add key to run 'rgrep' in the current directory
branch: externals/do-at-point commit 09a05933f1557819e83846e71a92c20222f6cabc Author: Philip Kaludercic Commit: Philip Kaludercic Add key to run 'rgrep' in the current directory --- do-at-point.el | 2 ++ 1 file changed, 2 insertions(+) diff --git a/do-at-point.el b/do-at-point.el index 63e4b9bbfe..e6663e894a 100644 --- a/do-at-point.el +++ b/do-at-point.el @@ -112,6 +112,8 @@ of this variable.") (write-region beg end file (?k "Kill" ,#'kill-region) (?n "Narrow" ,#'narrow-to-region) + (?g "Grep" ,(lambda (str) + (rgrep (regexp-quote str) "*" "."))) (?$ "Spell check" ,#'ispell-region) (?| "Pipe command" ,(lambda (beg end)
[elpa] externals-release/org d2e1c6789e: Use `replace-region-contents' instead of `replace-buffer-contents'
branch: externals-release/org commit d2e1c6789e8fdbc097cdec87d69dc2fce32cb6d5 Author: Ihor Radchenko Commit: Ihor Radchenko Use `replace-region-contents' instead of `replace-buffer-contents' * lisp/org-src.el (org-edit-src-save): (org-edit-src-exit): Avoid using obsolete `replace-region-contents'. * lisp/org-compat.el (org-replace-buffer-contents): Suppress compiler warning. Note that we also no longer use `org-replace-buffer-contents' in the code, but not yet obsoleting it as this commit is for bugfix branch. --- lisp/org-compat.el | 9 + lisp/org-src.el| 4 ++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/lisp/org-compat.el b/lisp/org-compat.el index 011d012355..64db2e6307 100644 --- a/lisp/org-compat.el +++ b/lisp/org-compat.el @@ -292,10 +292,11 @@ older than 27.1" (if tree (push tree elems)) (nreverse elems -(if (version< emacs-version "27.1") -(defsubst org-replace-buffer-contents (source &optional _max-secs _max-costs) - (replace-buffer-contents source)) - (defalias 'org-replace-buffer-contents #'replace-buffer-contents)) +(with-no-warnings ; `replace-buffer-contents' is obsolete in Emacs 31 + (if (version< emacs-version "27.1") + (defsubst org-replace-buffer-contents (source &optional _max-secs _max-costs) +(replace-buffer-contents source)) +(defalias 'org-replace-buffer-contents #'replace-buffer-contents))) (unless (fboundp 'proper-list-p) ;; `proper-list-p' was added in Emacs 27.1. The function below is diff --git a/lisp/org-src.el b/lisp/org-src.el index 6570b1b2ab..d3f40cf355 100644 --- a/lisp/org-src.el +++ b/lisp/org-src.el @@ -1420,7 +1420,7 @@ EVENT is passed to `mouse-set-point'." (insert (with-current-buffer write-back-buf (buffer-string (save-restriction (narrow-to-region beg end) - (org-replace-buffer-contents write-back-buf 0.1 nil) + (replace-region-contents beg end write-back-buf 0.1 nil) (goto-char (point-max (when (and expecting-bol (not (bolp))) (insert "\n"))) (kill-buffer write-back-buf) @@ -1468,7 +1468,7 @@ EVENT is passed to `mouse-set-point'." (buffer-string (save-restriction (narrow-to-region beg end) -(org-replace-buffer-contents write-back-buf 0.1 nil) +(replace-region-contents beg end write-back-buf 0.1 nil) (goto-char (point-max (when (and expecting-bol (not (bolp))) (insert "\n") (when write-back-buf (kill-buffer write-back-buf))
[elpa] externals/do-at-point updated (dcb73b4eac -> 09a05933f1)
elpasync pushed a change to branch externals/do-at-point. from dcb73b4eac Point to Codeberg instead of SourceHut new f356ba25b2 Add key to attach messages in Gnus new 7052878720 Add key to clone git repositories into /tmp/ new 09a05933f1 Add key to run 'rgrep' in the current directory Summary of changes: do-at-point.el | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-)
[elpa] externals/bufferlo aa724fe7ce: Add "purpose" to similar packages
branch: externals/bufferlo commit aa724fe7ceaf7de680cb03cc8bdbccdd7a4fa28c Author: Florian Rommel Commit: Florian Rommel Add "purpose" to similar packages --- README.org | 1 + 1 file changed, 1 insertion(+) diff --git a/README.org b/README.org index f1d882d6d4..3451398829 100644 --- a/README.org +++ b/README.org @@ -1262,6 +1262,7 @@ frame or tab-based buffer-list isolation and/or session management. - [[https://github.com/alphapapa/activities.el][activities.el]]: purpose-based sessions on frame/tab level - [[https://github.com/alphapapa/bufler.el][Bufler]]: rule-based workspace management and buffer grouping - [[https://github.com/alphapapa/burly.el][Burly]]: save and restore window configurations for single or multiple frames +- [[https://github.com/bmag/emacs-purpose][purpose]]: manage windows and buffers according to purposes - [[https://github.com/alphapapa/frame-purpose.el][frame-purpose]]: specialize frames to only display certain buffers - [[https://github.com/overideal/perject][perject]]: purpose/project-based buffer isolation and session management based on ~desktop.el~
[elpa] externals/a68-mode c5dd5fbe7b 6/8: Update README.md
branch: externals/a68-mode commit c5dd5fbe7bfce7c2b2475e13d5500874c58e1ced Author: Jose E. Marchesi Commit: Jose E. Marchesi Update README.md --- README.md | 13 + 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index e0957bbef7..2f3662c11e 100644 --- a/README.md +++ b/README.md @@ -3,8 +3,10 @@ This mode fully supports automatic indentation and font locking (i.e. syntax highlighting) including the three comment styles. -a68-mode supports only the UPPER stropping style and not the QUOTE or -POINT style. +a68-mode supports the classical UPPER stropping regime and the more +modern SUPPER stropping implemented by the GCC Algol 68 front-end. +The mode will assume SUPPER stropping unless the string "pr UPPER pr" +is found anywhere in the program text. ### Manual installation @@ -16,16 +18,11 @@ Or visit the file with Emacs and M-x package-install-file RET. The following variables are available for customization: * a68-indent-level (default 3): indentation offset - * a68-comment-style (default "#"): the default comment style used + * a68-comment-style-{upper,supper} (default "#"): the default comment style used by e.g. comment-dwim. see M-x customize-group a68 RET for more info. -### Known issues - -It doesn't handle well shebangs: #! is taken as the start of the -comment up to the next #. - ### Little history of this code Jose E. Marchesi wrote the first version of a68-mode.el.
[elpa] externals/a68-mode updated (6550773410 -> def69a9ed1)
elpasync pushed a change to branch externals/a68-mode. from 6550773410 Fix logic in a68-at-post-unit new 4cd3152405 Provide stropping-specific versions of a68-comment-style new a9276372a3 Complete indent rules for upper stropping regime new d6c6dc8bb0 Fix indentation new da808319ae Fix indentation new 2e5e22348b Add SMIE lexer for UPPER stropping new c5dd5fbe7b Update README.md new 4df8e94c67 Fix errors noticed while byte-compiling new def69a9ed1 Bump version to 1.1 Summary of changes: README.md | 13 +- a68-mode.el | 454 +++- 2 files changed, 365 insertions(+), 102 deletions(-)
[elpa] externals/a68-mode a9276372a3 2/8: Complete indent rules for upper stropping regime
branch: externals/a68-mode commit a9276372a3334bd87d5291293bd13c355ef20e18 Author: Jose E. Marchesi Commit: Jose E. Marchesi Complete indent rules for upper stropping regime --- a68-mode.el | 40 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/a68-mode.el b/a68-mode.el index 6318db45eb..4b3227a076 100644 --- a/a68-mode.el +++ b/a68-mode.el @@ -840,6 +840,21 @@ with the equivalent upcased form." ;; SMIE by default aligns it with it. (`(:before . "|") (if (not smie-rule-sibling-p) 3)) +(`(:after . "BEGIN") 6) +(`(:after . "THEN") 5) +(`(:after . "ELSE") 5) +(`(:after . "ELIF") 5) +(`(:after . "CASE") 5) +(`(:after . "OUSE") 5) +(`(:after . "OUT") 4) +(`(:after . "IN") 3) +(`(:after . "FOR") 4) +(`(:after . "DO") 3) +(`(:after . "FROM") 5) +(`(:after . "BY") 3) +(`(:after . "TO") 3) +(`(:after . "WHILE") 3) +(`(:after . "DEF") 4) (`(:before . "BEGIN") (when (or (smie-rule-hanging-p) (or @@ -934,17 +949,18 @@ with the equivalent upcased form." ;; First determine the stropping regime (setq-local a68--stropping-regime (a68--figure-out-stropping-regime)) - (if (equal a68--stropping-regime 'supper) - ;; SUPPER stropping. - (progn -(setq-local comment-start a68-comment-style-supper) -(setq-local comment-end a68-comment-style-supper) -(setq-local font-lock-defaults '(a68-font-lock-keywords-supper)) -(smie-setup a68--smie-grammar-supper #'a68--smie-rules-supper -:forward-token #'a68--smie-forward-token -:backward-token #'a68--smie-backward-token) -(setq-local beginning-of-defun-function #'a68-beginning-of-defun-supper) -(setq-local syntax-propertize-function #'a68-syntax-propertize-function-supper)) + (cond + ((equal a68--stropping-regime 'supper) +;; SUPPER stropping. +(setq-local comment-start a68-comment-style-supper) +(setq-local comment-end a68-comment-style-supper) +(setq-local font-lock-defaults '(a68-font-lock-keywords-supper)) +(smie-setup a68--smie-grammar-supper #'a68--smie-rules-supper +:forward-token #'a68--smie-forward-token +:backward-token #'a68--smie-backward-token) +(setq-local beginning-of-defun-function #'a68-beginning-of-defun-supper) +(setq-local syntax-propertize-function #'a68-syntax-propertize-function-supper)) + (t ;; UPPER stropping. (setq-local comment-start a68-comment-style-upper) (setq-local comment-end a68-comment-style-upper) @@ -953,7 +969,7 @@ with the equivalent upcased form." :forward-token #'a68--smie-forward-token :backward-token #'a68--smie-backward-token) (setq-local beginning-of-defun-function #'a68-beginning-of-defun-upper) -(setq-local syntax-propertize-function #'a68-syntax-propertize-function-upper)) +(setq-local syntax-propertize-function #'a68-syntax-propertize-function-upper))) (add-hook 'syntax-propertize-extend-region-functions #'syntax-propertize-multiline 'append 'local))
[elpa] externals/a68-mode 4cd3152405 1/8: Provide stropping-specific versions of a68-comment-style
branch: externals/a68-mode commit 4cd31524058814aef4073fc18345408edb32d313 Author: Jose E. Marchesi Commit: Jose E. Marchesi Provide stropping-specific versions of a68-comment-style --- a68-mode.el | 33 ++--- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/a68-mode.el b/a68-mode.el index cf639b722b..6318db45eb 100644 --- a/a68-mode.el +++ b/a68-mode.el @@ -72,13 +72,6 @@ :type 'integer :safe #'integerp) -(defcustom a68-comment-style "#" - "Default comment style used by e.g. `comment-dwim'." - :type '(choice (const "#") - (const "CO") - (const "COMMENT")) - :safe #'consp) - (defface a68-string-break-face '((t :inherit font-lock-string-face)) "Face for printing Algol 64 string breaks.") @@ -99,6 +92,22 @@ (defun a68-within-string-or-comment () (nth 8 (syntax-ppss))) + Comment style to use by default. + +(defcustom a68-comment-style-upper "#" + "Default comment style used by e.g. `comment-dwim'." + :type '(choice (const "#") + (const "CO") + (const "COMMENT")) + :safe #'consp) + +(defcustom a68-comment-style-supper "#" + "Default comment style used by e.g. `comment-dwim'." + :type '(choice (const "#") + (const "co") + (const "comment")) + :safe #'consp) + Syntax table for the a68-mode. (defvar a68-mode-syntax-table @@ -928,13 +937,17 @@ with the equivalent upcased form." (if (equal a68--stropping-regime 'supper) ;; SUPPER stropping. (progn +(setq-local comment-start a68-comment-style-supper) +(setq-local comment-end a68-comment-style-supper) (setq-local font-lock-defaults '(a68-font-lock-keywords-supper)) (smie-setup a68--smie-grammar-supper #'a68--smie-rules-supper :forward-token #'a68--smie-forward-token :backward-token #'a68--smie-backward-token) (setq-local beginning-of-defun-function #'a68-beginning-of-defun-supper) (setq-local syntax-propertize-function #'a68-syntax-propertize-function-supper)) -;; UPPER stropping, the default. +;; UPPER stropping. +(setq-local comment-start a68-comment-style-upper) +(setq-local comment-end a68-comment-style-upper) (setq-local font-lock-defaults '(a68-font-lock-keywords-upper)) (smie-setup a68--smie-grammar-upper #'a68--smie-rules-upper :forward-token #'a68--smie-forward-token @@ -942,9 +955,7 @@ with the equivalent upcased form." (setq-local beginning-of-defun-function #'a68-beginning-of-defun-upper) (setq-local syntax-propertize-function #'a68-syntax-propertize-function-upper)) (add-hook 'syntax-propertize-extend-region-functions -#'syntax-propertize-multiline 'append 'local) - (setq-local comment-start a68-comment-style) - (setq-local comment-end a68-comment-style)) +#'syntax-propertize-multiline 'append 'local)) ;;;###autoload (add-to-list 'auto-mode-alist '("\\.a68\\'" . a68-mode))
[elpa] externals/a68-mode da808319ae 4/8: Fix indentation
branch: externals/a68-mode commit da808319ae9c979e929a9085ee1d2a5b879bb839 Author: Jose E. Marchesi Commit: Jose E. Marchesi Fix indentation --- a68-mode.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/a68-mode.el b/a68-mode.el index a0b9ee4bc8..c6066536da 100644 --- a/a68-mode.el +++ b/a68-mode.el @@ -613,8 +613,8 @@ with the equivalent upcased form." ;; were detecting a SORT MODE enclosed-clause: := :=: :/=: = [ ;; @ of from by to ) operator. (looking-back (regexp-opt '(":" "," ";" "begin" "if" "then" "elif" -"else" "case" "in" "ouse" "out" -"while" "do" "(" "|" "|:" "def" "postlude"))) + "else" "case" "in" "ouse" "out" + "while" "do" "(" "|" "|:" "def" "postlude"))) ;; tag denotation or mode indication (and (looking-back "[A-Z][A-Za-z_]+") ;; Given the context at hand, i.e. a bold word followed
[elpa] externals/a68-mode def69a9ed1 8/8: Bump version to 1.1
branch: externals/a68-mode commit def69a9ed14834803168a7681dd2f0680149df85 Author: Jose E. Marchesi Commit: Jose E. Marchesi Bump version to 1.1 --- a68-mode.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/a68-mode.el b/a68-mode.el index f622032e3b..02dae8dca6 100644 --- a/a68-mode.el +++ b/a68-mode.el @@ -7,7 +7,7 @@ ;; Maintainer: Jose E. Marchesi ;; URL: https://git.sr.ht/~jemarch/a68-mode ;; Keywords: languages -;; Version: 1.0 +;; Version: 1.1 ;; Package-Requires: ((emacs "24.3")) ;; This file is NOT part of GNU Emacs.
[nongnu] elpa/racket-mode 2eec63cd62: racket-repl-mode: Default font-lock-keywords-only to true; fixes #751
branch: elpa/racket-mode commit 2eec63cd62bacf6d6b09bcc09e601265c36d165f Author: Greg Hendershott Commit: Greg Hendershott racket-repl-mode: Default font-lock-keywords-only to true; fixes #751 This means that font-lock will no longer highlight strings or comments in REPL buffers when used by classic racket-mode. The advantage: It won't MIS-highlight them due to stray string or comment delimiters among the various kinds of REPL output. --- racket-hash-lang.el | 1 + 1 file changed, 1 insertion(+) diff --git a/racket-hash-lang.el b/racket-hash-lang.el index a4695b40e9..916f1f5c76 100644 --- a/racket-hash-lang.el +++ b/racket-hash-lang.el @@ -853,6 +853,7 @@ rhombus\"." ;; font-lock (setq-local font-lock-keywords (with-current-buffer edit-buffer font-lock-keywords)) + (setq-local font-lock-keywords-only t) ;#751 (setq-local racket--repl-fontify-region-function (with-current-buffer edit-buffer font-lock-fontify-region-function)) (font-lock-flush)
[elpa] externals/a68-mode 2e5e22348b 5/8: Add SMIE lexer for UPPER stropping
branch: externals/a68-mode commit 2e5e22348b1b9d1ac0ab31261024820bf3d5f207 Author: Jose E. Marchesi Commit: Jose E. Marchesi Add SMIE lexer for UPPER stropping --- a68-mode.el | 287 ++-- 1 file changed, 258 insertions(+), 29 deletions(-) diff --git a/a68-mode.el b/a68-mode.el index c6066536da..16c568f164 100644 --- a/a68-mode.el +++ b/a68-mode.el @@ -596,12 +596,12 @@ with the equivalent upcased form." '((assoc "=" "/" ":=" ":=:" ":/=:" "+" "-" "*" "/") - SMIE lexer + SMIE lexer, SUPPER stropping. (defvar a68--keywords-regexp (regexp-opt '("|:" "(" ")" "+" "*" ";" ">" "<" ":=" "=" "," ":" "~"))) -(defun a68-at-strong-void-enclosed-clause () +(defun a68-at-strong-void-enclosed-clause-supper () "Return whether the point is at the beginning of a VOID enclosed clause." (save-excursion (forward-comment (- (point))) @@ -643,7 +643,7 @@ with the equivalent upcased form." (looking-back (regexp-opt '("%" "^" "&" "+" "-" "~" "!" "?" ">" "<" "/" "=" "*") -(defun a68-at-post-unit () +(defun a68-at-post-unit-supper () "Return whether the point is immediately after an unit." (save-excursion (forward-comment (- (point))) @@ -665,7 +665,7 @@ with the equivalent upcased form." "ref" ")" "]" "proc" "flex"))) -(defun a68--smie-forward-token () +(defun a68--smie-forward-token-supper () (forward-comment (point-max)) (cond ((looking-at "):") @@ -693,10 +693,10 @@ with the equivalent upcased form." ;; here, only our decision is final, be it right or wrong ;) ((looking-at "\\") (cond - ((a68-at-strong-void-enclosed-clause) + ((a68-at-strong-void-enclosed-clause-supper) (goto-char (+ (point) 4)) "-from-") - ((a68-at-post-unit) + ((a68-at-post-unit-supper) (goto-char (+ (point) 4)) "from") (t @@ -704,10 +704,10 @@ with the equivalent upcased form." "-from-"))) ((looking-at "\\") (cond - ((a68-at-strong-void-enclosed-clause) + ((a68-at-strong-void-enclosed-clause-supper) (goto-char (+ (point) 2)) "-by-") - ((a68-at-post-unit) + ((a68-at-post-unit-supper) (goto-char (+ (point) 2)) "by") (t @@ -718,10 +718,10 @@ with the equivalent upcased form." ((looking-back "\\[ \t\n]*") (goto-char (+ (point) 2)) "-to-jump-") - ((a68-at-strong-void-enclosed-clause) + ((a68-at-strong-void-enclosed-clause-supper) (goto-char (+ (point) 2)) "-to-") - ((a68-at-post-unit) + ((a68-at-post-unit-supper) (goto-char (+ (point) 2)) "to") (t @@ -729,10 +729,10 @@ with the equivalent upcased form." "-to-"))) ((looking-at "\\") (cond - ((a68-at-strong-void-enclosed-clause) + ((a68-at-strong-void-enclosed-clause-supper) (goto-char (+ (point) 5)) "-while-") - ((a68-at-post-unit) + ((a68-at-post-unit-supper) (goto-char (+ (point) 5)) "while") (t @@ -740,10 +740,10 @@ with the equivalent upcased form." "-while-"))) ((looking-at "\\") (cond - ((a68-at-strong-void-enclosed-clause) + ((a68-at-strong-void-enclosed-clause-supper) (goto-char (+ (point) 2)) "-do-") - ((a68-at-post-unit) + ((a68-at-post-unit-supper) (goto-char (+ (point) 2)) "do") (t @@ -758,7 +758,7 @@ with the equivalent upcased form." (progn (skip-syntax-forward "w_") (point)) -(defun a68--smie-backward-token () +(defun a68--smie-backward-token-supper () (forward-comment (- (point))) (cond ((looking-back "\\") @@ -775,18 +775,18 @@ with the equivalent upcased form." ((looking-back "\\") (goto-char (- (point) 4)) (cond - ((a68-at-strong-void-enclosed-clause) + ((a68-at-strong-void-enclosed-clause-supper) "-from-") - ((a68-at-post-unit) + ((a68-at-post-unit-supper) "from") (t "-from-"))) ((looking-back "\\") (goto-char (- (point) 2)) (cond - ((a68-at-strong-void-enclosed-clause) + ((a68-at-strong-void-enclosed-clause-supper) "-by-") - ((a68-at-post-unit) + ((a68-at-post-unit-supper) "by") (t "-by-"))) @@ -795,27 +795,27 @@ with the equivalent upcased form." (cond ((looking-back "\\[ \t\n]*") "-to-jump-") - ((a68-at-strong-void-enclosed-clause) + ((a68-at-strong-void-enclosed-clause-supper) "-to-") - ((a68-at-post-unit) + ((a68-at-post-unit-supper) "to") (t "-to-"))) ((looking-back "\\") (goto-char (- (point) 5)) (cond - ((a68-at-strong-void-enclosed-clause) + (
[elpa] externals/a68-mode 4df8e94c67 7/8: Fix errors noticed while byte-compiling
branch: externals/a68-mode commit 4df8e94c674146e7322d0e99f8f64a5e13381905 Author: Jose E. Marchesi Commit: Jose E. Marchesi Fix errors noticed while byte-compiling --- a68-mode.el | 88 ++--- 1 file changed, 49 insertions(+), 39 deletions(-) diff --git a/a68-mode.el b/a68-mode.el index 16c568f164..f622032e3b 100644 --- a/a68-mode.el +++ b/a68-mode.el @@ -343,7 +343,7 @@ with the equivalent upcased form." (cond ((listp tree) -(mapcar (lambda (t) (a68--upcase-strings-in-tree t)) tree)) +(mapcar (lambda (n) (a68--upcase-strings-in-tree n)) tree)) ((and (stringp tree) (not (string-match "-.*-" tree))) (upcase tree)) (t @@ -614,9 +614,10 @@ with the equivalent upcased form." ;; @ of from by to ) operator. (looking-back (regexp-opt '(":" "," ";" "begin" "if" "then" "elif" "else" "case" "in" "ouse" "out" - "while" "do" "(" "|" "|:" "def" "postlude"))) + "while" "do" "(" "|" "|:" "def" "postlude")) + nil) ;; tag denotation or mode indication - (and (looking-back "[A-Z][A-Za-z_]+") + (and (looking-back "[A-Z][A-Za-z_]+" nil) ;; Given the context at hand, i.e. a bold word followed ;; by "from", "to", "by", "while" or "do", we are at the ;; beginning of an enclosed clause if we are part of: @@ -629,7 +630,7 @@ with the equivalent upcased form." ;; In the case of an access-clause, the ;; module-indication is preceded by one of the ;; following symbols: - (looking-back (regexp-opt '("access" "," "pub"))) + (looking-back (regexp-opt '("access" "," "pub")) nil) ;; The symbols that may precede a cast are the same ;; as those that may precede an enclosed-clause, with ;; the exception of the close-symbol, mode-indication @@ -638,21 +639,24 @@ with the equivalent upcased form." "@" "begin" "if" "then" "elif" "else" "case" "in" "ouse" "out" "of" "from" "by" "to" "while" - "do" "(" "|" "def" "postlude"))) + "do" "(" "|" "def" "postlude")) + nil) ;; operator, so any nomad or monad. (looking-back (regexp-opt '("%" "^" "&" "+" "-" "~" "!" "?" - ">" "<" "/" "=" "*") + ">" "<" "/" "=" "*")) + nil))) (defun a68-at-post-unit-supper () "Return whether the point is immediately after an unit." (save-excursion (forward-comment (- (point))) (or (looking-back (regexp-opt '("end" "fi" "esac" "]" "nil" "od" ")" -"skip" "~"))) +"skip" "~")) + nil) ;; This cover the end of denotations. -(looking-back "\\([0-9]+\\|[\"]\\)") +(looking-back "\\([0-9]+\\|[\"]\\)" nil) ;; tags -(looking-back "\\<[a-z][a-z_]*\\>") +(looking-back "\\<[a-z][a-z_]*\\>" nil) ;; A bold word finishes an unit if it is part of a generator, ;; like in: ... loc ... ;; @@ -660,10 +664,11 @@ with the equivalent upcased form." ;; mode-indication consists of the symbols "loc" and "heap", ;; plus those symbols which may immediately precede a ;; mode-indication in an actual-MODE-declarer. -(or (looking-back "[A-Z][A-Za-z_]+") +(or (looking-back "[A-Z][A-Za-z_]+" nil) (looking-back (regexp-opt '("loc" "heap" "ref" ")" "]" -"proc" "flex"))) +"proc" "flex")) + nil) (defun a68--smie-forward-token-supper () (forward-comment (point-max)) @@ -715,7 +720,7 @@ with the equivalent upcased form." "-by-"))) ((looking-at "\\") (cond - ((looking-back "\\[ \t\n]*") + ((looking-back "\\[ \t\n]*" nil) (goto-char (+ (point) 2)) "-to-jump-") ((a68-at-strong-void-enclosed-clause-supper) @@ -761,18 +766,18 @@ with the equivalent upcased form." (defun a68--smie-backward-token-supper () (forward-comment (- (point))) (cond - ((looking-back "\\") + ((looking-back "\\" nil) (let ((pr (if (looking-at "[ \t\n]*\\") "-pr-" "pr"))) (goto-char (- (point) 2)) pr)) - ((looking-back "):") + ((looking-back "):" nil) (goto-char (- (point) 2)) "):") ;; See comments in a68--smie-forward-token for an explanation of ;; the handling of loop insertions -
[elpa] externals/a68-mode d6c6dc8bb0 3/8: Fix indentation
branch: externals/a68-mode commit d6c6dc8bb0bbfa4f26c23420ae8c4e06fbc00c22 Author: Jose E. Marchesi Commit: Jose E. Marchesi Fix indentation --- a68-mode.el | 54 +++--- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/a68-mode.el b/a68-mode.el index 4b3227a076..a0b9ee4bc8 100644 --- a/a68-mode.el +++ b/a68-mode.el @@ -615,33 +615,33 @@ with the equivalent upcased form." (looking-back (regexp-opt '(":" "," ";" "begin" "if" "then" "elif" "else" "case" "in" "ouse" "out" "while" "do" "(" "|" "|:" "def" "postlude"))) -;; tag denotation or mode indication -(and (looking-back "[A-Z][A-Za-z_]+") - ;; Given the context at hand, i.e. a bold word followed - ;; by "from", "to", "by", "while" or "do", we are at the - ;; beginning of an enclosed clause if we are part of: - ;; - ;; - An access-clause: ... access to ... - ;; - Or a cast:... ; to ... - (save-excursion - (forward-comment (- (point))) - (or -;; In the case of an access-clause, the -;; module-indication is preceded by one of the -;; following symbols: -(looking-back (regexp-opt '("access" "," "pub"))) -;; The symbols that may precede a cast are the same -;; as those that may precede an enclosed-clause, with -;; the exception of the close-symbol, mode-indication -;; and module-indication. -(looking-back (regexp-opt '(":" ":=" ":/=:" "=" "," ";" "[" -"@" "begin" "if" "then" "elif" -"else" "case" "in" "ouse" "out" -"of" "from" "by" "to" "while" -"do" "(" "|" "def" "postlude"))) -;; operator, so any nomad or monad. -(looking-back (regexp-opt '("%" "^" "&" "+" "-" "~" "!" "?" -">" "<" "/" "=" "*") + ;; tag denotation or mode indication + (and (looking-back "[A-Z][A-Za-z_]+") + ;; Given the context at hand, i.e. a bold word followed + ;; by "from", "to", "by", "while" or "do", we are at the + ;; beginning of an enclosed clause if we are part of: + ;; + ;; - An access-clause: ... access to ... + ;; - Or a cast:... ; to ... + (save-excursion +(forward-comment (- (point))) +(or + ;; In the case of an access-clause, the + ;; module-indication is preceded by one of the + ;; following symbols: + (looking-back (regexp-opt '("access" "," "pub"))) + ;; The symbols that may precede a cast are the same + ;; as those that may precede an enclosed-clause, with + ;; the exception of the close-symbol, mode-indication + ;; and module-indication. + (looking-back (regexp-opt '(":" ":=" ":/=:" "=" "," ";" "[" + "@" "begin" "if" "then" "elif" + "else" "case" "in" "ouse" "out" + "of" "from" "by" "to" "while" + "do" "(" "|" "def" "postlude"))) + ;; operator, so any nomad or monad. + (looking-back (regexp-opt '("%" "^" "&" "+" "-" "~" "!" "?" + ">" "<" "/" "=" "*") (defun a68-at-post-unit () "Return whether the point is immediately after an unit."
[nongnu] elpa/sly ce17a568ef: Close #678: Fix erroring behaviour in sly-sexp-at-point
branch: elpa/sly commit ce17a568efd3673e9d6f41438acc4023379c198e Author: Estevan Castilho Commit: GitHub Close #678: Fix erroring behaviour in sly-sexp-at-point * sly.el (sly-sexp-at-point): error only with both 'interactive' and 'errorp' --- sly.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sly.el b/sly.el index 9e9860e2b5..b4d68193f5 100644 --- a/sly.el +++ b/sly.el @@ -7392,7 +7392,7 @@ as nil. With non-nil STRINGP, only look for strings" (not (eq (syntax-class (syntax-after (car bounds))) (char-syntax ?\" (if (and interactive - interactive) + errorp) (user-error "No string at point") (throw 'return nil))) (when interactive