2010-03-04 24 views
12

(interactive) elisp फ़ंक्शन पर अपना पूरा करने का कोई तरीका है? आदर्श रूप में, मैं इसे तारों की एक सूची पास करना चाहता हूं जो इसे टैब-पूर्ण करेगा। मुझे पता है कि (interactive "D"), (interactive "F") या (interactive "b") क्रमशः निर्देशिकाओं, फ़ाइलों और बफर-नामों के लिए पूरा करने के लिए, लेकिन अधिक सामान्य इनपुट के बारे में क्या है?पूरा करने के लिए (इंटरैक्टिव)

उत्तर

24

interactive पर तर्क एक स्ट्रिंग नहीं होना चाहिए; यदि ऐसा नहीं है, तो फ़ंक्शन को पास करने के लिए तर्कों की सूची प्राप्त करने के लिए इसका मूल्यांकन किया जाता है।

(defun insert-foo-bar-or-baz (arg) 
    (interactive 
    (list 
    (completing-read "Choose one: " '("foo" "bar" "baz")))) 
    (insert arg)) 
+0

/facepalm अब जब कि मैं एक उदाहरण देखा है, 'interactive' सही समझ में आता है के लिए' एम एक्स apropos' प्रविष्टि में उस टिप्पणी: इसलिए, आप कुछ इस तरह कर सकते हैं। – Inaimathi

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