कंसोल में एमएसीएस चलाते समय "सिंबल के फंक्शन डेफिनिशन को शून्य: त्रुटि" को कैसे रोका जाए?


11

मेरे द्वारा .acac फ़ाइल में जोड़े गए (टॉगल-स्क्रॉल-बार -1) में स्क्रॉलबार को अक्षम करने के लिए जब मैं कंसोल मोड के बाहर एमएसीएस चलाता हूं तो यह बहुत अच्छा होता है। हालाँकि जब मैं टर्मिनल में ईमैक्स चलाता हूं तो मुझे त्रुटि मिलती है प्रतीक की फ़ंक्शन परिभाषा शून्य है: टॉगल-स्क्रॉल-बार

मैं 23.3.1 Emacs चला रहा हूं

जब मैं -debug-init चलाता हूं तो ट्रेस होता है

    1 Debugger entered--Lisp error: (void-function scroll-bar-mode)                
    2   (scroll-bar-mode -1)                                                       
    3   eval-buffer(#<buffer  *load*> nil "/Users/neil/.emacs.d/init.el" nil t)  ;$
    4   load-with-code-conversion("/Users/neil/.emacs.d/init.el" "/Users/neil/.ema$
    5   load("/Users/neil/.emacs.d/init" t t)                                      
    6   #[nil "^H\205\264^@   \306=\203^Q^@\307^H\310Q\2027^@ \311=\2033^@\312\307$
    7   command-line()                                                             
    8   normal-top-level()

Emacs ने संभवतः आपको एक चेतावनी बफ़र देते हुए कहा कि आप Emacs को --debug-initपूर्ण त्रुटि बैकट्रेस प्राप्त करने के विकल्प के साथ चला सकते हैं। कोशिश करें और उस जानकारी को प्रश्न में जोड़ें। Emacs संस्करण के साथ M-x emacs-version। कोड का वह हिस्सा ठीक 23.2 Emacs के साथ काम करता है।
ट्रे जैक्सन

@ ट्रेक जैक्सन, मैंने आपके द्वारा अनुरोध किए गए विवरणों को जोड़ा, मुझे लगता है कि एमएसीएस 23.1 चल रहा है, इसलिए मैं उन्नयन की कोशिश करूंगा। आपके सुझावों के लिए धन्यवाद।
bneil

बहुत अजीब। ठीक है, अगला परीक्षण Emacs w / .emacs को बाहर कर रहा है emacs -nw -q, और फिर स्क्रैच बफर में टाइप करें (scroll-bar-mode -1)C-jऔर देखें कि क्या आपको कोई त्रुटि मिलती है। उस फ़ंक्शन को scroll-bar.elपैकेज में Emacs के साथ वितरित किया गया है, इसलिए मैं अनुमान लगा रहा हूं कि आपके .emacsपास कुछ अजीब है, या Emacs ठीक से स्थापित नहीं किया गया था।
ट्रेक जैक्सन

मुझे यह त्रुटि करने पर है कि डीबगर ने प्रवेश किया - लिस्प त्रुटि: (शून्य-फ़ंक्शन स्क्रॉल-बार-मोड) (स्क्रॉल-बार-मोड -1) eval (-स्क्रॉल-बार-मोड -1) eval-last-sexp -1 (t) eval-last-sexp (t) eval-print-last-sexp () कॉल-इंटरलीली (eval-print-last-sexp nil nil)
bneil

यहाँ मेरी
.emacs

जवाबों:


14

FWIW। Emacs मैनुअल window-systemएक विधेय के रूप में उपयोग को हतोत्साहित करता है।

विंडो-सिस्टम और प्रारंभिक-विंडो-सिस्टम का उपयोग विधेय या बूलियन ध्वज चर के रूप में न करें, यदि आप कोड लिखना चाहते हैं जो पाठ टर्मिनलों और ग्राफिक डिस्प्ले पर अलग तरह से काम करता है। ऐसा इसलिए है क्योंकि विंडो-सिस्टम किसी दिए गए डिस्प्ले प्रकार पर Emacs क्षमताओं का अच्छा संकेतक नहीं है। इसके बजाय, डिस्प्ले-ग्राफिक-पी या किसी अन्य डिस्प्ले का उपयोग करें - * - पी डिस्प्ले फीचर टेस्टिंग में वर्णित भविष्यवाणी करता है।

http://www.gnu.org/software/emacs/manual/html_node/elisp/Window-Systems.html

मैं इसका उपयोग स्क्रॉलबार और टूलबार बंद करने के लिए करता हूं जब एक ग्राफिकल डिस्प्ले में होता है।

(if (display-graphic-p)
    (progn
      (tool-bar-mode -1)
      (scroll-bar-mode -1)))

5

जबकि मुझे लगता है कि @ नीकॉन्क का उत्तर सबसे अच्छा है और सभी ठिकानों को कवर करता है, विशेष रूप से स्क्रॉल पट्टी को अक्षम करने के लिए जिसे आप निम्नलिखित में डाल सकते हैं ~/.emacs

(if (fboundp 'scroll-bar-mode) (scroll-bar-mode -1))

-2

मेरा अनुमान है कि जब आप खुले emacs -nwemacs भी स्क्रॉल-बार लोड करने के लिए परेशान नहीं करता है। यही कारण है कि यह समारोह खोजने में परेशानी हो रही है toggle-scroll-bar
इसके बजाय हो सकता है अगर आप
(scroll-bar-mode -1)
काम करते हैं।


1
(toggle-scroll-bar -1)emacs -nwEmacs 23.2 के लिए बस ठीक काम करता है ...
Trey Jackson
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.