[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#40323: 28.0.50; error in process filter: Invalid search bound (wrong

From: Noam Postavsky
Subject: bug#40323: 28.0.50; error in process filter: Invalid search bound (wrong side of point)
Date: Mon, 30 Mar 2020 10:50:55 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (windows-nt)

Jacob Lagares Pozo <address@hidden> writes:

> Debugger entered--Lisp error: (error "Invalid search bound (wrong side of 
> point)")
>   re-search-forward("\33\\[[0-?]*[ -/]*[@-~]" #<marker at 1 in *Async Shell 
> Command*> t)
>   ansi-color-apply-on-region(#<marker at 152 in *Async Shell Command*> 
> #<marker at 1 in *Async Shell Command*>)
>   ansi-color-process-output("[03/29/20, 16:21:53:387] info: [FOCUS-EVENT] 
> Clien...")
>   run-hook-with-args(ansi-color-process-output "[03/29/20, 16:21:53:387] 
> info: [FOCUS-EVENT] Clien...")
>   comint-output-filter(#<process Shell> "[03/29/20, 16:21:53:387] info: 
> [FOCUS-EVENT] Clien...")

It looks like the start and end markers are the wrong way around.  Does
the patch below help?  If yes, the next question would be how they got
that way.  Perhaps that indicates a problem in comint.el?

--- i/lisp/ansi-color.el
+++ w/lisp/ansi-color.el
@@ -222,6 +222,10 @@ ansi-color-process-output
        (end-marker (process-mark (get-buffer-process (current-buffer)))))
+    (when (> start-marker end-marker)
+      (let ((s start-marker))
+        (setq start-marker end-marker
+              end-marker s)))
     (cond ((eq ansi-color-for-comint-mode nil))
          ((eq ansi-color-for-comint-mode 'filter)
           (ansi-color-filter-region start-marker end-marker))

reply via email to

[Prev in Thread] Current Thread [Next in Thread]