Certaines commandes Emacs vous place dans un tampon spécifique avec un contenu spécial. Par exemple, M-x shell vous place dans un tampon appelé *Shell*. Par convention, toutes ces commandes sont écrites pour ouvrir ce tampon dans une fenêtre séparée. Mais vuos pouvez spécifier que certains de ces tampons doivent apparaître dans la fenêtre sélectionnée.
Si vous ajoutez un nom de tampon à la liste same-window-buffer-names, l'effet est que de telles commandes affichent ce tampon particulier dans la fenêtre sélectionnée. Par exemple, si vous ajoutez "*grep*" à la liste, la commande grep affichera son tampon de sortie dans la fenêtre sélectionnée.
La valeur par défaut de same-window-buffer-names n'est pas nil : elle spécifie les noms de tampons *info*, *mail* et *shell* (ainsi que d'autres utilisés par des packages Emacs plus obscurs). C'est pourquoi M-x shell place normalement le tampon *shell* dans la fenêtre sélectionnée. Si vous enlevez cet élément de la valeur de same-window-buffer-names, le comportement de M-x shell changera--elle ouvrira alors le tampon dans une autre fenêtre. Vous pouvez spécifier ces tampons d'un manière plus générale avec la variable same-window-regexps. Définissez-la comme une liste d'expressions rationnelles ; ainsi tout tampon dont le nom correspond une de ces expressions rationnelles est affiché dans la fenêtre courante. (Une fois de plus, ceci s'applique uniquement aux tampons qui sont normalement affichés dans une autre fenêtre.) La valeur par défaut de cette variable spécifie les tampons Telnet et rlogin.
Une caractéristique analogue vous permet de spécifier les tampons qui doivent être affichés dans leur propre cadre individuel. Section 19.11.