Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 948132 - app-emacs/dash rpartial function cannot be found
Summary: app-emacs/dash rpartial function cannot be found
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal major
Assignee: GNU Emacs project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-01-15 06:53 UTC by Kete Tefid
Modified: 2025-01-17 07:38 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kete Tefid 2025-01-15 06:53:25 UTC
rpartial which is a function from app-emacs/dash is not accessible. For example, while it is installed through portage, the following elisp snippet gives out error:

(require 'dash)
(-rpartial #'string-match "test")


Debugger entered--Lisp error: Symbol’s function definition is void: -rpartial

It can be verified that it is installed and is present in app-emacs/dash package:

/usr/share $ grep -ri . -e rpartial
./emacs/site-lisp/dash/dash.el:(defun -rpartial (fn &rest args)
grep: ./emacs/site-lisp/dash/dash.elc: binary file matches

However, many packages such as lsp-mode that depend on it produce the same error.

Manually installing dash (e.g. loclaly from melpa) fixes the issue.
Comment 1 Maciej Barć gentoo-dev 2025-01-16 18:43:40 UTC
Does this succeed for you?:

emacs -batch -q --eval="(progn (require 'dash) (pp (-rpartial #'string-match \"test\")))"

It should print:

#[128 "\302\301\303\300\"\"\207"
      [("test") string-match apply append] 6
      ("/usr/share/emacs/site-lisp/dash/dash.elc" . 114889)]

Succeeds for me - emacs 31, dash 2.19.1.
Maybe you load some older version of dash or forgot to run emacs-updater?

You cna also try to do:
(load-library "/usr/share/emacs/site-lisp/dash/dash.el")
Does it succeed then?
Comment 2 Kete Tefid 2025-01-17 07:38:50 UTC
Following your advice, I cleaned all the local packages and installed emacs-updater (as it was not installed and no package needed it).

The problem is gone now and it uses the system dash package. Since emacs-updater skipped all of the installed byte-compiled files, I assume there has been a stale/duplicate package in my home directory. I tried to install any intended package through portage as package.el doesn't seem to handle dependency conflicts well. Although some of them need to be installed locally (not in portage/anywhere).

I changed the status to resolved/invalid. Please change if necessary.

Thank you for your help.