Ach jo. "Řekněte WOW!: A řekněme, zase subjektivní rýpnutí do jinak informativní zprávičky. Navíc mi připadá, že ta zprávička je tu celkem zbytečná - čekat na rootu tak low-level věc pro win 10 jako změny v jeho notepad, fakt už nějak nevím.
K věci:
Notepad na win vždy byl low-level. To, že čistý notepad pracoval pouze s CR LF, mi nepřijde divné, stejně jako se nepodivuji že *nix cat > foo.txt při přepisu z konzole generuje jen LF a ne CR LF. Pochopitelně.
Jakmile bylo třeba více, i na čistý txt, člověk už od dob w95 buď použil wordpad (pokud stačilo čtení či nepotřeboval zachovat pouhé LF na výstupu a nevadila konverze do CR LF po save), nebo si doinstaloval notapad++ (či podobné), stejně jako na *nix použil vi (pokud chtěl lépe interaktivní než ed, navíc linux distribuce často mají vi klony v základu, bez nutnosti doinstalace).
Že notepad ukládá CR LF bych překousl (resp. jak to ukládá je mi šumák), ale že bez CR nezalomí řádek na obrazovce mě dlouhé roky parádně vysíralo. Proč notepad samostatné LF prostě ignoruje?
I kdyby text se samotným LF
měl být zalomený takhle LF
protože nikdo nevrátil hlavu LF
na začátek řádku.
Mmt, já měl za to, že pokud to jen jde, tak prostě ukazuje znaky tak, jak je má definované ve fontu zvoleného písma. Případně prázdný čtvereček, není-li ve zvoleném fontu definice znaku.
Takže třeba v případě zvoleného písma "Terminal" mi tam pro 0xA ukazoval takovou tu inverzní kuličku, nebo třeba pro 0x6 zobrazil list. Tedy co si pamatuji. Prostě, co jsem si nadefinoval v mém fontu písma, to zobrazil. Použitelné a dost používané tam tehdy u IBM byly tuším takové šipky stylu trojúhelníčky.
Už ani nevím jak tabelátor, což byla tuším jediná další výjimka po konci řádky, zda jej nějak rozdělal na mezery (předpokládám) či u písma terminal ukázal ten znak 'kolečko", ale neinverzní (tak, jak byl u IBM PC definován v code page 437). Už si nepamatuji.
Takže namísto očekávaného chování, které by uživatelé považovali za chybu uděláme krok stranou a při otevření souboru, který je řádkovaný samotným LF ukážeme jediný dlouhý dlouhý dlouhý řádek, protože to rozhodně není chybné chování.ASCII 10 (line feed, LF, \n, ^J), moves the print head down one line, or to the left edge and down. Used as the end of line marker in most UNIX systems and variants. Zdroj: https://en.wikipedia.org/wiki/Control_character.Mimochodem, jak se ti čte jediná dlouhá nezalomená řádka?Chybějící mezera za interpunkcí je schválně, protože nemlich to samý dělal notepad při ignorování LF.
Pokud to uzivatele povazuji za chybu, pak nejde o ocekavatelne chovani.
Myslím, že tím se myslí rozdíl mezi přirozeným a striktním vnímáním. Např. ve výrazové logice má jiný význam dvojitý zápor, než v běžném vnímání. Poměrně často se stává, že někdo vyhotoví analýzu stavu - a tu popíše velmi exaktně. Pak ten samý text čte běžný smrtelní (manažer :)), ale pochopí z toho polovinu a z druhé poloviny si vyvodí dokonce opak. (A my to tu pak odborně rozebereme).
Jak říkám, notepad není "program pro editaci textu". Je to přímé zpřístupnění jednoho z nejnižších řídicích prvků windows (class EDIT), který by měl hlavě z fontů (definic fontů) zobrazit pro upravení co se dá, včetně znaků menších než 32 (z historických důvodů). Prostě jen rozšíření základního static conrtrol (class STATIC) o možnost editace.
Proto i ta ( na první pohled nesmyslná) omezení na 48K, 64K (kdysi u reálného režimu a 16 bit), pomalé načítání větších textů (v nových verzích) a podobně.
Nic více, nic méně.
Už i úlitba ES_MULTILINE (možnost víceřádková při CR LF) a rozbalení tabelátorů v rámci EDIT je něco navíc - někdy nepříjemné, nechtěné. Čím méně bude zasahovat do toku písmenek řídicími prvky, tím lépe. Ideálně jako cat (navíc s editační možností při vstupu - rozšíření STATIC)
Pro úpravu základních textu (s použitím řídicích znaků) slouží/sloužil programy wordpad/write. (a pro programátory class RICHEDIT_CLASS/MSFTEDIT_CLASS )