On 07.12.2013 16:35, Oleksandr Gavenko wrote:
On 2013-12-07, Artem Chuprina wrote:

Хмутро.

Этот тут мне кто-то рассказывал, что emacs24 весь из себя UTF-8 внутри?
Авотфих.  Попытался я тут творчески развить just-one-space, и...

(skip-chars-backward " \t -—–")

(пробел, табуляция, неразрывный пробел (160), минус, em-dash (8212),
en-dash (8211))

не проходит назад через минус (в смысле, если курсор сразу за минусом,
он не сдвигается).  Если убрать из строки, к примеру, неразрывный
пробел, то перескакивает в начало буфера.

Читаем доку:

   skip-chars-forward is a built-in function in `C source code'.

   (skip-chars-forward STRING &optional LIM)

   Move point forward, stopping before a char not in STRING, or at pos LIM.
   STRING is like the inside of a `[...]' in a regular expression
   except that `]' is never special and `\' quotes `^', `-' or `\'
    (but not at the end of a range; quoting is never needed there).
   With arg "^a-zA-Z", skips nonletters stopping before first letter.

Я поставил минус в конце строки - заработало ))

Обходится, понятно, тривиально, особенно если заменить строку на список
символов.  Но, в общем, слухи про "весь внутри UTF-8" сильно
преувеличены...


Кстати, логично. Видимо skip-chars-backward подставляет свой аргумент в регулярное выражение между "[" и "]", а там минус - специальный символю


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/52a31e81.4000...@gmail.com

Ответить