(defun some-function (beginning end)
(interactive "r")
(if (use-region-p)
(message "The region is active, and is from %d to %d" beginning end)
(message "The region is still there (from % d to %d), but it is inactive"
beginning end)))
ব্যবহারের (interactive "r")
মানে যে পরামিতি beginning
এবং end
স্বয়ংক্রিয়ভাবে অঞ্চল শুরুতে এবং অঞ্চলের সমাপ্তি মান পাবেন যথাক্রমে, ফাংশন প্রার্থনা যখন। (আপনি যথাক্রমে ফাংশন ব্যবহার করে region-beginning
এবং region-end
যথাক্রমে সেই মানগুলি পেতে পারেন ))
অঞ্চলটি সর্বদা উপস্থিত থাকে (যদি বর্তমান বাফারটিতে কোনও চিহ্ন থাকে) তবে আপনি সম্ভবত এটি ভাববেন না। অঞ্চলটি সক্রিয় যখন এটি হাইলাইট করা হয় (পাঠ্য নির্বাচিত হয়)। অঞ্চলটি প্রাকটিকেট ব্যবহার করে সক্রিয় কিনা তা আপনি পরীক্ষা করতে পারেন region-active-p
। তবে আরও ভাল পরীক্ষাটি সাধারণত হয় use-region-p
, কারণ (পূর্বনির্ধারিতভাবে) nil
অঞ্চলটি সক্রিয় এবং অযৌক্তিকভাবে উভয় (বিন্দু এবং চিহ্ন পৃথক) হলেই এটি সত্য (অ- ) প্রত্যাবর্তন করে ।
মূলত, অঞ্চলটির কোনও হাইলাইটিং ছিল না। এবং দীর্ঘ সময়ের জন্য, হাইলাইটিং পাওয়া গেলেও এটি ডিফল্ট আচরণ ছিল না। হাইলাইট হওয়ার জন্য, আপনার অবশ্যই transient-mark-mode
চালু (বা কমপক্ষে অস্থায়ীভাবে চালু) থাকতে হবে। ডিফল্ট হিসাবে, transient-mark-mode
সাম্প্রতিক Emacs সংস্করণে চালু করা হয়।
এটি ভবিষ্যদ্বাণীকের সংজ্ঞাটি দেখতে সহায়ক use-region-p
:
(defun use-region-p ()
(and (region-active-p)
(or use-empty-active-region
(> (region-end) (region-beginning)))))
use-empty-active-region
একটি ব্যবহারকারীর বিকল্প, যার ডিফল্ট মান nil
(সত্য), অর্থ use-region-p
অঞ্চলটি খালি থাকলে ডিফল্টরূপে সত্য হয় না। সেক্ষেত্রে, এটি সত্যে ফিরে আসার জন্য, অঞ্চলের শেষটি অবশ্যই শুরুর চেয়ে বড় হতে হবে (আমি উপরে বর্ণিত আচরণ)।
এবং যদি আমরা এর সংজ্ঞাটি দেখি region-active-p
:
(defun region-active-p ()
(and transient-mark-mode
mark-active
(mark)))
আমরা দেখতে পাচ্ছি যে এটিগুলি সত্য (অ- nil
) প্রত্যাবর্তন করে যখন এগুলি সমস্ত সত্য হয়:
transient-mark-mode
চালু আছে
- চিহ্নটি সক্রিয় (
mark-active
)।
- বর্তমান বাফারে একটি চিহ্ন রয়েছে।
সক্রিয় হওয়ার চিহ্নটি এই অঞ্চলটি সক্রিয় হওয়া সম্পর্কেই সত্য। এটি যখন সক্রিয় থাকে তখন ধরে নিই যে transient-mark-mode
এটি চালু আছে এবং বর্তমান বাফারে একটি চিহ্ন রয়েছে, অঞ্চলটি হাইলাইট করা হবে।