Bug #5919

File singleton methods (expand_path, realpath, dirname, basename, extname) should respect encodings

Added by Nobuyoshi Nakada over 3 years ago. Updated over 3 years ago.

[ruby-dev:45145]
Status:Closed
Priority:Normal
Assignee:Yui NARUSE
ruby -v:ruby 2.0.0dev (2012-01-20 trunk 34347) [i386-mingw32] Backport:

Description

パス名を扱うFileの特異メソッドで引数のパスのエンコーディングが無視されています。

file_encoding.diff Magnifier (32 KB) Nobuyoshi Nakada, 01/21/2012 12:04 PM


Related issues

Related to Ruby trunk - Bug #2154: filesystem encoding of UNIX Assigned 09/28/2009
Duplicated by Backport193 - Backport #6681: migw32 で utf-8 のスクリプトで「版」で終わるディレクトリの File.basename Closed 07/01/2012

Associated revisions

Revision 34372
Added by Nobuyoshi Nakada over 3 years ago

  • file.c (rb_enc_path_next, rb_enc_path_skip_prefix) (rb_enc_path_last_separator, rb_enc_path_end) (ruby_enc_find_basename, ruby_enc_find_extname): encoding-aware path handling functions.
  • file.c (rb_home_dir, file_expand_path, rb_realpath_internal) (rb_file_s_basename, rb_file_dirname, rb_file_s_extname) (rb_file_join): should respect the encodings of arguments than file system encoding. [Bug #5919]
  • dir.c (check_dirname, ruby_glob0): ditto.
  • ext/pathname/pathname.c (path_sub_ext): ditto.

Revision 34372
Added by Nobuyoshi Nakada over 3 years ago

  • file.c (rb_enc_path_next, rb_enc_path_skip_prefix) (rb_enc_path_last_separator, rb_enc_path_end) (ruby_enc_find_basename, ruby_enc_find_extname): encoding-aware path handling functions.
  • file.c (rb_home_dir, file_expand_path, rb_realpath_internal) (rb_file_s_basename, rb_file_dirname, rb_file_s_extname) (rb_file_join): should respect the encodings of arguments than file system encoding. [Bug #5919]
  • dir.c (check_dirname, ruby_glob0): ditto.
  • ext/pathname/pathname.c (path_sub_ext): ditto.

History

#1 Updated by Nobuyoshi Nakada over 3 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

This issue was solved with changeset r34372.
Nobuyoshi, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


  • file.c (rb_enc_path_next, rb_enc_path_skip_prefix) (rb_enc_path_last_separator, rb_enc_path_end) (ruby_enc_find_basename, ruby_enc_find_extname): encoding-aware path handling functions.
  • file.c (rb_home_dir, file_expand_path, rb_realpath_internal) (rb_file_s_basename, rb_file_dirname, rb_file_s_extname) (rb_file_join): should respect the encodings of arguments than file system encoding. [Bug #5919]
  • dir.c (check_dirname, ruby_glob0): ditto.
  • ext/pathname/pathname.c (path_sub_ext): ditto.

Also available in: Atom PDF