* object.c (rb_mod_attr): make Module#attr to be an alias to

attr_reader.  [RCR#331]

* ruby.h: export classes/modules to implement sandbox.
  [ruby-core:08283]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10577 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
matz 2006-07-20 17:36:36 +00:00
Родитель b5d9cbe8e8
Коммит c09cea5e1b
18 изменённых файлов: 44 добавлений и 41 удалений

Просмотреть файл

@ -255,7 +255,7 @@ VALUE rb_eNoMethodError;
VALUE rb_eSecurityError;
VALUE rb_eNotImpError;
VALUE rb_eNoMemError;
static VALUE rb_cNameErrorMesg;
VALUE rb_cNameErrorMesg;
VALUE rb_eScriptError;
VALUE rb_eSyntaxError;

Просмотреть файл

@ -41,7 +41,7 @@ class Othello
[ 1, -1], [ 1, 0], [ 1, 1]
]
attr :com_disk, TRUE
attr_accessor :com_disk
def initialize(othello)
@othello = othello

4
file.c
Просмотреть файл

@ -93,7 +93,7 @@ be_fchown(int fd, uid_t owner, gid_t group)
VALUE rb_cFile;
VALUE rb_mFileTest;
static VALUE rb_cStat;
VALUE rb_cStat;
VALUE
rb_get_path(VALUE obj)
@ -3991,7 +3991,7 @@ rb_stat_sticky(VALUE obj)
return Qfalse;
}
static VALUE rb_mFConst;
VALUE rb_mFConst;
void
rb_file_const(const char *name, VALUE value)

Просмотреть файл

@ -964,11 +964,11 @@ class CGI
end
# Get the cookies as a hash of cookie-name=>Cookie pairs.
attr_accessor("cookies")
attr_accessor :cookies
# Get the parameters as a hash of name=>values pairs, where
# values is an Array.
attr("params")
attr_reader :params
# Set all the parameters.
def params=(hash)

Просмотреть файл

@ -400,10 +400,10 @@ class Complex < Numeric
I = Complex(0,1)
# The real part of a complex number.
attr :real
attr_reader :real
# The imaginary part of a complex number.
attr :image
attr_reader :image
alias imag image
end

Просмотреть файл

@ -972,7 +972,7 @@ module DRb
def initialize(option)
@option = option.to_s
end
attr :option
attr_reader :option
def to_s; @option; end
def ==(other)

Просмотреть файл

@ -84,7 +84,7 @@ class IPAddr
IN6FORMAT = (["%.4x"] * 8).join(':')
# Returns the address family of this IP address.
attr :family
attr_reader :family
# Creates a new ipaddr containing the given network byte ordered
# string form of an IP address.

Просмотреть файл

@ -29,9 +29,7 @@ module RubyToken
@line_no = line_no
@char_no = char_no
end
attr :seek
attr :line_no
attr :char_no
attr :seek, :line_no, :char_no
end
class TkNode < Token
@ -58,7 +56,7 @@ module RubyToken
end
class TkOp < Token
attr :name, true
attr_accessor :name
end
class TkOPASGN < TkOp

Просмотреть файл

@ -466,11 +466,10 @@ class RubyLex
@exception_on_syntax_error = true
end
attr :skip_space, true
attr :read_auto_clean_up, true
attr :exception_on_syntax_error, true
attr :indent
attr_accessor :skip_space
attr_accessor :read_auto_clean_up
attr_accessor :exception_on_syntax_error
attr_reader :indent
# io functions
def line_no

Просмотреть файл

@ -31,9 +31,7 @@ class Shell
@verbose = true
class << Shell
attr :cascade, true
attr :debug, true
attr :verbose, true
attr_accessor :cascade, :debug, :verbose
# alias cascade? cascade
alias debug? debug
@ -98,11 +96,8 @@ class Shell
rehash
end
attr :umask, true
attr :record_separator, true
attr :verbose, true
attr :debug, true
attr_accessor :umask, :record_separator
attr_accessor :verbose, :debug
def debug=(val)
@debug = val

Просмотреть файл

