bugGNU Screen - Bugs: bug #57219, Manual's Texinfo macro...

 
 

bug #57219: Manual's Texinfo macro "@value{esc}" mis-rendered as "{No value for `esc'}" in non-Info media

Submitter:  Nutchanon Wetchasit <nachanon>
Submitted:  Wed 13 Nov 2019 11:11:06 AM UTC
   
 
Category:  Documentation Severity:  3 - Normal
Priority:  * 5 - Normal Status:  None
Privacy:  Public Assigned to:  None
Open/Closed:  Open Release:  Cur Dev Sources
Fixed Release:  None Planned Release:  None
Work Required:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Wed 13 Nov 2019 11:11:06 AM UTC, original submission:  

I was browsing GNU Screen manual (gnu.org HTML version) on the topic of window title (section 10.1.3), and I encountered something that looked like document rendering errors on code sample and its description:

  set prompt='{No value for `esc'}[0000m{No value for `esc'}k{No value for `esc'}\% '

The escape-sequence `{No value for `esc'}[0000m' not only normalizes the
character attributes, but all the zeros round the length of the
invisible characters up to 8.

  • As you could see, the parts which say {No value for `esc'} are definitely not a correct escape sequence. This rendered the code sample useless.


The passage corresponds to line 2488 in Screen 4.7.0's Texinfo source code:

@example
set prompt='@value{esc}[0000m@value{esc}k@value{esc}\% '
@end example

The escape-sequence @samp{@value{esc}[0000m} not only normalizes the
character attributes, but all the zeros round the length of the
invisible characters up to 8.


WWW search engines (DuckDuckGo/Google) also revealed that section 17.1 is affected by the same error:

  echo "{No value for `esc'}^Hello world from window $WINDOW{No value for `esc'}\"

where `{No value for `esc'}' is ASCII ESC and the `^' that follows it
is a literal caret or up-arrow.


This passage corresponds to line 4920 in Screen 4.7.0's Texinfo source code:

@example
echo "@value{esc}^Hello world from window $WINDOW@value{esc}\"
@end example

where @samp{@value{esc}} is ASCII ESC and the @samp{^} that follows it
is a literal caret or up-arrow.


The offending `esc` macro itself seems to be defined around line 17 of Screen 4.7.0's Texinfo source code as following:

@c For examples, use a literal escape in info.
@ifinfo
@set esc ^[
@end ifinfo
@iftex
@set esc <ESC>
@end iftex


I am knowledgeable in neither TeX nor GNU Texinfo; so I cannot follow further on how exactly this macro got defined or mis-defined in each kind of target media; especially HTML, DocBook, Texinfo XML, or plain text, in contrast to TeX and GNU Info.

However, downloading the 4.7.0's `screen.texinfo` source code, and running `makeinfo` for various output formats revealed the list of formats affected by this problem:

  • GNU Info: not affected
  • Plain text: not affected
  • HTML: affected
  • DocBook: affected
  • Texinfo XML: affected


The result pretty much pointed back to the conditionals used in this offending `esc` macro definition.

Please investigate and fix.

Makeinfo: GNU Texinfo 4.13
System: Debian GNU/Linux 7.0 "Wheezy" i386

P.S. I have yet to perform a Git bisect test to see when exactly the problem started; but I'm quite sure that even a really old version like db59704 Git snapshot from March 2012 (used in Debian 7.0) is also affected by this problem, as evident on GNU website at the time:

Nutchanon Wetchasit <nachanon>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by nachanon (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    No changes have been made to this item

    Back to the top

    Powered by Savane 3.13-f8d8.
    Corresponding source code