Menu

#576 #343: Add %b (binary) specifier to [format/scan]

TIP Implementation
closed-accepted
23. [scan] (3)
5
2008-12-11
2008-12-01
No

The attached patch adds a %b specifier meaning 'binary' to the [format] and [scan] commands. It is thus continuing in the direction pioneered by the recent addition of "0b" in [expr]'s number parsing.

The specifier of course also works with "#" (adding "0b" if nonzero) and wide- and bignum modifiers (%lb, %llb).

In addition, the patch fixes the following bug in [scan]:

% scan 0b101 %i x
1
% puts $x
0

The patch includes proper tests and documentation update. Does it really need a TIP ?

Discussion

  • Alexandre Ferrieux

     
  • Donal K. Fellows

    • milestone: --> TIP Implementation
    • summary: Add %b (binary) specifier to [format/scan] --> #343: Add %b (binary) specifier to [format/scan]
     
  • Alexandre Ferrieux

    Restoring scan %i bug

     
  • Alexandre Ferrieux

    After discussion with Don, it appears that the [scan %i] "fix", which is orthogonal to the TIP, is a dangerous breach of compatibility. So let's leave octal in its pond for now. Patch updated to restore the aforementioned bug. Now this patch is 100% faithful to the TIP's text.
    File Added: bin2.patch

     
  • Alexandre Ferrieux

    The mention of "octal" in the previous comment is confusing. I meant, let's just leave %i in all its historical ugliness (which includes things related to octal). Anyway.

     
  • Alexandre Ferrieux

    TIP accepted, patch committed.

     
  • Alexandre Ferrieux

    • status: open --> closed-accepted
     
MongoDB Logo MongoDB