@ -522,7 +522,7 @@ private
list = (class << obj; self; end).ancestors - obj.class.ancestors
unless list.empty?
node.extraattr[RubyExtendName] = list.collect { |c|
if c.name.empty?
unless c.name
raise TypeError.new("singleton can't be dumped #{ obj }")
end
c.name

Просмотреть файл

@ -262,7 +262,7 @@ private
end
def unknownobj2soap(soap_class, obj, info, map)
if obj.class.name.empty?
unless obj.class.name
raise TypeError.new("can't dump anonymous class #{obj}")
end
singleton_class = class << obj; self; end

Просмотреть файл

@ -232,13 +232,13 @@ module Sync_m
end
end
attr :sync_mode, true
attr_accessor :sync_mode
attr :sync_waiting, true
attr :sync_upgrade_waiting, true
attr :sync_sh_locker, true
attr :sync_ex_locker, true
attr :sync_ex_count, true
attr_accessor :sync_waiting
attr_accessor :sync_upgrade_waiting
attr_accessor :sync_sh_locker
attr_accessor :sync_ex_locker
attr_accessor :sync_ex_count
private

Просмотреть файл

@ -19,9 +19,9 @@ class Tracer
@stdout = STDOUT
@verbose = false
class << self
attr :verbose, true
attr_accessor :verbose
alias verbose? verbose
attr :stdout, true
attr_accessor :stdout
end
EVENT_SYMBOL = {

4
re.c
Просмотреть файл

@ -19,7 +19,7 @@
#define MBCTYPE_SJIS 2
#define MBCTYPE_UTF8 3
static VALUE rb_eRegexpError;
VALUE rb_eRegexpError;
#define BEG(no) regs->beg[no]
#define END(no) regs->end[no]
@ -730,7 +730,7 @@ make_regexp(const char *s, long len, int flags, int ce)
*
*/
static VALUE rb_cMatch;
VALUE rb_cMatch;
static VALUE
match_alloc(VALUE klass)

11
ruby.h
Просмотреть файл

@ -644,7 +644,9 @@ RUBY_EXTERN VALUE rb_cBasicObject;
RUBY_EXTERN VALUE rb_cObject;
RUBY_EXTERN VALUE rb_cArray;
RUBY_EXTERN VALUE rb_cBignum;
RUBY_EXTERN VALUE rb_cBinding;
RUBY_EXTERN VALUE rb_cClass;
RUBY_EXTERN VALUE rb_cCont;
RUBY_EXTERN VALUE rb_cDir;
RUBY_EXTERN VALUE rb_cData;
RUBY_EXTERN VALUE rb_cFalseClass;
@ -654,19 +656,23 @@ RUBY_EXTERN VALUE rb_cFloat;
RUBY_EXTERN VALUE rb_cHash;
RUBY_EXTERN VALUE rb_cInteger;
RUBY_EXTERN VALUE rb_cIO;
RUBY_EXTERN VALUE rb_cMatch;
RUBY_EXTERN VALUE rb_cMethod;
RUBY_EXTERN VALUE rb_cModule;
RUBY_EXTERN VALUE rb_cNameErrorMesg;
RUBY_EXTERN VALUE rb_cNilClass;
RUBY_EXTERN VALUE rb_cNumeric;
RUBY_EXTERN VALUE rb_cProc;
RUBY_EXTERN VALUE rb_cRange;
RUBY_EXTERN VALUE rb_cRegexp;
RUBY_EXTERN VALUE rb_cStat;
RUBY_EXTERN VALUE rb_cString;
RUBY_EXTERN VALUE rb_cStruct;
RUBY_EXTERN VALUE rb_cSymbol;
RUBY_EXTERN VALUE rb_cThread;
RUBY_EXTERN VALUE rb_cTime;
RUBY_EXTERN VALUE rb_cTrueClass;
RUBY_EXTERN VALUE rb_cStruct;
RUBY_EXTERN VALUE rb_cUnboundMethod;
RUBY_EXTERN VALUE rb_eException;
RUBY_EXTERN VALUE rb_eStandardError;
@ -689,6 +695,9 @@ RUBY_EXTERN VALUE rb_eNotImpError;
RUBY_EXTERN VALUE rb_eNoMemError;
RUBY_EXTERN VALUE rb_eNoMethodError;
RUBY_EXTERN VALUE rb_eFloatDomainError;
RUBY_EXTERN VALUE rb_eLocalJumpError;
RUBY_EXTERN VALUE rb_eSysStackError;
RUBY_EXTERN VALUE rb_eRegexpError;
RUBY_EXTERN VALUE rb_eScriptError;
RUBY_EXTERN VALUE rb_eNameError;

Просмотреть файл

@ -74,10 +74,12 @@ module RSS
:media => "printer", :charset => "UTF-8",
:alternate => "yes"},],
].each do |xsss|
p xsss
doc = REXML::Document.new(make_sample_RDF)
root = doc.root
xsss.each do |xss|
content = xss.collect do |key, name|
p [key, name]
%Q[#{key}="#{name}"]
end.join(" ")
pi = REXML::Instruction.new("xml-stylesheet", content)

Просмотреть файл

@ -18,7 +18,7 @@
#include "st.h"
#include "util.h"
static st_table *rb_global_tbl;
st_table *rb_global_tbl;
st_table *rb_class_tbl;
static ID autoload, classpath, tmp_classpath;