{"id":15042310,"url":"https://github.com/gitgnu/gnu_readline","last_synced_at":"2026-02-12T10:31:41.175Z","repository":{"id":84521016,"uuid":"90031304","full_name":"gitGNU/gnu_readline","owner":"gitGNU","description":null,"archived":false,"fork":false,"pushed_at":"2017-05-02T12:34:13.000Z","size":10060,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-04T01:12:49.629Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gitGNU.png","metadata":{"files":{"readme":"README","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"support/config.guess","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-05-02T12:32:18.000Z","updated_at":"2024-01-16T10:02:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"e0e8478f-b3cc-4cba-ba6a-2f6eb1161466","html_url":"https://github.com/gitGNU/gnu_readline","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitGNU%2Fgnu_readline","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitGNU%2Fgnu_readline/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitGNU%2Fgnu_readline/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitGNU%2Fgnu_readline/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gitGNU","download_url":"https://codeload.github.com/gitGNU/gnu_readline/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247103307,"owners_count":20884023,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-09-24T20:47:06.885Z","updated_at":"2026-02-12T10:31:41.135Z","avatar_url":"https://github.com/gitGNU.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"Introduction\n============\n\nThis is the Gnu Readline library, version 7.0.\n\nThe Readline library provides a set of functions for use by applications\nthat allow users to edit command lines as they are typed in.  Both\nEmacs and vi editing modes are available.  The Readline library includes\nadditional functions to maintain a list of previously-entered command\nlines, to recall and perhaps reedit those lines, and perform csh-like\nhistory expansion on previous commands.\n\nThe history facilites are also placed into a separate library, the\nHistory library, as part of the build process.  The History library\nmay be used without Readline in applications which desire its\ncapabilities.\n\nThe Readline library is free software, distributed under the terms of\nthe [GNU] General Public License as published by the Free Software\nFoundation, version 3 of the License.  For more information, see the\nfile COPYING.\n\nTo build the library, try typing `./configure', then `make'.  The\nconfiguration process is automated, so no further intervention should\nbe necessary.  Readline builds with `gcc' by default if it is\navailable.  If you want to use `cc' instead, type\n\n        CC=cc ./configure\n\nif you are using a Bourne-style shell.  If you are not, the following\nmay work:\n\n        env CC=cc ./configure\n\nRead the file INSTALL in this directory for more information about how\nto customize and control the build process.\n\nThe file rlconf.h contains C preprocessor defines that enable and disable\ncertain Readline features.\n\nThe special make target `everything' will build the static and shared\nlibraries (if the target platform supports them) and the examples.\n\nExamples\n========\n\nThere are several example programs that use Readline features in the\nexamples directory.  The `rl' program is of particular interest.  It\nis a command-line interface to Readline, suitable for use in shell\nscripts in place of `read'.\n\nShared Libraries\n================\n\nThere is skeletal support for building shared versions of the\nReadline and History libraries.  The configure script creates\na Makefile in the `shlib' subdirectory, and typing `make shared'\nwill cause shared versions of the Readline and History libraries\nto be built on supported platforms.\n\nIf `configure' is given the `--enable-shared' option, it will attempt\nto build the shared libraries by default on supported platforms.\n\nConfigure calls the script support/shobj-conf to test whether or\nnot shared library creation is supported and to generate the values\nof variables that are substituted into shlib/Makefile.  If you\ntry to build shared libraries on an unsupported platform, `make'\nwill display a message asking you to update support/shobj-conf for\nyour platform.\n\nIf you need to update support/shobj-conf, you will need to create\na `stanza' for your operating system and compiler.  The script uses\nthe value of host_os and ${CC} as determined by configure.  For\ninstance, FreeBSD 4.2 with any version of gcc is identified as\n`freebsd4.2-gcc*'.\n\nIn the stanza for your operating system-compiler pair, you will need to\ndefine several variables.  They are:\n\nSHOBJ_CC\tThe C compiler used to compile source files into shareable\n\t\tobject files.  This is normally set to the value of ${CC}\n\t\tby configure, and should not need to be changed.\n\nSHOBJ_CFLAGS\tFlags to pass to the C compiler ($SHOBJ_CC) to create\n\t\tposition-independent code.  If you are using gcc, this\n\t\tshould probably be set to `-fpic'.\n\nSHOBJ_LD\tThe link editor to be used to create the shared library from\n\t\tthe object files created by $SHOBJ_CC.  If you are using\n\t\tgcc, a value of `gcc' will probably work.\n\nSHOBJ_LDFLAGS\tFlags to pass to SHOBJ_LD to enable shared object creation.\n\t\tIf you are using gcc, `-shared' may be all that is necessary.\n\t\tThese should be the flags needed for generic shared object\n\t\tcreation.\n\nSHLIB_XLDFLAGS\tAdditional flags to pass to SHOBJ_LD for shared library\n\t\tcreation.  Many systems use the -R option to the link\n\t\teditor to embed a path within the library for run-time\n\t\tlibrary searches.  A reasonable value for such systems would\n\t\tbe `-R$(libdir)'.\n\nSHLIB_LIBS\tAny additional libraries that shared libraries should be\n\t\tlinked against when they are created.\n\nSHLIB_LIBPREF\tThe prefix to use when generating the filename of the shared\n\t\tlibrary.  The default is `lib'; Cygwin uses `cyg'.\n\nSHLIB_LIBSUFF\tThe suffix to add to `libreadline' and `libhistory' when\n\t\tgenerating the filename of the shared library.  Many systems\n\t\tuse `so'; HP-UX uses `sl'.\n\nSHLIB_LIBVERSION The string to append to the filename to indicate the version\n\t\tof the shared library.  It should begin with $(SHLIB_LIBSUFF),\n\t\tand possibly include version information that allows the\n\t\trun-time loader to load the version of the shared library\n\t\tappropriate for a particular program.  Systems using shared\n\t\tlibraries similar to SunOS 4.x use major and minor library\n\t\tversion numbers; for those systems a value of\n\t\t`$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)' is appropriate.\n\t\tSystems based on System V Release 4 don't use minor version\n\t\tnumbers; use `$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' on those systems.\n\t\tOther Unix versions use different schemes.\n\nSHLIB_DLLVERSION The version number for shared libraries that determines API\n\t\tcompatibility between readline versions and the underlying\n\t\tsystem.  Used only on Cygwin.  Defaults to $SHLIB_MAJOR, but\n\t\tcan be overridden at configuration time by defining DLLVERSION\n\t\tin the environment.\n\nSHLIB_DOT\tThe character used to separate the name of the shared library\n\t\tfrom the suffix and version information.  The default is `.';\n\t\tsystems like Cygwin which don't separate version information\n\t\tfrom the library name should set this to the empty string.\n\nSHLIB_STATUS\tSet this to `supported' when you have defined the other\n\t\tnecessary variables.  Make uses this to determine whether\n\t\tor not shared library creation should be attempted.\n\nYou should look at the existing stanzas in support/shobj-conf for ideas.\n\nOnce you have updated support/shobj-conf, re-run configure and type\n`make shared'.  The shared libraries will be created in the shlib\nsubdirectory.\n\nIf shared libraries are created, `make install' will install them. \nYou may install only the shared libraries by running `make\ninstall-shared' from the top-level build directory.  Running `make\ninstall' in the shlib subdirectory will also work.  If you don't want\nto install any created shared libraries, run `make install-static'. \n\nDocumentation\n=============\n\nThe documentation for the Readline and History libraries appears in\nthe `doc' subdirectory.  There are three texinfo files and a\nUnix-style manual page describing the facilities available in the\nReadline library.  The texinfo files include both user and\nprogrammer's manuals.  HTML versions of the manuals appear in the\n`doc' subdirectory as well. \n\nUsage\n=====\n\nOur position on the use of Readline through a shared-library linking\nmechanism is that there is no legal difference between shared-library\nlinking and static linking--either kind of linking combines various\nmodules into a single larger work.  The conditions for using Readline\nin a larger work are stated in section 3 of the GNU GPL.\n\nReporting Bugs\n==============\n\nBug reports for Readline should be sent to:\n\n        bug-readline@gnu.org\n\nWhen reporting a bug, please include the following information:\n\n        * the version number and release status of Readline (e.g., 4.2-release)\n        * the machine and OS that it is running on\n        * a list of the compilation flags or the contents of `config.h', if\n          appropriate\n        * a description of the bug\n        * a recipe for recreating the bug reliably\n        * a fix for the bug if you have one!\n\nIf you would like to contact the Readline maintainer directly, send mail\nto bash-maintainers@gnu.org.\n\nSince Readline is developed along with bash, the bug-bash@gnu.org mailing\nlist (mirrored to the Usenet newsgroup gnu.bash.bug) often contains\nReadline bug reports and fixes. \n\nChet Ramey\nchet.ramey@case.edu\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgitgnu%2Fgnu_readline","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgitgnu%2Fgnu_readline","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgitgnu%2Fgnu_readline/lists"}