unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#42064: 28.0.50; German "Sharp S" is capitalized inconsistenly
@ 2020-06-26 18:44 Philip K.
  2020-06-26 18:55 ` Eli Zaretskii
  0 siblings, 1 reply; 9+ messages in thread
From: Philip K. @ 2020-06-26 18:44 UTC (permalink / raw)
  To: 42064


The german "Sharp S" (ß), seems to be capitalized inconsistenly,
depending on the system:

- The german postfix input method, typing "SZ" inserts "ẞ"
- If a buffer already contains a "ß", running upcase-dwim generates
  "SS". Lowercasing this results in "ss" unsurprisingly, while "ẞ"
  generates "ß".

Both behaviours are fine in their own right, but don't seem to make a
lot of sense together.



In GNU Emacs 28.0.50 (build 5, x86_64-pc-linux-gnu, GTK+ Version 3.24.5, cairo version 1.16.0)
 of 2020-06-24 built on bulbul
Repository revision: 9bff3127d70a220e8b63aaf89dce2d5e9e66b0f6
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12004000
System Description: Debian GNU/Linux 10 (buster)

Recent messages:
Type C-c C-c to finish, or C-c C-k to cancel
Saving file /home/phi/code/elisp/dumb-jump/.git/COMMIT_EDITMSG...
Wrote /home/phi/code/elisp/dumb-jump/.git/COMMIT_EDITMSG
Git finished
Running git push -v origin master:refs/heads/master
Quit
Git finished
Quit
Mark set
View mode: type C-h for help, h for commands, q to quit.

Configured using:
 'configure 'CFLAGS=-Wall -Wextra -Wformat -Wformat-security''

Configured features:
XPM JPEG TIFF GIF PNG RSVG CAIRO SOUND GPM DBUS GSETTINGS GLIB NOTIFY
INOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE HARFBUZZ M17N_FLT LIBOTF
ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS LIBSYSTEMD
PDUMPER LCMS2 GMP

Important settings:
  value of $LANG: en_GB.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Markdown

Minor modes in effect:
  global-magit-file-mode: t
  magit-file-mode: t
  magit-auto-revert-mode: t
  auto-revert-mode: t
  global-git-commit-mode: t
  async-bytecomp-package-mode: t
  flyspell-mode: t
  TeX-PDF-mode: t
  shell-dirtrack-mode: t
  erc-list-mode: t
  erc-menu-mode: t
  erc-autojoin-mode: t
  erc-ring-mode: t
  erc-networks-mode: t
  erc-pcomplete-mode: t
  erc-track-mode: t
  erc-track-minor-mode: t
  erc-match-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-netsplit-mode: t
  ivy-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-move-to-prompt-mode: t
  erc-readonly-mode: t
  display-time-mode: t
  electric-pair-mode: t
  recentf-mode: t
  save-place-mode: t
  savehist-mode: t
  show-paren-mode: t
  winner-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: [## 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  auto-fill-function: do-auto-fill
  transient-mark-mode: t

Load-path shadows:
/home/phi/.emacs.d/elpa/swiper-0.13.0/swiper hides /home/phi/.emacs.d/elpa/ivy-0.13.0/swiper

Features:
(shadow emacsbug markdown-mode geiser-mode geiser-xref geiser-compile
geiser-debug geiser-gambit geiser-chibi geiser-mit geiser-chez
geiser-chicken geiser-racket geiser-guile info-look geiser geiser-repl
geiser-image geiser-company geiser-doc geiser-menu geiser-edit
geiser-completion geiser-autodoc geiser-eval geiser-connection
geiser-syntax geiser-log geiser-popup geiser-impl geiser-custom
geiser-base scheme lisp-mnt timezone org-attach org-id calc-prog
cal-china lunar solar cal-dst cal-bahai cal-islam cal-hebrew diary-lib
diary-loaddefs cal-iso org-agenda org-duration org-clock debug backtrace
flow-fill git-rebase man calc-cplx calc-math calc-frac calc-vec calcalg2
calc-comb calc-poly calccomp calc-arith calc-misc calc-aent
slime-cl-indent cl-indent slime-hyperdoc slime-asdf grep slime-quicklisp
slime-fancy slime-trace-dialog slime-fontifying-fu slime-package-fu
slime-references slime-compiler-notes-tree slime-scratch
slime-presentations bridge slime-macrostep slime-mdot-fu
slime-enclosing-context slime-fuzzy slime-fancy-trace
slime-fancy-inspector slime-c-p-c slime-editing-commands slime-autodoc
slime-repl slime-parse rmailsum tabify whitespace magit-extras
magit-bookmark magit-submodule magit-obsolete magit-blame magit-stash
magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote
magit-commit magit-sequence magit-notes magit-worktree magit-tag
magit-merge magit-branch magit-reset magit-collab ghub-graphql treepy
gsexp ghub url-http url-gw url-auth let-alist magit-files magit-refs
magit-status magit magit-repos magit-apply magit-wip magit-log
which-func magit-diff magit-core magit-autorevert autorevert filenotify
magit-process magit-margin magit-mode git-commit magit-git magit-section
log-edit with-editor async-bytecomp async server calc-alg calc-ext
calc-menu calc calc-loaddefs calc-macs artist picture reporter rect
reposition rng-xsd xsd-regexp rng-cmpct rng-nxml rng-valid nxml-mode
nxml-outln nxml-rap ox-odt rng-loc rng-uri rng-parse rng-match rng-dt
rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex
ox-icalendar ox-html table ox-ascii ox-publish ox cdlatex misc
find-dired smerge-mode diff add-log log-view pcvs-util cl-print
help-at-pt ibuf-ext ibuffer ibuffer-loaddefs pulse bug-reference
flyspell vc-mtn vc-src vc-sccs vc-svn vc-cvs vc-rcs vc vc-dispatcher
quail ispell em-unix em-term term ehelp em-script em-prompt em-ls
em-hist em-pred em-glob em-dirs esh-var em-cmpl em-basic em-banner
em-alias esh-mode eshell esh-cmd esh-ext esh-opt esh-proc esh-io esh-arg
esh-module esh-groups esh-util tramp-cmds vc-hg vc-bzr mhtml-mode
css-mode smie eww mm-url js imenu sgml-mode wdired magit-utils
magit-popup dash tramp-cache elfeed-link latexenc eieio-opt speedbar
ezimage dframe help-fns radix-tree two-column iso-transl pdf-view
pdf-cache pdf-info tq pdf-util tar-mode dired-aux rmailmm mm-archive
sort smiley gnus-cite mail-extr gnus-async gnus-bcklg qp gnus-ml
disp-table windmove nndraft nnmh gnus-agent gnus-srvr gnus-score
score-mode nnvirtual gnus-msg gnus-art mm-uu mml2015 mm-view mml-smime
smime dig nntp gnus-cache bang macrostep-c cmacexp macrostep nroff-mode
slime arc-mode archive-mode hyperspec cc-awk cc-mode cc-fonts cc-guess
cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs preview
prv-emacs tex-buf font-latex texmathp latex latex-flymake flymake-proc
flymake warnings tex-ispell tex-style tex dbus crm tex-mode org-element
ol-eww ol-rmail ol-mhe ol-irc ol-info ol-gnus nnir gnus-sum gnus-group
gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source utf7 netrc
nnoo gnus-spec gnus-int gnus-range gnus-win ol-docview doc-view
jka-compr image-mode exif ol-bibtex bibtex ol-bbdb ol-w3m org ob
ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-src
ob-comint org-pcomplete org-list org-faces org-entities noutline outline
org-version ob-emacs-lisp ob-core ob-eval org-table ol org-keys
org-compat advice org-macs org-loaddefs find-func goto-addr view avy
hl-line elfeed-show elfeed-search message rfc822 mml mml-sec mm-decode
mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader
shr svg dom elfeed-csv elfeed elfeed-curl url url-proxy url-privacy
url-expand url-methods url-history url-cookie url-domsuf mailcap
elfeed-log elfeed-db elfeed-lib url-util avl-tree url-queue xml-query
xml misearch multi-isearch mule-util time-stamp ffap etags fileloop
generator xref project char-fold swiper vc-fossil python tramp-sh tramp
tramp-loaddefs trampver tramp-integration files-x tramp-compat shell
parse-time iso8601 ls-lisp bookmark vc-git diff-mode easy-mmode gnutls
network-stream puny nsm rmc erc-list erc-menu erc-join erc-ring
erc-networks erc-pcomplete pcomplete erc-track erc-match erc-button
erc-fill erc-stamp erc-netsplit epa-file epa derived epg epg-config
auth-source-pass cl-extra help-mode paredit init ivy delsel colir color
ivy-overlay edmacro kmacro rx pcase dired-x dired dired-loaddefs
holidays hol-loaddefs cal-menu calendar cal-loaddefs erc-goodies erc
thingatpt pp erc-loaddefs erc-backend erc-compat format-spec gnus
nnheader gnus-util text-property-search time-date time sendmail rmail
rmail-loaddefs rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils
compile hippie-exp comint ansi-color elec-pair recentf tree-widget
saveplace savehist paren winner ring cus-edit cus-start cus-load
wid-edit finder-inf tex-site slime-autoloads info package easymenu
browse-url url-handlers url-parse auth-source cl-seq eieio eieio-core
cl-macs eieio-loaddefs password-cache json subr-x map url-vars seq
byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib tooltip eldoc
electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win
x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese composite charscript charprop case-table epa-hook
jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice loaddefs
button faces cus-face macroexp files text-properties overlay sha1 md5
base64 format env code-pages mule custom widget hashtable-print-readable
backquote threads dbusbind inotify lcms2 dynamic-setting
system-font-setting font-render-setting cairo move-toolbar gtk x-toolkit
x multi-tty make-network-process emacs)

Memory information:
((conses 16 1004119 173255)
 (symbols 48 78455 1)
 (strings 32 340391 34833)
 (string-bytes 1 11933058)
 (vectors 16 123417)
 (vector-slots 8 2642525 213470)
 (floats 8 3839 1827)
 (intervals 56 37213 1474)
 (buffers 992 144))

-- 
	Philip K.





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#42064: 28.0.50; German "Sharp S" is capitalized inconsistenly
  2020-06-26 18:44 bug#42064: 28.0.50; German "Sharp S" is capitalized inconsistenly Philip K.
@ 2020-06-26 18:55 ` Eli Zaretskii
  2020-06-26 19:08   ` Philip K.
  0 siblings, 1 reply; 9+ messages in thread
From: Eli Zaretskii @ 2020-06-26 18:55 UTC (permalink / raw)
  To: Philip K.; +Cc: 42064

> From: "Philip K." <philip@warpmail.net>
> Date: Fri, 26 Jun 2020 20:44:55 +0200
> 
> The german "Sharp S" (ß), seems to be capitalized inconsistenly,
> depending on the system:
> 
> - The german postfix input method, typing "SZ" inserts "ẞ"
> - If a buffer already contains a "ß", running upcase-dwim generates
>   "SS". Lowercasing this results in "ss" unsurprisingly, while "ẞ"
>   generates "ß".
> 
> Both behaviours are fine in their own right, but don't seem to make a
> lot of sense together.

Do you have a proposal for how to improve this?  The problem, AFAIU,
is that there are different preference, each one of which is
legitimate, so the only way forward, it seems, is to introduce some
user options to select the desired behavior.





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#42064: 28.0.50; German "Sharp S" is capitalized inconsistenly
  2020-06-26 18:55 ` Eli Zaretskii
