**Steps to reproduce**
# Run e.g. `python pwb.py template commonscat -remove -ns:0 -start:!` on cswiki
# Select option **q** (quit) or press Ctrl+C
**Expected behavior**
```
Do you want to accept these changes? ([y]es, [N]o, [e]dit original, edit [l]atest, open in [b]rowser, [a]ll, [q]uit): q
Bot was interrupted by user, 8 pages are waiting for being saved:
Page Orange was saved
...
Page Pineapple was saved
[user@Computer pywikibot]$ ▮
```
**Current behavior** (90 % of scripts)
```
Do you want to accept these changes? ([y]es, [N]o, [e]dit original, edit [l]atest, open in [b]rowser, [a]ll, [q]uit): q
ERROR: Fatal error:
Traceback (most recent call last):
File "./scripts/template.py", line 366, in <module>
main()
File "./scripts/template.py", line 361, in main
bot.run()
File "/home/pavel/pywikibot/scripts/replace.py", line 771, in run
default='N')
File "/home/pavel/pywikibot/pywikibot/bot.py", line 451, in input_choice
automatic_quit=automatic_quit, force=force)
File "/home/pavel/pywikibot/pywikibot/userinterfaces/terminal_interface_base.py", line 392, in input_choice
raise answer
pywikibot.bot_choice.QuitKeyboardInterrupt[user@Computer pywikibot]$ ▮
```
This is problem of 90 % of all scripts, but there are some which behave as expected (I think replace or category's output is ok, but the behavior should be unified and global)