rejeep / evm

Emacs Version Manager
223 stars 34 forks source link

It seems evm on Travis Ubuntu Trusty lacks thread support #119

Closed cjohansson closed 5 years ago

cjohansson commented 5 years ago

Running this inside emacs 25 and above should eval to t but for emacs built via EVM it seems to eval to nil: (fboundp 'make-thread)

Is it possible to enable thread support for EVM?

rejeep commented 5 years ago

(fboundp 'make-thread) evals to t for me (I'm using emacs-git-snapshot)

cjohansson commented 5 years ago

Ok can you see what I have done wrong with this travis config using evm

Here is my travis file

language: emacs-lisp

dist: trusty
before_install:
  - git clone https://github.com/rejeep/evm.git $HOME/.evm
  - export PATH=$HOME/.evm/bin:$PATH
  - evm config path /tmp
  - evm install $EVM_EMACS --use --skip

env:
  - EVM_EMACS=emacs-25.1-travis
  - EVM_EMACS=emacs-26.1-travis
  - EVM_EMACS=emacs-git-snapshot-travis

matrix:
  allow_failures:
    - env: EVM_EMACS=emacs-git-snapshot-travis

script:
  - emacs -Q --batch --eval '(message (emacs-version))'
  - make test

And my elisp:

(let (async-threads (fboundp 'make-thread))
      (if async-threads
          (message "\nNOTE: Running tests for asynchronous threads as well since it's loaded\n")
(message "\nNOTE: Skipping tests for asynchronous threads since it's not loaded\n")))
rejeep commented 5 years ago

Okay so you are using the Travis binaries... Those are compiled without a lot of stuff and probably excluding threads also (see README for what flags are used). I wouldn't mind adding support for threads, but then all binaries would have to be rebuild, so it's a lot of work.

You can compile from scratch on Travis, but then the build will be very slow.

cjohansson commented 5 years ago

Ah thanks, I understand. I'll compile manually then