Actually, Print cannot be easily used in meson.build because meson won't 
allow the string "\n".

On Tuesday, March 3, 2026 at 12:08:50 PM UTC-6 Marc Culler wrote:

> I see.  Indeed, there are other escape sequences that could sneak if if 
> GAP tries to color its output.
>
> The -E option looks like the key.  I tested like this on my docker image:
>
> [root@f52defcaf0a7 sage-10.9]#  local/bin/gap -r -q --bare --nointeract -c 
> 'Display(JoinStringsWithSeparator(GAPInfo.RootPaths,";"));' > output
> [root@f52defcaf0a7 sage-10.9]# od -a output
> 0000000 esc   [   ?   1   0   3   4   h   /   v   a   r   /   t   m   p
> 0000020   /   s   a   g   e   -   1   0   .   9   /   l   o   c   a   l
> 0000040   /   l   i   b   /   g   a   p   /   ;   /   v   a   r   /   t
> 0000060   m   p   /   s   a   g   e   -   1   0   .   9   /   l   o   c
> 0000100   a   l   /   s   h   a   r   e   /   g   a   p   /  nl
> 0000116
> [root@f52defcaf0a7 sage-10.9]#  local/bin/gap -E -r -q --bare --nointeract 
> -c 'Display(JoinStringsWithSeparator(GAPInfo.RootPaths,";"));' > output
> [root@f52defcaf0a7 sage-10.9]# od -a output
> 0000000   /   v   a   r   /   t   m   p   /   s   a   g   e   -   1   0
> 0000020   .   9   /   l   o   c   a   l   /   l   i   b   /   g   a   p
> 0000040   /   ;   /   v   a   r   /   t   m   p   /   s   a   g   e   -
> 0000060   1   0   .   9   /   l   o   c   a   l   /   s   h   a   r   e
> 0000100   /   g   a   p   /  nl
> 0000106
>
> Note that using Print does not help with this issue, but is still probably 
> a good idea to avoid other escape sequences:
>
> [root@f52defcaf0a7 sage-10.9]#  local/bin/gap -r -q --bare --nointeract -c 
> 'Print(JoinStringsWithSeparator(GAPInfo.RootPaths,";"), "\n");' > output
> [root@f52defcaf0a7 sage-10.9]# od -a output
> 0000000 esc   [   ?   1   0   3   4   h   /   v   a   r   /   t   m   p
> 0000020   /   s   a   g   e   -   1   0   .   9   /   l   o   c   a   l
> 0000040   /   l   i   b   /   g   a   p   /   ;   /   v   a   r   /   t
> 0000060   m   p   /   s   a   g   e   -   1   0   .   9   /   l   o   c
> 0000100   a   l   /   s   h   a   r   e   /   g   a   p   /  nl
> 0000116
> [root@f52defcaf0a7 sage-10.9]#  local/bin/gap -E -r -q --bare --nointeract 
> -c 'Print(JoinStringsWithSeparator(GAPInfo.RootPaths,";"), "\n");' > output
> [root@f52defcaf0a7 sage-10.9]# od -a output
> 0000000   /   v   a   r   /   t   m   p   /   s   a   g   e   -   1   0
> 0000020   .   9   /   l   o   c   a   l   /   l   i   b   /   g   a   p
> 0000040   /   ;   /   v   a   r   /   t   m   p   /   s   a   g   e   -
> 0000060   1   0   .   9   /   l   o   c   a   l   /   s   h   a   r   e
> 0000100   /   g   a   p   /  nl
> 0000106
>
> So the "belt and suspenders" solution to this problem is to use both -E 
> and Print in both meson.build and gap/spkg-configure.m4.
>
> - Marc
>
> On Tue, Mar 3, 2026 at 11:42 AM Dima Pasechnik <[email protected]> wrote:
>
>>
>>
>> On Tue, Mar 3, 2026 at 11:06 AM Marc Culler <[email protected]> wrote:
>>
>>> Why do you think that disabling ColorPrompt would make a difference, if 
>>> the escape sequence is being emitted by rl_initialize()?
>>>
>>
>> Well, just trying to be less "fancy-terminals"-bound. 
>> As well, instead of Display(...) one should run Print(...,"\n"), as 
>> Display might colour, format, etc. things, if allowed.
>> Or, even safer, use 'PrintTo("/tmp/foobar42.txt",..., "\n") and get the 
>> needed values from "/tmp/foobar42".
>> (by  right, these should be in a temp dir etc etc)
>>
>> But, perhaps much easier might be to add '-E' switch to these GAP calls. 
>> '-E' means "disable readline (if possible)",
>> according to the output of "gap -h". (no idea what "if possible" means)
>>
>> Dima
>>
>> -- 
>> You received this message because you are subscribed to a topic in the 
>> Google Groups "sage-devel" group.
>> To unsubscribe from this topic, visit 
>> https://groups.google.com/d/topic/sage-devel/dVVleHx0xP0/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to 
>> [email protected].
>>
> To view this discussion visit 
>> https://groups.google.com/d/msgid/sage-devel/CAAWYfq0u5iCbyEZX15Tqos%3D40SehuS5%2BwV%3DM6DzSB-Gq4q_u6w%40mail.gmail.com
>>  
>> <https://groups.google.com/d/msgid/sage-devel/CAAWYfq0u5iCbyEZX15Tqos%3D40SehuS5%2BwV%3DM6DzSB-Gq4q_u6w%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/sage-devel/a698dd77-be70-4e62-87f4-5f099c3a831bn%40googlegroups.com.

Reply via email to