all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Martin Blais <blais@furius.ca>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: christopher@ch.ristopher.com, 12288@debbugs.gnu.org
Subject: bug#12288: 24.2.50; compilation-start: Query for killing existing compilation process only if query-on-exit-flag is non-nil
Date: Tue, 04 Sep 2012 21:50:58 -0400	[thread overview]
Message-ID: <1346809858.17060.140661123723789.284FF9D1@webmail.messagingengine.com> (raw)
In-Reply-To: <87wr0d2p99@ch.ristopher.com>

Salut Stef,

Here is a new patch for compile.el that has the change as described by
Christopher. "compilation-always-kill" is consulted to initialize the
process-query-on-exit-flag when creating a new process, and the 
process flag is examined when deciding to query to kill the running 
process or not.



=== modified file 'lisp/progmodes/compile.el'
*** lisp/progmodes/compile.el   2012-08-30 08:22:24 +0000
--- lisp/progmodes/compile.el   2012-09-04 18:38:00 +0000
***************
*** 1544,1550 ****
        (let ((comp-proc (get-buffer-process (current-buffer))))
        (if comp-proc
            (if (or (not (eq (process-status comp-proc) 'run))
!                     compilation-always-kill
                    (yes-or-no-p
                     (format "A %s process is running; kill it? "
                             name-of-mode)))
--- 1544,1550 ----
        (let ((comp-proc (get-buffer-process (current-buffer))))
        (if comp-proc
            (if (or (not (eq (process-status comp-proc) 'run))
!                     (eq (process-query-on-exit-flag comp-proc) nil)
                    (yes-or-no-p
                     (format "A %s process is running; kill it? "
                             name-of-mode)))
***************
*** 1663,1668 ****
--- 1663,1675 ----
              ;; Make the buffer's mode line show process state.
              (setq mode-line-process
                    '(:propertize ":%s" face compilation-mode-line-run))
+
+               ;; Set the process as killable without query by default.
+               ;; This allows us to start a new compilation without
+               ;; getting prompted.
+               (when compilation-always-kill
+                 (set-process-query-on-exit-flag proc nil))
+
              (set-process-sentinel proc 'compilation-sentinel)
              (unless (eq mode t)
                ;; Keep the comint filter, since it's needed for proper handling





On Sat, Sep 1, 2012, at 21:21, Christopher Schmidt wrote:
> Martin Blais <blais@furius.ca> writes:
> > On Sat, Sep 1, 2012, at 11:29, Christopher Schmidt wrote:
> >> Those processes that have a nil query-on-exit-flag should be killed
> >> by compilation-start without a yes-or-no query.  A buffer-local
> >> non-nil value for compilation-always-kill allows me to achieve that.
> >>
> >> I still think a check for query-on-exit-flag in compilation-start is
> >> a good idea.  Non-nil query-on-exit-flag and non-nil buffer-local
> >> compilation-always-kill feels redundant, doesn't it?
> >
> > Maybe what we should do is this (just an idea, not sure if it'll make
> > sense to you):
> >
> > 1. Make the compile code check the process-query-on-exit-flag instead
> > of the compilation-always-kill variable. This would simplify matters,
> > in that there's a single flag that decides whether to kill the running
> > process, and it's the same flag that's already being used for when you
> > kill a buffer. One thing.
> >
> > 2. Provide a way to set the default value of
> > process-query-on-exit-flag on compile subprocesses easier than the
> > hook/comment. Suppressing the ask on recompile is a very common desire
> > BTW--some people have packages to do just that--and IMO being able to
> > customize this via a dedicated variable is valuable.
> >
> > What do you think?
> 
> This is IMO a lot more intuitive than having a variable that
> unconditionally removes the prompt.  I'd go for it.
> 
>         Christopher





  reply	other threads:[~2012-09-05  1:50 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-27 14:56 bug#12288: 24.2.50; compilation-start: Query for killing existing compilation process only if query-on-exit-flag is non-nil Christopher Schmidt
2012-09-01 10:58 ` Christopher Schmidt
2012-09-01 12:32   ` Stefan Monnier
2012-09-01 12:45     ` Christopher Schmidt
2012-09-01 15:11   ` Martin Blais
2012-09-01 15:29     ` Christopher Schmidt
2012-09-01 18:17       ` Martin Blais
2012-09-02  1:21         ` Christopher Schmidt
2012-09-05  1:50           ` Martin Blais [this message]
2012-09-18  4:19             ` Stefan Monnier

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

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

  git send-email \
    --in-reply-to=1346809858.17060.140661123723789.284FF9D1@webmail.messagingengine.com \
    --to=blais@furius.ca \
    --cc=12288@debbugs.gnu.org \
    --cc=christopher@ch.ristopher.com \
    --cc=monnier@iro.umontreal.ca \
    /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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.