Ning সতর্কতা (বাইটেকম্প) bit কিছুটা অস্পষ্ট - আমি কি আরও কোনও তথ্য পেতে পারি?


11

আমি যখন ইমাস শুরু করি, তখন উইন্ডোতে পপ আপ হওয়ার পরে আমি কয়েকটা বাইট সংকলনের সতর্কতা পেয়েছি:

Warning (bytecomp): `interactive-p' is an obsolete function (as of 23.2); use `called-interactively-p' instead. [7 times]
Warning (bytecomp): Use `with-current-buffer' rather than save-excursion+set-buffer

আমাকে লোকেশন দেওয়ার জন্য আমি কি ইম্যাক্স পেতে পারি?


3
এই তথ্যটি প্রত্যেকের জন্য দরকারী হবে। report-emacs-bugএই বৈশিষ্ট্যটির অনুরোধ করতে Mx ব্যবহার করুন ।
— Abo-abo

আপনি যদি সেট debug-on-messageকরার চেষ্টা করেন Warning (bytecomp), এটি কি ডিবাগারটিকে ট্রিগার করবে না?
— wvxvw

2
আইএমআরসি আপনি যখন ইম্যাকস ফাইলটি জানেন তখন আপনি ফাইলের নাম পান। সুতরাং সম্ভবত উপরোক্ত কিছু এলিস্প কোড থেকে এসেছে যা "ফ্লাইতে উত্পন্ন হয়েছিল" কোনও ফাইলের মধ্যে সংরক্ষণের পরিবর্তে বাইট-সংকলককে দেওয়া হয়েছিল comp 99% ক্ষেত্রে, ইমাকস শুরু করার ক্ষেত্রে আসলে কোনও কোডই সংকলন করা উচিত নয়, তাই সমস্যাটি আরও উচ্চতর স্তরে স্থির করা যেতে পারে।
— স্টিফান

@wvxvw - আমি debug-on-messageকিছুই করার ব্যবস্থা করিনি । শেষ পর্যন্ত, interactive-pপরিণত হয়েছে স্ক্রিন-লাইনস.এল দ্বারা ঘটেছিল, এবং এটি with-current-bufferটিউয়ারেগ-মোডের একটি প্রাচীন সংস্করণের কারণে হয়েছিল। আমি উভয় অপসারণ করার সিদ্ধান্ত নিয়েছে। আমি টুয়ারেগ-মোড ব্যবহার করি না, এবং স্ক্রিন-লাইনস.এলটি বেশ পছন্দ করার পরে, দীর্ঘকাল এটি আমাকে কীবোর্ড ম্যাক্রোগুলির সাথে সমস্ত ধরণের সমস্যা সৃষ্টি করে।
— টম সিডন

উত্তর:


4

display-warningআরম্ভের সময় না হওয়া পর্যন্ত সতর্কতা বিলম্বের কারণে এটি ঘটে । ততক্ষণে ফাইলটির নাম এবং অবস্থান আর জানা যায় না।

(defun display-warning (type message &optional level buffer-name)
  [...]
  (if (not (or after-init-time noninteractive (daemonp)))
      ;; Ensure warnings that happen early in the startup sequence
      ;; are visible when startup completes (bug#20792).
      (delay-warning type message level buffer-name)
    (unless level
    [... ]

আপনার কিছু পরামর্শ দিয়ে এটি অক্ষম করতে সক্ষম হওয়া উচিত:

(defun dont-delay-compile-warnings (fun type &rest args)
  (if (eq type 'bytecomp)
      (let ((after-init-time t))
        (apply fun type args))
    (apply fun type args)))
(advice-add 'display-warning :around #'dont-delay-compile-warnings)

যদিও এটি *Warnings*বাফারটিকে পপ আপ করতে বাধা দিতে পারে (বাগ # 20792-তে বর্ণিত), সুতরাং আপনাকে এটি *Compile-Log*বাফারে ম্যানুয়ালি পরীক্ষা করতে হবে ।

এর পূর্ববর্তী কেসটি এখানে ইমাস-ডেভেল-এ রিপোর্ট করা হয়েছে ( এখানে অবিরত থাকে )।


2

আমি অনুমান করতে যাচ্ছি যে সতর্কতাগুলি ELPA প্যাকেজগুলির ফ্লাই-ইন সংকলন থেকে আসছে। নিম্নলিখিত কোডটি চালানোর চেষ্টা করুন:

(defun my-package-recompile()
  "Recompile all packages"
  (interactive)
  (byte-recompile-directory "~/.emacs.d/elpa" 0 t))

এমএক্স আমার-প্যাকেজ-পুনরায় কম্পাইল করার পরে কমপাইল -লগ বাফারটি স্যুইচ করুন এবং দেখুন যে এই সতর্কতাগুলি সেখানে প্রতিলিপি করা আছে?


আমার একই সমস্যা তবে কেবল প্রথম ত্রুটি এবং 2 বার। এই সমাধান কাজ করে না। এছাড়াও, এটি ড Done (Total of 4 files compiled, 1 failed, 2 skipped in 3 directories)।
— trss

দুঃখিত, ভেবেছিলেন এটি সমস্যা সমাধানের বিষয়ে, আরও তথ্য না পাওয়ার জন্য। আমি এখন ত্রুটিটি অনুসন্ধান করার চেষ্টা করেছি তবে এটি তালিকায় উপস্থিত হয়নি।
— trss
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.