@@ -447,8 +447,8 @@ runAndEcho = s -> (
447447 printerr (" running: " , cmd);
448448 run cmd)
449449
450- makeEmacsPackage = () -> (
451- if run " command -v emacs > /dev/null" != 0 then (
450+ makeEmacsPackage = emacs -> (
451+ if run ( " command -v " | emacs | " > /dev/null" ) != 0 then (
452452 printerr " warning: emacs not found; cannot install package" ;
453453 return );
454454 rootdir := temporaryFileName () | " /" ;
@@ -470,7 +470,7 @@ makeEmacsPackage = () -> (
470470 pkgfile << " (define-package \" M2\" \" " << version#" VERSION" ;
471471 pkgfile << " \" \" Macaulay2 major modes\" )" << endl << close ;
472472 runAndEcho(" cd" , rootdir, " &&" , " tar" , " -cf" , tarfile, pkgname);
473- runAndEcho(" emacs" , " --batch" ,
473+ runAndEcho(emacs, " --batch" ,
474474 " --eval" , " '(package-install-file \" " | rootdir | tarfile | " \" )'" );)
475475
476476stripdir := dir -> if dir === " /" then dir else replace (" /$" ," " ,dir)
@@ -508,7 +508,13 @@ prelim := () -> (
508508 promptUser = true ;
509509 if prefixDirectory === null then error " can't determine Macaulay 2 prefix (prefixDirectory not set)" ;
510510 )
511- installMethod (setupEmacs , () -> ( prelim(); mungeEmacs(); makeEmacsPackage() ))
511+
512+ setupEmacs String := emacs -> (
513+ prelim();
514+ mungeEmacs();
515+ makeEmacsPackage emacs)
516+ installMethod (setupEmacs , () -> setupEmacs " emacs" )
517+
512518installMethod (setup , () -> (
513519 prelim();
514520 dotprofileFix = concatenate (shHeader, apply (shellfixes, (var,dir,rest) -> fix(var,dir,rest,bashtempl)));
0 commit comments