Commit Graph

39 Commits

Author SHA1 Message Date
Miodrag Milanovic b73fcb78ed Add missing includes for windows 2026-06-08 16:11:31 +02:00
Alan Mishchenko b7ee7a5f70 Fix a windows compile problem. 2026-06-05 16:15:34 +07:00
Matt Liberty 66f5d7c7a2 mainUtils: match readline behavior when ABC_USE_READLINE is undefined
The non-readline branch of Abc_UtilsGetUsersInput has three behavioral
gaps versus the readline branch that break callers driving abc as a
coprocess over a pipe (e.g. yosys's passes/techmap/abc.cc, which spawns
"abc -s" with piped stdin/stdout and uses read_until_abc_done to wait
for "abc NN> <command>" lines):

  1. The prompt is written with fprintf() and never flushed. On a pipe
     stdout is fully buffered, so the prompt never reaches the reader.
     The reader waits for the prompt, abc waits in fgets(), deadlock.

  2. There is no echo of the line read from stdin. readline() emits
     each character to its output stream; yosys's protocol depends on
     seeing "abc NN> source ...\n" in the output to advance state.
     Without an echo it waits forever.

  3. EOF on stdin is silently ignored: fgets() returns NULL but the
     function returns a stale Prompt buffer, causing a tight loop on
     pipe close. The readline branch exit(0)s on NULL.

Fix all three. Echo only when stdin is not a tty -- on a tty the kernel
already echoes typed characters during cooked input, so double-echo
would be visible to interactive users.

Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
2026-06-05 06:05:32 +00:00
Alan Mishchenko c5fdfb3835 New command "runscript". 2025-04-09 18:16:24 -07:00
Alan Mishchenko dc72d1e120 New command &store. 2025-03-31 15:24:15 -07:00
alanminko 91aaff2575 More compiler warnings. 2023-02-28 03:07:41 -08:00
Alan Mishchenko 94ab17c39e Supporting new resub problem format. 2022-06-02 07:47:33 -07:00
Alan Mishchenko 67247b7209 One less line printed out in the batch mode. 2022-05-18 10:42:37 -07:00
Alan Mishchenko a8b5da820d Other compiler changes. 2021-09-26 11:58:42 -07:00
Baruch Sterin 5df0cf98e6 main: add option -Q for execute command quietly, then interactive 2015-11-18 16:32:39 -08:00
Baruch Sterin c610c03661 pyabc: remove python integration from abc, it is moved to a separate extension 2015-11-05 01:24:26 -08:00
Baruch Sterin c5a0ce9063 add a new command line option to ABC, -q, same as -c, but without echoing the command 2013-12-07 00:44:57 -08:00
Alan Mishchenko 36d5ef4e62 Making changes suggested by Mark Jarvin. 2013-05-04 11:10:25 -07:00
Alan Mishchenko cad47254a0 Updating readme. 2012-10-06 19:27:19 -07:00
Alan Mishchenko f66fd3f3a3 Updating readme. 2012-10-06 18:28:25 -07:00
Alan Mishchenko e01e49369f Changed 'readline' declaration rules. 2012-10-04 13:03:04 -07:00
Alan Mishchenko 9d6f7fa4e6 Added detection of 'readline' library at compile-time. 2012-10-02 17:00:03 -07:00
Alan Mishchenko 65cf119c2b Added detection of 'readline' library at compile-time. 2012-10-02 16:46:55 -07:00
Alan Mishchenko 73d68a08c1 Compiler warnings. 2012-09-29 17:56:00 -04:00
Alan Mishchenko 13dc7bacf1 Added detection of 'readline' library at compile-time. 2012-09-29 17:50:50 -04:00
Alan Mishchenko 7e2b007762 Added recording history of used commands into file 'abc.history' (Windows only). 2012-08-24 12:25:53 -07:00
Alan Mishchenko 1c33107cbb Updating project settings to have simpler include paths. 2012-07-07 20:14:12 -07:00
Alan Mishchenko 7926d75ecb Adding features related to the communication bridge. 2012-03-02 00:57:48 -08:00
Alan Mishchenko 8014f25f6d Major restructuring of the code. 2012-01-21 04:30:10 -08:00
Alan Mishchenko 200c5cc659 Added support for generating a library of real-life truth-tables. 2011-12-09 00:37:05 -08:00
Alan Mishchenko 6130e39b18 initial commit of public abc 2010-11-01 01:35:04 -07:00
Alan Mishchenko 0871bffae3 Version abc90215 2009-02-15 08:01:00 -08:00
Alan Mishchenko eb75697fe0 Version abc81004 2008-10-04 08:01:00 -07:00
Alan Mishchenko 303baf27cf Version abc80702 2008-07-02 08:01:00 -07:00
Alan Mishchenko 320c429bc4 Version abc80301 2008-03-01 08:01:00 -08:00
Alan Mishchenko 0c6505a26a Version abc80130_2 2008-01-30 20:01:00 -08:00
Alan Mishchenko 4d30a1e4f1 Version abc80130 2008-01-30 08:01:00 -08:00
Alan Mishchenko 4812c90424 Version abc71001 2007-10-01 08:01:00 -07:00
Alan Mishchenko e54d969161 Version abc70930 2007-09-30 08:01:00 -07:00
Alan Mishchenko 8dfe404863 Version abc70110 2007-01-10 08:01:00 -08:00
Alan Mishchenko 8eef7f8326 Version abc60220 2006-02-20 08:01:00 -08:00
Alan Mishchenko e2619aa120 Version abc51012 2005-10-12 08:01:00 -07:00
Alan Mishchenko 1260d20cc0 Version abc50905 2005-09-05 08:01:00 -07:00
Alan Mishchenko 888e5bed5d Version abc50729 2005-07-29 08:01:00 -07:00