emacs अलैसपा में तार जोड़ना




elisp (3)

मुझे निम्नानुसार पथ स्ट्रिंग को जोड़ना होगा, इसलिए मैंने अपनी .emacs फ़ाइल में निम्न पंक्तियाँ जोड़ दी हैं:

(setq org_base_path "~/smcho/time/")
(setq org-default-notes-file-path (concatenate 'string org_base_path "notes.org"))
(setq todo-file-path (concatenate 'string org_base_path "gtd.org"))
(setq journal-file-path (concatenate 'string org_base_path "journal.org"))
(setq today-file-path (concatenate 'string org_base_path "2010.org"))

जब मैं च वी वी today-file-path आरईटी की जांच करता हूं, इसमें कोई भी चर निर्दिष्ट नहीं होता है।

मेरे कोड में क्या गलत है? क्या पथ स्ट्रिंग को जोड़ने के लिए कोई अन्य तरीका है?

संपादित करें

मुझे पता चला कि समस्या गलत सेटअप के कारण हुई थी, कोड वास्तव में काम करता है मेरे कोड से बेहतर उत्तर के लिए धन्यवाद


सबसे पहले, "_" का प्रयोग न करें; इसके बजाय '-' का उपयोग करें इसे अपने .emac में डालें और प्रभाव देखने के लिए emacs (या बफर में एस-एपी का मूल्यांकन) को पुनरारंभ करें:

(setq org-base-path (expand-file-name "~/smcho/time"))

(setq org-default-notes-file-path (format "%s/%s" org-base-path "notes.org")
      todo-file-path              (format "%s/%s" org-base-path "gtd.org")
      journal-file-path           (format "%s/%s" org-base-path "journal.org")
      today-file-path             (format "%s/%s" org-base-path "2010.org"))

आप (concatenate 'string "foo" "bar") (concat "foo" "bar") बजाय (concat "foo" "bar") उपयोग कर सकते हैं काम दोनों, लेकिन निश्चित रूप से पूर्व छोटा है।


डायरेक्टरी के सापेक्ष फ़ाइल नाम बनाने के लिए विस्तार-फ़ाइल-नाम का उपयोग करें :

(let ((default-directory "~/smcho/time/"))
  (setq org-default-notes-file-path (expand-file-name "notes.org"))
  (setq todo-file-path (expand-file-name "gtd.org"))
  (setq journal-file-path (expand-file-name "journal.org"))
  (setq today-file-path (expand-file-name "2010.org")))




elisp