Questions tagged [package-development]

36 questions
22
votes
7 answers

How do I patch an Emacs package?

I wish to alter a package, test it and hopefully submit a pull request afterwards. How do I do it in a safe and efficient way? The question might feel too broad, I will accept the answer that covers the following issues: I'd expect to install a…
akater
  • 321
  • 2
  • 5
18
votes
1 answer

What are good tools for Emacs package development?

We already have a question about tools useful specifically for testing, but what about actually writing the code? Which packages do you find speed up your development? Which aids do you use to quickly and easily navigate and understand your…
Sean Allred
  • 6,861
  • 16
  • 85
18
votes
1 answer

Dealing with "Warning: assignment to free variable" when certain libraries can be missing by design

Byte compilation of my mode: (defun dict-setup-expansions () "Add `dict-mode' specific expansions." (set (make-local-variable 'er/try-expand-list) (list #'dict-mark-article))) gives warning: Warning: assignment to free variable…
18
votes
1 answer

What's the best way to use local packages in spacemacs?

I'm a developer for a package (ycmd) used by spacemacs, and I'd like to try using spacemacs as well. I'd like spacemacs to use the "development version" of my package, i.e. the one I'm hacking on locally. What's the best/proper way to tell spacemacs…
abingham
  • 927
  • 6
  • 18
14
votes
4 answers

How to load only a subset of installed packages

I ran into a bug that involved an interaction between several packages. In order to report the bug, I need to provide a reproducible recipe illustrating the problem. This requires loading the appropriate packages, but nothing else from my init, and…
Tyler
  • 21,719
  • 1
  • 52
  • 92
12
votes
2 answers

Proper approach to providing external programs along with packages?

I maintain a number of elisp packages (e.g. codesearch, emacs-ycmd, traad) that would benefit from being able to install the external programs that they use, saving time and effort for some users. For example, with codesearch.el it would be nice to…
abingham
  • 927
  • 6
  • 18
11
votes
1 answer

How to use a local version of a package in spacemacs?

This is similar to this question but the answer there seems to be deprecated. Let's say I'm using a layer and want hack the code of a particular package that layer is using. How do I go about it? To better illustrate what I want to accomplish in…
11
votes
1 answer

How to communicate package changes to repository users?

I have a package for interacting with GRASS GIS processes, available on MELPA. The rate of development and number of users are both quite low, so there's no need for a mailing list or any formal communications with my users. However, I've just…
Tyler
  • 21,719
  • 1
  • 52
  • 92
10
votes
3 answers

How to generate and activate autoloads for local packages?

It is clear that not all local/custom/personal packages should be officially released, and it would be silly to do so just to benefit from built-in package management support. I'm wondering how to generate and activate autoloads for local packages?…
8
votes
1 answer

Validating / linting Elisp code

Currently I use: (checkdoc) (byte-compile-file (buffer-file-name)) (package-buffer-info) to validate Elisp code. This takes me some stupid errors and it is easy to resolve them. Code intending can be checked via C-x h C-M-\ C-x C-s M-x vc-diff if…
gavenkoa
  • 3,352
  • 19
  • 36
7
votes
4 answers

Looking for feedback/review of emacs package?

That's meta-ish question but google isn't helpful in this case. Are there any standardized habits of where/how/whether one should look for feedback on his (or her) new emacs package? Especially - before publishing it. My particular case is that I…
Mekk
  • 1,017
  • 7
  • 14
7
votes
3 answers

Manually installing a multifile package to “elpa/”

When I'm writing a new package, it's great that I can test its installation by just issuing M-x package-install-from-buffer. This will install the package with package.el, so that it goes under "~/.emacs.d/elpa". However, this doesn't work on…
Malabarba
  • 22,878
  • 6
  • 78
  • 163
6
votes
1 answer

Are there license restrictions for Emacs Lisp packages?

GNU Emacs is licensed under the GNU General Public License (GPL). The GPL is a copyleft license that requires any derivative work to also be GPL-licensed. Does that impose restrictions on what license can be chosen for third-party Emacs packages…
Lassi
  • 377
  • 1
  • 7
6
votes
1 answer

How do I include non-code resources as part of an Emacs package?

I have a project that wants to play a sound file. I'd like to distribute this project in MELPA. There are two issues I'm having with that. They're both part of the question "how do I use resources in an Emacs package", so I'm asking this as one…
zck
  • 8,984
  • 2
  • 31
  • 65
6
votes
2 answers

Byte-compiling a file against a package that may or may not be here

I am trying to include support for smartparens in a major-mode package. I want that if a user is using smartparens, then he will get additional pair definitions, and if he isn't, he will not notice anything different. For that, I am using…
T. Verron
  • 4,233
  • 1
  • 22
  • 55
1
2 3