Зависание редактора при замене "всех" по регэкспу

Здесь можно сообщить о найденных багах в Far.
Post Reply
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Зависание редактора при замене "всех" по регэкспу

Post by buniak_a_h »

Имеется (пустые строки имеются!).
Хочу заменить все строки с пробелами или вообще пустые на просто пустые:
╔═════════════════════════════ Replace ══════════════════════════════╗ ║ Search for [ Word ] [ Selection ] ║ ║ ^\s*$ ↓║ ║ Replace with ║ ║ ↓║ ╟────────────────────────────────────────────────────────────────────╢ ║ [ ] Case sensitive [x] Regular expressions ║ ║ [ ] Whole words ║ ║ [ ] Fuzzy search [ ] Preserve style ║ ╟────────────────────────────────────────────────────────────────────╢ ║ { Replace down } [ Replace up ] [ Cancel ] ║ ╚════════════════════════════════════════════════════════════════════╝
На вопрос
╔════════════════ Replace ════════════════╗ ║ Replace ║ ║ "" ║ ║ with ║ ║ "" ║ ╟─────────────────────────────────────────╢ ║ { Replace } [ All ] [ Skip ] [ Cancel ] ║ ╚═════════════════════════════════════════╝
отвечаю All
Фсё! Вишу! От наличия пустой строки в конце файла не зависит.

Хотя, возможно, действия и бессмысленны, но к зависанию IMHO приводить не должны.
User avatar
HaRT
Moderator
Posts: 10822
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Зависание редактора при замене "всех" по регэкспу

Post by HaRT »

На мой взгляд, когда найденное и вычисленная замена совпадают, Фар должен бы это пропускать и даже вопроса не задавать.
Ну а в вашей практической ситуации, если вдруг нуждаетесь в совете, рекомендую заменить квантификатор * на +.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Зависание редактора при замене "всех" по регэкспу

Post by buniak_a_h »

А на мой взгляд по достижении конца файла процесс должен остановиться. Где-то тут ошибка …
Я так-то я знаю, как это обойти, но (а) о засаде надо было знать и (б) не забывать. Так-то корректные (хоть и бессмысленные) действия приводят к полному зависанию и потере результатов работы. А это - неправильно.
Post Reply

Return to “Глюки и баги”