Subject: bug#57821: 29.0.50; ANSI sequence not filtered in compilation buffer

From: Matthias Meulien <[email-masked]>
Date: Sun, 18 Sep 2022 17:45:45 +0200

"Basil L. Contovounesios" <[email-masked]> writes:

> Matthias Meulien [2022-09-18 15:42 +0200] wrote:
>
>> +*** New package 'osc'.
>> +Support for OSC ("Operating System Command") espace sequences has been
>> +extracted from 'comint.el' in order to provide interpretation of OSC
>> +escape sequences in compilation buffers.
>> +
>> +Adding the new function 'osc-compilation-filter' to
>> +'compilation-filter-hook' enables interpretation of OSC ("Operating
>> +System Command") escape sequences in compilation buffers. By default,
>                                                            ^^
> Two spaces after a full stop, here and in the other patches.

Thanks for your careful reading!  I failed to found places with this
problem in the other patches...

>> +all sequences are filtered out.
>> +
>> +A handler for OSC 2, the command to set a window title, is provided.
>
> Also OSC 7 and 8, no?

Sure, I thought it's a new handler was implicit in the NEWS file; Other
handlers were already mentionned in NEWS.28. But let's try to be more
precise.

>
> BTW, the commentary in comint.el doesn't mention OSC 2.

+1

Here is a patch improving the news entry and fixing the defalias for
variables you mentionned in your other message.  I didn't tried to solve
the alias for the button; I'll have to learn more about aliases first, I
thought that just "maintaining" the symbol would be ok.

diff --git a/etc/NEWS b/etc/NEWS
index 88d00d9474..5fe96b0e0c 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -2441,11 +2441,12 @@ extracted from 'comint.el' in order to provide interpretation of OSC
 escape sequences in compilation buffers.
 
 Adding the new function 'osc-compilation-filter' to
-'compilation-filter-hook' enables interpretation of OSC ("Operating
-System Command") escape sequences in compilation buffers. By default,
-all sequences are filtered out.
+'compilation-filter-hook' enables interpretation of OSC escape
+sequences in compilation buffers.  By default, all sequences are
+filtered out.
 
-A handler for OSC 2, the command to set a window title, is provided.
+The list of handlers (covering OSC 7 and 8) has been extended with a
+handler for OSC 2, the command to set a window title.
 
 +++
 *** New user option 'project-vc-include-untracked'.
diff --git a/lisp/comint.el b/lisp/comint.el
index afaa27c2c0..202cf6eab5 100644
--- a/lisp/comint.el
+++ b/lisp/comint.el
@@ -3910,17 +3910,17 @@ comint-redirect-results-list-from-process
 ;;============================================================================
 ;; Adding `comint-osc-process-output' to
 ;; `comint-output-filter-functions' enables the interpretation of OSC
-;; escape sequences.  By default, OSC 7 and 8 (for current directory
-;; and hyperlinks respectively) are acted upon.  Adding more entries
-;; to `comint-osc-handlers' allows a customized treatment of further
-;; sequences.
+;; escape sequences.  By default, OSC 2, 7 and 8 (for window title,
+;; current directory and hyperlinks respectively) are acted upon.
+;; Adding more entries to `comint-osc-handlers' allows a customized
+;; treatment of further sequences.
 
 ;; Aliases defined for reverse compatibility
-(defalias 'comint-osc-handlers 'osc-handlers)
+(defvaralias 'comint-osc-handlers 'osc-handlers)
 (defalias 'comint-osc-directory-tracker 'osc-directory-tracker)
 (defalias 'comint-osc-hyperlink-handler 'osc-hyperlink-handler)
 (defalias 'comint-osc-hyperlink 'osc-hyperlink)
-(defalias 'comint-osc-hyperlink-map 'osc-hyperlink-map)
+(defvaralias 'comint-osc-hyperlink-map 'osc-hyperlink-map)
 
 (defun comint-osc-process-output (_)
   "Interpret OSC escape sequences in comint output.