দুষ্ট মোডে পূর্বাবস্থায় গাছ ব্যবহার না করা সম্ভব?


12

প্রতিবার প্রায়শই আমি পূর্বাবস্থায় থাকা বাগগুলিতে চলে যাই, যেখানে আমি আর করতে পারি না, নিম্নলিখিত পরিচিত বাগ সহ , অন্য একটি প্রতিবেদন এবং থ্রেড থ্রেড

primitive-undo: Unrecognized entry in undo list undo-tree-canary

এটি সত্যিই খারাপ এবং যদি আপনি ফাইলটির নতুন সংস্করণটি সংরক্ষণ না করেন তবে কাজের ক্ষতি হতে পারে।


যেহেতু আমি কখনই শাখা প্রশাখার কাজটিকে পূর্বাবস্থায় ফেরাতে ব্যবহার করি না, তাই মন্দ মোডের সাথে ইম্যাক্স লিনিয়ার পূর্বাবস্থায় ব্যবহার করা কি সম্ভব?


দ্রষ্টব্য: আমি (global-undo-tree-mode -1)সরাসরি সেটিংয়ের চেষ্টা করেছি (evil-mode 1)যার পরে গাছ পূর্বাবস্থায় ফিরে আসা অক্ষম করে তবে পুনরায় (Ctrl-R) এটি করার পরে কাজ করে না।


2
ইমাকসের কোনও 'রিডো' কমান্ড নেই (পরিবর্তে আপনি পূর্বাবস্থায়িত ক্রমটি বাধাগ্রস্থ করেন, এবং তারপরে পূর্বাবস্থায়িত কমান্ডগুলির পূর্ববর্তী ক্রমটি পূর্বাবস্থায় ফেরান)। মনে হচ্ছে আপনি যা করেছেন তা সঠিকভাবে কাজ করেছে।
ফিল্ডস

1
যদি আপনার লক্ষ্যটি পূর্বে-গাছ স্থির করা হয় তবে দয়া করে এর লেখকের সাথে যোগাযোগ করুন এবং তাদের একটি ইমেল লিখুন। ইমাস-ডেভেলতে অভিযোগ করা জিনিসগুলি ঠিক করে না। তেমনি, যদি আপনার লক্ষ্যটি হ'ল এভিলকে ভ্যানিলা আনডো ব্যবহারের অনুমতি দেওয়া হয় তবে এর বাগ ট্র্যাকারে একটি টিকিট খুলুন। ভ্যানিলা পূর্বাবস্থায় ফিরার বিষয়টি কেবল পূর্বেই থাকলেও মনে রাখবেন, পূর্বেই পূর্বাবস্থায় ফিরবেন না, সুতরাং কেন প্রাক-গাছ প্রথম স্থানে ব্যবহৃত হয়।
ওয়াসমাস

1
আমার লক্ষ্য কাজটি পূর্বাবস্থায় ফিরানো / পুনরায় করা। আমি ঠিক যে কিভাবে fussed না। যেহেতু আমি পূর্বাবস্থায় গাছের কার্যকারিতাটি ব্যবহার করি না আমি ভেবেছিলাম বিল্ট-ইন পূর্বাবস্থায় ইমাস ব্যবহার করা সহজ। তবুও, আমি বাগটি পূর্বাবস্থায় লেখককে জানিয়েছি।
ধারণাগুলি 42

আমার ঠিক একই সমস্যা আছে, এটি প্রতিদিন প্রায় একবার ঘটে এবং খুব হতাশাবোধ হয়
cjhanhanon

উত্তর:


7

undo-tree.elটবি কিবিট এর লেখক বর্তমানে এই বিশেষ বাগটি ঠিক করতে খুব ব্যস্ত। ভবিষ্যতে যদি তার সময় থাকে তবে তিনি আরও এই বিষয়টি সন্ধান করতে পারেন। লেখক ইঙ্গিত করেছেন যে নির্ভরযোগ্যভাবে ত্রুটিটি পুনরুত্পাদন করতে তার অসুবিধা হয়েছে এবং তিনি সম্প্রতি মাস্টার শাখা ব্যবহার করে পুনরুত্পাদন করতে অক্ষম ছিলেন। পূর্বাবস্থায় / পুনরায়-অঞ্চলে ব্যবহার করার সময় এটি ঘটে occurs এর মধ্যে লেখক কেবল পূর্ববর্তী / পুনরায়-অঞ্চলের বৈশিষ্ট্যটি বন্ধ করার পরামর্শ দিয়েছেন।

