curses 1.4.0 → 1.4.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ab24f57e39b3e38b5b9833d34f9bf5d6c2d55337f59693c628e30aa1f4f7324e
4
- data.tar.gz: a91a892d3c975670cccda3d99a5d7b7a9b0ff8e708aedaf87a2d57cc505d6338
3
+ metadata.gz: 857d0a003f909b9e148855feb1d7b5eca2487aab1d22c544e0fdf560a92293b5
4
+ data.tar.gz: 49329a8c35c0e157c5cba591eb317bf9acf2672af16c8e826aa22ab0ada59cda
5
5
  SHA512:
6
- metadata.gz: eff7ca406eeb081d6dcac3fe394e44577fdfdfa41428ecfb2068fd7de5288204df78081ff1e5bc41f5594c43194e8b20797ae6361cf7ffa028faf7301b085dd9
7
- data.tar.gz: d06b2e6d23e5eaac2b5c42cc9b433ef6e5ea25961e28dbe760d51b3fee5aadb2d5f68e76e1a7b1b066ecbcdc129b079c00e7e8427d7e31f4fe65950239eae9b5
6
+ metadata.gz: 7330fdebb60f3871c10d74685ea5c7ed0194ba7630d0def5cd65de72a3e32e48df343b290ed7e718a116eae1eeab52b5f32d58a4e16e64db6210da9fea19d99e
7
+ data.tar.gz: 77d3c8bcc7183642917311d0cbde1d14f55771b133adb2b7953a052a02672053a5bdc3dd0fc0ab78963383d1e114c9b4534df643be05cb17c2adfdcfca8d7c1a
@@ -7,19 +7,16 @@ jobs:
7
7
  runs-on: windows-latest
8
8
  strategy:
9
9
  matrix:
10
- ruby: [ '2.7.x', '2.6.x', '2.5.x' ]
10
+ ruby: [ 'mingw', 'mswin', '2.7', '2.6', '2.5' ]
11
11
  steps:
12
12
  - uses: actions/checkout@v2
13
13
  with:
14
14
  submodules: true
15
15
  - name: Set up Ruby
16
- uses: actions/setup-ruby@v1
16
+ uses: ruby/setup-ruby@v1
17
17
  with:
18
18
  ruby-version: ${{ matrix.ruby }}
19
- - name: Install dependencies
20
- run: |
21
- gem install bundler --no-document
22
- bundle install
19
+ bundler-cache: true
23
20
  - name: Build package
24
21
  run: bundle exec rake build
25
22
  - name: Install package
data/History.md CHANGED
@@ -1,3 +1,10 @@
1
+ ### 1.4.1 / 2021-05-22
2
+
3
+ Bug fixes:
4
+
5
+ * Use chtype instead of char to support attributes
6
+ * Fixes for Ruby 3.1.
7
+
1
8
  ### 1.4.0 / 2020-12-10
2
9
 
3
10
  New features:
data/README.md CHANGED
@@ -1,8 +1,9 @@
1
1
  # curses
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/curses.svg)](https://badge.fury.io/rb/curses)
4
- [![Build Status](https://travis-ci.org/ruby/curses.svg?branch=master)](https://travis-ci.org/ruby/curses)
5
- [![Build status](https://ci.appveyor.com/api/projects/status/kdvksgjo4fyd3c4m/branch/master?svg=true)](https://ci.appveyor.com/project/ruby/curses/branch/master)
4
+ [![ubuntu](https://github.com/ruby/curses/workflows/ubuntu/badge.svg)](https://github.com/ruby/curses/actions?query=workflow%3Aubuntu)
5
+ [![windows](https://github.com/ruby/curses/workflows/windows/badge.svg)](https://github.com/ruby/curses/actions?query=workflow%3Awindows)
6
+ [![macos](https://github.com/ruby/curses/workflows/macos/badge.svg)](https://github.com/ruby/curses/actions?query=workflow%3Amacos)
6
7
 
7
8
  * https://github.com/ruby/curses
8
9
  * https://github.com/ruby/curses/issues
@@ -28,8 +29,13 @@ Or
28
29
 
29
30
  $ apt install libncursesw5-dev
30
31
 
31
- On mingw, `gem install curses` will install pre-built PDCurses, so you
32
+ On Windows, `gem install curses` will build bundled PDCurses, so you
32
33
  don't need to install extra libraries.
34
+ However, if you prefer ncurses to PDCurses, specify the following option:
35
+
36
+ > gem install curses -- --use-system-libraries
37
+
38
+ On mingw, you need DevKit to compile the extension library.
33
39
 
34
40
  ## Documentation
35
41
 
@@ -42,57 +48,16 @@ After checking out the repo, run `bundle install` to install dependencies.
42
48
  To compile the extension library, run `bundle exec rake compile`.
43
49
 
44
50
  To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `curses.gemspec`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
45
-
46
- ### Cross compilation for Windows on Debian GNU/Linux based platforms
47
-
48
- 1. Install development environment fo 32- and 64-bit Windows.
49
-
50
- ```
51
- $ sudo apt-get install mingw-w64
52
- ```
53
-
54
- 2. Install rake-compiler.
55
-
56
- ```
57
- $ gem install rake-compiler
58
- ```
59
-
60
- 3. Compile multiple versions of Ruby.
61
-
62
- ```
63
- $ rake-compiler cross-ruby HOST=i686-w64-mingw32 VERSION=2.2.6
64
- $ rake-compiler cross-ruby HOST=i686-w64-mingw32 VERSION=2.3.3
65
- $ rake-compiler cross-ruby HOST=i686-w64-mingw32 VERSION=2.4.0
66
- $ rake-compiler cross-ruby HOST=x86_64-w64-mingw32 VERSION=2.2.6
67
- $ rake-compiler cross-ruby HOST=x86_64-w64-mingw32 VERSION=2.3.3
68
- $ rake-compiler cross-ruby HOST=x86_64-w64-mingw32 VERSION=2.4.0
69
- ```
70
-
71
- 3. Compile PDCurses.
72
-
73
- ```
74
- $ rake build:pdcurses
75
- ```
76
-
77
- 5. Compile curses.gem.
78
-
79
- ```
80
- $ rake RUBY_CC_VERSION=2.3.3:2.4.0 cross clean compile native gem
81
- ```
82
-
83
- Binary gems are generated in pkg/.
84
-
85
51
  ## License
86
52
 
87
53
  curses is released under the Ruby and 2-clause BSD licenses. See COPYING for
88
54
  details.
89
55
 
90
- Binary gems for mingw32 include a forked version of PDCurses, which is in
91
- the public domain:
56
+ It includes a forked version of PDCurses, which is in the public domain:
92
57
 
93
58
  https://github.com/Bill-Gray/PDCurses
94
59
 
95
- The version for Win32 console mode in the win32 subdirectory is used.
60
+ The version for Win32 console mode in the wincon subdirectory is used.
96
61
 
97
62
  [1]: https://bugs.ruby-lang.org/issues/8584
98
63
  [2]: https://github.com/ruby/ruby/commit/9c5b2fd8aa0fd343ad094d47a638cfd3f6ae0a81
data/curses.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new { |s|
2
2
  s.name = "curses"
3
- s.version = "1.4.0"
3
+ s.version = "1.4.1"
4
4
  s.author = ["Shugo Maeda", 'Eric Hodel']
5
5
  s.email = ["shugo@ruby-lang.org", 'drbrain@segment7.net']
6
6
  s.homepage = "https://github.com/ruby/curses"
data/ext/curses/curses.c CHANGED
@@ -82,8 +82,19 @@
82
82
  # define USE_MOUSE 1
83
83
  #endif
84
84
 
85
- #define NUM2CH NUM2CHR
86
- #define CH2FIX CHR2FIX
85
+ #define OBJ2CHTYPE rb_obj2chtype_inline
86
+
87
+ static inline chtype
88
+ rb_obj2chtype_inline(VALUE x)
89
+ {
90
+ if (RB_TYPE_P(x, RUBY_T_STRING)) {
91
+ ID id_ord;
92
+
93
+ CONST_ID(id_ord, "ord");
94
+ x = rb_funcall(x, id_ord, 0);
95
+ }
96
+ return NUM2CHTYPE(x);
97
+ }
87
98
 
88
99
  static VALUE mCurses;
89
100
  static VALUE mKey;
@@ -291,7 +302,7 @@ static void curses_finalize(VALUE);
291
302
  * see also Curses.stdscr
292
303
  */
293
304
  static VALUE
294
- curses_init_screen(void)
305
+ curses_init_screen(VALUE self)
295
306
  {
296
307
  if (rb_stdscr) return rb_stdscr;
297
308
  initscr();
@@ -314,7 +325,7 @@ curses_init_screen(void)
314
325
  *
315
326
  * Many curses functions use this window.
316
327
  */
317
- #define curses_stdscr curses_init_screen
328
+ #define curses_stdscr() curses_init_screen(Qnil)
318
329
 
319
330
  /*
320
331
  * Document-method: Curses.close_screen
@@ -330,7 +341,7 @@ curses_init_screen(void)
330
341
  *
331
342
  */
332
343
  static VALUE
333
- curses_close_screen(void)
344
+ curses_close_screen(VALUE self)
334
345
  {
335
346
  curses_stdscr();
336
347
  #ifdef HAVE_ISENDWIN
@@ -370,7 +381,7 @@ curses_finalize(VALUE dummy)
370
381
  * returns +false+ otherwise.
371
382
  */
372
383
  static VALUE
373
- curses_closed(void)
384
+ curses_closed(VALUE self)
374
385
  {
375
386
  curses_stdscr();
376
387
  if (isendwin()) {
@@ -420,7 +431,7 @@ curses_erase(VALUE obj)
420
431
  * Clears to the end of line, that the cursor is currently on.
421
432
  */
422
433
  static VALUE
423
- curses_clrtoeol(void)
434
+ curses_clrtoeol(VALUE self)
424
435
  {
425
436
  curses_stdscr();
426
437
  clrtoeol();
@@ -747,7 +758,7 @@ static VALUE
747
758
  curses_inch(VALUE obj)
748
759
  {
749
760
  curses_stdscr();
750
- return CH2FIX(inch());
761
+ return CHTYPE2NUM(inch());
751
762
  }
752
763
 
753
764
  /*
@@ -762,7 +773,7 @@ static VALUE
762
773
  curses_addch(VALUE obj, VALUE ch)
763
774
  {
764
775
  curses_stdscr();
765
- addch(NUM2CH(ch));
776
+ addch(OBJ2CHTYPE(ch));
766
777
  return Qnil;
767
778
  }
768
779
 
@@ -777,7 +788,7 @@ static VALUE
777
788
  curses_insch(VALUE obj, VALUE ch)
778
789
  {
779
790
  curses_stdscr();
780
- insch(NUM2CH(ch));
791
+ insch(OBJ2CHTYPE(ch));
781
792
  return Qnil;
782
793
  }
783
794
 
@@ -949,7 +960,7 @@ curses_keyname(VALUE obj, VALUE c)
949
960
  * Returns the number of lines on the screen
950
961
  */
951
962
  static VALUE
952
- curses_lines(void)
963
+ curses_lines(VALUE self)
953
964
  {
954
965
  return INT2FIX(LINES);
955
966
  }
@@ -960,7 +971,7 @@ curses_lines(void)
960
971
  * Returns the number of columns on the screen
961
972
  */
962
973
  static VALUE
963
- curses_cols(void)
974
+ curses_cols(VALUE self)
964
975
  {
965
976
  return INT2FIX(COLS);
966
977
  }
@@ -1106,7 +1117,7 @@ curses_bkgdset(VALUE obj, VALUE ch)
1106
1117
  {
1107
1118
  #ifdef HAVE_BKGDSET
1108
1119
  curses_stdscr();
1109
- bkgdset(NUM2CHTYPE(ch));
1120
+ bkgdset(OBJ2CHTYPE(ch));
1110
1121
  #endif
1111
1122
  return Qnil;
1112
1123
  }
@@ -1127,7 +1138,7 @@ curses_bkgd(VALUE obj, VALUE ch)
1127
1138
  {
1128
1139
  #ifdef HAVE_BKGD
1129
1140
  curses_stdscr();
1130
- return (bkgd(NUM2CHTYPE(ch)) == OK) ? Qtrue : Qfalse;
1141
+ return (bkgd(OBJ2CHTYPE(ch)) == OK) ? Qtrue : Qfalse;
1131
1142
  #else
1132
1143
  return Qfalse;
1133
1144
  #endif
@@ -1548,7 +1559,7 @@ static VALUE
1548
1559
  curses_mousemask(VALUE obj, VALUE mask)
1549
1560
  {
1550
1561
  curses_stdscr();
1551
- return INT2NUM(mousemask(NUM2UINT(mask),NULL));
1562
+ return ULONG2NUM(mousemask(NUM2UINT(mask),NULL));
1552
1563
  }
1553
1564
 
1554
1565
  #define DEFINE_MOUSE_GET_MEMBER(func_name,mem) \
@@ -1589,7 +1600,12 @@ DEFINE_MOUSE_GET_MEMBER(curs_mouse_z, z)
1589
1600
  * Returns the current mouse's button state. Use this with the button state
1590
1601
  * constants to determine which buttons were pressed.
1591
1602
  */
1592
- DEFINE_MOUSE_GET_MEMBER(curs_mouse_bstate, bstate)
1603
+ static VALUE curs_mouse_bstate(VALUE mouse)
1604
+ {
1605
+ struct mousedata *mdata;
1606
+ GetMOUSE(mouse, mdata);
1607
+ return ULONG2NUM(mdata->mevent->bstate);
1608
+ }
1593
1609
  #undef define_curs_mouse_member
1594
1610
  #endif /* USE_MOUSE */
1595
1611
 
@@ -1681,7 +1697,7 @@ window_initialize(VALUE obj, VALUE h, VALUE w, VALUE top, VALUE left)
1681
1697
  struct windata *winp;
1682
1698
  WINDOW *window;
1683
1699
 
1684
- curses_init_screen();
1700
+ curses_init_screen(Qnil);
1685
1701
  TypedData_Get_Struct(obj, struct windata, &windata_type, winp);
1686
1702
  if (winp->window) delwin(winp->window);
1687
1703
  window = newwin(NUM2INT(h), NUM2INT(w), NUM2INT(top), NUM2INT(left));
@@ -2178,7 +2194,7 @@ window_begx(VALUE obj)
2178
2194
 
2179
2195
  /*
2180
2196
  * Document-method: Curses::Window.box
2181
- * call-seq: box(vert, hor)
2197
+ * call-seq: box(vert = nil, hor = nil, corn = nil)
2182
2198
  *
2183
2199
  * set the characters to frame the window in.
2184
2200
  * The vertical +vert+ and horizontal +hor+ character.
@@ -2193,16 +2209,18 @@ window_box(int argc, VALUE *argv, VALUE self)
2193
2209
  struct windata *winp;
2194
2210
  VALUE vert, hor, corn;
2195
2211
 
2196
- rb_scan_args(argc, argv, "21", &vert, &hor, &corn);
2212
+ rb_scan_args(argc, argv, "03", &vert, &hor, &corn);
2197
2213
 
2198
2214
  GetWINDOW(self, winp);
2199
- box(winp->window, NUM2CH(vert), NUM2CH(hor));
2215
+ box(winp->window,
2216
+ NIL_P(vert) ? 0 : OBJ2CHTYPE(vert),
2217
+ NIL_P(hor) ? 0 : OBJ2CHTYPE(hor));
2200
2218
 
2201
2219
  if (!NIL_P(corn)) {
2202
2220
  int cur_x, cur_y, x, y;
2203
2221
  chtype c;
2204
2222
 
2205
- c = NUM2CH(corn);
2223
+ c = OBJ2CHTYPE(corn);
2206
2224
  getyx(winp->window, cur_y, cur_x);
2207
2225
  x = NUM2INT(window_maxx(self)) - 1;
2208
2226
  y = NUM2INT(window_maxy(self)) - 1;
@@ -2269,7 +2287,7 @@ window_inch(VALUE obj)
2269
2287
  struct windata *winp;
2270
2288
 
2271
2289
  GetWINDOW(obj, winp);
2272
- return CH2FIX(winch(winp->window));
2290
+ return CHTYPE2NUM(winch(winp->window));
2273
2291
  }
2274
2292
 
2275
2293
  /*
@@ -2286,7 +2304,7 @@ window_addch(VALUE obj, VALUE ch)
2286
2304
  struct windata *winp;
2287
2305
 
2288
2306
  GetWINDOW(obj, winp);
2289
- waddch(winp->window, NUM2CH(ch));
2307
+ waddch(winp->window, OBJ2CHTYPE(ch));
2290
2308
 
2291
2309
  return Qnil;
2292
2310
  }
@@ -2304,7 +2322,7 @@ window_insch(VALUE obj, VALUE ch)
2304
2322
  struct windata *winp;
2305
2323
 
2306
2324
  GetWINDOW(obj, winp);
2307
- winsch(winp->window, NUM2CH(ch));
2325
+ winsch(winp->window, OBJ2CHTYPE(ch));
2308
2326
 
2309
2327
  return Qnil;
2310
2328
  }
@@ -2732,7 +2750,7 @@ window_bkgdset(VALUE obj, VALUE ch)
2732
2750
  struct windata *winp;
2733
2751
 
2734
2752
  GetWINDOW(obj,winp);
2735
- wbkgdset(winp->window, NUM2CHTYPE(ch));
2753
+ wbkgdset(winp->window, OBJ2CHTYPE(ch));
2736
2754
  #endif
2737
2755
  return Qnil;
2738
2756
  }
@@ -2753,7 +2771,7 @@ window_bkgd(VALUE obj, VALUE ch)
2753
2771
  struct windata *winp;
2754
2772
 
2755
2773
  GetWINDOW(obj,winp);
2756
- return (wbkgd(winp->window, NUM2CHTYPE(ch)) == OK) ? Qtrue : Qfalse;
2774
+ return (wbkgd(winp->window, OBJ2CHTYPE(ch)) == OK) ? Qtrue : Qfalse;
2757
2775
  #else
2758
2776
  return Qfalse;
2759
2777
  #endif
@@ -2921,7 +2939,7 @@ pad_initialize(VALUE obj, VALUE h, VALUE w)
2921
2939
  struct windata *padp;
2922
2940
  WINDOW *window;
2923
2941
 
2924
- curses_init_screen();
2942
+ curses_init_screen(Qnil);
2925
2943
  TypedData_Get_Struct(obj, struct windata, &windata_type, padp);
2926
2944
  if (padp->window) delwin(padp->window);
2927
2945
  window = newpad(NUM2INT(h), NUM2INT(w));
@@ -3092,7 +3110,7 @@ item_initialize(VALUE obj, VALUE name, VALUE description)
3092
3110
  {
3093
3111
  struct itemdata *itemp;
3094
3112
 
3095
- curses_init_screen();
3113
+ curses_init_screen(Qnil);
3096
3114
  TypedData_Get_Struct(obj, struct itemdata, &itemdata_type, itemp);
3097
3115
  if (itemp->item) {
3098
3116
  rb_raise(rb_eRuntimeError, "already initialized item");
@@ -3305,7 +3323,7 @@ menu_initialize(VALUE obj, VALUE items)
3305
3323
  ID id_new;
3306
3324
 
3307
3325
  Check_Type(items, T_ARRAY);
3308
- curses_init_screen();
3326
+ curses_init_screen(Qnil);
3309
3327
  TypedData_Get_Struct(obj, struct menudata, &menudata_type, menup);
3310
3328
  if (menup->menu) {
3311
3329
  rb_raise(rb_eRuntimeError, "already initialized menu");
@@ -3761,7 +3779,7 @@ field_initialize(VALUE obj, VALUE height, VALUE width,
3761
3779
  {
3762
3780
  struct fielddata *fieldp;
3763
3781
 
3764
- curses_init_screen();
3782
+ curses_init_screen(Qnil);
3765
3783
  TypedData_Get_Struct(obj, struct fielddata, &fielddata_type, fieldp);
3766
3784
  if (fieldp->field) {
3767
3785
  rb_raise(rb_eRuntimeError, "already initialized field");
@@ -4219,7 +4237,7 @@ form_initialize(VALUE obj, VALUE fields)
4219
4237
  int i;
4220
4238
 
4221
4239
  Check_Type(fields, T_ARRAY);
4222
- curses_init_screen();
4240
+ curses_init_screen(Qnil);
4223
4241
  TypedData_Get_Struct(obj, struct formdata, &formdata_type, formp);
4224
4242
  if (formp->form) {
4225
4243
  rb_raise(rb_eRuntimeError, "already initialized form");
@@ -4719,7 +4737,7 @@ Init_curses(void)
4719
4737
  rb_define_module_function(mCurses, "init_screen", curses_init_screen, 0);
4720
4738
  rb_define_module_function(mCurses, "close_screen", curses_close_screen, 0);
4721
4739
  rb_define_module_function(mCurses, "closed?", curses_closed, 0);
4722
- rb_define_module_function(mCurses, "stdscr", curses_stdscr, 0);
4740
+ rb_define_module_function(mCurses, "stdscr", curses_init_screen, 0);
4723
4741
  rb_define_module_function(mCurses, "refresh", curses_refresh, 0);
4724
4742
  rb_define_module_function(mCurses, "doupdate", curses_doupdate, 0);
4725
4743
  rb_define_module_function(mCurses, "clear", curses_clear, 0);
@@ -4859,7 +4877,7 @@ Init_curses(void)
4859
4877
  * win.close
4860
4878
  *
4861
4879
  */
4862
- cWindow = rb_define_class_under(mCurses, "Window", rb_cData);
4880
+ cWindow = rb_define_class_under(mCurses, "Window", rb_cObject);
4863
4881
  rb_define_alloc_func(cWindow, window_s_allocate);
4864
4882
  rb_define_method(cWindow, "initialize", window_initialize, 4);
4865
4883
  rb_define_method(cWindow, "subwin", window_subwin, 4);
@@ -4943,7 +4961,7 @@ Init_curses(void)
4943
4961
  #endif
4944
4962
 
4945
4963
  #ifdef HAVE_MENU
4946
- cItem = rb_define_class_under(mCurses, "Item", rb_cData);
4964
+ cItem = rb_define_class_under(mCurses, "Item", rb_cObject);
4947
4965
  rb_define_alloc_func(cItem, item_s_allocate);
4948
4966
  rb_define_method(cItem, "initialize", item_initialize, 2);
4949
4967
  rb_define_method(cItem, "==", item_eq, 1);
@@ -4954,7 +4972,7 @@ Init_curses(void)
4954
4972
  rb_define_method(cItem, "opts_off", item_opts_off_m, 1);
4955
4973
  rb_define_method(cItem, "opts", item_opts_m, 0);
4956
4974
 
4957
- cMenu = rb_define_class_under(mCurses, "Menu", rb_cData);
4975
+ cMenu = rb_define_class_under(mCurses, "Menu", rb_cObject);
4958
4976
  rb_define_alloc_func(cMenu, menu_s_allocate);
4959
4977
  rb_define_method(cMenu, "initialize", menu_initialize, 1);
4960
4978
  rb_define_method(cMenu, "post", menu_post, 0);
@@ -4977,7 +4995,7 @@ Init_curses(void)
4977
4995
  #endif
4978
4996
 
4979
4997
  #ifdef HAVE_FORM
4980
- cField = rb_define_class_under(mCurses, "Field", rb_cData);
4998
+ cField = rb_define_class_under(mCurses, "Field", rb_cObject);
4981
4999
  rb_define_alloc_func(cField, field_s_allocate);
4982
5000
  rb_define_method(cField, "initialize", field_initialize, 6);
4983
5001
  rb_define_method(cField, "set_buffer", field_set_buffer, 2);
@@ -5004,7 +5022,7 @@ Init_curses(void)
5004
5022
  rb_define_method(cField, "max=", field_set_max, 1);
5005
5023
  rb_define_method(cField, "set_type", field_set_type, -1);
5006
5024
 
5007
- cForm = rb_define_class_under(mCurses, "Form", rb_cData);
5025
+ cForm = rb_define_class_under(mCurses, "Form", rb_cObject);
5008
5026
  rb_define_alloc_func(cForm, form_s_allocate);
5009
5027
  rb_define_method(cForm, "initialize", form_initialize, 1);
5010
5028
  rb_define_method(cForm, "post", form_post, 0);
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: curses
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shugo Maeda
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-12-10 00:00:00.000000000 Z
12
+ date: 2021-05-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -53,14 +53,12 @@ files:
53
53
  - ".github/workflows/windows.yml"
54
54
  - ".gitignore"
55
55
  - ".gitmodules"
56
- - ".travis.yml"
57
56
  - BSDL
58
57
  - COPYING
59
58
  - Gemfile
60
59
  - History.md
61
60
  - README.md
62
61
  - Rakefile
63
- - appveyor.yml
64
62
  - curses.gemspec
65
63
  - ext/curses/curses.c
66
64
  - ext/curses/depend
@@ -337,7 +335,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
337
335
  - !ruby/object:Gem::Version
338
336
  version: '0'
339
337
  requirements: []
340
- rubygems_version: 3.2.0.rc.1
338
+ rubygems_version: 3.3.0.dev
341
339
  signing_key:
342
340
  specification_version: 4
343
341
  summary: A Ruby binding for curses, ncurses, and PDCurses. curses is an extension
data/.travis.yml DELETED
@@ -1,16 +0,0 @@
1
- ---
2
- language: ruby
3
- notifications:
4
- email:
5
- recipients:
6
- - drbrain@segment7.net
7
- - shugo@ruby-lang.org
8
- rvm:
9
- - 2.2.10
10
- - 2.3.8
11
- - 2.4.5
12
- - 2.5.3
13
- - 2.6.1
14
- - ruby-head
15
- before_install: gem install bundler -v '<2'
16
- script: rake compile
data/appveyor.yml DELETED
@@ -1,16 +0,0 @@
1
- ---
2
- clone_depth: 10
3
- install:
4
- - SET PATH=C:\Ruby%ruby_version%\bin;%PATH%
5
- - appveyor DownloadFile http://dl.bintray.com/oneclick/OpenKnapsack/x64/pdcurses-3.4-x64-windows.tar.lzma
6
- - 7z e pdcurses-3.4-x64-windows.tar.lzma
7
- - 7z x -y -oC:\Ruby%ruby_version% pdcurses-3.4-x64-windows.tar
8
- - bundle install
9
- build_script:
10
- - rake -rdevkit compile -- --with-curses-dir=C:\Ruby%ruby_version%
11
- test: off
12
- deploy: off
13
- environment:
14
- matrix:
15
- - ruby_version: "22-x64"
16
- - ruby_version: "23-x64"