@ 2020-06-26 19:08   ` Philip K.
  2020-06-26 19:36     ` Eli Zaretskii
  0 siblings, 1 reply; 9+ messages in thread
From: Philip K. @ 2020-06-26 19:08 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 42064

Eli Zaretskii <eliz@gnu.org> writes:

>> From: "Philip K." <philip@warpmail.net>
>> Date: Fri, 26 Jun 2020 20:44:55 +0200
>> 
>> The german "Sharp S" (ß), seems to be capitalized inconsistenly,
>> depending on the system:
>> 
>> - The german postfix input method, typing "SZ" inserts "ẞ"
>> - If a buffer already contains a "ß", running upcase-dwim generates
>>   "SS". Lowercasing this results in "ss" unsurprisingly, while "ẞ"
>>   generates "ß".
>> 
>> Both behaviours are fine in their own right, but don't seem to make a
>> lot of sense together.
>
> Do you have a proposal for how to improve this?  The problem, AFAIU,
> is that there are different preference, each one of which is
> legitimate, so the only way forward, it seems, is to introduce some
> user options to select the desired behavior.

First off, I'm not a german native speaker, so there might be things I
don't know of. Otherwise, I think a user option would be a good idea. If
it turns out to not be practical, for whatever reason, I would instead
say that (upcase "ß") should evaluate to "ẞ", as it appears to the "more
correct" of the two options ("ss" or "SS" is usually written when the
"ß" cannot be used), at least according to some[0]:

> In 2016, the Council for German Orthography proposed the introduction
> of optional use of ẞ in its ruleset (i.e. variants STRASSE vs. STRAẞE
> would be accepted as equally valid).[19] The rule was officially
> adopted in 2017.[20]

[0] https://en.wikipedia.org/wiki/%C3%9F#Capital_form

-- 
	Philip K.





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#42064: 28.0.50; German "Sharp S" is capitalized inconsistenly
  2020-06-26 19:08   ` Philip K.
@ 2020-06-26 19:36     ` Eli Zaretskii
  2020-10-18  1:39       ` Stefan Kangas
  0 siblings, 1 reply; 9+ messages in thread
From: Eli Zaretskii @ 2020-06-26 19:36 UTC (permalink / raw)
  To: Philip K.; +Cc: 42064

> From: "Philip K." <philip@warpmail.net>
> Cc: 42064@debbugs.gnu.org
> Date: Fri, 26 Jun 2020 21:08:55 +0200
> 
> > In 2016, the Council for German Orthography proposed the introduction
> > of optional use of ẞ in its ruleset (i.e. variants STRASSE vs. STRAẞE
> > would be accepted as equally valid).[19] The rule was officially
> > adopted in 2017.[20]
> 
> [0] https://en.wikipedia.org/wiki/%C3%9F#Capital_form

I know, but German input methods are not only for Germany, and AFAIR
other German-speaking countries didn't follow suit.





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#42064: 28.0.50; German "Sharp S" is capitalized inconsistenly
  2020-06-26 19:36     ` Eli Zaretskii
