Board.KolibriOS.org

Official KolibriOS board
It is currently Fri Nov 15, 2019 3:23 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 333 posts ]  Go to page Previous 119 20 21 22 23 Next
Author Message
 Post subject: Re: TinyPad 4.0.4
PostPosted: Tue Jul 07, 2015 8:50 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1264
XProger, мне тоже казалось, что текстовый редактор просто устроен. Но это если использовать готовый элемент edit. А внутри его текст парсится в структуры, ради табуляций, ради выделения... Хотя действительно, нафига стирать окончания?


Top
   
 Post subject: Re: TinyPad 4.0.4
PostPosted: Sat Jul 11, 2015 3:00 am 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1264
Похоже, что Марио не имеет отношения к падениям, но его "фикс" создал другой баг. Изучил TinyPad поглубже... Начал уважать IgorA за то, что он не стал принимать участие в этом безумии. К сожалению, несмотря на все его усилия, с TextEdit работы больше, так что придётся разгребать говно...
Для начала, нужно разобраться что баг, а что фича. Прошу высказать мнения по следующим пунктам:

1. Возможность поставить каретку в любом месте окна.
2. Стрелки вправо/влево не позволяют перейти на другую строку.
3. Превращение всех табуляций в пробелы, превращение пробелов в табуляции только при "оптимальном сохранении".
4. Стирание окончаний, запись CRLF при сохранении.


Top
   
 Post subject:
PostPosted: Sat Jul 11, 2015 11:28 am 
Offline

Joined: Tue Apr 12, 2011 11:19 pm
Posts: 1151
1. В TinyPad если быть точнее, длина всех строк делается равной длине наиболее длинной строки. И каретку можно поместить только в приделах этой длины (или я что-то не так понял?).
2. Насколько я понимаю, это в некотором роде следствие п.1 Было бы неплохо если бы всеже была возможность перехода с конца строки в начало следующей.
3. Это думаю лучше оставить.
4. Что за стирание окончаний?

_________________
я лишь учусь


Top
   
 Post subject: Re: TinyPad 4.0.4
PostPosted: Sat Jul 11, 2015 1:22 pm 
Offline
User avatar

Joined: Wed Apr 15, 2015 11:13 pm
Posts: 254
4. Думаю, что баг, сохраняться должно без единой потери.


Top
   
 Post subject: Re: TinyPad 4.0.4
PostPosted: Sat Jul 11, 2015 2:41 pm 
Offline
Just Flooding
User avatar

Joined: Thu Dec 11, 2014 1:31 am
Posts: 173
ИМХО 2 и 4 - баг, как следствие, учитывая слова punk_joker, и 1 тоже баг.


Top
   
 Post subject: Re: TinyPad 4.0.4
PostPosted: Sat Jul 11, 2015 8:51 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1264
Значит фиксить всё, кроме табуляций? Тогда другой вопрос: кто знает, зачем в конце каждой строки добавляются 10 пробелов?

punk_joker
1. Максимальная ширина редактора = самая длинная строка + 10 пробелов. Но в коротких строках каретку можно ставить там, где нет даже пробела.
2. Не связано.
4. https://ru.wikipedia.org/wiki/Перевод_строки


Top
   
 Post subject:
PostPosted: Sat Jul 11, 2015 10:02 pm 
Offline

Joined: Tue Apr 12, 2011 11:19 pm
Posts: 1151
1. Про ширину строки писал исключительно из наблюдений за редактором. И у меня он делает строки шириной равной наиболее длинной строки, и ни пробелом больше. Смотрел в r5570
4. Имелось ввиду, что редактор не обрабатывакт данный символ при навигации по документу?

_________________
я лишь учусь


Top
   
 Post subject: Re: TinyPad 4.0.4
PostPosted: Sun Jul 12, 2015 7:47 am 
Offline
Just Flooding
User avatar

Joined: Thu Dec 11, 2014 1:31 am
Posts: 173
ИМХО как фича (1) хорош только при реакции исключительно на мышь, но не на клавиатуру и как следствие не как стандартный конструктивный элемент...

