mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-28 16:21:07 -08:00
casing: don’t assume letters are *either* upper- or lower-case (bug#24603)
A compatibility digraph characters, such as Dž, are neither upper- nor lower-case. At the moment however, those are reported as upper-case¹ despite the fact that they change when upper-cased. Stop checking if a character is upper-case before trying to up-case it so that title-case characters are handled correctly. This fixes one of the issues mentioned in bug#24603. ¹ Because they change when converted to lower-case. Notice an asymmetry in that for a character to be considered lower-case it must not be upper-case (plus the usual condition of changing when upper-cased). * src/buffer.h (upcase1): Delete. (upcase): Change to upcase character unconditionally just like downcase does it. This is what upcase1 was. * src/casefiddle.c (casify_object, casify_region): Use upcase instead of upcase1 and don’t check !uppercasep(x) before calling upcase. * src/keyboard.c (read_key_sequence): Don’t check if uppercase(x), just downcase(x) and see if it changed. * test/src/casefiddle-tests.el (casefiddle-tests--characters, casefiddle-tests-casing): Update test cases which are now passing.
This commit is contained in:
parent
5ec3a58462
commit
6220faeb4e
5 changed files with 42 additions and 37 deletions
|
|
@ -63,13 +63,13 @@
|
|||
(?Ł ?Ł ?ł ?Ł)
|
||||
(?ł ?Ł ?ł ?Ł)
|
||||
|
||||
;; FIXME(bug#24603): We should have:
|
||||
;; FIXME(bug#24603): Commented ones are what we want.
|
||||
;;(?DŽ ?DŽ ?dž ?Dž)
|
||||
;; but instead we have:
|
||||
(?DŽ ?DŽ ?dž ?DŽ)
|
||||
;; FIXME(bug#24603): Those two are broken at the moment:
|
||||
;;(?Dž ?DŽ ?dž ?Dž)
|
||||
(?Dž ?DŽ ?dž ?DŽ)
|
||||
;;(?dž ?DŽ ?dž ?Dž)
|
||||
(?dž ?DŽ ?dž ?DŽ)
|
||||
|
||||
(?Σ ?Σ ?σ ?Σ)
|
||||
(?σ ?Σ ?σ ?Σ)
|
||||
|
|
@ -197,7 +197,7 @@
|
|||
;;("ΌΣΟΣ" "ΌΣΟΣ" "όσος" "Όσος" "Όσος")
|
||||
;; And here’s what is actually happening:
|
||||
("DŽUNGLA" "DŽUNGLA" "džungla" "DŽungla" "DŽUNGLA")
|
||||
("Džungla" "DžUNGLA" "džungla" "Džungla" "Džungla")
|
||||
("Džungla" "DŽUNGLA" "džungla" "DŽungla" "DŽungla")
|
||||
("džungla" "DŽUNGLA" "džungla" "DŽungla" "DŽungla")
|
||||
("define" "DEfiNE" "define" "Define" "Define")
|
||||
("fish" "fiSH" "fish" "fish" "fish")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue