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