[#4479] Requesting addition to IRB (configurable standard output) — Sascha Ebach <se@...>

Hello,

13 messages 2005/02/24
[#4482] Re: Requesting addition to IRB (configurable standard output) — Sam Roberts <sroberts@...> 2005/02/25

Quoting se@digitale-wertschoepfung.de, on Fri, Feb 25, 2005 at 01:22:34AM +0900:

[#4483] Re: Requesting addition to IRB (configurable standard output) — Eric Hodel <drbrain@...7.net> 2005/02/25

On 24 Feb 2005, at 19:51, Sam Roberts wrote:

[#4488] Re: Requesting addition to IRB (configurable standard output) — Sam Roberts <sroberts@...> 2005/02/26

Quoting drbrain@segment7.net, on Sat, Feb 26, 2005 at 02:43:31AM +0900:

[#4489] Re: Requesting addition to IRB (configurable standard output) — Eric Hodel <drbrain@...7.net> 2005/02/26

On 25 Feb 2005, at 16:03, Sam Roberts wrote:

Re: Function request: rb_raisef()

From: Mathieu Bouchard <matju@...>
Date: 2005-02-25 21:48:32 UTC
List: ruby-core #4485
On Sat, 26 Feb 2005, Berger, Daniel wrote:

> Hi all,
> Or is this impractical?

------------------8<--------cut-here--------8<------------------
from gridflow/base/main.c :

extern "C"{
void rb_raise0(
const char *file, int line, const char *func, VALUE exc, const char *fmt,
...) {
	va_list args;
	char buf[BUFSIZ];
	va_start(args,fmt);
	vsnprintf(buf, BUFSIZ, fmt, args);
	buf[BUFSIZ-1]=0;
	va_end(args);
	VALUE e = rb_exc_new2(exc, buf);
	char buf2[BUFSIZ];
	snprintf(buf2, BUFSIZ, "%s:%d:in `%s'", file, line, func);
	buf2[BUFSIZ-1]=0;
	VALUE ary = rb_funcall(e,SI(caller),0);
	if (gf_stack.n) {
		rb_funcall(ary,SI(unshift),2,rb_str_new2(buf2),
			rb_str_new2(gf_stack.s[gf_stack.n-1].o->info()));
	} else {
		rb_funcall(ary,SI(unshift),1,rb_str_new2(buf2));
	}
	rb_funcall(e,SI(set_backtrace),1,ary);
	rb_exc_raise(e);
}};

------------------8<--------cut-here--------8<------------------
from gridflow/base/grid.h :

#define RAISE(args...) \
  rb_raise0(__FILE__,__LINE__,__PRETTY_FUNCTION__,rb_eArgError,args)

------------------8<--------cut-here--------8<------------------

you'll just have to remove the parts related to gf_stack and then it's
yours.

_____________________________________________________________________
Mathieu Bouchard -=- Montr饌l QC Canada -=- http://artengine.ca/matju



In This Thread