संगठन-मोड 9: कोड-ब्लॉक निकालने में असमर्थ


45

मेरा Emacs एक .orgफ़ाइल के अंदर रहता है जिसमें से मैं एक .elफ़ाइल के लिए स्रोत ब्लॉक करता हूँ । मैं स्रोत ब्लॉकों का मूल्यांकन कर सकता हूंC-c C-c

आज मैंने org elpa से org-mode संस्करण 9 में अद्यतन किया है और अब जैसे स्रोत ब्लॉक का मूल्यांकन कर रहा हूं

#+BEGIN_SRC emacs-lisp :tangle yes
(setq org-export-coding-system 'utf-8)
#+END_SRC

साथ C-c C-cप्रिंट निम्न संदेश

इस emacs- लिस्प कोड-ब्लॉकिस का मूल्यांकन अक्षम।

अपने में init.elमैंने पहले ही ऑर्गन-बाबेल के लिए भाषाओं को परिभाषित कर लिया है:

(org-babel-do-load-languages
'org-babel-load-languages
'((emacs-lisp . t)
  (org . t)
  (sh . t)))

अगर मैं स्टॉक-एमएसीएस संस्करण को ओआरजी-मोड पर लोड करता हूं तो मैं C-c C-cउम्मीद के साथ उलझ सकता हूं । मुझे ऑर्ग-मोड 9 के लिए चैंज में इस बारे में कोई बदलाव नहीं मिला।

ऑर्ग-मोड 9 में कोड-ब्लॉकों के मूल्यांकन को कैसे सक्षम किया जाए?


1
क्या आपके पास समान मुद्दे हैं, जब आप उपयोग करते हैं org-babel-execute-src-block?
bertfred


@ रॉबर्टफ्रेड के समान व्यवहार में <kbd> Cc Cc </ kbd> होता है।
rrogg

1
मेरे पास एक ही मुद्दा था और हार्ड-रीइंस्टॉल करना था (कुछ इस तरह से लेकिन मुझे याद नहीं है क्योंकि मैं निराश था और नोट्स नहीं लिया था: अनइंस्टॉल करना, emacs छोड़ना, elpa से डिलीट करना, emacs शुरू करना, elpa से इंस्टॉल करना, emacs छोड़ना , शुरू emacs))
amitp

मुझे यह बताते हुए बहुत दुख हो रहा है कि यह समस्या वापस आ गई है। निम्नलिखित एक नंगे मशीन में एक ताजा स्थापना से है; स्रोत ब्लॉकों का मूल्यांकन अक्षम है, और मैं यह नहीं देखता कि इसे कैसे सक्षम किया जाए। ऑर्गन-बैबेल मर गया लगता है। (emacs-version) "GNU Emacs 25.1.1 (x86_64-apple-darwin13.4.0, NS appkit-1265.21 संस्करण 10.9.5 (बिल्ड 13F1911) 2016-09-17 का संस्करण" (org-version) "9.0.5"
Reb.Cabin

जवाबों:


42

मुझे लगता है कि यह समस्या मैक्रो से फ़ंक्शन में परिवर्तन के कारण होती है org-babel-check-confirm-evaluate। यदि आपके पास org-mode(और इस प्रकार पुराना मैक्रो) लोड होता है जब आप नए कोड को संकलित करते हैं, तो यह नए फ़ंक्शन के बजाय पुराने मैक्रो को देखता है।

जैसा कि अन्य लोगों ने org-modeEmacs को फिर से शुरू करने (लोड किए बिना org-mode) को अनइंस्टॉल करने की बात कही है और पुनः स्थापित करने से समस्या ठीक हो जाएगी। आप संकलित .elcफ़ाइलों को हटा भी सकते हैं और साथ recompile भी कर सकते हैं byte-recompile-directory


बहुत बढ़िया मेरे पास एक ही मुद्दा था, और मैं समझ नहीं पा रहा था कि यह काम क्यों नहीं कर रहा है
जोफिट नॉज़

1
हां, यह एक अच्छी व्याख्या और समाधान है। लेकिन मुझे नीचे समाधान मिल गया, @ בנימ found הילילי द्वारा ऑर्गन-मोड को अनइंस्टॉल / रीइंस्टॉल करने की तुलना में बहुत आसान है।
modulitos

38

@Erikstokes पर विस्तृत करने के लिए:

rm ~/.emacs.d/elpa/ORGDIRNAME/*.elc

ORGDIRNAMEकोर ऑर्गमोड निर्देशिका का नाम कहां है। Emacs को पुनरारंभ करें और अब आप org-babelकोड ब्लॉक चला सकते हैं ।


1
यह मेरे लिए org-9.1.13 के साथ काम किया। यह फिर से स्थापित करने की तुलना में तेज है। ध्यान दें कि ऑर्ग डायरेक्टरी नाम अलग-अलग होगा
इफिसिथ

1
इसने मेरे लिए स्पेसमैक्स पर काम किया
प्रसाद

4

मेरे लिए org-plus-contrib पैकेज को अनइंस्टॉल करना और इसे फिर से इंस्टॉल करना इसे हल किया।


एक ही संस्करण या बाद में एक की स्थापना रद्द करें?
जीनपिएरे

वर्तमान संस्करण को निकालें और Melpa से नवीनतम स्थापित करें
zeltak

3

Emacs 25.2 (9.0) और उपयोग करने पर org-plus-contrib:

  • org-babel-execute-src-block के रूप में मुझे वही त्रुटि दी C-c C-c
  • .emacs.d/elpaफ़ोल्डर को हटाना और पुनः इंस्टॉल करना इसे ठीक नहीं करता था
  • लेकिन M-x package-delete [RET] org-plus-contribऔर M-x package-install [RET] org-plus-contrib डीआईडी ​​के साथ इसे फिर से स्थापित करना

0

डिफ़ॉल्ट रूप से, Org निष्पादन के लिए केवल emacs-lisp 'src' कोड ब्लॉक को सक्षम करता है।

org-babel-no-eval-on-ctrl-c-ctrl-c चर का उपयोग "Cc Cc" कीबाइंडिंग से कोड ब्लॉक निष्पादन को हटाने के लिए किया जा सकता है।


-1

मुझे लगता है कि आपको अपने में निम्नलिखित कोड जोड़ना चाहिए .emacs.d/init.el

;; ditaa
(require 'ob-ditaa)
(setq org-confirm-babel-evaluate nil)
(setq org-ditaa-jar-path
  "/path/to/ditaa-0_10.jar")
(org-babel-do-load-languages
  'org-babel-load-languages
  '((ditaa . t)
    (dot . t)))

मैं आमतौर पर किसी भी प्रकार की इनइट फ़ाइल को जोड़ने के खिलाफ सलाह देता हूं require, क्योंकि यह स्टार्टअप को धीमा कर देती है।
स्टीफन

मुझे अब तक यह पता नहीं था। सलाह के लिए धन्यवाद!
ताकुआ एबटा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.