উত্তর:
আমি নিশ্চিত নই যে আপনি এটি চান (আমি জানি না আপনি "কিছু নির্দিষ্ট শর্তে" কী বোঝাতে চেয়েছেন) তবে এখানে একটি ফাংশন আমি *Packages*
বাফার না দেখিয়ে সমস্ত প্যাকেজ আপগ্রেড করতে ব্যবহার করি যা আমি কেবল চাইলেই বিরক্তিকর বলে মনে করি প্যাকেজ আপগ্রেড করতে।
(defun package-upgrade-all ()
"Upgrade all packages automatically without showing *Packages* buffer."
(interactive)
(package-refresh-contents)
(let (upgrades)
(cl-flet ((get-version (name where)
(let ((pkg (cadr (assq name where))))
(when pkg
(package-desc-version pkg)))))
(dolist (package (mapcar #'car package-alist))
(let ((in-archive (get-version package package-archive-contents)))
(when (and in-archive
(version-list-< (get-version package package-alist)
in-archive))
(push (cadr (assq package package-archive-contents))
upgrades)))))
(if upgrades
(when (yes-or-no-p
(message "Upgrade %d package%s (%s)? "
(length upgrades)
(if (= (length upgrades) 1) "" "s")
(mapconcat #'package-desc-full-name upgrades ", ")))
(save-window-excursion
(dolist (package-desc upgrades)
(let ((old-package (cadr (assq (package-desc-name package-desc)
package-alist))))
(package-install package-desc)
(package-delete old-package)))))
(message "All packages are up to date"))))
এটি ভাল চেষ্টা করা হয়। এটি সংকলন বাফারগুলি পপিংয়ে প্রতিরোধ করে।
(y-or-n-p (message ..))
পরিবর্তে কিছু করার কারণ আছে কি (y-or-n-p ...)
?
message
মনে হচ্ছে, মনে হয় এটি format
ঠিক পাশাপাশি করা সম্ভব।
format
। স্পষ্টতই আপনি কোনও ধরণের স্ট্রিং ইন্টারপোলেশন ছাড়াই এটি করতে পারবেন না।
আপনি অটো-প্যাকেজ-আপডেট ব্যবহার করতে পারেন ।
এটি দ্বারা ইনস্টল করুন M-x package-install auto-update-package
। এটি বলা একটি ফাংশন সরবরাহ করে auto-package-update-now
। আপনি একটি সাধারণ if
শর্ত লিখতে পারেন এবং এটি আপনার যুক্ত করতে পারেন .emacs
।
(if your-condition
(auto-package-update-now))
প্যাকেজটিকে এখন অটো-প্যাকেজ আপডেট বলা হয়। (উপরে চিলার পোস্টে মন্তব্য হিসাবে এটি লেখার জন্য খুব স্বল্প খ্যাতি))
(তার পোস্ট থেকে অনুলিপি করা হয়েছে এবং এই উত্তরের সাথে মিশে গেছে):
এটি দ্বারা ইনস্টল করুন M-x package-install auto-package-update
। এটি বলা একটি ফাংশন সরবরাহ করে auto-package-update-now
। আপনি যদি একটি শর্ত লিখতে পারেন এবং এটি আপনার যুক্ত করতে পারেন ~/.emacs
।
(if your-condition
(auto-package-update-now))
paradox
সাথে সমস্ত প্রতিস্থাপন করুনpackage
)।