emacs -qইমাকের বর্তমান স্থিতিশীল রিলিজ (উদাহরণস্বরূপ, 25.2.1) এবং মাস্টার শাখার অতি সাম্প্রতিক সংস্করণ উভয়ই ব্যবহার করে আরম্ভ করে সমস্যাটিকে পুনরুত্পাদন করার জন্য একটি নির্ভরযোগ্য উপায় নিয়ে উত্সাহিত আমি দৃ strongly়ভাবে উত্সাহিত করব would অংশগ্রহণকারীদের (স্টেফান, টবি, ব্যারি এবং কিথ) কার্বন কপি সহ 16377 বাগের ট্র্যাকিং নম্বরটিতে এই রেসিপিগুলি জমা দিন।

প্রধান ট্র্যাকিং নম্বর 16377, এবং এখানে সম্পর্কিত ট্র্যাকিং নম্বর 16523 রয়েছে:

https://debbugs.gnu.org/cgi/bugreport.cgi?bug=16377

https://debbugs.gnu.org/cgi/bugreport.cgi?bug=16523

এখানে undo/redo-in-regionবৈশিষ্ট্যটি বন্ধ করে দেওয়া হয়েছে :

(setq undo-tree-enable-undo-in-region nil)

1
এই workaround কাজ করে না - আমি চেষ্টা করেছিলাম এবং এখনও মাঝে মাঝে ভাঙ্গা আবার করতে।
ধারণাগুলি 42

@ ideasman42 - যতদুর আমি জানি, টবি Cubitt বর্তমানে অজ্ঞাত যে ত্রুটিটি ঘটতে পারে যখন undo-tree-enable-undo-in-regionহয় nil; এবং, আমি কখনও দেখিনি যে এটি পূর্ববর্তী অঞ্চলে ব্যবহারের বাইরে ঘটে। আপনি যদি ত্রুটিটি পুনরুত্পাদন করার একটি রেসিপি নিয়ে আসতে সক্ষম হন তবে দয়া করে এটি ইম্যাক্স টিমকে জানান - ডক্টর কিউবিটের কাছে একটি কার্বন কপিও সহায়ক হবে, এবং যদি খুব বেশি সমস্যা না হয় তবে আমি অবশ্যই প্রশংসা করব আপনি যদি নির্ভরযোগ্য একটি সাথে আসতে সক্ষম হন তবে রেসিপি। দুঃখিত যে আপনার সমস্যা রয়েছে ...
আইনজীবি

আমি কোনও প্রতিক্রিয়া ছাড়াই একটি বাগ রিপোর্ট মেল করেছি (কিছু মাস আগে)। এই জাতীয় প্রকল্পগুলির উপর অনেক লোক নির্ভর করে যাতে সত্যই একটি সর্বজনীন বাগ ট্র্যাকার থাকা উচিত।
ধারণাগুলি 42

16377 এবং 16523 প্রকৃতপক্ষে সর্বজনীন ইমাক্স বাগ ট্র্যাকিং নম্বর এবং undo-treeআনুষ্ঠানিকভাবে elpaভান্ডারগুলির একটি অংশ । আপনি স্ট্যান্ডার্ড রিপোর্ট ইম্যাকস বাগ ব্যবহার করতে পারেন; তবে, শেষ ফলাফলটি একই হতে পারে - অর্থাত্ ড। কিউবিট তার ব্যস্ততার জন্য কিছুটা নিখরচায় সময় খোঁজার জন্য অপেক্ষা করছেন ... কিছু সময়ে, অন্য কোনও পূর্বসূরি গুরু এসে প্যাকেজটি রক্ষণাবেক্ষণে সহায়তা করতে পারে। আমি পূর্ব-বৃক্ষের একটি কাস্টম কাঁটা তৈরি করতে অনেক সময় ব্যয় করেছি যা আধা-রৈখিক ফ্যাশনে পূর্বাবস্থায় ফিরতে / আবার করতে পারে, এবং এখনও এটি কীভাবে কাজ করে তার সম্পর্কে আমার কেবল একটি প্রাথমিক ধারণা রয়েছে ...
আইনজীবি

