2009-05-22 11 views
29

के साथ संगत php-mode (और अन्य सीसी-मोड व्युत्पन्न मोड) बनाना I Emss 23 और php-mode.el 1.5.0 का उपयोग कर रहा हूं। जब मैं अपने .emacs में यह है:एएमएक्स 23

Warning (initialization): An error occurred while loading `/Users/kdj/.emacs':

error: `c-lang-defconst' must be used in a file

To ensure normal operation, you should investigate and remove the cause of the error in your initialization file. Start Emacs with the `--debug-init' option to view a complete error backtrace.

अगर मैं (require 'php-mode) का मूल्यांकन करने के बाद Emacs शुरू होता है, मैं किसी भी त्रुटि संदेश नहीं मिलता है:

(require 'php-mode) 

जब Emacs शुरू होता है मैं यह त्रुटि संदेश मिलता है।

मुझे blog entry मिला जो इंगित करता है कि यह समस्या Emacs 23 के लिए विशिष्ट है (यानी, Emacs 22.x के साथ कोई त्रुटि नहीं है), लेकिन यह कोई समाधान नहीं देता है।

मुझे नहीं पता कि यह मायने रखता है, लेकिन मैं मैक   ओएस   एक्स का उपयोग कर रहा हूं, और मैंने ./configure --with-ns का उपयोग करके वर्तमान सीवीएस स्रोतों से Emacs बनाया है।

यहां क्या हो रहा है, और/या मैं इसे कैसे ठीक कर सकता हूं?

+0

मैं Emacs 23 और 'php-mode' का उपयोग Emacs स्टार्टर किट (v1.5.0) के साथ भेज दिया। यह काम करता हैं। आपके पास आपके .emacs में कुछ अन्य मोड हो सकते हैं जो 'php-mode' को प्रभावित करते हैं। –

+0

मैंने अपने .emacs को केवल "(ऐड-टू-लिस्ट 'लोड-पथ" ~/elisp ") में बदल दिया है (' php-mode की आवश्यकता है)", और समस्या बनी रहती है। –

+0

क्या आप अपने डॉटमैक्स कहीं ऑनलाइन डाल सकते हैं? –

उत्तर

51

csharp-mode को चलाने और चलाने की कोशिश करते समय मैं एक ही समस्या में भाग गया। मैं अंत में समाधान मिल गया जब कोई तिथि नहीं-मोड के लिए वास्तविक Emacs लिस्प फ़ाइल में खुदाई:

;; This code doesn't seem to work when you compile it, then 
;; load/require in the Emacs file. You will get an error (error 
;; "`c-lang-defconst' must be used in a file") which happens because 
;; cc-mode doesn't think it is in a buffer while loading directly 
;; from the init. However, if you call it based on a file extension, 
;; it works properly. Interestingly enough, this doesn't happen if 
;; you don't byte-compile cc-mode. 

तो, अपने .emacs में डालने के लिए त्वरित और गंदी ठीक ऑटो लोड करने के लिए विस्तार पर है और नहीं डाल (require 'php-mode) या (load "php-mode") वहाँ पर। आगे के बिना,

(autoload 'php-mode "php-mode" "Major mode for editing php code." t) 
(add-to-list 'auto-mode-alist '("\\.php$" . php-mode)) 
(add-to-list 'auto-mode-alist '("\\.inc$" . php-mode)) 

मुझे उम्मीद है कि इससे मदद मिलती है! अब मुझे सिर्फ PHP/HTML मोड स्विचिंग सामग्री को काम करने की आवश्यकता है। मुझे शुभकामनाएँ दें।

+0

बहुत बढ़िया! यह पूरी तरह से काम करता है। –

+0

मेरे लिए भी काम करता है – Matt

+0

पार्टी के लिए देर हो चुकी है, लेकिन इसके लिए बहुत बहुत धन्यवाद। मुझे लिनक्स पर कोई समस्या नहीं है, लेकिन विंडोज़ पर, मुझे यह वही त्रुटि मिल रही थी, क्योंकि एनएक्सएचटीएमएल अपने आप पर बहुत सी चीजें ऑटोलोड करता है। मैंने अपनी सीसी - *। Elc फ़ाइलों को हटा दिया, और त्रुटियां चली गईं। – monksp

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