Latest post of the previous page:
Ну тут в случае не обнаружения в макросах надо возвращать 0 (увеличивать текущее на 1)John Doe wrote:Может лучше сделать по аналогии с прочими макроэлементами: BM.ItemCount и BM.CurPos?Code: Select all
Добавка к BM.stat(I) - для I=1 возвращается индекс текущей закладки (-1 если закладок нет)
И в случае ошибки: почему не 0?
BM.last (как BM.goto(BM.stat())) и, особенно, BM.first (как BM.goto(1)) в принципе можно убрать, раз они так уже мешают, но добавлены они исключительно ради удобства. У BM.prev есть спец.роль (см. уточнения к BM.add), BM.next заменять смысла нету.John Doe wrote: Не многовато ли? Ведь реально обойтись всего одной.
BM.push/BM.pop делают следующее: в независимости от состояния других закладок, создаётся ещё одна в текущей позиции редактора/выполняется переход к последней (позже всех созданной) из закладок (если перед этим вызывался BM.push -- то к созданной им) и происходит удаление этой закладки.John Doe wrote: Аналогично, наличие BM.add/push и BM.del/pop тоже несколько избыточно
Ясно же написано, что при аргументе 0 или отсутствии оного удаляется текущая закладка.John Doe wrote: Кстати, а BM.del удаляет только одну закладку, или весь хвост?
Ну можешь предложить свой вариант наименование, суть я вроде описалJohn Doe wrote:И правильно ли вообще обзывать вершину стека "хвостом" и "концом"?
Создание закладки в текущей позиции редактора происходит ТОЛЬКО при вызове BM.prev и ТОЛЬКО дляJohn Doe wrote:
Если же нужно просто запомнить и восстановить позицию в редакторе, то тут идеально подходят BM.push / BM.pop