diff --git a/src/if_ruby.c b/src/if_ruby.c
index 450f34a..fd6e552 100644
--- a/src/if_ruby.c
+++ b/src/if_ruby.c
@@ -299,6 +299,11 @@
 #  define rb_string_value_ptr		dll_rb_string_value_ptr
 #  define rb_float_new			dll_rb_float_new
 #  define rb_ary_new			dll_rb_ary_new
+#  ifdef rb_ary_new4
+#    define RB_ARY_NEW4_MACRO 1
+#    undef rb_ary_new4
+#  endif
+#  define rb_ary_new4			dll_rb_ary_new4
 #  define rb_ary_push			dll_rb_ary_push
 #  if defined(RUBY19_OR_LATER) || defined(RUBY_INIT_STACK)
 #   ifdef __ia64
@@ -441,6 +446,7 @@
 static char * (*dll_rb_string_value_ptr) (volatile VALUE*);
 static VALUE (*dll_rb_float_new) (double);
 static VALUE (*dll_rb_ary_new) (void);
+static VALUE (*dll_rb_ary_new4) (long n, const VALUE *elts);
 static VALUE (*dll_rb_ary_push) (VALUE, VALUE);
 #  if defined(RUBY19_OR_LATER) || defined(RUBY_INIT_STACK)
 #   ifdef __ia64
@@ -647,6 +653,11 @@
     {"rb_float_new_in_heap", (RUBY_PROC*)&dll_rb_float_new},
 #  endif
     {"rb_ary_new", (RUBY_PROC*)&dll_rb_ary_new},
+#  ifdef RB_ARY_NEW4_MACRO
+    {"rb_ary_new_from_values", (RUBY_PROC*)&dll_rb_ary_new4},
+#  else
+    {"rb_ary_new4", (RUBY_PROC*)&dll_rb_ary_new4},
+#  endif
     {"rb_ary_push", (RUBY_PROC*)&dll_rb_ary_push},
 # endif
 # ifdef RUBY19_OR_LATER
@@ -1577,6 +1588,7 @@
 {
     int i;
     VALUE str = rb_str_new("", 0);
+    VALUE ret = Qnil;
 
     for (i = 0; i < argc; i++)
     {
@@ -1584,7 +1596,12 @@
 	rb_str_concat(str, rb_inspect(argv[i]));
     }
     MSG(RSTRING_PTR(str));
-    return Qnil;
+
+    if (argc == 1)
+	ret = argv[0];
+    else if (argc > 1)
+	ret = rb_ary_new4(argc, argv);
+    return ret;
 }
 
 static void ruby_io_init(void)
diff --git a/src/testdir/test_ruby.vim b/src/testdir/test_ruby.vim
index 8d7943e..5476e51 100644
--- a/src/testdir/test_ruby.vim
+++ b/src/testdir/test_ruby.vim
@@ -363,4 +363,17 @@
   ruby p 'Just a test'
   let messages = split(execute('message'), "\n")
   call assert_equal('"Just a test"', messages[-1])
+
+  " Check return values of p method
+
+  call assert_equal('123', RubyEval('p(123)'))
+  call assert_equal('[1, 2, 3]', RubyEval('p(1, 2, 3)'))
+
+  " Avoid the "message maintainer" line.
+  let $LANG = ''
+  messages clear
+  call assert_equal('true', RubyEval('p() == nil'))
+
+  let messages = split(execute('message'), "\n")
+  call assert_equal(0, len(messages))
 endfunc
diff --git a/src/version.c b/src/version.c
index d71ee0e..da43f60 100644
--- a/src/version.c
+++ b/src/version.c
@@ -795,6 +795,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    269,
+/**/
     268,
 /**/
     267,
