all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: bago@ludens.elte.hu (Toto)
Subject: Wait for compile to finish
Date: 20 Oct 2005 15:07:54 +0200	[thread overview]
Message-ID: <Hw8DDpgmJd$s@ludens> (raw)

Greetings!

My problem is the following:

I would like to have a function, which runs the program, that belongs to
the buffer i'm editing or compile it first if it isn't done already.
To make it more clear. Say, i'm editing helloworld.c and i call this
function, it should execute helloworld.exe (yes, i'm on windows). If
there is no hello.exe in the current directory (or it is older than the
source file) emacs should compile it first and run it afterwards.

For this purpose I have come up with a funcion similar to the one below.

But: Compile is asynchronous, so this funcion tries to execute the exe
file before the compilation finishes (and the exe is created).

My question is:
Is there a synchronous version of compile? Or how can i determine that
compile has finished (and get the result of the compilation - success
or failure)?

The (pseudo) code is as follows:

(defun run-compiled-program (params)
  "Runs the program with the same name as the buffer."
  (interactive "sRun with parameter(s): ")
  (setq exe (concat
			 (file-name-sans-extension (buffer-file-name))
			 ".exe"
			 )
		)
     (if (not (file-newer-than-file-p exe (buffer-file-name)))
 	 (compile-this-buffer) ;; using the compile funcion
 	  )
  (shell-command
   (concat exe " " params)
   )
  )
;; GNU Emacs 22.0.50.1 (i386-mingw-nt5.1.2600) of 2005-03-08 on S8472


Any suggestions are welcome.

Ps.: my english might not be the best ;)
-- 
				[ Toto ]

             reply	other threads:[~2005-10-20 13:07 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-10-20 13:07 Toto [this message]
2005-10-20 16:31 ` Wait for compile to finish Kevin Rodgers
2005-10-20 19:40   ` Eli Zaretskii
2005-10-21 15:43 ` William Xu
2005-10-21 21:18 ` Kevin Ryde
2005-10-22 16:07 ` Vagn Johansen
2005-10-24 10:22   ` Toto

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='Hw8DDpgmJd$s@ludens' \
    --to=bago@ludens.elte.hu \
    /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.