Skip to content

Conversation

@BurdetteLamar
Copy link
Member

No description provided.

(i.e., characters whose values in range `128..255`).
Reline converts each such character by clearing the high bit
(which puts the character in range `0..127`)
and prefixing `Esc`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In Reline, configuring convert-meta has no effect.
Terminal emulators in 2026 supports UTF-8 and multibyte-enabled terminal emulator can't use 8th bit to represent meta key, we can't test nor implement this feature correctly.

ref: #301

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Section convert-meta should be removed?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Either removing or simply add a document that it has no-effect is both fine, I think.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed.

Example (turns the mode string green):

```
"\1\e[32mabcd \e[0m\2"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will cause corrupt rendering in both Reline and in GNU Readline.
I think the example should be "\1\e[32m\2abcd \1\e[0m\2".

FWIW, Reline works without \1 \2, but .inputrc will be used in many programs, so using \1 \2 is better.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed.


These are the methods available for binding by a key or key sequence:

- `ed_argument_digit(key)`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be ed-argument-digit. No argument part (key) and no underscores.

Reline converts ed-argument-digit into ed_argument_digit (name.tr('-', '_')) and call the corresponding instance method if it exist. Mixing - and _ (ed-argument_digit) also works.
But this is just an implementation detail which I (and some other maintainer) want to change in the near future, for code maintainability/readability reason.
So I prefer not to show underscores and arguments in this document.

I think we can call it function instead of method because it is called in https://tiswww.cwru.edu/php/chet/readline/readline.html#Readline-Init-File-Syntax

keyname: function-name or macro
"keyseq": function-name or macro

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be ed-argument-digit. No argument part (key) and no underscores.

Fixed throughout.

Reline converts ed-argument-digit into ed_argument_digit (name.tr('-', '_')) and call the corresponding instance method if it exist. Mixing - and _ (ed-argument_digit) also works. But this is just an implementation detail which I (and some other maintainer) want to change in the near future, for code maintainability/readability reason. So I prefer not to show underscores and arguments in this document.

Fixed throughout.

I think we can call it function instead of method because it is called in https://tiswww.cwru.edu/php/chet/readline/readline.html#Readline-Init-File-Syntax

keyname: function-name or macro
"keyseq": function-name or macro

Fixed throughout.

@BurdetteLamar BurdetteLamar requested a review from tompng November 20, 2025 20:42
Copy link
Member

@tompng tompng left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you 👍

@tompng tompng merged commit e9332b4 into ruby:master Nov 23, 2025
43 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants