Следующие две функции перемещают точку по заданному набору символов. Например, они часто используются для пропуска пробельных символов. Для связанных функций см. Перемещение и синтаксис.
Эти функции преобразуют строку набора в многобайтовую, если буфер многобайтовый, и преобразуют ее в однобайтовую, если буфер однобайтовый, как это делают функции поиска (см. Поиск и сопоставление).
Эта функция перемещает точку в текущем буфере вперед, пропуская заданный набор символов. Она проверяет символ, следующий за точкой, а затем продвигает точку, если символ соответствует character-set. Это продолжается до тех пор, пока не будет достигнут символ, не соответствующий набору. Функция возвращает количество пропущенных символов.
Аргумент character-set — это строка, подобная содержимому «[…]» в регулярном выражении, за исключением того, что «]» не завершает его, а кавычки «\» экранируют «^», «-» или «\». Таким образом, «"a-zA-Z"» пропускает все буквы, останавливаясь перед первой небуквой, а «"^a-zA-Z"» пропускает небуквы, останавливаясь перед первой буквой (см. Регулярные выражения). Также можно использовать классы символов, например, «"[:alnum:]"» (см. Классы символов).
Если указан limit (он должен быть числом или маркером), он определяет максимальную позицию в буфере, до которой может быть пропущена точка. Точка остановится на позиции, равной или предшествующей limit.
В следующем примере точка изначально находится непосредственно перед «T». После вычисления формы точка находится в конце этой строки (между «t» слова «hat» и символом новой строки). Функция пропускает все буквы и пробелы, но не символы новой строки.
---------- Buffer: foo ---------- I read "The cat in the hat comes back" twice. ---------- Buffer: foo ----------
(skip-chars-forward "a-zA-Z ")
⇒ 18
---------- Buffer: foo ----------
I read "The cat in the hat
comes back" twice.
---------- Buffer: foo ----------
Эта функция перемещает точку назад, пропуская символы, соответствующие character-set, до достижения limit. Она аналогична skip-chars-forward, за исключением направления движения.
Возвращаемое значение указывает пройденное расстояние. Это целое число, которое равно нулю или меньше.