diff options
author | thing1 <thing1@seacrossedlovers.xyz> | 2025-04-01 20:27:39 +0100 |
---|---|---|
committer | thing1 <thing1@seacrossedlovers.xyz> | 2025-04-01 20:27:39 +0100 |
commit | d3a5ddb4189ef7c04df0cc47a0f9642b23292d2d (patch) | |
tree | 14264483e4d2e6481abc74feea6d9cbcae3666d1 /elpa/transient-0.8.6/CHANGELOG | |
parent | dabaff03992c102c395314629f63ce93a2c1bd3a (diff) |
added magit and other general configs
Diffstat (limited to 'elpa/transient-0.8.6/CHANGELOG')
-rw-r--r-- | elpa/transient-0.8.6/CHANGELOG | 1139 |
1 files changed, 1139 insertions, 0 deletions
diff --git a/elpa/transient-0.8.6/CHANGELOG b/elpa/transient-0.8.6/CHANGELOG new file mode 100644 index 0000000..d5b821f --- /dev/null +++ b/elpa/transient-0.8.6/CHANGELOG @@ -0,0 +1,1139 @@ +# -*- mode: org -*- +* v0.8.6 2025-03-15 + +Bug fixes: + +- ~transient-show-summary~ errored for commands that have neither a + summary nor a docstring. 0886651d + +- ~transient-format-description~ errored for ~transient-information~ + and ~transient-information*~ suffixes. #366 + +- ~transient--wrap-command~ failed to load autoloaded commands. + 40308623 + +- ~transient-suffix-object~ errored if a command is bound more than + once and is invoked using the mouse or ~RET~. f69e1286 + +- For some releases ~transient-suffix-object~ errored if it could not + identify a unique suffix, which helped establish that it is in fact + legitimate to use this function as a predicate. No longer error if + there are zero matches, but continue to error if their are multiple + matches that cannot be disambiguated. 4a06aeb0 + +* v0.8.5 2025-03-01 + +- Added new faces ~transient-key-recurse~ and ~transient-key-stack~. + 58e22554 + +Bug fixes: + +- ~transient--setup-recursion~ did not consider the ~resurse~ shorthand. + 32a7e256 + +- The parent group was not always stored in suffix objects. #354 + +- Invoking a suffix of a sub-prefix (which is configured to return to + the outer prefix), did exit instead of returning, if the suffix's + own behavior was not explicitly specified. #352 + +- The color of a suffix that returns to the outer prefix, was wrong + when there isn't actually an outer prefix. e88005d2 + +- When potentially removing other bindings for the same command + while adding a new binding, false-negative avoidance was too heavily + favored over false-positive avoidance. #355 + +- Defining the ~transient-higher-level~ face involves calling + ~face-attributes~ on another face. That call requested the value + for the current frame (which may not exist yet) instead of using + the default. #359 + +- When the transient window is hidden while the minibuffer is used, + then it was not restored if using Helm. #361 + +- Non-suffix command that aren't accessed via a symbol, were not + properly wrapped to ensure post-command cleanup happens even in + case of an error or if the user aborts a minibuffer use, causing + the menu window to get stuck. 08201f06 + +* v0.8.4 2025-02-01 + +- Added new option ~transient-show-docstring-format~. 65cd6cec + +- Unless called with a prefix argument, ~transient-toggle-docstrings~ + now only shows docstrings for the current menu invocation. 13f3f5e0 + +- The ~##~ macro from the ~llama~ package can now be used after keywords + in group specifications (including suffix bindings). 7c650436 + +- Suffix commands can now be advised using the new ~advice~ and ~advice*~ + slots available for suffixes and groups. This feature is still + experimental. #340 + +- ~transient-scope~ can now also match against prefix classes, not just + specific prefix commands. #334 + +- The default level of a suffix command can now be set via its + prototype, using the new function ~transient-set-default-level~. + f6c249c7 + +* v0.8.3 2025-01-03 + +- Added new constant ~transient-version~. 3022f6d5 + +* v0.8.2 2025-01-01 + +- Added support for displaying the transient menu in a dedicated + frame. bf58c0bb + +- When including a group via a variable, the imported value can now be + a top-level group. eebcbe30 + +- The transient window is now fitted to its buffer horizontally as well. + fd9811ea + +- Added new command ~transient-copy-menu-text~. 042f37aa + +- Added new command ~transient-toggle-docstrings~. 52679f98 + +- Added new command ~transient-describe~, which can be bound as many times + as needed to show help for arbitrary things. 5a18a791 + +Bug fixes: + +- The use of ~display-buffer-full-frame~ was prevented too aggressively. + 5353464b + +- Fixed remembering and restoring the old value of the ~no-other-window~ + window parameter. de984302 + +- When a command is bound multiple times and the instances use different + transient behavior, then the behavior (and color) for the last binding + was used for all bindings. fe71a7e7, a99dcda9 + +- Enabling ~transient-force-single-column~ resulted in an error. + 28347e59 + +- ~transient-toggle-common~ used to exit the menu. 98c01b84 + +* v0.8.1 2024-12-08 + +Bug fixes: + +- Interactively setting the level of a transient prefix resulted in + an error. #337. + +* v0.8.0 2024-12-06 + +- While the minibuffer is in use, the menu window is now hidden by + default. The new option ~transient-show-during-minibuffer-read~ not + only controls whether the menu stays visible while the minibuffer + is in use, but also whether it may be resized if necessary. This + new option replaces ~transient-hide-during-minibuffer-read~. #330 + +- When returning to a prefix whose ~refresh-suffixes~ slot is non-nil, + its suffixes are now re-initialized. #327 + +- Added documentation for ~inapt-if*~ slots to manual. 179545a6 + +- ~transient-args~ now takes a prefix command or a list of prefix + commands as argument. + +- ~transient-scope~ now takes a prefix command or a list of prefix + commands and/or a prefix class or list of prefix classes as + arguments. It can still be called without any argument, but that + should only be done in functions that take part in setting up a + menu, not in a suffix command. + +- Added new generic function ~transient-prefix-value~, giving finer + control over how the value returned by ~transient-args~ is determined. + +- Added support for implementing ~transient-init-scope~ methods for + prefix classes. + +- ~transient-setup-buffer-hook~ is now run later to allow overriding + more default settings. + +- The new prefix slots ~display-action~ and ~mode-line-format~, can be + used to override ~transient-display-buffer-action~ and + ~transient-mode-line-format~ for individual prefix menus. #332 + +- Updated the manual considerably. + +Bug fixes: + +- Fixes some menu navigation edge-cases. + +* v0.7.9 2024-11-04 + +Bug fixes: + +- Fixed a recent regression in ~transient-suffix-object~. #325 + +- The height of the transient window was fixed even it used the full + frame height. 5478d4e6 + +* v0.7.8 2024-11-02 + +- Additional potential mistakes in menu definitions are now detected. + bbda5bb6, 8873c300 + +- Added new (and still experimental) ~environment~ prefix slot, which + can be used to, for example, implement a cache to be used while + refreshing the menu. 05c011b8 + +- When navigating through the menu using the keyboard or hovering a + suffix command with the mouse, information about the command is now + shown in the echo area or using a tooltip. #282 + +Bug fixes: + +- When the command that exits a transient uses the minibuffer, + ~transient-current-*~ variables were not immediately reset to + ~nil~. #323 + +- Key sequences with three or more events broke + ~transient-suffix-object~. #324 + +* v0.7.7 2024-10-04 + +Bug fix: + +- Fix a regression introduced by the previous commit, which broke + dynamic prefixes that use a ~:setup-children~ function to prepare + their suffixes. #313 + +* v0.7.6 2024-10-01 + +- ~transient-active-prefix~ now accepts a single prefix symbol, in place + of a list of such symbols. #307 + +- ~other-frame-prefix~ and ~other-window-prefix~ can now be used while a + transient prefix is active. #305 + +- Added new macro ~transient-with-help-window~ for use in ~:show-help~ + functions. #309 + +* v0.7.5 2024-09-01 + +- Updated tooling. + +Bug fixes: + +- ~static-if~ is now used correctly. 0e35673e + +- When an existing window ends up being used to display the transient + buffer, then the previous value of the ~no-other-window~ parameter is + now restored, when the transient is exited. #302 + +- The names assigned to suffixes, which are defined using lambdas in + the prefix definition, are now guaranteed to be unique. #304 + +* v0.7.4 2024-08-05 + +- Added new function ~transient-active-prefix~. + +* v0.7.3 2024-07-13 + +- Refactored code responsible for inserting columns. + +Bug fix: + +- The ~transient-current-*~ variables are intended to only be used by + suffix commands, when they are invoked from a prefix. Previously + they were only cleared when the prefix is ultimately exited, which + meant that they unintentionally were accessible in timers. Now the + values of these variables are nil when used outside their intended + scope. 0e0ece32, f2cb28a5 + +* v0.7.2 2024-06-24 + +- Added support for adding suffixes that activate value presets. #183 + +Bug fix: + +- Restored the ability to individually set infix arguments if the + prefix's ~refresh-suffixes~ slot is non-nil. 8db5f0fd + +* v0.7.1 2024-06-19 + +- Added a workaround for ~emoji.el~ from Emacs 29.1 calling an internal + function using an outdated number of arguments. #288 + +* v0.7.0 2024-06-18 + +- Added new macro ~transient-augment-suffix~, which can be used to + specify the suffix behavior of a command that was previously defined + as a prefix, using ~transient-define-prefix~. 2fd3ea14 + +- Added new function ~transient-scope~, which is just a convenient way + to get the value of the ~scope~ slot of the ~transient-prefix-object~. + 7f6c39c5 + +- Added new hook ~transient-setup-buffer-hook~, which is run early when + setting the transient menu buffer. #283 + +- Added new class ~transient-information*~, a variant of recently added + ~transient-information~ class. 8a80e952 + +- By default our macros that define commands, mark those as for + interactive use only. ~(declare (interactive-only nil))~ can now be + used to overwrite that. fcc60e27 + +- Groups now also accept ~:inapt*~ predicates. 3d395d64 + +- Spaces between columns is reduced from three to two. dd93001e + +- Removed unused ~transient-plist-to-alist~ function. 1251faf0 + +Bug fixes: + +- ~transient--force-fixed-pitch~ was run to late to always succeed. #283 + +- Key binding conflict detection was too strict, taking hypothetical + bindings for inapt commands into account. c356d1bc + +- Key binding conflict detection did not consider bindings in regular + keymaps, such as ~transient-base-map~. 2698d62d + +- ~func-arity~ gets confused when a function is advised, so we had to + add a wrapper function ~transient--func-arity~. 91dd7bb3 + +- Some mistakes, that can be expected to occur when defining suffix and + prefix commands, were not detected. 7e827c31 + +* v0.6.0 2024-03-21 + +- On Emacs 28.1 and later, all infix commands and suffix commands + that are defined inline (i.e., using a lambda when defining a prefix + command), are now hidden from ~execute-extended-command~ (aka ~M-x~) /by + default/. It was already possible to hide these commands, but users + had to opt-in explicitly. After refactoring how these commands are + declared to be unsuitable for ~M-x~, it is now possible to hide them + /without/ also hiding other, unrelated kinds of unsuitable commands. + + I recommend that you instruct ~M-x~ to hide /all/ unsuitable command. + This requires that you customizing ~read-extended-command-predicate~, + because the Emacs authors have decided that this should be an opt-in + feature. + + Note that this has no effect on Emacs releases before 28.1. + +- Added documentation stating that ~:class~ has to be specified when + using ~:setup-children~. beecdc85 + +- Added a new prefix slot ~column-widths~, which can be used to specify + the minimal width of each column in all ~transient-columns~ groups of + that prefix. 92e8952e + +- When assigning a name to a suffix that is defined inline, we no + longer use the suffix description, iff that would result in an + overly long name. 81a108ba + +- Functions used as the value of face slots can now take one + argument, the suffix object. Functions that take zero arguments + are still supported. Additionally, ~transient--pending-suffix~ is + bound around calls to these functions, but it is better to pass + the object as an argument. f582a9bc + +- The new ~definition~ suffix slot can be used to specify a default + function definition that is used if no function body is provided + using ~transient-define-suffix~. 5b334a51 + +- Taught ~transient-suffix-object~ about ~transient--pending-suffix~. + 20a3770d + +Bug fixes: + +- If ~transient-parse-suffix~ and ~transient-parse-suffixes~ are called + with an invalid value for their ~prefix~ argument, they failed to + detect that. 03e752d9 + +- If ~nil~ is encountered inside a group specification, that was + silently ignored. Now an error is signaled. 8c01a1eb + +- ~find-function~ wasn't able to locate the definitions of infix + commands anymore. a30df67b + +- There was no binding for ~ignore-preserving-kill-region~ in + ~transient-predicate-map~. 0fc87002 + +- Invoking a non-symbolic non-suffix command, caused an error. + bd2a5ea0 + +- When a group begins with an included subgroup, that affected what + group class was assumed, in the absence of an explicit specification. + df36bc87 + +- ~transient--suspend-override~ failed to move out of the minibuffer + before refreshing the transient buffer. 833143ba + +- When a suffix command signaled an error during a trivial phase + (which does not involve, e.g., the minibuffer), then the transient + window was not deleted when the debugger was entered. 9d8f361f + +- When a prefix was refreshed, the wrong color was used for suffix + commands that exit the prefix, indicating that would cause a return + to the outer prefix, even though there is none. f51c144a + +- Calling ~transient-infix-read~ with an invalid value, resulted in + a confusing error. Now an appropriate error is used. 3ebb6acf + +- When third-party code or user customization managed to display + another buffer in our dedicated window, then that buffer got + killed when we tried to kill the transient buffer. #271 + +* v0.5.3 2023-12-16 + +- Fixed regression when setting ~:pad-keys~ for a ~transient-columns~ + group. #269 + +* v0.5.2 2023-12-05 + +- Fixed formatting issues in the manual. + +* v0.5.1 2023-12-05 + +- Added a new introduction by JD Smith (@jdtsmith). + +Bug fixes: + +- Faces that use a box are now defined more defensively to protect + against unexpected values and provide reasonable fallback colors. + 413310cd, b8aefce3 + +- Only prepare to return to the parent transient if there actually is + a parent. The only negative effect of failing to do this was that + the suffix was colored wrong, since ~transient--do-return~ falls back + to behave like ~transient--do-exit~. 5f2cfc9f + +* v0.5.0 2023-11-28 + +- Some suffix commands exit the transient from which they were + invoked, while others don't (allowing the user to invoke another + suffix without first having to enter the transient again). + + Until now it wasn't possible to tell which category any given suffix + falls into, at least not by default. Now the key binding of each + suffix is colorized to indicate its transient behavior. Red means + that the suffix exits the transient, and blue means that it does + not. Keys for suffixes that currently cannot be invoked are gray. + + Likewise, the thin line, that is drawn between the transient popup + buffer and the minibuffer, is used to indicate what happens, if you + invoke a command that is not a suffix. Most prefixes do not allow + non-suffixes to be invoked, so this line usually is gray. c8a9ac51 + +- Many faces have also been improved. This involves changing which + built-in faces they inherit from, some explicit changes to their + appearance, and semantic clarifications. Of course your mileage may + vary — it's possible that some face just happened to look right with + your chosen theme, but now it has to be themed to achieve that + again. 47d3f01d 71d16d86 et al. + +- Added a new face, ~transient-delimiter~, which is used for parentheses + around values and the pipe character used to separate possible values + from each other. 567b5d54 + +- Added a new command ~transient-toggle-level-limit~, bound to ~C-x a~, + which temporarily shows all suffix commands a transient has to + offer. This makes it possible to occasionally use more obscure + commands and arguments, without having to always display them. + For more information see [[https://magit.vc/manual/transient/Enabling-and-Disabling-Suffixes.html][Enabling and Disabling Suffixes]]. #243 + +The changes described below, only directly affect package authors and +users who implement their own transients. If that does not describe +you, then all you have to know is that many features were fine-tuned +and otherwise improved, opening up some new use-cases and making some +things easier to implement. This will hopefully lead to improvements +in your favorite transient-using packages in the coming months. + +- It sometimes makes sense to bind multiple keys to the same suffix + command, e.g., because they behave differently based on the suffix + description, or some other slot that can be set per binding. + Previously these bindings shared a visibility level; how this can + be set individually. #153 + +- While functions are run, which format strings to be inserted into the + transient buffer or to determine whether other aspects of a suffix, + that transient buffer no longer is the current buffer. Instead the + buffer in which the prefix and its suffixes operate, is the current + buffer. This affects functions such as ~transient-format-description~ + and those found in predicate slots such as ~if~. In contexts where + the transient buffer is needed but the other buffer happens to be + current, the new macro ~transient-with-shadowed-buffer~ can be used + to temporarily change that. + +- The new suffix slots ~face~ and ~inapt-face~ can be used to specify how + a suffix looks, which in simple cases is more convenient than using + a function as ~description~ and adding the face there. The values of + these slots should be faces or functions that returns a face. The + default for ~inapt-face~ is ~transient-inapt-suffix~, but in some cases + it is undesirable to apply this face to the whole description, so + this can be overridden by setting this slot to ~nil~ for individual + suffixes. The default for ~face~ is ~nil~. c2a75880 8e15a29b 71399d21 + +- Added new variables ~transient--pending-suffix~ and + ~transient--pending-group~, which are bound while a suffix/group is + being inserted. These are mostly intended for internal purposes, + but in some rare complex cases package authors might need them too. + 0717589a 70e8dc80 + +- Sometimes it is useful to display some information in the transient + buffer, which is not associated with a suffix command. The new + class ~transient-information~ can be used for that purpose. Children + that use this class are very similar to regular suffixes, the lack + of a command binding being nearly the only difference. #226 + +- Instead of a list of choices, the value of a suffix's ~choices~ slot + can now be a function that returns such a list. #212 + +- Per-suffix functions that format its description (specified using the + ~description~ slot) can now optionally take one instead of zero argument, + the respective suffix object. 09be367b + +- Added a new command ~transient-echo-arguments~ intended for use in + examples and bug reports, when a prefix must bind some command, but it + does not really matter which. Using this command is less verbose than + having to implement a dummy every time, and it comes with some goodies. + I.e., it reports information about the prefix from which it was invoked. + faa3d09d + +- When a command was defined using ~transient-define-suffix~ and an alias + for that command was created using ~defalias~, then the alias had no + access to the associated suffix object. Now it does, which makes it + possible to bind the same command multiple times in a prefix, and make + it behave differently depending on the symbol-name that was used to + invoke it. f43aee1a + +- The values of a prefix's ~transient-suffix~ and ~transient-non-suffix~ + slots should now be a boolean. The value of the ~transient-suffix~ + slot has to be handled differently for different types of suffixes. + I.e., infix arguments must ignore it, and sub-prefixes must honor + it but to do so they must use a different pre-command. Previously + booleans were not supported and the previously recommended values, + ~transient--do-stay~ and ~transient--do-exit~ are still supported (but + they are "corrected" for sub-prefixes). For the ~transient~ slot the + use of booleans was always allowed and recommended. 8098d175 + +- For sub-prefixes a value of ~t~ for the ~transient-suffix~ slot of the + parent prefix now means that suffixes, which exit the sub-prefix, + return to the parent prefix, instead of exiting that as well. + 784887b7 5ad5b627 + +- In addition to booleans and pre-commands, the values of the + ~transient-suffix~, ~transient-non-suffix~ and ~transient~ slots + may now also be pre-command "shorthands", e.g., use ~leave~ instead + of ~transient--do-leave~ (which in some cases is a good value for + `transient-non-suffix`). 9617b6c7 + +- ~transient--do-replace~ now behaves as documented and implied by its + name. Use the new ~transient--do-stack~ if you want to return to the + outer prefix. 94661e0c + +- Added a new prefix slot ~transient-switch-frame~, which allows + specifying the transient behavior of ~switch-frame~ per prefix and + independently of the transient behavior of other non-suffixes + (specified using the ~transient-non-suffix~ slot). 609dabfd + +- Added a new function ~transient-prefix-object~ to allow package + authors to avoid the following unfortunate complication. + + While a transient is being setup or refreshed (which involves + preparing its suffixes) the variable ~transient--prefix~ can be + used to access the prefix object. Thus this is what has to be + used in suffix methods such as ~transient-format-description~, + and in object-specific functions that are stored in suffix slots + such as ~description~. When a suffix command is invoked (i.e., + in its ~interactive~ form and function body) then the variable + ~transient-current-prefix~ has to be used instead. + + Two distinct variables are needed, because any prefix may itself + be used as a suffix of another prefix, and such sub-prefixes have + to be able to tell themselves apart from the prefix they were + invoked from. Regular suffix commands, which are not prefixes, do + not have to concern themselves with this distinction, so they can + use this function instead. In the context of a plain suffix, it + always returns the value of the appropriate variable. + 37307c1b + +Bug fixes: + +- cc0fa805 transient--post-command: Redisplay after universal argument +- dd970cd4 Compile suffix commands that are defined inside prefix definitions +- b150b48b transient-quit-one: Cancel prefix-arg instead of exiting transient +- 7c08beb8 Revert "transient-{set,save,reset}: Stay transient" +- f8209cc8 transient--maybe-pad-keys: Ignore raw strings +- 0a0ba1aa transient--do-leave: Actually behave as documented +- ed5bd6fd transient-infix-set(argument): Fix disabling incompatible options +- 3a2b936a Fix highlighting infix for which user input is being read +- d834f764 transient-format(around:suffix): Don't attempt to highlight full line +- af6eb310 transient-format: Only highlight infix if minibuffer is used +- b1d1c369 Prevent temporary faces from leaking back into objects +- 307695d2 transient-format-description(around:suffix): Combine faces +- 7f0215c4 transient-format-value(option,value): Use argument faces + +Also contains various documentation updates and a lot of code clean-ups. + +This release drops support for Emacs 25. The last Emacs 25 release +(25.3) was released in 2017; over six years ago. The current Emacs +version is 29.1; that's four major releases since 25.1. + +* v0.4.3 2023-08-25 + +- Added a second implementation of ~transient--wrap-command~, taking + advantage of improvements in Emacs 30. + +* v0.4.2 2023-08-25 + +- Infix commands are only useful when invoked from a transient prefix + command and ~execute-extended-command~ should not offer them as + completion candidates. In the past we used a weird kludge to + accomplish that, but now we rely on ~read-extended-command-predicate~. + That allowed the removal of some complications and made it possible + to fix a bug in ~transient--wrap-command~. + + To hide infix commands, users now have to update to Emacs 28, or + later, and customize ~read-extended-command-predicate~. + + #+begin_src emacs-lisp + (setq read-extended-command-predicate + 'command-completion-default-include-p) + #+end_src + +- Due to changes in Emacs 29.1, pretty-printing isn't consistent + across Emacs releases anymore by default, which is unfortunate + in our case because we use it to write to files that are likely + to be checked into version control. We now force the use of the + old style across releases. + +* v0.4.1 2023-06-02 + +Bug fixes: + +- 070d47b0 Support searches that end right after suffix +- ab831828 transient--insert-group(columns): Drop separator before first column +- 62edeffd #247 Fix bug using :incompatible using suffixes before infixes +- 6efa9fad transient-predicate-map: Bind univeral-argument-more + +* v0.4.0 2023-05-10 + +- Transient has to update state after every suffix command. If that + fails for some reason, then Emacs ends up in an badly broken state. + It was rare, but in the worst case scenario, that meant that Emacs + refused to call any more commands and had to be killed. + + Naturally ~post-command-hook~ is the first choice to run something + after commands, but unfortunately that hook is not guaranteed to run + only once, and worse it is not guaranteed run /after/ the command. + Working around this limitation made an essential part of Transient + much more complex and fragile. As new edge-cases were discovered, + new and increasingly desperate heuristics had to be added, until I + finally decided that relying solely on hooks was just not feasible. + + Now ~pre-command-hook~ is used to advice ~this-command~, to add an + around advice, which ensures that the state update takes place, even + when ~post-command-hook~ is run prematurely. The advice wraps both + the function body and the interactive spec with ~unwind-protect~, so + we can finally be sure that the state change is always performed, + and that the advice is removed again. + + It has been an interesting journey, and I have documented it in long + commit messages. If you are interested in the details, see 7b8a7d71 + (which still tries to avoid using any advice), 51c68c87, 52cac9c0, + bug#61179 and bug#61176. + +- The ~transient-define-prefix~ now expands to code instead of data, + meaning that lambda expressions are finally properly evaluated and + byte-compiled. ea851f3b e88f51d6 277e5f2d a1774182 + +- 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~ 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 + +- 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 behavior + can be easily be enabled using: + + (setq read-extended-command-predicate + 'command-completion-default-include-p) + + Infix arguments are implemented as commands, so they by default show + up as completion candidates of ~execute-extended-command~, which is + useless because they are only intended to be invoked from transient + prefix commands. Enable this feature to prevent that. + +- Added new command ~transient-toggle-debug~. b466cd9a + +- 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 + +- Removed obsolete aliases for functions deprecated in v0.3.0. #192 + +- Duplicated suffix commands are now disambiguated, making it possible + to bind a command multiple times as a suffix of a transient command, + but still have it do different things depending on what binding is + used, based on the value of some slot of the corresponding suffix + object, similar to how ~self-insert-command~ inserts the pressed key. + f27c840a + +- ~recursive-edit~ and ~top-level~ can now be used while a transient is + active. fcdeadc1 5a1b2bac + +- Switched to Emacs 29's new keymap functions, which are also supported + in newer releases, thanks to the Compat package. 87f70af5 5a966aa8 + +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 +- 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 +- 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 +- cc887ebe transient--delay-post-command: Fix execute-extended-command handling +- 3b267425 transient--fit-window-to-buffer: Use correct package prefix +- 9d4fabc3 #208 transient--describe-function: Handle renamed help buffer +- 555792f7 #209 Fix setting level of anonymous infixes +- 0a3b22f1 #215 transient--delay-post-command: Account for events returned as vector +- ad953cc3 #204 transient--insert-group: Add fallback for failed alignment calculation +- 5337e5eb #230 transient-define-{*}: Error if ARGLIST is missing +- d800ce01 Use equal to compare with empty vector +- 3657117b #234 transient--parse-suffix: Detect when mandatory command is missing +- f88cbbc5 #234 transient--parse-suffix: Differentiate command and desc lambda +- 0204a243 #234 transient--parse-suffix: Define suffix aliases at load-time +- 0ae0de43 #241 transient--invalid: Add special-case for anonymous inapt commands +- af7fe42b #244 transient--parse-suffix: Don't try to evaluate closures again +- 6ff5c51f transient-isearch-abort: Fix partial match case + +Also contains various documentation updates, code clean-ups and +build improvements. + +* v0.3.7 2021-10-25 + +- Added an additional safety hatch to prevent Emacs from entering an + inconsistent state when an unexpected error occurs. 99e48369 + +- Added support for implementing section movement commands in + third-party packages. This was requested by the maintainer of + Emacspeak. Because they would be of very limited use to sighted + users no such commands are added to Transient itself. 769219b5 + +- ~transient-read-number-{N0,N+,N}~ now support infix arguments that + have three different states: disabled, enabled without an empty + value, and enabled with a non-empty value. 626d105e + +- If a command is called as a suffix of itself, then the help command + shows the function definition instead of the man-page as it usually + does for prefixes. e17e2b2f + +- Give users more control over how the transient buffer is displayed. + Various aspects that were previously hardcoded can now be changed + using the ~transient-display-buffer-action~ option. 7c677737 + +- Added support for adding suffixes that might be neither defined nor + autoloaded when the prefix is invoked. This usually results in an + error and while it is now possible to override that using an extra + step, it is still discouraged. 6842305e + +Bug fixes: + +- 1e740608 transient-map: Bind C-u to universal-argument +- e9048100 Explicitly call transient--pre-command in button action +- be119ee4 Export variables for transient non-infix suffixes +- b526b9c7 transient-infix-set: Consider all incompatibility rules +- 7126d6aa Fix hydra-inspired colors +- 0c2255a2 transient-get-value: Add an emergency exit + +Also contains various documentation updates and code clean-ups. + +* v0.3.6 2021-07-01 + +- Added new option ~transient-force-single-column~, which may be useful + for low vision. #122 + +- Added new option ~transient-highlight-higher-levels~, which is + intended for package authors. 90a05622 + +* v0.3.5 2021-06-16 + +- Added a kludge to work around some unexpected Emacs behavior. + ef921d30 + +- When showing help for a suffix that is also a subprefix, then also + consider the manpage that is set for the prefix, if any. a9bdd013 + +* v0.3.4 2021-05-25 + +- Very minor changes. + +* v0.3.3 2021-05-24 + +- Added SPDX-License-Identifier library header. 7d3d8d79 + +* v0.3.2 2021-04-20 + +- Fixed an error message. c145229a + +* v0.3.1 2021-04-19 + +- Changed ~transient-prefix~'s ~suffix-description~ slot to be initially + unbound, as was always intended. c28b8a4 + +- Added new functions ~transient-read-file~ and + ~transient-read-existing-file~. a3b44224 + +* v0.3.0 2021-02-21 + +- Added a temporary kludge to prevent a transient from being invoked + while the minibuffer is active. A future release will enable + this again, once we are sure that cannot cause Emacs to enter an + inconsistent state, that causes most events to be ignored. #112 + +- Improved the backtrace that is shown when a fatal error occurred in a + critical context. This involved some back and forth. See commits + mentioning the "emergency exit". + +- Added support for defining a per-prefix fallback suffix description + function, which is used for suffixes that do not explicitly provide + a description. The new ~suffix-description~ slot is used to specify + that function. The new ~transient-command-summary-or-name~ function + is useful, not just as an example. 8b22b52b + +- Added ~transient-arg-value~, which can be used to extract the values + of individual arguments in the output of ~transient-args~. d76f73f8 + +- Added support for using variables in group and suffix definitions + of a prefix. Such indirect specifications are resolved when the + transient prefix is being defined. #101 + +- No longer bind ~M-<key>~ to any common suffix commands; freeing this + namespace for a variety of uses in individual transient. A few + existing bindings had to be changed because of this. 990eb0a2 + +- Added ~transient-suffixes~ function, which is useful when + ~transient-args~ is not sufficient because one needs the suffix + objects, not just their values. #98 + +- Added ~init-value~ slot for infix and prefix objects. If this value + bound then it is called with the object as only argument instead of + the primary ~transient-init-value~ method of the object class. #96, + 3284f6a0 + +- Added ~unsavable~ slot for infix objects. If this is non-nil, then + the value of the infix is removed from the prefix value before + saving, setting and adding to history. #96 + +- Added support for right padding the keys of all suffixes in a group. + This is controlled using the new ~pad-keys~ slot of group objects. + 7502390b, 293a437d + +- Added support for delaying setup of the suffixes of a prefix until + that is invoked. Also added support for using unnamed functions as + suffix commands. Taken together these changes make it possible to + dynamically create the list of suffixed. See the ~notmuch-transient~ + package for two examples: ~notmuch-search-transient~ and + ~notmuch-tag-transient~. f2252d53, a3e53633 + +- Added the infix class ~transient-lisp-variable~. 2d8ceff4 + +- Added ~transient-infix-read~, which allows arbitrary commands to read + a value the same way as would the infix command that is provided as + an argument to this function. 73694be4 + +- Added support for coloring suffixes in a Hydra-like fashion. + To enable this, customize option ~transient-semantic-coloring~. + 248862c5 + +- Added support for disabling and dimming suffix commands that are + currently not suitable, instead of completely hiding them. #80 + +- Autoload functions that serve a purpose similar to that of + ~define-key~. #85 + +- Consistently use ~transient-~ as the prefix of all symbols. + The old names remain available as obsolete aliases. dd0c44cb + +- Added support for scrolling the transient popup buffer using the + scroll bar. #84 + +- Various bug fixes. + 48238bf5 Allow invoking arbitrary prefixes as non-suffixes + d85eb790 transient-read-directory: Pass read value through file-local-name + f086cb62 transient--insert-suffix: Allow same key with different predicates + d555d260 transient-format-description(lisp-variable): Return string + 0d79ccfa transient--parse-suffix: Don't fallback to read-string for options + f88dbc43 transient-suffix-object: Support all suffixes + b343e2a3 transient-infix-read: Fix ivy specific kludge + 55bad195 transient--pp-to-file: Bugfix + c1df3b21 Ensure we use symbols in a few more places + 769fa438 transient-set-level: Fix edge-case + 88d935c7 transient-display-buffer-action: inhibit-same-window by default + +* v0.2.0 2020-02-26 + +- ~transient-args~ must now be called with a transient prefix command + as argument. It is now the only argument and its value must be a + symbol now, an object is no longer supported. When this command + does not match ~current-transient-command~, then this function now + returns the set, saved or default value. 0312b93, 7d0db28, + d33fe5a, a6ce195 + +- No longer use the last history element as initial minibuffer input + by default. Added new option ~transient-read-with-initial-input~ to + allow users to restore the old default. dcf7a4d, 5decc6e + +- The set and saved values were not always used. #68 + +- Added support for inserting and removing groups. #36 + +- Added support for specifying where to insert elements and groups + using coordinates. #26 + +- Added support for moving the cursor inside the transient popup + buffer using the arrow keys or Isearch, and for invoke suffix + commands using RET or mouse clicks. Unlike Magit-Popup, Transient + doesn't make the transient popup buffer the current buffer. This + is important when invoking suffix commands that take the current + position into account, but it has the drawback that we do not get + these features for free. Because I also consider them unnecessary + I did not implement them initially. Turns out quite a few users + strongly disagree. Set ~transient-enable-popup-navigation~ to ~t~ to + enable these features. #42 + +- Explicitly support Edebug. Previously when Edebug was triggered + while a transient was active, then Emacs entered an unrecoverable + state. #19 + +- No longer attempt to display a thin line in termcap frames. 0a96a57 + +- Work around some Ivy bugs/incompatibilities. af243d5, fed7ab1 + +- The new option ~transient-force-fixed-pitch~ allows users to use a + monospaced font in transient's popup buffer even if they use a + proportional font for the rest of Emacs. #25, #67 + +- Adapted to backward incompatible changes in Emacs 27 that prevented + faces from extending to the edge of the window as expected. c1ae1ee + +- No longer depend on dash (or any other third-party package). #66 + +- When a transient has conflicting key bindings and Transient is + configure to warn about that, then Emacs entered an unrecoverable + state instead. 75de1f0 + +- ~transient-format-value~ now supports options with multiple values. + #65 + +- Removing a suffix based on its position was broken. 41cbf49 + +- In our popup buffers disable the tab feature that Emacs 27 + introduces. #62 + +- Inserting a new suffix next to another ended up replacing the latter + instead if its key binding was defined in the suffix object. #58 + +- ~transient-undefined~ learned to make some noise. #57 + +- Fix replacing a suffix with another suffix bound to the same key. + 5a360bb, 4ce1868 + +- Characters are no longer allowed as pseudo suffixes. To insert a + an empty cell into a table use the empty string instead. 71687ba + +- Added new variable ~transient--buffer-name~. #45 + +- Some misconfiguration that affects how the transient popup buffer + is displayed could lead to Emacs entering an unrecoverable state. + #34, #44 + +- The echo area is now cleared when the transient popup buffer is + shown. afdf1f0 + +- If ~transient-show-popup~ is 0 or a negative number, then not even + a one-line summary is shown initially. #41 + +- Added new function ~transient-read-directory~. a87cb2c + +- ~define-transient-command~ now supports specifying the level of a + suffix using the ~:level~ keyword argument. 6506cfd + +- The mode-related suffix predicates now also support a list of modes + as argument in addition to a single mode as before. 1c6afb8 + +- The new ~incompatible~ slot of prefix objects makes it possible to + specify which arguments should be autoatically disabled when the + user enables certain other arguments. 544b3bb + +- ~transient--history-push~ is now defined as generic function. 47b7975 + +- The a new ~history-key~ slot and ~transient--history-key~ generic + function for prefix objects. 3668aeb, e627d45 + +- Disallow setting the level of essential suffixes that are shared + between all transients. #29 + +- The active infix is now highlight while reading its value from the + user. #30 + +- The commands ~transient-set~ and ~transient-save~ can now be configured + to exit the transient, though by default they still don't. a47ae94 + +- Always respect the ~transient~ slot of a suffix, even if that suffix + has a binding in ~transient-predicate-map~. 919fc66 + +- Added new generic functions ~transient-set-value~ and + ~transient-save-value~ intended for prefix commands. ebe9d9d + +- It is no longer possible to set a prefix level to 0, which is an + invalid value. #28 + +- All transient prefix and suffix commands are now automatically + declared to be for interactive use only. a6295fa + +- Infix arguments are no longer added to ~command-history~ because + these entries were both useless and extremely noisy. #23 + +- ~digit-argument~ no longer exits the transient. 5f0ec7d + +- A new keymap, ~transient-base-map~ was added to make it easier to + change key bindings that are shared between all transients. This + new keymap is used as the parent of all the other keymaps that are + shared between all transients. + +- Added new commands ~transient-scroll-up~ and ~transient-scroll-down~, + which scroll the transient window. ~C-v~ and ~M-v~ (and ~<next>~ and + ~<prior>~) are bound to these commands. These keys were chosen they + are bound to scrolling commands in the global map too. This made + it necessary to find a new binding for ~transient-show~, which ~C-t~ is + bound to now. #17 + +- The new option ~transient-mode-line-format~ allows users to use + a mode-line for the transient popup buffer instead of just a + thin line that separates it from the echo area. When using a + non-standard value for ~transient-display-buffer-action~ it may + be necessary to do that. #17 + +- The new option ~transient-display-buffer-action~ allows users to + specify how a window is selected to display the transient popup + buffer. The ~lv~ library is no longer used. #17 + +- The window that was selected before the transient window was shown + is no longer re-selected before calling a suffix that exits the + transient. If a suffix changes the selected window unintentionally, + then that is a bug. This makes it possible to intentionally change + the window layout using transients. + +- An infix is a special kind of suffix. Depending on context + "suffixes" means "suffixes (including infixes)" or "non-infix + suffixes". This is now mention in a few places where users might + otherwise get confused. + +- Stopped claiming that the transient is shown in the "echo area", + because technically that is not correct. Instead talk about the + "popup buffer". + +- Fixed handling of suffix commands that are undefined at the time the + prefix is invoked. This is still an error, but the error message + now explains what is wrong. a729bbb + +- Fixed saving values/history/levels, making sure that the printed + expression is never abbreviated. #15 + +- Fixed jumping to the correct place in a manpage when showing the + documentation for an infix argument. c4bf4af + +- Bound ~ESC ESC ESC~ to ~transient-quit-all~ because the convention is + that it should be possible to exit any temporary state using this + binding. #12 + +- Fixed referencing suffix bindings by their key when the key binding + is defined in the suffix object instead of in the suffix spec. + e4ffb97 + +- Remove trailing whitespace from popup text for the benefit of users + who have set enabled ~show-trailing-whitespace~ globally. 0758efa + +- Fixed showing available bindings on a single line instead of using + the usual popup buffer. 2f011c9, 99d3bf6 + +- Added a line between the ~lv~ window and the echo area. ca18bb6 + +- Fixed adding a new suffix at the end of a group and removing a + group's last suffix. #20, #6 + +- No longer use ~cl-typep~, which appears to have a bug on Emacs 25. + 9183fe1 + +- Fixed ~lisp~ make target. 170a3fd + +- Fixed reading a number as the value of an infix. 8219c0b + +- Various bug fixes to + ~transient--goto-argument-description~ (4f80a89), + ~transient-show-help~ (ccac95e), + ~transient-infix-read~ (7bf9759). + +* v0.1.0 2019-01-14 + +- First release. |