[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#59923: Error when installing non-existent package add trailing dash
From: |
Eli Zaretskii |
Subject: |
bug#59923: Error when installing non-existent package add trailing dash character to package name |
Date: |
Sun, 11 Dec 2022 12:29:03 +0200 |
> From: Stefan Kangas <stefankangas@gmail.com>
> Date: Fri, 9 Dec 2022 02:57:15 -0800
>
> When evaluating the following to install a package that is not
> available,
>
> (package-install 'foobar)
>
> I get the error message
>
> Package ‘foobar-’ is unavailable
>
> This makes me think I made a typo, and have added a trailing dash that
> shouldn't have been there. I would expect the package name to not
> contain that trailing dash.
>
> Here's the backtrace:
>
> Debugger entered--Lisp error: (error "Package ‘foobar-’ is unavailable")
> error("Package `%s-%s' is unavailable" foobar "")
> package-compute-transaction(nil ((foobar)))
> package-install(foobar)
> elisp--eval-last-sexp(nil)
> eval-last-sexp(nil)
> funcall-interactively(eval-last-sexp nil)
> command-execute(eval-last-sexp)
>
> Perhaps this is an okay fix?
>
> diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
> index a9fd8c741e..4d33311cb7 100644
> --- a/lisp/emacs-lisp/package.el
> +++ b/lisp/emacs-lisp/package.el
> @@ -1949,8 +1949,10 @@ package-compute-transaction
> (if (eq next-pkg 'emacs)
> (error "This package requires Emacs version %s"
> (package-version-join next-version))
> - (error "Package `%s-%s' is unavailable"
> - next-pkg (package-version-join next-version))))))
> + (error (if (not next-version)
> + (format "Package `%s' is unavailable" next-pkg)
> + (format "Package `%s' (version %s) is unavailable"
> + next-pkg (package-version-join
> next-version))))))))
> (setq packages
> (package-compute-transaction (cons found packages)
> (package-desc-reqs found)
>
Barring objections or better ideas from Stefan (CC'ed), I think you
should install the above.
Thanks.