Разные недочеты/баги
-
- Posts: 2245
- Joined: 25.08.2021 18:15
наше главное репо- https://github.com/Alexey-T/CudaText . оттуда и качать.
плагин тут - https://github.com/Alexey-T/CudaText/tr ... a_addonman
плагин тут - https://github.com/Alexey-T/CudaText/tr ... a_addonman
Это ветка дерева каталогов репозитория, я там не нашел кнопки скачать zip.main Alexey wrote:отсюда: https://github.com/Alexey-T/CudaText/tr ... a_addonman
Скачивать пофайлово?
Воспроизвести ошибку с Addons Manager не удалось.
Посмотрел
ls /tmp/cudatext_addon_man/
data.json lexers.json plugins.json
kv-addons.json linters.json snippets.json
plugins.json был в порядке, корректный на взгляд.
Addons Manager работал.
Пробовал
Plugins - Addons Manager - Install from Git
указал
Code: Select all
https://github.com/Alexey-T/CudaText/tree/master/app/py/cuda_addonman
Got empty list of Git branches for that repo
CudaText GTK по-прежнему менял разрешение, и сеанс завершался.
Отладку в Lazarus там не пробовал еще.
А недостаточно в Lazarus открыть один первый файл формы?
Наверное, будут ссылки на другие функции, и компиляция и сборка не пройдут, исполняемого модуля для отладки не получится?
-
- Posts: 2245
- Joined: 25.08.2021 18:15
качать zip можно только из страниццы "корень репозитория". оно качает весь репозиторий.>Это ветка дерева каталогов репозитория, я там не нашел кнопки скачать zip.
а так нельзя. можно указать только URL репозитория, корня.>Пробовал
Plugins - Addons Manager - Install from Git
указал https://github.com/Alexey-T/CudaText/tr ... a_addonman
в Лазарусе есть кнопка тулбара "forms". жмите и выберите форму fmMain.>А недостаточно в Lazarus открыть один первый файл формы?
потом- кнопка тулбара 'toggle form/unit view'.
в этом юните fmMain найдете FormClose метод.
если не компилит, дайте тут сообщения ошибок из окна Messages.>Наверное, будут ссылки на другие функции, и компиляция и сборка не пройдут
IDE: View / Messages.
Обнаружил опасный баг.
Хотел выделить текст с середины до конца строки и вставить время шорткатом, назначенным плагину Insert Time.
Но ошибся и при выделении выделял не Shift+End, а случайно нажажал Shift+Ctrl+End, потом Ctrl+S - сохранение.
Время вставилось вместо огромного "хвоста" файла, а Undo по Ctrl+Z не работало.
Выделение (было сверху вниз, x,y < x1,y1) значит, вставка была по replace, а не insert.
Хорошо, что файл имел резервные копии, удалось восстановить.
Да, скопировал этот файл в копию, проверил воспроизводимость бага на копии - именно так, в стеке Undo нет того, что удалилось при замене выделенного на время, только текст до курсора без времени и с ним.
С Lazarus попробую
Хотел выделить текст с середины до конца строки и вставить время шорткатом, назначенным плагину Insert Time.
Но ошибся и при выделении выделял не Shift+End, а случайно нажажал Shift+Ctrl+End, потом Ctrl+S - сохранение.
Время вставилось вместо огромного "хвоста" файла, а Undo по Ctrl+Z не работало.
Выделение (было сверху вниз, x,y < x1,y1) значит, вставка была по replace, а не insert.
Хорошо, что файл имел резервные копии, удалось восстановить.
Да, скопировал этот файл в копию, проверил воспроизводимость бага на копии - именно так, в стеке Undo нет того, что удалилось при замене выделенного на время, только текст до курсора без времени и с ним.
С Lazarus попробую
-
- Posts: 2245
- Joined: 25.08.2021 18:15
> баг повторяяется?
да, повторил
> нужен ваш settings/user.json?
> по шагам
У меня рабочий файл, файл ~504 КB UTF-8, на котором сегодня обнаружил этот баг.
Еще ранее был подобный баг по безвозвратному удалению текста по Ctrl+A, пробел.
У меня записано.
Это было год назад примерно, не нашел ссылку на форум.
Вместо Ctrl+S иногда случайно нажимаешь Ctrl+A
Текст выделяется, потом - бах - на пробел.
И все! Текст пропадает, а Undo не работает!
А может, так и не написал в форум?
Тогда пишу здесь, не повтор.
Проверил на тестовом файле (см. этот файл ниже) - все так же текст пропадает.
> по шагам
Вот тестовый пример:
Lib.ru/Современная литература: Федюкин Вениамин Константинович. Теория сверхдианамагничиваемости взамен ошибочной теории сверхэлектропроводимости тел
http://lit.lib.ru/f/fedjukin_weniamin_k ... edit.shtml
Сохранил как текст в FF в текстовый файл
/home/one/Загрузки/Lib.ru_Современная литература Федюкин Вениамин Константинович. Теория сверхдианамагничиваемости взамен ошибочной теории сверхэлектр.txt
(FF при сохранении как текст очищает текст от тегов html, сохраняет гораздо компактнее).
Открыл в CudaText, указал кодировку KOI-8R
CudaText 1.196.0.0, linux-x86_64-gtk2, fpc 3.2.3
В 849 строке выделил примерно посередине и вниз до конца по Ctrl+Shift+End (вместо Shift+End случайно, машинально, т.к. вставка времени у меня на похожий шорткат Ctrl+Shift+T )
И Ctrl+Shift+T
Время вставилось, но текст пропал, в консоли и модальном окне ошибки, скриншоты и текст ошибок привожу ниже.
После этого макро и вставка времени перестали работать (в другой вкладке)
Undo после рестарта в тестовой вкладки содержало только "голову" строки 849 до примерно середины, без timestamp
Скриншоты: Консоль:
да, повторил
> нужен ваш settings/user.json?
Code: Select all
{
"pylib__linux" : "/usr/lib/python3.11/config-3.11-x86_64-linux-gnu/libpython3.11.so",
"ui_toolbar_show" : true,
"lexer_folding_max_lines" : 311000,
"ui_max_size_lexer" : 3,
"ui_statusbar_show" : true,
"ui_sidebar_show" : true,
"ui_theme" : "",
"ui_theme_syntax" : "",
"mouse_middle_click" : 2,
"ui_lexer_themes" : false,
"ui_reopen_session" : true,
"ui_reopen_session_cmdline" : true,
"micromap_show" : true,
"micromap_bookmarks" : true,
"micromap_on_scrollbar" : false,
"scrollbar_themed" : true,
"ui_max_history_edits" : 20,
"ui_max_history_menu" : 25,
"ui_max_history_files" : 25,
"ui_max_history_clipboard" : 15,
"ui_links_confirm" : false,
"ui_save_always" : false,
"ui_font_name__linux" : "Sans",
"ui_font_size__linux" : 9,
"auto_copy_clp" : "p"
}
У меня рабочий файл, файл ~504 КB UTF-8, на котором сегодня обнаружил этот баг.
Еще ранее был подобный баг по безвозвратному удалению текста по Ctrl+A, пробел.
У меня записано.
Это было год назад примерно, не нашел ссылку на форум.
Вместо Ctrl+S иногда случайно нажимаешь Ctrl+A
Текст выделяется, потом - бах - на пробел.
И все! Текст пропадает, а Undo не работает!
А может, так и не написал в форум?
Тогда пишу здесь, не повтор.
Проверил на тестовом файле (см. этот файл ниже) - все так же текст пропадает.
> по шагам
Вот тестовый пример:
Lib.ru/Современная литература: Федюкин Вениамин Константинович. Теория сверхдианамагничиваемости взамен ошибочной теории сверхэлектропроводимости тел
http://lit.lib.ru/f/fedjukin_weniamin_k ... edit.shtml
Сохранил как текст в FF в текстовый файл
/home/one/Загрузки/Lib.ru_Современная литература Федюкин Вениамин Константинович. Теория сверхдианамагничиваемости взамен ошибочной теории сверхэлектр.txt
(FF при сохранении как текст очищает текст от тегов html, сохраняет гораздо компактнее).
Открыл в CudaText, указал кодировку KOI-8R
CudaText 1.196.0.0, linux-x86_64-gtk2, fpc 3.2.3
В 849 строке выделил примерно посередине и вниз до конца по Ctrl+Shift+End (вместо Shift+End случайно, машинально, т.к. вставка времени у меня на похожий шорткат Ctrl+Shift+T )
И Ctrl+Shift+T
Время вставилось, но текст пропал, в консоли и модальном окне ошибки, скриншоты и текст ошибок привожу ниже.
После этого макро и вставка времени перестали работать (в другой вкладке)
Undo после рестарта в тестовой вкладки содержало только "голову" строки 849 до примерно середины, без timestamp
Скриншоты: Консоль:
Code: Select all
Loaded session: "history session.json", 330ms, 26 file(s) + 1 modified
Startup: 720ms, plugins: 70ms (macros 45ms, code_tree_x 1ms, vim_mode 2ms, breadcrumbs 17ms)
Init: cuda_tree_wikidpad
Saved session: "history session.json", 27 file(s), by timer at 23:00:54
Init: cuda_insert_time
Saved session: "history session.json", 27 file(s), by timer at 23:01:25
Init: cudatext
Saved session: "history session.json", 27 file(s), by timer at 23:01:58
Saved session: "history session.json", 27 file(s), by timer at 23:02:28
Saved session: "history session.json", 27 file(s), by timer at 23:02:59
class Bread: def __init__(
Saved session: "history session.json", 28 file(s), by timer at 23:10:39
ERROR: Exception in CudaText for ins_default: List index (849) out of bounds
ERROR: Exception in CudaText for on_state: Access violation
ERROR: Exception in CudaText for cuda_breadcrumbs.on_state: Access violation
ERROR: Exception in CudaText for on_state: Access violation
ERROR: Exception in CudaText for cuda_code_tree_x.on_state: Access violation
ERROR: Exception in CudaText for on_state: Access violation
ERROR: Exception in CudaText for cuda_vim_mode.on_state: Access violation
ERROR: Exception in CudaText for on_state: Access violation
Original exception was:
ERROR: Exception in CudaText for cuda_breadcrumbs.on_state: SystemError: unknown opcode
ERROR: Exception in CudaText for on_state: Access violation
ERROR: Exception in CudaText for cuda_code_tree_x.on_state: AttributeError: 'int' object has no attribute 'APPSTATE_CODETREE_AFTER_FILL'
ERROR: Exception in CudaText for on_state: Access violation
ERROR: Exception in CudaText for cuda_vim_mode.on_state: AttributeError: 'int' object has no attribute 'active_was'
ERROR: Exception in CudaText for on_state: Access violation
ERROR: Exception in CudaText for on_state: Access violation
ERROR: Exception in CudaText for cuda_code_tree_x.on_state: AttributeError: 'int' object has no attribute 'APPSTATE_CODETREE_AFTER_FILL'
ERROR: Exception in CudaText for on_state: Access violation
ERROR: Exception in CudaText for cuda_vim_mode.on_state: AttributeError: 'int' object has no attribute 'active_was'
ERROR: Exception in CudaText for on_state: Access violation
Traceback (most recent call last):
File "/home/one/.config/cudatext/py/cuda_code_tree_x/__init__.py", line 42, in on_state
if state == APPSTATE_CODETREE_AFTER_FILL:
^^^^^
TypeError: unsupported operand type(s) for //: 'NoneType' and 'int'
ERROR: Exception in CudaText for cuda_code_tree_x.on_state: TypeError: unsupported operand type(s) for //: 'NoneType' and 'int'
ERROR: Exception in CudaText for on_state: Access violation
Traceback (most recent call last):
File "/home/one/.config/cudatext/py/cuda_vim_mode/__init__.py", line 947, in on_state
if not self.active_was:
^^^^
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
ERROR: Exception in CudaText for cuda_vim_mode.on_state: TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
ERROR: Exception in CudaText for on_state: Access violation
Traceback (most recent call last):
File "/home/one/.config/cudatext/py/cuda_code_tree_x/__init__.py", line 42, in on_state
if state == APPSTATE_CODETREE_AFTER_FILL:
^^^^^
TypeError: unsupported operand type(s) for //: 'NoneType' and 'int'
ERROR: Exception in CudaText for cuda_code_tree_x.on_state: TypeError: unsupported operand type(s) for //: 'NoneType' and 'int'
ERROR: Exception in CudaText for on_state: Access violation
Traceback (most recent call last):
File "/home/one/.config/cudatext/py/cuda_vim_mode/__init__.py", line 947, in on_state
if not self.active_was:
^^^^
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
ERROR: Exception in CudaText for cuda_vim_mode.on_state: TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
Saved session: "history session.json", 28 file(s), by timer at 23:11:23
...
on in CudaText for on_state: SystemError: unknown opcode
ERROR: Exception in CudaText for on_state: SystemError: unknown opcode
ERROR: Exception in CudaText for cuda_vim_mode.on_key: Access violation
ERROR: Exception in CudaText for on_key: Access violation
ERROR: Exception in CudaText for cuda_vim_mode.on_key: AttributeError: 'int' object has no attribute 'h'
ERROR: Exception in CudaText for cuda_vim_mode.on_key: Access violation
ERROR: Exception in CudaText for on_key: Access violation
ERROR: Exception in CudaText for cuda_vim_mode.on_key: AttributeError: 'int' object has no attribute 'h'
ERROR: Exception in CudaText for cuda_vim_mode.on_key: Access violation
ERROR: Exception in CudaText for on_key: Access violation
ERROR: Exception in CudaText for cuda_vim_mode.on_key: AttributeError: 'int' object has no attribute 'h'
ERROR: Exception in CudaText for ins_default: SystemError: unknown opcode
ERROR: Exception in CudaText for cuda_vim_mode.on_key: Access violation
ERROR: Exception in CudaText for on_key: Access violation
ERROR: Exception in CudaText for cuda_vim_mode.on_key: AttributeError: 'int' object has no attribute 'h'
ERROR: Exception in CudaText for on_state: SystemError: unknown opcode
ERROR: Exception in CudaText for on_state: SystemError: unknown opcode
ERROR: Exception in CudaText for on_state: SystemError: unknown opcode
ERROR: Exception in CudaText for cuda_tree_wikidpad.get_headers: SystemError: unknown opcode
ERROR: Exception in CudaText for on_state: SystemError: unknown opcode
ERROR: Exception in CudaText for on_state: SystemError: unknown opcode
ERROR: Exception in CudaText for on_state: SystemError: unknown opcode
Saved session: "history session.json", 28 file(s), by timer at 23:12:58
ERROR: Exception in CudaText for cudatext._menu_proc_callback_proxy: Access violation
ERROR: Exception in CudaText for cudatext._menu_proc_callback_proxy: Access violation
-
- Posts: 2245
- Joined: 25.08.2021 18:15
-
- Posts: 2245
- Joined: 25.08.2021 18:15
отлаживаю. причина тут
atstrings_editing.inc
тут код заходит в else-block и очищает undo!
думаю.
atstrings_editing.inc
тут код заходит в else-block и очищает undo!
Code: Select all
if (ALine2-ALine1)<FUndoList.MaxCount then
begin
//delete slowly with undo
//AWithEvent=false to fix freeze by NN sec, by Ctrl+A,Del during lexer parsing
for i:= ALine2 downto ALine1 do
LineDelete(i, false{AForceLast}, false{WithEvent});
end
else
begin
//delete fast
FList.DeleteRange(ALine1, ALine2);
ClearUndo;
end;
-
- Posts: 2245
- Joined: 25.08.2021 18:15