On Tue, Jan 6, 2015 at 5:35 AM, Marcus <marcus.harnisch(a)xemacs.org> wrote:
This issue seems to be related to the conditional deciding whether
to
open a normal or a TLS connection in #'smtpmail-open-stream.
(let ((cred (smtpmail-find-credentials
smtpmail-starttls-credentials host port)))
(if (null (and cred (condition-case ()
;; XEmacs change
(with-boundp '(starttls-use-gnutls
starttls-gnutls-program
starttls-program)
(require 'starttls)
(call-process (if starttls-use-gnutls
starttls-gnutls-program
starttls-program)))
(error nil))))
This is difficult to debug since after using #'edebug-defun things
work consistently.
Which is consistent with things working if you evaluate the buffer.
While things are still *not* working, I can see in the trace-output
that #'smtpmail-find-credentials returns a list (i.e non-nil). Not
sure if cred is actually assigned, though. Tracing the condition-case
doesn't produce any output, as if it wasn't even called. This sort of
tells me that cred was nil.
Or maybe an error is being thrown. That condition-case form will
silently eat any errors. If so, we'll need to find out what the error
is to get any further.
I'm suspicious of that non-toplevel (require 'starttls). I wonder if
this problem would go away if we either moved that to toplevel, or
wrapped it in eval-and-compile. In either case, the with-boundp would
become unnecessary.
What does (featurep 'starttls) say when this code is NOT working for you?
--
Jerry James
http://www.jamezone.org/
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-beta