Commit graph

101 commits

Author SHA1 Message Date
Mario Lang
6739aa327c Use `cl-gensym' to fix Emacs 25 compatibility (Fixes #24)
`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.
2020-04-02 08:29:01 +02:00
TatriX
7bfbd1929d scel: Add support for completion-at-point-functions and company-mode 2020-02-26 17:10:07 +01:00
Brian Heim
7b5d954003
Merge pull request #19 from mlang/cl
Fix a number of overlooked obsolete aliases
2019-12-28 18:25:06 -06:00
Mario Lang
e43da1aa99 Fix a number of overlooked obsolete aliases
For some reason, these slipped my attention.  Sorry about that.
Also:
* `nconc' is more efficient then `append' if destructive modification is not
  an issue.
* Emacs 26 actually deprecated `string-as-multibyte' in favour of
  `decode-coding-string' since the latter actually forces the user to
  specify an encoding.
2019-12-26 11:12:53 +01:00
Brian Heim
4ef3185647
Merge pull request #18 from mlang/cl
Use cl-lib instead of obsolete cl package
2019-12-25 08:33:44 -06:00
Mario Lang
bb6bce1671 Use cl-lib instead of obsolete cl package
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)
2019-12-25 14:14:13 +01:00
Brian Heim
b6e5d1bf78
Merge pull request #17 from mlang/sclang-make-options
Fix `sclang-make-options' falsely emitting -d and -l
2019-12-24 16:47:29 -06:00
Mario Lang
59e0d31b0a Fix `sclang-make-options' falsely emitting -d and -l
It turns out `file-directory-p' and `file-exists-p' return t when passed
the empty string.  This is sort of unexpected, and leads to the logic
in `sclang-make-options' choosing to pass -d and -l with
unpredictable values (default-directory) to sclang.
A default of "" (or -1) is pretty unidiomatic for elisp, so we change
the default of user option `sclang-runtime-directory',
`sclang-library-configuration-file' and `sclang-udp-port' to
nil, and adjust `sclang-make-options' accordingly.  While we're here,
we can eliminate the use of `cl-flet'.
Additionally, `sclang-eval-sync' uses `find' which is really an
alias for `cl-find' which and can be replaced with a call to the built-in
function `assoc'.  This is faster, and the last dependency on the
cl package, which we can now remove (obsolete since emacs 27).
2019-12-24 23:18:08 +01:00
Brian Heim
6b63bf1bcf
Merge pull request #15 from mlang/HelpSource
Create a HelpSource directory and document the EmacsBuffer class
2019-12-22 16:35:25 -06:00
Mario Lang
0543729ec5 Fix typo 2019-12-22 23:31:55 +01:00
Brian Heim
92d549770b
Merge pull request #16 from mlang/multibyte
Fix decoding of evaluation results to support multibyte characters
2019-12-22 16:01:50 -06:00
Mario Lang
7285fb3358 Fix decoding of evaluation results to support multibyte characters
Symptom: (sclang-eval-sync "\"ö\"") evaluates to "ö"
After this patch: (sclang-eval-sync "\"ö\"") => "ö"

This was tricky to figure out, so here is a bit of background.
scel uses a so-called command FIFO to send (amongst other things) evaluation
results to Emacs.  This FIFO uses a pascal-string (32bit string length
followed by character data) to send Lisp to Emacs.  The command process
coding system is already set to 'no-conversion on the Emacs side
to avoid crippling the int32 at the beginning of every string.
However, the read-from-string call in sclang-command-process-filter
implicitly converts the unibyte string received from the process to
a multibyte string, without doing proper conversion.
The right function to use here is string-as-multibyte, which does
the correct conversion.
2019-12-17 08:32:05 +01:00
Mario Lang
406cfde4c5 Create a HelpSource directory and document the EmacsBuffer class 2019-12-15 19:51:40 +01:00
Brian Heim
da28459931
Merge pull request #14 from mlang/SCDocNode.storeLispOn
Allow serialisation of SCDocNode trees to Emacs Lisp
2019-12-15 10:04:26 -06:00
Mario Lang
6c74020a10 Allow serialisation of SCDocNode trees to Emacs Lisp 2019-12-15 08:02:03 +01:00
Brian Heim
857fcf763c
Merge pull request #13 from mlang/email
Update my email address
2019-12-14 09:50:27 -06:00
Mario Lang
7fbce73e7f Update my email address 2019-12-12 10:37:11 +01:00
Brian Heim
d0b42dd183
Merge pull request #11 from larme/fix-readme
update configuration file path in readme for macOS
2019-09-25 22:42:28 -05:00
Zhao Shenyang
223a53c29a update configuration file path in readme for macOS 2019-09-18 12:36:56 +08:00
Brian Heim
7ec76e4c02
Merge pull request #9 from widp/flet-macro-change
change instances of flet to cl-flet as flet is obsolete
2018-08-02 20:46:51 -05:00
widp
95120e310b change instances of flet to cl-flet as flet is obsolete 2018-07-28 20:01:58 +05:30
Brian Heim
0686452b0b
Merge pull request #7 from widp/el-files-fix
El files fix
2018-04-07 20:55:02 -04:00
widp
3ddfd3e677 Revert "Fixes link to "HelpSource" directory"
This reverts commit 5abf055a10.
2018-04-05 17:27:56 +05:30
tejaswidp
5abf055a10 Fixes link to "HelpSource" directory 2018-03-30 21:53:40 +05:30
tejaswidp
b12547a152 install *.el files irrespective of byte compilation option 2018-03-30 17:43:21 +05:30
tejaswi d prakash
f6c7228f09
Merge pull request #6 from widp/master
link to correct *.sc files in Readme
2018-03-30 08:39:39 +05:30
tejaswidp
6d206e023c link to correct *.sc files in Readme 2018-03-30 07:52:31 +05:30
LFSaw
aeea3ad4be Merge pull request #2870 from snappizz/topic/goodbye-old-osc
class lib: deprecate old OSC classes
2017-06-29 10:33:19 +02:00
Nathan Ho
e4df2cdff5 scel: remove reference to OSCresponderNode
This commit removes a reference to OSCresponderNode in the Emacs class.

