GNU bug report logs - #74155
upcasing strings doesn’t respect standard-case-table

Previous Next

Package: emacs;

Reported by: "Thomas Voss" <mail <at> thomasvoss.com>

Date: Fri, 1 Nov 2024 12:34:01 UTC

Severity: normal

Tags: notabug

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: "Thomas Voss" <mail <at> thomasvoss.com>
Subject: bug#74155: closed (Re: bug#74155: upcasing strings
 doesn’t respect standard-case-table)
Date: Sat, 16 Nov 2024 13:46:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#74155: upcasing strings doesn’t respect standard-case-table

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 74155 <at> debbugs.gnu.org.

-- 
74155: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=74155
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Eli Zaretskii <eliz <at> gnu.org>
To: mail <at> thomasvoss.com
Cc: 74155-done <at> debbugs.gnu.org
Subject: Re: bug#74155: upcasing strings doesn’t respect
 standard-case-table
Date: Sat, 16 Nov 2024 15:42:48 +0200
> Cc: 74155 <at> debbugs.gnu.org
> Date: Fri, 01 Nov 2024 16:07:38 +0200
> From: Eli Zaretskii <eliz <at> gnu.org>
> 
> > Date: Fri, 01 Nov 2024 13:33:13 +0100
> > From:  "Thomas Voss" via "Bug reports for GNU Emacs,
> >  the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
> > 
> > As of 2017 (I believe), the capital eszett (ẞ) was adopted into the
> > German alphabet as the uppercase variable of ß which was previously (and
> > which still can be) uppercased to ‘SS’.  Since I prefer to use the newer
> > ẞ to the older SS, I have the following line in my configuration:
> > 
> > 	(set-case-syntax-pair ?ẞ ?ß (standard-case-table))
> > 
> > When working with characters, this behaves as intended:
> > 
> > 	(upcase ?ß)
> > 	⇒ ?ẞ
> > 
> > However when working with strings, it doesn’t:
> > 
> > 	(upcase "ß")
> > 	⇒ "SS"
> > 
> > The same goes for the ‘upcase-word’ and ‘upcase-dwim’ functions which
> > still upcase ß to SS.  It seems that whatever code that is handling
> > case-conversions for multi-character inputs is not respecting the current
> > case table.
> 
> This is a feature: characters which have the 'special-uppercase'
> property defined for them by the Unicode Standard use their special
> upper-case rules that override the case-table.  If you don't want
> that, force the special-uppercase property of ß to be nil:
> 
>  (upcase "ß")
>   => "SS"
>  (put-char-code-property ?ß 'special-uppercase nil)
>  (upcase "ß")
>   => "ẞ"

No further comments within 2 weeks, so I'm now closing this bug.

[Message part 3 (message/rfc822, inline)]
From: "Thomas Voss" <mail <at> thomasvoss.com>
To: <bug-gnu-emacs <at> gnu.org>
Subject: upcasing strings doesn’t respect standard-case-table
Date: Fri, 01 Nov 2024 13:33:13 +0100
Hi all, quick bug report.

As of 2017 (I believe), the capital eszett (ẞ) was adopted into the
German alphabet as the uppercase variable of ß which was previously (and
which still can be) uppercased to ‘SS’.  Since I prefer to use the newer
ẞ to the older SS, I have the following line in my configuration:

	(set-case-syntax-pair ?ẞ ?ß (standard-case-table))

When working with characters, this behaves as intended:

	(upcase ?ß)
	⇒ ?ẞ

However when working with strings, it doesn’t:

	(upcase "ß")
	⇒ "SS"

The same goes for the ‘upcase-word’ and ‘upcase-dwim’ functions which
still upcase ß to SS.  It seems that whatever code that is handling
case-conversions for multi-character inputs is not respecting the current
case table.

— Thomas



This bug report was last modified 244 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.