ইমাস 24.3 বা নীচে
এই পুরানো ফাইলগুলি লোড হওয়া থেকে রোধ করার কোনও অন্তর্নির্মিত উপায় নেই তবে এগুলি থেকে মুক্তি পাওয়ার সহজ উপায় রয়েছে।
- আপনি কল করে সমগ্র elpa ডিরেক্টরির কম্পাইল করতে পারেন:
M-x byte-recompile-directory RET ~/.emacs.d/elpa/
।
এটি পুরানো ফাইলগুলি থেকে মুক্তি পাওয়া উচিত।
- আপনি স্বতঃ-সংকলন প্যাকেজটি ব্যবহার করতে পারেন
এবং সক্রিয়
auto-compile-on-load-mode
করতে পারেন যা ফাইলগুলি লোড হওয়ার আগে সংকলন করতে পারে।
ইমাস 24.4
হ্যাঁ, এবং এটি বরং সহজ হতে দেখা যাচ্ছে। load-prefer-newer
পরিবর্তনশীল অবিকল এই উদ্দেশ্যে কাজ করে।
(setq load-prefer-newer t)
দুর্ভাগ্যক্রমে, যখন কোনও কোড নির্দিষ্টভাবে .elc
ফাইলটিকে লক্ষ্য করে তখন এটি কাজ করবে না
(load "server.elc")
। তবে এটি যতক্ষণ না আপনি ব্যবহার করছেন require
বা load
প্রত্যয় ছাড়াই কল করছেন যতক্ষণ না আপনার উচিত উচিত।
ডক থেকে:
লোড-পছন্দ-নবতর lread.c এ সংজ্ঞায়িত একটি পরিবর্তনশীল।
এর মান শূন্য
ডকুমেন্টেশন:
অ-নিল মানে বোঝা কোনও ফাইলের নতুন সংস্করণটিকে পছন্দ করে।
এটি যখন প্রয়োগ হয় যখন কোনও ফাইল নাম প্রত্যয় স্পষ্টভাবে নির্দিষ্ট না করা হয় এবং লোড বিভিন্ন সম্ভাব্য প্রত্যয় চেষ্টা করে (লোড-প্রত্যয় এবং লোড-ফাইল-পুনরায় প্রত্যয় দেখুন)। সাধারণত, এটি উপস্থিত থাকে এমন প্রথম ফাইলটিতে থেমে থাকে যা আপনি স্পষ্টভাবে একটি বা অন্যটিকে নির্দিষ্ট না করে। যদি এই বিকল্পটি অ-শূন্য থাকে তবে এটি সমস্ত প্রত্যয় পরীক্ষা করে এবং যে কোনও ফাইল সর্বাধিক ব্যবহার করে uses
নোট করুন যে আপনি যদি এটি কাস্টমাইজ করেন তবে অবশ্যই এটি আপনার কাস্টমাইজেশনগুলি পড়ার আগে লোড হওয়া ফাইলগুলিকে প্রভাবিত করবে না!
auto-compile
ইমাম 24.4+ তে পাশাপাশি (নীচে !) লাইব্রেরিটি ব্যবহার করুন । এটি একটি আসল কনফিগার-ও-ভুলে যাওয়া সমাধান।load-prefer-newer
কেবলমাত্র তা নিশ্চিত করে যে আপনার সংকলিত কোডটি পুরানো হয়ে যাওয়ার পরে আপনি ধীর অমীমাংসিত কোড চালাবেন ।