For #2870.
2017-05-07 12:05:28 -07:00
modula t. worm
c52e2912b6 populate sclang-class-list 2016-11-21 17:37:37 -06:00
modula t. worm
16835a43e2 Prevent Emacs fontification failure w/ lots of classes - Fixes #248
What I've done to fix this:

- add a sclang-class-list variable in sclang-language.el, which is a
  list of all the classes known to sclang. this is populated when
  sclang starts.
- update sclang-font-lock-class-keyword-matcher in
  sclang-mode.el. since the sclang-class-name-regexp now will match
  all words that start with a capital letter (see next bullet point
  for that change), this function had to be updated to check to make
  sure that the word starting with a capital letter is in the list of
  classes. if it is, then we know it's a class and it gets
  highlighted. if it's not, then it's just something the user typed
  with a capital letter, so we don't highlight it.
- update sclang-update-font-lock in sclang-mode.el. instead of
  generating a huge regexp from a list of all the classes in
  SuperCollider, just run the normal fontification from that
  function. this avoids making the regexp too big and thus prevents
  fontification from failing.
2016-11-21 17:13:01 -06:00
Martin Marier
6d6ec77634 Fix bug #132
Fix #132.  Incorrect regexp caused methods names with a capital letter to be interpreted as a class name.  Adding a start of word \\< seems to fix it.
2016-10-05 03:51:37 -03:00
Chris Sattinger
820c3b3cd4 scel: fix serverRunning, avgCPU, peakCPU etc. (#2036)
bug with scide_scel
2016-05-07 17:12:04 +02:00
simdax
a88cc8b318 add "this." for serverRunning, avgCPU, peakCPU etc. 2016-05-07 16:19:27 +02:00
crucialfelix
881b34bf41 use "Walk Like and Egyptian" aka K&R braces for all class definitions
Sublime Text syntax grammar does not do multi-line matching,
so all editors that use this (including Atom and its symbol matching)
cannot detect classes defined as

    MyClass
    {

    }

This also makes all classes in the class lib consistent in style which is nice
for everybody.
2015-11-07 12:50:24 +01:00
Peter Vasil
023b5a41c6 scel: Fix mode-line update
`(force-mode-line-update)`  updates only the mode-line of  the current buffers. Providing a non-nil argument updates the mode-line of all buffers. This is particularly useful when having a split view with the server buffer and another buffer where current buffer is not the server buffer. (probably  a very common use case).
2015-09-30 21:32:16 +02:00
bion
3ca01e04ed Highlight uppercase symbols in emacs 2014-10-15 00:31:48 -07:00
Scott Wilson
6af534a0fb scide + lang: Remove Document redirect
This merges the Document and ScIDEDocument classes. This should improve readability and maintainability, and simplifies the implementation. As part of this:

- some duplicate methods are deprecated
- the previous Document has been copied into the scel folder to avoid breaking EmacsDocument

Signed-off-by: Scott Wilson <i@scottwilson.ca>
2013-11-12 14:37:49 +00:00
Yvan Volochine
fe43d2f24a README: remove all language identifiers from code blocks 2013-07-01 17:13:24 +02:00
Yvan Volochine
ab9cbc2866 README: use underlines instead of hash-signs for h1 & h2 headers 2013-07-01 17:05:15 +02:00
Yvan Volochine
63ff25df7a README: use plain text for URLs as Github automatically convert them 2013-07-01 15:02:18 +02:00
Yvan Volochine
76c2950609 README: change all README files extenstion to markdown 2013-06-29 19:15:54 +02:00
Yvan Volochine
ed4c7348c1 README: adapt all README files to markdown 2013-06-29 19:13:38 +02:00
Jonas Bernoulli
6f808bcece remove bundled elisp library tree-widget.el
This library is part of Emacs.  Bundling it in the same directory as
the sclang*.el libraries will put it on the load-path.  The bundled
version then shadows the newer version which is part of Emacs, which
can cause hard to detect problems.
2013-05-09 17:03:03 +02:00
Dan Stowell
ca2a432409 Improve error messages when cmake can't find optional things 2012-09-07 12:12:36 +01:00
Tim Blechmann
494cf1fe11 editors: scel - disabling bytecode compilation is an advanced option
Signed-off-by: Tim Blechmann <tim@klingt.org>
2012-03-07 23:34:01 +01:00
Tim Blechmann
f5f09b6090 editors: scel - do not require emacs when omitting bytecode compilation
Signed-off-by: Tim Blechmann <tim@klingt.org>
2012-03-07 23:34:01 +01:00
Tim Blechmann
dfb69f398b scel: add option to install without bytecode compilation
Signed-off-by: Tim Blechmann <tim@klingt.org>
2012-03-05 17:43:06 +01:00
Tim Blechmann
67d100d7d7 scel: install files to site-lisp/SuperCollider
adapted patch from debian package

Signed-off-by: Tim Blechmann <tim@klingt.org>
2012-03-05 17:43:06 +01:00
James Harkins
683930cd9b Bonehead: If you plan to escape \, do it FIRST before escaping anything else
This fixes an "Error in command handler" in emacs
2011-12-20 09:34:23 +08:00