Mercurial > vim
view src/proto/clipboard.pro @ 34336:d2ad8733db75 v9.1.0101
patch 9.1.0101: upper-case of German sharp s should be U+1E9E
Commit: https://github.com/vim/vim/commit/bd1232a1faf56b614a1e74c4ce51bc6e0650ae00
Author: glepnir <glephunter@gmail.com>
Date: Mon Feb 12 22:14:53 2024 +0100
patch 9.1.0101: upper-case of German sharp s should be U+1E9E
Problem: upper-case of ? should be U+1E9E (CAPITAL LETTER SHARP S)
(fenuks)
Solution: Make gU, ~ and g~ convert the U+00DF LATIN SMALL LETTER SHARP S (?)
to U+1E9E LATIN CAPITAL LETTER SHARP S (?), update tests
(glepnir)
This is part of Unicode 5.1.0 from April 2008, so should be fairly safe
to use now and since 2017 is part of the German standard orthography,
according to Wikipedia:
https://en.wikipedia.org/wiki/Capital_%E1%BA%9E#cite_note-auto-12
There is however one exception: UnicodeData.txt for U+00DF
LATIN SMALL LETTER SHARP S does NOT define U+1E9E LATIN CAPITAL LETTER
SHARP S as its upper case version. Therefore, toupper() won't be able
to convert from lower sharp s to upper case sharp s (the other way
around however works, since U+00DF is considered the lower case
character of U+1E9E and therefore tolower() works correctly for the
upper case version).
fixes: #5573
closes: #14018
Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Mon, 12 Feb 2024 22:45:02 +0100 |
parents | ca6bc7c04163 |
children |
line wrap: on
line source
/* clipboard.c */ void clip_init(int can_use); void clip_update_selection(Clipboard_T *clip); void clip_own_selection(Clipboard_T *cbd); void clip_lose_selection(Clipboard_T *cbd); void start_global_changes(void); void end_global_changes(void); void clip_auto_select(void); int clip_isautosel_star(void); int clip_isautosel_plus(void); void clip_modeless(int button, int is_click, int is_drag); void clip_start_selection(int col, int row, int repeated_click); void clip_process_selection(int button, int col, int row, int_u repeated_click); void clip_may_redraw_selection(int row, int col, int len); void clip_clear_selection(Clipboard_T *cbd); void clip_may_clear_selection(int row1, int row2); void clip_scroll_selection(int rows); void clip_copy_modeless_selection(int both); void clip_gen_set_selection(Clipboard_T *cbd); int clip_gen_owner_exists(Clipboard_T *cbd); char *did_set_clipboard(optset_T *args); void open_app_context(void); void x11_setup_atoms(Display *dpy); void x11_setup_selection(Widget w); void clip_x11_request_selection(Widget myShell, Display *dpy, Clipboard_T *cbd); void clip_x11_lose_selection(Widget myShell, Clipboard_T *cbd); int clip_x11_own_selection(Widget myShell, Clipboard_T *cbd); void clip_x11_set_selection(Clipboard_T *cbd); void yank_cut_buffer0(Display *dpy, Clipboard_T *cbd); void x11_export_final_selection(void); void clip_free_selection(Clipboard_T *cbd); void clip_get_selection(Clipboard_T *cbd); void clip_yank_selection(int type, char_u *str, long len, Clipboard_T *cbd); int clip_convert_selection(char_u **str, long_u *len, Clipboard_T *cbd); int may_get_selection(int regname); void may_set_selection(void); void adjust_clip_reg(int *rp); /* vim: set ft=c : */