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

249 Коммитов

Автор SHA1 Сообщение Дата
nobu 12cbb58819 * test/ruby/test_sprintf.rb: fix ML ref. [ruby-core:32848]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29533 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-19 03:22:03 +00:00
nobu 4acf013ffd * misc/ruby-mode.el (ruby-mode-set-encoding): commit miss.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28107 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-31 09:27:06 +00:00
nobu 97a1d656f8 * misc/ruby-mode.el (ruby-mode-set-encoding): skip shebang line
always regardless of ruby.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28106 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-31 09:22:25 +00:00
nobu 42c16a3b07 * misc/ruby-style.el (ruby-style-version): take revision if
keyword is expanded. [ruby-dev:41408]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28010 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-25 07:37:41 +00:00
kosaki ceb62c31a1 * misc/ruby-mode.el (ruby-mode-map): binded C-c C-c and C-c C-c C-u
to comment-region and uncomment-region. Thanks Michael Klishin!
         [Feature #872] [ruby-core:20552]




git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-07 14:39:28 +00:00
nobu 33ede4d01c * misc/ruby-mode.el (ruby-here-doc-beg-match): fix for here-doc
which ends with an underscore.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26294 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-12 03:49:42 +00:00
nobu 96ac194811 * misc/rdoc-mode.el: added.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-18 01:11:30 +00:00
knu 4d0e9c4515 * misc/ruby-style.el: It is too late to set c-file-style in
c-mode-hook (at least on Emacs 23).  Call c-set-style instead.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23836 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-24 02:41:57 +00:00
knu ae846f9fb8 * lib/irb/completion.rb (IRB::InputCompletor::Operators): Add
overloadable negative operators.

* lib/irb/ruby-lex.rb (RubyLex#lex_init): Support overloadable
  negative operators.

* lib/irb/ruby-lex.rb (RubyLex#identify_identifier): Minus signs
  need to be escaped in regexp character class.

* misc/ruby-mode.el (ruby-font-lock-keywords, ruby-parse-partial):
  Support overloadable negative operators.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23129 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-04-03 05:04:02 +00:00
matz 568b743442 * misc/ruby-mode.el: added comment to mention newer version
bundled with Emacs 23 or later.  a patch from Phil Hagelberg
  <phil at hagelb.org> in [ruby-core:20838].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20957 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-23 18:23:15 +00:00
nobu fd8ca75663 * misc/ruby-style.el (ruby-style-c-mode): buffer may not have file
name.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-09 14:53:26 +00:00
nobu 00ae128346 * misc/ruby-mode.el: safe custimizable variables.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19582 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-26 09:24:31 +00:00
matz fb01457265 * misc/ruby-mode.el (ruby-keyword-end-re): emacs21 support. a
patch from Hiroshi Moriyama <hiroshi at kvd.biglobe.ne.jp> in
  [ruby-dev:36471].

* misc/ruby-mode.el (ruby-in-ppss-context-p): ditto.

* misc/ruby-mode.el (ruby-here-doc-end-syntax):

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19460 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-22 23:09:21 +00:00
matz 120772041e * misc/emacs-mode.el: don't set case-fold-search globally to nil;
instead just set it when we need it.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19208 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-06 22:38:08 +00:00
matz e39aa51dfa * misc/ruby-mode.el: fix a variable-name error.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19207 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-06 22:37:17 +00:00
matz 4cbbf3bdfc * misc/*.el: untabify, for interal consistency and consistency
with standard Emacs elisp files.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19206 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-06 22:36:10 +00:00
matz d250d79e5b * misc/ruby-mode.el, misc/ruby-electric.el: use regexp-opt where
possible for more efficient regexps.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-06 22:34:46 +00:00
matz 3f3584d623 * misc/ruby-mode.el: don't highlight keywords when they're the
beginning of non-keyword symbols.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-06 22:33:43 +00:00
matz ce231cdbdd * misc/ruby-mode.el: don't crash the whole mode if the Subversion
$ keyword isn't interpolated.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19203 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-06 22:32:38 +00:00
matz 2d1c5d2c24 * misc/*.el: merged the following patches from Nathan Weizenbaum
<nex342 at gmail.com>.   [ruby-core:18424]

* misc/ruby-mode.el: improve here-doc performance.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19202 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-06 22:30:34 +00:00
knu 3f91366caf * misc/ruby-mode.el (ruby-imenu-create-index-in-block): Fix the
regexp to only pick definition lines properly.  `module_funtion'
  is not a definition of a module named `_function'.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-07 09:04:27 +00:00
nobu 1bcbc29d95 * misc/ruby-mode.el: fix here-doc strings with inner quotes. patches
by Nathan Weizenbaum <nex342 AT gmail.com> from [ruby-core:17615]
  through [ruby-core:17910].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-22 00:51:35 +00:00
matz cf5cf236d7 * misc/ruby-mode.el (ruby-mode): use run-hooks if run-mode-hook is
not available.  a patch from Kazuhiro NISHIYAMA <zn at mbf.nifty.com>
  in [ruby-dev:34853].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-26 07:51:21 +00:00
matz f145325797 * misc/ruby-mode.el: move fontifying code from hook.
[ruby-core:16636]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16266 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-02 06:01:13 +00:00
nobu 9f9a532d98 * misc/ruby-style.el (ruby-style-{case,label}-indent): up list from
indentation point.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16153 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-22 13:15:56 +00:00
nobu 6a98d417f0 * misc/ruby-mode.el (ruby-encoding-map): added shift-jis for older
versions.

* misc/ruby-mode.el (ruby-mode-set-encoding):
  coding-system-to-mime-charset is not a standard function.
  [carbon-emacs:795]
  fix for the case that magic comment exists but coding system is
  absent.

* misc/ruby-mode.el (ruby-mode): use write-contents-functions or
  write-contents-hooks for older versions.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16028 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-15 06:38:13 +00:00
knu 69327a9d2e * misc/rdebug.el, misc/README: Remove rdebug.el as per request
from the maintainer and mention the ruby-debug project at
  RubyForge in README.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15960 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-10 11:37:46 +00:00
knu 4a1d5cfafe Mention the ruby-debug project at RubyForge.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15959 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-10 11:36:29 +00:00
nobu c97735b53c * misc/ruby-mode.el (ruby-mode): should use `run-mode-hooks' instead
of calling `run-hooks' directly to run the mode hook.  patch from
  Chiyuan Zhang <pluskid AT gmail.com> in [ruby-core:15915]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15790 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-17 08:11:15 +00:00
nobu 05eeb60259 * misc/ruby-mode.el (ruby-encoding-map, ruby-use-encoding-map): added
to customize.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15773 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-14 02:24:32 +00:00
nobu c7e829292a * misc/ruby-mode.el (ruby-mode-set-encoding): special treat for
compatibility with -Ks.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15757 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-12 08:01:08 +00:00
nobu 53577db05b * misc/ruby-mode.el (ruby-add-log-current-method): use ruby style
method name format.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-06 02:14:17 +00:00
matz 99e8314b3b * misc/ruby-mode.el (ruby-calculate-indent): should distinguish
comment and # in strings.  [ruby-dev:33874]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15615 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-26 07:53:40 +00:00
nobu f11ac55489 * misc/ruby-style.el (ruby-style-label-indent): fix for labels inside
blocks in switch.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15588 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-23 20:09:46 +00:00
nobu f7ed47355e * misc/ruby-mode.el (ruby-mode-set-encoding): updates magic comment.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15297 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-28 15:10:02 +00:00
nobu ce26086b01 * misc/ruby-mode.el (ruby-mode): set ruby-mode-set-encoding to buffer
local before-save-hook.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15277 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-27 13:31:47 +00:00
nobu c9ca560ce8 * misc/ruby-mode.el (ruby-mode-set-encoding): automatically insert
encoding magic comment.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15274 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-27 12:49:01 +00:00
akr 6cdef2dc7e * $Date$ keyword removed to avoid inclusion of locale dependent
string.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-06 15:49:38 +00:00
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
nobu 32865ef821 * misc/ruby-style.el (ruby-style-{case,label}-indent): adjust for
labels inside switch block.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-26 06:00:52 +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
nobu ac907e669a * misc/ruby-style.el (ruby-style-label-indent): fix for function top
level labels.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13478 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-20 19:58:41 +00:00
nobu b21d410d4e * misc/ruby-style.el (ruby-style-label-indent): for yacc rules.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12289 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-17 08:02:02 +00:00
nobu da4ad54e47 * misc/ruby-style.el: new file. C/C++ style for ruby source code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12221 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-04-26 04:54:01 +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
knu af2b2755cc * misc/README, misc/rdebug.el: Add rdebug.el, Emacs ruby-debug
interface based on rubydb3x.el; submitted by Martin Nordholts
  <enselic AT gmail.com> in [ruby-bugs:PR#9023].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-03-10 20:52:31 +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
zsombor 5a4f8179fe add ruby-electric.el
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-06 12:20:30 +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 bc667633d0 * eval.c (rb_eval): copy on write for argument local variable
assignment.

* eval.c (assign): ditto.

* eval.c (rb_call0): update ruby_frame->argv with the default
  value used for the optional arguments.

* object.c (Init_Object): "===" calls rb_obj_equal() directly.
  [ruby-list:39937]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6703 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-27 08:11:36 +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 75821a5afb * misc/inf-ruby.el (inferior-ruby-error-regexp-alist): regexp
alist for error message from ruby.

* misc/inf-ruby.el (inferior-ruby-mode): fixed for Emacs.

* misc/inf-ruby.el (ruby-send-region): compilation-parse-errors
  doesn't parse first line, so insert separators before each
  evaluations.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-07 14:37:26 +00:00
nobu e0c5eed65c * misc/inf-ruby.el (inf-ruby-keys): ruby-send-definition
conflicted with ruby-insert-end.

* misc/inf-ruby.el (inferior-ruby-mode): compilation-minor-mode.

* misc/inf-ruby.el (ruby-send-region): send as here document to
  adjust source file/line.  [ruby-talk:47113], [ruby-dev:17965]

* misc/inf-ruby.el (ruby-send-terminator): added to make unique
  terminator.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-19 10:07:06 +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
nobu 9402cbeec5 * misc/ruby-mode.el (ruby-font-lock-keywords): symbols end with '_'.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2481 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-21 04:35:31 +00:00
matz eb6118992b * eval.c (rb_clear_cache_by_class): new function.
* eval.c (set_method_visibility): should have clear cache forq
  updated visibility.

* numeric.c (flo_to_s): default format precision to be "%.16g".

* util.c (ruby_strtod): use own strtod(3) implementation to avoid
  locale hell.  Due to this change "0xff".to_f no longer returns 255.0

* eval.c (avalue_to_yvalue): new function to distinguish yvalue
  (no-arg == Qundef) from svalue (no-arg == Qnil).

* eval.c (rb_yield_0): use avalue_to_yvalue().

* eval.c (assign): warn if val == Qundef where it means rhs is
  void (e.g. yield without value or call without argument).

* parse.y (value_expr): need not to warn for WHILE and UNTIL,
  since they can have return value (via valued break).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2457 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-14 06:22:31 +00:00
nobu ff0abdc55e * misc/ruby-mode.el (ruby-font-lock-keywords): fontify symbols for
unary operators and aset.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2347 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-04-10 05:24:47 +00:00
nobu 3432cecf24 * misc/ruby-mode.el (ruby-block-hanging-re): rescue block was too
indented.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2081 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-02-18 05:17:53 +00:00
nobu 4dd348b2b4 * misc/ruby-mode.el (ruby-font-lock-keywords): fontify
instance/class/global variables start with '_'.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2080 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-02-17 15:31:37 +00:00
matz 9f0d9bd711 * file.c (rb_stat_inspect): print dev, rdev in hexadecimal.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2038 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-02-01 06:03:03 +00:00
matz 86298123d7 * file.c (rb_stat_rdev_major): added. [new]
* file.c (rb_stat_rdev_minor): added. [new]

* file.c (rb_stat_inspect): print mode in octal.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-01-29 07:16:09 +00:00
matz f547c1150c * class.c (rb_include_module): detect cyclic module inclusion.
* eval.c (rb_thread_cleanup): need not to free thread stacks at
  process termination.

* array.c (rb_ary_fetch): use the block to get the default value
  if the block is given.

* eval.c (rb_thread_schedule): should check time only if BOTH
  WAIT_SELECT and WAIT_TIME.

* eval.c (umethod_bind): should update rklass field.

* hash.c (rb_hash_update): if a block is given, yields [key,
  value1, value2] to the block to resolve conflict.

* string.c (rb_str_split_m): no need to consider KANJI
characters, if the length of separator is 1 (byte).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2015 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-01-25 08:22:11 +00:00
matz eb9708f386 * array.c (Init_Array): remove Array#filter.
* object.c (rb_mod_initialize): should accept zero argument.

* object.c (rb_mod_cmp): should raise ArgumentError if
  inheritance/inclusion relation between two classes/modules is
  not defined. [new]

* io.c (rb_io_fsync): new method. [new]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2014 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-01-23 07:30:43 +00:00
matz a7a7324ea6 * io.c (rb_io_s_new): block check moved from initialize to this
method.

* io.c (rb_io_s_open): open should call initialize too. IO#for_fd
  also calls initialize. [new]

* error.c (rb_sys_fail): replace INT2FIX() by INT2NUM() since
  errno value may not fit in Fixnum size on Hurd.

* error.c (set_syserr): ditto.

* dir.c (dir_s_glob): returns nil if block given.

* io.c (rb_io_each_byte): should return self.

* io.c (rb_io_close_m): close check added.

* dir.c (dir_seek): should return pos.

* parse.y (fixpos): orig may be (NODE*)1, which should not be
  dereferenced.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2004 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-01-18 14:24:01 +00:00
nobu dffbc4d7f1 * misc/ruby-mode.el (ruby-calculate-indent): indentation after
comment at beginning of buffer failed.

* misc/ruby-mode.el (font-lock-defaults): unless XEmacs, set
  font-lock variables in ruby-mode-hook.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1976 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-01-09 17:52:12 +00:00
nobu 8090c2f214 * misc/ruby-mode.el (ruby-forward-string): forward a string. [new]
* misc/ruby-mode.el (ruby-parse-region): handle nested parentheses
  in a string and terminators in #{}.

* misc/ruby-mode.el (ruby-calculate-indent): ditto.

* misc/ruby-mode.el (ruby-font-lock-syntactic-keywords):
  fix font-lock problem [ruby-talk:29296].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1965 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-01-05 03:25:02 +00:00
matz 459031e5d9 * process.c (rb_f_system): abandon vfork.
* io.c (pipe_open): ditto.

* defines.h: sparc linux needs different FLUSH_REGISTER_WINDOWS

* regex.c (re_search): abandon stclass optimization.

* bignum.c (rb_cstr2inum): deny "0_".

* bignum.c (rb_cstr2inum): allow "0\n" and so on.

* error.c (rb_invalid_str): utility function to show inspect()'ed
  string.

* bignum.c (rb_cstr2inum): prints invalid strings in inspect()'ed
  format.

* object.c (rb_Float): ditto.

* object.c (rb_convert_type): no longer use rb_rescue().

* re.c (rb_reg_search): initialize taint status of match object.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1959 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-01-04 14:15:33 +00:00
matz 63b6b9c430 * time.c (time_plus): result should not be negative unless
NEGATIVE_TIME_T is defined.

* time.c (time_new_internal): should check tv_sec overflow too.

* time.c (time_timeval): should check time_t range when time is
  initialized from float.

* time.c (time_plus): uses modf(3).

* variable.c (rb_cvar_set): add frozen class/module check.

* variable.c (rb_cvar_declare): add frozen class/module check.

* re.c (match_to_a): should propagate taint.

* re.c (rb_reg_s_quote): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-12-21 09:23:28 +00:00
matz 35f851bcfe * string.c (rb_str_replace): swap arguments of OBJ_INFECT.
* eval.c (rb_thread_schedule): should not select a thread which is
  not yet initialized.

* time.c (time_plus): wrong boundary check.

* time.c (time_minus): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-12-18 08:47:06 +00:00
matz 6ab0ff977d * eval.c (rb_thread_select): should subtract timeofday() from
limit, not reverse.

* util.c (scan_hex): x is not a hexadecimal digit.

* eval.c (rb_thread_schedule): should treat the case that
  select(2) returns 0, if a thread is under both WAIT_SELECT and
  WAIT_TIME.  Jakub Travnik <J.Travnik@sh.cvut.cz> actually fixed
  this bug.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1862 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-11-28 14:56:32 +00:00
matz 54d534f043 * string.c (rb_str_chomp_bang): do smart chomp if $/ == '\n'.
* io.c (rb_io_puts): don't treat Array specially.

* bignum.c (rb_big_cmp): should convert bignum to float.

* eval.c (rb_f_eval): can't modify untainted binding.

* regex.c (re_compile_pattern): should preverve p0 value.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1803 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-10-30 08:43:28 +00:00
matz 5f877e8431 * string.c (rb_str_index): wrong increment for non alphanumeric
string.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1787 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-10-16 03:27:23 +00:00
matz b47a99485b * parse.y (yylex): ternary ? can be followed by newline.
* eval.c (rb_f_require): should check static linked libraries
  before raising exception.

* array.c (rb_ary_equal): check identiry equality first.

* string.c (rb_str_equal): ditto.

* struct.c (rb_struct_equal): ditto.

* numeric.c (Init_Numeric): undef Integer::new.

* eval.c (rb_eval): NODE_WHILE should update result for each
  conditional evaluation.

* eval.c (rb_eval): NODE_UNTIL should return last evaluated value
  (or value given to break).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1714 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-08-29 06:28:51 +00:00
matz 04a8e85bc5 * range.c (range_step): new method.
* string.c (rb_str_cmp): remove needless conditional.

* string.c (rb_str_lstrip_bang) `return Qnil' was missing.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1682 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-08-14 08:13:31 +00:00
matz f33a61c28d * string.c (rb_str_lstrip_bang): new method.
* string.c (rb_str_rstrip_bang): new method.

* string.c (rb_str_associate): should consider STR_ASSOC too.

* eval.c (rb_undefined): do not recurse if method_missing is
  undefined.

* process.c (proc_waitpid): now all arguments are optional.

* process.c (Init_process): waitpid is now alias to wait.

* process.c (Init_process): waitpid2 is now alias to wait2.

* process.c (rb_waitpid): made public.

* ext/pty/pty.c (pty_getpty): avoid disturbing SIGCHLD using
  thread and rb_waitpid.

* process.c (proc_getpgrp): now takes no argument on all
  platforms.

* process.c (proc_setpgrp): ditto.

* ext/socket/socket.c (sock_s_pack_sockaddr_in): added
  Socket::pack_sockaddr_in(). [new]

* ext/socket/socket.c (sock_s_pack_sockaddr_un): added
  Socket::pack_sockaddr_un(). [new]

* ext/socket/socket.c (sock_s_pack_sockaddr_in): added
  Socket::unpack_sockaddr_in(). [new]

* ext/socket/socket.c (sock_s_pack_sockaddr_un): added
  Socket::unpack_sockaddr_un(). [new]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-08-06 03:05:23 +00:00
matz 0869399cbf * eval.c (svalue_to_avalue): new conversion scheme between single
value and array values.

* eval.c (avalue_to_svalue): ditto.

* eval.c (rb_eval): REXPAND now uses avalue_to_svalue(), return
  and yield too.

* eval.c (rb_yield_0): use avalue_to_svalue().

* eval.c (proc_invoke): Proc#call gives avaules, whereas
  Proc#yield gives mvalues.

* eval.c (bmcall): convert given value (svalue) to avalue.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1544 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-06-23 15:14:28 +00:00
matz 9d51cf8a6a * eval.c (rb_f_require): searches ".rb" and ".so" at the same
time.  previous behavior (search ".rb", then ".so") has a
  security risk (ruby-bugs#PR140).

* array.c (rb_ary_to_ary): new function to replace internal
  rb_Array(), which never calls to_a, but to_ary (rb_Array() might
  call both). [new]

* regex.c (PUSH_FAILURE_POINT): push option status again.

* regex.c (re_compile_pattern): avoid pushing unnecessary
  option_set.

* eval.c (rb_load): tainted string is OK if wrapped *and*
  $SAFE >= 4.

* eval.c (rb_thread_start_0): should not nail down higher blocks
  before preserving original context (i.e. should not alter
  original context).

* eval.c (proc_yield): new method equivalent to Proc#call but no
  check for number of arguments. [new]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-06-19 04:35:17 +00:00
matz 7c9c33e9ad * parse.y (aref_args): "*arg" should always be expanded by REXPAND.
* variable.c (fc_i): removed vast string allocation.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1507 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-06-06 06:42:23 +00:00
matz 4cd1cd7201 * ruby.c (proc_options): unexpected SecurityError happens when -T4.
* regex.c (re_compile_pattern): * \1 .. \9 should be
  backreferences always.

* regex.c (re_match): backreferences corresponding to
  unclosed/unmatched parentheses should fail always.

* string.c (rb_str_cat): use rb_str_buf_cat() if possible. [new]

* string.c (rb_str_append): ditto.

* string.c (rb_str_buf_cat): remove unnecessary check (type,
  taint, modify) to gain performance.

* string.c (rb_str_buf_append): ditto.

* string.c (rb_str_buf_finish): removed.

* string.c (rb_str_buf_new): buffering string function. [new]

* string.c (rb_str_buf_append): ditto.

* string.c (rb_str_buf_cat): ditto.

* string.c (rb_str_buf_finish): ditto.

* time.c (make_time_t): local time adjustment revised.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-05-30 09:10:30 +00:00
matz 1d3d27b42d forgot some checkins.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1363 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-05-06 15:06:00 +00:00
matz ed520cf6e9 * parse.y (parse_quotedwords): %w should allow parenthesis escape.
* parse.y (parse_qstring): %q should allow terminator escape.

* re.c (rb_reg_options): new method to give an option values.

* parse.y (cond0): disable special treating of integer literal in
  conditional unless option -e is supplied.  changes current
  behavior.  experimental.

* parse.y (cond0): give warning for string/integer literals and
  dot operators in conditionals unless option -e is supplied.

* re.c (rb_reg_equal): all option flags should be same to be equal.

* error.c (Init_Exception): make Interrupt a subclass of
  SignalException.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1167 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-02-08 09:19:27 +00:00
matz 99020d6e50 001225
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-12-25 06:29:27 +00:00
matz 03581d5826 matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1055 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-12-05 09:36:54 +00:00
matz 39563af994 matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1049 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-11-20 07:31:55 +00:00
matz 6c11709d4c matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@996 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-10-11 06:29:16 +00:00
matz 1ce6f065b5 matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@990 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-10-10 07:03:36 +00:00
matz 9a46002fc0 matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-10-02 07:48:42 +00:00
matz fbcc6dea0c matz: 1.6.0 final (hopufully)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@934 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-09-12 05:37:38 +00:00
matz 6fc752bf7d matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@929 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-09-07 06:59:46 +00:00
matz cff9ebc8dc matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@923 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-09-01 07:25:25 +00:00
matz 4f51d81418 matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@810 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-07-04 04:17:26 +00:00
matz 548b5143db 2000-06-12
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-06-12 07:48:31 +00:00
matz 8b1de0b1ad 2000-05-24
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-05-24 04:34:26 +00:00
matz fedf48986d 2000-05-01
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@678 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-05-01 09:42:38 +00:00
matz d7b8e448bf 2000-03-06
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@632 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-03-06 04:15:42 +00:00
matz 320e99d8dd 2000-02-08
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@616 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-02-08 08:54:01 +00:00
matz e5ed1780af 2000-01-18
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@607 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-01-18 06:09:05 +00:00
matz de71615260 20000105
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@598 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-01-05 04:41:21 +00:00
matz 9d228b13de 19991214
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@587 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1999-12-14 06:50:43 +00:00
matz a3f29338ad 19991201
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1999-12-01 09:24:48 +00:00
matz 2b49047143 mark_end_proc
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@571 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1999-11-26 09:07:26 +00:00
matz 0d684beafb 19991029
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@556 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1999-10-29 09:25:48 +00:00
matz 758cb647c7 19991004
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@536 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1999-10-04 04:51:08 +00:00
matz 70a444b0cc 19990920
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@533 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1999-09-20 07:14:18 +00:00
matz a1b57d0add 1.4.1 to be
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1999-08-24 08:21:56 +00:00
matz 65a5162550 1.4.0
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@520 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1999-08-13 05:45:20 +00:00