@ 2020-10-18  1:39       ` Stefan Kangas
  2020-10-19  3:42         ` Richard Stallman
  2020-10-19  6:31         ` Werner LEMBERG
  0 siblings, 2 replies; 9+ messages in thread
From: Stefan Kangas @ 2020-10-18  1:39 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Philip K., 42064

Eli Zaretskii <eliz@gnu.org> writes:

>> From: "Philip K." <philip@warpmail.net>
>> Cc: 42064@debbugs.gnu.org
>> Date: Fri, 26 Jun 2020 21:08:55 +0200
>>
>> > In 2016, the Council for German Orthography proposed the introduction
>> > of optional use of ẞ in its ruleset (i.e. variants STRASSE vs. STRAẞE
>> > would be accepted as equally valid).[19] The rule was officially
>> > adopted in 2017.[20]
>>
>> [0] https://en.wikipedia.org/wiki/%C3%9F#Capital_form
>
> I know, but German input methods are not only for Germany, and AFAIR
> other German-speaking countries didn't follow suit.

So it sounds like this is something we can't do much about, at the very
least not without help from a German language expert (presumably one
familiar with German as written in Germany, Switzerland and Austria).

Does that mean that this is a wontfix?





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#42064: 28.0.50; German "Sharp S" is capitalized inconsistenly
  2020-10-18  1:39       ` Stefan Kangas
