From: "nobu (Nobuyoshi Nakada)" <noreply@ruby-lang.org>
To: ruby-core@ruby-lang.org
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
Date: Wed, 29 Sep 2021 02:26:52 +0000 (UTC) [thread overview]
Message-ID: <redmine.journal-93930.20210929022651.69@ruby-lang.org> (raw)
In-Reply-To: redmine.issue-17629.20210214132928.69@ruby-lang.org
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/
next prev parent reply other threads:[~2021-09-29 2:27 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-14 13:29 [ruby-core:102487] [Ruby master Bug#17629] macOS, readline compiled with libedit: adding entries to history doesn't work unless Readline.readline is called before populating it radek.bulat
2021-02-14 14:56 ` [ruby-core:102488] " radek.bulat
2021-09-28 23:23 ` [ruby-core:105476] " radarek
2021-09-29 2:26 ` nobu (Nobuyoshi Nakada) [this message]
2022-01-29 19:30 ` [ruby-core:107348] " radarek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.ruby-lang.org/en/community/mailing-lists/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=redmine.journal-93930.20210929022651.69@ruby-lang.org \
--to=ruby-core@ruby-lang.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).