rcurses 6.2.4 → 6.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rcurses/pane.rb +9 -3
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 16222a062a9490a2ad8382125fe23fd935a975eff70d0b9eea64529ca2b537b6
4
- data.tar.gz: 98ed3f36f055cc8219dabf1560101ba1f4b44acd9c4606ddb760a40e84237a2a
3
+ metadata.gz: 4ed97ba200bc51c5599c78550f12429ffe8887c01b25a59b509a015b84be7a72
4
+ data.tar.gz: bfac1a426621f248c11adaca91916cdeed07caf2ed1e8a55319b4fff70ef6b32
5
5
  SHA512:
6
- metadata.gz: 570af805bb2c612fcf116732eeef3721d97dd7b5ea5925890927f34e368c392db088b9e10469de6c181b0947e7427233820bf016d7a1ac912a9f8feca921cfda
7
- data.tar.gz: 23fd4c4d019c983c3edb48d0c1794a9710f650f07e14fd41cea333f13926a56efeb4ee5e13b8f65b81cf8e0fd915959597ad5be5e80ee35558fd77217ffa0100
6
+ metadata.gz: 2eb5ed84c91747596cd97c0563140502339ef2d92d65de3652e475d5d6b525affa993d6a98ec0a6f07b79db4c935a1d90ad99e401ecf9c8ffc12c065b4c1a8fb
7
+ data.tar.gz: de0fba662080514b3cb3db0750a5cd3cfe72b71ef5ec20aa4f303902823f62dd2d370154b16854d4fadaef41f5bcd7e97e5d3e2f71e4eece757f0f3765a3d119
data/lib/rcurses/pane.rb CHANGED
@@ -344,6 +344,12 @@ module Rcurses
344
344
  line_str = @skip_colors ? " " * @w : " ".c(fmt) * @w
345
345
  end
346
346
 
347
+ # Hard-clip line to pane width to prevent overflow into adjacent panes
348
+ visible_w = Rcurses.display_width(line_str.respond_to?(:pure) ? line_str.pure : line_str.gsub(/\e\[[0-9;]*m/, ''))
349
+ if visible_w > @w
350
+ line_str = line_str.respond_to?(:shorten) ? line_str.shorten(@w) : line_str[0, @w]
351
+ end
352
+
347
353
  new_frame << line_str
348
354
  end
349
355
 
@@ -356,13 +362,13 @@ module Rcurses
356
362
  end
357
363
  end
358
364
 
359
- # Restore cursor, re-enable wrap, reset SGR and scroll-region
360
- diff_buf << "\e8\e[?7h\e[0m\e[r"
365
+ # Restore cursor, reset SGR and scroll-region (keep auto-wrap disabled)
366
+ diff_buf << "\e8\e[0m\e[r"
361
367
  begin
362
368
  print diff_buf
363
369
  rescue => e
364
370
  begin
365
- print "\e[0m\e[?25h\e[?7h"
371
+ print "\e[0m\e[?25h"
366
372
  rescue
367
373
  end
368
374
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rcurses
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.2.4
4
+ version: 6.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Geir Isene
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-03-18 00:00:00.000000000 Z
11
+ date: 2026-03-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: clipboard