@ 2020-10-19  3:42         ` Richard Stallman
  2020-10-19  8:57           ` Stefan Kangas
  2020-10-19  6:31         ` Werner LEMBERG
  1 sibling, 1 reply; 9+ messages in thread
From: Richard Stallman @ 2020-10-19  3:42 UTC (permalink / raw)
  To: Stefan Kangas; +Cc: philip, 42064

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

  > So it sounds like this is something we can't do much about, at the very
  > least not without help from a German language expert (presumably one
  > familiar with German as written in Germany, Switzerland and Austria).

I know free software supporters in Switzerland and Austria.
Would you like me to put you in touch?

-- 
Dr Richard Stallman
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)







^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#42064: 28.0.50; German "Sharp S" is capitalized inconsistenly
  2020-10-18  1:39       ` Stefan Kangas
  2020-10-19  3:42         ` Richard Stallman
@ 2020-10-19  6:31         ` Werner LEMBERG
  2020-10-19  8:57           ` Stefan Kangas
  1 sibling, 1 reply; 9+ messages in thread
From: Werner LEMBERG @ 2020-10-19  6:31 UTC (permalink / raw)
  To: stefan; +Cc: philip, 42064


>>> > In 2016, the Council for German Orthography proposed the
>>> > introduction of optional use of ẞ in its ruleset (i.e. variants
>>> > STRASSE vs. STRAẞE would be accepted as equally valid).[19] The
>>> > rule was officially adopted in 2017.[20]
>>>
>>> [0] https://en.wikipedia.org/wiki/%C3%9F#Capital_form
>>
>> I know, but German input methods are not only for Germany, and
>> AFAIR other German-speaking countries didn't follow suit.
> 
> So it sounds like this is something we can't do much about, at the
> very least not without help from a German language expert
> (presumably one familiar with German as written in Germany,
> Switzerland and Austria).

AFAICS, the behaviour of the German postfix input method is fully
correct.  The default lowercase/uppercase pairing is 'ß/SS'. 'ẞ'
should not be a target of 'uppercase-fication'; its use is very
special.[*]

> Does that mean that this is a wontfix?

I suggest so.


    Werner


[*] Mainly a solution to indicate 'ß' in names that have to be written
    in uppercase letters.  Consider the names 'Strauss' and 'Strauß',
    which both occur in German and have to be distinguished in
    passports, where family names are to be written in uppercase:
    'STRAUSS' and 'STRAUẞ'.  However, in every other context, they
    should be both uppercased as 'STRAUSS'.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#42064: 28.0.50; German "Sharp S" is capitalized inconsistenly
  2020-10-19  3:42         ` Richard Stallman
@ 2020-10-19  8:57           ` Stefan Kangas
  0 siblings, 0 replies; 9+ messages in thread
From: Stefan Kangas @ 2020-10-19  8:57 UTC (permalink / raw)
  To: rms; +Cc: philip, 42064

Richard Stallman <rms@gnu.org> writes:

>   > So it sounds like this is something we can't do much about, at the very
>   > least not without help from a German language expert (presumably one
>   > familiar with German as written in Germany, Switzerland and Austria).
>
> I know free software supporters in Switzerland and Austria.
> Would you like me to put you in touch?

Thanks for offering to find help.

Werner Lemberg commented and explained that the current behavior is
correct.  So I've now closed this bug.





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#42064: 28.0.50; German "Sharp S" is capitalized inconsistenly
  2020-10-19  6:31         ` Werner LEMBERG
@ 2020-10-19  8:57           ` Stefan Kangas
  0 siblings, 0 replies; 9+ messages in thread
From: Stefan Kangas @ 2020-10-19  8:57 UTC (permalink / raw)
  To: Werner LEMBERG; +Cc: philip, 42064

tags 42064 + wontfix notabug
close 42064
thanks

Werner LEMBERG <wl@gnu.org> writes:

> AFAICS, the behaviour of the German postfix input method is fully
> correct.  The default lowercase/uppercase pairing is 'ß/SS'. 'ẞ'
> should not be a target of 'uppercase-fication'; its use is very
> special.[*]
>
>> Does that mean that this is a wontfix?
>
> I suggest so.

Thanks Werner, your explanation was both interesting and helpful.

Based on that, I'm closing this bug report now.

> [*] Mainly a solution to indicate 'ß' in names that have to be written
>     in uppercase letters.  Consider the names 'Strauss' and 'Strauß',
>     which both occur in German and have to be distinguished in
>     passports, where family names are to be written in uppercase:
>     'STRAUSS' and 'STRAUẞ'.  However, in every other context, they
>     should be both uppercased as 'STRAUSS'.





^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2020-10-19  8:57 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-26 18:44 bug#42064: 28.0.50; German "Sharp S" is capitalized inconsistenly Philip K.
2020-06-26 18:55 ` Eli Zaretskii
2020-06-26 19:08   ` Philip K.
2020-06-26 19:36     ` Eli Zaretskii
2020-10-18  1:39       ` Stefan Kangas
2020-10-19  3:42         ` Richard Stallman
2020-10-19  8:57           ` Stefan Kangas
2020-10-19  6:31         ` Werner LEMBERG
2020-10-19  8:57           ` Stefan Kangas

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).