لماذا يبدأ Clojure بـ "MX Slime" لـ Aquamacs الخاصة بي دون أي إعداد؟

StackOverflow https://stackoverflow.com/questions/3550863

سؤال

لدي Aquamacs تعمل على جهاز Mac الخاص بي.

لقد قمت بتثبيت ESK لـ Aquamacs ويقوم بتثبيت ELPA في ~/.emacs.d/elpa. مع ELPA ، قمت بتثبيت clojure-mode/clojure-mode/slime/slime-repl/swank-clojure.

الشيء هو أنه عندما أقوم بتشغيل "MX Slime" ، يتم تشغيل Clojure. لماذا هذا؟ أنا فضولي لأنني لا أملك أي إعداد للوحش في بلدي. EMACs وحتى في/المستخدمين/smcho/library/تفضيلات/أكواماك emacs/{تفضيلات. أعني ، ليس لدي (setq program-lisp-program "clojure") أو شيء من هذا القبيل.

أم ، هل يتعلق الأمر بتركيب "Swank-Clojure" الخاص بي؟ أرى شيئًا كهذا في أدنى متعادل.

(require 'swank.swank)
(swank.swank/ignore-protocol-version nil)
...
#ServerSocket ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=51847]
هل كانت مفيدة؟

المحلول

هذا بسبب swank-clojure.el, ، برنامج ELISP المنهك. لا تستخدمه ، حسب بلدي بعد هنا, ، على سؤالك التالي. قد يكون لها أخطاء وبالتالي فهي غير مناسبة للاستخدام. يستخدم M-x slime-connect بدلاً من ذلك ، بعد البدء lein swank.

نصائح أخرى

كما قال إسحاق ، يضع swank-clojure.el 'تنفيذ الوحل "لـ clojure (باختصار ، وسيلة لبدء Java مع swank-clojure في classpath بحيث يمكن بدء swank). ثم يتصل Slime بهذا المنفذ وستحصل على Repl.

المشكلة في هذا النهج هي أنك ستحتاج إلى إعداد ClassPath مقدمًا. هذا ممل لكل مشروع تريد العمل عليه. لذلك ، أفضل طريقة هي استخدام MX Swank-Clojure-Project أو Lein Swank ثم MX Slime-Connect. أنا أفضل swank-clojure-project.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top