unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: martin rudalics <rudalics@gmx.at>
Cc: 13594@debbugs.gnu.org, Leo Liu <sdl.web@gmail.com>
Subject: bug#13594: Planning Emacs-24.4
Date: Mon, 18 Nov 2013 19:31:18 -0500	[thread overview]
Message-ID: <jwvob5hw84z.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <528A13DA.1030309@gmx.at> (martin rudalics's message of "Mon, 18 Nov 2013 14:19:22 +0100")

>> t was just a value to stop display-buffer searching down the action
>> list. this seems enough to manage display-buffer via
>> display-buffer-alist or the like.
> It is not.

In which sense is it not?

> Returning t when calling `display-buffer' without may-fail
> set doesn't improve anything.

Indeed, an FUNCTION that returns t when may-fail is not set is in error.
But this has never happened so far, so I'm not sure it's terribly
important to check it.

> And if my-fail is set, we can return nil
> because the caller is prepared for it.

t is the return value of the FUNCTION.  It can't be nil, since nil already
means "try the next FUNCTION".  `display-buffer' can then take this
t return value and turn it into a nil.

> And you still don't handle the case where a user doesn't want to see
> the buffer in the first place.

I think his code does handle it (by having the FUNCTION return t without
displaying the buffer).

> (1) Provide two actions designators may-fail and do-fail, say.

What would `do-fail' mean?  Is that a FUNCTION or an element of the ALIST?

> (2) When may-fail is set and no window is found, return nil.

We already do that (regardless of `may-fail', actually).  But "no window
is found" can pretty much never happen.

>     When may-fail is not set, return the most suitable window.

If no window is found, there is no "most suitable window".

> (3) When may-fail and do-fail are both set, break the
> 	(while (and functions (not window))
> 	  (setq window (funcall (car functions) buffer alist)
> 	  	functions (cdr functions)))
>     loop in `display-buffer' (for example, by having the function called
>     return 'fail) and return nil.

That sounds cumbersome, compared to the simple solution he uses now of
stopping when FUNCTION returns t (which the code already does, by virtue
of stopping as soon as FUNCTION returns non-nil).


        Stefan





  parent reply	other threads:[~2013-11-19  0:31 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <jwvzjp4nu45.fsf-monnier+emacs@gnu.org>
     [not found] ` <m17gc7a9vv.fsf@gmail.com>
2013-11-17 20:53   ` bug#13594: Planning Emacs-24.4 Stefan Monnier
2013-11-18  8:41     ` Leo Liu
2013-11-18  9:53       ` Leo Liu
2013-11-18 10:00         ` Andreas Schwab
2013-11-18 10:17           ` Leo Liu
2013-11-18 10:26             ` Andreas Schwab
2013-11-18 10:35               ` Leo Liu
2013-11-18 10:38                 ` Andreas Schwab
2013-11-18 11:09                   ` Leo Liu
2013-11-18 11:25                     ` Andreas Schwab
2013-11-18 11:59                       ` Leo Liu
2013-11-18 10:46       ` martin rudalics
2013-01-31 10:43         ` bug#13594: 24.2.92; [PATCH] compilation-start doesn't consider nil OUTWIN Leo Liu
2013-01-31 12:35           ` Leo Liu
2013-01-31 15:14           ` Stefan Monnier
2013-01-31 15:21             ` Leo Liu
2013-02-05 10:58             ` Leo Liu
2013-02-05 11:57               ` Leo Liu
2013-02-05 23:25               ` Juri Linkov
2013-02-06  1:19                 ` Leo Liu
2013-02-06 10:12                   ` Juri Linkov
2013-02-06 15:35                     ` Stefan Monnier
2013-02-06 23:40                       ` Juri Linkov
2013-02-07 13:36                         ` Stefan Monnier
2013-02-08  8:10                           ` Juri Linkov
2013-02-08 14:36                             ` Stefan Monnier
2013-02-09  9:22                               ` martin rudalics
2013-02-10 10:01                                 ` Juri Linkov
2013-02-10 17:32                                   ` martin rudalics
2013-02-11  9:28                                     ` Juri Linkov
2013-02-11 17:31                                       ` martin rudalics
2013-02-11 17:55                                         ` Leo Liu
2013-02-14  8:22                                           ` Leo Liu
2013-02-14 14:15                                             ` Stefan Monnier
2013-03-19 15:39                                               ` Leo Liu
2013-03-20  3:12                                                 ` Stefan Monnier
2013-03-20  4:37                                                   ` Leo Liu
2013-03-20 12:51                                                     ` Stefan Monnier
2013-11-17  5:18                                                       ` Leo Liu
2013-11-17  9:48                                                         ` martin rudalics
2013-02-08  9:59                           ` martin rudalics
2013-11-18 11:16           ` bug#13594: Planning Emacs-24.4 Leo Liu
2013-11-18 13:19             ` martin rudalics
2013-11-18 14:56               ` Leo Liu
2013-11-18 15:20                 ` martin rudalics
2013-11-18 15:48                   ` Leo Liu
2013-11-19  0:33                     ` Stefan Monnier
2013-11-19  0:54                       ` Juri Linkov
2013-11-19  3:38                         ` Stefan Monnier
2013-11-19  2:42                       ` Leo Liu
2013-11-19  7:42                         ` martin rudalics
2013-11-20  2:51                           ` Leo Liu
2013-11-20  7:33                             ` martin rudalics
2013-11-19  0:31               ` Stefan Monnier [this message]
2013-11-19  7:42                 ` martin rudalics
2013-11-20  0:55                   ` Juri Linkov
2013-11-20  3:26                     ` Stefan Monnier
2013-11-21  0:30                       ` Juri Linkov
2013-12-02  5:33                         ` Leo Liu
2013-12-03  1:19                           ` Juri Linkov
2013-12-03  3:23                             ` Leo Liu
2013-12-03  7:56                             ` martin rudalics
2013-11-20  7:34                     ` martin rudalics
2013-11-18 13:55         ` Stefan Monnier
2013-11-18 15:32           ` martin rudalics

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=jwvob5hw84z.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=13594@debbugs.gnu.org \
    --cc=rudalics@gmx.at \
    --cc=sdl.web@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).