1

স্পষ্টতই আপনি evil / .emacs.d / elpa / মন্দ-এক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্স / ডির মধ্যে দুষ্ট- pkg.el সম্পাদনা করতে পারেন এবং প্রয়োজন হিসাবে পূর্বাবস্থায় গাছ মুছতে পারেন:

(define-package "evil" "20140109.605" "Extensible Vi layer for Emacs." '((goto-chg "1.6")))

সূত্র


এটি পূর্বাবস্থায় ফিরবে / আবার করবে যা ওপি চায় না।
ওয়াসমাস

1
আমি সংযুক্ত ব্লগের লেখক বলেছিলেন যে এটি তাকে ইমাসের ভ্যানিলা পূর্বাবস্থায় ফেলার অনুমতি দিয়েছে, মনে হয় ওপি যখন "অভীর্ণ গাছ অক্ষম করুন" বলেছিলেন তখন এটিই চেয়েছিল।
দফতউলি

1
এটি সত্যিই একটি শেষ-অবলম্বন জিনিস হওয়া উচিত, কারণ পরের বার আপনি প্যাকেজগুলি আপডেট করবেন, এই স্বনির্ধারণটি ওভাররাইট করা হবে। আপনার init ফাইলটি কনফিগার করে আপনি যে আচরণ চান তা পাওয়ার উপায় খুঁজে পাওয়া ভাল।
zck

আমি সম্মত হই, দুর্ভাগ্যক্রমে মনে হ'ল মন্দতে পূর্বে গাছটিকে অক্ষম করার একমাত্র উপায়।
দফটওয়ুলি

আমার জন্য কাজ করে না। আমি প্রয়োজনীয়তা সম্পর্কে মন্তব্য করেছি, এবং undo-treeপ্যাকেজটি সরানো হয়েছে যাতে এটি লোড হয় না। এখন "পুনরায়" ব্যবহার করা ব্যর্থ হয় Wrong type argument: commandp, redo
হাই-এঞ্জেল

1

সম্পাদনা করুন, এটি এখন একটি প্যাকেজ যা অশুভ-মোড - পূর্বাবস্থায়িতকরণ - এর সাথে পূর্বাবস্থায় ফিরিয়ে আনার জন্য ব্যবহার করা যেতে পারে ।


আমি বেশ কিছুদিন ধরে দুষ্টু ডাব্লু / ও পূর্ববর্তী গাছ ব্যবহার করে যাচ্ছি তার পরে নিজের প্রশ্নের উত্তর যুক্ত করা হচ্ছে।

যা Emacs গোপন এই কাজ আশ্চর্যজনক কূপের পূর্বাবস্থা / পুনরায় করুন ভালো কিছু ভারী ছাড়া পূর্বাবস্থা undo-treeবা redo+

(global-undo-tree-mode -1)

(defun simple-redo ()
  (interactive)
  (let
    (
      (last-command
        (cond
          ;; Break undo chain, avoid having to press Ctrl-G.
          ((string= last-command 'simple-undo) 'ignore)
          ;; Emacs undo uses this to detect successive undo calls.
          ((string= last-command 'simple-redo) 'undo)
          (t last-command))))
    (condition-case err
      (progn
        (undo) t)
      (user-error
        (message "%s" (error-message-string err)))))
  (setq this-command 'simple-redo))

(defun simple-undo ()
  (interactive)
  (let
    (
      (last-command
        (cond
          ;; Emacs undo uses this to detect successive undo calls.
          ((string= last-command 'simple-undo) 'undo)
          ((string= last-command 'simple-redo) 'undo)
          (t last-command))))
    (condition-case err
      (progn
        (undo-only) t)
      (user-error
        (message "%s" (error-message-string err)))))
  (setq this-command 'simple-undo))
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.