2011-09-25 11 views
7

मेरे पास Emacs बहुत अच्छी तरह से काम कर रहा था और फिर मैंने अपने कंप्यूटर को पुनरारंभ किया। अब कोड का यह ब्लॉक मुझे मेरी init-files लोड करने से रोकता है:बाइट-कोड: चर के रूप में प्रतीक का मान शून्य है: org-babel-tangle-lang-exts

(require 'ob-clojure) 
(org-babel-do-load-languages 
    'org-babel-load-languages 
    '((emacs-lisp . nil) 
     (R . t) 
     (python . t) 
     (js . t) 
     (scheme . t) 
     (C . t) 
     (clojure . t) 
     (lilypond . t) 
     (octave . t))) 

मुझे नहीं पता कि यह क्यों होगा। मैं पुनरारंभ करने से पहले आर के साथ ठीक काम करने के लिए बेबेल प्राप्त कर लिया था। अब मैं संदेश मिलता है:

byte-code: Symbol's value as variable is void: org-babel-tangle-lang-exts

मैं उल्लेख ऑर्ग-कोलाहल भी चीज के लिए निर्देशिका grep'd और केवल ऊपर अभिव्यक्ति आया। यह प्लस तथ्य यह है कि जब मैं इससे छुटकारा पाता हूं तो मेरे बाकी इनिट-फाइल कोड लोड होते हैं, मुझे लगता है कि यह कोड समस्या है। लेकिन ऑर्ग-मोड एक ऐसे फ़ंक्शन का जिक्र क्यों करेगा जो मेरे पास नहीं है?

रनिंग Emacs --debug-init दिया:

Debugger entered--Lisp error: (void-function org-babel-do-load-languages) (org-babel-do-load-languages (quote org-babel-load-languages) (quote (... ... ... ... ... ... ... ...))) eval-buffer(#load<2>> nil "/home/kca/.emacs.d/init-org.el" nil t) ; Reading at buffer position 3080 load-with-code-conversion("/home/kca/.emacs.d/init-org.el" "/home/kca/.emacs.d/init-org.el" nil nil) load("init-org") eval-buffer(# nil "/home/kca/.emacs.d/init.el" nil t) ; Reading at buffer position 1464 load-with-code-conversion("/home/kca/.emacs.d/init.el" "/home/kca/.emacs.d/init.el" t t) load("/home/kca/.emacs.d/init" t t) #[nil "\205\264

मैं जाँच करने की कोशिश की है, तो सही ऑर्ग मोड संस्करण लोड हो रहा है था:

M-x load-library 
org 
M-x org-version 
=> Org-mode version 7.7 

यहाँ init.el में कोड है कि इसे लोड कर रहा है:

(add-to-list 'load-path (concat conf-dir "org-7.7/lisp")) 
(add-to-list 'load-path (concat conf-dir "org-7.7/contrib/lisp")) 

मैं Emacs 23.2 और Org-7.7 का उपयोग कर रहा हूं। आपकी सहायताके लिए धन्यवाद!

उत्तर

9

असल में, समस्या यह थी कि मुझे संगठन मैन्युअल निर्देशों को समझ में नहीं आया। जाहिर है, मुझे ('org-install की आवश्यकता है) और (' ob-tangle की आवश्यकता है) मेरी init फ़ाइल में साक्षर प्रोग्रामिंग सुविधाओं को प्राप्त करने की आवश्यकता है। मुझे यकीन नहीं है कि मैं आर को पहले कैसे बेबेल में काम करने के लिए मिला था। ओह, ठीक है अब यह काम करता है! # ऑर्ग-मोड आईआरसी चैनल में एडेंक करने के लिए हैट टिप।

2

दोबारा रीबूट करने का प्रयास करें। फिर बाकी को पढ़ें, अगर इससे मदद नहीं मिली ...

यह निर्धारित करने के लिए कि आप कौन सा कोड लोड कर रहे हैं, यह निर्धारित करने के लिए अपनी init फ़ाइल की बाइनरी खोज का उपयोग करें।

सुनिश्चित करें कि आप समस्या कोड के लिए स्रोत कोड (*.el, *.elc) लोड करें।

debug-on-error को गैर-nil पर सेट करें, इसलिए आपको एक बैकट्रैक मिलता है जो आपको त्रुटि के संदर्भ के बारे में कुछ बताता है।

यदि त्रुटि कुछ बाहरी पैकेज में पूरी तरह निहित है, तो सुनिश्चित करें कि उस पैकेज के लिए आपकी सभी फ़ाइलें एक ही पैकेज संस्करण के लिए हैं।

यदि आपके द्वारा बदला गया एकमात्र चीज पुनरारंभ करना था, तो शायद समस्या पर्यावरण चर में है। एक अनुमान यह है कि किसी कारण से आपके चर load-path का सही मूल्य नहीं है, इसलिए यह आपकी आवश्यक सभी फ़ाइलों को लोड नहीं कर रहा है। या हो सकता है कि आपने उस पैकेज के कुछ कोड को स्थानांतरित कर दिया हो?

एचटीएच। आपको समस्या के बारे में और जानने के लिए शुरू करना चाहिए।

संबंधित मुद्दे