* Remove other compilers from bytes-to-string
* Remove other compilers from string-to-bytes
* Remove other compilers from utf8-to-string
* Remove other compilers from string-to-utf8
* Remove other compilers from directory-no-deref
* Remove clisp UNIX flavour getting hack
* Remove other compilers from read-line-from-sysfs
* Remove other compilers from execv
* Remove string-to-bytes
As string-to-bytes simply called sb-ext:string-to-octets after
removing other lisp implementations it could be replaced where it is
called with the straight call.
* Remove string-to-utf8
As string-to-utf8 simply called sb-ext:string-to-octet replace all
calls with the function.
* Remove workarounds.lisp
File only contains a workaround for a CLX bug in clisp. Entire file can
be removed.
* Remove non sbcl statements from pathnames.lisp
* Remove non sbcl conditions from manual.lisp
* Make sbcl the only implementation stumpwm will compile on.
* Remove non sbcl conditionals from load-stumpwm.lisp.in
* Remove non sbcl conditionals from make-image.lisp.in
* Remove conditionals from stumpwm.asd
* Remove ecl conditional from primitives.lisp
* Remove call-in-main-thread conditional
The call-in-main-thread conditional was added due to it only being supported on
sbcl. As sbcl is now the only supported lisp implementation we can
remove it as a conditional.
* Remove ccl implmentation of io-channel-ioport
* Remove conditionals from stumpwm.texi.in
* Remove non sbcl ioloop
Implements the following fixes:
The value :CALL-IN-MAIN-THREAD is added to *FEATURES*, making the code
that checks for this much more clear.
Accesses to *TIMER-LIST* is now thread-safe on most platforms.
When adding a timer on platforms supporting CALL-IN-MAIN-THREAD, the
adding is scheduled in the main thread in order to make the timing more
accurate.
On platforms that supports CALL-IN-MAIN-THREAD, if the call is made in
the main thread itself, the function will be evaluated immediately.
This function allows a multi-threaded module to perform actions on the main
event handler thread and should be used whenever a different thread
needs to invoke any stumpwm functions.
Currently, only SBCL is supported.
When no timers were active, the timer channel would report that it
wasn't interested in any events. The ioloop, then, would remove the
timer channel from the list of active channels, causing any timers to be
completely ignored from that point forward.
We fix it by making the timer channel interested in the :LOOP event when
no timers are active, thus preventing the channel from being removed.
Also updated manual and docstrings for some functions. Applied a patch
from Diogo F. S. Ramos to handle the case when a user aborts while
eval'ing a lisp form from the input prompt.
Extended chapter on modules to reflect new system. Renamed contrib-dir
to module-dir. Removed set-contrib-dir as an interactive command in
favor of add-to-load-path.
Before this fix, there was a bug in the timer functions which led to
timers being scheduled from within a timer functions being
forgotten. This change fixes that.
According to the XDG Base Directory Specification:
$XDG_CONFIG_HOME defines the base directory relative to which user
specific configuration files should be stored. If $XDG_CONFIG_HOME is
either not set or empty, a default equal to $HOME/.config should be
used.
This was also noted by Github user lipidity at
https://github.com/stumpwm/stumpwm/pull/117#issuecomment-52278942
For all other errors, try to recover and then fail just like an unhandled top level error.
in with-restarts-menu, only catch serious-conditions and errors.