11.5. La Pile des Marques

En plus de délimiter une région, la marque est aussi utile pour se rappeler d'un endroit auquel vous voulez revenir plus tard. Pour rendre cette possibilité plus intéressante, chaque tampon se souvient des 16 locations précédentes de la marque, dans la pile des marques. Les commandes qui placent la marque placent aussi l'ancienne marque dans cette pile. Pour retourner à un endroit marqué, utilisez C-u C-SPC (ou C-u C-@) ; c'est la commande set-mark-command à laquelle on passe un argument. Elle déplace le point à l'endroit où était la marque, et replace la marque selon la pile des marques précédentes. Ainsi, la répétition de cette commande déplace le point à toutes les anciennes marques présentes dans la pile, une par une. Les positions de marques que vous passez ainsi ne sont pas perdues ; elles sont placées en fin de pile.

Chaque tampon a sa propre pile de marques. Toutes les commandes d'édition utilisent la pile de marques du tampon courant. En particulier, C-u C-SPC reste toujours dans le même tampon.

Un grand nombre de commandes déplaçant le point sur de longues distances, comme M-< (beginning-of-buffer), commence par placer la marque et sauver l'ancienne dans la pile de marques. Ceci pour vous permettre de revenir plus tard à l'endroit initial plus facilement. Les commandes de recherche placent la marque si elles déplacent le point. Vous pouvez voir lorsqu'une commande place la marque, car elle affiche Mark Set dans la zone de répercussion.

Si vous voulez revenir au même endroit encore et encore, la pile des marques peut ne pas être assez appropriée. Dans ce cas, vooous pouvez enregistrer la position dans un registre pour le récupérer ultérieurement. (Section 12.1).

La variable mark-ring-max spécifie le nombre maximal d'entrées à garder dans la pile des marques. Si toutes ces entrées existent et qu'une autre est empilée, la dernière de la liste est abandonnée. Répéter C-u C-SPC fait un cycle parmi les positions couramment dans la pile.

La variable mark-ring porte la pile des marques elle-même, en tant que liste d'objets marques, la plus récente en premier. Cette variable est locale à chaque tampon.