[elpa] externals/transient 459e28e28a 03/11: Add lisp-imenu-generic-expression entry
branch: externals/transient commit 459e28e28a5f29e4dd59c7d61ec8557ce9b57ef3 Author: Jonas Bernoulli Commit: Jonas Bernoulli Add lisp-imenu-generic-expression entry Closes #178. --- lisp/transient.el | 13 + 1 file changed, 13 insertions(+) diff --git a/lisp/transient.el b/lisp/transient.el index 0305418dea..5a41ac55e4 100644 --- a/lisp/transient.el +++ b/lisp/transient.el @@ -3638,6 +3638,19 @@ search instead." Miscellaneous +(with-eval-after-load 'lisp-mode + (cl-pushnew (list nil (concat "^\\s-*(" +(eval-when-compile + (regexp-opt + '("transient-define-prefix" + "transient-define-suffix" + "transient-define-infix" + "transient-define-argument") + t)) + "\\s-+\\(" lisp-mode-symbol-regexp "\\)") + 2) + lisp-imenu-generic-expression :test #'equal)) + (declare-function which-key-mode "which-key" (&optional arg)) (defun transient--suspend-which-key-mode ()
[elpa] externals/transient 61af234d41 06/11: make: Update stats target
branch: externals/transient commit 61af234d41cacfd17360bbfd87def40f3fc09051 Author: Jonas Bernoulli Commit: Jonas Bernoulli make: Update stats target --- default.mk| 3 ++- docs/Makefile | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/default.mk b/default.mk index 6977ea0a27..89ba6fa17d 100644 --- a/default.mk +++ b/default.mk @@ -24,4 +24,5 @@ INSTALL_INFO ?= $(shell command -v ginstall-info || printf install-info) MAKEINFO ?= makeinfo MANUAL_HTML_ARGS ?= --css-ref /assets/page.css -STATS_DIR ?= $(TOP)docs/stats +GITSTATS_DIR ?= $(TOP)docs/stats +GITSTATS_ARGS ?= -c style=https://magit.vc/assets/stats.css -c max_authors=999 diff --git a/docs/Makefile b/docs/Makefile index f94aeea658..0cda1fdd0d 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -63,7 +63,7 @@ html-dir: $(PKG).texi .PHONY: stats stats: @printf "Generating statistics\n" - @gitstats -c style=https://magit.vc/assets/stats.css -c max_authors=999 $(TOP) $(STATS_DIR) + @gitstats $(GITSTATS_ARGS) $(TOP) $(GITSTATS_DIR) DOMAIN ?= magit.vc PUBLISH_PATH ?= /manual/
[elpa] externals/transient 0695b617cc 02/11: manual: No longer use dissolvable sections
branch: externals/transient commit 0695b617cce701449c167a6ec9cb27eccadeec47 Author: Jonas Bernoulli Commit: Jonas Bernoulli manual: No longer use dissolvable sections These sections existed because I am not fully happy with how `org-cycle' works, which I should deal with by patching that function or writing a substitute. --- docs/transient.org | 7 +-- 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/docs/transient.org b/docs/transient.org index f321ef80fb..04aedc739d 100644 --- a/docs/transient.org +++ b/docs/transient.org @@ -770,7 +770,6 @@ that is used to invoke that transient. the branch whose variables are being configured. ** Binding Suffix and Infix Commands -*** _ The macro ~transient-define-prefix~ is used to define a transient. This defines the actual transient prefix command (see [[*Defining @@ -1104,7 +1103,6 @@ function, which for infix arguments serves about the same purpose as returned value is a symbol, the transient prefix command. ** Transient State -*** _ Invoking a transient prefix command "activates" the respective transient, i.e. it puts a transient keymap into effect, which binds @@ -1257,7 +1255,6 @@ slot. This is used when the user pressed ~C-z~. * Classes and Methods -** _ Transient uses classes and generic functions to make it possible to define new types of suffix commands that are similar to existing @@ -1433,7 +1430,6 @@ classes will likely get generalized and added to Transient. For now they are very much subject to change and not documented. ** Suffix Methods -*** _ To get information about the methods implementing these generic functions use ~describe-function~. @@ -2146,7 +2142,7 @@ necessary changes. See its doc string for more information. :INDEX: vr :END: -* _ Copying +* Copying :PROPERTIES: :COPYING:t :END: @@ -2177,7 +2173,6 @@ General Public License for more details. # IMPORTANT: Also update ORG_ARGS and ORG_EVAL in the Makefile. # Local Variables: # eval: (require 'ox-texinfo+ nil t) -# org-texinfo+-dissolve-noexport-headlines: t # indent-tabs-mode: nil # org-src-preserve-indentation: nil # End:
[elpa] externals/transient abbe17560c 10/11: manual: Move common settings to .orgconfig
branch: externals/transient commit abbe17560cd175bb83f06d23763868481e5bb78f Author: Jonas Bernoulli Commit: Jonas Bernoulli manual: Move common settings to .orgconfig --- docs/.orgconfig| 10 ++ docs/transient.org | 7 +-- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/docs/.orgconfig b/docs/.orgconfig new file mode 100644 index 00..8919537a19 --- /dev/null +++ b/docs/.orgconfig @@ -0,0 +1,10 @@ +# -*- mode:org -*- + +#+options: H:4 num:4 toc:2 +#+property: header-args :eval never + +#+texinfo_deffn: t +#+macro: year (eval (format-time-string "%Y")) +#+macro: version (eval (ox-texinfo+-get-version 'mixed)) + +#+language: en diff --git a/docs/transient.org b/docs/transient.org index 319768c8db..c92122c004 100644 --- a/docs/transient.org +++ b/docs/transient.org @@ -3,18 +3,13 @@ #+author: Jonas Bernoulli #+email: jo...@bernoul.li #+date: 2018-{{{year}}} -#+language: en #+texinfo_dir_category: Emacs #+texinfo_dir_title: Transient: (transient). #+texinfo_dir_desc: Transient Commands #+subtitle: for version {{{version}}} -#+texinfo_deffn: t -#+options: H:4 num:4 toc:2 -#+property: header-args :eval never -#+macro: version (eval (ox-texinfo+-get-version 'mixed)) -#+macro: year (eval (format-time-string "%Y")) +#+setupfile: .orgconfig Taking inspiration from prefix keys and prefix arguments, Transient implements a similar abstraction involving a prefix command, infix
[elpa] externals/transient c26cbac574 08/11: transient-{init, set}-value: Use case-sensitive matching
branch: externals/transient commit c26cbac57429d958ee939765da25553b26b7410f Author: Jonas Bernoulli Commit: Jonas Bernoulli transient-{init,set}-value: Use case-sensitive matching Closes #181. --- lisp/transient.el | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lisp/transient.el b/lisp/transient.el index 5a41ac55e4..bfe0da356d 100644 --- a/lisp/transient.el +++ b/lisp/transient.el @@ -2473,6 +2473,7 @@ Otherwise call the primary method according to object's class." (argument (and (slot-boundp obj 'argument) (oref obj argument))) (multi-value (oref obj multi-value)) + (case-fold-search nil) (regexp (if (slot-exists-p obj 'argument-regexp) (oref obj argument-regexp) (format "\\`%s\\(.*\\)" (oref obj argument) @@ -2822,7 +2823,8 @@ a string, using the empty string for the empty value, or nil if the option does not appear in ARGS." (if (string-match-p "=\\'" arg) (save-match-data -(when-let ((match (let ((re (format "\\`%s\\(?:=\\(.+\\)\\)?\\'" +(when-let ((match (let ((case-fold-search nil) +(re (format "\\`%s\\(?:=\\(.+\\)\\)?\\'" (substring arg 0 -1 (cl-find-if (lambda (a) (and (stringp a)
[elpa] externals/transient 4e8aa09b3f 01/11: transient-define-infix: Fix documentation
branch: externals/transient commit 4e8aa09b3f9b909e85269eb5051b5801a07c Author: Jonas Bernoulli Commit: Jonas Bernoulli transient-define-infix: Fix documentation Closes #175. --- docs/transient.org | 4 ++-- docs/transient.texi | 8 lisp/transient.el | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/transient.org b/docs/transient.org index 675dc805d0..f321ef80fb 100644 --- a/docs/transient.org +++ b/docs/transient.org @@ -1029,8 +1029,8 @@ suffixes". methods are different for different infix command classes. In rare cases the above command function might not be suitable, even if you define your own infix command class. In that case you have to use - ~transient-suffix-command~ to define the infix command and use ~t~ as - the value of the ~:transient~ keyword. + ~transient-define-suffix~ to define the infix command and use ~t~ as the + value of the ~:transient~ keyword. - Macro: transient-define-argument name arglist [docstring] [keyword value]... diff --git a/docs/transient.texi b/docs/transient.texi index ae44d41aa6..3347e3be83 100644 --- a/docs/transient.texi +++ b/docs/transient.texi @@ -31,7 +31,7 @@ General Public License for more details. @finalout @titlepage @title Transient User and Developer Manual -@subtitle for version 0.3.7 (v0.3.7-9-g667488eb+1) +@subtitle for version 0.3.7 (v0.3.7-12-g34911615+1) @author Jonas Bernoulli @page @vskip 0pt plus 1filll @@ -65,7 +65,7 @@ Calling a suffix command usually causes the transient to be exited but suffix commands can also be configured to not exit the transient. @noindent -This manual is for Transient version 0.3.7 (v0.3.7-9-g667488eb+1). +This manual is for Transient version 0.3.7 (v0.3.7-12-g34911615+1). @quotation Copyright (C) 2018-2021 Jonas Bernoulli @@ -1279,8 +1279,8 @@ Different infix commands behave differently because the concrete methods are different for different infix command classes. In rare cases the above command function might not be suitable, even if you define your own infix command class. In that case you have to use -@code{transient-suffix-command} to define the infix command and use @code{t} as -the value of the @code{:transient} keyword. +@code{transient-define-suffix} to define the infix command and use @code{t} as the +value of the @code{:transient} keyword. @end defmac @defmac transient-define-argument name arglist [docstring] [keyword value]@dots{} diff --git a/lisp/transient.el b/lisp/transient.el index f80e6afb10..0305418dea 100644 --- a/lisp/transient.el +++ b/lisp/transient.el @@ -911,7 +911,7 @@ functions. Different infix commands behave differently because the concrete methods are different for different infix command classes. In rare case the above command function might not be suitable, even if you define your own infix command class. In -that case you have to use `transient-suffix-command' to define +that case you have to use `transient-define-suffix' to define the infix command and use t as the value of the `:transient' keyword.
[elpa] externals/transient 129c2b1685 07/11: make: Set more variables in default.mk
branch: externals/transient commit 129c2b1685368757ffe2b6fb2d57da4b06330968 Author: Jonas Bernoulli Commit: Jonas Bernoulli make: Set more variables in default.mk --- default.mk| 3 +++ docs/Makefile | 4 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/default.mk b/default.mk index 89ba6fa17d..08d3d74a88 100644 --- a/default.mk +++ b/default.mk @@ -7,6 +7,9 @@ ELCS = $(ELS:.el=.elc) DEPS = +DOMAIN ?= magit.vc +CFRONT_DIST ?= E2LUHBKU1FBV02 + VERSION ?= $(shell test -e $(TOP).git && git describe --tags --abbrev=0 | cut -c2-) EMACS ?= emacs diff --git a/docs/Makefile b/docs/Makefile index 0cda1fdd0d..4ac8df4ae9 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -65,15 +65,11 @@ stats: @printf "Generating statistics\n" @gitstats $(GITSTATS_ARGS) $(TOP) $(GITSTATS_DIR) -DOMAIN ?= magit.vc PUBLISH_PATH ?= /manual/ RELEASE_PATH ?= /manual/$(VERSION)/ - S3_BUCKET ?= s3://$(DOMAIN) PUBLISH_TARGET = $(S3_BUCKET)$(PUBLISH_PATH) RELEASE_TARGET = $(S3_BUCKET)$(RELEASE_PATH) - -CFRONT_DIST?= E2LUHBKU1FBV02 CFRONT_PATHS= $(PKG).html $(PKG).pdf $(PKG)/* comma := ,
[elpa] externals/transient daa22e7632 09/11: manual: Downcase keywords
branch: externals/transient commit daa22e7632e90b44513d1babc83e159b0b32e8a8 Author: Jonas Bernoulli Commit: Jonas Bernoulli manual: Downcase keywords --- docs/transient.org | 82 +++--- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/docs/transient.org b/docs/transient.org index 04aedc739d..319768c8db 100644 --- a/docs/transient.org +++ b/docs/transient.org @@ -1,20 +1,20 @@ -#+TITLE: Transient User and Developer Manual +#+title: Transient User and Developer Manual :PREAMBLE: -#+AUTHOR: Jonas Bernoulli -#+EMAIL: jo...@bernoul.li -#+DATE: 2018-{{{year}}} -#+LANGUAGE: en - -#+TEXINFO_DIR_CATEGORY: Emacs -#+TEXINFO_DIR_TITLE: Transient: (transient). -#+TEXINFO_DIR_DESC: Transient Commands -#+SUBTITLE: for version {{{version}}} - -#+TEXINFO_DEFFN: t -#+OPTIONS: H:4 num:4 toc:2 -#+PROPERTY: header-args :eval never -#+MACRO: version (eval (ox-texinfo+-get-version 'mixed)) -#+MACRO: year (eval (format-time-string "%Y")) +#+author: Jonas Bernoulli +#+email: jo...@bernoul.li +#+date: 2018-{{{year}}} +#+language: en + +#+texinfo_dir_category: Emacs +#+texinfo_dir_title: Transient: (transient). +#+texinfo_dir_desc: Transient Commands +#+subtitle: for version {{{version}}} + +#+texinfo_deffn: t +#+options: H:4 num:4 toc:2 +#+property: header-args :eval never +#+macro: version (eval (ox-texinfo+-get-version 'mixed)) +#+macro: year (eval (format-time-string "%Y")) Taking inspiration from prefix keys and prefix arguments, Transient implements a similar abstraction involving a prefix command, infix @@ -36,10 +36,10 @@ reading a new value in the minibuffer. Calling a suffix command usually causes the transient to be exited but suffix commands can also be configured to not exit the transient. -#+TEXINFO: @noindent +#+texinfo: @noindent This manual is for Transient version {{{version}}}. -#+BEGIN_QUOTE +#+begin_quote Copyright (C) 2018-{{{year}}} Jonas Bernoulli You can redistribute this document and/or modify it under the terms @@ -51,7 +51,7 @@ This document is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. -#+END_QUOTE +#+end_quote :END: * Introduction @@ -62,7 +62,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". -#+BEGIN_QUOTE +#+begin_quote Transient keymaps are a feature provided by Emacs. Transients as implemented by this package involve the use of transient keymaps. @@ -71,7 +71,7 @@ talk about "prefix commands" in this manual, then we mean our own kind of "prefix commands", unless specified otherwise. To avoid ambiguity we sometimes use the terms "transient prefix command" for our kind and "regular prefix command" for Emacs' kind. -#+END_QUOTE +#+end_quote When the user calls a transient prefix command, then a transient (temporary) keymap is activated, which binds the transient's infix and @@ -106,7 +106,7 @@ arguments have been set using a command such as ~universal-argument~. The information shown in the popup buffer while a transient is active looks a bit like this: -#+BEGIN_EXAMPLE +#+begin_example ,- |Arguments | -f Force (--force) @@ -116,15 +116,15 @@ looks a bit like this: | t tag | r release `- -#+END_EXAMPLE +#+end_example -#+BEGIN_QUOTE +#+begin_quote This is a simplified version of ~magit-tag~. Info manuals do not support images or colored text, so the above "screenshot" lacks some information; in practice you would be able to tell whether the arguments ~--force~ and ~--annotate~ are enabled or not based on their color. -#+END_QUOTE +#+end_quote Transient can be used to implement simple "command dispatchers". The main benefit then is that the user can see all the available commands @@ -800,9 +800,9 @@ brackets to do the latter. Group specifications then have this form: -#+BEGIN_SRC emacs-lisp +#+begin_src emacs-lisp [{LEVEL} {DESCRIPTION} {KEYWORD VALUE}... ELEMENT...] -#+END_SRC +#+end_src The LEVEL is optional and defaults to 4. See [[*Enabling and Disabling Suffixes]]. @@ -895,9 +895,9 @@ suffixes". Here it means the former. Suffix specifications have this form: -#+BEGIN_SRC emacs-lisp +#+begin_src emacs-lisp ([LEVEL] [KEY] [DESCRIPTION] COMMAND|ARGUMENT [KEYWORD VALUE]...) -#+END_SRC +#+end_src LEVEL, KEY and DESCRIPTION can also be specified using the KEYWORDs ~:level~, ~:key~ and ~:description~. If the object that is associated with @@ -1754,13 +1754,13 @@ The following diagrams illustrate some of the differences. See [[info:elisp#Prefix Keys]]. -#+BEGIN_EXAMPLE +#+be
[elpa] externals/transient f4790969fe 04/11: make: Add stats target
branch: externals/transient commit f4790969fe9ed0084be537ed476e9292d1e92244 Author: Jonas Bernoulli Commit: Jonas Bernoulli make: Add stats target --- .gitignore| 1 + Makefile | 4 default.mk| 4 docs/Makefile | 5 + 4 files changed, 14 insertions(+) diff --git a/.gitignore b/.gitignore index 668ffb9639..3578139fdf 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ /docs/*.info /docs/*.pdf /docs/dir +/docs/stats/ /docs/transient/ /lisp/*.elc /lisp/transient-autoloads.el diff --git a/Makefile b/Makefile index 7f5ab43734..db38d2cdd6 100644 --- a/Makefile +++ b/Makefile @@ -14,6 +14,7 @@ help: $(info make html - generate html manual file) $(info make html-dir - generate html manual directory) $(info make pdf - generate pdf manual) + $(info make stats- generate statistics) $(info make publish - publish snapshot manuals) $(info make release - publish release manuals) $(info make clean- remove most generated files) @@ -40,6 +41,9 @@ html-dir: pdf: @$(MAKE) -C docs pdf +stats: + @$(MAKE) -C docs stats + publish: @$(MAKE) -C docs publish diff --git a/default.mk b/default.mk index 1d4fd17636..6977ea0a27 100644 --- a/default.mk +++ b/default.mk @@ -1,3 +1,5 @@ +TOP := $(dir $(lastword $(MAKEFILE_LIST))) + PKG = transient ELS = $(PKG).el @@ -21,3 +23,5 @@ endif INSTALL_INFO ?= $(shell command -v ginstall-info || printf install-info) MAKEINFO ?= makeinfo MANUAL_HTML_ARGS ?= --css-ref /assets/page.css + +STATS_DIR ?= $(TOP)docs/stats diff --git a/docs/Makefile b/docs/Makefile index 86573aa253..ae2a4f5287 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -60,6 +60,11 @@ html-dir: $(PKG).texi @printf "Generating $@\n" @texi2pdf --clean $< > /dev/null +.PHONY: stats +stats: + @printf "Generating statistics\n" + @gitstats -c style=https://magit.vc/assets/stats.css -c max_authors=999 $(TOP) $(STATS_DIR) + DOMAIN ?= magit.vc PUBLISH_PATH ?= /manual/ RELEASE_PATH ?= /manual/$(VERSION)/
[elpa] externals/transient updated (349116159f -> 51c50d8c82)
tarsius pushed a change to branch externals/transient. from 349116159f manual: Use Org macros new 4e8aa09b3f transient-define-infix: Fix documentation new 0695b617cc manual: No longer use dissolvable sections new 459e28e28a Add lisp-imenu-generic-expression entry new f4790969fe make: Add stats target new e57d1e176b make: Cosmetics new 61af234d41 make: Update stats target new 129c2b1685 make: Set more variables in default.mk new c26cbac574 transient-{init,set}-value: Use case-sensitive matching new daa22e7632 manual: Downcase keywords new abbe17560c manual: Move common settings to .orgconfig new 51c50d8c82 manual: Use updated support for definition commands Summary of changes: .gitignore | 7 +- Makefile| 14 ++-- default.mk | 9 +- docs/.orgconfig | 10 +++ docs/Makefile | 13 +-- docs/transient.org | 236 docs/transient.texi | 227 -- lisp/Makefile | 7 +- lisp/transient.el | 19 - 9 files changed, 201 insertions(+), 341 deletions(-) create mode 100644 docs/.orgconfig
[elpa] externals/transient 51c50d8c82 11/11: manual: Use updated support for definition commands
branch: externals/transient commit 51c50d8c828b5fac2878b651e2188ad0c6f44184 Author: Jonas Bernoulli Commit: Jonas Bernoulli manual: Use updated support for definition commands Instead of ox-texinfo+.el use the new implementation that I expect to be merged into Org itself. --- default.mk | 1 - docs/.orgconfig | 4 +- docs/Makefile | 3 +- docs/transient.org | 148 +- docs/transient.texi | 223 +--- 5 files changed, 109 insertions(+), 270 deletions(-) diff --git a/default.mk b/default.mk index 08d3d74a88..eb1a74d17c 100644 --- a/default.mk +++ b/default.mk @@ -20,7 +20,6 @@ LOAD_PATH += -L . ifndef ORG_LOAD_PATH ORG_LOAD_PATH = -L ../../org/lisp -ORG_LOAD_PATH += -L ../../ox-texinfo+ endif INSTALL_INFO ?= $(shell command -v ginstall-info || printf install-info) diff --git a/docs/.orgconfig b/docs/.orgconfig index 8919537a19..3a00c75840 100644 --- a/docs/.orgconfig +++ b/docs/.orgconfig @@ -3,8 +3,8 @@ #+options: H:4 num:4 toc:2 #+property: header-args :eval never -#+texinfo_deffn: t +#+macro: kbd (eval (let ((case-fold-search nil) (regexp (regexp-opt '("SPC" "RET" "LFD" "TAB" "BS" "ESC" "DELETE" "SHIFT" "Ctrl" "Meta" "Alt" "Cmd" "Super" "UP" "LEFT" "RIGHT" "DOWN") 'words))) (format "@@texinfo:@kbd{@@%s@@texinfo:}@@" (replace-regexp-in-string regexp "@@texinfo:@key{@@\\&@@texinfo:}@@" $1 t #+macro: year (eval (format-time-string "%Y")) -#+macro: version (eval (ox-texinfo+-get-version 'mixed)) +#+macro: version (eval (or (getenv "PACKAGE-VERSION") (ignore-errors (car (process-lines "git" "describe" "--exact"))) (ignore-errors (concat (car (process-lines "git" "describe" (if (getenv "AMEND") "HEAD~" "HEAD"))) "+1" #+language: en diff --git a/docs/Makefile b/docs/Makefile index 4ac8df4ae9..13237ca8d9 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -7,8 +7,7 @@ info: $(PKG).info dir html: $(PKG).html pdf: $(PKG).pdf -ORG_ARGS = --batch -Q $(ORG_LOAD_PATH) -l ox-texinfo+ -ORG_EVAL = --eval "(setq org-texinfo+-dissolve-noexport-headlines t)" +ORG_ARGS = --batch -Q $(ORG_LOAD_PATH) ORG_EVAL += --eval "(setq indent-tabs-mode nil)" ORG_EVAL += --eval "(setq org-src-preserve-indentation nil)" ORG_EVAL += --funcall org-texinfo-export-to-texinfo diff --git a/docs/transient.org b/docs/transient.org index c92122c004..798c27dd46 100644 --- a/docs/transient.org +++ b/docs/transient.org @@ -209,8 +209,8 @@ transient. the latter, then you can later resume the stack of transients using ~M-x transient-resume~. -- Key: C-g, transient-quit-seq -- Key: C-g, transient-quit-one +- Key: C-g (transient-quit-seq) :: ++ Key: C-g (transient-quit-one) :: This key quits the currently active incomplete key sequence, if any, or else the current transient. When quitting the current transient, @@ -220,13 +220,13 @@ Transient's predecessor bound ~q~ instead of ~C-g~ to the quit command. To learn how to get that binding back see ~transient-bind-q-to-quit~'s doc string. -- Key: C-q, transient-quit-all +- Key: C-q (transient-quit-all) :: This command quits the currently active incomplete key sequence, if any, and all transients, including the active transient and all suspended transients, if any. -- Key: C-z, transient-suspend +- Key: C-z (transient-suspend) :: Like ~transient-quit-all~, this command quits an incomplete key sequence, if any, and all transients. Additionally it saves the @@ -239,7 +239,7 @@ doc string. If another stack is already saved, then saving a new stack discards the previous stack. -- Key: M-x transient-resume, transient-resume +- Key: M-x transient-resume :: This command resumes the previously suspended stack of transients, if any. @@ -257,14 +257,14 @@ the section disappears again. Note however that one of these commands is described as "Show common permanently"; invoke that if you want the common commands to always be shown for all transients. -- Key: C-x t, transient-toggle-common +- Key: C-x t (transient-toggle-common) :: This command toggles whether the generic commands that are common to all transients are always displayed or only after typing the incomplete prefix key sequence ~C-x~. This only affects the current Emacs session. -- User Option: transient-show-common-commands +- User Option: transient-show-common-commands :: This option controls whether shared suffix commands are shown alongside the transient-specific infix and suffix commands. By @@ -297,17 +297,17 @@ suffix command, then t
[elpa] externals/transient e57d1e176b 05/11: make: Cosmetics
branch: externals/transient commit e57d1e176b4737421d81cc5c2d9e5354321cad2e Author: Jonas Bernoulli Commit: Jonas Bernoulli make: Cosmetics For consistency with Makefiles of related repositories. --- .gitignore| 6 +++--- Makefile | 12 ++-- docs/Makefile | 1 + lisp/Makefile | 7 +++ 4 files changed, 9 insertions(+), 17 deletions(-) diff --git a/.gitignore b/.gitignore index 3578139fdf..d39c061d3a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,9 @@ /config.mk /docs/*.html -/docs/*.info /docs/*.pdf /docs/dir /docs/stats/ -/docs/transient/ +/lisp/*-autoloads.el /lisp/*.elc -/lisp/transient-autoloads.el + +/docs/transient/ diff --git a/Makefile b/Makefile index db38d2cdd6..404f119c90 100644 --- a/Makefile +++ b/Makefile @@ -1,14 +1,14 @@ -include config.mk include default.mk -.PHONY: lisp docs clean +.PHONY: lisp docs all: lisp docs help: $(info make all - generate lisp and manual) - $(info make docs - generate most manual formats) $(info make lisp - generate byte-code and autoloads) + $(info make docs - generate most manual formats) $(info make texi - generate texi manual (see comments)) $(info make info - generate info manual) $(info make html - generate html manual file) @@ -25,28 +25,21 @@ lisp: docs: @$(MAKE) -C docs docs - texi: bump-version @$(MAKE) -C docs texi - info: @$(MAKE) -C docs info - html: @$(MAKE) -C docs html - html-dir: @$(MAKE) -C docs html-dir - pdf: @$(MAKE) -C docs pdf - stats: @$(MAKE) -C docs stats publish: @$(MAKE) -C docs publish - release: @$(MAKE) VERSION=$(VERSION) -C docs release @@ -57,6 +50,5 @@ bump-version: @sed -i -e "/Package-Version:/s|UNRELEASED|$(shell date +%F)|" docs/CHANGELOG clean: - @printf "Cleaning...\n" @$(MAKE) -C lisp clean @$(MAKE) -C docs clean diff --git a/docs/Makefile b/docs/Makefile index ae2a4f5287..f94aeea658 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -101,4 +101,5 @@ release: html html-dir pdf CLEAN = $(PKG).info dir $(PKG) $(PKG).html $(PKG).pdf clean: + @printf "Cleaning docs/*...\n" @rm -rf $(CLEAN) diff --git a/lisp/Makefile b/lisp/Makefile index 280b317485..ba0c4c1992 100644 --- a/lisp/Makefile +++ b/lisp/Makefile @@ -7,13 +7,12 @@ loaddefs: $(PKG)-autoloads.el %.elc: %.el @printf "Compiling $<\n" - @$(EMACS) -Q --batch $(EMACS_ARGS) \ - $(LOAD_PATH) --funcall batch-byte-compile $< + @$(EMACS) -Q --batch $(EMACS_ARGS) $(LOAD_PATH) -f batch-byte-compile $< -CLEAN = $(ELCS) $(PKG)-autoloads.el +CLEAN = $(ELCS) $(PKG)-autoloads.el clean: - @printf "Cleaning...\n" + @printf "Cleaning lisp/*...\n" @rm -rf $(CLEAN) define LOADDEFS_TMPL
[elpa] branch externals/transient deleted (was e293d5b)
tarsius pushed a change to branch externals/transient. was e293d5b Set initial dummy value for Package-Version This change permanently discards the following revisions: discards e293d5b Set initial dummy value for Package-Version discards 92f569e Move library and manual to top-level discards a6e4cce Remove the Package-Version header keyword again discards 3038769 Autoload functions that users might use without requiring transient discards dd0c44c Use the package prefix for everything discards c94cff7 Fix typo discards d49f85a Support scroll-bar-toolkit-scroll discards ac02efc transient--scroll-commands: New variable discards ba63f9d Contribute to GNU Emacs and assign to the Free Software Foundation discards 35c9d2b Use recommended form of GPLv3 permissions statement discards 53b71f9 Fix documentation typo discards 629c963 manual: Fix typo discards afa0c2f Add redundant gitignore rules discards a269614 Release version 0.2.0 discards fd7bb99 Complete CHANGELOG discards 76ac902 Order CHANGELOG chronologically discards f10b821 transient-set-level: Highlight the suffix in question discards c8cc9f6 Add .mailmap discards 8d31993 manual: Remove some trigger words from LocalWords discards e36190a manual: Fix typo discards 37aec3a Fix typo in doc-string discards ae2574b transient--show: Don't show thin line without window system discards 5c0f901 transient-init-value: Fix another regression discards 7977732 transient-read-with-initial-input: Default to not doing that discards 1719248 transient-infix-read: Work around another Ivy bug discards 81c0772 transient-infix-read: Remove ivy-index property from history element discards 0a06615 define-{infix,suffix,transient}-command: Indicate docstring position discards 95389b3 transient-init-value: Always prefer saved over default value discards 846e0c2 Update copyright years discards 83cb1e4 make: Copy indices for htmlified info manuals discards 5f28a75 Add htmlxref.cnf discards 93c9f2a manual: Fix typo discards 6ceb643 Revert "Add .github/FUNDING.yml" discards 427e360 transient-force-fixed-pitch: New option discards c1ae1ee transient-separator: Extend to window edge in Emacs 27 too discards 970563c Put transient in extensions custom group discards 98ed4af Fix typo in doc-string discards ebcad9e Use seq instead of dash discards ff78edd Fix indentation discards b0185a3 transient--read-file-contents: Remove stray variable access discards a1525bb transient--emergency-exit: Improve doc-string discards 7288a30 Remove conflict with edebug discards c59c485 transient--{suspend,resume}-override: New functions discards 617844a transient-undefined: Also show the command discards 75de1f0 transient-detect-key-conflicts: But without locking Emacs discards f820ccc transient-format-value: Support options with multiple values discards 41cbf49 transient--insert-suffix: Fix removing LOC discards 79a72db Fix typos discards ad7f255 For popups set tab-line-format to nil discards 62b18fe transient-mode-line-format: Don't without a window-system discards 450d0f8 transient--insert-suffix: Fix use of binding defined in object discards 4f80a89 transient--goto-argument-description: Handle -- special case discards ccac95e transient-show-help: Don't error if argument is missing discards 89e6941 transient-undefined: Make some noise discards 7bf9759 transient-infix-read: Bugfix discards 7e2b98c Fix doc string typo discards 824c684 Advertise current-transient-suffixes less discards 0d9a1b5 manual: Document prefix slots discards 0cad5eb Fix doc string typos discards cbcfabe manual: Fix some typos and minor language issues discards 68f31ed manual: Fix broken export rendering by org mistaking `=' for markup discards 9fb3f79 Regenerate manual discards a6ce195 transient-args: Fall back to set, saved or default value discards d33fe5a Split new transient-get-value from transient-args discards 7d0db28 transient-args: No longer support an object as PREFIX discards 0312b93 transient-args: Remove SEPARATE argument discards 8232a0a manual: Do not require unused magit-utils and org-man discards 01a166f Declare variable alias before its referent discards 2eff8d5 Add .github/FUNDING.yml discards 8bfa489 Support inserting string pseudo suffixes discards ed992c5 Properly handle existing string pseudo suffixes discards 52fb9a6 transient--insert-suffix: Cosmetics discards cac657a Support inserting/removing groups and doing it using coordinates discards 4ce1868 Fix replacing a suffix with another suffix bound to same key discards 5a360bb Remove conflicting suffix when inserting new suffix discards 20c231e transient--layout-memb
[elpa] externals/transient d472295: Set initial dummy value for Package-Version
branch: externals/transient commit d472295678cb621caa4cc2e713d73b549863c260 Author: Jonas Bernoulli Commit: Jonas Bernoulli Set initial dummy value for Package-Version --- lisp/transient.el | 1 + 1 file changed, 1 insertion(+) diff --git a/lisp/transient.el b/lisp/transient.el index ffa1e3c..fa0ad00 100644 --- a/lisp/transient.el +++ b/lisp/transient.el @@ -5,6 +5,7 @@ ;; Author: Jonas Bernoulli ;; Homepage: https://github.com/magit/transient ;; Package-Requires: ((emacs "25.1")) +;; Package-Version: 0 ;; Keywords: bindings ;; This file is part of GNU Emacs.
[elpa] main 43245ba: * elpa-packages ("transient"): Update layout spec
branch: main commit 43245ba34290aec26198febf3e9000be9731799c Author: Jonas Bernoulli Commit: Jonas Bernoulli * elpa-packages ("transient"): Update layout spec - Regenerating transient.texi currently fails so just use it as-is. - Since transient.info has to be located at the top-level it makes no sense to keep other documentation in "docs/". - Files that are only useful when building without "package.el" do not belong in a package intended for that package manager. - We cannot ignore "docs/" and "lisp/" completely yet because of a bug. Ignoring all remaining contained files results in empty directories in the tarball. --- elpa-packages | 11 +-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/elpa-packages b/elpa-packages index 2078a6a..01e7ca7 100644 --- a/elpa-packages +++ b/elpa-packages @@ -298,8 +298,15 @@ ("transcribe" :url nil) ("transient" :url "https://github.com/magit/transient"; :main-file "lisp/transient.el" - :renames (("lisp/" "")) - :doc "docs/transient.org") + :renames (("docs/CHANGELOG" "CHANGELOG") + ("docs/transient.org" "transient.org") + ("lisp/transient.el" "transient.el")) + :ignored-files (".mailmap" "default.mk" "Makefile" + "docs/htmlxref.cnf" + "docs/Makefile" + "docs/transient.texi" + "lisp/Makefile") + :doc "docs/transient.texi") ("trie" :url "http://www.dr-qubit.org/git/predictive.git";) ("undo-tree" :url "http://www.dr-qubit.org/git/undo-tree.git";) ("uni-confusables":url nil)
[elpa] externals/transient 4a2b7fd: Add .elpaignore
branch: externals/transient commit 4a2b7fdf75c6940b5b311d930ea26f7e85a08cd4 Author: Jonas Bernoulli Commit: Jonas Bernoulli Add .elpaignore --- .elpaignore | 10 ++ 1 file changed, 10 insertions(+) diff --git a/.elpaignore b/.elpaignore new file mode 100644 index 000..dc9b5eb --- /dev/null +++ b/.elpaignore @@ -0,0 +1,10 @@ +*~ +.elpaignore +.gitignore +.mailmap +Makefile +default.mk +docs/Makefile +docs/htmlxref.cnf +docs/transient.texi +lisp/Makefile
[elpa] externals/transient d49f85a 2/8: Support scroll-bar-toolkit-scroll
branch: externals/transient commit d49f85a8c1172b9f21d2fd4a54d1f802b53948fc Author: Jonas Bernoulli Commit: Jonas Bernoulli Support scroll-bar-toolkit-scroll Closes #84. --- lisp/transient.el | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lisp/transient.el b/lisp/transient.el index 379364b..bfab91e 100644 --- a/lisp/transient.el +++ b/lisp/transient.el @@ -1122,7 +1122,8 @@ Usually it remains current while the transient is active.") (defvar transient--scroll-commands '(transient-scroll-up transient-scroll-down -mwheel-scroll)) +mwheel-scroll +scroll-bar-toolkit-scroll)) ;;; Identities @@ -1338,6 +1339,7 @@ edited using the same functions as used for transients.") (define-key map [transient-scroll-up] 'transient--do-stay) (define-key map [transient-scroll-down] 'transient--do-stay) (define-key map [mwheel-scroll] 'transient--do-stay) +(define-key map [scroll-bar-toolkit-scroll] 'transient--do-stay) (define-key map [transient-noop] 'transient--do-noop) (define-key map [transient-mouse-push-button] 'transient--do-move) (define-key map [transient-push-button] 'transient--do-move)
[elpa] externals/transient ac02efc 1/8: transient--scroll-commands: New variable
branch: externals/transient commit ac02efc1193973b88b04252968d7bcdbafaff7a6 Author: Jonas Bernoulli Commit: Jonas Bernoulli transient--scroll-commands: New variable --- lisp/transient.el | 9 ++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lisp/transient.el b/lisp/transient.el index 65f6441..379364b 100644 --- a/lisp/transient.el +++ b/lisp/transient.el @@ -1119,6 +1119,11 @@ Usually it remains current while the transient is active.") (defvar transient--history nil) +(defvar transient--scroll-commands + '(transient-scroll-up +transient-scroll-down +mwheel-scroll)) + ;;; Identities (defun transient-suffix-object (&optional command) @@ -1790,9 +1795,7 @@ EDIT may be non-nil." (defun transient--redisplay () (if (or (eq transient-show-popup t) transient--showp) - (unless (memq this-command '(transient-scroll-up - transient-scroll-down - mwheel-scroll)) + (unless (memq this-command transient--scroll-commands) (transient--show)) (when (and (numberp transient-show-popup) (not (zerop transient-show-popup))
[elpa] externals/transient updated (ba63f9d -> e293d5b)
tarsius pushed a change to branch externals/transient. from ba63f9d Contribute to GNU Emacs and assign to the Free Software Foundation new ac02efc transient--scroll-commands: New variable new d49f85a Support scroll-bar-toolkit-scroll new c94cff7 Fix typo new dd0c44c Use the package prefix for everything new 3038769 Autoload functions that users might use without requiring transient new a6e4cce Remove the Package-Version header keyword again new 92f569e Move library and manual to top-level new e293d5b Set initial dummy value for Package-Version Summary of changes: README.md | 2 +- docs/transient.org| 48 lisp/transient.el => transient.el | 103 +- docs/transient.texi => transient.texi | 48 4 files changed, 114 insertions(+), 87 deletions(-) rename lisp/transient.el => transient.el (97%) rename docs/transient.texi => transient.texi (98%)
[elpa] externals/transient 92f569e 7/8: Move library and manual to top-level
branch: externals/transient commit 92f569e9b3bfe5c6cc5b15d15f408e98cd7df762 Author: Jonas Bernoulli Commit: Jonas Bernoulli Move library and manual to top-level This is the beginning of the branch dedicated to releasing to GNU Elpa. Elpa expects libraries and manuals to be located at the top-level, so that's what we do here. After every release "master" is merged into this branch. --- lisp/transient.el => transient.el | 0 docs/transient.texi => transient.texi | 0 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/lisp/transient.el b/transient.el similarity index 100% rename from lisp/transient.el rename to transient.el diff --git a/docs/transient.texi b/transient.texi similarity index 100% rename from docs/transient.texi rename to transient.texi
[elpa] externals/transient a6e4cce 6/8: Remove the Package-Version header keyword again
branch: externals/transient commit a6e4cced303b3febd59412b24a97eaf1e855e6d7 Author: Jonas Bernoulli Commit: Jonas Bernoulli Remove the Package-Version header keyword again This must only ever be bumped on the branch used to release to Elpa, so it wouldn't make sense to keep it around on the "master" at all. --- lisp/transient.el | 1 - 1 file changed, 1 deletion(-) diff --git a/lisp/transient.el b/lisp/transient.el index 554c175..5a02f06 100644 --- a/lisp/transient.el +++ b/lisp/transient.el @@ -5,7 +5,6 @@ ;; Author: Jonas Bernoulli ;; Homepage: https://github.com/magit/transient ;; Package-Requires: ((emacs "25.1")) -;; Package-Version: 0 ;; Keywords: bindings ;; This file is part of GNU Emacs.
[elpa] externals/transient c94cff7 3/8: Fix typo
branch: externals/transient commit c94cff7474227f8b28376708fc7fe9a929d3a417 Author: Jonas Bernoulli Commit: Jonas Bernoulli Fix typo --- lisp/transient.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/transient.el b/lisp/transient.el index bfab91e..fe24a71 100644 --- a/lisp/transient.el +++ b/lisp/transient.el @@ -2195,7 +2195,7 @@ which might make it necessary to kill it from the outside." "Read a value while taking care of history. This method is suitable for a wide variety of infix commands, -including but not limitted to inline arguments and variables. +including but not limited to inline arguments and variables. If you do not use this method for your own infix class, then you should likely replicate a lot of the behavior of this
[elpa] externals/transient dd0c44c 4/8: Use the package prefix for everything
branch: externals/transient commit dd0c44cb2db4bed0239832c3dd0c82076824c080 Author: Jonas Bernoulli Commit: Jonas Bernoulli Use the package prefix for everything Who's a good boy? --- README.md | 2 +- docs/transient.org | 48 +++--- docs/transient.texi | 48 +++--- lisp/transient.el | 86 - 4 files changed, 101 insertions(+), 83 deletions(-) diff --git a/README.md b/README.md index f08dd21..5de0058 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ the transient. A suffix command can, but does not have to, use the infix arguments in much the same way it can choose to use or ignore the prefix arguments. For a suffix command that was invoked from a transient the variable -`current-transient-suffixes` and the function `transient-args` serve about +`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 arguments have been set using a command such as `universal-argument`. diff --git a/docs/transient.org b/docs/transient.org index e34dfec..4927db5 100644 --- a/docs/transient.org +++ b/docs/transient.org @@ -8,7 +8,7 @@ #+TEXINFO_DIR_CATEGORY: Emacs #+TEXINFO_DIR_TITLE: Transient: (transient). #+TEXINFO_DIR_DESC: Transient Commands -#+SUBTITLE: for version 0.2.0 (v0.2.0-1-gafa0c2f+1) +#+SUBTITLE: for version 0.2.0 (v0.2.0-8-gc94cff7+1) #+TEXINFO_DEFFN: t #+OPTIONS: H:4 num:4 toc:2 @@ -37,7 +37,7 @@ Calling a suffix command usually causes the transient to be exited but suffix commands can also be configured to not exit the transient. #+TEXINFO: @noindent -This manual is for Transient version 0.2.0 (v0.2.0-1-gafa0c2f+1). +This manual is for Transient version 0.2.0 (v0.2.0-8-gc94cff7+1). #+BEGIN_QUOTE Copyright (C) 2018-2020 Jonas Bernoulli @@ -98,7 +98,7 @@ the transient. A suffix command can, but does not have to, use the infix arguments in much the same way it can choose to use or ignore the prefix arguments. For a suffix command that was invoked from a transient the variable -~current-transient-suffixes~ and the function ~transient-args~ serve about +~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 arguments have been set using a command such as ~universal-argument~. @@ -637,13 +637,13 @@ The following functions share a few arguments: - PREFIX is a transient prefix command, a symbol. - SUFFIX is a transient infix or suffix specification in the same form - as expected by ~define-transient-command~. Note that an infix is a + as expected by ~transient-define-prefix~. Note that an infix is a special kind of suffix. Depending on context "suffixes" means "suffixes (including infixes)" or "non-infix suffixes". Here it means the former. See [[*Suffix Specifications]]. SUFFIX may also be a group in the same form as expected by - ~define-transient-command~. See [[*Group Specifications]]. + ~transient-define-prefix~. See [[*Group Specifications]]. - LOC is a command, a key vector, a key description (a string as returned by ~key-description~), or a list specifying coordinates (the @@ -710,7 +710,7 @@ binds the transient's infix and suffix commands. In other words, it defines the complete transient, not just the transient prefix command that is used to invoke that transient. -- Macro: define-transient-command name arglist [docstring] [keyword value]... group... [body...] +- Macro: transient-define-prefix name arglist [docstring] [keyword value]... group... [body...] This macro defines NAME as a transient prefix command and binds the transient's infix and suffix commands. @@ -758,7 +758,7 @@ that is used to invoke that transient. ** Binding Suffix and Infix Commands *** _ :ignore: -The macro ~define-transient-command~ is used to define a transient. +The macro ~transient-define-prefix~ is used to define a transient. This defines the actual transient prefix command (see [[*Defining Transients]]) and adds the transient's infix and suffix bindings, as described below. @@ -767,7 +767,7 @@ Users and third-party packages can add additional bindings using functions such as ~transient-insert-suffix~ (See [[*Modifying Existing Transients]]). These functions take a "suffix specification" as one of their arguments, which has the same form as the specifications used in -~define-transient-command~. +~transient-define-prefix~. *** Group Specifications @@ -780,7 +780,7 @@ Several group classes exist, some of which organize suffixes in subgroups. In most cases the class does not have to be specified explicitly, but see [[*Group Classes]]. -Groups are specif
[elpa] externals/transient e293d5b 8/8: Set initial dummy value for Package-Version
branch: externals/transient commit e293d5b36b5a683211b4412d264e387348918a13 Author: Jonas Bernoulli Commit: Jonas Bernoulli Set initial dummy value for Package-Version Set the `Package-Version' header keyword to the initial dummy value "0". We are going to bump this on this branch only every time we merge "master" into it after a release, starting with the upcoming "0.3.0" release. --- transient.el | 1 + 1 file changed, 1 insertion(+) diff --git a/transient.el b/transient.el index 5a02f06..554c175 100644 --- a/transient.el +++ b/transient.el @@ -5,6 +5,7 @@ ;; Author: Jonas Bernoulli ;; Homepage: https://github.com/magit/transient ;; Package-Requires: ((emacs "25.1")) +;; Package-Version: 0 ;; Keywords: bindings ;; This file is part of GNU Emacs.
[elpa] externals/transient 3038769 5/8: Autoload functions that users might use without requiring transient
branch: externals/transient commit 30387690fda86e3a594906e154dac4e20f60bbfb Author: Jonas Bernoulli Commit: Jonas Bernoulli Autoload functions that users might use without requiring transient These functions and macros serve a purpose similar to `define-key', which is also available without the user having to require anything. --- lisp/transient.el | 4 1 file changed, 4 insertions(+) diff --git a/lisp/transient.el b/lisp/transient.el index f8c9d45..554c175 100644 --- a/lisp/transient.el +++ b/lisp/transient.el @@ -935,6 +935,7 @@ example, sets a variable use `transient-define-infix' instead. (append (setcdr mem (cons suf (cdr mem (replace (setcar mem suf))) +;;;###autoload (defun transient-insert-suffix (prefix loc suffix) "Insert a SUFFIX into PREFIX before LOC. PREFIX is a prefix command, a symbol. @@ -947,6 +948,7 @@ See info node `(transient)Modifying Existing Transients'." (declare (indent defun)) (transient--insert-suffix prefix loc suffix 'insert)) +;;;###autoload (defun transient-append-suffix (prefix loc suffix) "Insert a SUFFIX into PREFIX after LOC. PREFIX is a prefix command, a symbol. @@ -959,6 +961,7 @@ See info node `(transient)Modifying Existing Transients'." (declare (indent defun)) (transient--insert-suffix prefix loc suffix 'append)) +;;;###autoload (defun transient-replace-suffix (prefix loc suffix) "Replace the suffix at LOC in PREFIX with SUFFIX. PREFIX is a prefix command, a symbol. @@ -971,6 +974,7 @@ See info node `(transient)Modifying Existing Transients'." (declare (indent defun)) (transient--insert-suffix prefix loc suffix 'replace)) +;;;###autoload (defun transient-remove-suffix (prefix loc) "Remove the suffix or group at LOC in PREFIX. PREFIX is a prefix command, a symbol.
[elpa] externals/transient ea851f3bde 4/4: Turn suffix specifications into code instead of data
branch: externals/transient commit ea851f3bde0b769b04ad03ab1a1341c013d0ddc6 Author: Jonas Bernoulli Commit: Jonas Bernoulli Turn suffix specifications into code instead of data The macro `transient-define-prefix' manipulates its GROUP arguments, but until now it expanded to new vectors using vector syntax, i.e., data. An effort was made to evaluate lambda expressions, but that did not really work. Now the GROUP arguments are expanded into code, which evaluates to new vectors. This way lambda expressions are automatically evaluated and byte-compiled, but we now have to take care to quote certain lists and symbols. Functions such as `transient-insert-suffix' take group and suffix specs of the same form as `transient-define-prefix' but because there is no macro expansion step, they have to `eval' the result of parsing these specifications. Add a new macro `transient-define-groups', which can be used to define suffix groups that are shared between multiple prefix commands, but don't use it for `transient-common-commands' to avoid having to make a bunch of functions available at compile time. --- docs/transient.org | 54 +- docs/transient.texi | 34 +--- lisp/transient.el | 157 3 files changed, 163 insertions(+), 82 deletions(-) diff --git a/docs/transient.org b/docs/transient.org index b658341a2d..27401836f1 100644 --- a/docs/transient.org +++ b/docs/transient.org @@ -861,6 +861,18 @@ that is used to invoke that transient. For example, the scope of the ~magit-branch-configure~ transient is the branch whose variables are being configured. +It is possible to define one or more groups independently of a prefix +definition, which is useful when those groups are to be used by more +than just one prefix command. + +- Macro: transient-define-groups name group... :: + + This macro defines one or more groups of infix and suffix commands + and stores them in a property of the symbol {{{var(NAME)}}}. {{{var(GROUP)}}} has the + same form as for ~transient-define-prefix~. Subsequently {{{var(NAME)}}} can + be used in a {{{var(GROUP)}}} of ~transient-define-prefix~, as described in the + next section. + ** Binding Suffix and Infix Commands The macro ~transient-define-prefix~ is used to define a transient. @@ -950,23 +962,35 @@ constructor of that class. contained in a group are right padded, effectively aligning the descriptions. -The {{{var(ELEMENT)}}}s are either all subgroups (vectors), or all suffixes -(lists) and strings. (At least currently no group type exists that -would allow mixing subgroups with commands at the same level, though -in principle there is nothing that prevents that.) +The {{{var(ELEMENT)}}}s are either all subgroups, or all suffixes and strings. +(At least currently no group type exists that would allow mixing +subgroups with commands at the same level, though in principle there +is nothing that prevents that.) If the {{{var(ELEMENT)}}}s are not subgroups, then they can be a mixture of lists -that specify commands and strings. Strings are inserted verbatim. -The empty string can be used to insert gaps between suffixes, which is -particularly useful if the suffixes are outlined as a table. - -Variables are supported inside group specifications. For example in -place of a direct subgroup specification, a variable can be used whose -value is a vector that qualifies as a group specification. Likewise, -a variable can be used where a suffix specification is expected. -Lists of group or suffix specifications are also supported. Indirect -specifications are resolved when the transient prefix is being -defined. +that specify commands and strings. Strings are inserted verbatim into +the buffer. The empty string can be used to insert gaps between +suffixes, which is particularly useful if the suffixes are outlined as +a table. + +Inside group specifications, including inside contained suffix +specifications, nothing has to be quoted and quoting anyway is +invalid. + +How symbols are treated, depends on context. Inside suffix +specifications they often name functions. However if they appear in +a place where a group is expected, then they are treated as indirect +group specifications. Such a symbol must have an associated group +specification, created using ~transient-define-groups~. + +Likewise a symbol can appear in a place where a suffix specification +is expected. The value of the ~transient--layout~ property of that +symbol must be a single suffix specification or a list of such +specifications. Currently no macro exist that would create such a +symbol, and this feature should usually not be used. + +The value following a keyword, can be explicitly unquoted using ~,~. +This feature is experimental and should be avoided as well. The form of suffix
[elpa] externals/transient d93dfeba4f 2/4: manual: Fix wrong reference
branch: externals/transient commit d93dfeba4f459345361de301ca088619c8bbae43 Author: Juergen Hoetzel Commit: Jonas Bernoulli manual: Fix wrong reference --- docs/transient.org | 4 ++-- docs/transient.texi | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/transient.org b/docs/transient.org index 8d2be808de..b658341a2d 100644 --- a/docs/transient.org +++ b/docs/transient.org @@ -304,9 +304,9 @@ but it is easily accessible (see [[*Using History]]). Save the value of the active transient persistently across Emacs sessions. -- Key: C-x C-k (transient-save) :: +- Key: C-x C-k (transient-reset) :: - Clear the set and saved value of the active transient. + Clear the set and saved values of the active transient. - User Option: transient-values-file :: diff --git a/docs/transient.texi b/docs/transient.texi index 1ce39566fa..bcc29f418f 100644 --- a/docs/transient.texi +++ b/docs/transient.texi @@ -447,10 +447,10 @@ session. Save the value of the active transient persistently across Emacs sessions. -@item @kbd{C-x C-k} (@code{transient-save}) +@item @kbd{C-x C-k} (@code{transient-reset}) @kindex C-x C-k -@findex transient-save -Clear the set and saved value of the active transient. +@findex transient-reset +Clear the set and saved values of the active transient. @end table @defopt transient-values-file
[elpa] externals/transient 097f5be6e0 1/4: manual: Fix typos
branch: externals/transient commit 097f5be6e0c228790a6e78ffee5f0c599cb58b20 Author: hokomo Commit: Jonas Bernoulli manual: Fix typos --- docs/transient.org | 6 +++--- docs/transient.texi | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/transient.org b/docs/transient.org index d084b35ab7..8d2be808de 100644 --- a/docs/transient.org +++ b/docs/transient.org @@ -1021,7 +1021,7 @@ argument that is mandatory in all cases. with it (as would be the case if ~transient-define-suffix~ or ~transient-define-infix~ were used to define it). - Anonymous, dynamically defined suffix commands are also support. + Anonymous, dynamically defined suffix commands are also supported. See information about the ~:setup-children~ function in [[*Group Specifications]]. @@ -1550,7 +1550,7 @@ object should not affect later invocations. indicates that all remaining arguments are files. - Classes used for infix commands that represent variables should - derived from the abstract ~transient-variables~ class. + derived from the abstract ~transient-variable~ class. Magit defines additional classes, which can serve as examples for the fancy things you can do without modifying Transient. Some of these @@ -1753,7 +1753,7 @@ Also see [[*Suffix Classes]]. called with no argument and returns a string. - ~show-help~ A function used to display help for the suffix. If - unspecified, the prefix controls how hlep is displayed for its + unspecified, the prefix controls how help is displayed for its suffixes. *** Slots of ~transient-infix~ diff --git a/docs/transient.texi b/docs/transient.texi index 5ae15bb340..1ce39566fa 100644 --- a/docs/transient.texi +++ b/docs/transient.texi @@ -1222,7 +1222,7 @@ Any command will do; it does not need to have an object associated with it (as would be the case if @code{transient-define-suffix} or @code{transient-define-infix} were used to define it). -Anonymous, dynamically defined suffix commands are also support. +Anonymous, dynamically defined suffix commands are also supported. See information about the @code{:setup-children} function in @ref{Group Specifications}. As mentioned above, the object that is associated with a command can @@ -1800,7 +1800,7 @@ indicates that all remaining arguments are files. @item Classes used for infix commands that represent variables should -derived from the abstract @code{transient-variables} class. +derived from the abstract @code{transient-variable} class. @end itemize Magit defines additional classes, which can serve as examples for the @@ -2035,7 +2035,7 @@ called with no argument and returns a string. @item @code{show-help} A function used to display help for the suffix. If -unspecified, the prefix controls how hlep is displayed for its +unspecified, the prefix controls how help is displayed for its suffixes. @end itemize
[elpa] externals/transient updated (555792f71e -> ea851f3bde)
tarsius pushed a change to branch externals/transient. from 555792f71e Fix setting level of anonymous infixes new 097f5be6e0 manual: Fix typos new d93dfeba4f manual: Fix wrong reference new 0a3b22f169 transient--delay-post-command: Account for events returned as vector new ea851f3bde Turn suffix specifications into code instead of data Summary of changes: docs/transient.org | 64 ++--- docs/transient.texi | 46 ++- lisp/transient.el | 160 3 files changed, 176 insertions(+), 94 deletions(-)
[elpa] externals/transient 0a3b22f169 3/4: transient--delay-post-command: Account for events returned as vector
branch: externals/transient commit 0a3b22f169b84ab7a51dc83856b0b6487fdf41da Author: Jonas Bernoulli Commit: Jonas Bernoulli transient--delay-post-command: Account for events returned as vector Closes #215. --- lisp/transient.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lisp/transient.el b/lisp/transient.el index 54f3ba0490..535effed56 100644 --- a/lisp/transient.el +++ b/lisp/transient.el @@ -2179,7 +2179,8 @@ value. Otherwise return CHILDREN as is." ;; used to call another command ;; that also uses the minibuffer. (equal - (string-to-multibyte (this-command-keys)) + (ignore-errors + (string-to-multibyte (this-command-keys))) (format "\M-x%s\r" this-command)) (transient--debug 'post-command-hook "act: %s" act) (when act
[elpa] externals/transient afb7b250d4: make: Suppress warning about obsolete autoload package
branch: externals/transient commit afb7b250d4ee9669fdb82c4e40a23800f651ff96 Author: Jonas Bernoulli Commit: Jonas Bernoulli make: Suppress warning about obsolete autoload package --- lisp/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lisp/Makefile b/lisp/Makefile index b51152a1d7..eb41ee353c 100644 --- a/lisp/Makefile +++ b/lisp/Makefile @@ -32,4 +32,5 @@ $(PKG)-autoloads.el: $(ELS) (cl-letf (((symbol-function 'progress-reporter-do-update) (lambda (&rest _)))\ ((symbol-function 'progress-reporter-done) (lambda (_\ (let ((generated-autoload-file file))\ - (update-directory-autoloads default-directory" + (update-directory-autoloads default-directory" \ + 2>&1 | sed "/^Package autoload is deprecated$$/d"
[elpa] externals/transient be4ffe81bb 3/4: manual: Fix mistake from previous commit
branch: externals/transient commit be4ffe81bbb4ee2724fc862b51dc9aaf76465033 Author: Jonas Bernoulli Commit: Jonas Bernoulli manual: Fix mistake from previous commit --- docs/transient.org | 2 +- docs/transient.texi | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/transient.org b/docs/transient.org index ade5955b26..5105e2a8d4 100644 --- a/docs/transient.org +++ b/docs/transient.org @@ -954,7 +954,7 @@ constructor of that class. - The value of ~:setup-children~, if non-~nil~, is a function that takes one argument, a potentially list of children, and must return a list of children or an empty list. This can either be used to somehow - transform the prefix's children that were defined the normal way, or + transform the group's children that were defined the normal way, or to dynamically create the children from scratch. The returned children must have the same form as stored in the diff --git a/docs/transient.texi b/docs/transient.texi index 6527aeb36d..996cd96949 100644 --- a/docs/transient.texi +++ b/docs/transient.texi @@ -1145,7 +1145,7 @@ suffixes, which assumes that a predicate like this is used: The value of @code{:setup-children}, if non-@code{nil}, is a function that takes one argument, a potentially list of children, and must return a list of children or an empty list. This can either be used to somehow -transform the prefix's children that were defined the normal way, or +transform the group's children that were defined the normal way, or to dynamically create the children from scratch. The returned children must have the same form as stored in the
[elpa] externals/transient 277e5f2d27 2/4: transient-prepare-suffix{, es}: New functions
branch: externals/transient commit 277e5f2d276c3ed48121e361e0807d615187ba77 Author: Jonas Bernoulli Commit: Jonas Bernoulli transient-prepare-suffix{,es}: New functions --- docs/transient.org | 16 +++- docs/transient.texi | 48 +--- lisp/transient.el | 16 3 files changed, 56 insertions(+), 24 deletions(-) diff --git a/docs/transient.org b/docs/transient.org index 27401836f1..ade5955b26 100644 --- a/docs/transient.org +++ b/docs/transient.org @@ -952,11 +952,17 @@ constructor of that class. #+END_SRC - 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 - changes to the children including constructing new children from - scratch. Also see ~transient-setup-children~. + one argument, a potentially list of children, and must return a list + of children or an empty list. This can either be used to somehow + transform the prefix's children that were defined the normal way, or + to dynamically create the children from scratch. + + The returned children must have the same form as stored in the + prefix's ~transient--layout~ property, but it is often more convenient + to use the same form as understood by ~transient-define-prefix~, + described below. If you use the latter approach, you can use the + ~transient-parse-child~ and ~transient-parse-children~ functions to + transform them from the convenient to the expected form. - The boolean ~:pad-keys~ argument controls whether keys of all suffixes contained in a group are right padded, effectively aligning the diff --git a/docs/transient.texi b/docs/transient.texi index 78b44f5943..6527aeb36d 100644 --- a/docs/transient.texi +++ b/docs/transient.texi @@ -1143,11 +1143,17 @@ suffixes, which assumes that a predicate like this is used: @item The value of @code{:setup-children}, if non-@code{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 -changes to the children including constructing new children from -scratch. Also see @code{transient-setup-children}. +one argument, a potentially list of children, and must return a list +of children or an empty list. This can either be used to somehow +transform the prefix's children that were defined the normal way, or +to dynamically create the children from scratch. + +The returned children must have the same form as stored in the +prefix's @code{transient--layout} property, but it is often more convenient +to use the same form as understood by @code{transient-define-prefix}, +described below. If you use the latter approach, you can use the +@code{transient-parse-child} and @code{transient-parse-children} functions to +transform them from the convenient to the expected form. @item The boolean @code{:pad-keys} argument controls whether keys of all suffixes @@ -1155,22 +1161,26 @@ contained in a group are right padded, effectively aligning the descriptions. @end itemize -The @var{ELEMENT}s are either all subgroups (vectors), or all suffixes -(lists) and strings. (At least currently no group type exists that -would allow mixing subgroups with commands at the same level, though -in principle there is nothing that prevents that.) +The @var{ELEMENT}s are either all subgroups, or all suffixes and strings. +(At least currently no group type exists that would allow mixing +subgroups with commands at the same level, though in principle there +is nothing that prevents that.) If the @var{ELEMENT}s are not subgroups, then they can be a mixture of lists -that specify commands and strings. Strings are inserted verbatim. -The empty string can be used to insert gaps between suffixes, which is -particularly useful if the suffixes are outlined as a table. - -Inside group specifications, including contained suffix specifications, -nothing has to be quoted. How symbols are treated, depends on context. -In most places they are expected to name functions. However if they -appear in a place where a group vector is expected, then they are -treated as indirect group specifications. Such a symbol must have an -associated group specification, created using @code{transient-define-groups}. +that specify commands and strings. Strings are inserted verbatim into +the buffer. The empty string can be used to insert gaps between +suffixes, which is particularly useful if the suffixes are outlined as +a table. + +Inside group specifications, including inside contained suffix +specifications, nothing has to be quoted and quoting anyway is +invalid. + +How symbols are treated, depends on context. Inside suffix +specificat
[elpa] externals/transient updated (afb7b250d4 -> 2143a9585c)
tarsius pushed a change to branch externals/transient. from afb7b250d4 make: Suppress warning about obsolete autoload package new e88f51d692 Quote more carefully while parsing new 277e5f2d27 transient-prepare-suffix{,es}: New functions new be4ffe81bb manual: Fix mistake from previous commit new 2143a9585c Remove obsolete function aliases Summary of changes: docs/transient.org | 16 ++- docs/transient.texi | 48 ++-- lisp/transient.el | 57 +++-- 3 files changed, 65 insertions(+), 56 deletions(-)
[elpa] externals/transient e88f51d692 1/4: Quote more carefully while parsing
branch: externals/transient commit e88f51d6922b652b9ccb8a786c57ef3475439a94 Author: Jonas Bernoulli Commit: Jonas Bernoulli Quote more carefully while parsing --- lisp/transient.el | 21 + 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/lisp/transient.el b/lisp/transient.el index b8371d9619..5af5e7bd31 100644 --- a/lisp/transient.el +++ b/lisp/transient.el @@ -1049,10 +1049,10 @@ example, sets a variable use `transient-define-infix' instead. (let ((key pop) (val pop)) (cond ((eq key :class) - (setq class (list 'quote val))) + (setq class (macroexp-quote val))) ((or (symbolp val) (and (listp val) (not (eq (car val) 'lambda - (setq args (plist-put args key (list 'quote val + (setq args (plist-put args key (macroexp-quote val ((setq args (plist-put args key val)) (list 'vector (or level transient--default-child-level) @@ -1082,12 +1082,12 @@ example, sets a variable use `transient-define-infix' instead. ((and (symbolp car) (not (commandp car)) (commandp (cadr spec))) -(setq args (plist-put args :description (list 'quote pop) +(setq args (plist-put args :description (macroexp-quote pop) (cond ((keywordp car) (error "Need command, got %S" car)) ((symbolp car) -(setq args (plist-put args :command (list 'quote pop +(setq args (plist-put args :command (macroexp-quote pop ((and (commandp car) (not (stringp car))) (let ((cmd pop) @@ -1096,7 +1096,7 @@ example, sets a variable use `transient-define-infix' instead. (or (plist-get args :description) (plist-get args :key)) (defalias sym cmd) - (setq args (plist-put args :command (list 'quote sym) + (setq args (plist-put args :command (macroexp-quote sym) ((or (stringp car) (and car (listp car))) (let ((arg pop)) @@ -1114,10 +1114,7 @@ example, sets a variable use `transient-define-infix' instead. prefix arg) (cond ((and car (not (keywordp car))) (setq class 'transient-option) - (setq args (plist-put args :reader - (if (symbolp car) - (list 'quote pop) - pop + (setq args (plist-put args :reader (macroexp-quote pop ((not (string-suffix-p "=" arg)) (setq class 'transient-switch)) (t @@ -1127,20 +1124,20 @@ example, sets a variable use `transient-define-infix' instead. (while (keywordp car) (let ((key pop) (val pop)) - (cond ((eq key :class) (setq class (list 'quote val))) + (cond ((eq key :class) (setq class val)) ((eq key :level) (setq level val)) ((eq (car-safe val) '\,) (setq args (plist-put args key (cadr val ((or (symbolp val) (and (listp val) (not (eq (car val) 'lambda - (setq args (plist-put args key (list 'quote val + (setq args (plist-put args key (macroexp-quote val ((setq args (plist-put args key val))) (unless (plist-get args :key) (when-let ((shortarg (plist-get args :shortarg))) (setq args (plist-put args :key shortarg (list 'list (or level transient--default-child-level) - (list 'quote (or class 'transient-suffix)) + (macroexp-quote (or class 'transient-suffix)) (cons 'list args (defun transient--default-infix-command ()
[elpa] externals/transient 2143a9585c 4/4: Remove obsolete function aliases
branch: externals/transient commit 2143a9585cad1da61774a34635b2f50ebaedb0e6 Author: Jonas Bernoulli Commit: Jonas Bernoulli Remove obsolete function aliases I have created pull-requests for all known dependants and all but one of these have been merged by now, see https://github.com/magit/transient/issues/192. --- lisp/transient.el | 20 1 file changed, 20 deletions(-) diff --git a/lisp/transient.el b/lisp/transient.el index 9f9f81aee0..541065a997 100644 --- a/lisp/transient.el +++ b/lisp/transient.el @@ -69,26 +69,6 @@ (defvar display-line-numbers) ; since Emacs 26.1 (defvar Man-notify-method) -(define-obsolete-function-alias 'define-transient-command - 'transient-define-prefix "Transient 0.3.0") -(define-obsolete-function-alias 'define-suffix-command - 'transient-define-suffix "Transient 0.3.0") -(define-obsolete-function-alias 'define-infix-command - 'transient-define-infix "Transient 0.3.0") -(define-obsolete-function-alias 'define-infix-argument - #'transient-define-argument "Transient 0.3.0") - -(define-obsolete-variable-alias 'transient--source-buffer - 'transient--original-buffer "Transient 0.2.0") -(define-obsolete-variable-alias 'current-transient-prefix - 'transient-current-prefix "Transient 0.3.0") -(define-obsolete-variable-alias 'current-transient-command - 'transient-current-command "Transient 0.3.0") -(define-obsolete-variable-alias 'current-transient-suffixes - 'transient-current-suffixes "Transient 0.3.0") -(define-obsolete-variable-alias 'post-transient-hook - 'transient-exit-hook "Transient 0.3.0") - (defmacro transient--with-emergency-exit (&rest body) (declare (indent defun)) `(condition-case err
[elpa] externals/transient f98edf5ab5: Backport commit db2ed9f333 from Emacs
branch: externals/transient commit f98edf5ab50c3b497bd880a440b62b0f94ab9fa9 Author: Jonas Bernoulli Commit: Jonas Bernoulli Backport commit db2ed9f333 from Emacs --- lisp/transient.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/transient.el b/lisp/transient.el index 541065a997..2611b13fe4 100644 --- a/lisp/transient.el +++ b/lisp/transient.el @@ -3535,7 +3535,7 @@ Optional support for popup buttons is also implemented here." (cl-defmethod transient-format-description ((obj transient-child)) "The `description' slot may be a function, in which case that is -called inside the correct buffer (see `transient-insert-group') +called inside the correct buffer (see `transient--insert-group') and its value is returned to the caller." (and-let* ((desc (oref obj description))) (if (functionp desc)
[elpa] externals/transient ad953cc3c5: transient--insert-group: Add fallback for failed alignment calculation
branch: externals/transient commit ad953cc3c5b8a066d3da11a8527c035744f1385f Author: Jonas Bernoulli Commit: Jonas Bernoulli transient--insert-group: Add fallback for failed alignment calculation Closes #204. --- lisp/transient.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/transient.el b/lisp/transient.el index 2611b13fe4..1fbb1afc61 100644 --- a/lisp/transient.el +++ b/lisp/transient.el @@ -3376,7 +3376,7 @@ have a history of their own.") (insert ?\n) (insert (propertize " " 'display `(space :align-to (,(nth (1+ c) cc))) -(insert (make-string (- (nth c cc) (current-column)) ?\s)) +(insert (make-string (max 1 (- (nth c cc) (current-column))) ?\s)) (when-let ((cell (nth r (nth c columns (insert cell)) (when (= c (1- cs))
[elpa] main 9a5a419fd4: * elpa-packages (tiny): Fix `:ayto-sync' typo
branch: main commit 9a5a419fd4236e830bd774e49699cb82cadd2a3a Author: Jonas Bernoulli Commit: Jonas Bernoulli * elpa-packages (tiny): Fix `:ayto-sync' typo --- elpa-packages | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/elpa-packages b/elpa-packages index b20a791af8..3af5bb97dc 100644 --- a/elpa-packages +++ b/elpa-packages @@ -727,7 +727,7 @@ :auto-sync t) ("timerfunctions" :url nil) ("tiny" :url "https://github.com/abo-abo/tiny"; - :ayto-sync t) + :auto-sync t) ("tmr":url "https://git.sr.ht/~protesilaos/tmr"; :auto-sync t :doc "README.org"
[elpa] externals/transient 804c27f1f5 1/2: Deal with commands that use the minibuffer outside of interactive
branch: externals/transient commit 804c27f1f585c05a777c288fbcfa1c16a3c0cd45 Author: Jonas Bernoulli Commit: Jonas Bernoulli Deal with commands that use the minibuffer outside of interactive During the second coming of `post-command-hook', `this-command' usually is the command that uses the minibuffer; but when the minibuffer is used in the command's body, then instead it is the command that exits the minibuffer. Rely on additional circumstantial evidence to recognize this situation as well. --- lisp/transient.el | 17 +++-- 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/lisp/transient.el b/lisp/transient.el index 1fbb1afc61..23b6039d54 100644 --- a/lisp/transient.el +++ b/lisp/transient.el @@ -2199,7 +2199,7 @@ value. Otherwise return CHILDREN as is." (delayed (if transient--exitp (apply-partially #'transient--post-exit this-command) #'transient--resume-override)) -post-command abort-minibuffer) +outside-interactive post-command abort-minibuffer) (unless abort-only (setq post-command (lambda () "@transient--delay-post-command" @@ -2211,7 +2211,9 @@ value. Otherwise return CHILDREN as is." (equal (ignore-errors (string-to-multibyte (this-command-keys))) - (format "\M-x%s\r" this-command)) + (format "\M-x%s\r" this-command)) + ;; Minibuffer used outside `interactive'. + (and outside-interactive 'post-cmd) (transient--debug 'post-command-hook "act: %s" act) (when act (remove-hook 'transient--post-command-hook post-command) @@ -2220,12 +,15 @@ value. Otherwise return CHILDREN as is." (add-hook 'transient--post-command-hook post-command)) (setq abort-minibuffer (lambda () "@transient--delay-post-command" -(let ((act (and (or (memq this-command transient--abort-commands) -(equal (this-command-keys) "")) -(= (minibuffer-depth) depth +(let ((act (and (= (minibuffer-depth) depth) +(or (memq this-command transient--abort-commands) +(equal (this-command-keys) "") +(prog1 nil + (setq outside-interactive t)) (transient--debug 'abort-minibuffer - "mini: %s|%s, act %s" (minibuffer-depth) depth act) + "mini: %s|%s, act: %s" (minibuffer-depth) depth + (or act (and outside-interactive '->post-cmd))) (when act (remove-hook 'transient--post-command-hook post-command) (remove-hook 'minibuffer-exit-hook abort-minibuffer)
[elpa] externals/transient updated (ad953cc3c5 -> 8f434c57fb)
tarsius pushed a change to branch externals/transient. from ad953cc3c5 transient--insert-group: Add fallback for failed alignment calculation new 804c27f1f5 Deal with commands that use the minibuffer outside of interactive new 8f434c57fb make: Explicitly specify output directory for makeinfo --html Summary of changes: docs/Makefile | 2 +- lisp/transient.el | 17 +++-- 2 files changed, 12 insertions(+), 7 deletions(-)
[elpa] externals/transient 8f434c57fb 2/2: make: Explicitly specify output directory for makeinfo --html
branch: externals/transient commit 8f434c57fb2684be782e66dde2e16a9a957641a4 Author: Jonas Bernoulli Commit: Jonas Bernoulli make: Explicitly specify output directory for makeinfo --html The default output directory differs between makeinfo versions. --- docs/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Makefile b/docs/Makefile index 1e2385bc2a..a70c87a47a 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -44,7 +44,7 @@ HTML_FIXUP_MENU = '/<\/body>/i<\/div>' html-dir: $(PKG).texi @printf "Generating $(PKG)/*.html\n" - @$(MAKEINFO) --html $(MANUAL_HTML_ARGS) $< + @$(MAKEINFO) --html -o $(PKG)/ $(MANUAL_HTML_ARGS) $< @for f in $$(find $(PKG) -name '*.html') ; do \ sed -i -e $(HTML_FIXUP_CSS) -e $(HTML_FIXUP_ONLOAD) -e $(HTML_FIXUP_MENU) $$f ; \ done
[elpa] externals/transient 79d1426de1: transient-prompt(lisp-variable): Fallback to generic prompt
branch: externals/transient commit 79d1426de173312bd6a3091731675bb010d804ec Author: Psionik K <73710933+psioni...@users.noreply.github.com> Commit: Jonas Bernoulli transient-prompt(lisp-variable): Fallback to generic prompt Teach `transient-prompt' to fall back to a generic prompt for `transient-lisp-variable'. If a prompt is explicitly provided, then continue to use that. (The method for `transient-infix', which is currently being used for all other types, already falls back to a generic prompt in most cases, but may in some cases use a prompt that warns that a prompt should be given explicitly.) Signed-off-by: Psionik K <73710933+psioni...@users.noreply.github.com> --- lisp/transient.el | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lisp/transient.el b/lisp/transient.el index 23b6039d54..ab51e6c37a 100644 --- a/lisp/transient.el +++ b/lisp/transient.el @@ -4124,7 +4124,10 @@ we stop there." 'face 'transient-value)) (cl-defmethod transient-prompt ((obj transient-lisp-variable)) - (format "Set %s: " (oref obj variable))) + (if (and (slot-boundp obj 'prompt) + (oref obj prompt)) + (cl-call-next-method obj) +(format "Set %s: " (oref obj variable (defun transient-lisp-variable--reader (prompt initial-input _history) (read--expression prompt initial-input))
[elpa] externals/transient ec20c0b65d 2/2: manual: Improve suffix pre-command documentation
branch: externals/transient commit ec20c0b65dcc3b274c124c15b0dcca01cf91ce4c Author: Jonas Bernoulli Commit: Jonas Bernoulli manual: Improve suffix pre-command documentation --- docs/transient.org | 13 - docs/transient.texi | 13 - 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/docs/transient.org b/docs/transient.org index 37845403af..b07b5f2fc9 100644 --- a/docs/transient.org +++ b/docs/transient.org @@ -1318,7 +1318,18 @@ function that makes sense for infixes. :UNNUMBERED: notoc :END: -The default for suffixes is ~transient--do-exit~. +By default, invoking a suffix causes the transient to be exited. + +If you want a different default behavior for a certain transient +prefix command, then set its ~:transient-suffix~ slot. The value can be +a boolean, answering the question "does the transient stay active, +when a suffix command is invoked?" ~t~ means that the transient stays +active, while ~nil~ means that invoking a suffix exits the transient. +In either case, the exact behavior depends on whether the suffix is +itself a prefix (i.e., a sub-prefix), an infix or a regular suffix. + +The behavior for an individual suffix command can be changed by +setting its ~transient~ slot to one of the following pre-commands. - Function: transient--do-exit :: diff --git a/docs/transient.texi b/docs/transient.texi index 2b882d1725..157c866511 100644 --- a/docs/transient.texi +++ b/docs/transient.texi @@ -1535,7 +1535,18 @@ Call the command without exporting variables and stay transient. @anchor{Pre-commands for Suffixes} @subheading Pre-commands for Suffixes -The default for suffixes is @code{transient--do-exit}. +By default, invoking a suffix causes the transient to be exited. + +If you want a different default behavior for a certain transient +prefix command, then set its @code{:transient-suffix} slot. The value can be +a boolean, answering the question "does the transient stay active, +when a suffix command is invoked?" @code{t} means that the transient stays +active, while @code{nil} means that invoking a suffix exits the transient. +In either case, the exact behavior depends on whether the suffix is +itself a prefix (i.e., a sub-prefix), an infix or a regular suffix. + +The behavior for an individual suffix command can be changed by +setting its @code{transient} slot to one of the following pre-commands. @defun transient--do-exit Call the command after exporting variables and exit the transient.
[elpa] externals/transient eac39e8b70 1/2: transient--do-leave: New pre-command for non-suffixes
branch: externals/transient commit eac39e8b70ecbc92f88384be5b181701aebe1351 Author: Jonas Bernoulli Commit: Jonas Bernoulli transient--do-leave: New pre-command for non-suffixes Previously one would have had to use `transient--do-exit` but unlike `transient--do-stay', that does export variable. Avoid this unfortunate asymmetry, even though in most, if not all, cases it should not affect the outcome. --- docs/transient.org | 31 ++- docs/transient.texi | 29 - lisp/transient.el | 4 3 files changed, 46 insertions(+), 18 deletions(-) diff --git a/docs/transient.org b/docs/transient.org index 5105e2a8d4..37845403af 100644 --- a/docs/transient.org +++ b/docs/transient.org @@ -1371,22 +1371,35 @@ slot. :UNNUMBERED: notoc :END: -The default for non-suffixes, i.e., commands that are bound in other -keymaps beside the transient keymap, is ~transient--do-warn~. Silently -ignoring the user-error is also an option, though probably not a good -one. +By default, non-suffixes (commands that are bound in other keymaps +beside the transient keymap) cannot be invoked. Trying to invoke +such a command results in a warning and the transient stays active. -If you want to let the user invoke non-suffix commands, then use -~transient--do-stay~ as the value of the prefix's ~transient-non-suffix~ -slot. +If you want a different behavior, then set the ~:transient-non-suffix~ +slot of the transient prefix command. The value can be a boolean, +answering the question, "is it allowed to invoke non-suffix commands?" + +If the value is ~t~ or ~transient--do-stay~, then non-suffixes can be +invoked, when it is ~nil~ or ~transient--do-warn~ (the default) then they +cannot be invoked. + +The only other recommended value is ~transient--do-leave~. If that is +used, then non-suffixes can be invoked, but if one is invoked, then +that exits the transient. - Function: transient--do-warn :: Call ~transient-undefined~ and stay transient. -- Function: transient--do-noop :: +- Function: transient--do-stay :: + + Call the command without exporting variables and stay transient. + +- Function: transient--do-leave :: + + Call the command without exporting variables and exit the transient. - Call ~transient-noop~ and stay transient. +# transient--do-noop intentionally left undocumented. *** Special Pre-Commands :PROPERTIES: diff --git a/docs/transient.texi b/docs/transient.texi index 996cd96949..2b882d1725 100644 --- a/docs/transient.texi +++ b/docs/transient.texi @@ -1586,21 +1586,32 @@ be added to @code{transient-predicate-map}. @anchor{Pre-commands for Non-Suffixes} @subheading Pre-commands for Non-Suffixes -The default for non-suffixes, i.e., commands that are bound in other -keymaps beside the transient keymap, is @code{transient--do-warn}. Silently -ignoring the user-error is also an option, though probably not a good -one. +By default, non-suffixes (commands that are bound in other keymaps +beside the transient keymap) cannot be invoked. Trying to invoke +such a command results in a warning and the transient stays active. -If you want to let the user invoke non-suffix commands, then use -@code{transient--do-stay} as the value of the prefix's @code{transient-non-suffix} -slot. +If you want a different behavior, then set the @code{:transient-non-suffix} +slot of the transient prefix command. The value can be a boolean, +answering the question, "is it allowed to invoke non-suffix commands?" + +If the value is @code{t} or @code{transient--do-stay}, then non-suffixes can be +invoked, when it is @code{nil} or @code{transient--do-warn} (the default) then they +cannot be invoked. + +The only other recommended value is @code{transient--do-leave}. If that is +used, then non-suffixes can be invoked, but if one is invoked, then +that exits the transient. @defun transient--do-warn Call @code{transient-undefined} and stay transient. @end defun -@defun transient--do-noop -Call @code{transient-noop} and stay transient. +@defun transient--do-stay +Call the command without exporting variables and stay transient. +@end defun + +@defun transient--do-leave +Call the command without exporting variables and exit the transient. @end defun @anchor{Special Pre-Commands} diff --git a/lisp/transient.el b/lisp/transient.el index ab51e6c37a..deeb825d45 100644 --- a/lisp/transient.el +++ b/lisp/transient.el @@ -2412,6 +2412,10 @@ If there is no parent prefix, then behave like `transient--do-exit'." (transient--stack-zap) transient--exit) +(defun transient--do-leave () + "Call the command without exporting variables and exit the transient." + transient--stay) + (defun transient--do-push-button () "Call the command represented by the activated button. Use that command's pre-command to determine transient behavior."
[elpa] externals/transient updated (79d1426de1 -> ec20c0b65d)
tarsius pushed a change to branch externals/transient. from 79d1426de1 transient-prompt(lisp-variable): Fallback to generic prompt new eac39e8b70 transient--do-leave: New pre-command for non-suffixes new ec20c0b65d manual: Improve suffix pre-command documentation Summary of changes: docs/transient.org | 44 ++-- docs/transient.texi | 42 -- lisp/transient.el | 4 3 files changed, 70 insertions(+), 20 deletions(-)
[elpa] externals/transient 23b8670bfd: Use new version string format for unreleased revisions
branch: externals/transient commit 23b8670bfda65436fc03eb03adc8191a3e4e5a0d Author: Jonas Bernoulli Commit: Jonas Bernoulli Use new version string format for unreleased revisions "N-git" < "N"; but "N.50-git" > "N". --- docs/transient.org | 4 ++-- docs/transient.texi | 4 ++-- lisp/transient.el | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/transient.org b/docs/transient.org index b07b5f2fc9..5349fb8abe 100644 --- a/docs/transient.org +++ b/docs/transient.org @@ -7,7 +7,7 @@ #+texinfo_dir_category: Emacs misc features #+texinfo_dir_title: Transient: (transient). #+texinfo_dir_desc: Transient Commands -#+subtitle: for version 0.3.7-git +#+subtitle: for version 0.3.7.50-git #+setupfile: .orgconfig @@ -32,7 +32,7 @@ Calling a suffix command usually causes the transient to be exited but suffix commands can also be configured to not exit the transient. #+texinfo: @noindent -This manual is for Transient version 0.3.7-git. +This manual is for Transient version 0.3.7.50-git. #+texinfo: @insertcopying :END: diff --git a/docs/transient.texi b/docs/transient.texi index 157c866511..53956d71db 100644 --- a/docs/transient.texi +++ b/docs/transient.texi @@ -31,7 +31,7 @@ General Public License for more details. @finalout @titlepage @title Transient User and Developer Manual -@subtitle for version 0.3.7-git +@subtitle for version 0.3.7.50-git @author Jonas Bernoulli @page @vskip 0pt plus 1filll @@ -65,7 +65,7 @@ Calling a suffix command usually causes the transient to be exited but suffix commands can also be configured to not exit the transient. @noindent -This manual is for Transient version 0.3.7-git. +This manual is for Transient version 0.3.7.50-git. @insertcopying @end ifnottex diff --git a/lisp/transient.el b/lisp/transient.el index deeb825d45..a78da7401e 100644 --- a/lisp/transient.el +++ b/lisp/transient.el @@ -6,7 +6,7 @@ ;; Homepage: https://github.com/magit/transient ;; Keywords: extensions -;; Package-Version: 0.3.7-git +;; Package-Version: 0.3.7.50-git ;; Package-Requires: ((emacs "25.1") (compat "28.1.1.0")) ;; SPDX-License-Identifier: GPL-3.0-or-later
[elpa] main 64cb333eb4: * elpa-packages (temp-buffer-browse): Add missing `:auto-sync` value
branch: main commit 64cb333eb4cbb36991e9f980a39d6914bb66dd7a Author: Jonas Bernoulli Commit: Jonas Bernoulli * elpa-packages (temp-buffer-browse): Add missing `:auto-sync` value --- elpa-packages | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/elpa-packages b/elpa-packages index 85a14393c9..54cbf257d0 100644 --- a/elpa-packages +++ b/elpa-packages @@ -716,7 +716,7 @@ :doc "taxy-magit-section.info" :auto-sync t) (temp-buffer-browse :url "https://github.com/leoliu/temp-buffer-browse"; - :auto-sync) + :auto-sync nil) (tempel :url "https://github.com/minad/tempel"; :doc "README.org" :auto-sync t)
[elpa] externals/transient updated (2e4426fe81 -> 389d2bffff)
tarsius pushed a change to branch externals/transient. from 2e4426fe81 Quote single quote in docstring new a583d2b2f5 Update changelog new cc887ebe3f transient--delay-post-command: Fix execute-extended-command handling new d855bbfbf7 Fix typo in changelog new 389d2b Backport changes from Emacs Summary of changes: CHANGELOG | 58 +++ lisp/transient.el | 7 --- 2 files changed, 54 insertions(+), 11 deletions(-)
[elpa] externals/transient a583d2b2f5 1/4: Update changelog
branch: externals/transient commit a583d2b2f5f8963f08cb5a15a4d4dd55faa13585 Author: Jonas Bernoulli Commit: Jonas Bernoulli Update changelog --- CHANGELOG | 60 +++- 1 file changed, 51 insertions(+), 9 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 2484e88fe2..497f02a823 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,17 +1,22 @@ # -*- mode: org -*- * v0.4.0UNRELEASED -- Compatibility of transient with various uses of the minibuffer has +- Compatibility of Transient with various uses of the minibuffer has been greatly improved, addressing several edge-cases and making it possible to invoke a transient prefix command when the minibuffer is active. 7b8a7d71 et al. +- Popup navigation is no longer considered a second-class feature and + is enabled by default. Some transients allow arbitrary non-suffixes + to be invoked, so some key bindings, which were previously used for + popup navigation, had to be removed, to avoid conflicts. 98d50202 ff + - Each prefix and suffix can now have its own help function. This is configured using the new ~show-help~ slot. ea5ac99f -- The ~transient-options~ now supports two types of options that can - have multiple values: repeated option-value pairs and a final option - that takes all remaining arguments as value. #154 +- The ~transient-options~ class now supports two types of options that + can have multiple values: repeated option-value pairs and a final + option that takes all remaining arguments as value. #154 - Added support for the use of non-proportional text in the transient popup. 7f5520b3 @@ -32,8 +37,8 @@ value of the active transient. 51585b8d - When using Emacs 28, ~execute-extended-command~ can be told to ignore - transient infix commands. Even when using that Emacs version that - command does not ignore any commands by default, but this behaviour + transient infix commands. Even when using that Emacs version, that + command does not ignore any commands by default, but this behavior can be easily be enabled using: (setq read-extended-command-predicate @@ -45,15 +50,52 @@ are now evaluated when the ~transient-define-prefix~ macro is expanded. 99943f73 +- Depend on the Compat package, allowing me to use convenient features + that were added to Emacs over the last few years, without having to + wait another few years until everybody has updated to a reasonably + recent Emacs release. 5ae3c401 + +- Added basic support for suffixes that span multiple lines (multi-row + cells). #193 + +- Infix arguments can now be invoked following a prefix argument. To + use a negative prefix argument use "C--". "-" cannot be used anymore + because it conflicts with the most common prefix key used for infix + arguments. ed2febd0 + Bug fixes: - 938b0591 #173 transient--show: Set point after displaying window again +- 202271f7 Resurrect transient-files class - c26cbac5 #181 transient-{init,set}-value: Use case-sensitive matching - 28491e1f Properly deal with stealth undefined command -- 714e3482 No longer always suspend when handle-switch-frame is called +- 143a1393 transient-infix-read: Always enable-recursive-minibuffers +- 76b77e01 magit--{pre,post}-command: Add emergency exits +- 09b436fa transient--debug: Ignore error in transient--suffix-symbol +- f2e0dfcc transient--get-predicate-for: Ignore error in transient--suffix-symbol +- bf29731a transient--post-command: Don't pop and push equal redisplay maps +- 3c78b10f transient--redisplay: Don't redisplay during mouse-drag-region ++ 714e3482 No longer always suspend when handle-switch-frame is called +- ecb815bc transient--abort-commands: Add keyboard-escape-quit +- 8b1f8dcc transient--minibuffer-depth: Must always be a number +- 686b7ebc Fix handling of sub-prefix command that use the minibuffer +- a19faa1c Return to outer prefix when minibuffer is aborted for sub-prefix +- 4477555b transient--post-exit: Deal with unbound transient slot properly - 0f39af0e #188 transient-format-description: Use cl-call-next-method - -Also contains various documentation updates and code clean-ups. +- 1fd1cf51 When highlighting suffixes not normally displayed consider group level +- 7c771c94 Do not let-bind overriding-terminal-local-map to nil +- 31d355b5 transient-set-level: Refresh shown levels after setting one +- bb056e71 Invoke suffix commands directly when a button is pushed +- 270eff1c Fix redisplay when popup navigation is enabled +- 81b2b912 Use this-original-command again +- d4fb853d #198 transient--show: Also hide the header-line +- 7467a79c transient--suspend-override: Cancel display timer +- 5686a792 transient--suspend-override: Cancel prefix key display +- 1c84d7ad Remap kp-subtract, kp-equal and kp-add +- 5302db18 Once popup is showing keep doing so until full exit + +Also contains various documentation updates, code clean-ups and +build improv
[elpa] externals/transient 389d2bffff 4/4: Backport changes from Emacs
branch: externals/transient commit 389d2b1d7ada561688861ca67b7a360cf352 Author: Jonas Bernoulli Commit: Jonas Bernoulli Backport changes from Emacs Added in this commit: - 9230953f23 ; Fix typos. Already done independently: - 640e52d8fa ; Fix mistakes in 'declare function' forms - bbf389ea6d Audit quoting the quote character in doc strings - 19dcb237b5 ; Add 2022 to copyright years. Not included: - 49e41991b2 Allow ;;;###autoloading transient-define-prefix For stand-alone transient that isn't sufficient to make it unnecessary to load the library upfront, but makes it more likely that a user thinks it is. Emacs handles this macro in loaddefs-generate--make-autoload. - 15238e2ed0 Prefer URL commentary header in two files I prefer Homepage and use it consistently in all my libraries. --- lisp/transient.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/transient.el b/lisp/transient.el index b7057e7531..e823d9ba5d 100644 --- a/lisp/transient.el +++ b/lisp/transient.el @@ -260,7 +260,7 @@ for infix argument are highlighted when only a long argument In the rare case that a short-hand is specified but does not match the key binding, then it is highlighted differently. -The highlighting is done using using `transient-mismatched-key' +The highlighting is done using `transient-mismatched-key' and `transient-nonstandard-key'." :package-version '(transient . "0.1.0") :group 'transient
[elpa] externals/transient d855bbfbf7 3/4: Fix typo in changelog
branch: externals/transient commit d855bbfbf705b72e41344af68f9fd52d76017e7c Author: Jonas Bernoulli Commit: Jonas Bernoulli Fix typo in changelog --- CHANGELOG | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG b/CHANGELOG index 497f02a823..54b727f9bb 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -75,7 +75,7 @@ Bug fixes: - f2e0dfcc transient--get-predicate-for: Ignore error in transient--suffix-symbol - bf29731a transient--post-command: Don't pop and push equal redisplay maps - 3c78b10f transient--redisplay: Don't redisplay during mouse-drag-region -+ 714e3482 No longer always suspend when handle-switch-frame is called +- 714e3482 No longer always suspend when handle-switch-frame is called - ecb815bc transient--abort-commands: Add keyboard-escape-quit - 8b1f8dcc transient--minibuffer-depth: Must always be a number - 686b7ebc Fix handling of sub-prefix command that use the minibuffer
[elpa] externals/transient cc887ebe3f 2/4: transient--delay-post-command: Fix execute-extended-command handling
branch: externals/transient commit cc887ebe3fa85a3642d937efe2ff882b356da9c0 Author: Jonas Bernoulli Commit: Jonas Bernoulli transient--delay-post-command: Fix execute-extended-command handling This completes [1: d9b3a54]. We have to make sure that both strings are multi-byte, else they might be just "equal"; not `equal'. 1: 2022-05-08 d9b3a54128065222d35ce4ba49cdb39e23a06d2f transient--delay-post-command: Handle execute-extended-command --- lisp/transient.el | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lisp/transient.el b/lisp/transient.el index 6d67e21d0d..b7057e7531 100644 --- a/lisp/transient.el +++ b/lisp/transient.el @@ -2175,8 +2175,9 @@ value. Otherwise return CHILDREN as is." ;; `execute-extended-command' was ;; used to call another command ;; that also uses the minibuffer. - (equal (this-command-keys) - (format "\M-x%s\r" this-command)) + (equal + (string-to-multibyte (this-command-keys)) + (format "\M-x%s\r" this-command)) (transient--debug 'post-command-hook "act: %s" act) (when act (remove-hook 'transient--post-command-hook post-command)
[elpa] externals/transient eba78cb0b6 09/14: manual: Use more precise @dircategory
branch: externals/transient commit eba78cb0b6176b8b7a58eeaff6ebefc59ae2977d Author: Jonas Bernoulli Commit: Jonas Bernoulli manual: Use more precise @dircategory --- docs/transient.org | 2 +- docs/transient.texi | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/transient.org b/docs/transient.org index 7ff257bc65..de2d8d4612 100644 --- a/docs/transient.org +++ b/docs/transient.org @@ -4,7 +4,7 @@ #+email: jo...@bernoul.li #+date: 2018-{{{year}}} -#+texinfo_dir_category: Emacs +#+texinfo_dir_category: Emacs misc features #+texinfo_dir_title: Transient: (transient). #+texinfo_dir_desc: Transient Commands #+subtitle: for version 0.3.7-git diff --git a/docs/transient.texi b/docs/transient.texi index 2df8215c1d..730040da03 100644 --- a/docs/transient.texi +++ b/docs/transient.texi @@ -23,7 +23,7 @@ General Public License for more details. @end quotation @end copying -@dircategory Emacs +@dircategory Emacs misc features @direntry * Transient: (transient). Transient Commands. @end direntry
[elpa] externals/transient b49e79df00 04/14: manual: Use new "codevar" macro
branch: externals/transient commit b49e79df00d1ab4837def3fc354fa723b7ff6a18 Author: Jonas Bernoulli Commit: Jonas Bernoulli manual: Use new "codevar" macro --- docs/.orgconfig | 1 + docs/transient.org | 6 +++--- docs/transient.texi | 6 +++--- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/docs/.orgconfig b/docs/.orgconfig index acfbd0fdcf..92cfc92bae 100644 --- a/docs/.orgconfig +++ b/docs/.orgconfig @@ -9,5 +9,6 @@ #+macro: var @@texinfo:@var{@@$1@@texinfo:}@@ #+macro: kbdvar (eval (format "@@texinfo:@kbd{@@%s@@texinfo:}@@" (let (case-fold-search) (replace-regexp-in-string "<\\([a-zA-Z-]+\\)>" "@@texinfo:@var{@@\\1@@texinfo:}@@" (replace-regexp-in-string org-texinfo--quoted-keys-regexp "@@texinfo:@key{@@\\&@@texinfo:}@@" $1 t) t +#+macro: codevar (eval (let (case-fold-search) (format "@@texinfo:@code{@@%s@@texinfo:}@@" (replace-regexp-in-string "\\([A-Z][A-Z-]+\\)" "@@texinfo:@var{@@\\&@@texinfo:}@@" $1 t #+language: en diff --git a/docs/transient.org b/docs/transient.org index d23b8e1d33..ff4e35aaf0 100644 --- a/docs/transient.org +++ b/docs/transient.org @@ -540,9 +540,9 @@ Also see [[* Common Suffix Commands]]. This option specifies the action used to display the transient popup buffer. The transient popup buffer is displayed in a window using - ~(display-buffer BUFFER transient-display-buffer-action)~. + {{{codevar((display-buffer BUFFER transient-display-buffer-action))}}}. - The value of this option has the form ~(FUNCTION . ALIST)~, + The value of this option has the form {{{codevar((FUNCTION . ALIST))}}}, where {{{var(FUNCTION)}}} is a function or a list of functions. Each such function should accept two arguments: a buffer to display and an alist of the same form as {{{var(ALIST)}}}. See [[info:elisp#Choosing Window]], @@ -771,7 +771,7 @@ The following functions share a few arguments: These functions operate on the information stored in the ~transient--layout~ property of the {{{var(PREFIX)}}} symbol. Suffix entries in -that tree are not objects but have the form ~(LEVEL CLASS PLIST)~, where +that tree are not objects but have the form {{{codevar((LEVEL CLASS PLIST))}}}, where {{{var(PLIST)}}} should set at least ~:key~, ~:description~ and ~:command~. - Function: transient-insert-suffix prefix loc suffix &optional keep-other :: diff --git a/docs/transient.texi b/docs/transient.texi index 34589c92f6..2d06cefcf3 100644 --- a/docs/transient.texi +++ b/docs/transient.texi @@ -708,9 +708,9 @@ is non-@code{nil}, then the following features are available: @defopt transient-display-buffer-action This option specifies the action used to display the transient popup buffer. The transient popup buffer is displayed in a window using -@code{(display-buffer BUFFER transient-display-buffer-action)}. +@code{(display-buffer @var{BUFFER} transient-display-buffer-action)}. -The value of this option has the form @code{(FUNCTION . ALIST)}, +The value of this option has the form @code{(@var{FUNCTION} . @var{ALIST})}, where @var{FUNCTION} is a function or a list of functions. Each such function should accept two arguments: a buffer to display and an alist of the same form as @var{ALIST}. See @ref{Choosing Window,,,elisp,}, @@ -939,7 +939,7 @@ at the definition of the transient prefix command. These functions operate on the information stored in the @code{transient--layout} property of the @var{PREFIX} symbol. Suffix entries in -that tree are not objects but have the form @code{(LEVEL CLASS PLIST)}, where +that tree are not objects but have the form @code{(@var{LEVEL} @var{CLASS} @var{PLIST})}, where @var{PLIST} should set at least @code{:key}, @code{:description} and @code{:command}. @defun transient-insert-suffix prefix loc suffix &optional keep-other
[elpa] externals/transient 5d116c7122 02/14: manual: Use new "var" macro
branch: externals/transient commit 5d116c7122dca003cfdb4e72dceba3c3d968034a Author: Jonas Bernoulli Commit: Jonas Bernoulli manual: Use new "var" macro --- docs/.orgconfig | 2 + docs/transient.org | 162 ++-- docs/transient.texi | 162 ++-- 3 files changed, 164 insertions(+), 162 deletions(-) diff --git a/docs/.orgconfig b/docs/.orgconfig index 138fae42e2..df2c1b9b36 100644 --- a/docs/.orgconfig +++ b/docs/.orgconfig @@ -7,4 +7,6 @@ #+macro: year (eval (format-time-string "%Y")) #+macro: version (eval (or (getenv "PACKAGE_REVDESC") (getenv "PACKAGE_VERSION") (ignore-errors (car (process-lines "git" "describe" "--exact"))) (ignore-errors (concat (car (process-lines "git" "describe" (if (getenv "AMEND") "HEAD~" "HEAD"))) "+1" +#+macro: var @@texinfo:@var{@@$1@@texinfo:}@@ + #+language: en diff --git a/docs/transient.org b/docs/transient.org index 9055089a7c..441dda30ec 100644 --- a/docs/transient.org +++ b/docs/transient.org @@ -155,7 +155,7 @@ but also remembers the values of individual arguments independently. See [[*Using History]]. After a transient prefix command is invoked, {{{kbd(C-h )}}} can be used to -show the documentation for the infix or suffix command that {{{kbd()}}} is +show the documentation for the infix or suffix command that {{{var(KEY)}}} is bound to (see [[*Getting Help for Suffix Commands]]) and infixes and suffixes can be removed from the transient using {{{kbd(C-x l )}}}. Infixes and suffixes that are disabled by default can be enabled the same way. @@ -477,14 +477,14 @@ window, and the key bindings are the same as for ~scroll-up-command~ and - Command: transient-scroll-up arg :: - This command scrolls text of transient popup window upward ARG - lines. If ARG is ~nil~, then it scrolls near full screen. This + This command scrolls text of transient popup window upward {{{var(ARG)}}} + lines. If {{{var(ARG)}}} is ~nil~, then it scrolls near full screen. This is a wrapper around ~scroll-up-command~ (which see). - Command: transient-scroll-down arg :: - This command scrolls text of transient popup window down ARG - lines. If ARG is ~nil~, then it scrolls near full screen. This + This command scrolls text of transient popup window down {{{var(ARG)}}} + lines. If {{{var(ARG)}}} is ~nil~, then it scrolls near full screen. This is a wrapper around ~scroll-down-command~ (which see). ** Configuration @@ -543,9 +543,9 @@ Also see [[* Common Suffix Commands]]. ~(display-buffer BUFFER transient-display-buffer-action)~. The value of this option has the form ~(FUNCTION . ALIST)~, - where FUNCTION is a function or a list of functions. Each such + where {{{var(FUNCTION)}}} is a function or a list of functions. Each such function should accept two arguments: a buffer to display and an - alist of the same form as ALIST. See [[info:elisp#Choosing Window]], + alist of the same form as {{{var(ALIST)}}}. See [[info:elisp#Choosing Window]], for details. The default is: @@ -558,7 +558,7 @@ Also see [[* Common Suffix Commands]]. #+END_SRC This displays the window at the bottom of the selected frame. - Another useful FUNCTION is ~display-buffer-below-selected~, which + Another useful {{{var(FUNCTION)}}} is ~display-buffer-below-selected~, which is what ~magit-popup~ used by default. For more alternatives see [[info:elisp#Display Action Functions]] and [[info:elisp#Buffer Display Action Alists]]. @@ -744,24 +744,24 @@ transients can be further modified non-interactively. The following functions share a few arguments: -- PREFIX is a transient prefix command, a symbol. +- {{{var(PREFIX)}}} is a transient prefix command, a symbol. -- SUFFIX is a transient infix or suffix specification in the same form +- {{{var(SUFFIX)}}} is a transient infix or suffix specification in the same form as expected by ~transient-define-prefix~. Note that an infix is a special kind of suffix. Depending on context "suffixes" means "suffixes (including infixes)" or "non-infix suffixes". Here it means the former. See [[*Suffix Specifications]]. - SUFFIX may also be a group in the same form as expected by + {{{var(SUFFIX)}}} may also be a group in the same form as expected by ~transient-define-prefix~. See [[*Group Specifications]]. -- LOC is a command, a key vector, a key description (a string as +- {{{var(LOC)}}} is a command, a key vector, a key description (a string as returned by ~key-description~), or a list specifying coordinates (the last element may also be a command or key). For example ~(1 0 -1)~ identifies the last suffix (~-1~) of the first subgroup (~0~) of the second group (~1~). - If LOC is a list of
[elpa] externals/transient updated (389d2bffff -> a5562cbc8d)
tarsius pushed a change to branch externals/transient. from 389d2b Backport changes from Emacs new 2c7624e9e0 manual: Use "kbd" macro explicitly new 5d116c7122 manual: Use new "var" macro new 86b24ebd76 manual: Use new "kbdvar" macro new b49e79df00 manual: Use new "codevar" macro new bcd9fbe22e manual: Use new "dfn" macro new 3ff531ba13 manual: Use "verbatim" emphasis markers new 9cd69ef226 manual: Use double quotation marks (U+201C and U+201D) new 1be2b72980 manual: Use verbatim instead of code in diagram legends new eba78cb0b6 manual: Use more precise @dircategory new 1b42da2a66 manual: Update copyright notice new 69584bf6b3 manual: Use @insertcopying new 2a47c3271b manual: Include GPLv3 in appendix new 47ebcee62f manual: Fix minor defects new a5562cbc8d manual: Avoid texinfo complications Summary of changes: docs/.orgconfig | 5 + docs/gpl.texi | 717 docs/transient.org | 419 +++--- docs/transient.texi | 424 +++ 4 files changed, 1140 insertions(+), 425 deletions(-) create mode 100644 docs/gpl.texi
[elpa] externals/transient bcd9fbe22e 05/14: manual: Use new "dfn" macro
branch: externals/transient commit bcd9fbe22e87e607f5e1259bdc85c87f57a78ceb Author: Jonas Bernoulli Commit: Jonas Bernoulli manual: Use new "dfn" macro --- docs/.orgconfig | 1 + docs/transient.org | 8 docs/transient.texi | 8 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/docs/.orgconfig b/docs/.orgconfig index 92cfc92bae..ec583bb199 100644 --- a/docs/.orgconfig +++ b/docs/.orgconfig @@ -10,5 +10,6 @@ #+macro: var @@texinfo:@var{@@$1@@texinfo:}@@ #+macro: kbdvar (eval (format "@@texinfo:@kbd{@@%s@@texinfo:}@@" (let (case-fold-search) (replace-regexp-in-string "<\\([a-zA-Z-]+\\)>" "@@texinfo:@var{@@\\1@@texinfo:}@@" (replace-regexp-in-string org-texinfo--quoted-keys-regexp "@@texinfo:@key{@@\\&@@texinfo:}@@" $1 t) t #+macro: codevar (eval (let (case-fold-search) (format "@@texinfo:@code{@@%s@@texinfo:}@@" (replace-regexp-in-string "\\([A-Z][A-Z-]+\\)" "@@texinfo:@var{@@\\&@@texinfo:}@@" $1 t +#+macro: dfn @@texinfo:@dfn{@@$1@@texinfo:}@@ #+language: en diff --git a/docs/transient.org b/docs/transient.org index ff4e35aaf0..c28a675e2c 100644 --- a/docs/transient.org +++ b/docs/transient.org @@ -62,10 +62,10 @@ commands (a prefix and a suffix) we prefer to call it just a Transient keymaps are a feature provided by Emacs. Transients as implemented by this package involve the use of transient keymaps. -Emacs provides a feature that it calls "prefix commands". When we +Emacs provides a feature that it calls {{{dfn(prefix commands)}}}. When we talk about "prefix commands" in this manual, then we mean our own kind of "prefix commands", unless specified otherwise. To avoid ambiguity -we sometimes use the terms "transient prefix command" for our kind and +we sometimes use the terms {{{dfn(transient prefix command)}}} for our kind and "regular prefix command" for Emacs' kind. #+end_quote @@ -409,11 +409,11 @@ 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. +spectrum. We use the term {{{dfn(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 +level (called {{{dfn(transient-level)}}}), which controls which suffix commands are available. Integers between 1 and 7 (inclusive) are valid levels. For suffixes, 0 is also valid; it means that the suffix is not displayed at any level. diff --git a/docs/transient.texi b/docs/transient.texi index 2d06cefcf3..01a15afabd 100644 --- a/docs/transient.texi +++ b/docs/transient.texi @@ -165,10 +165,10 @@ commands (a prefix and a suffix) we prefer to call it just a Transient keymaps are a feature provided by Emacs. Transients as implemented by this package involve the use of transient keymaps. -Emacs provides a feature that it calls "prefix commands". When we +Emacs provides a feature that it calls @dfn{prefix commands}. When we talk about "prefix commands" in this manual, then we mean our own kind of "prefix commands", unless specified otherwise. To avoid ambiguity -we sometimes use the terms "transient prefix command" for our kind and +we sometimes use the terms @dfn{transient prefix command} for our kind and "regular prefix command" for Emacs' kind. @end quotation @@ -564,11 +564,11 @@ 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@dots{}everything -spectrum. We use the term "levels" to describe that mechanism. +spectrum. We use the term @dfn{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 +level (called @dfn{transient-level}), which controls which suffix commands are available. Integers between 1 and 7 (inclusive) are valid levels. For suffixes, 0 is also valid; it means that the suffix is not displayed at any level.
[elpa] externals/transient 2c7624e9e0 01/14: manual: Use "kbd" macro explicitly
branch: externals/transient commit 2c7624e9e092b7e55ad055ae623d1023530cd3b8 Author: Jonas Bernoulli Commit: Jonas Bernoulli manual: Use "kbd" macro explicitly --- docs/transient.org | 89 ++- docs/transient.texi | 92 +++-- 2 files changed, 92 insertions(+), 89 deletions(-) diff --git a/docs/transient.org b/docs/transient.org index 7d111bc4bf..9055089a7c 100644 --- a/docs/transient.org +++ b/docs/transient.org @@ -127,7 +127,7 @@ 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 from having to remember all the keys that are valid after a certain -prefix key or command. Magit's ~magit-dispatch~ (on ~C-x M-g~) command is +prefix key or command. Magit's ~magit-dispatch~ (on {{{kbd(C-x M-g)}}}) command is an example of using Transient to merely implement a command dispatcher. @@ -154,10 +154,10 @@ 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 -show the documentation for the infix or suffix command that ~~ is +After a transient prefix command is invoked, {{{kbd(C-h )}}} can be used to +show the documentation for the infix or suffix command that {{{kbd()}}} is bound to (see [[*Getting Help for Suffix Commands]]) and infixes and -suffixes can be removed from the transient using ~C-x l ~. Infixes +suffixes can be removed from the transient using {{{kbd(C-x l )}}}. Infixes and suffixes that are disabled by default can be enabled the same way. See [[*Enabling and Disabling Suffixes]]. @@ -195,25 +195,25 @@ value of some variable. #+cindex: resuming transients #+cindex: quit transient -To quit the transient without invoking a suffix command press ~C-g~. +To quit the transient without invoking a suffix command press {{{kbd(C-g)}}}. Key bindings in transient keymaps may be longer than a single event. After pressing a valid prefix key, all commands whose bindings do not begin with that prefix key are temporarily unavailable and grayed out. -To abort the prefix key press ~C-g~ (which in this case only quits the +To abort the prefix key press {{{kbd(C-g)}}} (which in this case only quits the 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 and the information displayed in the popup buffer is updated -accordingly. Pressing ~C-g~ while a nested transient is active only +accordingly. Pressing {{{kbd(C-g)}}} while a nested transient is active only quits the innermost transient, causing a return to the previous transient. -~C-q~ or ~C-z~ on the other hand always exits all transients. If you use +{{{kbd(C-q)}}} or {{{kbd(C-z)}}} on the other hand always exits all transients. If you use the latter, then you can later resume the stack of transients using -~M-x transient-resume~. +{{{kbd(M-x transient-resume)}}}. #+attr_texinfo: :compact t - Key: C-g (transient-quit-seq) :: @@ -223,7 +223,7 @@ the latter, then you can later resume the stack of transients using or else the current transient. When quitting the current transient, it returns to the previous transient, if any. -Transient's predecessor bound ~q~ instead of ~C-g~ to the quit command. +Transient's predecessor bound {{{kbd(q)}}} instead of {{{kbd(C-g)}}} to the quit command. To learn how to get that binding back see ~transient-bind-q-to-quit~'s doc string. @@ -258,8 +258,8 @@ A few shared suffix commands are available in all transients. These suffix commands are not shown in the popup buffer by default. This includes the aborting commands mentioned in the previous section, -as well as some other commands that are all bound to ~C-x ~. After -~C-x~ is pressed, a section featuring all these common commands is +as well as some other commands that are all bound to {{{kbd(C-x )}}}. After +{{{kbd(C-x)}}} is pressed, a section featuring all these common commands is temporarily shown in the popup buffer. After invoking one of them, the section disappears again. Note however that one of these commands is described as "Show common permanently"; invoke that if you want the @@ -269,7 +269,7 @@ common commands to always be shown for all transients. This command toggles whether the generic commands that are common to all transients are always displayed or only after typing the - incomplete prefix key sequence ~C-x~. This only affects the current + incomplete prefix key sequence {{{kbd(C-x)}}}
[elpa] externals/transient 1b42da2a66 10/14: manual: Update copyright notice
branch: externals/transient commit 1b42da2a66c4ec0befe922ad306b6515d1b395a3 Author: Jonas Bernoulli Commit: Jonas Bernoulli manual: Update copyright notice --- docs/transient.org | 4 ++-- docs/transient.texi | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/transient.org b/docs/transient.org index de2d8d4612..960160c7a0 100644 --- a/docs/transient.org +++ b/docs/transient.org @@ -35,7 +35,7 @@ but suffix commands can also be configured to not exit the transient. This manual is for Transient version 0.3.7-git. #+begin_quote -Copyright (C) 2018-{{{year}}} Jonas Bernoulli +Copyright (C) 2018-{{{year}}} Free Software Foundation, Inc. You can redistribute this document and/or modify it under the terms of the GNU General Public License as published by the Free Software @@ -2292,7 +2292,7 @@ necessary changes. See its doc string for more information. :END: #+begin_quote -Copyright (C) 2018-{{{year}}} Jonas Bernoulli +Copyright (C) 2018-{{{year}}} Free Software Foundation, Inc. You can redistribute this document and/or modify it under the terms of the GNU General Public License as published by the Free Software diff --git a/docs/transient.texi b/docs/transient.texi index 730040da03..ef75d983c4 100644 --- a/docs/transient.texi +++ b/docs/transient.texi @@ -8,7 +8,7 @@ @copying @quotation -Copyright (C) 2018-2022 Jonas Bernoulli +Copyright (C) 2018-2022 Free Software Foundation, Inc. You can redistribute this document and/or modify it under the terms of the GNU General Public License as published by the Free Software @@ -68,7 +68,7 @@ but suffix commands can also be configured to not exit the transient. This manual is for Transient version 0.3.7-git. @quotation -Copyright (C) 2018-2022 Jonas Bernoulli +Copyright (C) 2018-2022 Free Software Foundation, Inc. You can redistribute this document and/or modify it under the terms of the GNU General Public License as published by the Free Software
[elpa] externals/transient 86b24ebd76 03/14: manual: Use new "kbdvar" macro
branch: externals/transient commit 86b24ebd762fa0fdde8a39c443dcb19e56464882 Author: Jonas Bernoulli Commit: Jonas Bernoulli manual: Use new "kbdvar" macro --- docs/.orgconfig | 1 + docs/transient.org | 6 +++--- docs/transient.texi | 6 +++--- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/docs/.orgconfig b/docs/.orgconfig index df2c1b9b36..acfbd0fdcf 100644 --- a/docs/.orgconfig +++ b/docs/.orgconfig @@ -8,5 +8,6 @@ #+macro: version (eval (or (getenv "PACKAGE_REVDESC") (getenv "PACKAGE_VERSION") (ignore-errors (car (process-lines "git" "describe" "--exact"))) (ignore-errors (concat (car (process-lines "git" "describe" (if (getenv "AMEND") "HEAD~" "HEAD"))) "+1" #+macro: var @@texinfo:@var{@@$1@@texinfo:}@@ +#+macro: kbdvar (eval (format "@@texinfo:@kbd{@@%s@@texinfo:}@@" (let (case-fold-search) (replace-regexp-in-string "<\\([a-zA-Z-]+\\)>" "@@texinfo:@var{@@\\1@@texinfo:}@@" (replace-regexp-in-string org-texinfo--quoted-keys-regexp "@@texinfo:@key{@@\\&@@texinfo:}@@" $1 t) t #+language: en diff --git a/docs/transient.org b/docs/transient.org index 441dda30ec..d23b8e1d33 100644 --- a/docs/transient.org +++ b/docs/transient.org @@ -154,10 +154,10 @@ 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, {{{kbd(C-h )}}} can be used to +After a transient prefix command is invoked, {{{kbdvar(C-h )}}} can be used to show the documentation for the infix or suffix command that {{{var(KEY)}}} is bound to (see [[*Getting Help for Suffix Commands]]) and infixes and -suffixes can be removed from the transient using {{{kbd(C-x l )}}}. Infixes +suffixes can be removed from the transient using {{{kbdvar(C-x l )}}}. Infixes and suffixes that are disabled by default can be enabled the same way. See [[*Enabling and Disabling Suffixes]]. @@ -258,7 +258,7 @@ A few shared suffix commands are available in all transients. These suffix commands are not shown in the popup buffer by default. This includes the aborting commands mentioned in the previous section, -as well as some other commands that are all bound to {{{kbd(C-x )}}}. After +as well as some other commands that are all bound to {{{kbdvar(C-x )}}}. After {{{kbd(C-x)}}} is pressed, a section featuring all these common commands is temporarily shown in the popup buffer. After invoking one of them, the section disappears again. Note however that one of these commands diff --git a/docs/transient.texi b/docs/transient.texi index 865b032c5e..34589c92f6 100644 --- a/docs/transient.texi +++ b/docs/transient.texi @@ -259,10 +259,10 @@ 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, @kbd{C-h } can be used to +After a transient prefix command is invoked, @kbd{C-h @var{KEY}} can be used to show the documentation for the infix or suffix command that @var{KEY} is bound to (see @ref{Getting Help for Suffix Commands}) and infixes and -suffixes can be removed from the transient using @kbd{C-x l }. Infixes +suffixes can be removed from the transient using @kbd{C-x l @var{KEY}}. Infixes and suffixes that are disabled by default can be enabled the same way. See @ref{Enabling and Disabling Suffixes}. @@ -391,7 +391,7 @@ A few shared suffix commands are available in all transients. These suffix commands are not shown in the popup buffer by default. This includes the aborting commands mentioned in the previous section, -as well as some other commands that are all bound to @kbd{C-x }. After +as well as some other commands that are all bound to @kbd{C-x @var{KEY}}. After @kbd{C-x} is pressed, a section featuring all these common commands is temporarily shown in the popup buffer. After invoking one of them, the section disappears again. Note however that one of these commands
[elpa] externals/transient 47ebcee62f 13/14: manual: Fix minor defects
branch: externals/transient commit 47ebcee62fdf37f543377d21bd5d8d97a2c78f6b Author: Jonas Bernoulli Commit: Jonas Bernoulli manual: Fix minor defects --- docs/transient.org | 28 ++-- docs/transient.texi | 28 ++-- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/docs/transient.org b/docs/transient.org index f4923237dd..cf7ce4cf91 100644 --- a/docs/transient.org +++ b/docs/transient.org @@ -250,9 +250,9 @@ This includes the aborting commands mentioned in the previous section, as well as some other commands that are all bound to {{{kbdvar(C-x )}}}. After {{{kbd(C-x)}}} is pressed, a section featuring all these common commands is temporarily shown in the popup buffer. After invoking one of them, -the section disappears again. Note however that one of these commands -is described as “Show common permanently”; invoke that if you want the -common commands to always be shown for all transients. +the section disappears again. Note, however, that one of these +commands is described as “Show common permanently”; invoke that if you +want the common commands to always be shown for all transients. - Key: C-x t (transient-toggle-common) :: @@ -266,7 +266,7 @@ common commands to always be shown for all transients. This option controls whether shared suffix commands are shown alongside the transient-specific infix and suffix commands. By default, the shared commands are not shown to avoid overwhelming - the user with to. many options. + the user with too many options. While a transient is active, pressing {{{kbd(C-x)}}} always shows the common commands. The value of this option can be changed for the current @@ -623,7 +623,7 @@ Also see [[* Common Suffix Commands]]. 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 + 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. @@ -637,7 +637,7 @@ Also see [[* Common Suffix Commands]]. - User Option: transient-substitute-key-function :: This function is used to modify key bindings. If the value of this - option is nil (the default), then no substitution is performed. + option is ~nil~ (the default), then no substitution is performed. This function is called with one argument, the prefix object, and must return a key binding description, either the existing key @@ -1060,7 +1060,7 @@ argument that is mandatory in all cases. (e.g., =--format==) then ~transient-option~ is used, otherwise ~transient-switch~. -Finally, details can be specified using optional {{{var(KEYWORD-VALUE)}}} pairs. +Finally, details can be specified using optional {{{var(KEYWORD)}}}-{{{var(VALUE)}}} pairs. Each keyword has to be a keyword symbol, either ~:class~ or a keyword argument supported by the constructor of that class. See [[*Suffix Slots]]. @@ -1170,7 +1170,7 @@ function, which for infix arguments serves about the same purpose as For a switch a boolean is returned. For an option the value is returned as a string, using the empty string for the empty value, - or nil if the option does not appear in {{{var(ARGS)}}}. + or ~nil~ if the option does not appear in {{{var(ARGS)}}}. - Function: transient-suffixes prefix :: @@ -1342,7 +1342,7 @@ slot. :UNNUMBERED: notoc :END: -The default for non-suffixes, i.e commands that are bound in other +The default for non-suffixes, i.e., commands that are bound in other keymaps beside the transient keymap, is ~transient--do-warn~. Silently ignoring the user-error is also an option, though probably not a good one. @@ -1839,10 +1839,10 @@ They are defined here anyway to allow sharing certain methods. :END: - ~argument-format~ The display format. Must contain ~%s~, one of the - ~choices~ is substituted for that. e.g., ~--%s-order~. + ~choices~ is substituted for that. E.g., ~--%s-order~. - ~argument-regexp~ The regexp used to match any one of the switches. - e.g., ~\\(--\\(topo\\|author-date\\|date\\)-order\\)~. + E.g., ~\\(--\\(topo\\|author-date\\|date\\)-order\\)~. ** Predicate Slots @@ -1852,9 +1852,9 @@ Only one of these slots can be used at the same time. It is undefined what happens if you use more than one. - ~if~ Enable if predicate returns non-~nil~. -- ~if-not~ Enable if predicate returns nil. -- ~if-non-~nil~~ Enable if variable's value is non-~nil~. -- ~if-nil~ Enable if variable's value is nil. +- ~if-not~ Enable if predicate returns ~nil~. +- ~if-non-nil~ Enable if variable's value is non-~nil~. +- ~if-nil~ Enable if variable's value is ~nil~. - ~if-mode~ Enable if major-mode matches value. - ~if-not-mode~ Enable if major-mode does not match value. - ~if-derived~ Enable if maj
[elpa] externals/transient 69584bf6b3 11/14: manual: Use @insertcopying
branch: externals/transient commit 69584bf6b3e11b70707fad0043a4697a70303e9b Author: Jonas Bernoulli Commit: Jonas Bernoulli manual: Use @insertcopying --- docs/transient.org | 13 + docs/transient.texi | 15 +-- 2 files changed, 2 insertions(+), 26 deletions(-) diff --git a/docs/transient.org b/docs/transient.org index 960160c7a0..d53c05d00b 100644 --- a/docs/transient.org +++ b/docs/transient.org @@ -34,19 +34,8 @@ but suffix commands can also be configured to not exit the transient. #+texinfo: @noindent This manual is for Transient version 0.3.7-git. -#+begin_quote -Copyright (C) 2018-{{{year}}} Free Software Foundation, Inc. - -You can redistribute this document and/or modify it under the terms -of the GNU General Public License as published by the Free Software -Foundation, either version 3 of the License, or (at your option) any -later version. +#+texinfo: @insertcopying -This document is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. -#+end_quote :END: * Introduction diff --git a/docs/transient.texi b/docs/transient.texi index ef75d983c4..e57017c0f4 100644 --- a/docs/transient.texi +++ b/docs/transient.texi @@ -67,20 +67,7 @@ but suffix commands can also be configured to not exit the transient. @noindent This manual is for Transient version 0.3.7-git. -@quotation -Copyright (C) 2018-2022 Free Software Foundation, Inc. - -You can redistribute this document and/or modify it under the terms -of the GNU General Public License as published by the Free Software -Foundation, either version 3 of the License, or (at your option) any -later version. - -This document is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE@. See the GNU -General Public License for more details. - -@end quotation +@insertcopying @end ifnottex @menu
[elpa] externals/transient 1be2b72980 08/14: manual: Use verbatim instead of code in diagram legends
branch: externals/transient commit 1be2b7298045cae7e9987773fd848690b239337a Author: Jonas Bernoulli Commit: Jonas Bernoulli manual: Use verbatim instead of code in diagram legends --- docs/transient.org | 12 ++-- docs/transient.texi | 12 ++-- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/transient.org b/docs/transient.org index 1aa7e45a92..7ff257bc65 100644 --- a/docs/transient.org +++ b/docs/transient.org @@ -1886,10 +1886,10 @@ prefix arguments, they are also quite different and much more complex. The following diagrams illustrate some of the differences. -- ~(c)~ represents a return to the command loop. -- ~(+)~ represents the user's choice to press one key or another. -- ~{WORD}~ are possible behaviors. -- ~{NUMBER}~ is a footnote. +- =(c)= represents a return to the command loop. +- =(+)= represents the user's choice to press one key or another. +- ={WORD}= are possible behaviors. +- ={NUMBER}= is a footnote. *** Regular Prefix Commands :PROPERTIES: @@ -2068,7 +2068,7 @@ and also takes external state into account. `--> {exit} --> (c) #+end_example -- ~{1}~ Transients can be configured to be exited when a suffix command +- ={1}= Transients can be configured to be exited when a suffix command is invoked. The default is to do so for all suffixes except for those that are common to all transients and which are used to perform tasks such as providing help and saving the value of the @@ -2076,7 +2076,7 @@ and also takes external state into account. specified for individual suffix commands and may even depend on state. -- ~{2}~ Transients can be configured to allow the user to invoke +- ={2}= Transients can be configured to allow the user to invoke non-suffix commands. The default is to not allow that and instead warn the user. diff --git a/docs/transient.texi b/docs/transient.texi index 5e0e0f1847..2df8215c1d 100644 --- a/docs/transient.texi +++ b/docs/transient.texi @@ -2209,13 +2209,13 @@ The following diagrams illustrate some of the differences. @itemize @item -@code{(c)} represents a return to the command loop. +@samp{(c)} represents a return to the command loop. @item -@code{(+)} represents the user's choice to press one key or another. +@samp{(+)} represents the user's choice to press one key or another. @item -@code{@{WORD@}} are possible behaviors. +@samp{@{WORD@}} are possible behaviors. @item -@code{@{NUMBER@}} is a footnote. +@samp{@{NUMBER@}} is a footnote. @end itemize @anchor{Regular Prefix Commands} @@ -2391,7 +2391,7 @@ and also takes external state into account. @itemize @item -@code{@{1@}} Transients can be configured to be exited when a suffix command +@samp{@{1@}} Transients can be configured to be exited when a suffix command is invoked. The default is to do so for all suffixes except for those that are common to all transients and which are used to perform tasks such as providing help and saving the value of the @@ -2400,7 +2400,7 @@ specified for individual suffix commands and may even depend on state. @item -@code{@{2@}} Transients can be configured to allow the user to invoke +@samp{@{2@}} Transients can be configured to allow the user to invoke non-suffix commands. The default is to not allow that and instead warn the user. @end itemize
[elpa] externals/transient 3ff531ba13 06/14: manual: Use "verbatim" emphasis markers
branch: externals/transient commit 3ff531ba13619883e0aee0ab61db61a62b10cb1f Author: Jonas Bernoulli Commit: Jonas Bernoulli manual: Use "verbatim" emphasis markers --- docs/transient.org | 6 +++--- docs/transient.texi | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/transient.org b/docs/transient.org index c28a675e2c..34c24d7ba4 100644 --- a/docs/transient.org +++ b/docs/transient.org @@ -1067,8 +1067,8 @@ argument that is mandatory in all cases. used. 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 + guessed based on the long argument. If the argument ends with === + (e.g., =--format==) then ~transient-option~ is used, otherwise ~transient-switch~. Finally, details can be specified using optional {{{var(KEYWORD-VALUE)}}} pairs. @@ -1558,7 +1558,7 @@ object should not affect later invocations. - The ~transient-switches~ class can be used for a set of mutually exclusive command-line switches. -- The ~transient-files~ class can be used for a "--" argument that +- The ~transient-files~ class can be used for a =--= argument that indicates that all remaining arguments are files. - Classes used for infix commands that represent variables should diff --git a/docs/transient.texi b/docs/transient.texi index 01a15afabd..a821e7af79 100644 --- a/docs/transient.texi +++ b/docs/transient.texi @@ -1268,8 +1268,8 @@ Only the long argument is displayed in the popup buffer. See used. 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 @code{transient-option} is used, otherwise +guessed based on the long argument. If the argument ends with @samp{=} +(e.g., @samp{--format=}) then @code{transient-option} is used, otherwise @code{transient-switch}. @end itemize @@ -1807,7 +1807,7 @@ The @code{transient-switches} class can be used for a set of mutually exclusive command-line switches. @item -The @code{transient-files} class can be used for a "--" argument that +The @code{transient-files} class can be used for a @samp{--} argument that indicates that all remaining arguments are files. @item
[elpa] externals/transient 9cd69ef226 07/14: manual: Use double quotation marks (U+201C and U+201D)
branch: externals/transient commit 9cd69ef226b43cd4a86fa98f16b4e67711543af3 Author: Jonas Bernoulli Commit: Jonas Bernoulli manual: Use double quotation marks (U+201C and U+201D) --- docs/transient.org | 96 ++--- docs/transient.texi | 96 ++--- 2 files changed, 96 insertions(+), 96 deletions(-) diff --git a/docs/transient.org b/docs/transient.org index 34c24d7ba4..1aa7e45a92 100644 --- a/docs/transient.org +++ b/docs/transient.org @@ -14,9 +14,9 @@ Taking inspiration from prefix keys and prefix arguments, Transient implements a similar abstraction involving a prefix command, infix arguments and suffix commands. We could call this abstraction a -"transient command", but because it always involves at least two +“transient command”, but because it always involves at least two commands (a prefix and a suffix) we prefer to call it just a -"transient". +“transient”. When the user calls a transient prefix command, a transient (temporary) keymap is activated, which binds the transient's infix @@ -53,9 +53,9 @@ General Public License for more details. Taking inspiration from prefix keys and prefix arguments, Transient implements a similar abstraction involving a prefix command, infix arguments and suffix commands. We could call this abstraction a -"transient command", but because it always involves at least two +“transient command”, but because it always involves at least two commands (a prefix and a suffix) we prefer to call it just a -"transient". +“transient”. #+cindex: transient prefix command #+begin_quote @@ -63,10 +63,10 @@ Transient keymaps are a feature provided by Emacs. Transients as implemented by this package involve the use of transient keymaps. Emacs provides a feature that it calls {{{dfn(prefix commands)}}}. When we -talk about "prefix commands" in this manual, then we mean our own kind -of "prefix commands", unless specified otherwise. To avoid ambiguity +talk about “prefix commands” in this manual, then we mean our own kind +of “prefix commands”, unless specified otherwise. To avoid ambiguity we sometimes use the terms {{{dfn(transient prefix command)}}} for our kind and -"regular prefix command" for Emacs' kind. +“regular prefix command” for Emacs' kind. #+end_quote When the user calls a transient prefix command, a transient @@ -116,14 +116,14 @@ looks a bit like this: #+begin_quote This is a simplified version of ~magit-tag~. Info manuals do not -support images or colored text, so the above "screenshot" lacks some +support images or colored text, so the above “screenshot” lacks some information; in practice you would be able to tell whether the 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 +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 from having to remember all the keys that are valid after a certain @@ -149,8 +149,8 @@ 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"), +not only on a global level (“this command was invoked using these +arguments, and previously it was invoked using those other arguments”), but also remembers the values of individual arguments independently. See [[*Using History]]. @@ -238,7 +238,7 @@ doc string. Like ~transient-quit-all~, this command quits an incomplete key sequence, if any, and all transients. Additionally, it saves the stack of transients so that it can easily be resumed (which is - particularly useful if you quickly need to do "something else" and + particularly useful if you quickly need to do “something else” and the stack is deeper than a single transient, and/or you have already changed the values of some infix arguments). @@ -262,7 +262,7 @@ as well as some other commands that are all bound to {{{kbdvar(C-x )}}}. A {{{kbd(C-x)}}} is pressed, a section featuring all these common commands is temporarily shown in the popup buffer. After invoking one of them, the section disappears again. Note however that one of these commands -is described as "Show common permanently"; invoke that if you want the +is described as “Show common permanently”; invoke that if you want the common commands to always be shown for all transients. -
[elpa] externals/transient a5562cbc8d 14/14: manual: Avoid texinfo complications
branch: externals/transient commit a5562cbc8d01fa6684487b71cf520cf348d10047 Author: Jonas Bernoulli Commit: Jonas Bernoulli manual: Avoid texinfo complications --- docs/transient.org | 7 --- docs/transient.texi | 7 --- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/docs/transient.org b/docs/transient.org index cf7ce4cf91..a6e6c35481 100644 --- a/docs/transient.org +++ b/docs/transient.org @@ -1432,7 +1432,7 @@ beginning of the class specification, e.g., ~[:class transient-columns ~transient-group~ (and therefore all groups) as well as of ~transient-suffix~ (and therefore all suffix and infix commands). - This class exists because the elements (aka “children”) of certain + This class exists because the elements (or “children”) of certain groups can be other groups instead of suffix and infix commands. - The abstract ~transient-group~ class is the superclass of all other @@ -2219,8 +2219,9 @@ while Magit-Popup used to bind {{{kbd(C-c C-c)}}} instead. I have seen several users praise the latter binding (sic), so I did not change it willy-nilly. The reason that I changed it is that using different prefix keys for different common commands, would have made the -temporary display of the common commands even more confusing, -i.e., after pressing {{{kbd(C-c)}}} all the {{{kbd(C-x ...)}}} bindings would be grayed out. +temporary display of the common commands even more confusing, i.e., +after pressing {{{kbd(C-c)}}} all the bindings that begin with the {{{kbd(C-x)}}} prefix +would be grayed out. Using a single prefix for common commands key means that all other potential prefix keys can be used for transient-specific commands diff --git a/docs/transient.texi b/docs/transient.texi index 183dd1f622..5ae15bb340 100644 --- a/docs/transient.texi +++ b/docs/transient.texi @@ -1664,7 +1664,7 @@ The abstract @code{transient-child} class is the base class of both @code{transient-group} (and therefore all groups) as well as of @code{transient-suffix} (and therefore all suffix and infix commands). -This class exists because the elements (aka “children”) of certain +This class exists because the elements (or “children”) of certain groups can be other groups instead of suffix and infix commands. @item @@ -2545,8 +2545,9 @@ while Magit-Popup used to bind @kbd{C-c C-c} instead. I have seen several users praise the latter binding (sic), so I did not change it willy-nilly. The reason that I changed it is that using different prefix keys for different common commands, would have made the -temporary display of the common commands even more confusing, -i.e., after pressing @kbd{C-c} all the @kbd{C-x @dots{}} bindings would be grayed out. +temporary display of the common commands even more confusing, i.e., +after pressing @kbd{C-c} all the bindings that begin with the @kbd{C-x} prefix +would be grayed out. Using a single prefix for common commands key means that all other potential prefix keys can be used for transient-specific commands
[elpa] externals/transient 2a47c3271b 12/14: manual: Include GPLv3 in appendix
branch: externals/transient commit 2a47c3271b9d834c8d8037302445eba02a82d950 Author: Jonas Bernoulli Commit: Jonas Bernoulli manual: Include GPLv3 in appendix --- docs/gpl.texi | 717 docs/transient.org | 6 + docs/transient.texi | 6 + 3 files changed, 729 insertions(+) diff --git a/docs/gpl.texi b/docs/gpl.texi new file mode 100644 index 00..c007dc0696 --- /dev/null +++ b/docs/gpl.texi @@ -0,0 +1,717 @@ +@c The GNU General Public License. +@center Version 3, 29 June 2007 + +@c This file is intended to be included within another document, +@c hence no sectioning command or @node. + +@display +Copyright @copyright{} 2007 Free Software Foundation, Inc. @url{https://fsf.org/} + +Everyone is permitted to copy and distribute verbatim copies of this +license document, but changing it is not allowed. +@end display + +@heading Preamble + +The GNU General Public License is a free, copyleft license for +software and other kinds of works. + +The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom +to share and change all versions of a program---to make sure it remains +free software for all its users. We, the Free Software Foundation, +use the GNU General Public License for most of our software; it +applies also to any other work released this way by its authors. You +can apply it to your programs, too. + +When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + +To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you +have certain responsibilities if you distribute copies of the +software, or if you modify it: responsibilities to respect the freedom +of others. + +For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, +receive or can get the source code. And you must show them these +terms so they know their rights. + +Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + +For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + +Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the +manufacturer can do so. This is fundamentally incompatible with the +aim of protecting users' freedom to change the software. The +systematic pattern of such abuse occurs in the area of products for +individuals to use, which is precisely where it is most unacceptable. +Therefore, we have designed this version of the GPL to prohibit the +practice for those products. If such problems arise substantially in +other domains, we stand ready to extend this provision to those +domains in future versions of the GPL, as needed to protect the +freedom of users. + +Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish +to avoid the special danger that patents applied to a free program +could make it effectively proprietary. To prevent this, the GPL +assures that patents cannot be used to render the program non-free. + +The precise terms and conditions for copying, distribution and +modification follow. + +@heading TERMS AND CONDITIONS + +@enumerate 0 +@item Definitions. + +``This License'' refers to version 3 of the GNU General Public License. + +``Copyright'' also means copyright-like laws that apply to other kinds +of works, such as semiconductor masks. + +``The Program'' refers to any copyrightable work licensed under this +License. Each licensee is addressed as ``you''. ``Licensees'' and +``recipients'' may be individuals or organizations. + +To ``modify'' a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of +an exact copy. The resulting wor
[elpa] externals/transient 3b267425c0: transient--fit-window-to-buffer: Use correct package prefix
branch: externals/transient commit 3b267425c0fe93a518a703d814cff3cf6a304a97 Author: Jonas Bernoulli Commit: Jonas Bernoulli transient--fit-window-to-buffer: Use correct package prefix --- lisp/transient.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lisp/transient.el b/lisp/transient.el index e823d9ba5d..8dce4d638d 100644 --- a/lisp/transient.el +++ b/lisp/transient.el @@ -3250,9 +3250,9 @@ have a history of their own.") (goto-char (point-min)) (when transient-enable-popup-navigation (transient--goto-button focus)) -(magit--fit-window-to-buffer transient--window) +(transient--fit-window-to-buffer transient--window) -(defun magit--fit-window-to-buffer (window) +(defun transient--fit-window-to-buffer (window) (let ((window-resize-pixelwise t) (window-size-fixed nil)) (if (eq (car (window-parameter window 'quit-restore)) 'other)
[elpa] externals/transient 8e5c384484 1/2: manual: Drop an empty line
branch: externals/transient commit 8e5c384484a6808370336f6ce4a56e1c9729db54 Author: Jonas Bernoulli Commit: Jonas Bernoulli manual: Drop an empty line --- docs/transient.org | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/transient.org b/docs/transient.org index a6e6c35481..d084b35ab7 100644 --- a/docs/transient.org +++ b/docs/transient.org @@ -35,7 +35,6 @@ but suffix commands can also be configured to not exit the transient. This manual is for Transient version 0.3.7-git. #+texinfo: @insertcopying - :END: * Introduction
[elpa] externals/transient updated (3b267425c0 -> 6b9c93af9c)
tarsius pushed a change to branch externals/transient. from 3b267425c0 transient--fit-window-to-buffer: Use correct package prefix new 8e5c384484 manual: Drop an empty line new 6b9c93af9c make: Print message for texi target Summary of changes: docs/Makefile | 1 + docs/transient.org | 1 - 2 files changed, 1 insertion(+), 1 deletion(-)
[elpa] externals/transient 6b9c93af9c 2/2: make: Print message for texi target
branch: externals/transient commit 6b9c93af9c1d1646be4445656c46ee9390c9f129 Author: Jonas Bernoulli Commit: Jonas Bernoulli make: Print message for texi target --- docs/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/Makefile b/docs/Makefile index 254813d204..1e2385bc2a 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -14,6 +14,7 @@ ORG_EVAL += --funcall org-texinfo-export-to-texinfo .PHONY: texi texi: + @printf "Generating $(PKG).texi\n" @$(EMACS) $(ORG_ARGS) $(PKG).org $(ORG_EVAL) @printf "\n" >> $(PKG).texi @rm -f $(PKG).texi~
[elpa] main ae9243c122: * elpa-packages (transient): Update location of :news file
branch: main commit ae9243c12203c37a0acbbb4919a5d3ff96555314 Author: Jonas Bernoulli Commit: Jonas Bernoulli * elpa-packages (transient): Update location of :news file That is where it is located in all my other repositories that have such a file. Consistency simplifies tooling. --- elpa-packages | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/elpa-packages b/elpa-packages index 7d006e9af5..998f6cb542 100644 --- a/elpa-packages +++ b/elpa-packages @@ -541,7 +541,7 @@ ("transient" :url "https://github.com/magit/transient"; :lisp-dir "lisp" :renames (("docs/" "")) - :news "docs/CHANGELOG" + :news "CHANGELOG" :doc "docs/transient.texi") ("trie" :url "http://www.dr-qubit.org/git/predictive.git";) ("undo-tree" :url "https://gitlab.com/tsc25/undo-tree";)
[elpa] externals/transient updated (440a341831 -> 95145311b8)
tarsius pushed a change to branch externals/transient. from 440a341831 Hardcode version string for now new b5f451ecb6 Sync .orgconfig with that of other packages new 95145311b8 Move CHANGELOG file to top-level Summary of changes: docs/CHANGELOG => CHANGELOG | 0 docs/.orgconfig | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename docs/CHANGELOG => CHANGELOG (100%)
[elpa] externals/transient 95145311b8 2/2: Move CHANGELOG file to top-level
branch: externals/transient commit 95145311b8c59ebdada7b3c13c150c056837c698 Author: Jonas Bernoulli Commit: Jonas Bernoulli Move CHANGELOG file to top-level That is where it is located in all my other repositories that have such a file. Consistency simplifies tooling. --- docs/CHANGELOG => CHANGELOG | 0 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/CHANGELOG b/CHANGELOG similarity index 100% rename from docs/CHANGELOG rename to CHANGELOG
[elpa] externals/transient b5f451ecb6 1/2: Sync .orgconfig with that of other packages
branch: externals/transient commit b5f451ecb681b7cdb74f4ce36bb8757dff03cdeb Author: Jonas Bernoulli Commit: Jonas Bernoulli Sync .orgconfig with that of other packages These changes don't make a difference here. Consistency is good. --- docs/.orgconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/.orgconfig b/docs/.orgconfig index 06952a1375..138fae42e2 100644 --- a/docs/.orgconfig +++ b/docs/.orgconfig @@ -1,6 +1,6 @@ # -*- mode:org -*- -#+options: H:4 num:4 toc:2 +#+options: H:4 num:3 toc:2 compact-itemx:t #+property: header-args :eval never #+macro: kbd (eval (let ((case-fold-search nil) (regexp (regexp-opt '("SPC" "RET" "LFD" "TAB" "BS" "ESC" "DELETE" "SHIFT" "Ctrl" "Meta" "Alt" "Cmd" "Super" "UP" "LEFT" "RIGHT" "DOWN") 'words))) (format "@@texinfo:@kbd{@@%s@@texinfo:}@@" (replace-regexp-in-string regexp "@@texinfo:@key{@@\\&@@texinfo:}@@" $1 t
[elpa] externals/transient 1f1e377097: manual: Fix typos
branch: externals/transient commit 1f1e37709726fc945ecd03336223247a0595e811 Author: Jonas Bernoulli Commit: Jonas Bernoulli manual: Fix typos --- docs/transient.org | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/transient.org b/docs/transient.org index ab852346bb..95423c5156 100644 --- a/docs/transient.org +++ b/docs/transient.org @@ -565,7 +565,7 @@ Also see [[* Common Suffix Commands]]. :UNNUMBERED: notoc :END: -- User Option: transient-force-single-column +- User Option: transient-force-single-column :: This option controls whether the use of a single column to display suffixes is enforced. This might be useful for users with low @@ -665,7 +665,7 @@ Also see [[* Common Suffix Commands]]. - User Option: transient-align-variable-pitch :: - This option controls whether columns are align pixel-wise in the + 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 @@ -708,8 +708,8 @@ These options are mainly intended for developers. - User Option: transient-highlight-higher-levels :: - This option controls whether to suffixes suffixes that would not - be available by default are highlighted. + 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 their level is above 4, the default of ~transient-default-level~.
[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 spec
[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~.
[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
[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 availab
[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 tha
[elpa] externals/transient 7c771c94c8: Do not let-bind overriding-terminal-local-map to nil
branch: externals/transient commit 7c771c94c8fc31d859c1e083bf32fbce403f4766 Author: Jonas Bernoulli Commit: Jonas Bernoulli Do not let-bind overriding-terminal-local-map to nil Previously we let-bound `overriding-terminal-local-map' to nil in `transient-infix-read', which is not only unnecessary (because we temporarily remove the transient map through other means). When the debugger is active and an error is signaled while the binding is active, this resulted in the transient map being restored after exiting the debugger. --- lisp/transient.el | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lisp/transient.el b/lisp/transient.el index c5a10c5270..d5bc08b584 100644 --- a/lisp/transient.el +++ b/lisp/transient.el @@ -2738,8 +2738,7 @@ it\", in which case it is pointless to preserve history.)" (not always-read) transient--prefix) (oset obj value nil) - (let* ((overriding-terminal-local-map nil) - (enable-recursive-minibuffers t) + (let* ((enable-recursive-minibuffers t) (reader (oref obj reader)) (prompt (transient-prompt obj)) (value (if multi-value (mapconcat #'identity value ",") value))
[elpa] externals/transient 08ebdbc85d 02/17: manual: Mention more additions since last release
branch: externals/transient commit 08ebdbc85d8733bec30ec9b2152358be213f4dde Author: Jonas Bernoulli Commit: Jonas Bernoulli manual: Mention more additions since last release --- docs/transient.org | 16 docs/transient.texi | 18 ++ 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/docs/transient.org b/docs/transient.org index 722b817187..27b2505866 100644 --- a/docs/transient.org +++ b/docs/transient.org @@ -316,6 +316,10 @@ but it is easily accessible (see [[*Using History]]). Save the value of the active transient persistently across Emacs sessions. +- Key: C-x C-k (transient-save) :: + + Clear the set and saved value of the active transient. + - User Option: transient-values-file :: This option names the file that is used to persist the values of @@ -1673,10 +1677,10 @@ functions use ~describe-function~. ** Prefix Slots -- ~man-page~ or ~info-manual~ can be used to specify the documentation for - the prefix and its suffixes. The command ~transient-help~ uses the - method ~transient-show-help~ (which see) to lookup and use these - values. +- ~show-help~, ~man-page~ or ~info-manual~ can be used to specify the + documentation for the prefix and its suffixes. The command + ~transient-help~ uses the method ~transient-show-help~ (which see) to + lookup and use these values. - ~history-key~ If multiple prefix commands should share a single value, then this slot has to be set to the same value for all of them. You @@ -1753,6 +1757,10 @@ Also see [[*Suffix Classes]]. - ~description~ The description, either a string or a function that is called with no argument and returns a string. +- ~show-help~ A function used to display help for the suffix. If + unspecified, the prefix controls how hlep is displayed for its + suffixes. + *** Slots of ~transient-infix~ :PROPERTIES: :UNNUMBERED: notoc diff --git a/docs/transient.texi b/docs/transient.texi index 776da46c6b..d263178e37 100644 --- a/docs/transient.texi +++ b/docs/transient.texi @@ -458,6 +458,11 @@ session. @findex transient-save Save the value of the active transient persistently across Emacs sessions. + +@item @kbd{C-x C-k} (@code{transient-save}) +@kindex C-x C-k +@findex transient-save +Clear the set and saved value of the active transient. @end table @defopt transient-values-file @@ -1931,10 +1936,10 @@ the command's doc string. @itemize @item -@code{man-page} or @code{info-manual} can be used to specify the documentation for -the prefix and its suffixes. The command @code{transient-help} uses the -method @code{transient-show-help} (which see) to lookup and use these -values. +@code{show-help}, @code{man-page} or @code{info-manual} can be used to specify the +documentation for the prefix and its suffixes. The command +@code{transient-help} uses the method @code{transient-show-help} (which see) to +lookup and use these values. @item @code{history-key} If multiple prefix commands should share a single value, @@ -2029,6 +2034,11 @@ It must contain the following %-placeholders: @item @code{description} The description, either a string or a function that is called with no argument and returns a string. + +@item +@code{show-help} A function used to display help for the suffix. If +unspecified, the prefix controls how hlep is displayed for its +suffixes. @end itemize @anchor{Slots of @code{transient-infix}}
[elpa] externals/transient 45ef6df3fb 03/17: Update changelog
branch: externals/transient commit 45ef6df3fbc7f4fc87fd0db20b48334f61b521e0 Author: Jonas Bernoulli Commit: Jonas Bernoulli Update changelog --- CHANGELOG | 56 1 file changed, 56 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index 61e01b27f8..2484e88fe2 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,4 +1,60 @@ # -*- mode: org -*- +* v0.4.0UNRELEASED + +- Compatibility of transient with various uses of the minibuffer has + been greatly improved, addressing several edge-cases and making it + possible to invoke a transient prefix command when the minibuffer + is active. 7b8a7d71 et al. + +- Each prefix and suffix can now have its own help function. This is + configured using the new ~show-help~ slot. ea5ac99f + +- The ~transient-options~ now supports two types of options that can + have multiple values: repeated option-value pairs and a final option + that takes all remaining arguments as value. #154 + +- Added support for the use of non-proportional text in the transient + popup. 7f5520b3 + +- Imenu was taught about Transient's definition macros. #178 + +- It is now possible to return to the parent prefix from a sub-prefix. + e90f7a16 + +- Boolean values of the ~transient~ slot of sub-prefixes are now + interpreted correctly. 4a36b1d9 + +- Added new option ~transient-hide-during-minibuffer-read~. 5762bd9a + +- Added new option ~transient-align-variable-pitch~. cda6a120 + +- Added new command ~transient-reset~, which clears the set and saved + value of the active transient. 51585b8d + +- When using Emacs 28, ~execute-extended-command~ can be told to ignore + transient infix commands. Even when using that Emacs version that + command does not ignore any commands by default, but this behaviour + can be easily be enabled using: + +(setq read-extended-command-predicate + 'command-completion-default-include-p) + +- Added new command ~transient-toggle-debug~. b466cd9a + +- Expressions inside the group vectors that are prefixed with a comma + are now evaluated when the ~transient-define-prefix~ macro is expanded. + 99943f73 + +Bug fixes: + +- 938b0591 #173 transient--show: Set point after displaying window again +- c26cbac5 #181 transient-{init,set}-value: Use case-sensitive matching +- 28491e1f Properly deal with stealth undefined command +- 714e3482 No longer always suspend when handle-switch-frame is called +- 0f39af0e #188 transient-format-description: Use cl-call-next-method + +Also contains various documentation updates and code clean-ups. + * v0.3.72021-10-25 - Added an additional safety hatch to prevent Emacs from entering an
[elpa] externals/transient 8d28d6ca5c 01/17: transient-reset: Fix docstring typo
branch: externals/transient commit 8d28d6ca5c34f1543aee47a5314a84e725cbe146 Author: Jonas Bernoulli Commit: Jonas Bernoulli transient-reset: Fix docstring typo --- lisp/transient.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/transient.el b/lisp/transient.el index d5bc08b584..4bf3dd093f 100644 --- a/lisp/transient.el +++ b/lisp/transient.el @@ -2522,7 +2522,7 @@ transient is active." (transient-save-value (or transient--prefix transient-current-prefix))) (defun transient-reset () - "Clear the set and save value of the active transient." + "Clear the set and saved value of the active transient." (interactive) (transient-reset-value (or transient--prefix transient-current-prefix)))
[elpa] externals/transient updated (7c771c94c8 -> 132090a4b6)
tarsius pushed a change to branch externals/transient. from 7c771c94c8 Do not let-bind overriding-terminal-local-map to nil new 8d28d6ca5c transient-reset: Fix docstring typo new 08ebdbc85d manual: Mention more additions since last release new 45ef6df3fb Update changelog new af49fd9447 Use more function quotes new 8bd182c2de Add ignore rules for ELPA new da97c6d18a Revert most of "Use more function quotes" new 017eb7b3cb Explicitly define generic functions new 0619c7ef19 Automatically publish statistics new ecf340cbff make: Set GITSTATS new 31d355b596 transient-set-level: Refresh shown levels after setting one new 06697f75ac Only use this-original-command when necessary new dd67ff9061 transient--do-pre-command: New function new bb056e7156 Invoke suffix commands directly when a button is pushed new 98d5020238 transient-popup-navigation-map: No longer bind C-p and C-n new 5c746f3146 No longer consider popup navigation a secondary feature new 75a44f5058 transient-enable-popup-navigation: Improve docstring new 132090a4b6 transient-enable-popup-navigation: Enable by default Summary of changes: .github/workflows/stats.yml | 18 ++ .gitignore | 4 ++ CHANGELOG | 56 + Makefile| 10 ++- default.mk | 1 + docs/Makefile | 18 -- docs/transient.org | 16 +++-- docs/transient.texi | 18 -- lisp/transient.el | 150 +--- 9 files changed, 210 insertions(+), 81 deletions(-) create mode 100644 .github/workflows/stats.yml
[elpa] externals/transient 8bd182c2de 05/17: Add ignore rules for ELPA
branch: externals/transient commit 8bd182c2de7c34734bdb685065e6161e2d128064 Author: Stefan Monnier Commit: Jonas Bernoulli Add ignore rules for ELPA --- .gitignore | 4 1 file changed, 4 insertions(+) diff --git a/.gitignore b/.gitignore index ab2f77e0ef..07644fb0a7 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,7 @@ /lisp/*.elc /docs/transient/ + +# For ELPA: +/*-autoloads.el +/*-pkg.el
[elpa] externals/transient 017eb7b3cb 07/17: Explicitly define generic functions
branch: externals/transient commit 017eb7b3cb631bb432066539c459bfa96afa0543 Author: Jonas Bernoulli Commit: Jonas Bernoulli Explicitly define generic functions The byte-compiler of Emacs 29 went completely berserk and so I learned that it recently stopped being possible to define a method for a (previously undefined) function without first explicitly declaring it as a generic function. --- lisp/transient.el | 11 ++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lisp/transient.el b/lisp/transient.el index 31b79947de..5aa7b6e6fb 100644 --- a/lisp/transient.el +++ b/lisp/transient.el @@ -2522,7 +2522,7 @@ transient is active." (transient-save-value (or transient--prefix transient-current-prefix))) (defun transient-reset () - "Clear the set and saved value of the active transient." + "Clear the set and saved values of the active transient." (interactive) (transient-reset-value (or transient--prefix transient-current-prefix))) @@ -2916,12 +2916,18 @@ prompt." (transient-infix-set obj nil) (cl-call-next-method obj value +(cl-defgeneric transient-set-value (obj) + "Set the value of the transient prefix OBJ.") + (cl-defmethod transient-set-value ((obj transient-prefix)) (oset (oref obj prototype) value (transient-get-value)) (transient--history-push obj)) Save +(cl-defgeneric transient-save-value (obj) + "Save the value of the transient prefix OBJ.") + (cl-defmethod transient-save-value ((obj transient-prefix)) (let ((value (transient-get-value))) (oset (oref obj prototype) value value) @@ -2931,6 +2937,9 @@ prompt." Reset +(cl-defgeneric transient-reset-value (obj) + "Clear the set and saved values of the transient prefix OBJ.") + (cl-defmethod transient-reset-value ((obj transient-prefix)) (let ((value (transient-default-value obj))) (oset obj value value)
[elpa] externals/transient af49fd9447 04/17: Use more function quotes
branch: externals/transient commit af49fd94475ce031b2f08a04d0e3b6a90aba80b6 Author: Stefan Monnier Commit: Jonas Bernoulli Use more function quotes --- lisp/transient.el | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lisp/transient.el b/lisp/transient.el index 4bf3dd093f..5f0d26bb25 100644 --- a/lisp/transient.el +++ b/lisp/transient.el @@ -69,11 +69,11 @@ (defvar Man-notify-method) (define-obsolete-function-alias 'define-transient-command - 'transient-define-prefix "Transient 0.3.0") + #'transient-define-prefix "Transient 0.3.0") (define-obsolete-function-alias 'define-suffix-command - 'transient-define-suffix "Transient 0.3.0") + #'transient-define-suffix "Transient 0.3.0") (define-obsolete-function-alias 'define-infix-command - 'transient-define-infix "Transient 0.3.0") + #'transient-define-infix "Transient 0.3.0") (define-obsolete-function-alias 'define-infix-argument #'transient-define-argument "Transient 0.3.0") @@ -2105,7 +2105,7 @@ value. Otherwise return CHILDREN as is." (defun transient--post-command-hook () (run-hooks 'transient--post-command-hook)) -(add-hook 'post-command-hook 'transient--post-command-hook) +(add-hook 'post-command-hook #'transient--post-command-hook) (defun transient--delay-post-command (&optional abort-only) (transient--debug 'delay-post-command)
[elpa] externals/transient da97c6d18a 06/17: Revert most of "Use more function quotes"
branch: externals/transient commit da97c6d18ae78cc5cedb284cd6ee6cef16511e7d Author: Jonas Bernoulli Commit: Jonas Bernoulli Revert most of "Use more function quotes" This reverts most of commit af49fd94475ce031b2f08a04d0e3b6a90aba80b6. The byte-compiler doesn't like it; and I don't like having to define variable aliases early and function aliases late. --- lisp/transient.el | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lisp/transient.el b/lisp/transient.el index 5f0d26bb25..31b79947de 100644 --- a/lisp/transient.el +++ b/lisp/transient.el @@ -69,11 +69,11 @@ (defvar Man-notify-method) (define-obsolete-function-alias 'define-transient-command - #'transient-define-prefix "Transient 0.3.0") + 'transient-define-prefix "Transient 0.3.0") (define-obsolete-function-alias 'define-suffix-command - #'transient-define-suffix "Transient 0.3.0") + 'transient-define-suffix "Transient 0.3.0") (define-obsolete-function-alias 'define-infix-command - #'transient-define-infix "Transient 0.3.0") + 'transient-define-infix "Transient 0.3.0") (define-obsolete-function-alias 'define-infix-argument #'transient-define-argument "Transient 0.3.0")
[elpa] externals/transient bb056e7156 13/17: Invoke suffix commands directly when a button is pushed
branch: externals/transient commit bb056e7156b3d88f42770ec55e1a7447a95aca96 Author: Jonas Bernoulli Commit: Jonas Bernoulli Invoke suffix commands directly when a button is pushed Using wrapper commands that call `pust-button' messed things up because the latter selects the window where the user clicked, which we very much want to avoid doing. --- lisp/transient.el | 61 +++ 1 file changed, 35 insertions(+), 26 deletions(-) diff --git a/lisp/transient.el b/lisp/transient.el index 8d8c24413f..6cbb55b63d 100644 --- a/lisp/transient.el +++ b/lisp/transient.el @@ -1599,7 +1599,7 @@ to `transient-predicate-map'. Also see `transient-base-map'.") (define-key map [scroll-bar-toolkit-scroll] #'transient--do-stay) (define-key map [transient-noop] #'transient--do-noop) (define-key map [transient-mouse-push-button] #'transient--do-move) -(define-key map [transient-push-button] #'transient--do-move) +(define-key map [transient-push-button] #'transient--do-push-button) (define-key map [transient-backward-button] #'transient--do-move) (define-key map [transient-forward-button]#'transient--do-move) (define-key map [transient-isearch-backward] #'transient--do-move) @@ -2314,6 +2314,21 @@ If there is no parent prefix, then behave like `transient--do-exit'." (transient--stack-zap) transient--exit) +(defun transient--do-push-button () + "Call the command represented by the activated button. +Use that command's pre-command to determine transient behavior." + (if (and (mouse-event-p last-command-event) + (not (eq (posn-window (event-start last-command-event)) +transient--window))) + transient--stay +(setq this-command + (with-selected-window transient--window +(get-text-property (if (mouse-event-p last-command-event) + (posn-point (event-start last-command-event)) + (point)) + 'command))) +(transient--do-pre-command))) + (defun transient--do-recurse () "Call the transient prefix command, preparing for return to active transient. If there is no parent prefix, then just call the command." @@ -2568,6 +2583,10 @@ around `scroll-down-command' (which see)." (with-selected-window transient--window (scroll-down-command arg))) +(defun transient-push-button () + "Invoke the suffix command represented by this button." + (interactive)) + (defun transient-resume () "Resume a previously suspended stack of transients." (interactive) @@ -3711,37 +3730,27 @@ resumes the suspended transient.") (message "This command is only available if `%s' is non-nil" 'transient-enable-popup-navigation)) -(define-button-type 'transient-button - 'face nil - 'action (lambda (button) -(let ((command (button-get button 'command))) - (setq this-command command) - (transient--pre-command) - (call-interactively command - (defvar transient-popup-navigation-map (let ((map (make-sparse-keymap))) (define-key map (kbd "") #'transient-noop) -(define-key map (kbd "") #'transient-mouse-push-button) -(define-key map (kbd "RET") #'transient-push-button) -(define-key map (kbd "") #'transient-backward-button) -(define-key map (kbd "C-p") #'transient-backward-button) -(define-key map (kbd "")#'transient-forward-button) -(define-key map (kbd "C-n") #'transient-forward-button) -(define-key map (kbd "C-r") #'transient-isearch-backward) -(define-key map (kbd "C-s") #'transient-isearch-forward) +(define-key map (kbd "") #'transient-backward-button) +(define-key map (kbd "C-p")#'transient-backward-button) +(define-key map (kbd "") #'transient-forward-button) +(define-key map (kbd "C-n")#'transient-forward-button) +(define-key map (kbd "C-r")#'transient-isearch-backward) +(define-key map (kbd "C-s")#'transient-isearch-forward) map)) -(defun transient-mouse-push-button (&optional pos) - "Invoke the suffix the user clicks on." - (interactive (list last-command-event)) - (push-button pos)) +(defvar transient-button-map + (let ((map (make-sparse-keymap))) +(define-key map (kbd "") #'transient-push-button) +(define-key map (kbd "") #'transient-push-button) +(define-key map (kbd "RET") #'transient-push-button) +map)) -(defun transient-push-button () - "Invoke the selected suffix command." - (interactive) - (with-selected-window transient--window -(push-button))) +(define-button-type 'transient-button + 'face nil + 'keymap transient-button-map) (defun transient-backward-button (n) "Move to the previous button in the transient popup buffer.
[elpa] externals/transient 0619c7ef19 08/17: Automatically publish statistics
branch: externals/transient commit 0619c7ef198349c11c8ef598c7caa741b3c4c9b0 Author: Jonas Bernoulli Commit: Jonas Bernoulli Automatically publish statistics --- .github/workflows/stats.yml | 18 ++ Makefile| 10 +++--- docs/Makefile | 18 +- 3 files changed, 38 insertions(+), 8 deletions(-) diff --git a/.github/workflows/stats.yml b/.github/workflows/stats.yml new file mode 100644 index 00..96f261b489 --- /dev/null +++ b/.github/workflows/stats.yml @@ -0,0 +1,18 @@ +name: stats +on: + push: +branches: master +jobs: + manual: +name: "Generate and distribute statistics" +runs-on: ubuntu-latest +steps: + - name: Install gitstats +uses: magit/actions/install-gitstats@main + - name: Generate statistics +uses: magit/actions/stats-generate@main + - name: Publish statistics +uses: magit/actions/stats-publish@main +with: + key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + secret: ${{ secrets.AWS_SECRET_ACCESS_KEY }} diff --git a/Makefile b/Makefile index 623c3486ad..2117e62215 100644 --- a/Makefile +++ b/Makefile @@ -14,9 +14,10 @@ help: $(info make html - generate html manual file) $(info make html-dir - generate html manual directory) $(info make pdf - generate pdf manual) - $(info make stats- generate statistics) $(info make publish - publish snapshot manuals) $(info make release - publish release manuals) + $(info make stats- generate statistics) + $(info make stats-upload - publish statistics) $(info make clean- remove most generated files) @printf "\n" @@ -35,14 +36,17 @@ html-dir: @$(MAKE) -C docs html-dir pdf: @$(MAKE) -C docs pdf -stats: - @$(MAKE) -C docs stats publish: @$(MAKE) -C docs publish release: @$(MAKE) VERSION=$(VERSION) -C docs release +stats: + @$(MAKE) -C docs stats +stats-upload: + @$(MAKE) -C docs stats-upload + clean: @$(MAKE) -C lisp clean @$(MAKE) -C docs clean diff --git a/docs/Makefile b/docs/Makefile index 15c20aa42d..c0b03ded5f 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -52,11 +52,6 @@ html-dir: $(PKG).texi @printf "Generating $@\n" @texi2pdf --clean $< > /dev/null -.PHONY: stats -stats: - @printf "Generating statistics\n" - @gitstats $(GITSTATS_ARGS) $(TOP) $(GITSTATS_DIR) - PUBLISH_PATH ?= /manual/ RELEASE_PATH ?= /manual/$(VERSION)/ S3_BUCKET ?= s3://$(DOMAIN) @@ -86,6 +81,19 @@ release: html html-dir pdf @aws cloudfront create-invalidation --distribution-id $(CFRONT_DIST) --paths \ "$(subst $(space),$(comma),$(addprefix $(RELEASE_PATH),$(CFRONT_PATHS)))" > /dev/null +.PHONY: stats +stats: + @printf "Generating statistics\n" + @$(GITSTATS) $(GITSTATS_ARGS) $(TOP) $(GITSTATS_DIR) + +stats-upload: + @printf "Uploading statistics...\n" + @aws s3 sync $(GITSTATS_DIR) $(S3_BUCKET)/stats/$(PKG) + @printf "Uploaded to $(S3_BUCKET)/stats/$(PKG)\n" + @printf "Generating CDN invalidation\n" + @aws cloudfront create-invalidation \ + --distribution-id $(CFRONT_DIST) --paths "/stats/*" > /dev/null + CLEAN = $(PKG).info dir $(PKG) $(PKG).html $(PKG).pdf clean:
[elpa] externals/transient 132090a4b6 17/17: transient-enable-popup-navigation: Enable by default
branch: externals/transient commit 132090a4b6d65603a09e33113f6dbd9a1131e38e Author: Jonas Bernoulli Commit: Jonas Bernoulli transient-enable-popup-navigation: Enable by default --- lisp/transient.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lisp/transient.el b/lisp/transient.el index 7cb8714107..8017afefce 100644 --- a/lisp/transient.el +++ b/lisp/transient.el @@ -131,7 +131,7 @@ (const :tag "on demand (no summary)" 0) (number :tag "after delay" 1))) -(defcustom transient-enable-popup-navigation nil +(defcustom transient-enable-popup-navigation t "Whether navigation commands are enabled in the transient popup. While a transient is active the transient popup buffer is not the @@ -151,7 +151,7 @@ bindings are available: Each of these bindings is defined in either `transient-button-map' or `transient-popup-navigation-map'." - :package-version '(transient . "0.2.0") + :package-version '(transient . "0.4.0") :group 'transient :type 'boolean)
[elpa] externals/transient ecf340cbff 09/17: make: Set GITSTATS
branch: externals/transient commit ecf340cbfff8434ad00a26b408bd3587a10ef59b Author: Jonas Bernoulli Commit: Jonas Bernoulli make: Set GITSTATS --- default.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/default.mk b/default.mk index eb1a74d17c..1a6ad9ee66 100644 --- a/default.mk +++ b/default.mk @@ -26,5 +26,6 @@ INSTALL_INFO ?= $(shell command -v ginstall-info || printf install-info) MAKEINFO ?= makeinfo MANUAL_HTML_ARGS ?= --css-ref /assets/page.css +GITSTATS ?= gitstats GITSTATS_DIR ?= $(TOP)docs/stats GITSTATS_ARGS ?= -c style=https://magit.vc/assets/stats.css -c max_authors=999
[elpa] externals/transient dd67ff9061 12/17: transient--do-pre-command: New function
branch: externals/transient commit dd67ff906198d28439bfec71ecba98edbed55321 Author: Jonas Bernoulli Commit: Jonas Bernoulli transient--do-pre-command: New function --- lisp/transient.el | 26 ++ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/lisp/transient.el b/lisp/transient.el index 059c3af0a3..8d8c24413f 100644 --- a/lisp/transient.el +++ b/lisp/transient.el @@ -1989,20 +1989,22 @@ value. Otherwise return CHILDREN as is." (setq this-command 'transient-set-level)) (t (setq transient--exitp nil) - (when (eq (if-let ((fn (transient--get-predicate-for this-command))) -(let ((action (funcall fn))) - (when (eq action transient--exit) -(setq transient--exitp (or transient--exitp t))) - action) - (if (let ((keys (this-command-keys-vector))) -(eq (aref keys (1- (length keys))) ?\C-g)) - (setq this-command 'transient-noop) -(unless (transient--edebug-command-p) - (setq this-command 'transient-undefined))) - transient--stay) -transient--exit) + (when (eq (transient--do-pre-command) transient--exit) (transient--pre-exit)) +(defun transient--do-pre-command () + (if-let ((fn (transient--get-predicate-for this-command))) + (let ((action (funcall fn))) +(when (eq action transient--exit) + (setq transient--exitp (or transient--exitp t))) +action) +(if (let ((keys (this-command-keys-vector))) + (eq (aref keys (1- (length keys))) ?\C-g)) +(setq this-command 'transient-noop) + (unless (transient--edebug-command-p) +(setq this-command 'transient-undefined))) +transient--stay)) + (defun transient--get-predicate-for (cmd) (or (ignore-errors (lookup-key transient--predicate-map
[elpa] externals/transient 31d355b596 10/17: transient-set-level: Refresh shown levels after setting one
branch: externals/transient commit 31d355b5962e22e160617c70cfdde344afb00998 Author: Jonas Bernoulli Commit: Jonas Bernoulli transient-set-level: Refresh shown levels after setting one --- lisp/transient.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lisp/transient.el b/lisp/transient.el index 5aa7b6e6fb..66a2ac2111 100644 --- a/lisp/transient.el +++ b/lisp/transient.el @@ -2507,7 +2507,8 @@ transient is active." (oset (transient-suffix-object command) level level)) (setf (alist-get sym alist) level) (setf (alist-get prefix transient-levels) alist)) -(transient-save-levels)) +(transient-save-levels) +(transient--show)) (t (transient-undefined
[elpa] externals/transient 06697f75ac 11/17: Only use this-original-command when necessary
branch: externals/transient commit 06697f75ace79936e12709cfbd75547b7016b733 Author: Jonas Bernoulli Commit: Jonas Bernoulli Only use this-original-command when necessary It is necessary for `transient-help' and `transient-set-level'. Invoking one of these commands enters a special mode. The next command is always replaced with the command that entered the special mode, which now behaves differently: it show the help resp. sets the level for the `this-original-command'. Other uses of `this-original-command' likely were "inspired" by these legitimate uses. --- lisp/transient.el | 12 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/lisp/transient.el b/lisp/transient.el index 66a2ac2111..059c3af0a3 100644 --- a/lisp/transient.el +++ b/lisp/transient.el @@ -1439,7 +1439,7 @@ probably use this instead: transient-current-prefix) (cl-find-if (lambda (obj) (eq (transient--suffix-command obj) -(or command this-original-command))) +(or command this-command))) (or transient--suffixes transient-current-suffixes)) (when-let ((obj (get (or command this-command) 'transient--suffix)) @@ -1989,8 +1989,7 @@ value. Otherwise return CHILDREN as is." (setq this-command 'transient-set-level)) (t (setq transient--exitp nil) - (when (eq (if-let ((fn (transient--get-predicate-for - this-original-command))) + (when (eq (if-let ((fn (transient--get-predicate-for this-command))) (let ((action (funcall fn))) (when (eq action transient--exit) (setq transient--exitp (or transient--exitp t))) @@ -2402,8 +2401,7 @@ to `transient--do-warn'." 'face 'font-lock-warning-face) (propertize "C-g" 'face 'transient-key) (propertize "?" 'face 'transient-key) - (propertize (symbol-name (transient--suffix-symbol - this-original-command)) + (propertize (symbol-name (transient--suffix-symbol this-command)) 'face 'font-lock-warning-face)) (unless (and transient--transient-map (memq transient--transient-map overriding-terminal-local-map)) @@ -3715,9 +3713,7 @@ resumes the suspended transient.") 'face nil 'action (lambda (button) (let ((command (button-get button 'command))) - ;; Yes, I know that this is wrong(tm). - ;; Unfortunately it is also necessary. - (setq this-original-command command) + (setq this-command command) (transient--pre-command) (call-interactively command