Releases: radian-software/el-patch
Releases · radian-software/el-patch
el-patch 3.1.1
el-patch 3.1
Features
- New user option
el-patch-use-advicewhich can be customized to haveel-patchinstall patches using the built-in advice system instead of overwriting function definitions directly.
Enhancements
- Some minor improvements to the way errors are reported from
el-patch-template.
el-patch 3.0
Breaking changes
- The arguments to
el-patch-featureafter the feature name are no longer quoted byel-patch-featurebefore being passed toel-patch-require-function. This means you can write them as normal function arguments instead as unquoted symbols. - The default value of
el-patch-require-functionhas changed fromrequiretoel-patch-default-require-function, which ignores all arguments toel-patch-featureaside from the feature name, and convertsrequireerrors to warnings (#47). - Emacs 25 is no longer supported.
Features
- You can define patch variants using the new variable
el-patch-variant. For advanced usage. See #29 for discussion. - You can validate patches automatically during byte-compilation by setting
el-patch-validate-during-compileto non-nil (#48).
Enhancements
- All
el-patchforms are now fontified the same way as their built-in counterparts, e.g. the function name in anel-patch-defunis fontified the same as the function name in adefunwould be. See #35.
Internal changes
- The autoloading mechanism used by
el-patchhas changed, reducing
the amount of work that is done at startup and simplifying the
implementation (#56). The user-facing impact is as follows:el-patch--patchesandel-patch-deftype-alistare no longer autoloaded. If you use a compiled init-file, you may need to recompile it with the new version ofel-patch; the code compiled with the old version ofel-patchwill not work at runtime with the new version ofel-patch. However, evaluating patches in a compiled init-file, even one that usesel-patch-deftype, still does not loadel-patch.el-patch-defunand analogous functions are now autoloaded, rather than fully defined at init time. This should not matter since a compiled init-file would have macroexpanded these into smaller components that do not have runtime dependencies onel-patch.- There is a new file
el-patch-stub.elthat needs to be on theload-pathfor autoloads to work. This should be taken care of automatically by any of the popular Emacs package managers.
el-patch 2.4
el-patch 2.3.1
Bugs fixed
- If a function is not defined, then
el-patch-validate-allwill proceed to check other patches before reporting the error, rather than crashing immediately (#46).
el-patch 2.3
Added
- New patch type
el-patch-cl-defun(#39).
Enhancements
- When using
el-patch-ediff-patchandel-patch-ediff-conflictthe compared buffers are put intoemacs-lisp-modeautomatically to enable syntax highlighting and Lisp navigation.
Bugs fixed
-
Under some circumstances, users received the error message
Unregistered definition type ‘defalias’when evaluating an
el-patchform. The problem could be worked around by explicitlyrequire-ingel-patchbefore the form underwent macroexpansion. However, it should now be impossible to get that error regardless of whetherel-patchwas loaded previously (#30).
el-patch 2.2.3
Enhancements
- The user option
el-patch-use-package-modeis now correctly declared in the Custom groupel-patch, rather than the separate groupel-patch-use-package.
el-patch 2.2.2
Enhancements
- When a definition is patched,
el-patchautomatically adds a note to the docstring so that you know a patch is in effect. Previously, this behavior was suppressed if the modified definition did not contain a docstring at all; now, the note is included regardless, adding a docstring if one was missing (#31).
el-patch 2.2.1
This release includes only a minor documentation enhancement.
el-patch 2.2
New features
- The new patch directive
el-patch-concatmay be used to modify string literals in a patch without repeating their contents twice (#14). - You may now define functions analogous to
el-patch-defunfor your own definition types using the newel-patch-deftypemacro, which operates on the new user optionel-patch-deftype-alist(#24). el-patchnow provides integration withuse-package, controlled by the variableel-patch-enable-use-package-integrationand the minor modeel-patch-use-package-mode. Two new keywords,:init/el-patchand:config/el-patch, are defined (#25).
Enhancements
- When a definition is patched,
el-patchnow automatically appends a note to the end of the docstring indicating that a patch was made (#14).