6e1c7c8afc
There were two problems with match denfinition. 1) There was a forward declaration in the form: static inline bool match(uint, uint); but later the function was defined as: inline bool match(uint mask, uint state) { This causes that there were two different functions in the code, one local and inline, and other inline but extern. All was working without problems due to we were using -Os, and the compiler was using the extern definition and it was no expanding the static declaration. If you removed the -Os flag, then you got linker errors due it was no able to find the static definition of the static declaration. 2) The mask checking was incorrect because we were doing the test: (state & mask) != state and this test only was saying that at least all the enabled bits of state were enabled also in mask, but no all the possible bits in mask. This was the origin of the bug reported by Xavier Cartron, where he said it was possible activated some shortcuts with some of the modifiers defined in the config.h file. |
||
---|---|---|
arg.h | ||
config.def.h | ||
config.mk | ||
FAQ | ||
LEGACY | ||
LICENSE | ||
Makefile | ||
README | ||
st.1 | ||
st.c | ||
st.info | ||
TODO |
st - simple terminal -------------------- st is a simple virtual terminal emulator for X which sucks less. Requirements ------------ In order to build st you need the Xlib header files. Installation ------------ Edit config.mk to match your local setup (st is installed into the /usr/local namespace by default). Afterwards enter the following command to build and install st (if necessary as root): make clean install Running st ---------- If you did not install st with make clean install, you must compile the st terminfo entry with the following command: tic -s st.info See the man page for additional details. Credits ------- Based on Aurélien APTEL <aurelien dot aptel at gmail dot com> bt source code.