Because the only autoloaded function is sclang-mode, the sclang file was
not being evaluated. This made it impossible to use-package properly in
order to configure the package. Combining the files makes the most sense
as sclang.el wasn't doing much anyways.
Only when compiling with cmake will sclang-vars.el be written. This
commit moves relevant constants into customizable vars. Only if the
`sclang-system-data-dir` exists is it respected, otherwise it will guess
the proper location by looking at the system-type.
The purpose of this is to make it possible to build and distribute a
package independent of the SuperCollider build process, while ensuring
that those users who have become accustomed to the current install
process are not disrupted.
`gensym' used to be an alias for `cl-gensym'.
It was replaced with a "native" implementation in subr.el with Emacs 26.1.
Go back to using `cl-gensym' to make sure Emacs 25 still works.
This is actually pretty boring. It replaces calls to obsolete aliases
with the properly namespaced functions from the cl-lib package.
This raises our minimal Emacs version requirement to 24.3 (2013-03-10).
However, people using earlier versions can install the cl-lib package
from the Emacs package system.
While at it:
* remove function `sclang-document-list' which was really useless.
* fix `sclang-format-pseq' which needed to use `cl-labels'
instead of `cl-flet' to actually work.
* (cl-reduce (lambda (a b) (or a b)) (mapcar function list))
is much better written as (and now properly short-circuits):
(cl-some function list)
* (cl-remove-if 'null list)
should be written as
(remq nil list)
this patch introduces two new key bindings:
C-c C-y: open help browser via Help.gui
C-c h: open help browser for a specific topic
the old help browser is still available via C-c C-h and can be used to
display pre-rendered help files.
Signed-off-by: Tim Blechmann <tim@klingt.org>