]> git.eshelyaron.com Git - emacs.git/commitdiff
LLDB support: cope with inserted text being write-protected
authorMattias Engdegård <mattiase@acm.org>
Wed, 25 Oct 2023 10:14:57 +0000 (12:14 +0200)
committerMattias Engdegård <mattiase@acm.org>
Wed, 25 Oct 2023 10:14:57 +0000 (12:14 +0200)
* lisp/progmodes/gud.el (gud-lldb-marker-filter):
Force deletion of the part of the buffer being moved back into
filtering again (bug#66738).

lisp/progmodes/gud.el

index 8692a6be02306146b18b3ca4f76919886a38a750..70af736372efc1923ce2c4fb898cf1284fe21939 100644 (file)
@@ -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.