punk_joker, там есть разные наборы из 2х символов или 1го (символ CR и символ LF) в зависимости от ОС (доисторическая времен DOS, win или *nix) используется один из трех вариантов: CR, LF, CRLF. видимо, имелось в виду, что элемент выполняющий ф-ции стандартного edit стирает один из этих символов и ставит в конец строки (перед ними) кучу пробелов. вероятно, именно это причина многих багов и способ выделения памяти под символы... даже возможно, что переводы строки заменяются на пустые строки максимальной длинны, а при сохранении все пробельные символы обрезаются и замещаются обратно. в любом случае, это только для моноширных шрифтов, что не есть гуд...


Top
   
 Post subject: Re: TinyPad 4.0.4
PostPosted: Mon Jul 13, 2015 2:48 am 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1264
punk_joker, имелось ввиду, что TinyPad "немного по-дебильному написан". При открытии файла он копирует содержимое во второй буфер, в начале строк вставляет структуры, превращает табуляции в пробелы, удаляет переводы строк, в конце строк добавляет по 10 пробелов. Половина кода занимается тасованием этого ужаса. В конце процесс обратный. И это вместо того, чтобы просто завести массив структур отдельно. Ширина наиболее длинной строки, таки да, рассчитывается без пробелов в конце.

Вообще, создаётся впечатление, что TinyPad редактировали люди со смутным представлением об ассемлере. Я бы поставил диагноз — рак кода:
Code:
proc key.f3
   call search
   jc   @f
@@:ret
endp

Или вот в самом начале tp-common.asm
Code:
proc clear_selection
   push  eax ebx
   mov   eax,[cur_editor.SelStart.Y]
   mov   ebx,[cur_editor.Caret.Y]
   cmp   eax,ebx
   jle   @f
   xchg  eax,ebx
@@:push  [cur_editor.Caret.X] [cur_editor.Caret.Y]
   pop   [cur_editor.SelStart.Y] [cur_editor.SelStart.X]
   pop   ebx eax
   ret
endp

kiv wrote:
ИМХО как фича (1) хорош только при реакции исключительно на мышь
Можно сделать. Можно сделать настройку.


Top
   
 Post subject: Re: TinyPad 4.0.4
PostPosted: Mon Jul 13, 2015 2:51 am 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1264
Короче, удалил опухоли из key.ctrl_v + пункты 1 и 2 без учёта особенностей. Проверяйте.


Top
   
 Post subject:
PostPosted: Mon Jul 13, 2015 1:49 pm 
Offline

Joined: Tue Apr 12, 2011 11:19 pm
Posts: 1151
При копмровании многострочного текста, и вставки в нем же, редактор вылетает. Когда открываю example.asm (тот что в корне рамдиска), по окончанию строки курсор проходит 10 пробелов и таки пепеходит на новую строку. В документе созданном в самом TinyPad этого не происходит, но наблюдаются глюки с установкой выделения всей строки, или же одного или всех последующих пробелов.

_________________
я лишь учусь


Top
   
 Post subject:
PostPosted: Mon Jul 13, 2015 1:52 pm 
Offline

Joined: Tue Apr 12, 2011 11:19 pm
Posts: 1151
В общем поведение редактора теперь не предсказуемое, то вставит, иногда не правильно правда, изменит там пару символов строке, другой раз вылетит сразу.

_________________
я лишь учусь


Top
   
 Post subject: Re: TinyPad 4.0.4
PostPosted: Mon Jul 13, 2015 2:16 pm 
Offline
Just Flooding
User avatar

Joined: Thu Dec 11, 2014 1:31 am
Posts: 173
пока, важно чтобы edit-элемент работал нормально и архитектурно правильно, а сколько при этом выкинешь кода и функционала неважно. :D
он в netsurf пригодится при переходе на версию 1 с чем-то и в куче разных мест...


Top
   
 Post subject: Re: TinyPad 4.0.4
PostPosted: Mon Jul 13, 2015 6:57 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1264
punk_joker, поведение непредсказуемое с самого начала, потому я и спрашивал уловил ли кто-то закономерность? Файл, координаты источника, размер источника, координаты приёмника. У тебя комп нежный, а мне сейчас вообще не удаётся TinyPad уложить.

Редактор не позволяет установить каретку дальше ширины наиболее длинной строки, которая рассчитывается без пробелов в конце.


Top
   
 Post subject:
PostPosted: Mon Jul 13, 2015 10:16 pm 
Offline

Joined: Tue Apr 12, 2011 11:19 pm
Posts: 1151
Попробуй после запуска, скопировать один символ и вставить в начале любой строки.

_________________
я лишь учусь


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 333 posts ]  Go to page Previous 119 20 21 22 23 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited