reddit / emacs

Better Emacs package development workflow

redguardtoo · 2022-05-24 12:52
nv-elisp · 2022-05-24 17:23
Your script could be more concisely expressed as: (let ((files (find-lisp-find-files-internal "." (lambda (file dir) (unless (or (file-directory-p (expand-file-name file dir)) (string-match "\\.dir-locals\\.el" file)) (string-match "\\.el$" file))) (lambda (dir parent) (not (or (member dir '("." ".." ".git" ".svn" "deps" "tests")) (file-symlink-p (expand-file-name dir parent)))))))) (mapc #'byte-compile-file files)) However, why not?: (byte-recompile-directory "." 0 'force)
Psionikus · 2022-05-25 03:28
Is there a template repo with actions and everything all ready to go?
redguardtoo · 2022-05-25 08:21
In the blog article, a link to the real world project ( https://github.com/redguardtoo/evil-matchit ) is given. Copy its `Makefile` and `tests/my-byte-compile.el`, then modify `Makefile` per your own project's requirement.
holgerschurig · 2022-05-25 08:49
Nice.... but why should a package author try to keep his package running on Emacs 26? That beast has been released in 2018. It's been outdated since 2 years, this is when Emacs 27 came out. https://www.gnu.org/software/emacs/history.html
redguardtoo · 2022-05-25 09:21
Developers use Emacs 28 to develop packages which are running on Emacs 27. So they could got similar problems. The package is working fine on the developer's own PC, but fails on other users' computers. Anyway, forced compiling during CI can help developers to ping down all kind of bugs (I use incompatible API issue as an example). The idea actually comes from the workflow I designed for a popular package pyim ( https://github.com/tumashu/pyim ) to solve missing `require` statement issue.