emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: master 18b680cfd1: Fix bug#52467 by adding a new custom variable 'di


From: Juri Linkov
Subject: Re: master 18b680cfd1: Fix bug#52467 by adding a new custom variable 'display-comint-buffer-action'
Date: Sun, 02 Jan 2022 19:43:10 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (x86_64-pc-linux-gnu)

> I'm not sure whether we should want to "make these commands behave the
> same".  But if we do, we have to provide some _simple_ knob to let users
> get the old behavior without having to think about how to match names of
> buffers they possibly never cared about with the help of a regular
> expression.

This is how we can make customization simpler, helping to get the old behavior
back for a set of commands.  Currently there are 11 comint commands that
have invocations like:

  (pop-to-buffer "*inferior-lisp*" display-comint-buffer-action)
  (pop-to-buffer "*scheme*" display-comint-buffer-action)
  ...

To change their behavior at once the user needs to construct
a complex regexp that matches all used comint buffer names,

  "\\*inferior-lisp\\*\\|\\*scheme\\*\\|..."

This is completely unmanageable.  Instead of this, all calls could add
a special tag:

  (pop-to-buffer "*inferior-lisp*" '(nil (comint . t)))

Then a condition predicate could check for this tag:

  (defun display-buffer-comint (buffer-name action)
    (assq 'comint action))

and the user can customize all comint commands with:

  (add-to-list 'display-buffer-alist
               '(display-buffer-comint
                 (display-buffer-same-window
                  . ((reusable-frames . 0)
                     (inhibit-same-window . nil)))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]