Граф коммитов

100 Коммитов

Автор SHA1 Сообщение Дата
matz 8110d52333 * misc/ruby-mode.el (ruby-parse-partial): handle stringified
symbols properly using ruby-forward-string.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13892 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-12 04:54:00 +00:00
matz bbe0af6be1 * parse.y (parser_yylex): dot at the head of the line denote line
continuation from previous one to support fluent interface.
  [experimental]

* misc/ruby-mode.el (ruby-calculate-indent): support fluent dot.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13777 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-25 17:06:29 +00:00
knu 5a347e064f * misc/ruby-mode.el (ruby-block-end-re): Support for the
exprimental ';;' terminator had been dropped.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12030 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-03-11 09:46:46 +00:00
matz 14476c3bea * misc/ruby-mode.el (ruby-font-lock-syntactic-keywords): fix
regexp font-lock bug.  [ruby-talk:235758]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11570 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-24 09:09:51 +00:00
matz bf74ef51a2 * lib/matrix.rb (Matrix::rank): use quo method to avoid integer
division problem.  [ruby-core:09644]

* lib/matrix.rb (Matrix::rank_e): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11343 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-12-05 09:59:45 +00:00
matz f2e069ad2b * misc/ruby-mode.el (ruby-parse-partial): better here-doc support.
a patch from Marshall T. Vandegrift <llasram at gmail.com>.
  [ruby-core:08804]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-13 09:29:41 +00:00
matz cced56ef7c * misc/ruby-mode.el (ruby-expr-beg): support $! at the end of
expression.   [ruby-dev:27868]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-30 04:50:04 +00:00
nobu 9e12dc5ce9 * misc/ruby-mode.el (ruby-calculate-indent): arrange deep-indent
closing parenthesis at same column as the opening.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9305 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-24 16:47:20 +00:00
nobu 62c220a74a * misc/ruby-mode.el (ruby-expr-beg): deal with heredoc separately.
fixed: [ruby-list:41168]

* misc/ruby-mode.el (ruby-calculate-indent): not to deepen indent
  level for continuous line inside parentheses.
  http://nabeken.tdiary.net/20050915.html#p02


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9302 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-24 15:43:17 +00:00
matz 8db3dc39d6 * signal.c (sigexit): call rb_thread_signal_exit() instead of
rb_exit().  [ruby-dev:26347]

* eval.c (rb_thread_signal_exit): a new function to exit on main
  thread.

* eval.c (rb_thread_switch): exit status should be retrieved from
  ruby_errinfo.

* eval.c (rb_f_exit): ensure exit(0) should call
  exit(EXIT_SUCCESS).

* missing/mkdir.c: remove. [ruby-core:05177]

* hash.c (env_aset): do not treat nil as key-removing value.
  [ruby-list:40865]

* parse.y (method_call): allow aref expression ([]) to take a
  block.

* parse.y (block_dup_check): a function to check duplication of
  a block argument and an actual block.

* lib/delegate.rb (SimpleDelegator::__setobj__): need check for
  recursive delegation.  [ruby-core:04940]

* lib/cgi.rb: add underscore aliases CGI::escape_html,
  CGI::unescape_html, CGI::escape_element, CGI::unescape_element.
  [ruby-core:05058]

* misc/ruby-mode.el (ruby-expr-beg): fix looking point drift.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8613 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-12 16:56:06 +00:00
matz 549c345cef * parse.y (parser_yylex): allow ';;' to be block terminator in
place of 'end'.  [highly experimental]

* misc/ruby-mode.el (ruby-block-end-re): allow ';;' for a negative
  indent trigger.  [highly experimental]

* parse.y (parser_yylex): "respond_to?:foo" should be interpreted
  as "respond_to? :foo" at the command level.  [ruby-talk:144303]

* sprintf.c (rb_f_sprintf): raise exception on debug mode (-d),
  not verbose mode (-w/-w).  [ruby-core:05123]

* sprintf.c (rb_f_sprintf): warn always on verbose mode.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8579 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-07 08:22:42 +00:00
nobu f7ca291dd1 * misc/ruby-mode.el (ruby-font-lock-syntactic-keywords): string
literals to be matched non-greedy.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8512 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-05-23 21:46:18 +00:00
matz ce3eb0b204 * eval.c (rb_attr): attribute name check added.
* numeric.c (flo_plus): small typo fix.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8347 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-18 06:38:30 +00:00
nobu f870f12334 * misc/ruby-mode.el (ruby-expr-beg): returned true always.
fixed: [ruby-list:40683]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8176 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-19 14:48:35 +00:00
matz 70bbad3cfd * array.c: replace rb_protect_inspect() and rb_inspecting_p() by
rb_exec_recursive() in eval.c.

