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.