Skip to main content


I have successfully built my first #Emacs package. I want to clean it up a bit before I consider releasing it though. Also, while I can build a simple (single file) package, buildig a multi-file one is still eluding me.

When I try to install it, I get the following (less than helpful) error message:
Wrong type argument: stringp, nil

Is there a way I can get more detail on why this is failing?

reshared this

in reply to Jonathan Lamothe

In these cases I try (setq debug-on-error t) and retry whatever I did. It will present you with a stacktrace with hints where the problem is.
in reply to Jonathan Lamothe

If you use M-x toggle-debug-on-error, you should get a full stack trace showing what was called, with what value and from where. That should at least get you started.
in reply to Jonathan Lamothe

So getting a stack trace doesn't seem to have provided any useful additional information, but I have a potential starting point. When I look at the auto-generated *-pkg.el file from the installed single file version, I notice that there are some additional parameters passed to define-package that were not mentioned in the elisp documentation.

I'll have to have a closer look later.

Shannon Prickett reshared this.

in reply to Jonathan Lamothe

To demonstrate that I'm not crazy, this is from section 42.3 of the elisp manual:
Function: define-package name version &optional docstring requirements

This is from the documentation for define-package:
(define-package NAME-STRING VERSION-STRING &optional DOCSTRING REQUIREMENTS &rest EXTRA-PROPERTIES)

in reply to Jonathan Lamothe

thereโ€™s rarely justification for multifile emacs libs. Emacs doesnโ€™t have namespaces, so thereโ€™s bo optimization.
in reply to ๐Ÿ‡บ๐Ÿ‡ฆ Myke

@๐Ÿ‡บ๐Ÿ‡ฆ Myke True enough, though I still want to know how to do it.

Plus, for larger projects it's sometimes easier to separate things out for clarity.

in reply to ๐Ÿ‡บ๐Ÿ‡ฆ Myke

@๐Ÿ‡บ๐Ÿ‡ฆ Myke Yes, it can be done that way as well.

That still doesn't negate the point that I want to know how to build a multi-file package.

Besides, sometimes I like to learn stuff just for the sake of learning it.

This website uses cookies. If you continue browsing this website, you agree to the usage of cookies.

โ‡ง