From: "nobu (Nobuyoshi Nakada)" Date: 2021-09-29T02:26:52+00:00 Subject: [ruby-core:105481] [Ruby master Bug#17629] macOS, readline compiled with libedit: adding entries to history doesn't work unless Readline.readline is called before populating it Issue #17629 has been updated by nobu (Nobuyoshi Nakada). Backport changed from 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN to 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN The auto close didn���t seem to work somehow. ---------------------------------------- Bug #17629: macOS, readline compiled with libedit: adding entries to history doesn't work unless Readline.readline is called before populating it https://bugs.ruby-lang.org/issues/17629#change-93930 * Author: radarek (Rados��aw Bu��at) * Status: Open * Priority: Normal * ruby -v: ruby 3.1.0dev (2021-02-13T02:51:33Z master 813fe4c256) [arm64-darwin20] * Backport: 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN ---------------------------------------- **Description** If Ruby's readline extension is linked with libedit library and readline history is populated before `Readline.readline` method is called then items are not available via history navigation mechanism (`up/down` arrows). **How to reproduce** **bug.rb** (also attached to this issue) ``` ruby require 'readline' # calling below code before populating history will make it work Readline.readline('press enter to continue', false) if ENV['WORKAROUND'] == '1' Readline::HISTORY << 'Line1' puts "History: #{Readline::HISTORY.to_a}" Readline.readline('> ', true) ``` ``` $ ~/opt/ruby/bin/ruby -v bug.rb ruby 3.1.0dev (2021-02-13T02:51:33Z master 813fe4c256) [arm64-darwin20] History: ["Line1"] > # pressing up arrow doesn't show entries from history $ WORKAROUND=1 ~/opt/ruby/bin/ruby -v bug.rb ruby 3.1.0dev (2021-02-13T02:51:33Z master 813fe4c256) [arm64-darwin20] press enter to continue History: ["Line1"] > Line1 # up arrow was pressed here and entry from history was shown up ``` Bug affects for example `pry` gem (history doesn't work). **My setup** ``` macOS 11.2.1 Big Sur architecture: arm64 (apple M1 processor) ruby -v: ruby 3.1.0dev (2021-02-13T02:51:33Z master 813fe4c256) [arm64-darwin20] readline extension linkage: otool -L /Users/radarek/opt/ruby/lib/ruby/3.1.0/arm64-darwin20/readline.bundle /Users/radarek/opt/ruby/lib/ruby/3.1.0/arm64-darwin20/readline.bundle: /usr/lib/libedit.3.dylib (compatibility version 2.0.0, current version 3.0.0) /usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, current version 5.4.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1292.60.1) ``` ---Files-------------------------------- bug.rb (271 Bytes) Dockerfile (340 Bytes) -- https://bugs.ruby-lang.org/ Unsubscribe: