1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/ChangeLog
ntalbott 65fe176ea4 * test/testunit/*: Added.
* lib/test/unit.rb: Documentation update.

	* lib/test/unit/ui/console/testrunner.rb (TestRunner#initialize):
	  Ditto.

	* lib/test/unit.rb: Factored out an ObjectSpace collector.

	* lib/test/unit/collector/objectspace.rb: Ditto.

	* sample/testunit/*: Added.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4576 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-19 02:48:46 +00:00

1226 lines
39 KiB
Text

Fri Sep 19 11:39:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
* test/testunit/*: Added.
* lib/test/unit.rb: Documentation update.
* lib/test/unit/ui/console/testrunner.rb (TestRunner#initialize):
Ditto.
* lib/test/unit.rb: Factored out an ObjectSpace collector.
* lib/test/unit/collector/objectspace.rb: Ditto.
* sample/testunit/*: Added.
Fri Sep 19 01:00:48 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
* lib/webrick/log.rb (BasicLog#log): get rid of as ineffectual
condition.
* lib/webrick/log.rb (BasicLog#format): add "\n" to message.
Thu Sep 18 22:43:20 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* eval.c (proc_invoke): should push PROT_PCALL tag for orphans.
* eval.c (proc_invoke): should update "result" for orphans.
Thu Sep 18 20:30:17 2003 Tanaka Akira <akr@m17n.org>
* lib/pathname.rb: update document.
Mon Sep 18 15:27:05 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
* lib/logger.rb: new file. Logger, formerly called devel-logger or
Devel::Logger.
* sample/logger/*: new file. samples of logger.rb.
Wed Sep 17 23:41:45 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* eval.c (localjump_destination): should not raise ThreadError
exception for "break". [ruby-dev:21348]
* eval.c (proc_invoke): use result instead of prot_tag->retval.
retval is no longer propagated to the ancestors.
Wed Sep 17 20:34:00 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* parse.y (tokadd_string, parse_string, yylex): escaped terminator
is now interpreted as is. [ruby-talk:82206]
Wed Sep 17 18:52:36 2003 Minero Aoki <aamine@loveruby.net>
* test/fileutils/fileassertions.rb: new file.
* test/fileutils/test_fileutils.rb: new file.
* test/fileutils/test_nowrite.rb: new file.
Wed Sep 17 18:51:02 2003 Minero Aoki <aamine@loveruby.net>
* test/strscan/test_stringscanner.rb: require test/unit.
Wed Sep 17 18:35:34 2003 Minero Aoki <aamine@loveruby.net>
* test/strscan/test_stringscanner.rb: new file.
Wed Sep 17 18:03:30 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
* ext/openssl: all files are reviewed to simplify and avoid memory leak.
* ext/openssl/extconf.rb: add check for assert.h.
* ext/openssl/ossl.c (ossl_buf2str): new function to convert
C buffer to String and free buffer.
* ext/openssl/ossl.c (ossl_x509_ary2sk): new function to convert
Array of OpenSSL::X509 to STACK_OF(X509) with exception safe.
* ext/openssl/ossl.c (ossl_to_der, ossl_to_der_if_possible): new
functions to convert object to DER string.
* ext/openssl/ossl.h: ditto.
* ext/openssl/ossl_bio.c (ossl_membio2str): new function to convert
BIO to String object and free BIO.
* ext/openssl/ossl_bio.h: ditto.
* ext/openssl/ossl_pkcs7.c (ossl_pkcs7_to_der): add for "to_der".
* ext/openssl/ossl_x509name.c (ossl_x509name_to_der): ditto.
* ext/openssl/ossl_x509ext.c (ossl_x509ext_to_der): ditto.
* ext/openssl/ossl_x509ext.c (create_ext_from_array): removed
and reimplement in openssl/x509.rb.
* ext/openssl/ossl_x509attr.c: reimplemented and disable some
method temporarily. this class doesn't work fine without ASN.1
data support;-) I'll rewrite in near future.
* ext/openssl/lib/openssl/x509.c (X509::Attribute): get rid off
unused code.
* ext/openssl/lib/openssl/x509.c (X509::ExtensionFactory): refine all.
Mon Sep 16 22:25:06 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
* test/csv/test_csv.rb: add negative tests of row_sep.
Tue Sep 16 18:02:36 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* regex.c (re_compile_pattern): should not translate character
class range edge. [ruby-list:38393]
Tue Sep 16 16:47:56 2003 WATANABE Hirofumi <eban@ruby-lang.org>
* MANIFEST: add test/csv/mac.csv.
* win32/Makefile.sub, bcc32/Makefile.sub (test): add phony NUL target.
Mon Sep 15 19:02:52 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
* lib/csv.rb: add extra pamameter to specify row(record) separater
character. To parse Mac's CR separated CSV, do like this.
CSV.open("mac.csv", "r", ?,, ?\r) { |row| p row.to_a }
The 3rd parameter in this example ?, is for column separater and the
4th ?\r is for row separater. Row separater is nil by default. Nil
separater means "\r\n" or "\n".
* test/csv/test_csv.rb: add tests for above feature.
* test/csv/mac.csv: added. Sample CR separated CSV file.
Fri Sep 12 22:41:48 2003 Michal Rokos <m.rokos@sh.cvut.cz>
* ext/openssl/ossl.c: move ASN.1 stuff to ossl_asn1.[ch]
* ext/openssl/ossl.c: move BIO stuff to ossl_bio.[ch]
* ext/openssl/ossl_asn1.[ch]: new files
* ext/openssl/ossl_bio.[ch]: new files
Fri Sep 12 12:30:41 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* intern.h (rb_disable_super, rb_enable_super): replace with dummy
expressions instead of prototypes. the functions remain yet for
binary compatibility. [ruby-talk:81758]
Fri Sep 12 12:09:54 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* bignum.c (rb_big_and): convert argument using 'to_int'.
* bignum.c (rb_big_or): ditto.
* bignum.c (rb_big_xor): ditto.
Fri Sep 11 22:06:14 2003 David Black <dblack@superlink.net>
* lib/scanf.rb: Took out useless @matched_item variable; some small
refactoring.
Thu Sep 11 08:43:44 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* eval.c (rb_f_require): allow "require" on $SAFE>0, if feature
name is not tainted.
* lib/rexml/parsers/baseparser.rb (REXML::Parsers::BaseParser::stream):
Supports StringIO.
Wed Sep 10 22:47:30 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
* ext/openssl/ossl.h: add a workaround for win32 platform.
libeay32.dll doesn't export functions defined in conf_api.h.
* ext/openssl/ossl_config.c (ossl_config_initialize): ditto.
* ext/openssl/ossl_config.c (ossl_config_add_value): ditto.
* ext/openssl/ossl_config.c (set_conf_section_i): should check
if the argument is Array.
Wed Sep 10 22:41:54 2003 Tietew <tietew@tietew.net>
* eval.c (win32_get_exception_list): avoid VC7 warning.
[ruby-win32:577]
Tue Sep 9 10:39:51 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* eval.c (struct tag): dst should be VALUE.
Tue Sep 9 10:39:51 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* eval.c (localjump_destination): stop at the scope where the current
block was created. [ruby-dev:21353]
Tue Sep 9 05:17:04 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
* ext/openssl/ossl_config.rb: avoid compile error in OpenSSL-0.9.6.
Tue Sep 9 02:41:35 2003 Michal Rokos <m.rokos@sh.cvut.cz>
* ext/openssl/ossl_config.c: Refine compatibility.
Tue Sep 9 01:50:45 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
* lib/webrick/httpserver.rb (HTTPServer#access_log): add "\n" to
the message.
* lib/webrick/log.rb (BasicLog#log): add "\n" only if needed.
Mon Sep 8 22:15:33 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
* ext/tk/lib/multi-tk.rb: modify security check at creating
a new interpreter
Mon Sep 8 20:00:12 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* lib/optparse.rb, lib/optparse/version.rb: search also all
capital versions.
Mon Sep 8 19:26:33 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
* ext/openssl/ossl.h: include openssl/conf.h and openssl/conf_api.h.
* ext/openssl/ossl_config.c: refine all with backward compatibility.
* ext/openssl/ossl_config.h: export GetConfigPtr() and DupConfigPtr().
* ext/openssl/ossl_x509.c: added new constants under X509 module.
DEFAULT_CERT_AREA, DEFAULT_CERT_DIR, DEFAULT_CERT_FILE,
DEFAULT_CERT_DIR_ENV, DEFAULT_CERT_FILE_ENV and DEFAULT_PRIVATE_DIR.
* ext/openssl/ossl_x509ext.c (ossl_x509extfactory_free): don't free
the members of the struct. it's left to GC.
* ext/openssl/ossl_x509ext.c (ossl_x509_set_config): add for config=.
* ext/openssl/ossl_x509ext.c (Xossl_x509extfactory_initialize):
add attr readers: issuer_certificate, subject_certificate,
subject_request, crl and config.
Mon Sep 8 18:26:41 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
* lib/webrick/accesslog.rb (AccessLog::setup_params): use req.port
instead of config[:Port] or req.request_uri.port.
* lib/webrick/httprequest.rb (HTTPRequest#meta_vars): ditto.
* lib/webrick/httpservlet/filehandler.rb (FileHandler#dir_list): ditto.
* lib/webrick/config.rb: :Listen option never be used.
* lib/webrick/server.rb (GenericServer#initialize): don't use :Listen
option and add warning message.
* lib/webrick/log.rb (BasicLog#<<): shortcut of log(INFO, ...).
* lib/webrick/httpserver.rb (HTTPServer#accesslog): use << for logging.
Sun Sep 7 16:08:28 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
* ext/tcltklib/tcltklib.c (lib_mainloop_core): fixed signal-trap bug
* ext/tk/lib/*.rb : Ruby/Tk works at $SAFE == 4
Fri Sep 6 02:26:34 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
* test/ruby/test_*.rb: assert_same, assert_match, and so on.
Sat Sep 6 18:45:46 2003 Mauricio Fernandez <batsman.geo@yahoo.com>
* parse.y (assignable): call rb_compile_error(), not rb_bug().
[ruby-core:01523]
Sat Sep 6 17:40:41 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
* ext/openssl/ruby_missing.c: rid of unnecessary backward
compatibility stuff. and remove DEFINE_ALLOC_WRAPPER from
all sources.
* ext/openssl/ossl_x509ext.c (X509::Extension.new): new method.
* ext/openssl/ossl_x509ext.c (X509::Extension#oid=): new method.
* ext/openssl/ossl_x509ext.c (X509::Extension#value=): new method.
* ext/openssl/ossl_x509ext.c (X509::Extension#critical=): new method.
Sat Sep 6 01:23:22 2003 NAKAMURA Usaku <usa@ruby-lang.org>
* win32/win32.c (CreateChild): need to quote cmd if RUBYSHELL is set.
* win32/win32.c (CreateChild): fix condition about whether to call
shell or not.
Sat Sep 6 00:36:20 2003 Nobuyoshi Nakada <nobu.nokada@softhome.net>
* Makefile.in (test): phony target.
* lib/mkmf.rb (have_library, find_library): configure by library
name.
* lib/optparse.rb (OptionParser#order, #permute, #parse): allow an
array as argument.
* test/ruby/test_*.rb: moved invariants to left side in
assert_equal, and use assert_nil, assert_raises and so on.
* win32/win32.c (isInternalCmd): distinguish command.com and
cmd.exe.
* win32/win32.c (make_cmdvector): a character just after wildcard
was ignored. [ruby-core:01518]
Fri Sep 5 20:27:08 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
* test/ruby/test_*.rb: replace 'assert(a == b)' with assert_equal(a, b)'
Fri Sep 5 18:00:51 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
* ext/openssl/lib/openssl/x509.rb: new method X509::Name::parse.
* ext/openssl/ossl_digest.c: add ossl_digest_new().
* ext/openssl/ossl_digest.h: ditto.
* ext/openssl/ossl_cipher.c: add ossl_cipher_new().
* ext/openssl/ossl_cipher.h: ditto.
Fri Sep 5 15:32:04 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* misc/ruby-mode.el (ruby-font-lock-maybe-here-docs): should not
search delimiter forward if found in backward.
Fri Sep 5 13:32:48 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* test/runner.rb: arguments should be keys.
Fri Sep 5 12:09:55 2003 WATANABE Hirofumi <eban@ruby-lang.org>
* test/ruby/test_system.rb (test_system): check existence of ruby
interpreter.
Fri Sep 5 11:32:17 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* lib/optparse.rb (--version): fix assignment/reference order.
* lib/optparse.rb (OptionParser#help): new; OptionParser#to_s may
be deprecated in future.
* lib/optparse/version.rb (OptionParser#show_version): hide Object.
* test/runner.rb: fix optparse usage.
* test/runner.rb: glob all testsuits if no tests given.
Fri Sep 5 10:42:58 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
* test/runner.rb: added. gets testcases from command line and runs it.
* test/ruby/test_gc.rb: remove useless part which was for dumping test
result.
Fri Sep 5 09:28:59 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
* test/ruby/test_gc.rb: added. splitter.rb which I made to split
sample/test.rb into test/ruby/test_* kindly removed GC test (the
last section in the original test) to reduce things to be worried.
Fri Sep 5 03:00:04 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* test/ruby/test_iterator.rb (test_block_in_arg): add no block
given tests.
* test/ruby/test_iterator.rb (test_ljump): uncomment LocalJumpError
test.
Wed Sep 5 01:10:11 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
* test/ruby: tests for ruby itself.
* test/ruby/test_*.rb: split sample/test.rb into 28 test/unit testcases.
some tests could not be translates... search '!!' mark to see it.
* test/csv/test_csv.rb: should require 'csv', not '../lib/csv'. test
runner should set load path correctly.
Wed Sep 5 01:03:59 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
* test/csv/test_csv.rb: close opened files for CSV::IOBuf explicitly.
opened file cannot be removed under win32 box.
Thu Sep 4 23:59:40 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* parse.y (tokadd_string): newlines have no special meanings in
%w/%W, otherwise they are ignored only when interpolation is
enabled. [ruby-dev:21325]
Wed Sep 4 19:38:25 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
* ext/io/wait/.cvsignore: added.
* ext/openssl/.cvsignore: added.
Wed Sep 4 19:28:24 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
* sample/openssl: added. Sample of standard distribution library
should be locate in sample/{module_name}/*.
* ext/openssl/sample/*: removed. move to sample/openssl/*.
Wed Sep 4 18:02:15 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
* test/csv/test_csv.rb: use remove_const to reduce warnings. use
Dir.tmpdir to locate working files.
Thu Sep 4 17:41:31 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* 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.
Wed Sep 4 15:40:07 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
* test/csv/test_csv.rb: run on test/unit original layer.
Thu Sep 4 12:54:50 2003 why the lucky stiff <ruby-cvs@whytheluckystiff.net>
* ext/syck/token.c: headerless documents with root-level spacing now
honored.
Thu Sep 4 00:06:14 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* eval.c (mark_frame_adj): need to adjust argv pointer if using
system's alloca. [ruby-core:01503]
Wed Sep 3 21:33:20 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
* test: add test directory. Test::Unit aware testcases and needed
files should be located in this directory. dir/file name convention;
test/{module_name}/test_{testcase_name}.rb
test/{module_name}/{needed_files}
someday, someone will write testrunner which searches test_*.rb and
run testcases automatically.
* test/csv/*: add testcase for lib/csv.rb.
Wed Sep 3 01:37:09 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* io.c (rb_f_gets): should call next_argv() before type check
current_file. [ruby-list:38336]
Tue Sep 2 20:37:15 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
* ext/openssl/lib/net/protocols.rb (SSLIO#ssl_connect): warning
for skipping server verification.
Tue Sep 2 23:36:57 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* eval.c (proc_invoke): should retrieve retval when pcall is true.
Tue Sep 2 14:09:20 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* ext/socket/extconf.rb: check s6_addr8 in in6_addr (Tru64 UNIX).
the patch is submitted by nmu <nmu@users.sourceforge.jp>.
* ext/socket/getaddrinfo.c (getaddrinfo): should use in6_addr8 on
some platforms.
* ext/socket/getnameinfo.c (getnameinfo): ditto.
Tue Sep 2 14:02:19 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
* ext/tcltklib/tcltklib.c (ip_invoke): fixed bug on passing a exception
* ext/tk/lib/{tk.rb, tkcanvas.rb, tkfont.rb, tktext.rb} :
bug fix and improvement of font control
Tue Sep 2 09:51:36 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* eval.c (rb_eval): should not handle exceptions within rescue
argument. [ruby-talk:80804]
Tue Sep 2 00:44:37 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* re.c (rb_memsearch): fix overrun. [ruby-talk:80759]
Tue Sep 2 00:41:27 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/iconv/iconv.c (map_charset): use lower case keys.
* ext/iconv/iconv.c (iconv_fail): just yield error and return the
result if a block is given.
* ext/iconv/iconv.c (iconv_convert): yield error and append the
result if a block is given.
* ext/iconv/charset_alias.rb (charset_alias): optional third
argument.
* ext/iconv/charset_alias.rb (charset_alias): use CP932 instead of
SHIFT_JIS on cygwin.
Mon Sep 1 18:34:25 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* eval.c (rb_eval): make tail recursion in ELSE clause of
RESCUE a jump.
Mon Sep 1 18:00:02 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* parse.y (aref_args): forgot to call NEW_SPLAT(). reported by
Dave Butcher.
* eval.c (Init_Thread): protect thgroup_default. suggested by Guy
Decoux in [ruby-talk:80623]
Mon Sep 1 16:59:10 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* eval.c (rb_thread_switch): add RESTORE_EXIT; exit by another
thread termination.
* eval.c (rb_thread_start_0): should not error_print() within
terminated thread, because $stderr used by it might be
overriden now. [ruby-dev:21280]
Sun Aug 31 22:46:55 2003 WATANABE Hirofumi <eban@ruby-lang.org>
* eval.c (TAG_DST()): take no argument.
* process.c (p_gid_sw_ensure): return VALUE.
Sun Aug 31 22:27:10 2003 Hidetoshi NAGAI <nagai@dumbo.ai.kyutech.ac.jp>
* process.c (p_gid_sw_ensure): lack of function type
Sun Aug 31 12:25:06 2003 Nobuyoshi Nakada <nobu.nokada@softhome.net>
* lib/optparse.rb: --version takes an optional argument; "all" or
a list of package names.
Sun Aug 31 10:17:02 2003 Tadayoshi Funaba <tadf@dotrb.org>
* lib/date/format.rb: yyyy/mm is not an acceptable format.
* lib/time.rb: follow above.
Sat Aug 30 14:25:43 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* eval.c (rb_iter_break): should not call TAG_JUMP directly.
Sat Aug 30 03:58:21 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* eval.c (struct BLOCK): remove BLOCKTAG, use scope instead.
* eval.c (POP_TAG): no longer propagate retval. retval is now set
directly by localjump_destination().
* eval.c (localjump_destination): new function to cast
return/break local jump.
* eval.c (rb_yield_0): stop TAG_RETURN/TAG_BREAK escaping.
Fri Aug 29 22:35:00 2003 Shigeo Kobayashi <shigek@ruby-lang.org>
* bigdecimal.c *.html: The 2nd arg. for add,sub,mult, and div is 0,
then result will be the same as +,-,*,/ respectively.
Fri Aug 29 17:30:15 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
* process.c: bug fix
* process.c: add rb_secure(2) to methods of Process::{UID,GID,Sys}
* process.c: deny handling IDs during evaluating the block given to
the Process::{UID,GID}.switch method
* ext/tcltklib/tcltklib.c : some methods have no effect if on slave-IP
* ext/tcltklib/tcltklib.c : can create a interpreter without Tk
* ext/tcltklib/tcltklib.c : bug fix on handling exceptions
* ext/tcltklib/MANUAL.euc : modify
* ext/tk/lib/tk.rb : freeze some core modules
* ext/tk/lib/multi-tk.rb : more secure
* ext/tk/lib/tk.rb: TkVariable.new(array) --> treat the array as the
Tk's list
* ext/tk/lib/tk.rb: improve accessibility of TkVariable object
* ext/tk/lib/tk.rb, ext/tk/lib/tkfont.rb, ext/tk/lib/tkcanvas.rb,
ext/tk/lib/tktext.rb : fix bug of font handling
* ext/tk/lib/tkfont.rb TkFont.new() accepts compound fonts
Thu Aug 28 22:07:12 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* variable.c (rb_autoload_load): call const_missing if autoloading
constant is not defined to allow hook.
* eval.c (rb_eval): use rb_const_get_from() instead of
rb_const_get_at().
* eval.c (is_defined): forgot to check NODE_COLON3.
Thu Aug 28 17:30:24 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* variable.c (rb_const_get_0): should check constants defined in
included modules, if klass is Object. [ruby-talk:79302]
* numeric.c (check_uint): check should be done using UINT_MAX, not
INT_MAX. this fix is submitted by Lyle Johnson
<lyle@knology.net> in [ruby-core:01486]
Thu Aug 28 05:02:52 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* parse.y (singleton): typo fixed (ruby-bugs-ja PR#562)
Thu Aug 28 02:37:45 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* eval.c (rb_eval): *a = [1,2] now assigns [[1,2]] to a.
consistent with *a = [1], which set [[1]] to a.
* node.h: merge NODE_RESTARY to NODE_SPLAT.
* parse.y: rules simplified a bit by removing NODE_RESTARY.
* sample/test.rb: updated for new assignment behavior.
Wed Aug 27 22:33:24 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* error.c (rb_bug): should not use other methods; this function is
not for ordinary use. [ruby-dev:21259]
Wed Aug 27 15:07:57 2003 Minero Aoki <aamine@loveruby.net>
* lib/net/smtp.rb (check_response): AUTH CRAM-MD5 returns 334
response. [ruby-list:38279]
Wed Aug 27 05:10:15 2003 NAKAMURA Usaku <usa@ruby-lang.org>
* win32/win32.c (map_errno): support winsock error.
* win32/win32.c (pipe_exec, CreateChild, poll_child_status, waitpid,
kill, link, rb_w32_rename, unixtime_to_filetime, rb_w32_utime):
pass errno to map_errno().
* win32/win32.c (rb_w32_select, rb_w32_accept, rb_w32_bind,
rb_w32_connect, rb_w32_getpeername, rb_w32_getsockname,
rb_w32_getsockopt, rb_w32_ioctlsocket, rb_w32_listen, rb_w32_recv,
rb_w32_recvfrom, rb_w32_send, rb_w32_sendto, rb_w32_setsockopt,
rb_w32_shutdown, rb_w32_socket, rb_w32_gethostbyaddr,
rb_w32_gethostbyname, rb_w32_gethostname, rb_w32_getprotobyname,
rb_w32_getprotobynumber, rb_w32_getservbyname, rb_w32_getservbyport,
rb_w32_fclose, rb_w32_close): use map_errno().
* win32/win32.h: add winsock errors.
Tue Aug 26 23:53:23 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* lib/ostruct.rb (OpenStruct::method_missing): prohibit modifying
frozen OpenStruct. [ruby-talk:80214]
Tue Aug 26 20:03:50 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* lib/mkmf.rb (create_tmpsrc): add the hook for source.
[ruby-list:38122]
Tue Aug 26 15:59:53 2003 why the lucky stiff <ruby-cvs@whytheluckystiff.net>
* implicit.c (syck_type_id_to_taguri): corrected detection of
x-private types.
Sun Aug 24 01:02:48 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* file.c (file_expand_path): performance improvement.
[ruby-talk:79748]
Sat Aug 23 23:41:16 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* file.c (rb_file_s_expand_path): avoid calling rb_scan_args() for
apparent cases. [ruby-talk:79748]
Sat Aug 23 18:56:53 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/nkf/nkf.c (rb_nkf_putchar): should use rb_str_resize() to just
resize a string, rb_str_cat() disallows NULL. [ruby-dev:21237]
Sat Aug 23 16:48:41 2003 Keiju Ishitsuka <keiju@ishitsuka.com>
* lib/irb/ruby-lex.rb: bug fix for "foo" !~ /bar/. [ruby-talk:79942]
Sat Aug 23 15:59:58 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* eval.c (rb_eval, rb_iterate, block_pass): reduce PUSH/POP_TAG and
EXEC_TAG() for retry. [ruby-dev:21216]
Sat Aug 23 02:32:33 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* eval.c (rb_yield_splat): should check if "values" is array.
* enum.c (each_with_index_i): typo.
Fri Aug 22 17:07:05 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* enum.c (inject_i): use rb_yield_values.
* enum.c (each_with_index_i): ditto.
* eval.c (rb_yield_splat): new function to call "yield *values".
* string.c (rb_str_scan): use rb_yield_splat().
Fri Aug 22 06:13:22 2003 why the lucky stiff <ruby-cvs@whytheluckystiff.net>
* ext/syck/rubyext.c: refactoring of the transfer method
dispatch. added yaml_org_handler for faster dispatch of
transfers to base types.
* lib/yaml/rubytypes.rb: removed handling of builtins from
Ruby library.
* ext/syck/token.c: quoted and block scalars are now implicit !str
* ext/syck/implicit.c: empty string detected as !null.
Fri Aug 22 01:00:31 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* eval.c (block_pass): improve passing current block.
Tue Aug 21 00:13:00 2003 Shigeo Kobayashi <shigek@ruby-lang.org>
* ext/bigdecimal/bigdecimal.c: Int. overflow bug in multiplication
fixed, and VpNmlz() speed up.
Wed Aug 20 16:44:49 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/socket/socket.c (ruby_connect): many systems seem to have
a problem in select() after EINPROGRESS. [ruby-list:38080]
Wed Aug 20 01:31:17 2003 why the lucky stiff <ruby-cvs@whytheluckystiff.net>
* ext/syck/syck.h: Parser definition problems on HP-UX.
[ruby-talk:79389]
* ext/syck/handler.c (syck_hdlr_get_anchor): Memory leak.
* ext/syck/syck.s (syck_io_file_read): Bad arguments to fread.
* ext/syck/rubyext.c: Tainting issues.
Tue Aug 19 23:20:00 2003 Shigeo Kobayashi <shigek@ruby-lang.org>
* ext/bigdecimal/bigdecimal.c .h .html: to_s("+") implemented.
* ext/bigdecimal/lib/bigdecimal/math.rb: E implemented.
Tue Aug 19 07:47:09 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
* lib/webrick/ssl.rb: new file; SSL/TLS enhancement for GenericServer.
* lib/webrick/https.rb: SSLSocket handling is moved to webrick/ssl.rb.
* lib/webrick/compat.rb (File::fnmatch): remove old migration code.
* lib/webrick/httpserver.rb (HTTPServer#run): ditto.
* lib/webrick/server.rb (GenericServer#listen): the body of this
method is pull out as Utils::create_lisnteners.
* lib/webrick/utils.rb (Utils::create_lisnteners): new method.
* lib/webrick/server.rb (GenericServer#start): should rescue
unknown errors. and refine comments.
* ext/openssl/lib/openssl/ssl.rb (SSLServer#accept): should close
socket if SSLSocket raises error.
Tue Aug 19 11:19:33 2003 Shugo Maeda <shugo@ruby-lang.org>
* io.c (next_argv): should not call GetOpenFile() if rb_stdout is
not a IO (T_FILE).
Tue Aug 19 07:47:09 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
* ext/openssl/ossl_ssl.c: sync_close is moved to SSLSocket as
a builtin.
* ext/openssl/lib/openssl/buffering.rb (Buffering#close): ditto.
* ext/openssl/lib/openssl/buffering.rb (Buffering#puts): should
add a return to the tails of each line.
* ext/openssl/lib/openssl/ssl.rb: new class OpenSSL::SSL::SSLServer.
* ext/openssl/lib/net/protocols.rb (SSLIO#ssl_connect): use sync_close.
* ext/openssl/sample/echo_svr.rb: use SSLServer.
* ext/openssl/sample/echo_cli.rb: add example of SSLSocket#sync_close.
Tue Aug 19 01:24:34 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/curses/curses.c (_XOPEN_SOURCE_EXTENDED): Mac OS X standard
headers are inconsistent at this macro. [ruby-core:01432]
* ext/curses/extconf.rb: check if _XOPEN_SOURCE_EXTENDED breaks.
* ext/tcltklib/stubs.c: Status macro in X11/Xthreads.h bothers
winspool.h
* instruby.rb: make list at first instead of iterator.
[ruby-talk:79347]
Mon Aug 18 11:23:11 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* dir.c (glob_helper): preserve raw order for **.
Sun Aug 17 23:39:55 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/openssl/extconf.rb (HAVE_VA_ARGS_MACRO): need to compile.
Sun Aug 17 17:10:03 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
* ext/openssl/lib/openssl/ssl.rb (SSLSocket#sync_close=): add a
method to specify if the underlying IO will be closed in
SSLSocket#close.
* ext/openssl/lib/openssl/buffering.rb: add forwarders to
setsockopt, getsockopt and fcntl.
* ext/openssl/lib/net/protocols.rb: enable sync for SSLSocket.
Sun Aug 17 11:32:04 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/extmk.rb (extmake): should not force to remake Makefile when
installation and so on.
Sat Aug 16 23:58:18 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* marshal.c (w_symbol, w_object): get rid of warnings.
* re.c (rb_memsearch): ditto.
* time.c (time_dump): ditto.
* ext/extmk.rb (extmake): not continue making when extconf.rb
failed.
* ext/openssl/extconf.rb: check __VA_ARGS__ macro more precisely.
* ext/openssl/ossl.h: remove version.h dependency.
* ext/openssl/ruby_missing.h: ditto.
* lib/mkmf.rb (pkg_config): use --libs output except with
only-L for other options. [ruby-list:38099]
* lib/mkmf.rb (create_makefile): separate rule for static
library from shared object.
* win32/Makefile.sub, bcc32/Makefile.sub, wince/Makefile.sub:
define exec_prefix and libdir.
Fri Aug 15 23:15:00 2003 Shigeo Kobayashi <shigek@ruby-lang.org>
* ext/bigdecimal/bigdecimal.c .h: Bug in combination of limit & div
method fixed.
* ext/bigdecimal/lib/bigdecimal/math.rb: atan() & sqrt() added.
Fri Aug 15 12:01:43 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* configure.in (HUGE_ST_INO): check whether struct stat.st_ino
is larger than long. [ruby-dev:21194]
http://www.geocities.co.jp/SiliconValley-PaloAlto/1409/ruby/beos.html
* error.c (syserr_eqq): errno might exceed Fixnum limit.
* error.c (Init_Exception): moved base initialization from
init_syserr().
* inits.c (rb_call_inits): postpone initializing errnos until
Bignum is available.
Fri Aug 15 12:01:43 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/curses/curses.c (_XOPEN_SOURCE_EXTENDED): needed to let
keyname() and so on be declared.
* ext/curses/curses.c (curses_resizeterm, window_resize):
arguments conflicted with macros in term.h.
* ext/curses/curses.c (Curses module methods): ensure
initialized. [ruby-dev:21191]
Fri Aug 15 02:08:53 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* gc.c (id2ref): recycle check should be done by klass == 0.
[ruby-core:01408]
Fri Aug 15 01:34:23 2003 Michal Rokos <m.rokos@sh.cvut.cz>
* ext/openssl/ossl_pkey.c: move generate_cb here
* ext/openssl/ossl_pkey_{dh|dsa|rsa}.c: adapt to this cb
* ext/openssl/openssl_missing.[ch]: add (0.9.6x, x<j) missing BN funcs
* ext/openssl/ossl_bn.c: use supplied funcs from openssl_missing.c
Fri Aug 15 00:38:00 2003 Shigeo Kobayashi <shigek@ruby-lang.org>
* ext/bigdecimal/bigdecimal.c: Bug in div method fixed.
* ext/bigdecimal/lib/bigdecimal/math.rb: Newly added.
* ext/bigdecimal/sample/pi.rb: Changed so as to use math.rb.
Thu Aug 14 21:19:14 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* eval.c (Init_Thread): Continuation#[] added. [ruby-talk:79028]
Thu Aug 14 20:03:34 2003 Masaki Suketa <masaki.suketa@nifty.ne.jp>
* ext/win32ole/win32ole.c (OLE_FREE): should not call
ole_message_loop.
* ext/win32ole/win32ole.c (ole_event_free): ditto.
* ext/win32ole/win32ole.c (ole_initialize): stop calling
OleUninitialize at exit.
Thu Aug 14 11:27:37 2003 NAKAMURA Usaku <usa@ruby-lang.org>
* gc.c (rb_data_object_alloc): check type of 1st argument.
[ruby-dev:21192]
Thu Aug 14 00:21:14 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* parse.y (mlhs_node): should allow "::Foo" (colon3) as lhs.
* parse.y (lhs): ditto.
* parse.y (yylex): should return tCOLON3 right after kCLASS.
[ruby-talk:78918]
* error.c (exc_initialize): was converting argument to string too
eagerly. Only check was needed. [ruby-talk:78958]
Wed Aug 13 23:31:00 2003 Shigeo Kobayashi <shigek@ruby-lang.org>
* ext/bigdecimal/bigdecimal.c .h .html: Ambiguity of
BigDecimal::limit removed.
Wed Aug 13 19:21:34 2003 Christian Neukirchen <chneukirchen@yahoo.de>
* lib/webrick/https.rb (HTTPServer#run): should set syncing-mode
to SSLSocket. [ruby-talk:78919]
Wed Aug 13 18:13:49 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* eval.c (POP_BLOCK): turn on BLOCK_LEFT flag when leaving block.
* eval.c (proc_invoke): unpack return/break destination when block
is already left.
Wed Aug 13 15:58:31 2003 WATANABE Hirofumi <eban@ruby-lang.org>
* object.c (rb_class_s_alloc): add function prototype to avoid VC++
warning.
Wed Aug 13 13:50:59 2003 NAKAMURA Usaku <usa@ruby-lang.org>
* ext/Win32API/Win32API.c (Win32API_initialize): should pass some
class to first argument of Data_Wrap_Struct(). (ruby-bugs PR#1109)
Tue Aug 12 16:55:11 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* Makefile.in: static link libraries to LIBRUBY_SO with static linked
ext. [ruby-dev:21157]
* ext/extmk.rb (extmake): sort extension library initialization order.
* ext/extmk.rb (extmake): compact $extlibs.
Tue Aug 12 02:48:56 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* eval.c (THREAD_SAVE_CONTEXT): should explicitly turn off the
flag before calling getcontext(2).
* eval.c (struct thread): add member to save backing store on
IA64. (ruby-bugs PR1086)
* eval.c (thread_mark): mark IA64 backing store region.
* eval.c (thread_free): free saved IA64 backing store.
* eval.c (rb_thread_save_context): save IA64 backing store as well.
* eval.c (rb_thread_restore_context): restore IA64 backing store.
* eval.c (THREAD_ALLOC): initialize IA64 members.
Mon Aug 11 22:31:50 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
* lib/debug.rb(debug_command): inspection command should inspect
resulting value even if it's nil. [ruby-dev:21180] by OMAE, jun
<jun66j5@ybb.ne.jp>.
* lib/debug.rb(debug_command): incomplete regexp.
Mon Aug 11 17:33:07 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* eval.c (rb_call_super): do not use rb_block_given_p() for
check. [ruby-talk:78656]
* eval.c (BEGIN_CALLARGS): push ITER_NOT only when ITER_PRE.
Sun Aug 10 10:43:05 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
* ext/openssl/lib/openssl/buffering.rb: increase BLOCK_SIZE
from 1k to 16k bytes. [ruby-talk:78603]
* ext/openssl/ossl_ssl.c (ossl_sslctx_s_alloc): enable
partial write to allow interruption in SSLSocket#write.
Sun Aug 10 00:34:16 2003 WATANABE Hirofumi <eban@ruby-lang.org>
* cygwin/GNUmakefile: remove unnecessary '--drive-name=$(CC)'
for ccache.
Sat Aug 9 10:36:21 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* marshal.c (w_object): do not dump generic instance variable when
marshal_dump is defined.
Sat Aug 9 00:35:00 2003 Shigeo Kobayashi <shigek@ruby-lang.org>
* ext/bigdecimal.c: F style output(like 1234.56789) implemented
to to_s method.
* ext/bigdecimal_??.html: F style output(like 1234.56789)
implemented to to_s method.
Fri Aug 8 12:33:17 2003 WATANABE Hirofumi <eban@ruby-lang.org>
* bcc32/Makefile.sub: rubyw.exe should be a Windows GUI program.
add the -aa option to WLDFLAGS.
Fri Aug 8 11:29:26 2003 Koji Arai <jca02266@nifty.ne.jp>
* marshal.c (w_object): should set `c_arg' at first.
Fri Aug 8 03:22:28 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
* lib/webrick/httputils.rb (FormData#list): should not take
a side effect for the receiver.
Thu Aug 7 14:40:37 2003 WATANABE Hirofumi <eban@ruby-lang.org>
* cygwin/GNUmakefile: better --disbale-shared option support.
* cygwin/GNUmakefile: add forwarding DLL target for cygwin.
Thu Aug 7 14:21:05 2003 Corinna Vinschen <vinschen@redhat.com>
* configure.in: Fix Cygwin specific naming of libraries to
be net distribution compliant. (ruby-bugs PR#1077)
cygwin-ruby18.dll -> cygruby18.dll
Thu Aug 7 12:51:38 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* eval.c (rb_f_at_exit): should not be called without a block.
block_given check added.
Thu Aug 7 06:46:06 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* eval.c (rb_call0): forgot to pop ruby_class.
* eval.c (rb_call0): update ruby_class as well as ruby_cref.
(ruby-bugs-ja PR#540)
Thu Aug 7 04:52:50 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* eval.c (rb_yield_0): remove ruby_frame->cbase and unify to
ruby_cref. [ruby-talk:78141]
Thu Aug 7 04:19:15 2003 Akinori MUSHA <knu@iDaemons.org>
* gc.c: FreeBSD/ia64's mcontext_t is a bit different from that of
Linux/ia64. This makes gc.c compile but miniruby coredumps for
the moment.
Wed Aug 7 00:15:00 2003 Shigeo Kobayashi <shigek@ruby-lang.org>
* ext/bigdecimal.c: Comparison results adjusted to Float's.
* ext/bigdecimal.c: Use rb_num_coerce_????(x,y) instead of own.
Wed Aug 6 22:58:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
* lib/test/unit/testcase.rb: Added equality checking.
* lib/test/unit/testsuite.rb: Added equality checking.
* lib/test/unit/assertions.rb: Fixed a warning.
Wed Aug 6 17:28:10 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/extmk.rb (extmake): pass LIBPATH to make ruby. [ruby-dev:21137]
* ext/extmk.rb (extmake): set library name as source file name in
Init_ext(). [ruby-dev:21137]
* lib/mkmf.rb (Logging::postpone): postpone logging messages after
heading message as the result of the block.
* lib/mkmf.rb (macro_defined?): append newline to src unless ended
with it.
* lib/mkmf.rb (have_library): treat nil function name as "main".
(ruby-bugs:PR#1083)
* lib/mkmf.rb (pkg_config): should append additional libraries to
$libs but not $LIBS. [ruby-dev:21137]
* ext/io/wait/extconf.rb: check DOSISH macro instead of platform.
* ext/digest/sha1/extconf.rb: have_library already appends library
name.
Wed Aug 6 17:23:57 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* eval.c: initialize /* OK */ variables by Qnil to stop warnings.
Wed Aug 6 04:58:32 2003 NAKAMURA Usaku <usa@ruby-lang.org>
* ext/Setup*: add io/wait and openssl.
Wed Aug 6 01:13:38 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* eval.c (rb_f_autoload): use ruby_cbase instead of ruby_class.
* eval.c (rb_f_autoload_p): ditto.
* class.c (rb_mod_init_copy): no longer implements independent
clone and dup methods. override "initialize_copy" instead.
[ruby-core:01352]
* object.c (rb_class_s_alloc): define Class allocation function.
this makes Classes to follow clone framework that uses
initialize_copy.
* object.c (rb_class_initialize): separate instantiation and
initialization.
* object.c (rb_obj_alloc): prohibit instantiation from
uninitialized class.
* object.c (rb_class_superclass): check uninitialized class.
* array.c (rb_ary_fill): wrong index processing with block. this
fix was done by Koji Arai <JCA02266@nifty.ne.jp> [ruby-list:38029]
* marshal.c (w_object): should preserve generic ivar for nil,
true, false, symbols, and fixnums.
* marshal.c (w_uclass): base_klass check should be done after
rb_class_real().
Wed Aug 6 01:18:50 2003 Minero Aoki <aamine@loveruby.net>
* lib/net/http.rb: update document.
* lib/net/pop.rb: ditto.
* lib/net/protocol.rb: ditto.
Wed Aug 6 00:48:37 2003 Koji Arai <jca02266@nifty.ne.jp>
* marshal.c (w_object): should recommend marshal_dump rather than
_dump_data.
Tue Aug 5 17:58:57 2003 WATANABE Hirofumi <eban@ruby-lang.org>
* lib/fileutils.rb (install): should preserve timestamp only.
Tue Aug 5 17:31:59 2003 Ian Macdonald <ian@caliban.org>
* lib/shell/command-processor.rb (Shell::CommandProcessor::rmdir):
simple typo.
Tue Aug 5 15:47:34 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* eval.c (rb_load): should preserve current source file/line.
Tue Aug 5 10:04:42 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* string.c (str_new4): ptr may refer null_str.
Mon Aug 4 17:25:18 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* stable version 1.8.0 released.
For the changes before 1.8.0, see doc/ChangeLog-1.8.0
Local variables:
add-log-time-format: (lambda ()
(let* ((time (current-time))
(diff (+ (cadr time) 32400))
(lo (% diff 65536))
(hi (+ (car time) (/ diff 65536))))
(format-time-string "%a %b %e %H:%M:%S %Y" (list hi lo) t)))
indent-tabs-mode: t
tab-width: 8
end: