[DRE-commits] [SCM] ruby-pgplot.git branch, master, updated. upstream/0.1.3-15-g426f6c5

Youhei SASAKI uwabami at gfd-dennou.org
Sat Jun 2 06:20:26 UTC 2012


The following commit has been merged in the master branch:
commit d8dd47c06e5d075efbbf25705f1aa8fdd053db63
Author: Youhei SASAKI <uwabami at gfd-dennou.org>
Date:   Fri Jun 1 18:16:42 2012 +0900

    Change patch handling: use gbp-pq
    
    Signed-off-by: Youhei SASAKI <uwabami at gfd-dennou.org>

diff --git a/cogen.rb b/cogen.rb
index 2494f5f..d5d526a 100644
--- a/cogen.rb
+++ b/cogen.rb
@@ -97,7 +97,7 @@ def pgfuncgen(name, inp, out)
   ninp = inp.size
   nout = out.size
   # int->0, float->1
-  val2 = ["NUM2INT","NUM2DBL","StringValuePtr"]
+  val2 = ["NUM2INT","NUM2DBL","STR2CSTR"]
   type = ["int","float",nil]
   conv = ["INT2NUM","rb_float_new",nil]
   # Initialize Array
diff --git a/debian/patches/SupportRuby1.9.2 b/debian/patches/0001-Update-extconf-and-Add-support-for-Ruby-1.9.2.patch
similarity index 80%
rename from debian/patches/SupportRuby1.9.2
rename to debian/patches/0001-Update-extconf-and-Add-support-for-Ruby-1.9.2.patch
index d47fa93..3aa07e4 100644
--- a/debian/patches/SupportRuby1.9.2
+++ b/debian/patches/0001-Update-extconf-and-Add-support-for-Ruby-1.9.2.patch
@@ -1,5 +1,48 @@
---- ruby-pgplot.orig/kwarg.c
-+++ ruby-pgplot/kwarg.c
+From: Youhei SASAKI <uwabami at gfd-dennou.org>
+Date: Fri, 1 Jun 2012 18:17:00 +0900
+Subject: Update extconf and Add support for Ruby 1.9.2
+
+---
+ cogen.rb       |    2 +-
+ extconf.rb     |    4 ++--
+ kwarg.c        |   23 +++++++++++++++++---
+ rb_pgplot.c.in |   65 +++++++++++++++++++++++++++++++++++---------------------
+ 4 files changed, 64 insertions(+), 30 deletions(-)
+
+diff --git a/cogen.rb b/cogen.rb
+index d5d526a..2494f5f 100644
+--- a/cogen.rb
++++ b/cogen.rb
+@@ -97,7 +97,7 @@ def pgfuncgen(name, inp, out)
+   ninp = inp.size
+   nout = out.size
+   # int->0, float->1
+-  val2 = ["NUM2INT","NUM2DBL","STR2CSTR"]
++  val2 = ["NUM2INT","NUM2DBL","StringValuePtr"]
+   type = ["int","float",nil]
+   conv = ["INT2NUM","rb_float_new",nil]
+   # Initialize Array
+diff --git a/extconf.rb b/extconf.rb
+index 3fabb54..39752c6 100644
+--- a/extconf.rb
++++ b/extconf.rb
+@@ -34,10 +34,10 @@ dir_config("pgplot")
+ exit unless have_header("cpgplot.h")
+ 
+ # Check NArray
+-$CPPFLAGS = " -I#{CONFIG['sitearchdir']} "+$CPPFLAGS
++$CPPFLAGS = " -I#{CONFIG['vendorarchdir']} "+$CPPFLAGS
+ exit unless have_header("narray.h")
+ if RUBY_PLATFORM =~ /cygwin|mingw/
+-  $LDFLAGS = " -L#{CONFIG['sitearchdir']} "+$LDFLAGS
++  $LDFLAGS = " -L#{CONFIG['archdir']} "+$LDFLAGS
+   exit unless have_library("narray","na_make_object")
+ end
+ 
+diff --git a/kwarg.c b/kwarg.c
+index a03630c..0620ec2 100644
+--- a/kwarg.c
++++ b/kwarg.c
 @@ -9,6 +9,23 @@
     NO WARRANTY.
  */
@@ -24,7 +67,7 @@
  
  /* void rb_scan_kw_args __((VALUE, ...)); */
  
-@@ -18,7 +35,7 @@
+@@ -18,7 +35,7 @@ kw_hash_i(i, tmp)
  {
    VALUE key;
  
@@ -33,7 +76,7 @@
    if (TYPE(key)==T_SYMBOL) {
      key = rb_funcall(key, rb_intern("id2name"), 0);
    } else
-@@ -26,7 +43,7 @@
+@@ -26,7 +43,7 @@ kw_hash_i(i, tmp)
      rb_raise(rb_eArgError, "keywords must be String or Symbol");
    }
  
@@ -42,7 +85,7 @@
    return Qnil;
  }
  
-@@ -71,7 +88,7 @@
+@@ -71,7 +88,7 @@ rb_scan_kw_args(hash, va_alist)
    if (rb_funcall(tmp, rb_intern("empty?"), 0)==Qfalse) {
      val = rb_funcall(tmp, rb_intern("keys"), 0);
      val = rb_funcall(val, rb_intern("join"), 1, rb_str_new2(","));
@@ -51,8 +94,10 @@
    }
  
    va_end(vargs);
---- ruby-pgplot.orig/rb_pgplot.c.in
-+++ ruby-pgplot/rb_pgplot.c.in
+diff --git a/rb_pgplot.c.in b/rb_pgplot.c.in
+index f9a8cfe..ded737f 100644
+--- a/rb_pgplot.c.in
++++ b/rb_pgplot.c.in
 @@ -11,6 +11,23 @@
  #include <stdio.h>
  #include <cpgplot.h>
@@ -77,7 +122,7 @@
  #include "narray.h"
  
  #define min(a,b) (((a)<(b))?(a):(b))
-@@ -89,7 +106,7 @@
+@@ -89,7 +106,7 @@ static VALUE
    char *dev="?";
  
    rb_scan_args(argc,argv, "01", &vdev);
@@ -86,7 +131,7 @@
  
    return INT2NUM(cpgopen(dev));
  }
-@@ -104,7 +121,7 @@
+@@ -104,7 +121,7 @@ static VALUE
    char  *dev="?";
  
    rb_scan_args(argc, argv, "03", &vdev,&vnxs,&vnys);
@@ -95,7 +140,7 @@
    if (vnxs!=Qnil) nxsub = NUM2INT(vnxs);
    if (vnys!=Qnil) nysub = NUM2INT(vnys);
  
-@@ -124,7 +141,7 @@
+@@ -124,7 +141,7 @@ static VALUE
       just: if just=1, the x and y axes is scaled equally,
             otherwise scaled independently.
       axis: controls of axes.
@@ -104,7 +149,7 @@
  static VALUE
    rb_pgplot_pgenv( int argc, VALUE *argv, VALUE self )
  {
-@@ -309,14 +326,14 @@
+@@ -309,14 +326,14 @@ static void
  /* PGERRB -- horizontal or vertical error bar
     pgerrb, dir, x, y, err [,tlen]
  
@@ -121,7 +166,7 @@
                    6 for +/-Y (Y-E to Y+E).
     x   : world x-coordinates of the data.
     y   : world y-coordinates of the data.
-@@ -500,9 +517,9 @@
+@@ -500,9 +517,9 @@ static VALUE
    return Qtrue;
  }
  
@@ -133,7 +178,7 @@
     cont   : contour level tobe labeld
     label  : label string
     intval : spacing along the contour between labels, in grid cells.
-@@ -531,7 +548,7 @@
+@@ -531,7 +548,7 @@ static VALUE
    /* Show Contour */
    cpgconl( NA_PTR_FLT(na_map), NA_SHAPE0(na_map), NA_SHAPE1(na_map),
  	   1, NA_SHAPE0(na_map), 1, NA_SHAPE1(na_map),
@@ -142,7 +187,7 @@
    return Qtrue;
  }
  
-@@ -624,7 +641,7 @@
+@@ -624,7 +641,7 @@ static VALUE
    else
      cpggray( NA_PTR_FLT(na), NA_SHAPE0(na), NA_SHAPE1(na),
  	     1, NA_SHAPE0(na), 1, NA_SHAPE1(na),
@@ -151,7 +196,7 @@
    return Qtrue;
  }
  
-@@ -774,7 +791,7 @@
+@@ -774,7 +791,7 @@ static VALUE
    int   value_len=20;
    char *item, *value;
  
@@ -160,7 +205,7 @@
    value = ALLOCA_N(char,value_len);
    cpgqinf( item, value, &value_len );
  
-@@ -819,7 +836,7 @@
+@@ -819,7 +836,7 @@ static VALUE
    VALUE vx,vy;
    int i;
    float xbox[4], ybox[4];
@@ -169,7 +214,7 @@
  
    cpgqtxt( NUM2DBL(x),NUM2DBL(y),NUM2DBL(ang),NUM2DBL(fjust),txt,
  	   xbox, ybox );
-@@ -979,7 +996,7 @@
+@@ -979,7 +996,7 @@ static VALUE
    if (NA_TYPE(x)!=NA_SFLOAT || NA_TYPE(y)!=NA_SFLOAT)
      rb_raise(rb_eArgError, "Array must NArray.sfloat");
  
@@ -178,7 +223,7 @@
  	   NA_PTR_FLT(x), NA_PTR_FLT(y), sym );
  
    return INT2NUM(npt);
