emacs: allow wrapped emacs to execute itself again (#361145)
This commit is contained in:
@@ -198,6 +198,8 @@ runCommand
|
||||
--subst-var-by bash ${emacs.stdenv.shell} \
|
||||
--subst-var-by wrapperSiteLisp "$deps/share/emacs/site-lisp" \
|
||||
--subst-var-by wrapperSiteLispNative "$deps/share/emacs/native-lisp" \
|
||||
--subst-var-by wrapperInvocationDirectory "$out/bin/" \
|
||||
--subst-var-by wrapperInvocationName "$progname" \
|
||||
--subst-var prog
|
||||
chmod +x $out/bin/$progname
|
||||
# Create a “NOP” binary wrapper for the pure sake of it becoming a
|
||||
@@ -222,6 +224,8 @@ runCommand
|
||||
--subst-var-by bash ${emacs.stdenv.shell} \
|
||||
--subst-var-by wrapperSiteLisp "$deps/share/emacs/site-lisp" \
|
||||
--subst-var-by wrapperSiteLispNative "$deps/share/emacs/native-lisp" \
|
||||
--subst-var-by wrapperInvocationDirectory "$out/Applications/Emacs.app/Contents/MacOS/" \
|
||||
--subst-var-by wrapperInvocationName "Emacs" \
|
||||
--subst-var-by prog "$emacs/Applications/Emacs.app/Contents/MacOS/Emacs"
|
||||
chmod +x $out/Applications/Emacs.app/Contents/MacOS/Emacs
|
||||
wrapProgramBinary $out/Applications/Emacs.app/Contents/MacOS/Emacs
|
||||
|
||||
Regular → Executable
+3
@@ -50,4 +50,7 @@ export emacsWithPackages_siteLisp=@wrapperSiteLisp@
|
||||
export EMACSNATIVELOADPATH="${newNativeLoadPath[*]}"
|
||||
export emacsWithPackages_siteLispNative=@wrapperSiteLispNative@
|
||||
|
||||
export emacsWithPackages_invocationDirectory=@wrapperInvocationDirectory@
|
||||
export emacsWithPackages_invocationName=@wrapperInvocationName@
|
||||
|
||||
exec @prog@ "$@"
|
||||
|
||||
@@ -39,6 +39,16 @@ least specific (the system profile)"
|
||||
(setenv "EMACSNATIVELOADPATH" (when new-env-list
|
||||
(mapconcat 'identity new-env-list ":"))))))
|
||||
|
||||
(let ((wrapper-invocation-directory (getenv "emacsWithPackages_invocationDirectory")))
|
||||
(when wrapper-invocation-directory
|
||||
(setq invocation-directory (file-name-as-directory wrapper-invocation-directory))
|
||||
(setenv "emacsWithPackages_invocationDirectory" nil)))
|
||||
|
||||
(let ((wrapper-invocation-name (getenv "emacsWithPackages_invocationName")))
|
||||
(when wrapper-invocation-name
|
||||
(setq invocation-name wrapper-invocation-name)
|
||||
(setenv "emacsWithPackages_invocationName" nil)))
|
||||
|
||||
;;; Set up native-comp load path.
|
||||
(when (featurep 'native-compile)
|
||||
;; Append native-comp subdirectories from `NIX_PROFILES'.
|
||||
|
||||
Reference in New Issue
Block a user