[#32986] [Ruby 1.9-Bug#4010][Open] YAML fails to roundtrip non ASCII String — Heesob Park <redmine@...>
Bug #4010: YAML fails to roundtrip non ASCII String
On Tue, Nov 02, 2010 at 09:58:27PM +0900, Heesob Park wrote:
[#33000] [Ruby 1.9-Bug#4014][Open] Case-Sensitivity of Property Names Depends on Regexp Encoding — Run Paint Run Run <redmine@...>
Bug #4014: Case-Sensitivity of Property Names Depends on Regexp Encoding
[#33021] Re: [Ruby 1.9-Feature#4015][Open] File::DIRECT Constant for O_DIRECT — Yukihiro Matsumoto <matz@...>
Hi,
Issue #4015 has been updated by Run Paint Run Run.
Issue #4015 has been updated by Motohiro KOSAKI.
[#33102] Re: Suggestion for MatchData#first and #last — Robert Klemme <shortcutter@...>
On Mon, Nov 8, 2010 at 9:34 AM, NARUSE, Yui <naruse@airemix.jp> wrote:
[#33120] Re: [Ruby 1.9-Feature#4038] IO#advise — KOSAKI Motohiro <kosaki.motohiro@...>
Hi
Issue #4038 has been updated by Motohiro KOSAKI.
[#33123] timer thread sleep interval (powertop abuses) — Chris Mason <chris.mason@...>
Hi everyone,
[#33139] [Ruby 1.9-Bug#4044][Open] Regex matching errors when using \W character class and /i option — Ben Hoskings <redmine@...>
Bug #4044: Regex matching errors when using \W character class and /i option
[#33162] Windows Unicode (chcp 65001) Generates incorrect output — Luis Lavena <luislavena@...>
Hello,
usa is having a fever now, so I reply though I don't remember the detail..
On Sun, Nov 21, 2010 at 10:26 AM, NARUSE, Yui <naruse@airemix.jp> wrote:
[#33209] Re: import racc parser generator to core — Ryan Davis <ryand-ruby@...>
[#33238] [Ruby 1.9-Feature#4065][Open] Rename or alias module#append_features to module#include_module — Chauk-Mean Proum <redmine@...>
Feature #4065: Rename or alias module#append_features to module#include_module
[#33246] [Ruby 1.9-Feature#4068][Open] Replace current standard Date/DateTime library with home_run — Jeremy Evans <redmine@...>
Feature #4068: Replace current standard Date/DateTime library with home_run
Issue #4068 has been updated by tadayoshi funaba.
Issue #4068 has been updated by tadayoshi funaba.
Hi,
[#33255] [Ruby 1.9-Feature#4071][Open] support basic auth for Net::HTTP.get requests — "coderrr ." <redmine@...>
Feature #4071: support basic auth for Net::HTTP.get requests
Issue #4071 has been updated by Yui NARUSE.
[#33314] [Ruby 1.9-Feature#4084][Open] pack should support 64bit network byte order longs — Aaron Patterson <redmine@...>
Feature #4084: pack should support 64bit network byte order longs
Issue #4084 has been updated by Yui NARUSE.
[#33322] [Ruby 1.9-Feature#4085][Open] Refinements and nested methods — Shugo Maeda <redmine@...>
Feature #4085: Refinements and nested methods
Hi,
Hi,
Hi,
Hi,
Hi,
Hi,
Hi,
Woah, this is very nice stuff! Some comments/questions:
Hi,
Hi,
This is a long response, and for that I apologize. I want to make sure
Hi,
Hello,
Hi,
Hello,
Hi,
Hi,
I think that, for this same reason, `using` should normally not apply
Hi,
Hello,
Hi,
Hi,
Hi,
Hi,
Hi,
Hi,
Hi,
On Sat, Dec 4, 2010 at 6:32 AM, Shugo Maeda <shugo@ruby-lang.org> wrote:
(2010/12/06 21:17), Charles Oliver Nutter wrote:
On Mon, Dec 6, 2010 at 8:48 AM, Urabe Shyouhei <shyouhei@ruby-lang.org> wrote:
Hi,
Hi,
Since I explained one use case I'd have for local rebinding: I think not having local rebinding is mostly what we want, local rebinding would mostly cause unwanted side effects and would be a pure horror to debug.
[#33338] [Ruby 1.9-Bug#4087][Open] String#scan(arg) taints results if arg is a Regexp but not if arg is a String — Brian Ford <redmine@...>
Bug #4087: String#scan(arg) taints results if arg is a Regexp but not if arg is a String
[#33367] Planning to release 1.8.7 fixes on 12/25 (Japanese timezone) — Urabe Shyouhei <shyouhei@...>
Hello,
2010/11/25 Urabe Shyouhei <shyouhei@ruby-lang.org>:
2010/11/25 Urabe Shyouhei <shyouhei@ruby-lang.org>:
(2010/11/28 5:55), Luis Lavena wrote:
On Sun, Nov 28, 2010 at 8:19 PM, Urabe Shyouhei <shyouhei@ruby-lang.org> wrote:
(2010/11/29 9:53), Luis Lavena wrote:
On Sun, Nov 28, 2010 at 17:19, Urabe Shyouhei <shyouhei@ruby-lang.org> wrote:
[#33456] [Request for Comment] avoid timer thread — SASADA Koichi <ko1@...>
Hi,
On Mon, Nov 29, 2010 at 11:53:03AM +0900, SASADA Koichi wrote:
On Tue, Feb 08, 2011 at 09:24:13PM +0900, Mark Somerville wrote:
Mark Somerville <mark@scottishclimbs.com> wrote:
On Sat, Jun 11, 2011 at 05:57:11AM +0900, Eric Wong wrote:
Mark Somerville <mark@scottishclimbs.com> wrote:
(2011/06/14 3:37), Eric Wong wrote:
SASADA Koichi <ko1@atdot.net> wrote:
Eric Wong <normalperson@yhbt.net> wrote:
Eric Wong <normalperson@yhbt.net> wrote:
On Sat, Jun 18, 2011 at 08:55:19AM +0900, Eric Wong wrote:
(2011/06/23 20:53), Mark Somerville wrote:
SASADA Koichi <ko1@atdot.net> wrote:
Eric Wong <normalperson@yhbt.net> wrote:
(2011/06/28 19:55), Eric Wong wrote:
[#33460] [Ruby 1.9-Bug#4097][Open] Unexpected result of STDIN.read on Windows — Heesob Park <redmine@...>
Bug #4097: Unexpected result of STDIN.read on Windows
[#33469] [Ruby 1.9-Feature#4100][Open] Improve Net::HTTP documentation — Eric Hodel <redmine@...>
Feature #4100: Improve Net::HTTP documentation
Issue #4100 has been updated by Yui NARUSE.
Issue #4100 has been updated by mathew murphy.
[#33491] [Ruby 1.9-Bug#4103][Open] String#hash not returning consistent values in different sessions — Ryan Ong <redmine@...>
Bug #4103: String#hash not returning consistent values in different sessions
[ruby-core:33146] [Ruby 1.9-Feature#4046][Open] Saving C's **argv and cwd allows Ruby programs to reliably restart themselves
Feature #4046: Saving C's **argv and cwd allows Ruby programs to reliably restart themselves http://redmine.ruby-lang.org/issues/show/4046 Author: Rocky Bernstein Status: Open, Priority: Normal Target version: 1.9.x In a debugger often one gets to a state where one just wants to restart everything exactly the way the program was previously invoked. It would helpful if Ruby saved **argv and cwd. The attached patch saves these in RubyVM::OS_ARGV and RubyVM::OS_STARTUP_DIR. With this, if a Ruby program wants to restart itself, it can run: chdir RubyVM::OS_STARTUP_DIR exec(*RubyVM::OS_ARGV) ---------------------------------------- http://redmine.ruby-lang.org
Attachments (1)
Index: include/ruby/ruby.h
===================================================================
--- include/ruby/ruby.h (revision 29767)
+++ include/ruby/ruby.h (working copy)
@@ -1454,6 +1454,12 @@
#include "ruby/subst.h"
#endif
+struct origarg {
+ int argc;
+ char **argv;
+ char *os_startup_dir;
+};
+
#if defined(__cplusplus)
#if 0
{ /* satisfy cc-mode */
Index: vm.c
===================================================================
--- vm.c (revision 29767)
+++ vm.c (working copy)
@@ -1975,6 +1975,8 @@
return ary;
}
+extern struct origarg origarg;
+
void
Init_VM(void)
{
@@ -1987,6 +1990,21 @@
rb_undef_alloc_func(rb_cRubyVM);
rb_undef_method(CLASS_OF(rb_cRubyVM), "new");
+ /** ::VM::OS_ARGV and OS_STARTUP_DIR */
+ rb_define_const(rb_cRubyVM, "OS_STARTUP_DIR",
+ strlen(origarg.os_startup_dir) > 0 ?
+ rb_str_new2(origarg.os_startup_dir) : Qnil);
+ {
+ int argc;
+ char **argv;
+ VALUE ary = rb_ary_new();
+ rb_define_const(rb_cRubyVM, "OS_ARGV", ary);
+ for (argc = origarg.argc, argv = origarg.argv;
+ argc > 0; argc--, argv++) {
+ rb_ary_push(ary, rb_str_new2(*argv));
+ }
+ }
+
/* ::VM::FrozenCore */
fcore = rb_class_new(rb_cBasicObject);
RBASIC(fcore)->flags = T_ICLASS;
Index: ruby.c
===================================================================
--- ruby.c (revision 29767)
+++ ruby.c (working copy)
@@ -118,13 +118,11 @@
static void forbid_setid(const char *, struct cmdline_options *);
#define forbid_setid(s) forbid_setid(s, opt)
-static struct {
- int argc;
- char **argv;
+struct origarg origarg;
+
#if !defined(PSTAT_SETCMD) && !defined(HAVE_SETPROCTITLE)
- size_t len;
+ size_t origarg_len;
#endif
-} origarg;
static void
usage(const char *name)
@@ -1752,8 +1750,8 @@
setproctitle("%.*s", (int)i, s);
#else
- if ((size_t)i > origarg.len - origarg.argc) {
- i = (long)(origarg.len - origarg.argc);
+ if ((size_t)i > origarg_len - origarg.argc) {
+ i = (long)(origarg_len - origarg.argc);
}
memcpy(origarg.argv[0], s, i);
@@ -1763,8 +1761,8 @@
char *t = origarg.argv[0] + i;
*t = '\0';
- if ((size_t)(i + 1) < origarg.len) {
- memset(t + 1, '\0', origarg.len - i - 1);
+ if ((size_t)(i + 1) < origarg_len) {
+ memset(t + 1, '\0', origarg_len - i - 1);
}
for (j = 1; j < origarg.argc; j++) {
origarg.argv[j] = t;
@@ -1891,8 +1889,19 @@
#endif
origarg.argc = *argc;
origarg.argv = *argv;
+ origarg.os_startup_dir = malloc(MAXPATHLEN);
+#ifdef HAVE_GETCWD
+ if (!getcwd(origarg.os_startup_dir, MAXPATHLEN))
+ origarg.os_startup_dir[0] = '\0';
+#else
+ if (!getwd(origarg.os_startup_dir))
+ origarg.os_startup_dir[0] = '\0';
+#endif
+ origarg.os_startup_dir = realloc(origarg.os_startup_dir,
+ strlen(origarg.os_startup_dir)+1);
+
#if !defined(PSTAT_SETCMD) && !defined(HAVE_SETPROCTITLE)
- origarg.len = get_arglen(origarg.argc, origarg.argv);
+ origarg_len = get_arglen(origarg.argc, origarg.argv);
#endif
#if defined(USE_DLN_A_OUT)
dln_argv0 = origarg.argv[0];