-@@ -1009,7 +1026,7 @@
+@@ -1009,7 +1026,7 @@ static VALUE
    if (NA_TYPE(x)!=NA_SFLOAT || NA_TYPE(y)!=NA_SFLOAT)
      rb_raise(rb_eArgError, "Array must NArray.sfloat");
  
@@ -187,7 +232,7 @@
  	   NA_PTR_FLT(x), NA_PTR_FLT(y), sym );
  
    return INT2NUM(npt);
-@@ -1037,7 +1054,7 @@
+@@ -1037,7 +1054,7 @@ static VALUE
    if (NA_TYPE(x)!=NA_SFLOAT || NA_TYPE(y)!=NA_SFLOAT)
      rb_raise(rb_eArgError, "Array must NArray.sfloat");
  
@@ -196,7 +241,7 @@
  	   NA_PTR_FLT(x), NA_PTR_FLT(y) );
  
    return INT2NUM(npt);
-@@ -1058,7 +1075,7 @@
+@@ -1058,7 +1075,7 @@ void rb_scan_kw_args __((VALUE, ...));
      baseline parallel to the axis and reading in the same direction as
      the axis (from point 1 to point 2). Current line and text attributes
      are used.
@@ -205,7 +250,7 @@
      Arguments:
       X1, Y1  : world coordinates of one endpoint of the axis.
       X2, Y2  : world coordinates of the other endpoint of the axis.
-@@ -1095,7 +1112,7 @@
+@@ -1095,7 +1112,7 @@ static VALUE
    if (tickr ==Qnil)  tickr = INT2FIX(0);
    if (disp  ==Qnil)  disp  = INT2FIX(1);
    if (orient==Qnil)  orient= INT2FIX(0);
@@ -214,7 +259,7 @@
  
    cpgtick( NUM2DBL(x1),NUM2DBL(y1),NUM2DBL(x2),NUM2DBL(y2),
  	   NUM2DBL(v), NUM2DBL(tickl),NUM2DBL(tickr),
-@@ -1114,25 +1131,25 @@
+@@ -1114,25 +1131,25 @@ static VALUE
  
      Draw a labelled graph axis from world-coordinate position (X1,Y1) to
      (X2,Y2).
@@ -246,7 +291,7 @@
      Arguments:
       x1, y1  : world coordinates of one endpoint of the axis.
       x2, y2  : world coordinates of the other endpoint of the axis.
-@@ -1180,7 +1197,7 @@
+@@ -1180,7 +1197,7 @@ static VALUE
    if (argc>0 && TYPE(argv[argc-1]) == T_HASH)
      val = argv[--argc];
  
@@ -255,7 +300,7 @@
  		   "opt",&vopt, "step",&step, "nsub",&nsub,
  		   "tickl",&tickl, "tickr",&tickr,
  		   "frac",&vfrac, "disp",&disp, "orient",&orient, 0);
-@@ -1192,7 +1209,7 @@
+@@ -1192,7 +1209,7 @@ static VALUE
    if (tickr ==Qnil)  tickr = INT2FIX(0);
    if (disp  ==Qnil)  disp  = INT2FIX(1);
    if (orient==Qnil)  orient= INT2FIX(0);
