[GNC-dev] Register + Unicode (was Re: emojis everywhere...)

Geert Janssens geert.gnucash at kobaltwit.be
Fri Apr 27 09:24:35 EDT 2018


Op zaterdag 7 april 2018 22:26:52 CEST schreef Eric Siegerman:
> On Sat, Apr 07, 2018 at 07:31:38AM -0700, John Ralls wrote:
> > > On Apr 6, 2018, at 11:11 PM, Wm via gnucash-devel
> > > <gnucash-devel at gnucash.org> wrote: gnc 3.0 allows emojis in places I
> > > think inappropriate
> 
> In poking at this, I've discovered some inconsistency in the
> register's handling of (what I believe to be) invalid input.
> This isn't new; it's the same in GNC 3.0 and 2.6.18.
> 
> In a text field (I've tested a txn's description and a split's
> memo), both U+e9 ("é", e-acute) and U+1f600 ("😀", grinning-face
> emoji) are accepted, displayed, and stored correctly as UTF-8 by
> the XML back end.  OK so far.
> 
> But in a currency-amount field (I've tested specifically a
> split's Debit field, and all of the following cases are described
> in those terms):
>         I type          Result
>         ======          ======
> 
>         abcd<ENTER>     Each of these behaves like "0<WHICHEVER>":
> 	abcd<TAB>	  - Debit becomes blank (ie. zero)
> 			  - Focus moves as appropriate for
> 			    <WHICHEVER>
> 
>         a5		as above
> 
> 	5a<ENTER>	Nothing happens.  The Debit field
> 			containing "5a" remains focused, even
> 			after repeated <ENTER>s
> 
> 	5a<TAB>		1. I get an error dialog: "An error
> 			   occurred while processing 5a."
> 
> 			2. When I dismiss the dialog, GNC focuses
> 			   the Credit field, leaving the
> 			   "5a" in the Debit field (the former
> 			   is somewhat surprising; the latter
> 			   very much so!)
> 
> 			3. When I then <TAB> or <ENTER> out of
> 			   the Credit field, Debit returns to its
> 			   previous value
> 			     - N.B.: This is unlike "abcd<TAB>",
> 			       which sets Debit to zero
> 			       unconditionally
> 
> An e-acute it treated like "5a" above (even if I don't type any
> digits):
>         abécd<ENTER>    As for "5a<ENTER>" (except that the cursor
> 			jumps to just before the offending "é")
> 
>         abécd<TAB>      As for "5a<TAB>"
> 
> If I repeat the previous two cases with the grinning-face emoji
> (U+1f600) in place of the e-acute, the emoji is ignored
> completely -- it doesn't display, and exiting the field behaves
> as if I'd typed "abcd", i.e. as if I'd typed nothing at all, i.e.
> it gets forced to zero.
> 
> All of those are invalid inputs for Debit, I presume.  So it's
> not a problem that they're all rejected -- only that they're
> rejected differently.
> 
> Testing context:
>   - Ubuntu 16.04
>   - GNC 3.0 and GNC 2.6.18 (same results with both)
>   - XFCE (not sure if that matters)
>   - Locale-related bits of GNC's environment:
>         LANG=en_US.UTF-8
>         LANGUAGE=en_US
>         LC_COLLATE=C
>   - Autosplit Ledger mode in effect for the account in question
> 
> Nitpicky details, to be sure.  Is any of it worth filing a bug
> about?

It think it's worth reporting as a bug, though of low priority.

Geert




More information about the gnucash-devel mailing list