View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001198 | Far Manager | Macro | public | 2009-12-04 16:53 | 2014-10-27 07:44 |
Reporter | JohnDoe | Assigned To | vskirdin | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | assigned | Resolution | open | ||
Platform | x86 | OS | Windows | OS Version | XP SP2 |
Product Version | 2.0 | ||||
Summary | 0001198: Неполадки с Editor.Set | ||||
Description | Невозможно изменить значения 6, 8, 12, 13, 14, 16, 17, 18 Например, вот что в Фаре 2, без реестра: (Единственный плагин - FarCmds) 14, 17, 18 = 0 и не меняет своего значения 6, 8, 13 = 1 и не меняет своего значения 16 = 1242184 и не меняет своего значения 12 = ~!%^&*()+|{}:"<>?`-=\[];',./ | ||||
Steps To Reproduce | %value=2; %idx=0; $While(%idx<=20) Editor.Set(%idx,%value) msgbox("Trying set "+%idx+" to "+%value,"Now: "+Editor.Set(%idx,-1)) %idx=%idx+1; sleep(200) $End | ||||
Additional Information | 1) http://forum.farmanager.com/viewtopic.php?p=54903#p54903 2) Не проверяется тип аргументов Editor.Set("string",1) Editor.Set(1,"string") 3) В Far 1.75 - та же картина | ||||
Tags | No tags attached. | ||||
Build | |||||
|
По поводу 6 и 16. Как ты себе представляешь [изменение] опций "Use ANSI code page when creating new files" и "Allow editing files opened for writing" для [текущей_копии редактора]? |
|
А я-то причём? Это Валентин придумал. Но если хотите то и я представляю: ShiftF4 |
|
> ShiftF4 Неа. Editor.Set работает именно с текущим экземпляром редактора. А для уже открытого редактора изменение 6 и 16 бессмысленно, т.к. влияют они только на процесс открытия, потому и опций одноименных в диалоге по AltShiftF9 нет. Я не знаю, зачем Валя их добавил, разве что по Editor.Set(x,-1) текущее значение получить. |
|
Уф... ну что я могу сказать... эта функция должна влиять только на текущую открытую сессию редактора. возможно часть "сетов" здесь лишняя... добавлена по инерции. обсуждаемо |
|
DrKnS Если _в_редакторе_ нажать ShiftF4 то по идее всё должно сработать. (вроде бы получалось раньше) |
|
Если такой трюк работал раньше - то это был баг. |
|
Насчёт бага - спорно. Вроде никому не мешало. То же вероятно касается и 5 - Автоопределение таблицы символов Впрочем лично мне 5, 6 и 16 ни разу ещё не понадобились, и если починят всё кроме них - мне будет достаточно. |
|
Раз уж пошёл такой оффтопик то вот это вообще не отражено [x] Case sensitive [x] Whole words [x] Reverse search |
|
нет мире совершенства :-) |
|
> Не проверяется тип аргументов Ну, я бы не сказал. Здесь речь идет не о проверке, а о преобразовании первого аргумента в число. Конструкт: Editor.Set("string",1) выставит табуляцию в 1 символ, т.к. atoi("string") вернет 0. здесь atoi - функция, которая строку преобразует в число. Но! Editor.Set("3",1) или Editor.Set(3.14,1) или Editor.Set("3.14",1) честно заставит редактор при помощи Del удалять помеченные блоки. |
|
5,6,16 действительно не нужны. 8,9,14 не знаю... (могут пригодиться, но маловероятно) Можно для 5 вместо "Автоопределение таблицы символов" сделать "Текущая таблица символов". А вот Notes(0004679) было бы очень не плохо, и 12,13,17,18 попользоваться бы. |
|
Очень хочу чтобы 12 опцию вывели из ридонли!!! или сделайте настраиваемыми символы-разделители слов (по хорошему с привязкой к типу файла)... |
|
build 2265 В Editor.Set() стали RW следующие опции: 8, 12, 13, 14, 17, 18 |
|
а) 6 и 16 = RO, но об этом нигде не сказано. Стоит добавить примечание. б) При аргументе 16 функция возвращает не 0/1, а нечто непонятное. Надо исправить или задокументировать. |
|
а) в рабочей версии Писания №3 написано: "Значения опций 6 и 16 изменить нельзя." оно? б) проверь в своей конфиг-базе что у тебя написано для EditOpenedForWrite |
|
? |
|
Я так думаю, что с этим Инцом мы решили. Закрываем? |
|
Я ещё не проверил что у меня в EditOpenedForWrite... |
|
По Писанию: 1) В описании сказано "Для текущей копии редактора изменить настройки." Правильнее было бы "Для текущей копии редактора получить/изменить настройки." А ещё лучше "Получить/изменить настройки текущей копии редактора". 2) Седьмая опция описана как "Курсор за пределами строки", что как-то непонятно. Вероятно надо изменить на "Разрешить курсор за пределами строки" 3) Ниже таблицы: "Возвращает предыдущее значение опций или -1, если данные указаны некорректно." Предлагаю дополнить: "Возвращает предыдущее значение опций или -1, если данные указаны некорректно, или функция вызвана не из редактора" |
|
Проверил значение EditOpenedForWrite - в базе "1", а функция возвращает "-1" Отключил [ ] Allow editing files opened for writing, сохранил базу. Опять проверил EditOpenedForWrite - в базе "0", а функция всё равно возвращает "-1" |
|
editor.set.testmacro.txt (396 bytes)
ShiftF4 CtrlY Enter mmode(1,0) %idx=0; $While(%idx<=20) $Rep(3) %value=RCounter-1; %oldvalue=Editor.Set(%idx,-1); $If(%value!=%oldvalue) Editor.Set(%idx,%value); %newvalue=Editor.Set(%idx,-1); $If(%newvalue!=%value) Print("Failed to set "+%idx+" to "+%value+" ["+%newvalue+"]\n") $End $End $End %idx=%idx+1; $End |
|
Ещё престранно ведёт себя опция 12. Её значение невозможно поменять. Но если опросить его с помощью "-1", то значение менятся на "-1". |
|
1. писание поправил 2. EditOpenedForWrite починил. 3. что-то не так с 12-й опцией... пойду смотреть. |
|
build 2356 |
|
Билд 2427: 2. Чекбокс "[ ] Show white space" в настройках редактора теперь 3-позиционный: [?] - отображать пробелы, табуляции и EOF, [x] - отображать еще и EOL. В апи - EOPT_SHOWLINEBREAK, ESPT_SHOWWHITESPACE(1|2) Надо бы обновить Писание (опция 20). Как я понял ?=2, x=1. P.S. Не пора ли актуальную Энциклопедию выложить? |
|
Объясните смысл изменения этого параметра в текущей копии редактора: 5 Автоопределение таблицы символов |
|
Их быть не должно. |
|
Тогда надо запретить менять значение 5 (так же как запрещено у 6 и 16). А вообще конечно странные это опции: в открытом редакторе их нельзя изменить, а при закрытом - невозможно даже получить их значение (потому что функция работает только в редакторе). Предлагаю выкинуть эти опции, чтоб не вводили в заблуждение. Или хотя бы выделить их в отдельную табличку. |
|
я так понимаю эти опции просочились чисто из кода - так можно было показать всё с наименьшими трудозатратами... по хорошему 5 убрать 6 можно оставить (файл же можно создать и из редактора...) 16 убрать если бы не было 13 17 18... а так всё время хочется остальные опции поиска поменять... :) и еще как узнать включена статусная строка или нет? |
|
>6 можно оставить (файл же можно создать и из редактора...) всё равно 6 изменить невозможно, а про создание из редактора см выше: http://bugs.farmanager.com/view.php?id=1198#c4673 |
|
>... я же говорил МОЖНО... не будет - обойдусь... Мне вот интересно, зачем внесли в эту функцию настройки поиска, причем не все? хотелось бы большего если есть :) |
|
Far 3.0 build 2431 x86 Windows-7 ShiftBS.farconfig <?xml version="1.0" encoding="UTF-8" ?> <farconfig> <macros> <keymacros> <macro area="Dialog" key="ShiftBS" flags="DisableOutput" description="Converts the word before cursor using XLat function"><text>%dw=editor.set(12,""); CtrlShiftLeft $XLat CtrlRight editor.set(12,%dw);</text></macro> <macro area="Editor" key="ShiftBS" flags="DisableOutput" description="Converts the word before cursor using XLat function"><text>%dw=editor.set(12,""); $SelWord CtrlIns $XLat CtrlRight editor.set(12,%dw);</text></macro> <macro area="Shell" key="ShiftBS" flags="DisableOutput|NotEmptyCommandLine" description="Converts the word before cursor using XLat function"><text>%dw=editor.set(12,""); CtrlShiftLeft $XLat CtrlRight editor.set(12,%dw);</text></macro> </keymacros> </macros> </farconfig> В редакторе функция %dw=editor.set(12,""); работает замечательно. А в области командной строки и диалогах функция %dw=editor.set(12,""); не работает, - видимо, отсутствует. Как в командной строке и диалогах выделить слово между пробелами ? Чтобы русское слово, типа "этаж", набранное на латинском регистре как 'nf; , можно было перекодировать всё целиком, а не его кусочек. |
|
опция 18 по-прежнему не влияет на флажок регэспов (и не считывает его) far 3.0.3443 |
|
? |
Date Modified | Username | Field | Change |
---|---|---|---|
2009-12-04 16:53 | JohnDoe | New Issue | |
2009-12-04 17:17 | DrKnS | Note Added: 0004672 | |
2009-12-04 17:19 | JohnDoe | Note Added: 0004673 | |
2009-12-04 17:26 | DrKnS | Note Added: 0004674 | |
2009-12-04 17:29 | vskirdin | Note Added: 0004675 | |
2009-12-04 17:56 | JohnDoe | Note Added: 0004676 | |
2009-12-04 18:15 | DrKnS | Note Added: 0004677 | |
2009-12-04 18:38 | JohnDoe | Note Added: 0004678 | |
2009-12-04 18:53 | JohnDoe | Note Added: 0004679 | |
2009-12-04 20:01 | vskirdin | Note Added: 0004680 | |
2010-02-20 17:48 | vskirdin | Note Added: 0004991 | |
2010-02-21 13:22 | alexy | Status | new => assigned |
2010-02-21 13:22 | alexy | Assigned To | => vskirdin |
2010-06-20 17:05 | JohnDoe | Note Edited: 0004679 | |
2010-06-20 19:05 | SUSim | Note Added: 0005491 | |
2011-10-28 21:03 | SUSim | Note Added: 0007963 | |
2011-11-10 07:54 | vskirdin | Note Added: 0007973 | |
2011-11-10 07:54 | vskirdin | Status | assigned => feedback |
2011-11-10 10:12 | JohnDoe | Note Added: 0007975 | |
2011-11-10 10:12 | JohnDoe | Status | feedback => assigned |
2011-11-10 12:21 | vskirdin | Note Added: 0007976 | |
2011-12-23 11:14 | alexy | Note Added: 0008211 | |
2011-12-31 08:40 | vskirdin | Note Added: 0008290 | |
2011-12-31 08:40 | vskirdin | Status | assigned => feedback |
2012-01-02 09:54 | JohnDoe | Note Added: 0008302 | |
2012-01-02 09:54 | JohnDoe | Status | feedback => assigned |
2012-01-04 14:32 | JohnDoe | Note Added: 0008312 | |
2012-01-04 14:33 | JohnDoe | Note Added: 0008313 | |
2012-01-04 14:39 | JohnDoe | File Added: editor.set.testmacro.txt | |
2012-01-04 15:21 | JohnDoe | Note Edited: 0008313 | |
2012-01-04 15:29 | JohnDoe | Note Added: 0008315 | |
2012-01-04 15:54 | JohnDoe | Note Edited: 0008313 | |
2012-01-10 09:49 | vskirdin | Note Added: 0008337 | |
2012-01-10 11:13 | vskirdin | Note Added: 0008338 | |
2012-01-10 11:13 | vskirdin | Status | assigned => feedback |
2012-02-01 10:01 | JohnDoe | Note Added: 0008514 | |
2012-02-01 10:01 | JohnDoe | Status | feedback => assigned |
2012-02-01 10:02 | JohnDoe | Note Edited: 0008514 | |
2012-02-01 10:19 | JohnDoe | Note Added: 0008515 | |
2012-02-01 10:20 | JohnDoe | Note Edited: 0008514 | |
2012-02-01 10:27 | DrKnS | Note Added: 0008516 | |
2012-02-01 14:51 | JohnDoe | Note Edited: 0008515 | |
2012-02-01 14:56 | JohnDoe | Note Added: 0008520 | |
2012-02-01 18:23 | SUSim | Note Added: 0008522 | |
2012-02-02 12:02 | JohnDoe | Note Added: 0008528 | |
2012-02-02 20:47 | SUSim | Note View State: 0008522: private | |
2012-02-02 20:47 | SUSim | Note View State: 0008522: public | |
2012-02-02 20:54 | SUSim | Note Added: 0008535 | |
2012-02-07 04:00 | ul | Note Added: 0008547 | |
2013-06-07 11:47 | ccaid | Note Added: 0011112 | |
2013-08-22 11:19 | alexy | Note Added: 0011349 |