[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#24603: [PATCHv5 00/11] Casing improvements
From: |
Michal Nazarewicz |
Subject: |
bug#24603: [PATCHv5 00/11] Casing improvements |
Date: |
Thu, 9 Mar 2017 22:51:39 +0100 |
I figured that I should probably start versioning the patchsets;
starting from v5 is as good as any.
The first six patches (up to sigma casing rule) should be
uncontroversial and unless there are objections I would like to get
them submitted soon:
Split casify_object into multiple functions
Introduce case_character function
Add support for title-casing letters (bug#24603)
Split up casify_region function (bug#24603)
Support casing characters which map into multiple code points
Implement special sigma casing rule (bug#24603)
The next patch adds ‘buffer-language’ buffer-local variable. This
seems to me as a sensible way of dealing with language-dependent rules
and in the future I imagine the variable might be used for more
cases, e.g. spell checking should automatically choose a dictionary
based on it. But perhaps there is another way which integrates with
the rest of Emacs better:
Introduce ‘buffer-language’ buffer-local variable
The rest are just implementation of various language-specific rules.
The implementation seems to be valid but it’s done purely in C which
I guess still is a point of contention between me and Eli.
Compared to previous versions of the patches, the new implementation
is, I believe, a bit cleaner:
Implement rules for title-casing Dutch ij ‘letter’ (bug#24603)
Implement Turkic dotless and dotted i casing rules (bug#24603)
Implement casing rules for Lithuanian (bug#24603)
Implement Irish casing rules (bug#24603)
The whole thing (plus regex changes not included in this patchset) are
available at:
git fetch git://github.com/mina86/emacs master
admin/unidata/README | 4 +
admin/unidata/SpecialCasing.txt | 281 +++++
admin/unidata/unidata-gen.el | 40 +
doc/lispref/strings.texi | 23 +
etc/NEWS | 22 +-
lisp/international/mule-cmds.el | 8 +-
src/buffer.c | 8 +
src/buffer.h | 8 +
src/casefiddle.c | 1269 +++++++++++++++++---
test/lisp/char-fold-tests.el | 12 +-
.../casefiddle-resources/irish-lowercase-1-ref.txt | 211 ++++
.../src/casefiddle-resources/irish-lowercase-1.txt | 211 ++++
.../casefiddle-resources/irish-uppercase-1-ref.txt | 105 ++
.../src/casefiddle-resources/irish-uppercase-1.txt | 105 ++
test/src/casefiddle-tests.el | 193 ++-
15 files changed, 2260 insertions(+), 240 deletions(-)
create mode 100644 admin/unidata/SpecialCasing.txt
create mode 100644 test/src/casefiddle-resources/irish-lowercase-1-ref.txt
create mode 100644 test/src/casefiddle-resources/irish-lowercase-1.txt
create mode 100644 test/src/casefiddle-resources/irish-uppercase-1-ref.txt
create mode 100644 test/src/casefiddle-resources/irish-uppercase-1.txt
--
2.12.0.246.ga2ecc84866-goog
- bug#24603: [PATCHv5 00/11] Casing improvements,
Michal Nazarewicz <=
- bug#24603: [PATCHv5 03/11] Add support for title-casing letters (bug#24603), Michal Nazarewicz, 2017/03/09
- bug#24603: [PATCHv5 06/11] Implement special sigma casing rule (bug#24603), Michal Nazarewicz, 2017/03/09
- bug#24603: [PATCHv5 04/11] Split up casify_region function (bug#24603), Michal Nazarewicz, 2017/03/09
- bug#24603: [PATCHv5 07/11] Introduce ‘buffer-language’ buffer-locar variable, Michal Nazarewicz, 2017/03/09
- bug#24603: [PATCHv5 02/11] Introduce case_character function, Michal Nazarewicz, 2017/03/09
- bug#24603: [PATCHv5 01/11] Split casify_object into multiple functions, Michal Nazarewicz, 2017/03/09
- bug#24603: [PATCHv5 10/11] Implement casing rules for Lithuanian (bug#24603), Michal Nazarewicz, 2017/03/09