[elpa] externals/repology aa7275de83: repology: Release 1.2.1
branch: externals/repology commit aa7275de834c540af512e3579851a68b7feba9b8 Author: Nicolas Goaziou Commit: Nicolas Goaziou repology: Release 1.2.1 --- repology.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repology.el b/repology.el index ae9ddf5e47..31928c6980 100644 --- a/repology.el +++ b/repology.el @@ -6,7 +6,7 @@ ;; Maintainer: Nicolas Goaziou ;; Keywords: web ;; Package-Requires: ((emacs "26.1")) -;; Version: 1.2.0 +;; Version: 1.2.1 ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by
[elpa] externals/repology 00fad505e5: repology-tests: Fix copyright header
branch: externals/repology commit 00fad505e50452fe32d0f3b7646a62bf2da0ed46 Author: Nicolas Goaziou Commit: Nicolas Goaziou repology-tests: Fix copyright header --- repology-tests.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repology-tests.el b/repology-tests.el index 4cd084391b..bc0f57589d 100644 --- a/repology-tests.el +++ b/repology-tests.el @@ -1,6 +1,6 @@ ;;; repology-tests.el --- Test for Repology library -*- lexical-binding: t; -*- -;; Copyright (C) 2022 Nicolas Goaziou +;; Copyright (C) 2022 Free Software Foundation, Inc. ;; Author: Nicolas Goaziou
[elpa] externals/repology ffc71f40ed: repology: Add missing autoload cookie
branch: externals/repology commit ffc71f40ed433d1a8eb0f50c2afa0d9dd7bfc42d Author: Nicolas Goaziou Commit: Nicolas Goaziou repology: Add missing autoload cookie * repology-utils.el (repology-filter-outdated-projects): Move to... * repology.el (repology-filter-outdated-projects): ... here. Add autoload cookie. --- repology-utils.el | 58 -- repology.el | 59 +++ 2 files changed, 59 insertions(+), 58 deletions(-) diff --git a/repology-utils.el b/repology-utils.el index 614dba3465..45ece3605f 100644 --- a/repology-utils.el +++ b/repology-utils.el @@ -147,64 +147,6 @@ Return \"-\" if PACKAGE has no version field." (propertize version 'face (repology--package-status-face package)) "-"))) -(defun repology-filter-outdated-projects (projects repository) - "Filter outdated projects from PROJECTS list. - -PROJECTS is a list of Repology projects. REPOSITORY is the name -of the reference repository, as a string. - -Outdated projects are defined according to the value of the -variable `repology-outdated-project-definiton', which see. - -Return a list of Repology projects." - (seq-filter - (lambda (project) - (let ((reference-package -(seq-find (lambda (p) -(equal repository (repology-package-field p 'repo))) - (repology-project-packages project - (cond -((not reference-package) - (user-error "No package for project %S in repository %S" - project repository)) -;; Default definition for outdated projects: trust Repology's -;; status from reference package. -((not repology-outdated-project-definition) - (equal "outdated" (repology-package-field reference-package 'status))) -(t - ;; Custom definition: compare versions of non-masked outdated - ;; or newest packages. - (let ((version (repology-package-field reference-package 'version)) - ;; Ignore masks not applicable to the current project. - (masks -(seq-filter (let ((name (repology-project-name project))) - (pcase-lambda (`(,name-re ,_ ,_)) -(or (not name-re) -(string-match name-re name -repology-outdated-project-definition)) - ;; Cache limiting the number of versions comparison. - (older nil)) - (seq-some -(lambda (package) - (pcase (repology-package-field package 'status) -;; Ignore reference package. -((guard (equal package reference-package)) nil) -;; Ignore packages with a dubious status. -((or "devel" "ignored" "incorrect" "legacy" "noscheme" "rolling" - "untrusted") - nil) -;; Ignore masked packages. -((guard (repology--masked-package-p package masks)) - nil) -;; Otherwise, compare versions. -(_ - (let ((v (repology-package-field package 'version))) - (and (not (member v older)) -(prog1 (repology-version-< version v) - (push v older))) -(repology-project-packages project))) - projects)) - ;;; Projects (defun repology-project-p (object) diff --git a/repology.el b/repology.el index 31928c6980..621d6da469 100644 --- a/repology.el +++ b/repology.el @@ -683,6 +683,65 @@ NAMES." (repology-project-create project packages))) names)) +;;;###autoload +(defun repology-filter-outdated-projects (projects repository) + "Filter outdated projects from PROJECTS list. + +PROJECTS is a list of Repology projects. REPOSITORY is the name +of the reference repository, as a string. + +Outdated projects are defined according to the value of the +variable `repology-outdated-project-definiton', which see. + +Return a list of Repology projects." + (seq-filter + (lambda (project) + (let ((reference-package +(seq-find (lambda (p) +(equal repository (repology-package-field p 'repo))) + (repology-project-packages project + (cond +((not reference-package) + (user-error "No package for project %S in repository %S" + project repository)) +;; Default definition for outdated projects: trust Repology's +;; status from reference package. +((not repology-outdated-project-definition) + (equal "outdated" (repology-package-field reference-package 'status))) +(t + ;; Custom definition: compare versions of non-masked outdated + ;; or newest packages. + (let ((version
[elpa] externals/ergoemacs-mode updated (b0ede648b6 -> 757475874a)
elpasync pushed a change to branch externals/ergoemacs-mode. from b0ede648b6 Merge pull request #513 from sobkas/master new 04b716743c Update Readme.md new 757475874a Change ergoemacs-mode version Summary of changes: Readme.md | 2 +- ergoemacs-mode.el | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
[elpa] externals/ergoemacs-mode 757475874a 2/2: Change ergoemacs-mode version
branch: externals/ergoemacs-mode commit 757475874a840f99b20c56182c7199257b6ae477 Author: Matthew Fidler <514778+mattfid...@users.noreply.github.com> Commit: Matthew Fidler <514778+mattfid...@users.noreply.github.com> Change ergoemacs-mode version --- ergoemacs-mode.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ergoemacs-mode.el b/ergoemacs-mode.el index 65c93e51eb..4ca2b45a25 100644 --- a/ergoemacs-mode.el +++ b/ergoemacs-mode.el @@ -68,7 +68,7 @@ ;; Ergoemacs-keybindings version -(defconst ergoemacs-mode-version "5.14.7.3" +(defconst ergoemacs-mode-version "5.22.2.23" "Ergoemacs-keybindings minor mode version number.") (defconst ergoemacs-mode-changes "Delete window Alt+0 changed to Alt+2.
[elpa] externals/ergoemacs-mode 04b716743c 1/2: Update Readme.md
branch: externals/ergoemacs-mode commit 04b716743cf849be32c3d3fe0b3b4b4ce4a22f58 Author: Matthew Fidler Commit: GitHub Update Readme.md --- Readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Readme.md b/Readme.md index 0de3c362c8..12f0a3a00b 100644 --- a/Readme.md +++ b/Readme.md @@ -4,7 +4,7 @@ # Ergoemacs Keybindings - Xah Lee, David Capello, Kin Storm, Walter Landry and Matthew Fidler + Xah Lee, David Capello, Kim Storm, Walter Landry and Matthew Fidler ## Library Information
[elpa] externals/repology db7ddc5593: repology: Release 1.2.2
branch: externals/repology commit db7ddc5593964e9cecb162627bdd2a0f59658f3f Author: Nicolas Goaziou Commit: Nicolas Goaziou repology: Release 1.2.2 --- repology.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repology.el b/repology.el index 621d6da469..15a50675af 100644 --- a/repology.el +++ b/repology.el @@ -6,7 +6,7 @@ ;; Maintainer: Nicolas Goaziou ;; Keywords: web ;; Package-Requires: ((emacs "26.1")) -;; Version: 1.2.1 +;; Version: 1.2.2 ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by
[nongnu] elpa/typescript-mode 84ff4228b5 2/2: Merge pull request #160 from trev-dev/master
branch: elpa/typescript-mode commit 84ff4228b5d1af287f35c9869e8eb079184a9831 Merge: e824162051 0464cb2e5c Author: Jostein Kjønigsen Commit: GitHub Merge pull request #160 from trev-dev/master capitalize mode name "TypeScript" --- typescript-mode.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/typescript-mode.el b/typescript-mode.el index f4e326482b..464b8cfc7a 100644 --- a/typescript-mode.el +++ b/typescript-mode.el @@ -2911,7 +2911,7 @@ the broken-down class name of the item to insert." ;;; Main Function ;;;###autoload -(define-derived-mode typescript-mode prog-mode "typescript" +(define-derived-mode typescript-mode prog-mode "TypeScript" "Major mode for editing typescript. Key bindings:
[nongnu] elpa/typescript-mode 0464cb2e5c 1/2: capitalize mode name "TypeScript"
branch: elpa/typescript-mode commit 0464cb2e5c94c4cfc4d6c9cac0e4448c0995e171 Author: Trevor Richards Commit: Trevor Richards capitalize mode name "TypeScript" --- typescript-mode.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/typescript-mode.el b/typescript-mode.el index f4e326482b..464b8cfc7a 100644 --- a/typescript-mode.el +++ b/typescript-mode.el @@ -2911,7 +2911,7 @@ the broken-down class name of the item to insert." ;;; Main Function ;;;###autoload -(define-derived-mode typescript-mode prog-mode "typescript" +(define-derived-mode typescript-mode prog-mode "TypeScript" "Major mode for editing typescript. Key bindings:
[elpa] externals/compat cac9929134 2/2: Check if nadvice is available using fboundp
branch: externals/compat commit cac99291348be757cddc57d54f26d9bfd4d5381c Author: Philip Kaludercic Commit: Philip Kaludercic Check if nadvice is available using fboundp --- compat-tests.el | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/compat-tests.el b/compat-tests.el index 820927e6ac..30b58b74f3 100644 --- a/compat-tests.el +++ b/compat-tests.el @@ -121,9 +121,9 @@ the compatibility function." -(require 'package) -(package-initialize) -(unless (package-installed-p 'nadvice) +(unless (fboundp 'nadvice) + (require 'package) + (package-initialize) (package-install 'nadvice)) (ert-deftest compat-string-search ()
[elpa] externals/compat 52cb1ae441 1/2: Update maintainer address to new mailing list
branch: externals/compat commit 52cb1ae441b86f2986ccd9f55fc9cd3d28c99422 Author: Philip Kaludercic Commit: Philip Kaludercic Update maintainer address to new mailing list --- compat.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compat.el b/compat.el index eb1c37a955..9968408d38 100644 --- a/compat.el +++ b/compat.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2021 Free Software Foundation, Inc. ;; Author: Philip Kaludercic -;; Maintainer: Philip Kaludercic <~pkal/public-in...@lists.sr.ht> +;; Maintainer: Philip Kaludercic <~pkal/compat-de...@lists.sr.ht> ;; Version: 28.1.0.0-rc ;; URL: https://git.sr.ht/~pkal/compat/ ;; Package-Requires: ((emacs "24.1") (nadvice "0.3"))
[elpa] externals/compat updated (88ab7dd9a5 -> cac9929134)
elpasync pushed a change to branch externals/compat. from 88ab7dd9a5 Install nadvice in the tests if necessary new 52cb1ae441 Update maintainer address to new mailing list new cac9929134 Check if nadvice is available using fboundp Summary of changes: compat-tests.el | 6 +++--- compat.el | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-)
[nongnu] elpa/geiser ed6d6a1b36: Set REPL's default directory to project's root
branch: elpa/geiser commit ed6d6a1b362fe389acb7f7e1bf6d89ff88e060af Author: jao Commit: jao Set REPL's default directory to project's root --- doc/repl.texi| 5 + elisp/geiser-repl.el | 1 + news.org | 4 3 files changed, 10 insertions(+) diff --git a/doc/repl.texi b/doc/repl.texi index 4f28d823e5..6734d82c35 100644 --- a/doc/repl.texi +++ b/doc/repl.texi @@ -443,10 +443,15 @@ Guile), and, sometimes a global list of paths to add to the interpreter's load path (that'd be @code{geiser-guile-load-path} for Guile). +@cindex default directory There is also a generic mechanism to specify how to add directories to the initial load path when @code{geiser-repl-current-project-function} is set: you can then customize @code{geiser-repl-add-project-paths} to a list of subdirectories of the project's root to add to the load path. +When this option is set, the working directory of the REPL's buffer +(i.e., the value of the elisp variable @code{default-directory}) will be +set to the directory returned by +@code{geiser-repl-current-project-function}). These variables controlling your scheme's initialisation process are good candidates for an entry in a project's @file{.dir-locals.el} file, diff --git a/elisp/geiser-repl.el b/elisp/geiser-repl.el index 60ce214c92..57ae2041f7 100644 --- a/elisp/geiser-repl.el +++ b/elisp/geiser-repl.el @@ -520,6 +520,7 @@ will be set up using `geiser-connect-local' when a REPL is started.") (defun geiser-repl--set-up-load-path () (when geiser-repl-add-project-paths (when-let (root (funcall geiser-repl-current-project-function)) + (setq-local default-directory root) (dolist (p (cond ((eq t geiser-repl-add-project-paths) '(".")) ((listp geiser-repl-add-project-paths) geiser-repl-add-project-paths))) diff --git a/news.org b/news.org index bc675f7980..638634ad53 100644 --- a/news.org +++ b/news.org @@ -1,4 +1,8 @@ +* Version 0.23 (unreleased) + + - Set REPL's default directory to project's root + * Version 0.22.2 (February, 2022) - Bug fixes (byte-compiler warnings, corfu compatibility).
[elpa] externals/consult c3104299de 1/2: README: Do not list Embark as a completion system
branch: externals/consult commit c3104299de9abba26ddb448cfde06344c7dbe49d Author: Daniel Mendler Commit: Daniel Mendler README: Do not list Embark as a completion system See discussion in https://github.com/oantolin/embark/issues/466. In the light of capable and flexible alternative completion systems like Vertico and Mct, Embark will likely consolidate its feature set around actions and snapshot collections. --- README.org | 16 +++- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/README.org b/README.org index cdf99d182c..903ee4ac74 100644 --- a/README.org +++ b/README.org @@ -29,8 +29,8 @@ command =consult-imenu= presents a flat list of the Imenu with [[#live-previews] [[#narrowing-and-grouping][grouping and narrowing]]. Please take a look at the [[#available-commands][full list of commands]]. Consult is fully compatible with completion systems based on the standard Emacs -=completing-read= API, notably the default completion system, [[https://github.com/minad/vertico][Vertico]], -[[https://www.gnu.org/software/emacs/manual/html_node/emacs/Icomplete.html][Icomplete]]/[[https://github.com/oantolin/icomplete-vertical][Icomplete-vertical]], [[https://github.com/raxod502/selectrum][Selectrum]], [[https://github.com/oantolin/embark/][Embark]] and [[https://github.com/protesilaos/mct][Mct]]. +=completing-read= API, notably the default completion system, [[https://github.com/minad/vertico][Vertico]], [[https://github.com/protesilaos/mct][Mct]], +[[https://www.gnu.org/software/emacs/manual/html_node/emacs/Icomplete.html][Icomplete]]/[[https://github.com/oantolin/icomplete-vertical][Icomplete-vertical]] and [[https://github.com/raxod502/selectrum][Selectrum]]. This package keeps the completion system specifics to a minimum. The ability of the Consult commands to work well with arbitrary completion systems is one of @@ -45,9 +45,9 @@ documentation strings or file information. The versatile Embark package provides local actions, comparable to a context menu. These actions operate on the selected candidate in the minibuffer or at point in normal buffers. For example, when selecting from a list of files, Embark offers an action to delete the file. -Additionally Embark offers a completion system by itself through its -live-updating collect buffer. The section [[#embark-integration][Embark integration]] documents in -greater detail how Consult and Embark work together. +Additionally Embark offers a facility to collect completion candidates in a +collect buffer. The section [[#embark-integration][Embark integration]] documents in greater detail how +Consult and Embark work together. ** Screenshots :noexport: @@ -365,8 +365,7 @@ their descriptions. candidates. - =consult-preview-at-point= and =consult-preview-at-point-mode=: Command and minor mode which previews the candidate at point in the =*Completions*= buffer. - This is mainly relevant if you use the default =*Completions*= UI or if you - want to enable preview in Embark Collect buffers. + This mode is relevant if you use [[https://gitlab.com/protesilaos/mct][Mct]] or the default =*Completions*= UI. - =consult-completion-in-region=: This function can be set as =completion-in-region-function=. Then the minibuffer completion UI will be used for =completion-at-point=. This function is particularly useful in @@ -837,8 +836,7 @@ configuration examples. ("M-s L" . consult-line-multi)) ;; needed by consult-line to detect isearch ;; Enable automatic preview at point in the *Completions* buffer. This is - ;; relevant when you use the default completion UI. You may want to also - ;; enable `consult-preview-at-point-mode` in Embark Collect buffers. + ;; relevant when you use the default completion UI. :hook (completion-list-mode . consult-preview-at-point-mode) ;; The :init configuration is always executed (Not lazy)
[elpa] externals/consult 5b374e591f 2/2: README updates
branch: externals/consult commit 5b374e591f7276ccbac50a738597998bba2bc9d7 Author: Daniel Mendler Commit: Daniel Mendler README updates --- README.org | 26 -- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/README.org b/README.org index 903ee4ac74..ec481379e4 100644 --- a/README.org +++ b/README.org @@ -366,13 +366,12 @@ their descriptions. - =consult-preview-at-point= and =consult-preview-at-point-mode=: Command and minor mode which previews the candidate at point in the =*Completions*= buffer. This mode is relevant if you use [[https://gitlab.com/protesilaos/mct][Mct]] or the default =*Completions*= UI. - - =consult-completion-in-region=: This function can be set as - =completion-in-region-function=. Then the minibuffer completion UI will be - used for =completion-at-point=. This function is particularly useful in - combination with Vertico or Icomplete, since these UIs do not provide their - own =completion-in-region-function=. Selectrum provides its own function - similar to =consult-completion-in-region=. If you use the default - =*Completions*= UI, note that =consult-completion-in-region= is not useful. + - =consult-completion-in-region=: In case you don't use [[https://github.com/minad/corfu][Corfu]] as your in-buffer + completion UI, this function can be set as =completion-in-region-function=. + Then your minibuffer completion UI (e.g., Vertico or Icomplete) will be used + for =completion-at-point=. Note that Selectrum provides its own function + similar to =consult-completion-in-region=. If you use Mct, you may want to use + the =mct-region-mode= instead. #+begin_src emacs-lisp ;; Use `consult-completion-in-region' if Vertico is enabled. ;; Otherwise use the default `completion--in-region' function. @@ -1023,12 +1022,12 @@ There exist many other fine completion UIs beside Vertico, which are supported by Consult. Give them a try and find out which interaction model fits best for you! +- The builtin completion UI, which pops up the =*Completions*= buffer. +- [[https://gitlab.com/protesilaos/mct][mct by Protesilaos Stavrou]]: Minibuffer and Completions in Tandem, which builds + on the default completion UI. - [[https://github.com/raxod502/selectrum][selectrum by Radon Rosborough]]: Alternative vertical completion system. - [[https://github.com/oantolin/icomplete-vertical][icomplete-vertical by Omar Antolín Camarena]]: Vertical completion system based on Icomplete. Icomplete-vertical is only needed for Emacs 27, built-in on Emacs 28. -- [[https://github.com/oantolin/embark][embark by Omar Antolín Camarena]]: Completion based on live updating Embark collect buffer. -- [[https://gitlab.com/protesilaos/mct][mct by Protesilaos Stavrou]]: Minibuffer and Completions in Tandem, which builds - on the default completion UI. You can integrated Consult with special programs or with other packages in the wider Emacs ecosystem. You may want to install some of theses packages depending @@ -1076,11 +1075,10 @@ If you find a bug or suspect that there is a problem with Consult, please carry out the following steps: 1. *Update all the relevant packages to the newest version*. - This includes Consult, Vertico, Mct, Selectrum, Icomplete-vertical, - Marginalia, Embark, Orderless and Prescient in case you are using any of - those packages. + This includes Consult, Vertico or other completion UIs, Marginalia, Embark + and Orderless. 2. Either use the default completion UI or ensure that exactly one of - =vertico-mode=, =selectrum-mode=, =mct-mode=, or =icomplete-mode= is enabled. + =vertico-mode=, =mct-mode=, =selectrum-mode=, or =icomplete-mode= is enabled. Furthermore =ivy-mode= and =helm-mode= must be disabled. 3. Ensure that the =completion-styles= variable is properly configured. Try to set =completion-styles= to a list including =substring= or =orderless=.
[elpa] externals/consult updated (d0261c0ecd -> 5b374e591f)
elpasync pushed a change to branch externals/consult. from d0261c0ecd consult-preview: add-hook is broken on Emacs 28, don't use it new c3104299de README: Do not list Embark as a completion system new 5b374e591f README updates Summary of changes: README.org | 42 +++--- 1 file changed, 19 insertions(+), 23 deletions(-)
[elpa] externals/satchel f431ffea23: Add elpa badge
branch: externals/satchel commit f431ffea2336beffd6846082467d1621e20068f0 Author: Theodor Thornhill Commit: Theodor Thornhill Add elpa badge --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 166866c778..4fb3901f8e 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ + + # Satchel satchel.el is a small utility to help manage buffers and files on a working
[elpa] externals/satchel 228668cbac: Add information about tracker and lists
branch: externals/satchel commit 228668cbac0a5f8567764caefaabda99f6a52f72 Author: Theodor Thornhill Commit: Theodor Thornhill Add information about tracker and lists --- README.md | 10 ++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index 4fb3901f8e..ca70d4bde6 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +[Project](https://sr.ht/~theo/satchel/) | [Git](https://git.sr.ht/~theo/satchel) | [Lists](https://sr.ht/~theo/satchel/lists) | [Tracker](https://todo.sr.ht/~theo/satchel) +  # Satchel @@ -22,3 +24,11 @@ much less cluttered search space. ## Satchels are separated by git branches This means that when you switch branches, your satchels are automatically updated and scoped to the work you are currently focused on. + +## Install from ELPA +This package is available from GNU ELPA, so it should be easy to just `M-x +package-install RET satchel RET` + +## Development +You are free to send patches to the lists, or add an issue to the tracker, both +of which are listed at the top of this document.
[elpa] externals/transient f0fdda1a20 4/6: manual: Markup t and the nil in non-nil as code
branch: externals/transient commit f0fdda1a2028d954f749940553406a3aaa9102ce Author: Jonas Bernoulli Commit: Jonas Bernoulli manual: Markup t and the nil in non-nil as code This is a forward port of changes Eli has made to the exported manual for v0.3.7 in Emacs' "emacs-28" branch. Co-authored-by: Eli Zaretskii --- docs/transient.org | 28 ++-- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/docs/transient.org b/docs/transient.org index 2af07ed3f4..6d841cd377 100644 --- a/docs/transient.org +++ b/docs/transient.org @@ -524,7 +524,7 @@ Also see [[* Common Suffix Commands]]. While a transient is active the transient popup buffer is not the current buffer, making it necessary to use dedicated commands to act on that buffer itself. This is disabled by default. If this option - is non-nil, then the following features are available: + is non-~nil~, then the following features are available: - ~~ moves the cursor to the previous suffix. ~~ moves the cursor to the next suffix. @@ -613,7 +613,7 @@ Also see [[* Common Suffix Commands]]. This option controls whether prefixes and suffixes are colored in a Hydra-like fashion. - If non-nil, then the key binding of each suffix is colorized to + If non-~nil~, then the key binding of each suffix is colorized to indicate whether it exits the transient state or not. The color of the prefix is indicated using the line that is drawn when the value of ~transient-mode-line-format~ is ~line~. @@ -628,7 +628,7 @@ Also see [[* Common Suffix Commands]]. not match the respective command-line argument should be highlighted. For other infix commands this option has no effect. - When this option is non-nil, the key binding for an infix argument + When this option is non-~nil~, the key binding for an infix argument is highlighted when only a long argument (e.g. ~--verbose~) is specified but no shorthand (e.g ~-v~). In the rare case that a shorthand is specified but the key binding does not match, then it @@ -682,7 +682,7 @@ Also see [[* Common Suffix Commands]]. This option controls whether columns are aligned pixel-wise in the popup buffer. - If this is non-nil, then columns are aligned pixel-wise to support + If this is non-~nil~, then columns are aligned pixel-wise to support variable-pitch fonts. Keys are not aligned, so you should use a fixed-pitch font for the ~transient-key~ face. Other key faces inherit from that face unless a theme is used that breaks that @@ -696,7 +696,7 @@ Also see [[* Common Suffix Commands]]. This option controls whether to force the use of a monospaced font in popup buffer. Even if you use a proportional font for the ~default~ face, you might still want to use a monospaced font in - transient's popup buffer. Setting this option to t causes ~default~ + transient's popup buffer. Setting this option to ~t~ causes ~default~ to be remapped to ~fixed-pitch~ in that buffer. *** Developer Options @@ -725,7 +725,7 @@ These options are mainly intended for developers. This option controls whether suffixes that would not be available by default are highlighted. - When non-nil then the descriptions of suffixes are highlighted if + When non-~nil~ then the descriptions of suffixes are highlighted if their level is above 4, the default of ~transient-default-level~. Assuming you have set that variable to 7, this highlights all suffixes that won't be available to users without them making the @@ -928,7 +928,7 @@ constructor of that class. These predicates can also be used on individual suffixes and are only documented once, see [[*Predicate Slots]]. -- The value of ~:hide~, if non-nil, is a predicate that controls +- The value of ~:hide~, if non-~nil~, is a predicate that controls whether the group is hidden by default. The key bindings for suffixes of a hidden group should all use the same prefix key. Pressing that prefix key should temporarily show the group and its @@ -940,7 +940,7 @@ constructor of that class. ?\C-c)) ; the prefix key shared by all bindings #+END_SRC -- The value of ~:setup-children~, if non-nil, is a function that takes +- The value of ~:setup-children~, if non-~nil~, is a function that takes two arguments the group object itself and a list of children. The children are given as a (potentially empty) list consisting of either group or suffix specifications. It can make arbitrary @@ -1040,7 +1040,7 @@ argument that is mandatory in all cases. :if (lambda () (featurep 'no-library #+END_SRC - Instead of ~featurep~ you could also use ~require~ with a non-nil value + Instead of ~featurep~ you could also use ~require~ with a non-~nil~ value for NOERROR. - The mandatory argument can also be a command-line argument, a @@ -1472,7 +1472,7 @@ beginning of the class specification, e.g. ~[:class transient-c
[elpa] externals/transient a2707a7a21 3/6: manual: Add concept index and a first batch of entries
branch: externals/transient commit a2707a7a21ddc3734cd9a9cfa983f3e6e4f484d2 Author: Jonas Bernoulli Commit: Jonas Bernoulli manual: Add concept index and a first batch of entries This is a forward port of changes Eli has made to the exported manual for v0.3.7 in Emacs' "emacs-28" branch. Co-authored-by: Eli Zaretskii --- docs/transient.org | 29 - 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/docs/transient.org b/docs/transient.org index 307ed66bfa..2af07ed3f4 100644 --- a/docs/transient.org +++ b/docs/transient.org @@ -57,6 +57,7 @@ arguments and suffix commands. We could call this abstraction a commands (a prefix and a suffix) we prefer to call it just a "transient". +#+cindex: transient prefix command #+begin_quote Transient keymaps are a feature provided by Emacs. Transients as implemented by this package involve the use of transient keymaps. @@ -121,6 +122,7 @@ arguments ~--force~ and ~--annotate~ are enabled or not based on their color. #+end_quote +#+cindex: command dispatchers Transient can be used to implement simple "command dispatchers". The main benefit then is that the user can see all the available commands in a popup buffer. That is useful by itself because it frees the user @@ -168,6 +170,7 @@ to implementing yet). * Usage ** Invoking Transients +#+cindex: invoking transients A transient prefix command is invoked like any other command by pressing the key that is bound to that command. The main difference @@ -188,7 +191,10 @@ commands may also set some value by side-effect, e.g. by setting the value of some variable. ** Aborting and Resuming Transients +#+cindex: aborting transients +#+cindex: resuming transients +#+cindex: quit transient To quit the transient without invoking a suffix command press ~C-g~. Key bindings in transient keymaps may be longer than a single event. @@ -246,6 +252,7 @@ doc string. if any. ** Common Suffix Commands +#+cindex: common suffix commands A few shared suffix commands are available in all transients. These suffix commands are not shown in the popup buffer by default. @@ -283,6 +290,7 @@ Some of Transient's key bindings differ from the respective bindings of Magit-Popup; see [[*FAQ]] for more information. ** Saving Values +#+cindex: saving values of arguments After setting the infix arguments in a transient, the user can save those arguments for future invocations. @@ -318,6 +326,7 @@ handling of buffer-local values is actually a bit more complicated than outlined above and even customizable. ** Using History +#+cindex: value history Every time the user invokes a suffix command the transient's current value is saved to its history. These values can be cycled through the @@ -360,6 +369,7 @@ Both kinds of history are saved to a file when Emacs is exited. the history is saved in ~transient-history-file~. ** Getting Help for Suffix Commands +#+cindex: getting help Transients can have many suffixes and infixes that the user might not be familiar with. To make it trivial to get help for these, Transient @@ -385,15 +395,19 @@ supported. The fallback is to show the command's doc string, for non-infix suffixes this is usually appropriate. ** Enabling and Disabling Suffixes +#+cindex: enabling suffixes +#+cindex: disabling suffixes The user base of a package that uses transients can be very diverse. This is certainly the case for Magit; some users have been using it and Git for a decade, while others are just getting started now. +#+cindex: levels For that reason a mechanism is needed that authors can use to classify a transient's infixes and suffixes along the essentials...everything spectrum. We use the term "levels" to describe that mechanism. +#+cindex: transient-level Each suffix command is placed on a level and each transient has a level (called transient-level), which controls which suffix commands are available. Integers between 1 and 7 (inclusive) are valid levels. @@ -718,6 +732,7 @@ These options are mainly intended for developers. same customization. * Modifying Existing Transients +#+cindex: modifying existing transients To an extent, transients can be customized interactively, see [[*Enabling and Disabling Suffixes]]. This section explains how existing @@ -832,6 +847,7 @@ that is used to invoke that transient. that matches ARGLIST, and it must call ~transient-setup~. It may, however, call that function only when some condition is satisfied. + #+cindex: scope of a transient All transients have a (possibly ~nil~) value, which is exported when suffix commands are called, so that they can consume that value. For some transients it might be necessary to have a sort of @@ -860,6 +876,7 @@ their arguments, which has the same form as the specifications used in ~transient-define-prefix~. *** Group Specifications +#+cindex: group specifications The su
[elpa] externals/transient 17f3feb2de 5/6: manual: Place comma after e.g. and i.e.
branch: externals/transient commit 17f3feb2de2b331aba3694ba5ad44b89fc4dbd0a Author: Jonas Bernoulli Commit: Jonas Bernoulli manual: Place comma after e.g. and i.e. --- docs/transient.org | 48 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/docs/transient.org b/docs/transient.org index 6d841cd377..722b817187 100644 --- a/docs/transient.org +++ b/docs/transient.org @@ -184,10 +184,10 @@ transient prefix command; infix and suffix commands. Infix commands set some value (which is then shown in a popup buffer), without leaving the transient. Suffix commands, on the other hand, usually quit the transient and they may use the values set by the infix -commands, i.e. the infix *arguments*. +commands, i.e., the infix *arguments*. Instead of setting arguments to be used by a suffix command, infix -commands may also set some value by side-effect, e.g. by setting the +commands may also set some value by side-effect, e.g., by setting the value of some variable. ** Aborting and Resuming Transients @@ -205,7 +205,7 @@ prefix key, but not the complete transient). A transient prefix command can be bound as a suffix of another transient. Invoking such a suffix replaces the current transient -state with a new transient state, i.e. the available bindings change +state with a new transient state, i.e., the available bindings change and the information displayed in the popup buffer is updated accordingly. Pressing ~C-g~ while a nested transient is active only quits the innermost transient, causing a return to the previous @@ -629,7 +629,7 @@ Also see [[* Common Suffix Commands]]. For other infix commands this option has no effect. When this option is non-~nil~, the key binding for an infix argument - is highlighted when only a long argument (e.g. ~--verbose~) is + is highlighted when only a long argument (e.g., ~--verbose~) is specified but no shorthand (e.g ~-v~). In the rare case that a shorthand is specified but the key binding does not match, then it is highlighted differently. @@ -713,7 +713,7 @@ These options are mainly intended for developers. in an error, which prevents the transient from being used. Because of that, conflicts are ignored by default. - Conflicts cannot be determined earlier, i.e. when the transient is + Conflicts cannot be determined earlier, i.e., when the transient is being defined and when new suffixes are being added, because at that time there can be false-positives. It is actually valid for multiple suffixes to share a common key binding, provided the @@ -1057,7 +1057,7 @@ argument that is mandatory in all cases. Unless the class is specified explicitly, the appropriate class is guessed based on the long argument. If the argument ends with "=" - (e.g. "--format=") then ~transient-option~ is used, otherwise + (e.g., "--format=") then ~transient-option~ is used, otherwise ~transient-switch~. Finally, details can be specified using optional KEYWORD-VALUE pairs. @@ -1185,7 +1185,7 @@ function, which for infix arguments serves about the same purpose as invoked. This is a list of objects. Usually it is sufficient to instead use the function ~transient-args~, which returns a list of values. In complex cases it might be necessary to use this variable - instead, i.e. if you need access to information beside the value. + instead, i.e., if you need access to information beside the value. - Variable: transient-current-prefix :: @@ -1202,7 +1202,7 @@ function, which for infix arguments serves about the same purpose as #+cindex: transient state Invoking a transient prefix command "activates" the respective -transient, i.e. it puts a transient keymap into effect, which binds +transient, i.e., it puts a transient keymap into effect, which binds the transient's infix and suffix commands. The default behavior while a transient is active is as follows: @@ -1240,7 +1240,7 @@ configurable per transient. slot is ~nil~, so the suffix's ~transient~ slot being unbound is essentially equivalent to it being ~nil~. -- A suffix command can be a prefix command itself, i.e. a +- A suffix command can be a prefix command itself, i.e., a "sub-prefix". While a sub-prefix is active we nearly always want ~C-g~ to take the user back to the "super-prefix". However in rare cases this may not be desirable, and that makes the following @@ -1327,7 +1327,7 @@ slot. Unless ~transient--do-recurse~ is explicitly used, this pre-command is automatically used for suffixes that are prefixes themselves, - i.e. for sub-prefixes. + i.e., for sub-prefixes. - Function: transient--do-suspend :: @@ -1416,7 +1416,7 @@ This happens in two ways. command. The values of such slots are regular functions. Generic functions are used when a function should do something - different based on the type of the command, i.e. when all commands
[elpa] externals/transient updated (1f1e377097 -> 72b8c01393)
tarsius pushed a change to branch externals/transient. from 1f1e377097 manual: Fix typos new 7643a8338e make: Remove redundant bump-version target new 51914d44a4 manual: Fix typos, missing commas and other mistakes new a2707a7a21 manual: Add concept index and a first batch of entries new f0fdda1a20 manual: Markup t and the nil in non-nil as code new 17f3feb2de manual: Place comma after e.g. and i.e. new 72b8c01393 manual: Regenerate texi file Summary of changes: Makefile| 8 +- docs/transient.org | 245 +- docs/transient.texi | 275 ++-- 3 files changed, 294 insertions(+), 234 deletions(-)
[elpa] externals/transient 7643a8338e 1/6: make: Remove redundant bump-version target
branch: externals/transient commit 7643a8338e738482f7c8d1f0343d1ecc8e39f0b9 Author: Jonas Bernoulli Commit: Jonas Bernoulli make: Remove redundant bump-version target The sisyphus package takes care of this now. --- Makefile | 8 +--- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/Makefile b/Makefile index 404f119c90..623c3486ad 100644 --- a/Makefile +++ b/Makefile @@ -25,7 +25,7 @@ lisp: docs: @$(MAKE) -C docs docs -texi: bump-version +texi: @$(MAKE) -C docs texi info: @$(MAKE) -C docs info @@ -43,12 +43,6 @@ publish: release: @$(MAKE) VERSION=$(VERSION) -C docs release -bump-version: - @printf "Setting version in transient.el to $(VERSION)\n" - @test -n "$(VERSION)" || (echo "Version not specified"; false) - @sed -i -e "/Package-Version:/s|[0-9.]\+|$(VERSION)|" lisp/transient.el - @sed -i -e "/Package-Version:/s|UNRELEASED|$(shell date +%F)|" docs/CHANGELOG - clean: @$(MAKE) -C lisp clean @$(MAKE) -C docs clean
[elpa] externals/transient 51914d44a4 2/6: manual: Fix typos, missing commas and other mistakes
branch: externals/transient commit 51914d44a47b62c8d822906d4286bac2d9066c5c Author: Jonas Bernoulli Commit: Jonas Bernoulli manual: Fix typos, missing commas and other mistakes This is a forward port of changes Eli has made to the exported manual for v0.3.7 in Emacs' "emacs-28" branch. Co-authored-by: Eli Zaretskii --- docs/transient.org | 144 ++--- 1 file changed, 72 insertions(+), 72 deletions(-) diff --git a/docs/transient.org b/docs/transient.org index 95423c5156..307ed66bfa 100644 --- a/docs/transient.org +++ b/docs/transient.org @@ -18,7 +18,7 @@ arguments and suffix commands. We could call this abstraction a commands (a prefix and a suffix) we prefer to call it just a "transient". -When the user calls a transient prefix command, then a transient +When the user calls a transient prefix command, a transient (temporary) keymap is activated, which binds the transient's infix and suffix commands, and functions that control the transient state are added to ~pre-command-hook~ and ~post-command-hook~. The available @@ -68,7 +68,7 @@ we sometimes use the terms "transient prefix command" for our kind and "regular prefix command" for Emacs' kind. #+end_quote -When the user calls a transient prefix command, then a transient +When the user calls a transient prefix command, a transient (temporary) keymap is activated, which binds the transient's infix and suffix commands, and functions that control the transient state are added to ~pre-command-hook~ and ~post-command-hook~. The available suffix @@ -92,7 +92,7 @@ the transient. A suffix command can, but does not have to, use the infix arguments in much the same way any command can choose to use or ignore the prefix -arguments. For a suffix command that was invoked from a transient the +arguments. For a suffix command that was invoked from a transient, the variable ~transient-current-suffixes~ and the function ~transient-args~ serve about the same purpose as the variables ~prefix-arg~ and ~current-prefix-arg~ do for any command that was called after the prefix @@ -133,26 +133,26 @@ In addition to that, Transient also allows users to interactively pass arguments to commands. These arguments can be much more complex than what is reasonable when using prefix arguments. There is a limit to how many aspects of a command can be controlled using prefix -arguments. Furthermore what a certain prefix argument means for +arguments. Furthermore, what a certain prefix argument means for different commands can be completely different, and users have to read documentation to learn and then commit to memory what a certain prefix argument means to a certain command. -Transient suffix commands on the other hand can accept dozens of +Transient suffix commands, on the other hand, can accept dozens of different arguments without the user having to remember anything. -When using Transient, then one can call a command with arguments that -are just as complex as when calling the same function non-interactively -using code. +When using Transient, one can call a command with arguments that are +just as complex as when calling the same function non-interactively +from Lisp. Invoking a transient command with arguments is similar to invoking a command in a shell with command-line completion and history enabled. One benefit of the Transient interface is that it remembers history not only on a global level ("this command was invoked using these -arguments and previously it was invoked using those other arguments"), +arguments, and previously it was invoked using those other arguments"), but also remembers the values of individual arguments independently. See [[*Using History]]. -After a transient prefix command is invoked ~C-h ~ can be used to +After a transient prefix command is invoked, ~C-h ~ can be used to show the documentation for the infix or suffix command that ~~ is bound to (see [[*Getting Help for Suffix Commands]]) and infixes and suffixes can be removed from the transient using ~C-x l ~. Infixes @@ -160,9 +160,9 @@ and suffixes that are disabled by default can be enabled the same way. See [[*Enabling and Disabling Suffixes]]. Transient ships with support for a few different types of specialized -infix commands. A command that sets a command line option for example +infix commands. A command that sets a command line option, for example, has different needs than a command that merely toggles a boolean flag. -Additionally Transient provides abstractions for defining new types, +Additionally, Transient provides abstractions for defining new types, which the author of Transient did not anticipate (or didn't get around to implementing yet). @@ -179,9 +179,9 @@ disabled while the transient state is in effect. There are two kinds of commands that are available after invoking a transient prefix command; infix and suffix commands. Infix comman
[elpa] externals/transient 72b8c01393 6/6: manual: Regenerate texi file
branch: externals/transient commit 72b8c013936b8e8d891105144107781a43516735 Author: Jonas Bernoulli Commit: Jonas Bernoulli manual: Regenerate texi file --- docs/transient.texi | 275 ++-- 1 file changed, 157 insertions(+), 118 deletions(-) diff --git a/docs/transient.texi b/docs/transient.texi index 2ecc17070b..776da46c6b 100644 --- a/docs/transient.texi +++ b/docs/transient.texi @@ -51,7 +51,7 @@ arguments and suffix commands. We could call this abstraction a commands (a prefix and a suffix) we prefer to call it just a "transient". -When the user calls a transient prefix command, then a transient +When the user calls a transient prefix command, a transient (temporary) keymap is activated, which binds the transient's infix and suffix commands, and functions that control the transient state are added to @code{pre-command-hook} and @code{post-command-hook}. The available @@ -92,8 +92,9 @@ General Public License for more details. * Related Abstractions and Packages:: * FAQ:: * Keystroke Index:: -* Function and Command Index:: +* Command and Function Index:: * Variable Index:: +* Concept Index:: @detailmenu --- The Detailed Node Listing --- @@ -159,6 +160,7 @@ arguments and suffix commands. We could call this abstraction a commands (a prefix and a suffix) we prefer to call it just a "transient". +@cindex transient prefix command @quotation Transient keymaps are a feature provided by Emacs. Transients as implemented by this package involve the use of transient keymaps. @@ -171,7 +173,7 @@ we sometimes use the terms "transient prefix command" for our kind and @end quotation -When the user calls a transient prefix command, then a transient +When the user calls a transient prefix command, a transient (temporary) keymap is activated, which binds the transient's infix and suffix commands, and functions that control the transient state are added to @code{pre-command-hook} and @code{post-command-hook}. The available suffix @@ -195,7 +197,7 @@ the transient. A suffix command can, but does not have to, use the infix arguments in much the same way any command can choose to use or ignore the prefix -arguments. For a suffix command that was invoked from a transient the +arguments. For a suffix command that was invoked from a transient, the variable @code{transient-current-suffixes} and the function @code{transient-args} serve about the same purpose as the variables @code{prefix-arg} and @code{current-prefix-arg} do for any command that was called after the prefix @@ -225,6 +227,7 @@ color. @end quotation +@cindex command dispatchers Transient can be used to implement simple "command dispatchers". The main benefit then is that the user can see all the available commands in a popup buffer. That is useful by itself because it frees the user @@ -237,26 +240,26 @@ In addition to that, Transient also allows users to interactively pass arguments to commands. These arguments can be much more complex than what is reasonable when using prefix arguments. There is a limit to how many aspects of a command can be controlled using prefix -arguments. Furthermore what a certain prefix argument means for +arguments. Furthermore, what a certain prefix argument means for different commands can be completely different, and users have to read documentation to learn and then commit to memory what a certain prefix argument means to a certain command. -Transient suffix commands on the other hand can accept dozens of +Transient suffix commands, on the other hand, can accept dozens of different arguments without the user having to remember anything. -When using Transient, then one can call a command with arguments that -are just as complex as when calling the same function non-interactively -using code. +When using Transient, one can call a command with arguments that are +just as complex as when calling the same function non-interactively +from Lisp. Invoking a transient command with arguments is similar to invoking a command in a shell with command-line completion and history enabled. One benefit of the Transient interface is that it remembers history not only on a global level ("this command was invoked using these -arguments and previously it was invoked using those other arguments"), +arguments, and previously it was invoked using those other arguments"), but also remembers the values of individual arguments independently. See @ref{Using History}. -After a transient prefix command is invoked @code{C-h } can be used to +After a transient prefix command is invoked, @code{C-h } can be used to show the documentation for the infix or suffix command that @code{} is bound to (see @ref{Getting Help for Suffix Commands}) and infixes and suffixes can be removed from the transient using @code{C-x l }. Infixes @@ -264,9 +267,9 @@ and suffixes that are disabled by default can be enabled the same way. See @ref{En
[elpa] externals/tempel 40de509ff6: Fix file loading bug (Fix #40)
branch: externals/tempel commit 40de509ff635b75d877d83d42d8e36672fdcc47d Author: Daniel Mendler Commit: Daniel Mendler Fix file loading bug (Fix #40) --- tempel.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tempel.el b/tempel.el index 93397e80c7..ada8a190ce 100644 --- a/tempel.el +++ b/tempel.el @@ -304,7 +304,7 @@ INIT is the optional initial input." ('% (unless (or (eolp) (save-excursion (re-search-forward "\\=\\s-*$" nil t))) (insert "\n"))) ('o (unless (or (eolp) (save-excursion (re-search-forward "\\=\\s-*$" nil t))) - (open-line 1))) + (open-line 1))) (`(s ,name) (tempel--field st name)) (`(l . ,lst) (dolist (e lst) (tempel--element st region e))) ((or 'p `(,(or 'p 'P) . ,rest)) (apply #'tempel--placeholder st rest)) @@ -390,7 +390,7 @@ PROMPT is the optional prompt/default value." (let ((data (read (current-buffer))) result) (while data (let (modes plist templates) - (while (and (symbolp (car data)) (not (keywordp (car data + (while (and (car data) (symbolp (car data)) (not (keywordp (car data (push (pop data) modes)) (while (keywordp (car data)) (push (pop data) plist)
[elpa] externals/satchel d741c1f36c: Change keywords
branch: externals/satchel commit d741c1f36cca51a64a2d02a58f9ae25f25f84e8b Author: Theodor Thornhill Commit: Theodor Thornhill Change keywords --- satchel.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/satchel.el b/satchel.el index 698a4bca7f..5fd388bd3c 100644 --- a/satchel.el +++ b/satchel.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2022 Free Software Foundation, Inc. ;; Author: Theodor Thornhill -;; Keywords: tools languages +;; Keywords: tools git ;; Version: 0.2 ;; Package-Requires: ((emacs "27.2") (project "0.8.1"))
[nongnu] elpa/git-commit 41fcb24761 1/2: Avoid updating section highlighting twice or prematurely
branch: elpa/git-commit commit 41fcb247613783bca9768f791506ba25a9aee8f8 Author: Jonas Bernoulli Commit: Jonas Bernoulli Avoid updating section highlighting twice or prematurely Some commands need to force updating of section highlighting, which they used to do by calling `magit-section-highlight-update' with the force argument, but because the highlighting is also updated on `post-command-hook' that could result in it happening twice. Now these commands can set `magit-section-highlight-force-update' to cause the next update to be forced. --- lisp/magit-section.el | 9 +++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lisp/magit-section.el b/lisp/magit-section.el index f3ae5f7e94..01c498a451 100644 --- a/lisp/magit-section.el +++ b/lisp/magit-section.el @@ -44,6 +44,8 @@ (eval-when-compile (require 'benchmark)) +(defvar magit-section-highlight-force-update) + ;;; Hooks (defvar magit-section-movement-hook nil @@ -609,7 +611,7 @@ With a prefix argument also expand it." heading) (oset section content (point-marker)) (funcall washer) (oset section end (point-marker) -(magit-section-update-highlight t))) +(setq magit-section-highlight-force-update t))) (defun magit-section-hide (section) "Hide the body of the current section." @@ -1251,6 +1253,7 @@ evaluated its BODY. Admittedly that's a bit of a hack." (defvar-local magit-section-pre-command-region-p nil) (defvar-local magit-section-pre-command-section nil) +(defvar-local magit-section-highlight-force-update nil) (defvar-local magit-section-highlight-overlays nil) (defvar-local magit-section-highlighted-sections nil) (defvar-local magit-section-unhighlight-sections nil) @@ -1260,11 +1263,12 @@ evaluated its BODY. Admittedly that's a bit of a hack." (setq magit-section-pre-command-section (magit-current-section))) (defun magit-section-deactivate-mark () - (magit-section-update-highlight t)) + (setq magit-section-highlight-force-update t)) (defun magit-section-update-highlight (&optional force) (let ((section (magit-current-section))) (when (or force + magit-section-highlight-force-update (cond ; `xor' wasn't added until 27.1. ((not magit-section-pre-command-region-p) (region-active-p)) ((not (region-active-p)) magit-section-pre-command-region-p)) @@ -1284,6 +1288,7 @@ evaluated its BODY. Admittedly that's a bit of a hack." (run-hook-with-args-until-success 'magit-section-unhighlight-hook s selection)) (restore-buffer-modified-p nil))) +(setq magit-section-highlight-force-update nil) (magit-section-maybe-paint-visibility-ellipses))) (defun magit-section-highlight (section selection)
[nongnu] elpa/git-commit cd2b712602 2/2: magit-diff-highlight-file: Always highlight module sections
branch: elpa/git-commit commit cd2b712602ab4ae6bc930d9e9011c5f669562117 Author: Jonas Bernoulli Commit: Jonas Bernoulli magit-diff-highlight-file: Always highlight module sections Module sections are currently being treated as a special kind of file sections, which may be a mistake, but determining that will require additional research. This commit fixes one issue that resulted from this mismatch. Unlike regular file sections, the children of modules are commits not hunks, but the specialized code that delays highlighting diff-related sections does not deal with commits. For module sections the highlighting was delayed, but then not performed at a later time. Now we don't delay it anymore, which for these sections isn't necessary anyway because doing it is as cheap as it is for other non-diff sections, which also do not delay highlighting of children that are hidden because the parent is collapsed. --- lisp/magit-diff.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lisp/magit-diff.el b/lisp/magit-diff.el index 1306c4f270..4d5e43c133 100644 --- a/lisp/magit-diff.el +++ b/lisp/magit-diff.el @@ -3021,7 +3021,8 @@ are highlighted." (defun magit-diff-highlight-file (section &optional selection) (magit-diff-highlight-heading section selection) - (unless (oref section hidden) + (when (or (not (oref section hidden)) +(cl-typep section 'magit-module-section)) (dolist (child (oref section children)) (magit-diff-highlight-recursive child selection
[nongnu] elpa/git-commit updated (3525928602 -> cd2b712602)
elpasync pushed a change to branch elpa/git-commit. from 3525928602 magit-stashes-section-map: Bind magit-stash-list new 41fcb24761 Avoid updating section highlighting twice or prematurely new cd2b712602 magit-diff-highlight-file: Always highlight module sections Summary of changes: lisp/magit-diff.el| 3 ++- lisp/magit-section.el | 9 +++-- 2 files changed, 9 insertions(+), 3 deletions(-)
[nongnu] elpa/magit updated (3525928602 -> cd2b712602)
elpasync pushed a change to branch elpa/magit. from 3525928602 magit-stashes-section-map: Bind magit-stash-list adds 41fcb24761 Avoid updating section highlighting twice or prematurely adds cd2b712602 magit-diff-highlight-file: Always highlight module sections No new revisions were added by this update. Summary of changes: lisp/magit-diff.el| 3 ++- lisp/magit-section.el | 9 +++-- 2 files changed, 9 insertions(+), 3 deletions(-)
[nongnu] elpa/magit-section updated (3525928602 -> cd2b712602)
elpasync pushed a change to branch elpa/magit-section. from 3525928602 magit-stashes-section-map: Bind magit-stash-list adds 41fcb24761 Avoid updating section highlighting twice or prematurely adds cd2b712602 magit-diff-highlight-file: Always highlight module sections No new revisions were added by this update. Summary of changes: lisp/magit-diff.el| 3 ++- lisp/magit-section.el | 9 +++-- 2 files changed, 9 insertions(+), 3 deletions(-)
[elpa] externals/embark ab6e9c1858: Recognize Emacs Lisp symbols in Custom-mode buffers too
branch: externals/embark commit ab6e9c185846b773caf162816ab8bd8551a6a315 Author: Omar Antolín Commit: Omar Antolín Recognize Emacs Lisp symbols in Custom-mode buffers too This is useful for variable whose value is an Emacs Lisp function or expression. I thought I was already recognizing symbols in Custom-mode buffers, because I mistakenly thought that mode was derived from special-mode... --- embark.el | 11 ++- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/embark.el b/embark.el index 2679c2313f..146358b08a 100644 --- a/embark.el +++ b/embark.el @@ -886,8 +886,9 @@ In Emacs Lisp and IELM buffers the identifier is promoted to a symbol, for which more actions are available. Identifiers are also promoted to symbols if they are interned Emacs Lisp symbols and found in a buffer in a major mode derived from -`special-mode', `Info-mode' or `text-mode' (these are intended to -cover cases where you might be reading or writing about Emacs). +`special-mode', `Info-mode', `Custom-mode' or `text-mode' (these +are intended to cover cases where you might be reading or writing +about Emacs). As a convenience, in Org Mode an initial ' or surrounding == or ~~ are removed." @@ -901,10 +902,10 @@ As a convenience, in Org Mode an initial ' or surrounding == or (setq name (substring name 1 -1)) (cl-incf (car bounds)) (cl-decf (cdr bounds) - `(,(if (or (derived-mode-p 'emacs-lisp-mode) - (derived-mode-p 'inferior-emacs-lisp-mode) + `(,(if (or (derived-mode-p 'emacs-lisp-mode 'inferior-emacs-lisp-mode) (and (intern-soft name) - (derived-mode-p 'special-mode 'Info-mode 'text-mode))) + (derived-mode-p + 'special-mode 'Info-mode 'Custom-mode 'text-mode))) 'symbol 'identifier) ,name
[elpa] externals/embark-consult updated (df4cdfd497 -> ab6e9c1858)
elpasync pushed a change to branch externals/embark-consult. from df4cdfd497 sort-regexp-fields should ignore the target (fix #465) adds ab6e9c1858 Recognize Emacs Lisp symbols in Custom-mode buffers too No new revisions were added by this update. Summary of changes: embark.el | 11 ++- 1 file changed, 6 insertions(+), 5 deletions(-)
[elpa] externals/embark f741dab05b: For repeatable actions, make start of next cycle configurable
branch: externals/embark commit f741dab05b09beb18e0a7e87f5b80ea462ca44a2 Author: Omar Antolín Commit: Omar Antolín For repeatable actions, make start of next cycle configurable Previously the starting point of the next cycle was hard-coded: If you used as action one of mark, outline-mark-subtree, or org-mark-subtree, then the cycle for the next action started at region; otherwise it started at the same type as the current target. There was a TODO in the source suggesting an extra customization variable, but since this option only makes sense for repeatable actions, I decided to generalize the items in embark-repeat-actions to allow pairs of the form (action . next-type). --- embark.el | 57 + 1 file changed, 41 insertions(+), 16 deletions(-) diff --git a/embark.el b/embark.el index 146358b08a..867a0ba950 100644 --- a/embark.el +++ b/embark.el @@ -558,18 +558,20 @@ argument: a one element list containing the target." :type '(repeat function)) (defcustom embark-repeat-actions - '(mark + '((mark . region) ;; outline commands outline-next-visible-heading outline-previous-visible-heading outline-forward-same-level outline-backward-same-level -outline-demote outline-promote outline-mark-subtree -outline-show-subtree outline-move-subtree-up outline-move-subtree-down +outline-demote outline-promote +outline-show-subtree (outline-mark-subtree . region) +outline-move-subtree-up outline-move-subtree-down outline-up-heading outline-hide-subtree outline-cycle ;; org commands (remapped outline commands) org-forward-heading-same-level org-backward-heading-same-level org-next-visible-heading org-previous-visible-heading -org-demote-subtree org-promote-subtree org-mark-subtree -org-show-subtree org-move-subtree-up org-move-subtree-down +org-demote-subtree org-promote-subtree +org-show-subtree (org-mark-subtree . region) +org-move-subtree-up org-move-subtree-down ;; transpose commands transpose-sexps transpose-sentences transpose-paragraphs ;; movement @@ -577,8 +579,26 @@ argument: a one element list containing the target." backward-up-list backward-list forward-list forward-sexp backward-sexp forward-sentence backward-sentence forward-paragraph backward-paragraph) - "List of repeatable actions." - :type '(repeat function)) + "List of repeatable actions. +When you use a command on this list as an Embark action from +outside the minibuffer, `embark-act' does not exit but instead +lets you act again on the possibly new target you reach. + +By default, after using one of these actions, when `embark-act' +looks for targets again, it will start the target cycle at the +same type as the previously acted upon target; that is, you +\"don't loose your place in the target cycle\". + +Sometimes, however, you'll want to prioritze a different type of +target to continue acting on. The main example of this that if +you use a marking command as an action, you almost always want to +act on the region next. For those cases, in addition to +commands, you can also place on this list a pair of a command and +the desired starting type for the target cycle for the next +action." + :type '(repeat (choice function + (cons function + (symbol :tag "Next target type") ;;; Stashing information for actions in buffer local variables @@ -1228,6 +1248,15 @@ first line of the documentation string; otherwise use the word (substring str (match-end 0)) str) +(defun embark--action-repeatable-p (action) + "Is ACTION repeatable? +When the return value is non-nil it will be the desired starting +point of the next target cycle or t to indicate the default, +namely that the target cycle for the next action should begin at +the tye of the current target." + (or (cdr (assq action embark-repeat-actions)) + (and (memq action embark-repeat-actions) t))) + (defun embark--formatted-bindings (keymap &optional nested) "Return the formatted keybinding of KEYMAP. The keybindings are returned in their order of appearance. @@ -1260,7 +1289,7 @@ If NESTED is non-nil subkeymaps are not flattened." for desc-rep = (concat (propertize desc 'face 'embark-keybinding) -(and (memq cmd embark-repeat-actions) +(and (embark--action-repeatable-p cmd) embark-keybinding-repeat)) for formatted = (propertize @@ -2066,7 +2095,7 @@ target." targets (prefix-numeric-value prefix-arg (t ;; if the action is non-repeatable, cleanup indicator now -(let ((repeat (memq action embark-repeat-actions))) +(let ((repeat (emb
[elpa] externals/embark-consult updated (ab6e9c1858 -> f741dab05b)
elpasync pushed a change to branch externals/embark-consult. from ab6e9c1858 Recognize Emacs Lisp symbols in Custom-mode buffers too adds f741dab05b For repeatable actions, make start of next cycle configurable No new revisions were added by this update. Summary of changes: embark.el | 57 + 1 file changed, 41 insertions(+), 16 deletions(-)
[elpa] externals/bbdb bbce0981a5: Bugfix and polish previous patch
branch: externals/bbdb commit bbce0981a54f28fa919132ee98e265a4580d29a4 Author: Roland Winkler Commit: Roland Winkler Bugfix and polish previous patch --- lisp/bbdb-mua.el | 62 lisp/bbdb.el | 7 ++- 2 files changed, 33 insertions(+), 36 deletions(-) diff --git a/lisp/bbdb-mua.el b/lisp/bbdb-mua.el index 2117e98bff..f9d141dfdb 100644 --- a/lisp/bbdb-mua.el +++ b/lisp/bbdb-mua.el @@ -133,7 +133,7 @@ MIME encoded headers are decoded. Return nil if HEADER does not exist." ;;;###autoload (defun bbdb-accept-message (&optional invert) - "For use with variable `bbdb-mua-interactive-action' and friends. + "For use with variable `bbdb-mua-auto-action' and friends. Return the value of variable `bbdb-mua-action' for messages matching `bbdb-accept-message-alist'. If INVERT is non-nil, accept messages not matching `bbdb-ignore-message-alist'." @@ -151,7 +151,7 @@ not matching `bbdb-ignore-message-alist'." ;;;###autoload (defun bbdb-ignore-message (&optional invert) - "For use with variable `bbdb-mua-interactive-action' and friends. + "For use with variable `bbdb-mua-auto-action' and friends. Return the value of variable `bbdb-mua-action' for messages not matching `bbdb-ignore-message-alist'. If INVERT is non-nil, accept messages matching `bbdb-accept-message-alist'." @@ -159,7 +159,7 @@ matching `bbdb-accept-message-alist'." ;;;###autoload (defun bbdb-select-message () - "For use with variable `bbdb-mua-interactive-action' and friends. + "For use with variable `bbdb-mua-auto-action' and friends. Return the value of variable `bbdb-mua-action' for messages both matching `bbdb-accept-message-alist' and not matching `bbdb-ignore-message-alist'." (and (bbdb-accept-message) @@ -274,33 +274,31 @@ Usually this function is called by the wrapper `bbdb-mua-update-records'." (setq records-alist (funcall bbdb-record-address-alist-function records-alist))) -(let (task) - (while (setq elt (pop records-alist)) -(let* ((record (nth 0 elt)) - (address (nth 0 (nth 1 elt))) - (mail (or (nth 0 address) (nth 1 address - (when (and (not record) mail (eq action 'query) (not bbdb-read-only)) -(setq task (bbdb-query-create mail)) -(if (memq task '(search create update)) -(setq action task))) - (cond ((eq task 'quit) - (setq records-alist nil)) -((eq task 'next)) ; do nothing -((not (or record mail))) ; do nothing -((or bbdb-read-only (eq action 'search)) - (if record (push record records))) -(t - (if (or (eq action 'create) - (eq task 'create-current) ; and (eq action 'query) - (and record (eq action 'update))) - ;; If we have more than one record, all but the first - ;; one are new. So no need to worry about duplicates. - (setq records - (nconc (bbdb-annotate-message record - (nth 1 elt) action) - records)) -(if (and records (not bbdb-message-all-addresses)) -(setq records-alist nil +(while (setq elt (pop records-alist)) + (let* ((record (nth 0 elt)) + (address (nth 0 (nth 1 elt))) + (mail (or (nth 0 address) (nth 1 address))) + task) +(when (and (not record) mail (eq action 'query) (not bbdb-read-only)) + (setq task (bbdb-query-create mail)) + (if (memq task '(search create update)) + (setq action task))) +(cond ((eq task 'quit) + (setq records-alist nil)) + ((eq task 'next)) ; do nothing + ((not (or record mail))) ; do nothing + ((or bbdb-read-only (eq action 'search)) + (if record (push record records))) + ((or (eq action 'create) + (eq task 'create-current) ; and (eq action 'query) + (and record (memq action '(query update + ;; If we have more than one record, all but the first + ;; one are new. So no need to worry about duplicates. + (setq records + (nconc (bbdb-annotate-message record (nth 1 elt) action) +records) + (if (and records (not bbdb-message-all-addresses)) +(setq records-alist nil))) (setq records ;; Sorting RECORDS is useful when RECORDS are displayed. @@ -375,7 +373,7 @@ q Quit updating records. action)) (defun bbdb-annotate-message (record address-list action) - "Anotate RECORD using ADDRESS-LIST. + "Anotate RECORD using ADDRESS-LIST. If RECORD is nil, create ne