* eval.c (rb_exec_recursive): new function.

* array.c (rb_ary_join): use rb_exec_recursive().

* array.c (rb_ary_inspect, rb_ary_hash): ditto.

* file.c (rb_file_join): ditto.

* hash.c (rb_hash_inspect, rb_hash_to_s, rb_hash_hash): ditto.

* io.c (rb_io_puts): ditto.

* object.c (rb_obj_inspect): ditto

* struct.c (rb_struct_inspect): ditto.

* lib/set.rb (SortedSet::setup): a hack to shut up warning.
  [ruby-talk:132866]

* lib/time.rb (Time::strptime): add new function.  inspired by
  [ruby-talk:132815].

* lib/parsedate.rb (ParseDate::strptime): ditto.

* regparse.c: move st_*_strend() functions from st.c.  fixed some
  potential memory leaks.

* exception error messages updated.  [ruby-core:04497]

* ext/socket/socket.c (Init_socket): add bunch of Socket
  constants.  Patch from Sam Roberts <sroberts@uniserve.com>.
  [ruby-core:04409]

* array.c (rb_ary_s_create): no need for negative argc check.
  [ruby-core:04463]

* array.c (rb_ary_unshift_m): ditto.

* lib/xmlrpc/parser.rb (XMLRPC::FaultException): make it subclass
  of StandardError class, not Exception class.  [ruby-core:04429]

* parse.y (fcall_gen): lvar(arg) will be evaluated as
  lvar.call(arg) when lvar is a defined local variable. [new]

* object.c (rb_class_initialize): call inherited method before
  calling initializing block.

* eval.c (rb_thread_start_1): initialize newly pushed frame.

* lib/open3.rb (Open3::popen3): $? should not be EXIT_FAILURE.
  fixed: [ruby-core:04444]

* eval.c (is_defined): NODE_IASGN is an assignment.

* ext/readline/readline.c (Readline.readline): use rl_outstream
  and rl_instream.  [ruby-dev:25699]

* ext/etc/etc.c (Init_etc): sGroup needs HAVE_ST_GR_PASSWD check
  [ruby-dev:25675]

* misc/ruby-mode.el: [ruby-core:04415]

* lib/rdoc/generators/html_generator.rb: [ruby-core:04412]

* lib/rdoc/generators/ri_generator.rb: ditto.

* struct.c (make_struct): fixed: [ruby-core:04402]

* ext/curses/curses.c (window_color_set): [ruby-core:04393]

* ext/socket/socket.c (Init_socket): SO_REUSEPORT added.
  [ruby-talk:130092]

* object.c: [ruby-doc:818]

* parse.y (open_args): fix too verbose warnings for the space
  before argument parentheses.  [ruby-dev:25492]

* parse.y (parser_yylex): ditto.

* parse.y (parser_yylex): the first expression in the parentheses
  should not be a command.  [ruby-dev:25492]

* lib/irb/context.rb (IRB::Context::initialize): [ruby-core:04330]

* object.c (Init_Object): remove Object#type.  [ruby-core:04335]

* st.c (st_foreach): report success/failure by return value.
  [ruby-Bugs-1396]

* parse.y: forgot to initialize parser struct.  [ruby-dev:25492]

* parse.y (parser_yylex): no tLABEL on EXPR_BEG.
  [ruby-talk:127711]

* document updates - [ruby-core:04296], [ruby-core:04301],
  [ruby-core:04302], [ruby-core:04307]

* dir.c (rb_push_glob): should work for NUL delimited patterns.

* dir.c (rb_glob2): should aware of offset in the pattern.

* string.c (rb_str_new4): should propagate taintedness.

* env.h: rename member names in struct FRAME; last_func -> callee,
  orig_func -> this_func, last_class -> this_class.

* struct.c (rb_struct_set): use original method name, not callee
  name, to retrieve member slot.  [ruby-core:04268]

* time.c (time_strftime): protect from format modification from GC
  finalizers.

* object.c (Init_Object): remove rb_obj_id_obsolete()

* eval.c (rb_mod_define_method): incomplete subclass check.
  [ruby-dev:25464]

* gc.c (rb_data_object_alloc): klass may be NULL.
  [ruby-list:40498]

