mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-07-14 14:10:33 +03:00
Merge pull request #82604 from rycee/fix/emacs-setup-hook
emacs: improve setup hook
This commit is contained in:
commit
d15090dbe6
1 changed files with 21 additions and 9 deletions
|
@ -1,13 +1,25 @@
|
|||
addEmacsVars () {
|
||||
if test -d $1/share/emacs/site-lisp; then
|
||||
# it turns out, that the trailing : is actually required
|
||||
for lispDir in \
|
||||
"$1/share/emacs/site-lisp" \
|
||||
"$1/share/emacs/site-lisp/"* \
|
||||
"$1/share/emacs/site-lisp/elpa/"*; do
|
||||
# Add the path to the Emacs load path if it is a directory
|
||||
# containing .el files and it has not already been added to the
|
||||
# load path.
|
||||
if [[ -d $lispDir && "$(echo "$lispDir"/*.el)" && ${EMACSLOADPATH-} != *"$lispDir":* ]] ; then
|
||||
# It turns out, that the trailing : is actually required
|
||||
# see https://www.gnu.org/software/emacs/manual/html_node/elisp/Library-Search.html
|
||||
export EMACSLOADPATH="$1/share/emacs/site-lisp:${EMACSLOADPATH-}"
|
||||
fi
|
||||
export EMACSLOADPATH="$lispDir:${EMACSLOADPATH-}"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# If this is for a wrapper derivation, emacs and the dependencies are all
|
||||
# run-time dependencies. If this is for precompiling packages into bytecode,
|
||||
# emacs is a compile-time dependency of the package.
|
||||
addEnvHooks "$hostOffset" addEmacsVars
|
||||
addEnvHooks "$targetOffset" addEmacsVars
|
||||
if [[ ! -v emacsHookDone ]]; then
|
||||
emacsHookDone=1
|
||||
|
||||
# If this is for a wrapper derivation, emacs and the dependencies are all
|
||||
# run-time dependencies. If this is for precompiling packages into bytecode,
|
||||
# emacs is a compile-time dependency of the package.
|
||||
addEnvHooks "$hostOffset" addEmacsVars
|
||||
addEnvHooks "$targetOffset" addEmacsVars
|
||||
fi
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue