I'm working on a VM running Centos 7 which ships with emacs 24.3. I wanted to install, use some newer packages requiring > 25.1 so I downloaded the source for emacs 25.2 and built it. When I try to load packages from MELPA it fails. If I run M-x eww https://melpa.org/packages/ I see the following:

400 Bad Request
The plain HTTP request was sent to HTTPS port.

My understanding was that Emacs 25.2 included TLS functionality. When I evaluate the below it prints tls IS NOT available. IS TLS support not included in Emacs 25.2? The Emacs GnuTLS manual states that it is an optional optional add-on. Did I miss something when I built it? Was I supposed to specify that I wanted the TLS library included?

(let (tlsAvailable (gnutls-available-p))
  (if (eq tlsAvailable nil) (message "tls IS NOT available") (message "tls IS available")))

2 Answers 2


This might be a start:

Your let-binding is probably not what you want. It just binds two variables to nil: tlsAvailable and gnutls-available-p.

I expect you really wanted this, which binds variable tlsAvailable to the result of calling nullary function gnutls-available-p.

(let ((tlsAvailable (gnutls-available-p)))
  • Ah ok. Thanks Drew. I am clearly a Lisp newbie. With the change the result is now "tls IS available". So the question becomes why despite being able to send the request using TLS does emacs 25.2 send a plain HTTP request.
    – Frank P
    Commented Apr 14, 2021 at 22:41
  • Please post that as a separate question. Questions should be specific, and not evolve. Thx.
    – Drew
    Commented Apr 15, 2021 at 0:06

I also had problems using the emacs 25 package manager (on CentOS 7), which went away when I built the latest. Try building 27.2.

  • OK. I may just do that. I haven't been using 25.2 for long but today I noticed another issue which is pretty bad. Doing a goto End of Buffer leads to 100% CPU and steadily increasing memory consumption until the process is killed.
    – Frank P
    Commented Apr 14, 2021 at 22:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.