Como definir a região (seleção) programaticamente no Emacs Lisp usando índices?


7

Dados 2 números absolutos (compatíveis com region-beginning, region-end).

Como esses números podem ser usados ​​para definir a seleção?


Edit: Se você usa o modo maligno, pode querer verificar esta questão , no momento em que perguntei que eu não sabia que isso exigia um método diferente em alguns casos.

Respostas:


8

A região é definida como a extensão do texto entre ponto e marca; portanto, é suficiente ajustar os dois números em questão. Os seguintes usos point-mine point-maxpara esse fim:

(set-mark (point-min))
(goto-char (point-max))

No entanto, você menciona "definir a seleção" posteriormente, então talvez você não queira apenas alterar a região (como sempre há uma região), mas ativá-la também:

(activate-mark)

11
Talvez valha a pena mencionar que (setq deactivate-mark nil)talvez precise ser definido em alguns casos (como você descobriu ao analisar por que a seleção de configurações às vezes falha) .
precisa saber é o seguinte

Não é exatamente como a ativação da marca funciona, é apenas que ela é desativada logo depois. Portanto, isso é material para uma nova pergunta do "Por que a marca é desativada após um comando <...>?" tipo.
Wasamasa
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.