@@ -264,14 +309,3 @@
    if (vfrac !=Qnil)  frac  = NUM2DBL(vfrac);
  
    cpgaxis( opt, NUM2DBL(x1),NUM2DBL(y1),NUM2DBL(x2),NUM2DBL(y2),
---- ruby-pgplot.orig/cogen.rb
-+++ ruby-pgplot/cogen.rb
-@@ -97,7 +97,7 @@
-   ninp = inp.size
-   nout = out.size
-   # int->0, float->1
--  val2 = ["NUM2INT","NUM2DBL","STR2CSTR"]
-+  val2 = ["NUM2INT","NUM2DBL","StringValuePtr"]
-   type = ["int","float",nil]
-   conv = ["INT2NUM","rb_float_new",nil]
-   # Initialize Array
diff --git a/debian/patches/0002-Fix-mkdoc-for-Ruby-1.9.2.patch b/debian/patches/0002-Fix-mkdoc-for-Ruby-1.9.2.patch
new file mode 100644
index 0000000..0ab151d
--- /dev/null
+++ b/debian/patches/0002-Fix-mkdoc-for-Ruby-1.9.2.patch
@@ -0,0 +1,528 @@
+From: Youhei SASAKI <uwabami at gfd-dennou.org>
+Date: Fri, 1 Jun 2012 18:23:04 +0900
+Subject: Fix mkdoc for Ruby 1.9.2
+
+Signed-off-by: Youhei SASAKI <uwabami at gfd-dennou.org>
+---
+ doc/Makefile          |    6 +--
+ doc/install.ja.rd     |  126 ++++++++++++++++++++++++-------------------------
+ doc/method.ja.rd      |  124 ++++++++++++++++++++++++------------------------
+ doc/tutorial-01.ja.rd |   90 +++++++++++++++++------------------
+ 4 files changed, 173 insertions(+), 173 deletions(-)
+
+diff --git a/doc/Makefile b/doc/Makefile
+index 14d5770..14a8ed1 100644
+--- a/doc/Makefile
++++ b/doc/Makefile
+@@ -1,11 +1,11 @@
+ .SUFFIXES: .ja.rd .html.ja .rd .html .rb $(SUFFIXES)
+ 
+ .ja.rd.html.ja:
+-	rd2 -r rd2html-img-lib.rb --html-lang=ja --out-code=jis --with-css=css.css $< > $@
++	ruby -I. /usr/bin/rd2 -r rd2html-img-lib.rb --html-lang=ja --out-code=jis --with-css=css.css $< > $@
+ .rd.html:
+-	rd2 -r rd2html-img-lib.rb --with-css=css.css -o $* $<
++	ruby -I. /usr/bin/rd2 -r rd2html-img-lib.rb --with-css=css.css -o $* $<
+ .rb.html:
+-	rd2 -r rd2html-img-lib.rb --with-css=css.css -o $* $<
++	ruby -I. /usr/bin/rd2 -r rd2html-img-lib.rb --with-css=css.css -o $* $<
+ 
+ targets_en=index.html \
+   pgline.html pgcont.html pgimag.html pghist.html \
+diff --git a/doc/install.ja.rd b/doc/install.ja.rd
+index 0bc7480..2aa97af 100644
+--- a/doc/install.ja.rd
++++ b/doc/install.ja.rd
+@@ -1,105 +1,105 @@
+ =begin
+-= PGPLOT¤Î¥¤¥ó¥¹¥È¡¼¥ë
++= PGPLOTのインストール
+ 
+-PGPLOT¤Ï configure ¤ò»È¤ï¤Ê¤¤¤Î¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤¬¼ã´³ÌÌÅݤǤ¹¡£
+-°Ê²¼¤Ï Solaris¡¢GCC ¤È¤¤¤¦´Ä¶­¤ÇPGPLOT¤ò¥³¥ó¥Ñ¥¤¥ë¡¢
+-¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¼ê½ç¤òÀâÌÀ¤·¤Þ¤¹¡£
+-¾¤ÎOS¤Ç¤âUNIX¤Ê¤é¤Û¤È¤ó¤ÉƱ¤¸¤è¤¦¤Ë¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤ë¤È»×¤¤¤Þ¤¹¡£
+-((<ËܲȤΥ¤¥ó¥¹¥È¡¼¥ëÀâÌÀ¤Î¥Ú¡¼¥¸|URL:http://www.astro.caltech.edu/~tjp/pgplot/install.html>))
+-¤â¤´Í÷²¼¤µ¤¤¡£
++PGPLOTは configure を使わないのでインストールが若干面倒です。
++以下は Solaris、GCC という環境でPGPLOTをコンパイル、
++インストールする手順を説明します。
++他のOSでもUNIXならほとんど同じようにしてインストールできると思います。
++((<本家のインストール説明のページ|URL:http://www.astro.caltech.edu/~tjp/pgplot/install.html>))
++もご覧下さい。
+ 
+-=== PGPLOT¤Î¥½¡¼¥¹¤òÍÑ°Õ
+-((<PGPLOT¤Î¥µ¥¤¥È|URL:http://www.astro.caltech.edu/~tjp/pgplot/>))
+-¤«¤é
+-((<¥½¡¼¥¹¥³¡¼¥É|URL:ftp://ftp.astro.caltech.edu/pub/pgplot/pgplot5.2.tar.gz>))
+-¤ò¥À¥¦¥ó¥í¡¼¥É¡¢Å¸³«¤·¡¢pgplot¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë°ÜÆ°¤·¤Þ¤¹¡£
++=== PGPLOTのソースを用意
++((<PGPLOTのサイト|URL:http://www.astro.caltech.edu/~tjp/pgplot/>))
++から
++((<ソースコード|URL:ftp://ftp.astro.caltech.edu/pub/pgplot/pgplot5.2.tar.gz>))
++をダウンロード、展開し、pgplotのディレクトリに移動します。
+ 
+   gunzip -c pgplot5.2.tar.gz | tar xvf -
+   cd pgplot
+ 
+-=== ºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®
+-ºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤òºî¤ê¤Þ¤¹¡£¤³¤³¤Ç¤Ï build ¤È¤¤¤¦Ì¾Á°¤Ë¤·¤Þ¤¹¡£
++=== 作業ディレクトリを作成
++作業ディレクトリを作ります。ここでは build という名前にします。
+ 
+   mkdir build
+   cd build
+ 
+-=== drivers.list¤òÊÔ½¸
+-PGPLOT¤ÇÉÁ²è¤ò½ÐÎϤ¹¤ë¥É¥é¥¤¥Ð¤òÁªÂò¤·¤Þ¤¹¡£
+-drivers.list ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤ò¥³¥Ô¡¼¤·¤Æ¥¨¥Ç¥£¥¿¤Ç³«¤­¡¢
+-»È¤¤¤¿¤¤¥É¥é¥¤¥Ð¤Î¹Ô¤ÎƬ¤Î ! ¤Îʸ»ú¤òºï½ü¤·¤Þ¤¹¡£
++=== drivers.listを編集
++PGPLOTで描画を出力するドライバを選択します。
++drivers.list というファイルをコピーしてエディタで開き、
++使いたいドライバの行の頭の ! の文字を削除します。
+ 
+   cp ../drivers.list .
+   vi drivers.list
+ 
+-¥É¥é¥¤¥Ð¤Ï¤ª¹¥¤ß¤ÇÁªÂò¤Ç¤­¤Þ¤¹¤¬¡¢UNIX¤Ê¤é
++ドライバはお好みで選択できますが、UNIXなら
+ PNG, PPM, Postscipt, XWD, XWINDOW, XSERVE, XTERM
+-¤¢¤¿¤ê¤òÁª¤ó¤Ç¤ª¤¯¤Î¤¬°ìÈÌŪ¤Ç¤·¤ç¤¦¡£
+-PNG driver¤òÁȤ߹þ¤à¤Ë¤Ï¡¢
+-((<libpng|URL:http://www.libpng.org/pub/png/png.html>)) ¤¬É¬ÍפǤ¹¡£
+-¾¤Ë¤â¤¿¤¯¤µ¤ó¤Î¥É¥é¥¤¥Ð¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢
+-¥×¥ê¥ó¥¿¥É¥é¥¤¥Ð¤ÎÃæ¤Ë¤Ï¥³¥ó¥Ñ¥¤¥ë¤Î»þ¤Ë¥¨¥é¡¼¤¬½Ð¤ë¤â¤Î¤¬¤¢¤Ã¤¿¤ê¡¢
+-GIF¤Ï¥é¥¤¥»¥ó¥¹¤Ë°ú¤Ã³Ý¤«¤Ã¤¿¤ê¤·¤Þ¤¹¡£
+-
+-=== makefile ºîÀ®
+-¼¡¤Î¥³¥Þ¥ó¥É¤Ç makefile ¤òºîÀ®¤·¤Þ¤¹¡£
++あたりを選んでおくのが一般的でしょう。
++PNG driverを組み込むには、
++((<libpng|URL:http://www.libpng.org/pub/png/png.html>)) が必要です。
++他にもたくさんのドライバが含まれていますが、
++プリンタドライバの中にはコンパイルの時にエラーが出るものがあったり、
++GIFはライセンスに引っ掛かったりします。
++
++=== makefile 作成
++次のコマンドで makefile を作成します。
+   ../makemake .. sol2 g77_gcc
+-1ÈÖÌܤΰú¿ô¤Ï¥½¡¼¥¹¤Î¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î»ØÄê¤Ç¤¹¡£
+-¤³¤³¤Ç¤Ï¥½¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Ë¤¤¤ë¤Î¤Ç¡¢((%..%)) ¤ò»ØÄꤷ¤Þ¤¹¡£
+-2ÈÖÌܤΰú¿ô¤ÏOS¤Î¼ïÎà¤Ç¡¢¥½¡¼¥¹¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë
+-((%sys_*%)) ¤È¤¤¤¦¥Ç¥£¥ì¥¯¥È¥ê¤ÎÃæ¤Î ((%*%)) ¤ÎÉôʬ¤ò»ØÄꤷ¤Þ¤¹¡£
+-3ÈÖÌܤΰú¿ô¤Ï¥³¥ó¥Ñ¥¤¥é¤Ê¤É¤ÎÀßÄê¤Ç¡¢sys_* ¤Î²¼¤Ë¤¢¤ë
+-((%*.conf%)) ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤Î ((%*%)) ¤ÎÉôʬ¤ò»ØÄꤷ¤Þ¤¹¡£
+-¤â¤·¤³¤ÎÃæ¤Ë¤Ê¤±¤ì¤Ð¡¢ºÇ¤â¶á¤½¤¦¤Ê¤ä¤Ä¤òÁª¤Ó¤Þ¤¹¡£
+-
+-makefile ¤òºîÀ®¤·¤¿¤é¡¢¤¶¤Ã¤È¸«¤ÆÀßÄ꤬Àµ¤·¤¤¤«¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£
+-¤³¤³¤Ç¡¢PGPLOT ver 5.2.2 ¤Ç PNG driver¤ò»È¤¦¾ì¹ç¡¢
+-ÅǤ­½Ð¤µ¤ì¤¿ makefile ¤Ï¡¢
++1番目の引数はソースのあるディレクトリの指定です。
++ここではソースディレクトリの下にいるので、((%..%)) を指定します。
++2番目の引数はOSの種類で、ソースディレクトリにある
++((%sys_*%)) というディレクトリの中の ((%*%)) の部分を指定します。
++3番目の引数はコンパイラなどの設定で、sys_* の下にある
++((%*.conf%)) というファイルの ((%*%)) の部分を指定します。
++もしこの中になければ、最も近そうなやつを選びます。
++
++makefile を作成したら、ざっと見て設定が正しいかチェックします。
++ここで、PGPLOT ver 5.2.2 で PNG driverを使う場合、
++吐き出された makefile は、
+ 
+   pndriv.o : ./png.h ./pngconf.h ./zlib.h ./zconf.h
+ 
+-¤È¤¤¤¦¤Þ¤º¤¤ÀßÄê¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢¤³¤Î¹Ô¤òºï½ü¤·¤Þ¤¹¡£
++というまずい設定になっているので、この行を削除します。
+ 
+-=== ¥³¥ó¥Ñ¥¤¥ë
+-makefile ¤òÊÔ½¸¤·¤¿¤é¡¢¥é¥¤¥Ö¥é¥ê¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£
++=== コンパイル
++makefile を編集したら、ライブラリをコンパイルします。
+ 
+   make
+   make cpg
+ 
+-=== ¥¤¥ó¥¹¥È¡¼¥ë
+-make install ¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢¼êÆ°¤Ç¥³¥Ô¡¼¤·¤Þ¤¹¡£
+-ɬÍפʤé root ¤Ë¤Ê¤Ã¤Æ¤¯¤À¤µ¤¤¡£
+-¤Þ¤º¥¤¥ó¥¹¥È¡¼¥ëÀè¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò´Ä¶­ÊÑ¿ô¤Ë¥»¥Ã¥È¤·¤Þ¤¹¡£
+-csh·Ï¤Ê¤é¡¢
++=== インストール
++make install が用意されていないので、手動でコピーします。
++必要なら root になってください。
++まずインストール先のディレクトリを環境変数にセットします。
++csh系なら、
+ 
+   setenv PREFIX  /usr/local
+   setenv PGPLOT_DIR  ${PREFIX}/pgplot
+ 
+-¥¤¥ó¥¹¥È¡¼¥ëÀè¤Ï¼«Í³¤ËÁª¤Ù¤Þ¤¹¤¬¡¢
+-¥³¥ó¥Ñ¥¤¥ë»þ¤Ë¥Ñ¥¹»ØÄ꤬ɬÍפˤʤ뤫¤â¤·¤ì¤Þ¤»¤ó¡£
+-¼¡¤ËɬÍפʥե¡¥¤¥ë¤ò¥³¥Ô¡¼¤·¤Þ¤¹¡£
++インストール先は自由に選べますが、
++コンパイル時にパス指定が必要になるかもしれません。
++次に必要なファイルをコピーします。
+ 
+   cp -p libpgplot.a libpgplot.so* libcpgplot.a ${PREFIX}/lib
+   cp -p cpgplot.h ${PREFIX}/include
+   mkdir ${PGPLOT_DIR}
+   cp -p grfont.dat rgb.txt pgxwin_server ${PGPLOT_DIR}
+ 
+-¤³¤ì¤Ç¥¤¥ó¥¹¥È¡¼¥ë½ªÎ»¤Ç¤¹¡£
++これでインストール終了です。
+ 
+-=== ¥Ç¥â¤Î¼Â¹Ô
+-¥³¥ó¥Ñ¥¤¥ë¤¬¤¦¤Þ¤¯¤¤¤Ã¤¿¤«¤É¤¦¤«¥Ç¥â¥×¥í¥°¥é¥à¤òÁö¤é¤»¤Æ¤ß¤Þ¤·¤ç¤¦¡£
+-¥³¥ó¥Ñ¥¤¥ë¤·¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ë pgdemo1 ¤«¤é pgdemo17 ¤Þ¤Ç¤È cpgdemo
+-¤È¤¤¤¦¼Â¹Ô¥Õ¥¡¥¤¥ë¤¬¤Ç¤­¤Æ¤¤¤ë¤Ï¤º¤Ç¤¹¡£¤½¤ì¤é¤ò¼Â¹Ô¤Ç¤­¤ì¤ÐÀµ¤·¤¯
+-¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤¤¤ë¤Ï¤º¤Ç¤¹¡£
++=== デモの実行
++コンパイルがうまくいったかどうかデモプログラムを走らせてみましょう。
++コンパイルしたディレクトリに pgdemo1 から pgdemo17 までと cpgdemo
++という実行ファイルができているはずです。それらを実行できれば正しく
++コンパイルされているはずです。
+ 
+-=== ¥æ¡¼¥¶ÀßÄê
+-PGPLOT¤ò»È¤¦¥æ¡¼¥¶¤Ï¡¢´Ä¶­ÊÑ¿ô¤Ø¼¡¤ÎÀßÄꤷ¤Æ¤ª¤¯¤È¤è¤¤¤Ç¤·¤ç¤¦¡£
++=== ユーザ設定
++PGPLOTを使うユーザは、環境変数へ次の設定しておくとよいでしょう。
+   setenv PGPLOT_DIR  /usr/local/pgplot
+   setenv PGPLOT_DEV  /xwin
+-PGPLOT_DIR ¤Ï¾å¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¥Ç¥£¥ì¥¯¥È¥ê¤ÈƱ¤¸¡¢
+-PGPLOT_DEV ¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¥Ç¥Ð¥¤¥¹¤Ç¤¹¡£
+-¤½¤Î¾¤Î´Ä¶­ÊÑ¿ô¤ÏÆäËÀßÄꤷ¤Ê¤¯¤Æ¤â¤¤¤¤¤È»×¤¤¤Þ¤¹¤¬¡¢¾Ü¤·¤¯¤Ï
+-((<¤³¤³|URL:http://www.astro.caltech.edu/~tjp/pgplot/chapter1.html#ENV>))
+-¤ò¤´Í÷²¼¤µ¤¤¡£
++PGPLOT_DIR は上でインストールしたディレクトリと同じ、
++PGPLOT_DEV はデフォルトのデバイスです。
++その他の環境変数は特に設定しなくてもいいと思いますが、詳しくは
++((<ここ|URL:http://www.astro.caltech.edu/~tjp/pgplot/chapter1.html#ENV>))
++をご覧下さい。
+ 
+ <<< trailer
+ 
+diff --git a/doc/method.ja.rd b/doc/method.ja.rd
+index 161e563..46da15e 100644
+--- a/doc/method.ja.rd
++++ b/doc/method.ja.rd
+@@ -1,135 +1,135 @@
+ =begin
+ = module Pgplot
+ 
+-== ¥â¥¸¥å¡¼¥ë¥á¥½¥Ã¥É
++== モジュールメソッド
+ 
+-=== Áàºî
++=== 操作
+ --- pgopen([device])
+-PGPLOT¥»¥Ã¥·¥ç¥ó¤ò³«»Ï¤¹¤ë¡£Ìá¤êÃͤȤ·¤Æ¥¹¥Æ¡¼¥¿¥¹¤òÊÖ¤¹¡£
++PGPLOTセッションを開始する。戻り値としてステータスを返す。
+ 
+ --- pgbeg([device, [nxsub, [nysub]]])
+ (obsolete)
+-PGPLOT¥»¥Ã¥·¥ç¥ó¤ò³«»Ï¤¹¤ë¡£Ìá¤êÃͤȤ·¤Æ¥¹¥Æ¡¼¥¿¥¹¤òÊÖ¤¹¡£
++PGPLOTセッションを開始する。戻り値としてステータスを返す。
+ 
+ --- pgask( [true|false] )
+ 
+ --- pgenv( xmin,xmax,ymin,ymax [,just, axis] )
+ 
+-=== Àþ¡¦¥Þ¡¼¥«¤ÎÉÁ²è
++=== 線・マーカの描画
+ --- pgline( xarray, yarray )
+-xarray, yarray ¤ò·ë¤ÖÀþ¤òÉÁ¤¯¡£
+-xarray, yarray ¤Ï¤½¤ì¤¾¤ì X, Y ºÂɸ¤ÎÇÛÎó¡£
++xarray, yarray を結ぶ線を描く。
++xarray, yarray はそれぞれ X, Y 座標の配列。
+ 
+ --- pgpt( xarray, yarray [,symbol] )
+-xarray, yarray ¤Î°ÌÃ֤ˡ¢symbol ¤Î¥Þ¡¼¥«¤òÉÁ¤¯¡£
++xarray, yarray の位置に、symbol のマーカを描く。
+ 
+ --- pgpnts( xarray, yarray, symarray )
+-xarray, yarray ¤Î°ÌÃ֤ˡ¢Âбþ¤¹¤ë symarray ¤Î¥Þ¡¼¥«¤ò¤½¤ì¤¾¤ìÉÁ¤¯¡£
++xarray, yarray の位置に、対応する symarray のマーカをそれぞれ描く。
+ 
+-=== ¥Ò¥¹¥È¥°¥é¥à
++=== ヒストグラム
+ --- pgbin( xarray, yarray [,center] )
+ 
+ --- pghist( data, nbin [,range, flag] )
+ 
+-=== ¥¨¥é¡¼¥Ð¡¼
++=== エラーバー
+ --- pgerrb( dir, x, y, err [,tlen] )
+-¥¨¥é¡¼¥Ð¡¼¤òÉÁ¤¯¡£
+-tlen ¤ËüÅÀ¤ËÉÁ¤¯¥Ð¡¼¤ÎŤµ¤ò»ØÄê¡£
+-+ ÊÒ¦¥¨¥é¡¼¥Ð¡¼:
++エラーバーを描く。
++tlen に端点に描くバーの長さを指定。
+++ 片側エラーバー:
+  * dir = 1 for +X (X to X+err)
+  * dir = 2 for +Y (Y to Y+err)
+  * dir = 3 for -X (X to X-err)
+  * dir = 4 for -Y (Y to Y-err)
+-+ ¨¥é¡¼¥Ð¡¼:
+++ 両側エラーバー:
+  * dir = 5 for +/-X (X-err to X+err)
+  * dir = 6 for +/-Y (Y-err to Y+err)
+ 
+ --- pgerrx( x1, x2, y [,tlen] )
+-x1 ¤«¤é x2 ¤Þ¤Ç¤ò·ë¤Ö¥¨¥é¡¼¥Ð¡¼¤òÉÁ¤¯¡£
+-tlen ¤ËüÅÀ¤ËÉÁ¤¯¥Ð¡¼¤ÎŤµ¤ò»ØÄê¡£
++x1 から x2 までを結ぶエラーバーを描く。
++tlen に端点に描くバーの長さを指定。
+ 
+ --- pgerry( x, y1, y2 [,tlen] )
+-y1 ¤«¤é y2 ¤Þ¤Ç¤ò·ë¤Ö¥¨¥é¡¼¥Ð¡¼¤òÉÁ¤¯¡£
+-tlen ¤ËüÅÀ¤ËÉÁ¤¯¥Ð¡¼¤ÎŤµ¤ò»ØÄê¡£
++y1 から y2 までを結ぶエラーバーを描く。
++tlen に端点に描くバーの長さを指定。
+ 
+-=== Åù¹âÀþ
++=== 等高線
+ --- pgcont( map, cont [,tr] )
+-map ¤ÇÍ¿¤¨¤¿£²¼¡¸µ¥Þ¥Ã¥×¤ÎÅù¹âÀþ¤òÉÁ¤¯¡£
+-cont ¤Ë¤ÏÅù¹âÀþ¤Î¥ì¥Ù¥ë¤Þ¤¿¤Ï¤½¤ÎÇÛÎó¤òÍ¿¤¨¤ë¡£
++map で与えた2次元マップの等高線を描く。
++cont には等高線のレベルまたはその配列を与える。
+ 
+ --- pgcons( map, cont [,tr] )
+-PGCONT¤è¤ê®¤¤¥¢¥ë¥´¥ë¥º¥à¤ÇÉÁ¤¯¤ó¤À¤½¤¦¤Ê¡£
++PGCONTより速いアルゴルズムで描くんだそうな。
+ 
+ --- pgconb( map, cont [,blank, tr] )
+-blank¤ÇÍ¿¤¨¤¿Ãͤò·ç»ÃͤȤ·¤ÆÅù¹âÀþ¤òÉÁ¤¯¡£
++blankで与えた値を欠損値として等高線を描く。
+ 
+ --- pgconf( map, cont_range [,tr] )
+-cont_range ¤Ë Range¥¯¥é¥¹¥ª¥Ö¥¸¥§¥¯¥È¤ÇÍ¿¤¨¤¿ÈϰϤΥì¥Ù¥ë¤òÅɤêÄÙ¤¹¡£
++cont_range に Rangeクラスオブジェクトで与えた範囲のレベルを塗り潰す。
+ 
+ --- pgconl( map, cont, label [,intval, minint, tr] )
+-Åù¹âÀþ¤Ë¥é¥Ù¥ë¤ò¤Ä¤±¤ë¡£
++等高線にラベルをつける。
+ 
+-=== ²èÁü
++=== 画像
+ --- pgimag( array [,range, tr] )
+-¥«¥é¡¼¥¹¥±¡¼¥ë¤Ç array (£²¼¡¸µÇÛÎó) ¤Î²èÁü¤òÉÁ¤¯¡£
++カラースケールで array (2次元配列) の画像を描く。
+ 
+ --- pgctab( l, r,g,b [,contra,bright] )
+-pgimag ¤Ç»ÈÍѤ¹¤ë¥«¥é¡¼¥Æ¡¼¥Ö¥ë¤òÀßÄꤹ¤ë¡£
++pgimag で使用するカラーテーブルを設定する。
+ 
+ --- pggray( array [,range, tr] )
+-¥°¥ì¡¼¥¹¥±¡¼¥ë¤Ç array (£²¼¡¸µÇÛÎó) ¤Î²èÁü¤òÉÁ¤¯¡£
++グレースケールで array (2次元配列) の画像を描く。
+ 
+ --- pgpixl( array [,x1,x2,y1,y2] )
+-array (£²¼¡¸µÇÛÎó) ¤Î²èÁü¤ò¡¢Ä¹Êý·Á¤Îpixel 1¤Ä1¤Ä¤ÇÉÁ¤¯¡£
++array (2次元配列) の画像を、長方形のpixel 1つ1つで描く。
+ 
+ --- pgvect( x, y [,scale, pos, tr, blank] )
+-¥Ù¥¯¥È¥ë¾ì¤òÉÁ¤¯¡£
++ベクトル場を描く。
+ 
+-=== ºÂɸ¼´¤ÎÉÁ²è
++=== 座標軸の描画
+ --- pgtick( x1, y1, x2, y2, v, [str], {"tickl", "tickr", "disp", "orient"} )
+ 
+ --- pgaxis( x1, y1, x2, y2, v1, v2,
+          {"opt", "step", "nsub", "tickl", "tickr", "frac", "disp", "orient"} )
+ 
+-=== ¥«¡¼¥½¥ëÆþÎÏ
++=== カーソル入力
+ --- pgcurs([x,y])
+-¥¯¥ê¥Ã¥¯¤Þ¤¿¤Ï¥­¡¼¥¿¥¤¥×¤Î¥¤¥Ù¥ó¥È¤ò¼èÆÀ¤¹¤ë¡£
+-x,y ¤ò»ØÄꤹ¤ë¤È»Ï¤á¤Ë¤½¤Î°ÌÃ֤˥«¡¼¥½¥ë¤ò°ÜÆ°¤¹¤ë¡£
+-¥¤¥Ù¥ó¥È¤ò¼èÆÀ¤¹¤ë¤È
+-¥«¡¼¥½¥ë°ÌÃÖ(WC)¤Èʸ»ú¤ò PgCursor¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤ÇÊÖ¤¹¡£
++クリックまたはキータイプのイベントを取得する。
++x,y を指定すると始めにその位置にカーソルを移動する。
++イベントを取得すると
++カーソル位置(WC)と文字を PgCursorクラスのインスタンスで返す。
+ 
+ --- pgband( mode, [ xref, yref, [x, y, [posn]]])
+-¥¯¥ê¥Ã¥¯¤Þ¤¿¤Ï¥­¡¼¥¿¥¤¥×¤Î¥¤¥Ù¥ó¥È¤ò¼èÆÀ¤¹¤ë¡£
+-x,y ¤ò»ØÄꤹ¤ë¤È»Ï¤á¤Ë¤½¤Î°ÌÃ֤˥«¡¼¥½¥ë¤ò°ÜÆ°¤¹¤ë¡£
+-xref, yref ¤Ï¥¢¥ó¥«¡¼ÅÀ¤Î°ÌÃÖ(¸å½Ò)¤Ç¡¢¾Êά¤¹¤ë¤È¸½ºß°ÌÃ֤Ȥʤ롣
+-¥¤¥Ù¥ó¥È¤ò¼èÆÀ¤¹¤ë¤È
+-¥«¡¼¥½¥ë°ÌÃÖ(WC)¤Èʸ»ú¤ò PgCursor¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤ÇÊÖ¤¹¡£
+-mode¤Ë¤è¤ê¥«¡¼¥½¥ëÆþÎÏÃæ¤ÎÉÁ²èÊýË¡¤ò»ØÄê¤Ç¤­¤ë¡£
+- * mode=0 : ÉÁ²è¤Ê¤·¡£
+- * mode=1 : ¥¢¥ó¥«¡¼ÅÀ¤È¥«¡¼¥½¥ë¤ò·ë¤ÖÀþ¡£
+- * mode=2 : ¥¢¥ó¥«¡¼ÅÀ¤È¥«¡¼¥½¥ë¤òÂгѤȤ¹¤ëĹÊý·Á¡£
+- * mode=3 : ¥¢¥ó¥«¡¼ÅÀ¤È¥«¡¼¥½¥ë°ÌÃÖ¤½¤ì¤¾¤ì¤òÄ̤룲ËܤοåÊ¿Àþ¡£
+- * mode=4 : ¥¢¥ó¥«¡¼ÅÀ¤È¥«¡¼¥½¥ë°ÌÃÖ¤½¤ì¤¾¤ì¤òÄ̤룲ËܤοâľÀþ¡£
+- * mode=5 : ¥«¡¼¥½¥ë°ÌÃÖ¤òÄ̤ë¿åÊ¿Àþ¡£
+- * mode=6 : ¥«¡¼¥½¥ë°ÌÃÖ¤òÄ̤ë¿âľÀþ¡£
+- * mode=7 : ¥«¡¼¥½¥ë°ÌÃÖ¤òÄ̤뽽»úÀþ¡£
++クリックまたはキータイプのイベントを取得する。
++x,y を指定すると始めにその位置にカーソルを移動する。
++xref, yref はアンカー点の位置(後述)で、省略すると現在位置となる。
++イベントを取得すると
++カーソル位置(WC)と文字を PgCursorクラスのインスタンスで返す。
++modeによりカーソル入力中の描画方法を指定できる。
++ * mode=0 : 描画なし。
++ * mode=1 : アンカー点とカーソルを結ぶ線。
++ * mode=2 : アンカー点とカーソルを対角とする長方形。
++ * mode=3 : アンカー点とカーソル位置それぞれを通る2本の水平線。
++ * mode=4 : アンカー点とカーソル位置それぞれを通る2本の垂直線。
++ * mode=5 : カーソル位置を通る水平線。
++ * mode=6 : カーソル位置を通る垂直線。
++ * mode=7 : カーソル位置を通る十字線。
+ 
+ --- pgolin( x, y, [sym, [npt]] )
+-¥Þ¥¦¥¹¥«¡¼¥½¥ë¤ÇºÂɸ¤òϢ³¤·¤ÆÆþÎϤ¹¤ë¡£
+-x,y ¤Ë¤Ï¤¢¤é¤«¤¸¤á NArray::SFLOAT ·¿¤ÎÇÛÎó¤òÍ¿¤¨¤Æ¤ª¤­¡¢
+-¤½¤³¤Ø¥¯¥ê¥Ã¥¯¤·¤¿½çÈ֤˺Âɸ¤òµ­Ï¿¤·¤Æ¤¤¤¯¡£
+-ÆþÎϤǤ­¤ë¸Ä¿ô¤Ï¤³¤ÎÇÛÎó¤Î¥µ¥¤¥º¤ÇÀ©¸Â¤µ¤ì¤ë¡£
+-¥«¡¼¥½¥ë¤ÇÆþÎϤ·¤¿ÅÀ¤Ï¡¢¥Þ¡¼¥« sym ¤ÇÉÁ²è¤µ¤ì¤ë¡£
+-npt ¤ò»ØÄꤹ¤ë¤È¡¢¤¢¤é¤«¤¸¤á npt ¸Ä¤ÎÅÀ¤¬ÆþÎϤµ¤ì¤Æ¤¤¤ë¤È¤ß¤Ê¤¹¡£
+-Ìá¤êÃͤÏÆþÎϤ·¤¿ÅÀ¤Î¿ô¡£
++マウスカーソルで座標を連続して入力する。
++x,y にはあらかじめ NArray::SFLOAT 型の配列を与えておき、
++そこへクリックした順番に座標を記録していく。
++入力できる個数はこの配列のサイズで制限される。
++カーソルで入力した点は、マーカ sym で描画される。
++npt を指定すると、あらかじめ npt 個の点が入力されているとみなす。
++戻り値は入力した点の数。
+ 
+ --- pgncur( x, y, [sym, [npt]] )
+-x,y¤Ëµ­Ï¿¤µ¤ì¤ë½çÈÖ¤¬ x ¤Î¾®¤µ¤¤½ç¤Ç¤¢¤ë¤³¤È¤ò½ü¤­¡¢pgolin ¤ÈƱ¤¸¡£
++x,yに記録される順番が x の小さい順であることを除き、pgolin と同じ。
+ 
+ --- pglcur( x, y, [npt] )
+-ÆþÎϤ·¤¿ÅÀ¤ò·ë¤ÖÀþ¤¬ÉÁ¤«¤ì¤ë¤³¤È¤ò½ü¤¤¤Æ¡¢pgolin ¤ÈƱ¤¸¡£
++入力した点を結ぶ線が描かれることを除いて、pgolin と同じ。
+ 
+-=== ¥¹¥Æ¡¼¥¿¥¹¤òÊÖ¤¹
++=== ステータスを返す
+ --- pgqinf(item)
+   value = pgqinf(item)
+ 
+diff --git a/doc/tutorial-01.ja.rd b/doc/tutorial-01.ja.rd
+index 4b0f112..7613c5e 100644
+--- a/doc/tutorial-01.ja.rd
++++ b/doc/tutorial-01.ja.rd
+@@ -1,72 +1,72 @@
+ =begin
+-= Ruby/PGPLOT ƳÆþÊÔ
++= Ruby/PGPLOT 導入編
+ 
+-== ÀÞ¤ìÀþ¥°¥é¥Õ¤òÉÁ¤¯
++== 折れ線グラフを描く
+ 
+-Ruby/PGPLOT¤ÇÀÞ¤ìÀþ¥°¥é¥Õ¤òÉÁ¤¯ºÇ¾®¸Â¤Î¥¹¥¯¥ê¥×¥È¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
++Ruby/PGPLOTで折れ線グラフを描く最小限のスクリプトは、以下のようになります。
+ 
+   require 'narray'
+   require 'pgplot'
+   include Pgplot
+-  pgopen                           # ¥Ç¥Ð¥¤¥¹¤ò³«¤¯
+-  pgenv( 0, 5, 0, 5 )              # ÏȤÎÀßÄê¤ÈÉÁ²è
+-  pgline( [1,2,3,4], [1,4,1,4] )   # ÀÞ¤ìÀþ¤ÎÉÁ²è
++  pgopen                           # デバイスを開く
++  pgenv( 0, 5, 0, 5 )              # 枠の設定と描画
++  pgline( [1,2,3,4], [1,4,1,4] )   # 折れ線の描画
+ 
+-°Ê²¼¤³¤Î¥¹¥¯¥ê¥×¥È¤Ë¤Ä¤¤¤Æ¾Ü¤·¤¯ÀâÌÀ¤·¤Þ¤¹¡£
+-1¹ÔÌÜ¡¢2¹ÔÌܤdzÈÄ¥¥é¥¤¥Ö¥é¥ê¤ò¥í¡¼¥É¤·¤Þ¤¹¡£
++以下このスクリプトについて詳しく説明します。
++1行目、2行目で拡張ライブラリをロードします。
+ 
+-3¹ÔÌÜ¤Ç¤Ï Pgplot¥â¥¸¥å¡¼¥ë¤ò¥¤¥ó¥¯¥ë¡¼¥É¤·¤Æ¤¤¤Þ¤¹¡£
+-¤³¤ì¤ò¤·¤Ê¤¤¤È Pgplot¤Î¥á¥½¥Ã¥É¤ò¸Æ¤Ö¤È¤­¡¢``Pgplot.pgopen'' ¤È¤¤¤¦¤è¤¦¤Ë
+-¥â¥¸¥å¡¼¥ë̾¤ò¥á¥½¥Ã¥É¤ÎÁ°¤Ë¾Êά¤·¤Ê¤¤¤Ç½ñ¤«¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
+-¥¤¥ó¥¯¥ë¡¼¥É¤¹¤ë¤«¤É¤¦¤«¤Ï¾ì¹ç¤Ë¤è¤ê¤Þ¤¹¡£
+-Pgplot¥â¥¸¥å¡¼¥ë¤Î¥á¥½¥Ã¥É̾¤Ï(º£¤Î¤È¤³¤í)³§ ``pg'' ¤Ç»Ï¤Þ¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢
+-µ¤¤ò¤Ä¤±¤ì¤Ð̾Á°¤¬¤Ö¤Ä¤«¤ë³ÎΨ¤ÏÄ㤤¤È»×¤¤¤Þ¤¹¤¬¡¢
+-³Î¼Â¤ò´ü¤¹¤Ê¤é¥¤¥ó¥¯¥ë¡¼¥É¤·¤Ê¤¤Êý¤¬¤è¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£
++3行目では Pgplotモジュールをインクルードしています。
++これをしないと Pgplotのメソッドを呼ぶとき、``Pgplot.pgopen'' というように
++モジュール名をメソッドの前に省略しないで書かなければなりません。
++インクルードするかどうかは場合によります。
++Pgplotモジュールのメソッド名は(今のところ)皆 ``pg'' で始まっているので、
++気をつければ名前がぶつかる確率は低いと思いますが、
++確実を期すならインクルードしない方がよいかもしれません。
+ 
+-4¹ÔÌܤΠpgopen ¤Ç PGPLOT ¤Î¥°¥é¥Õ¥£¥¯¥¹¥Ç¥Ð¥¤¥¹¤ò³«¤­¤Þ¤¹¡£
+-¤³¤³¤Ç°ú¿ô¤ò½ñ¤«¤Ê¤¤¤È»ÈÍѤ¹¤ë¥Ç¥Ð¥¤¥¹¤òʹ¤¤¤Æ¤­¤Þ¤¹¡£
++4行目の pgopen で PGPLOT のグラフィクスデバイスを開きます。
++ここで引数を書かないと使用するデバイスを聞いてきます。
+ 
+-  Graphics device/type (? to see list, default /xwin): 
++  Graphics device/type (? to see list, default /xwin):
+ 
+-¥Ç¥Õ¥©¥ë¥È¤Î¤Þ¤Þ¤ÇÎɤ±¤ì¤Ðñ¤Ë¥ê¥¿¡¼¥ó¥­¡¼¤ò²¡¤·¤Þ¤¹¡£
+-¥Ç¥Õ¥©¥ë¥È¤Î¥Ç¥Ð¥¤¥¹¤Ï´Ä¶­ÊÑ¿ô PGPLOT_DEV ¤ÇÀßÄꤷ¤¿¤â¤Î¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
+-`?'¤È¥ê¥¿¡¼¥ó¤òÂǤÁ¹þ¤à¤È¡¢»ÈÍѤǤ­¤ë¥Ç¥Ð¥¤¥¹¤Î°ìÍ÷¤¬É½¼¨¤µ¤ì¤ë¤Î¤Ç¡¢
+-¤½¤ÎÃ椫¤éÊ̤ΥǥХ¤¥¹¤òÁªÂò¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
+-Î㤨¤Ð¡¢PNG¤È¤·¤Æ¥Õ¥¡¥¤¥ë¤Ë½ñ¤­½Ð¤·¤¿¤¤¤È¤­¤Ï¡¢
+-``plot1.png/png'' ¤Î¤è¤¦¤Ë¡Ö¥Õ¥¡¥¤¥ë̾/¥Ç¥Ð¥¤¥¹Ì¾¡×¤È¤¤¤¦¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£
++デフォルトのままで良ければ単にリターンキーを押します。
++デフォルトのデバイスは環境変数 PGPLOT_DEV で設定したものになっています。
++`?'とリターンを打ち込むと、使用できるデバイスの一覧が表示されるので、
++その中から別のデバイスを選択することもできます。
++例えば、PNGとしてファイルに書き出したいときは、
++``plot1.png/png'' のように「ファイル名/デバイス名」というように指定します。
+ 
+-5¹ÔÌܤÎ
++5行目の
+ 
+   pgenv( 0, 5, 0, 5 )
+ 
+-¤Ë¤è¤ê¡¢¥°¥é¥Õ¤Î¼´¤ò·èÄꤷ¡¢ÏȤÈÌÜÀ¹¤òÉÁ²è¤·¤Þ¤¹¡£
+-°ú¿ô¤Ï x-min, x-max, y-min, y-max ¤Î½ç¤Ç¤¹¡£
+-¤³¤³¤Ç¤ÏX¼´¤¬0¤«¤é5¡¢Y¼´¤¬0¤«¤é5¤Þ¤Ç¤ÎÈϰϤÎÏȤòÉÁ¤­¤Þ¤¹¡£
+-°Ê¹ß¤Ï¤³¤³¤ÇÀßÄꤵ¤ì¤¿ºÂɸ¤ò¤â¤È¤ËÉÁ²è¤·¤Þ¤¹¡£
++により、グラフの軸を決定し、枠と目盛を描画します。
++引数は x-min, x-max, y-min, y-max の順です。
++ここではX軸が0から5、Y軸が0から5までの範囲の枠を描きます。
++以降はここで設定された座標をもとに描画します。
+ 
+-¤½¤·¤Æ¤¤¤è¤¤¤è¡¢6¹ÔÌܤÎ
++そしていよいよ、6行目の
+ 
+   pgline( [1,2,3,4], [1,4,1,4] )
+ 
+-¤Ç¡¢ÀÞ¤ìÀþ¥°¥é¥Õ¤òÉÁ¤­¤Þ¤¹¡£
+-°ú¿ô¤Ë¤ÏÀþ¤ò·ë¤ÖÅÀ¤ÎXºÂɸ¤ÈYºÂɸ¤ò¤½¤ì¤¾¤ìÇÛÎó¤ÇÅϤ·¤Þ¤¹¡£
++で、折れ線グラフを描きます。
++引数には線を結ぶ点のX座標とY座標をそれぞれ配列で渡します。
+ 
+-¤³¤³¤Þ¤ÇÀ®¸ù¤¹¤ì¤Ð¡¢¤³¤Î¤è¤¦¤Ê¥°¥é¥Õ¤¬ÉÁ¤«¤ì¤Æ¤¤¤ë¤Ï¤º¤Ç¤¹¡£
++ここまで成功すれば、このようなグラフが描かれているはずです。
+ <<< plot1.png
+ 
+-°Ê¾å¤¬ÀÞ¤ìÀþ¥°¥é¥Õ¤òÉÁ¤¯¤Î¤ËºÇÄã¸ÂɬÍפʥ᥽¥Ã¥É¤Ç¤¹¡£
++以上が折れ線グラフを描くのに最低限必要なメソッドです。
+ 
+-¤È¤³¤í¤Ç¡¢¤³¤Î¥¹¥¯¥ê¥×¥È¤Ë¤Ï¥Ç¥Ð¥¤¥¹¤òÊĤ¸¤ë¥á¥½¥Ã¥É¤¬¤¢¤ê¤Þ¤»¤ó¡£
+-C¤«FORTRANÈǤÎPGPLOT¤Ç¤¢¤ì¤Ð¡¢
+-¤³¤³¤ÇºÇ¸å¤Ë pgend ¤ò¸Æ¤ó¤Ç¥Ç¥Ð¥¤¥¹¤òÊĤ¸¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+-¤½¤¦¤·¤Ê¤¤¤È¡¢¥Ç¥Ð¥¤¥¹¤¬ Postscript ¤Ê¤É¤Î¤È¤­¡¢
+-½ªÎ»½èÍý¤¬¤µ¤ì¤Ê¤¤¤Î¤Ç¡¢ÉÔ´°Á´¤Ê¥Õ¥¡¥¤¥ë¤¬¤Ç¤­¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
+-¤·¤«¤· Ruby/PGPLOT¤Ç¤Ï¡¢Ruby¥¤¥ó¥¿¥×¥ê¥¿½ªÎ»»þ¤Ë
+-pgend ¤ò¼«Æ°Åª¤Ë¸Æ¤Ö¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢
+-ɬ¤º¤·¤âºÇ¸å¤Ë pgend ¤ò¸Æ¤ÖɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
+-¤¿¤À¤·Ruby¤Î¼Â¹ÔÅÓÃæ¤ÇPGPLOT¤ò½ªÎ»¤·¤¿¤¤¤È¤­¤Î¤¿¤á¤Ë
+-RubyÈǤǤâ pgend ¥á¥½¥Ã¥É¤ÏÍÑ°Õ¤·¤Æ¤¢¤ê¤Þ¤¹¡£
++ところで、このスクリプトにはデバイスを閉じるメソッドがありません。
++CかFORTRAN版のPGPLOTであれば、
++ここで最後に pgend を呼んでデバイスを閉じる必要があります。
++そうしないと、デバイスが Postscript などのとき、
++終了処理がされないので、不完全なファイルができてしまいます。
++しかし Ruby/PGPLOTでは、Rubyインタプリタ終了時に
++pgend を自動的に呼ぶようになっているので、
++必ずしも最後に pgend を呼ぶ必要はありません。
++ただしRubyの実行途中でPGPLOTを終了したいときのために
++Ruby版でも pgend メソッドは用意してあります。
+ 
+-°Ê²¼Â³¤¯(¤«¤â¤·¤ì¤Ê¤¤)
++以下続く(かもしれない)
+ <<< trailer
+ =end
diff --git a/debian/patches/fix_extconf.rb b/debian/patches/fix_extconf.rb
deleted file mode 100644
index 97dc90a..0000000
--- a/debian/patches/fix_extconf.rb
+++ /dev/null
@@ -1,15 +0,0 @@
---- ruby-pgplot.orig/extconf.rb
-+++ ruby-pgplot/extconf.rb
-@@ -34,10 +34,10 @@
- exit unless have_header("cpgplot.h")
- 
- # Check NArray
--$CPPFLAGS = " -I#{CONFIG['sitearchdir']} "+$CPPFLAGS
-+$CPPFLAGS = " -I#{CONFIG['vendorarchdir']} "+$CPPFLAGS
- exit unless have_header("narray.h")
- if RUBY_PLATFORM =~ /cygwin|mingw/
--  $LDFLAGS = " -L#{CONFIG['sitearchdir']} "+$LDFLAGS
-+  $LDFLAGS = " -L#{CONFIG['archdir']} "+$LDFLAGS
-   exit unless have_library("narray","na_make_object")
- end
- 
diff --git a/debian/patches/series b/debian/patches/series
index 7533a1e..c73decf 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,2 @@
-fix_extconf.rb
-SupportRuby1.9.2
+0001-Update-extconf-and-Add-support-for-Ruby-1.9.2.patch
+0002-Fix-mkdoc-for-Ruby-1.9.2.patch
diff --git a/debian/source/local-options b/debian/source/local-options
new file mode 100644
index 0000000..4aceb10
--- /dev/null
+++ b/debian/source/local-options
@@ -0,0 +1 @@
+unapply-patches
diff --git a/extconf.rb b/extconf.rb
index 39752c6..3fabb54 100644
--- a/extconf.rb
+++ b/extconf.rb
@@ -34,10 +34,10 @@ dir_config("pgplot")
 exit unless have_header("cpgplot.h")
 
 # Check NArray
-$CPPFLAGS = " -I#{CONFIG['vendorarchdir']} "+$CPPFLAGS
+$CPPFLAGS = " -I#{CONFIG['sitearchdir']} "+$CPPFLAGS
 exit unless have_header("narray.h")
 if RUBY_PLATFORM =~ /cygwin|mingw/
-  $LDFLAGS = " -L#{CONFIG['archdir']} "+$LDFLAGS
+  $LDFLAGS = " -L#{CONFIG['sitearchdir']} "+$LDFLAGS
   exit unless have_library("narray","na_make_object")
 end
 
diff --git a/kwarg.c b/kwarg.c
index 0620ec2..a03630c 100644
--- a/kwarg.c
+++ b/kwarg.c
@@ -9,23 +9,6 @@
    NO WARRANTY.
 */
 #include <ruby.h>
-#ifndef RUBY_19
-#ifndef RSTRING_PTR
-#define RSTRING_PTR(a) (RSTRING(a)->ptr)
-#endif
-#ifndef RSTRING_LEN
-#define RSTRING_LEN(a) (RSTRING(a)->len)
-#endif
-#ifndef RARRAY_PTR
-#define RARRAY_PTR(s) (RARRAY(s)->ptr)
-#endif
-#ifndef RARRAY_LEN
-#define RARRAY_LEN(s) (RARRAY(s)->len)
-#endif
-#ifndef StringValuePtr
-#define StringValuePtr(s) STR2CSTR(s)
-#endif
-#endif
 
 /* void rb_scan_kw_args __((VALUE, ...)); */
 
@@ -35,7 +18,7 @@ kw_hash_i(i, tmp)
 {
   VALUE key;
 
-  key = RARRAY_PTR(i)[0];
+  key = RARRAY(i)->ptr[0];
   if (TYPE(key)==T_SYMBOL) {
     key = rb_funcall(key, rb_intern("id2name"), 0);
   } else
@@ -43,7 +26,7 @@ kw_hash_i(i, tmp)
     rb_raise(rb_eArgError, "keywords must be String or Symbol");
   }
 
-  rb_hash_aset(tmp, key, RARRAY_PTR(i)[1]);
+  rb_hash_aset(tmp, key, RARRAY(i)->ptr[1]);
   return Qnil;
 }
 
@@ -88,7 +71,7 @@ rb_scan_kw_args(hash, va_alist)
   if (rb_funcall(tmp, rb_intern("empty?"), 0)==Qfalse) {
     val = rb_funcall(tmp, rb_intern("keys"), 0);
     val = rb_funcall(val, rb_intern("join"), 1, rb_str_new2(","));
-    rb_raise(rb_eArgError, "unknown keywords: %s",StringValuePtr(val));
+    rb_raise(rb_eArgError, "unknown keywords: %s",STR2CSTR(val));
   }
 
   va_end(vargs);
diff --git a/rb_pgplot.c.in b/rb_pgplot.c.in
index ded737f..f9a8cfe 100644
--- a/rb_pgplot.c.in
+++ b/rb_pgplot.c.in
@@ -11,23 +11,6 @@
 #include <stdio.h>
 #include <cpgplot.h>
 #include <ruby.h>
-#ifndef RUBY_19
-#ifndef RSTRING_PTR
-#define RSTRING_PTR(a) (RSTRING(a)->ptr)
-#endif
-#ifndef RSTRING_LEN
-#define RSTRING_LEN(a) (RSTRING(a)->len)
-#endif
-#ifndef RARRAY_PTR
-#define RARRAY_PTR(s) (RARRAY(s)->ptr)
-#endif
-#ifndef RARRAY_LEN
-#define RARRAY_LEN(s) (RARRAY(s)->len)
-#endif
-#ifndef StringValuePtr
-#define StringValuePtr(s) STR2CSTR(s)
-#endif
-#endif
 #include "narray.h"
 
 #define min(a,b) (((a)<(b))?(a):(b))
@@ -106,7 +89,7 @@ static VALUE
   char *dev="?";
 
   rb_scan_args(argc,argv, "01", &vdev);
-  if (vdev!=Qnil) dev = StringValuePtr(vdev);
+  if (vdev!=Qnil) dev = STR2CSTR(vdev);
 
   return INT2NUM(cpgopen(dev));
 }
@@ -121,7 +104,7 @@ static VALUE
   char  *dev="?";
 
   rb_scan_args(argc, argv, "03", &vdev,&vnxs,&vnys);
-  if (vdev!=Qnil) dev  = StringValuePtr(vdev);
+  if (vdev!=Qnil) dev  = STR2CSTR(vdev);
   if (vnxs!=Qnil) nxsub = NUM2INT(vnxs);
   if (vnys!=Qnil) nysub = NUM2INT(vnys);
 
@@ -141,7 +124,7 @@ static VALUE
      just: if just=1, the x and y axes is scaled equally,
            otherwise scaled independently.
      axis: controls of axes.
-*/
+*/ 
 static VALUE
   rb_pgplot_pgenv( int argc, VALUE *argv, VALUE self )
 {
@@ -326,14 +309,14 @@ static void
 /* PGERRB -- horizontal or vertical error bar
    pgerrb, dir, x, y, err [,tlen]
 
-   dir : direction to plot the error bar relative to the data point.
+   dir : direction to plot the error bar relative to the data point. 
          One-sided error bar:
            DIR is 1 for +X (X to X+E);
                   2 for +Y (Y to Y+E);
                   3 for -X (X to X-E);
                   4 for -Y (Y to Y-E).
          Two-sided error bar:
-           DIR is 5 for +/-X (X-E to X+E);
+           DIR is 5 for +/-X (X-E to X+E); 
                   6 for +/-Y (Y-E to Y+E).
    x   : world x-coordinates of the data.
    y   : world y-coordinates of the data.
@@ -517,9 +500,9 @@ static VALUE
   return Qtrue;
 }
 
-/* PGCONL -- label contour map of a 2D data array
+/* PGCONL -- label contour map of a 2D data array 
    pgconl, map, cont, label [,intval, minint, tr]
-   map    : 2-D array of map data
+   map    : 2-D array of map data 
    cont   : contour level tobe labeld
    label  : label string
    intval : spacing along the contour between labels, in grid cells.
@@ -548,7 +531,7 @@ static VALUE
   /* Show Contour */
   cpgconl( NA_PTR_FLT(na_map), NA_SHAPE0(na_map), NA_SHAPE1(na_map),
 	   1, NA_SHAPE0(na_map), 1, NA_SHAPE1(na_map),
-	   NUM2DBL(vcnt), tr, StringValuePtr(vlab), intval, minint);
+	   NUM2DBL(vcnt), tr, STR2CSTR(vlab), intval, minint);
   return Qtrue;
 }
 
@@ -641,7 +624,7 @@ static VALUE
   else
     cpggray( NA_PTR_FLT(na), NA_SHAPE0(na), NA_SHAPE1(na),
 	     1, NA_SHAPE0(na), 1, NA_SHAPE1(na),
-	     range[0], range[1], tr );
+	     range[0], range[1], tr );    
   return Qtrue;
 }
 
@@ -791,7 +774,7 @@ static VALUE
   int   value_len=20;
   char *item, *value;
 
-  item  = StringValuePtr(vitem);
+  item  = STR2CSTR(vitem);
   value = ALLOCA_N(char,value_len);
   cpgqinf( item, value, &value_len );
 
@@ -836,7 +819,7 @@ static VALUE
   VALUE vx,vy;
   int i;
   float xbox[4], ybox[4];
-  char *txt = StringValuePtr(text);
+  char *txt = STR2CSTR(text);
 
   cpgqtxt( NUM2DBL(x),NUM2DBL(y),NUM2DBL(ang),NUM2DBL(fjust),txt,
 	   xbox, ybox );
@@ -996,7 +979,7 @@ static VALUE
   if (NA_TYPE(x)!=NA_SFLOAT || NA_TYPE(y)!=NA_SFLOAT)
     rb_raise(rb_eArgError, "Array must NArray.sfloat");
 
-  cpgolin( min(NA_TOTAL(x),NA_TOTAL(y)), &npt,
+  cpgolin( min(NA_TOTAL(x),NA_TOTAL(y)), &npt, 
 	   NA_PTR_FLT(x), NA_PTR_FLT(y), sym );
 
   return INT2NUM(npt);
@@ -1026,7 +1009,7 @@ static VALUE
   if (NA_TYPE(x)!=NA_SFLOAT || NA_TYPE(y)!=NA_SFLOAT)
     rb_raise(rb_eArgError, "Array must NArray.sfloat");
 
-  cpgncur( min(NA_TOTAL(x),NA_TOTAL(y)), &npt,
+  cpgncur( min(NA_TOTAL(x),NA_TOTAL(y)), &npt, 
 	   NA_PTR_FLT(x), NA_PTR_FLT(y), sym );
 
   return INT2NUM(npt);
@@ -1054,7 +1037,7 @@ static VALUE
   if (NA_TYPE(x)!=NA_SFLOAT || NA_TYPE(y)!=NA_SFLOAT)
     rb_raise(rb_eArgError, "Array must NArray.sfloat");
 
-  cpglcur( min(NA_TOTAL(x),NA_TOTAL(y)), &npt,
+  cpglcur( min(NA_TOTAL(x),NA_TOTAL(y)), &npt, 
 	   NA_PTR_FLT(x), NA_PTR_FLT(y) );
 
   return INT2NUM(npt);
@@ -1075,7 +1058,7 @@ void rb_scan_kw_args __((VALUE, ...));
     baseline parallel to the axis and reading in the same direction as
     the axis (from point 1 to point 2). Current line and text attributes
     are used.
-
+   
     Arguments:
      X1, Y1  : world coordinates of one endpoint of the axis.
      X2, Y2  : world coordinates of the other endpoint of the axis.
@@ -1112,7 +1095,7 @@ static VALUE
   if (tickr ==Qnil)  tickr = INT2FIX(0);
   if (disp  ==Qnil)  disp  = INT2FIX(1);
   if (orient==Qnil)  orient= INT2FIX(0);
-  if (vstr  !=Qnil)  str   = StringValuePtr(vstr);
+  if (vstr  !=Qnil)  str   = STR2CSTR(vstr);
 
   cpgtick( NUM2DBL(x1),NUM2DBL(y1),NUM2DBL(x2),NUM2DBL(y2),
 	   NUM2DBL(v), NUM2DBL(tickl),NUM2DBL(tickr),
@@ -1131,25 +1114,25 @@ static VALUE
 
     Draw a labelled graph axis from world-coordinate position (X1,Y1) to
     (X2,Y2).
-
+   
     Normally, this routine draws a standard LINEAR axis with equal
     subdivisions.   The quantity described by the axis runs from V1 to V2;
-    this may be, but need not be, the same as X or Y.
-
+    this may be, but need not be, the same as X or Y. 
+   
     If the 'L' option is specified, the routine draws a LOGARITHMIC axis.
     In this case, the quantity described by the axis runs from 10**V1 to
-    10**V2. A logarithmic axis always has major, labeled, tick marks
+    10**V2. A logarithmic axis always has major, labeled, tick marks 
     spaced by one or more decades. If the major tick marks are spaced
     by one decade (as specified by the STEP argument), then minor
     tick marks are placed at 2, 3, .., 9 times each power of 10;
     otherwise minor tick marks are spaced by one decade. If the axis
     spans less than two decades, numeric labels are placed at 1, 2, and
     5 times each power of ten.
-
+   
     If the axis spans less than one decade, or if it spans many decades,
     it is preferable to use a linear axis labeled with the logarithm of
     the quantity of interest.
-
+   
     Arguments:
      x1, y1  : world coordinates of one endpoint of the axis.
      x2, y2  : world coordinates of the other endpoint of the axis.
@@ -1197,7 +1180,7 @@ static VALUE
   if (argc>0 && TYPE(argv[argc-1]) == T_HASH)
     val = argv[--argc];
 
-  rb_scan_kw_args( val,
+  rb_scan_kw_args( val, 
 		   "opt",&vopt, "step",&step, "nsub",&nsub,
 		   "tickl",&tickl, "tickr",&tickr,
 		   "frac",&vfrac, "disp",&disp, "orient",&orient, 0);
@@ -1209,7 +1192,7 @@ static VALUE
   if (tickr ==Qnil)  tickr = INT2FIX(0);
   if (disp  ==Qnil)  disp  = INT2FIX(1);
   if (orient==Qnil)  orient= INT2FIX(0);
-  if (vopt  !=Qnil)  opt   = StringValuePtr(vopt);
+  if (vopt  !=Qnil)  opt   = STR2CSTR(vopt);
   if (vfrac !=Qnil)  frac  = NUM2DBL(vfrac);
 
   cpgaxis( opt, NUM2DBL(x1),NUM2DBL(y1),NUM2DBL(x2),NUM2DBL(y2),

-- 
ruby-pgplot.git



More information about the Pkg-ruby-extras-commits mailing list