From: Mattias EngdegÄrd Date: Wed, 25 Oct 2023 10:14:57 +0000 (+0200) Subject: LLDB support: cope with inserted text being write-protected X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=e3da8edf5e56ef4044da76ac2991aff0dedc33f5;p=emacs.git LLDB support: cope with inserted text being write-protected * lisp/progmodes/gud.el (gud-lldb-marker-filter): Force deletion of the part of the buffer being moved back into filtering again (bug#66738). --- diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el index 8692a6be023..70af736372e 100644 --- a/lisp/progmodes/gud.el +++ b/lisp/progmodes/gud.el @@ -3905,7 +3905,8 @@ so they have been disabled.")) ;; can delete parts of it. (setq string (concat (buffer-substring-no-properties bol (point)) string)) - (delete-region bol (point)))) + (let ((inhibit-read-only t)) + (delete-region bol (point))))) (let ((ofs 0)) (while (string-match (rx (group (* (not (in "\e\n")))) ; preceding chars "\e[" ; CSI @@ -3926,12 +3927,13 @@ so they have been disabled.")) 0))) ;; Erase in display (ED): no further action. prefix-end))) + ;; Delete the control sequence and possibly part of the preceding chars. (setq string (concat (substring string 0 keep-end) (substring string end))) (setq ofs start)))) string) -;; According to SBCommanInterpreter.cpp, the return value of +;; According to SBCommandInterpreter.cpp, the return value of ;; HandleCompletions is as follows: ;; ;; Index 1 to the end contain all the completions.