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.
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?
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.