* bignum.c (rb_big_rand): should return positive random number.
  [ruby-dev:25401]

* bignum.c (rb_big_rand): do not use rb_big_modulo to generate
  random bignums.  [ruby-dev:25396]

* variable.c (rb_autoload): [ruby-dev:25373]

* eval.c (svalue_to_avalue): [ruby-dev:25366]

* string.c (rb_str_justify): [ruby-dev:25367]

* io.c (rb_f_select): [ruby-dev:25312]

* ext/socket/socket.c (sock_s_getservbyport): [ruby-talk:124072]

* struct.c (make_struct): [ruby-dev:25249]

* dir.c (dir_open_dir): new function.  [ruby-dev:25242]

* io.c (rb_f_open): add type check for return value from to_open.

* lib/pstore.rb (PStore#transaction): Use the empty content when a
  file is not found.  [ruby-dev:24561]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-04 06:47:45 +00:00
matz f50136a311 * file.c (rb_file_chown): integer conversion should be prior to
GetOpenFile().  [ruby-dev:24947]

* file.c (rb_file_truncate): ditto.

* file.c (rb_file_s_truncate): ditto.

* dir.c (dir_seek): use NUM2OFFT().

* misc/ruby-mode.el (ruby-non-block-do-re): [ruby-core:03719]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7353 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-22 15:26:02 +00:00
nobu e77fc75802 * misc/ruby-mode.el (ruby-special-char-p, ruby-parse-partial): handle
operator symbols.  [ruby-talk:120177]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7271 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-15 02:51:10 +00:00
matz 7c04db1d3c * eval.c (rb_thread_start_0): forget to free some memory chunks.
[ruby-core:03611]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7135 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-29 08:08:16 +00:00
matz 67232b2151 * io.c (rb_io_reopen): should clear allocated OpenFile. pointed
out by Guy Decoux. [ruby-core:03288]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6781 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-17 09:02:40 +00:00
nobu cd110140db * misc/ruby-mode.el (ruby-expr-beg, ruby-parse-partial,
ruby-calculate-indent, ruby-move-to-block, ruby-forward-sexp,
  ruby-backward-sexp): keywords must match word-wise.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-31 08:40:24 +00:00
matz 1b0f90ca33 * parse.y (string_content): turn off NODE_NEWLINE flag to avoid
unnecessary line trace for inlined expression.
  (ruby-bugs PR#1320)

* numeric.c (flo_to_s): tweak output string based to preserve
  decimal point and to remove trailing zeros.  [ruby-talk:97891]

* string.c (rb_str_index_m): use unsigned comparison for T_FIXNUM
  search.  [ruby-talk:97342]

* hash.c (rb_hash_equal): returns true if two hashes have same set
  of key-value set.  [ruby-talk:97559]

* hash.c (rb_hash_eql): returns true if two hashes are equal and
  have same default values.

* string.c (rb_str_equal): always returns true or false, never
  returns nil. [ruby-dev:23404]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6262 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-07 08:44:24 +00:00
matz 64ec09d456 * ext/socket/socket.c (make_hostent): fix memory leak, based on
the patch from HORIKAWA Hisashi <vzw00011@nifty.ne.jp>.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6065 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-01 23:13:39 +00:00
matz 54a0407425 * eval.c (method_hash): new method. [ruby-talk:93968]
* eval.c (proc_eq): do not compare dyna_vars.

* eval.c (proc_hash): new method.

* eval.c (rb_yield_0): protect break/return from within orphan (or
  lambda) Proc object.

* parse.y (yylex): should not allow symbol for invalid global
  variable (e.g. `:$-)`). [ruby-core:02518]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5879 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-03 04:55:35 +00:00
matz aba4666e19 * eval.c (localjump_destination): lambda should not interfere
return from the yielded block.

* hash.c (delete_if_i): use st_delete_safe() (via
  rb_hash_delete()) instead of returning ST_DELETE.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5842 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-26 17:15:00 +00:00
matz 829a44822d * re.c (KR_REHASH): wrong hash value on sizeof(long) > sizeof(int).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5693 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-13 16:03:15 +00:00
matz 51e6d9061d * misc/ruby-mode.el: better support for general delimited
strings.  [ruby-dev:22695]

* lib/weakref.rb (WeakRef::initialize): set up @__id before
  calling "super".

* lib/delegate.rb (Delegator::initialize): preserve
  singleton_method_added method [ruby-dev:22685]

* lib/delegate.rb (Delegator::initialize): use Kernel::raise
  instead of mere raise.  [ruby-dev:22681]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5565 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-27 06:05:04 +00:00
matz caaac4db27 * dir.c: merge tuning from H.Yamamoto <ocean@m2.ccsnet.ne.jp>.
[ruby-dev:22486]

* pack.c (pack_unpack): unpack requires big endian offet (OFF16B
  and OFF32B).  The patch is from Minero Aoki in [ruby-dev:22489]

* pack.c (OFF16B): add big-endian offset again.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5374 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-05 10:01:54 +00:00
matz e6f473c3a0 * misc/ruby-mode.el (ruby-calculate-indent): proper indentation
inside of parentheses.  [ruby-dev:22308]

* hash.c (delete_if_i): do not use ST_DELETE for thread safety.
  [ruby-dev:21899]  (not fully solved)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5223 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-19 17:29:09 +00:00
matz 10c4bb29b2 * time.c (time_load): restore instance variables (if any) before
loading from marshaled data.

* time.c (time_mdump): new marshal dumper. _dump is still
  available for compatibility.

* time.c (time_mload): new marshal loader.

* marshal.c (w_object): preserve instance variables for objects
  with marshal_dump.

* marshal.c (r_object0): restore instance variables before calling
  marshal_load.

* error.c (rb_warn_m): always return nil.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4651 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-02 08:25:00 +00:00
nobu 8d4d2e4323 * misc/ruby-mode.el (ruby-font-lock-maybe-here-docs): should not
search delimiter forward if found in backward.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4510 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-05 06:32:07 +00:00
nobu 0b9b7d630a * misc/ruby-mode.el (ruby-here-doc-beg-re): underscore also is
valid delimiter.

* misc/ruby-mode.el (ruby-here-doc-end-match): must quote
  arbitrary string to use as regexp.

* misc/ruby-mode.el (ruby-font-lock-maybe-here-docs): must not
  call `ruby-here-doc-end-match' unless `ruby-here-doc-beg-re'
  matched.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-04 08:41:34 +00:00
matz 46e1454dea * eval.c (rb_yield_splat): should check if "values" is array.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4428 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-23 04:05:42 +00:00
nobu 4cec316bbc * misc/ruby-mode.el (ruby-special-char-p): should test at the
point if no argument.  fixed by Michael Scholz
  <scholz-micha@gmx.de>.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3686 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-04-15 15:14:15 +00:00
nobu f79b715829 * misc/ruby-mode.el (ruby-forward-sexp): missed argument for forward-word.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3675 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-04-12 12:03:26 +00:00
nobu 6cdf714126 * misc/ruby-mode.el (ruby-beginning-of-arg): substitute
ruby-backward-arg.

* misc/ruby-mode.el (ruby-calculate-indent): fixed wrong
  indentation in brace block and parentheses.

* misc/ruby-mode.el (ruby-forward-sexp, ruby-backward-sexp):
  support special char literal, and negative arguments.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3674 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-04-12 11:59:45 +00:00
nobu 0cd0eab641 * misc/ruby-mode.el (ruby-expr-beg): escaped char syntax.
* misc/ruby-mode.el (ruby-parse-partial): ditto.

* misc/ruby-mode.el (ruby-parse-partial): no deep indent for
  block.

* misc/ruby-mode.el (ruby-backward-arg): skip arguments backward.

* misc/ruby-mode.el (ruby-calculate-indent): too deep indentation.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3542 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-02 16:42:39 +00:00
nobu b4f940b767 * misc/ruby-mode.el (ruby-comment-column): customize comment
column.  [new]

* misc/ruby-mode.el (ruby-deep-indent-paren): deep indentation
  parentheses.  [new]

* misc/ruby-mode.el (ruby-expr-beg): fix for / after $?.

* misc/ruby-mode.el (ruby-parse-partial, ruby-calculate-indent):
  deep indentation support.

* misc/ruby-mode.el (ruby-forward-sexp, ruby-backward-sexp):
  move forward/backward across one balanced expression.  [new]

* misc/ruby-mode.el (ruby-indent-exp): indent balanced
  expression.  [new]

* misc/ruby-mode.el (ruby-electric-brace): indent before
  show matching parenthesis.  (contributed by NABEYA Kenichi)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-02-17 15:13:54 +00:00
nobu 075e9a5555 * misc/ruby-mode.el (ruby-forward-string): fixed void variable
error.

* misc/ruby-mode.el (ruby-font-lock-keywords): method name can
  be delimited by tab.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3464 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-02-08 09:35:36 +00:00
nobu 69a7d012c4 * misc/ruby-mode.el (ruby-font-lock-syntactic-keywords): deal
with escaped $ and ? at the end of strings.  [ruby-talk:62297]

* misc/ruby-mode.el (ruby-font-lock-keywords): added defined?.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-23 20:12:59 +00:00
nobu 5fd433efbb * misc/ruby-mode.el (ruby-font-lock-syntactic-keywords): syntax
classes are not allowed inside character classes.
  [ruby-talk:60996]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3325 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-09 16:26:43 +00:00
nobu d0527b05d8 * misc/ruby-mode.el (ruby-parse-partial): keywords must not be
preceded by @ or $.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3195 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-20 22:27:30 +00:00
matz 60b2446bea * sprintf.c (rb_f_sprintf): preceding ".." for negative numbers
still left;  removed.

* sprintf.c (rb_f_sprintf): should not prepend '0' if width > prec
  for example "%5.3d".

* process.c (Init_process): add Process.exit and Process.abort

* pack.c (utf8_to_uv): raise ArgumentError for malformed/redundant
  UTF-8 sequences.

* process.c (last_status_set): add pid attribute to Process::Status.

* pack.c (uv_to_utf8): limit maximum length of the encoded string
  to 6 bytes, even when the platform supports 8 bytes long integers.

* pack.c (utf8_to_uv): do not decode sequences longer than 6 bytes.

* object.c (copy_object): use "copy_object" method, not "become".


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3123 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-10 06:23:44 +00:00
matz aae36756dc * object.c (Init_Object): added Object#object_id, new name for
Object#id. [new]

* object.c (rb_obj_id_obsolete): give warning for Object#id.

* numeric.c (fix_intern): added Fixnum#to_sym. [new]

* object.c (sym_to_sym): rename from Symbol#intern

* enum.c (enum_zip): added Enumerable#zip. [new]

* array.c (rb_ary_zip): added Array#zip.

* error.c (init_syserr): remove sys_nerr dependency.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3020 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-11-03 11:04:35 +00:00
nobu d4b764c2cf sorry, ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-30 11:11:53 +00:00
nobu f94534efbc * misc/ruby-mode.el (ruby-accurate-end-of-block): restrict search
region.

* misc/ruby-mode.el (ruby-parse-partial): reversed wrong patch.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2671 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-30 10:54:33 +00:00
nobu e1b56ea429 * misc/ruby-mode.el (ruby-accurate-end-of-block): incomplete block
caused infinite loop.

* misc/ruby-mode.el (ruby-parse-partial): returns nil unless
  delimiters found.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2669 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-30 08:23:31 +00:00
nobu 5384316f5b * misc/ruby-mode.el (ruby-expr-beg): wrong indent at modifiers
after ?.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2659 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-26 09:33:39 +00:00
nobu abfbbcf8e3 * misc/ruby-mode.el (ruby-delimiter): include here document.
* misc/ruby-mode.el (ruby-deep-arglist): skips spaces after
  parenthesis when 'space.

* misc/ruby-mode.el (ruby-imenu-create-index): fix for nested
  classes.

* misc/ruby-mode.el (ruby-accurate-end-of-block): added.  scan a
  block in the order.

* misc/ruby-mode.el (ruby-expr-beg): support for here document.

* misc/ruby-mode.el (ruby-parse-partial): splitted from
  ruby-parse-region.

* misc/ruby-mode.el (ruby-move-to-block): skips RD style comments.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2651 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-25 00:09:03 +00:00
matz f0221db462 * re.c (rb_reg_expr_str): need to process backslashes properly.
* object.c (rb_any_to_a): declare Object#to_a to be obsolete.

* object.c (rb_Array): do not convert nil into [] automagically.

* object.c (rb_Integer): use "to_int" instead of
  "to_i". [experimental]

* object.c (nil_to_f): new method.

* object.c (rb_Integer): Symbols and nil should cause error.

* object.c (rb_Float): nil should cause error.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2608 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-28 14:42:46 +00:00
matz 6e87a54aec * ruby.c (proc_options): removed "-*-" support for #! line.
* io.c (rb_io_s_sysopen): new method to get a raw file
  descriptor. [new]

* ext/socket/socket.c (tcp_sysaccept): new method to return an
  accepted socket fd (integer). [new]

* ext/socket/socket.c (unix_sysaccept,sock_sysaccept): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-23 05:35:32 +00:00