php-src/ext/readline
DanielEScherzer 5dd0575698
Generated arginfo header files: combine preprocessor conditional blocks (#15736)
When functions' or class methods' availability is based on some preprocessor
condition, the generated arginfo header files wrap the declarations in the
preprocessor `#if` conditional blocks, one per declaration, even if they are in
the same conditional block based on comments in the stub file. Instead of
having multiple conditional blocks one after the other with the same condition,
combine them into a single conditional block.
2024-09-04 13:04:22 +02:00
..
tests Merge branch 'PHP-8.3' 2024-08-07 22:38:48 +01:00
config.m4 Autotools: Sync CS in extensions (#15343) 2024-08-11 17:42:26 +02:00
config.w32 add readline_list_history with libedit >= 3.1 and mingweditline 2019-02-19 08:51:56 +01:00
CREDITS
php_readline.h Sync #if/ifdef/defined (#14512) 2024-06-10 08:56:10 +02:00
readline_arginfo.h Generated arginfo header files: combine preprocessor conditional blocks (#15736) 2024-09-04 13:04:22 +02:00
readline_cli.c Preferably include from build dir (#13516) 2024-06-26 00:26:43 +02:00
readline_cli.h Update http->https in license (#6945) 2021-05-06 12:16:35 +02:00
readline.c ext/readline: readline_info fix usage when the buffer is not initialised (#15139) 2024-07-31 11:04:44 +01:00
readline.stub.php Sync #if/ifdef/defined (#14520) 2024-06-11 22:47:05 +02:00
README.md Allow overriding completion in auto_prepend_file 2020-08-01 11:39:08 -04:00

readline

Provides generic line editing, history, and tokenization functions. See https://www.php.net/manual/en/book.readline.php

Implementation Details

C variables starting with rl_* are declared by the readline library (or are macros referring to variables from the libedit library). See http://web.mit.edu/gnu/doc/html/rlman_2.html

This should only be used in the CLI SAPI. Historically, the code lived in sapi/cli, but many distributions build readline as a shared extension. Therefore, that code was split into ext/readline so that this can dynamically be loaded. With other SAPIs, readline is/should be disabled.

readline_cli.c implements most of the interactive shell(php -a).