unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Fixing report-emacs-bug
@ 2005-06-30 10:15 David Reitter
  2005-06-30 19:37 ` Stefan Monnier
       [not found] ` <E1Do6bF-0001Uq-3j@fencepost.gnu.org>
  0 siblings, 2 replies; 23+ messages in thread
From: David Reitter @ 2005-06-30 10:15 UTC (permalink / raw)



[-- Attachment #1.1: Type: text/plain, Size: 10907 bytes --]

As described a while ago, report-emacs-bug doesn't work on Mac OS X  
(unless the user chooses to activate postfix). It swallows bug  
reports without indicating an error.

In general report-emacs-bug usually depends on working mail system  
being set up,  and despite an e-mail being sent off, the function  
doesn't respect the user's system-wide choice of an e-mail application.

The code below is adapted from what we use in Aquamacs Emacs. It  
extends the current functionality of emacsbug.el by defining two bug  
reporting methods: internal and external.
report-emacs-bug-externally-p is used to decide about the method, and  
as you can see, the setting depends on the value of browse-url- 
browser-function right now. It might be good to think of a better  
check here.

To prepare an external e-mail, we use a mailto: URL, which is handled  
by the underlying system / window-manager or the default browser.
Last time I checked, it worked fine on a KDE installation (GNU/Linux,  
RH8) with Mozilla. Foreseeable problems are caused by older browser  
versions that can't handle long URLs. But given that reporting  
doesn't work at all (and fails silently) on OS X (what's the status  
in the Windows port?), I found this to be the lesser evil in Aquamacs.

If there is sufficient interest and approval, I'd be happy to convert  
the below code into a patch for emacsbug.el.






;; aquamacs-bug.el  (modified for CVS Emacs)
;; Author: adapted from emacsbug.el by K. Shane Hartman
;; Maintainer: David Reitter
;; Keywords: mac bug report
;; Last change: $Id: aquamacs-bug.el,v 1.6 2005/06/27 11:43:03  
davidswelt Exp $

;; This file is part of Aquamacs Emacs
;; http://www.aquamacs.org/

;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.

;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;; GNU General Public License for more details.

;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING.  If not, write to the
;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
;; Boston, MA 02111-1307, USA.

;; Copyright (C) 1985, 1994, 1997, 1998, 2000, 2001, 2002
;; Free Software Foundation, Inc.

;; Copyright (C) 2005, David Reitter


(require 'emacsbug)

(setq report-emacs-bug-address "bug-gnu-emacs@gnu.org")
(setq report-emacs-bug-pretest-address "emacs-pretest-bug@gnu.org")

(defvar report-emacs-bug-cc-list nil
   "List of e-mail addresses to cc when reporting bugs.")

(defun report-emacs-bug-externally-p ()
"Returns non-nil if an external mail client is to be used in
order to report bugs. The decision is based on the browse-url
function used, because we leave it to the underlying system or
the HTML to bring up the appropriate mail client."
   (member browse-url-browser-function
       '(browse-url-mozilla
         browse-url-netscape
         browse-url-galeon
         browse-url-epiphany
         browse-url-netscape
         browse-url-kde
         browse-url-default-windows-browser
         browse-url-default-macosx-browser
         browse-url-gnome-moz
         )
       )
   )


(defun report-emacs-bug-print-preamble (address)
   (unless report-emacs-bug-no-explanations
     ;; Insert warnings for novice users.
     (insert "This bug report will be sent to the Free Software  
Foundation,\n")
     (let ((pos (point)))
       (insert "not to your local site managers!")
       (put-text-property pos (point) 'face 'highlight))
     (insert "\nPlease write in ")
     (let ((pos (point)))
       (insert "English")
       (put-text-property pos (point) 'face 'highlight))
     (insert " if possible, because the Emacs maintainers
usually do not have translators to read other languages for them.\n\n")
     (insert (format "Your bug report will be posted to the %s  
mailing list"
             address))
     (insert " and possibly to the gnu.emacs.bug news group.\n\n")
     )

   (insert "Please describe exactly what actions triggered the bug\n"
       "and the precise symptoms of the bug:")
   )


(defun report-emacs-bug-print-debug-log (&optional recent-keys)
   (insert "In " (emacs-version) "\n")
   (if (fboundp 'x-server-vendor)
       (condition-case nil
       (insert "Distributor `" (x-server-vendor) "', version "
           (mapconcat 'number-to-string (x-server-version) ".") "\n")
     (error t)))
   (if (and system-configuration-options
        (not (equal system-configuration-options "")))
       (insert "configured using `configure "
           system-configuration-options "'\n\n"))
   (insert "Important settings:\n")
   (mapcar
    '(lambda (var)
       (insert (format "  value of $%s: %s\n" var (getenv var))))
    '("LC_ALL" "LC_COLLATE" "LC_CTYPE" "LC_MESSAGES"
      "LC_MONETARY" "LC_NUMERIC" "LC_TIME" "LANG"))
   (insert (format "  locale-coding-system: %s\n" locale-coding-system))
   (insert (format "  default-enable-multibyte-characters: %s\n"
           default-enable-multibyte-characters))
   (insert "\n")
   (insert (format "Major mode: %s\n"
           (buffer-local-value 'mode-name from-buffer)))
   (insert "\n")
   (insert "Minor modes in effect:\n")
   (dolist (mode minor-mode-list)
     (and (boundp mode) (buffer-local-value mode from-buffer)
      (insert (format "  %s: %s\n" mode
              (buffer-local-value mode from-buffer)))))
   (insert "\n")
   (insert "Recent input:\n")
   (let ((before-keys (point)))
     (insert (mapconcat (lambda (key)
              (if (or (integerp key)
                  (symbolp key)
                  (listp key))
                  (single-key-description key)
                (prin1-to-string key nil)))
                (or recent-keys (recent-keys))
                " "))
     (save-restriction
       (narrow-to-region before-keys (point))
       (goto-char before-keys)
       (while (progn (move-to-column 50) (not (eobp)))
     (search-forward " " nil t)
     (insert "\n"))))
   (let ((message-buf (get-buffer "*Messages*")))
     (if message-buf
     (let (beg-pos
           (end-pos message-end-point))
       (with-current-buffer message-buf
         (goto-char end-pos)
         (forward-line -10)
         (setq beg-pos (point)))
       (insert "\n\nRecent messages:\n")
       (insert-buffer-substring message-buf beg-pos end-pos))
       )
     )
   )


(defun report-emacs-bug-externally ( topic recent-keys address)
   "Report a bug using the default mail agent. "

   (let ( (from-buffer (current-buffer))
     user-point prompt-beg-point message-end-point)

     (setq message-end-point
       (with-current-buffer (get-buffer-create "*Messages*")
         (point-max-marker)))

       (with-temp-buffer

          (setq prompt-beg-point (point))
          (report-emacs-bug-print-preamble address)

          (setq report-emacs-bug-text-prompt
                (buffer-substring prompt-beg-point (point)))

          (insert "\n\n\n\n\n\n\n\n\n(insert your text here)\n\n\n\n\n 
\n\n\n\n")

          (report-emacs-bug-print-debug-log recent-keys)


       ;; open in mail program
       ;; from here on, we have no control over what's going to happen.

       (browse-url (format "mailto:%s\?&subject=%s&body=%s%s"
               address
               (if topic (url-encode-string topic) "")
               (url-encode-string (buffer-string))
               (apply 'concat (mapcar
                (lambda (a) (concat "&cc=" a))
                report-emacs-bug-cc-list))

                )
       )
     )
   )
)


(defun report-emacs-bug-internally (topic recent-keys address)
"Report a bug using the internal mail system via ``compose-mail''"
   (let ((from-buffer (current-buffer))
     user-point prompt-beg-point message-end-point)
     (setq message-end-point
       (with-current-buffer (get-buffer-create "*Messages*")
         (point-max-marker)))
     (compose-mail address
           topic)
     ;; The rest of this does not execute
     ;; if the user was asked to confirm and said no.
     (rfc822-goto-eoh)
     (forward-line 1)

     (let ((signature (buffer-substring (point) (point-max))))
       (delete-region (point) (point-max))
       (insert signature)
       (backward-char (length signature)))
     (setq prompt-beg-point (point))

     (report-emacs-bug-print-preamble address)

     (setq report-emacs-bug-text-prompt
       (buffer-substring prompt-beg-point (point)))

     (insert "\n\n")
     (setq user-point (point))
     (insert "\n\n\n")

     (report-emacs-bug-print-debug-log recent-keys)

     ;; This is so the user has to type something
     ;; in order to send easily.
     (use-local-map (nconc (make-sparse-keymap) (current-local-map)))
     (define-key (current-local-map) "\C-c\C-i" 'report-emacs-bug-info)
     (unless report-emacs-bug-no-explanations
       (with-output-to-temp-buffer "*Bug Help*"
     (if (eq mail-user-agent 'sendmail-user-agent)
         (princ (substitute-command-keys
             "Type \\[mail-send-and-exit] to send the bug report.\n")))
     (princ (substitute-command-keys
         "Type \\[kill-buffer] RET to cancel (don't send it).\n"))
     (terpri)
     (princ (substitute-command-keys
         "Type \\[report-emacs-bug-info] to visit in Info the Emacs  
Manual section
about when and how to write a bug report,
and what information to supply so that the bug can be fixed.
Type SPC to scroll through this section and its subsections."))))
     ;; Make it less likely people will send empty messages.
     (make-local-variable 'mail-send-hook)
     (add-hook 'mail-send-hook 'report-emacs-bug-hook)
     (save-excursion
       (goto-char (point-max))
       (skip-chars-backward " \t\n")
       (make-local-variable 'report-emacs-bug-orig-text)
       (setq report-emacs-bug-orig-text (buffer-substring (point-min)  
(point))))
     (goto-char user-point)))


(defun report-emacs-bug (topic &optional recent-keys)
   "Report a bug in GNU Emacs.
Prompts for bug subject. Either leaves you in a mail buffer
or brings up an external mail client."

   ;; This strange form ensures that (recent-keys) is the value before
   ;; the bug subject string is read.
   (interactive (reverse (list (recent-keys) (read-string "Bug  
Subject: "))))

   (let ((address
      ;; If there are four numbers in emacs-version, this is a pretest
      ;; version.
      (if (string-match "\\..*\\..*\\." emacs-version)
          report-emacs-bug-pretest-address
        report-emacs-bug-address)
      )
     )
     (if (report-emacs-bug-externally-p)
     (report-emacs-bug-externally topic recent-keys address)
       (report-emacs-bug-internally topic recent-keys address)
       )
     )
   ) 

[-- Attachment #1.2: smime.p7s --]
[-- Type: application/pkcs7-signature, Size: 2400 bytes --]

[-- Attachment #2: Type: text/plain, Size: 142 bytes --]

_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Fixing report-emacs-bug
  2005-06-30 10:15 Fixing report-emacs-bug David Reitter
@ 2005-06-30 19:37 ` Stefan Monnier
  2005-07-03 19:14   ` David Reitter
       [not found] ` <E1Do6bF-0001Uq-3j@fencepost.gnu.org>
  1 sibling, 1 reply; 23+ messages in thread
From: Stefan Monnier @ 2005-06-30 19:37 UTC (permalink / raw)
  Cc: emacs-devel

> As described a while ago, report-emacs-bug doesn't work on Mac OS X (unless
> the user chooses to activate postfix).  It swallows bug reports without
> indicating an error.

Have you reported it as a bug to Apple?

As for report-internally/externally, could you post a patch against
emacsbug.el?


        Stefan

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Fixing report-emacs-bug
       [not found] ` <E1Do6bF-0001Uq-3j@fencepost.gnu.org>
@ 2005-07-01 10:31   ` David Reitter
  2005-07-01 22:45     ` Richard M. Stallman
  0 siblings, 1 reply; 23+ messages in thread
From: David Reitter @ 2005-07-01 10:31 UTC (permalink / raw)
  Cc: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 1294 bytes --]

On 30 Jun 2005, at 22:29, Richard M. Stallman wrote:

> What is the difference between your report-emacs-bug-internally
> function and the standard report-emacs-bug function?  Is it just that
> some of the code has been moved into a subroutine
> report-emacs-bug-print-debug-log?  That change would be fine to
> install, and that might greatly reduce the amount of change.

Yes, that's right. The code has been refactored into the two subroutines
report-emacs-bug-print-preamble and report-emacs-bug-print-debug-log.

> However, instead of adding this feature to emacsbug.el, can you make
> sendmail.el send mail "externally" as an option?  That would be much
> cleaner, wouldn't it?  And it would do more good.

I thought about this, but the thing is: the external bug reporting  
facility will run the mail client and cause it to start a new message  
editor. If we changed sendmail.el, we would present users with the  
internal editor first (for bug-reporting), then show them the same e- 
mail again in their external editor. That'd be confusing.

Yet, one could augment compose-mail to start the external agent. But  
I assume such changes would have knock-on effects that would be best  
considered after the release. Right?

I'm attaching the (revised) fix as a patch to emacsbug.el.



[-- Attachment #2: emacsbug-patch.el --]
[-- Type: application/octet-stream, Size: 15233 bytes --]

Index: emacsbug.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/mail/emacsbug.el,v
retrieving revision 1.64
diff -c -r1.64 emacsbug.el
*** emacsbug.el	23 Jun 2005 17:02:33 -0000	1.64
--- emacsbug.el	1 Jul 2005 10:24:10 -0000
***************
*** 1,13 ****
  ;;; emacsbug.el --- command to report Emacs bugs to appropriate mailing list
  
! ;; Copyright (C) 1985, 1994, 1997, 1998, 2000, 2001, 2002
  ;; Free Software Foundation, Inc.
  
  ;; Author: K. Shane Hartman
  ;; Maintainer: FSF
  ;; Keywords: maint mail
! 
! ;; Not fully installed because it can work only on Internet hosts.
  ;; This file is part of GNU Emacs.
  
  ;; GNU Emacs is free software; you can redistribute it and/or modify
--- 1,12 ----
  ;;; emacsbug.el --- command to report Emacs bugs to appropriate mailing list
  
! ;; Copyright (C) 1985, 1994, 1997, 1998, 2000, 2001, 2002, 2005
  ;; Free Software Foundation, Inc.
  
  ;; Author: K. Shane Hartman
  ;; Maintainer: FSF
  ;; Keywords: maint mail
!  
  ;; This file is part of GNU Emacs.
  
  ;; GNU Emacs is free software; you can redistribute it and/or modify
***************
*** 28,40 ****
  ;;; Commentary:
  
  ;; `M-x report-emacs-bug' starts an email note to the Emacs maintainers
! ;; describing a problem.  Here's how it's done...
  
! ;;; Code:
  
- ;; >> This should be an address which is accessible to your machine,
- ;; >> otherwise you can't use this file.  It will only work on the
- ;; >> internet with this address.
  
  (require 'sendmail)
  
--- 27,42 ----
  ;;; Commentary:
  
  ;; `M-x report-emacs-bug' starts an email note to the Emacs maintainers
! ;; describing a problem.  
! ;; Works on internet hosts and with an external mail client.
! 
! ;;; Internals:
  
! ;; report-emacs-bug-externally-p is used to decide whether to use
! ;; sendmail or to go through the external mail client. 
! ;; In the latter case, the installed client (or URL handler) will
! ;; need to process a long URL in mailto: format. 
  
  
  (require 'sendmail)
  
***************
*** 48,53 ****
--- 50,61 ----
    :group 'emacsbug
    :type 'string)
  
+ (defcustom report-emacs-bug-cc-list nil
+   "List of e-mail addresses to cc when reporting bugs."
+   :group 'emacsbug
+   :type '(repeat (string :tag "Address"))
+ )
+ 
  (defcustom report-emacs-bug-pretest-address "emacs-pretest-bug@gnu.org"
    "*Address of mailing list for GNU Emacs pretest bugs."
    :group 'emacsbug
***************
*** 69,92 ****
    :group 'emacsbug
    :type 'boolean)
  
! ;;;###autoload
! (defun report-emacs-bug (topic &optional recent-keys)
!   "Report a bug in GNU Emacs.
! Prompts for bug subject.  Leaves you in a mail buffer."
!   ;; This strange form ensures that (recent-keys) is the value before
!   ;; the bug subject string is read.
!   (interactive (reverse (list (recent-keys) (read-string "Bug Subject: "))))
!   ;; If there are four numbers in emacs-version, this is a pretest
!   ;; version.
!   (let ((pretest-p (string-match "\\..*\\..*\\." emacs-version))
! 	(from-buffer (current-buffer))
  	user-point prompt-beg-point message-end-point)
      (setq message-end-point
  	  (with-current-buffer (get-buffer-create "*Messages*")
  	    (point-max-marker)))
!     (compose-mail (if pretest-p
! 		      report-emacs-bug-pretest-address
! 		    report-emacs-bug-address)
  		  topic)
      ;; The rest of this does not execute
      ;; if the user was asked to confirm and said no.
--- 77,258 ----
    :group 'emacsbug
    :type 'boolean)
  
! (defun report-emacs-bug-externally-p ()
! "Returns non-nil if an external mail client is to be used in 
! order to report bugs. The decision is based on the browse-url 
! function used, because we leave it to the underlying system or 
! HTML browser to bring up the appropriate mail client.
! On systems where sendmail is inoperable by default, this
! function usually returns non-nil."
!  
!   (member browse-url-browser-function
! 	  '(browse-url-mozilla 
! 	    browse-url-netscape 
! 	    browse-url-galeon 
! 	    browse-url-epiphany 
! 	    browse-url-netscape 
! 	    browse-url-kde 
! 	    browse-url-default-windows-browser 
! 	    browse-url-default-macosx-browser 
! 	    browse-url-gnome-moz 
! 	    )
! 	  )
!   )
! 
! (defun report-emacs-bug-print-preamble (address)
!   (unless report-emacs-bug-no-explanations
!     ;; Insert warnings for novice users.
!     (insert "This bug report will be sent to the Free Software Foundation,\n")
!     (let ((pos (point)))
!       (insert "not to your local site managers!")
!       (put-text-property pos (point) 'face 'highlight))
!     (insert "\nPlease write in ")
!     (let ((pos (point)))
!       (insert "English")
!       (put-text-property pos (point) 'face 'highlight))
!     (insert " if possible, because the Emacs maintainers
! usually do not have translators to read other languages for them.\n\n")
!     (insert (format "Your bug report will be posted to the %s mailing list"
! 		    address))
!     (insert " and possibly to the gnu.emacs.bug news group.\n\n")
!     )
! 
!   (insert "Please describe exactly what actions triggered the bug\n"
! 	  "and the precise symptoms of the bug:")
!   )
! 
! (defun report-emacs-bug-print-debug-log (from-buffer message-end-point &optional recent-keys)
!   (insert "In " (emacs-version) "\n")
!   (if (fboundp 'x-server-vendor)
!       (condition-case nil
! 	  (insert "Display server distributor `" (x-server-vendor) "', version "
! 		  (mapconcat 'number-to-string (x-server-version) ".") "\n")
! 	(error t)))
!   (if (and system-configuration-options
! 	   (not (equal system-configuration-options "")))
!       (insert "configured using `configure "
! 	      system-configuration-options "'\n\n"))
!   (insert "Important settings:\n")
!   (mapcar
!    '(lambda (var)
!       (insert (format "  value of $%s: %s\n" var (getenv var))))
!    '("LC_ALL" "LC_COLLATE" "LC_CTYPE" "LC_MESSAGES"
!      "LC_MONETARY" "LC_NUMERIC" "LC_TIME" "LANG"))
!   (insert (format "  locale-coding-system: %s\n" locale-coding-system))
!   (insert (format "  default-enable-multibyte-characters: %s\n"
! 		  default-enable-multibyte-characters))
!   (insert "\n")
!   (insert (format "Major mode: %s\n"
! 		  (buffer-local-value 'mode-name from-buffer)))
!   (insert "\n")
!   (insert "Minor modes in effect:\n")
!   (dolist (mode minor-mode-list)
!     (and (boundp mode) (buffer-local-value mode from-buffer)
! 	 (insert (format "  %s: %s\n" mode
! 			 (buffer-local-value mode from-buffer)))))
!   (insert "\n")
!   (insert "Recent input:\n")
!   (let ((before-keys (point)))
!     (insert (mapconcat (lambda (key)
! 			 (if (or (integerp key)
! 				 (symbolp key)
! 				 (listp key))
! 			     (single-key-description key)
! 			   (prin1-to-string key nil)))
! 		       (or recent-keys (recent-keys))
! 		       " "))
!     (save-restriction
!       (narrow-to-region before-keys (point))
!       (goto-char before-keys)
!       (while (progn (move-to-column 50) (not (eobp)))
! 	(search-forward " " nil t)
! 	(insert "\n"))))
!   (let ((message-buf (get-buffer "*Messages*")))
!     (if message-buf
! 	(let (beg-pos
! 	      (end-pos message-end-point))
! 	  (with-current-buffer message-buf
! 	    (goto-char end-pos)
! 	    (forward-line -10)
! 	    (setq beg-pos (point)))
! 	  (insert "\n\nRecent messages:\n")
! 	  (insert-buffer-substring message-buf beg-pos end-pos))
!       )
!     )
!   )
! 
! ;; Copied from w3m-url-encode-string (w3m.el)
! (defun url-encode-string (string &optional coding)
!   "Encode STRING by url-encoding.
! Optional CODING is used for encoding coding-system."
!   (apply (function concat)
! 	 (mapcar
! 	  (lambda (ch)
! 	    (cond
! 	     ((eq ch ?\n)		; newline
! 	      "%0D%0A")
! 	     ((string-match "[-a-zA-Z0-9_:/.]" (char-to-string ch))
! 	      (char-to-string ch))	; printable
! 	     ((char-equal ch ?\x20)	; space
! 	      "%20")
! 	     (t
! 	      (format "%%%02x" ch))))	; escape
! 	  ;; Coerce a string to a list of chars.
! 	  (append (encode-coding-string (or string "")
! 					(or coding
! 					    file-name-coding-system))
! 		  nil))))
! 
! (defun report-emacs-bug-externally ( topic recent-keys address)
!   "Report a bug using the default mail agent. "
!     
!   (let ( (from-buffer (current-buffer))
! 	user-point prompt-beg-point message-end-point)
!       
!     (setq message-end-point
! 	  (with-current-buffer (get-buffer-create "*Messages*")
! 	    (point-max-marker)))
!     
!       (with-temp-buffer  
!  
! 		 
! 		 (setq prompt-beg-point (point)) 
! 		 (report-emacs-bug-print-preamble address)
!     
! 		 (setq report-emacs-bug-text-prompt
! 		       (buffer-substring prompt-beg-point (point)))
! 
! 		 (insert "\n\n\n\n\n\n\n\n\n(insert your text here)\n\n\n\n\n\n\n\n\n")
! 
! 		 (report-emacs-bug-print-debug-log from-buffer message-end-point recent-keys)
!  	       
! 	   
!       ;; open in mail program
!       ;; from here on, we have no control over what's going to happen.
! 
!       (browse-url (format "mailto:%s\?&subject=%s&body=%s%s" 
! 			  address
! 			  (if topic (url-encode-string topic) "")
! 			  (url-encode-string (buffer-string))
! 			  (apply 'concat (mapcar 
! 			   (lambda (a) (concat "&cc=" a))
! 			   report-emacs-bug-cc-list))
! 			  
! 			   )
!       )
!     )
!   )
! )
! 
! (defun report-emacs-bug-internally (topic recent-keys address)
! "Report a bug using the internal mail system via ``compose-mail''"
!  
!   (let ((from-buffer (current-buffer))
  	user-point prompt-beg-point message-end-point)
      (setq message-end-point
  	  (with-current-buffer (get-buffer-create "*Messages*")
  	    (point-max-marker)))
!     (compose-mail address
  		  topic)
      ;; The rest of this does not execute
      ;; if the user was asked to confirm and said no.
***************
*** 98,125 ****
        (insert signature)
        (backward-char (length signature)))
      (setq prompt-beg-point (point))
-     (unless report-emacs-bug-no-explanations
-       ;; Insert warnings for novice users.
-       (insert "This bug report will be sent to the Free Software Foundation,\n")
-       (let ((pos (point)))
- 	(insert "not to your local site managers!")
- 	(put-text-property pos (point) 'face 'highlight))
-       (insert "\nPlease write in ")
-       (let ((pos (point)))
- 	(insert "English")
- 	(put-text-property pos (point) 'face 'highlight))
-       (insert " if possible, because the Emacs maintainers
- usually do not have translators to read other languages for them.\n\n")
-       (insert (format "Your bug report will be posted to the %s mailing list"
- 		      (if pretest-p
- 			  report-emacs-bug-pretest-address
- 			report-emacs-bug-address)))
-       (if pretest-p
- 	  (insert ".\n\n")
- 	(insert ",\nand to the gnu.emacs.bug news group.\n\n")))
  
!     (insert "Please describe exactly what actions triggered the bug\n"
! 	    "and the precise symptoms of the bug:")
      (setq report-emacs-bug-text-prompt
  	  (buffer-substring prompt-beg-point (point)))
  
--- 264,272 ----
        (insert signature)
        (backward-char (length signature)))
      (setq prompt-beg-point (point))
  
!     (report-emacs-bug-print-preamble address)
!     
      (setq report-emacs-bug-text-prompt
  	  (buffer-substring prompt-beg-point (point)))
  
***************
*** 127,187 ****
      (setq user-point (point))
      (insert "\n\n\n")
  
!     (insert "In " (emacs-version) "\n")
!     (if (fboundp 'x-server-vendor)
! 	(condition-case nil
! 	    (insert "X server distributor `" (x-server-vendor) "', version "
! 		    (mapconcat 'number-to-string (x-server-version) ".") "\n")
! 	  (error t)))
!     (if (and system-configuration-options
! 	     (not (equal system-configuration-options "")))
! 	(insert "configured using `configure "
! 		system-configuration-options "'\n\n"))
!     (insert "Important settings:\n")
!     (mapcar
!      '(lambda (var)
! 	(insert (format "  value of $%s: %s\n" var (getenv var))))
!      '("LC_ALL" "LC_COLLATE" "LC_CTYPE" "LC_MESSAGES"
!        "LC_MONETARY" "LC_NUMERIC" "LC_TIME" "LANG"))
!     (insert (format "  locale-coding-system: %s\n" locale-coding-system))
!     (insert (format "  default-enable-multibyte-characters: %s\n"
! 		    default-enable-multibyte-characters))
!     (insert "\n")
!     (insert (format "Major mode: %s\n"
! 		    (buffer-local-value 'mode-name from-buffer)))
!     (insert "\n")
!     (insert "Minor modes in effect:\n")
!     (dolist (mode minor-mode-list)
!       (and (boundp mode) (buffer-local-value mode from-buffer)
! 	   (insert (format "  %s: %s\n" mode
! 			   (buffer-local-value mode from-buffer)))))
!     (insert "\n")
!     (insert "Recent input:\n")
!     (let ((before-keys (point)))
!       (insert (mapconcat (lambda (key)
! 			   (if (or (integerp key)
! 				   (symbolp key)
! 				   (listp key))
! 			       (single-key-description key)
! 			     (prin1-to-string key nil)))
! 			 (or recent-keys (recent-keys))
! 			 " "))
!       (save-restriction
! 	(narrow-to-region before-keys (point))
! 	(goto-char before-keys)
! 	(while (progn (move-to-column 50) (not (eobp)))
! 	  (search-forward " " nil t)
! 	  (insert "\n"))))
!     (let ((message-buf (get-buffer "*Messages*")))
!       (if message-buf
! 	  (let (beg-pos
! 		(end-pos message-end-point))
! 	    (with-current-buffer message-buf
! 	      (goto-char end-pos)
! 	      (forward-line -10)
! 	      (setq beg-pos (point)))
! 	    (insert "\n\nRecent messages:\n")
! 	    (insert-buffer-substring message-buf beg-pos end-pos))))
      ;; This is so the user has to type something
      ;; in order to send easily.
      (use-local-map (nconc (make-sparse-keymap) (current-local-map)))
--- 274,281 ----
      (setq user-point (point))
      (insert "\n\n\n")
  
!     (report-emacs-bug-print-debug-log from-buffer message-end-point recent-keys)
! 
      ;; This is so the user has to type something
      ;; in order to send easily.
      (use-local-map (nconc (make-sparse-keymap) (current-local-map)))
***************
*** 209,214 ****
--- 303,337 ----
        (setq report-emacs-bug-orig-text (buffer-substring (point-min) (point))))
      (goto-char user-point)))
  
+ 
+ 
+ ;;;###autoload
+ (defun report-emacs-bug (topic &optional recent-keys)
+   "Report a bug in GNU Emacs.
+ Prompts for bug subject. Either leaves you in a mail buffer 
+ or brings up an external mail client, depending on your
+ system settings, i.e. your chosen URL browser function that
+ should handle sending e-mail."
+ 
+   ;; This strange form ensures that (recent-keys) is the value before
+   ;; the bug subject string is read.
+   (interactive (reverse (list (recent-keys) (read-string "Bug Subject: "))))
+ 
+   (let ((address
+ 	 ;; If there are four numbers in emacs-version, this is a pretest
+ 	 ;; version.
+ 	 (if (string-match "\\..*\\..*\\." emacs-version)
+ 	     report-emacs-bug-pretest-address
+ 	   report-emacs-bug-address)
+ 	 )
+ 	)
+     (if (report-emacs-bug-externally-p)
+ 	(report-emacs-bug-externally topic recent-keys address)
+       (report-emacs-bug-internally topic recent-keys address)
+       )
+     )
+   )
+ 
  (defun report-emacs-bug-info ()
    "Go to the Info node on reporting Emacs bugs."
    (interactive)

[-- Attachment #3: Type: text/plain, Size: 142 bytes --]

_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Fixing report-emacs-bug
  2005-07-01 10:31   ` David Reitter
@ 2005-07-01 22:45     ` Richard M. Stallman
  2005-07-03 19:21       ` David Reitter
  0 siblings, 1 reply; 23+ messages in thread
From: Richard M. Stallman @ 2005-07-01 22:45 UTC (permalink / raw)
  Cc: monnier, emacs-devel

    I thought about this, but the thing is: the external bug reporting  
    facility will run the mail client and cause it to start a new message  
    editor. If we changed sendmail.el, we would present users with the  
    internal editor first (for bug-reporting), then show them the same e- 
    mail again in their external editor. That'd be confusing.

Maybe, but I think suitable messages could avoid the confusion.

    Yet, one could augment compose-mail to start the external agent. But  
    I assume such changes would have knock-on effects that would be best  
    considered after the release. Right?

Not necessarily.  If it is a completely new path of control flow,
and it only gets used on the Mac, it won't break anything.

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Fixing report-emacs-bug
  2005-06-30 19:37 ` Stefan Monnier
@ 2005-07-03 19:14   ` David Reitter
  2005-07-04  6:16     ` Richard M. Stallman
  2005-07-04 17:37     ` Stefan Monnier
  0 siblings, 2 replies; 23+ messages in thread
From: David Reitter @ 2005-07-03 19:14 UTC (permalink / raw)
  Cc: emacs-devel

On 30 Jun 2005, at 20:37, Stefan Monnier wrote:

>> As described a while ago, report-emacs-bug doesn't work on Mac OS  
>> X (unless
>> the user chooses to activate postfix).  It swallows bug reports  
>> without
>> indicating an error.
>>
>
> Have you reported it as a bug to Apple?

No I haven't.
I'm not sure what the correct behavior would be.
What happens on other Unix systems when you shut down postfix and run  
sendmail?
The message gets put in the queue, correct? Well, that's what happens  
here on OS X as well.

So the desired behavior would probably be that sendmail gives a  
warning to stderr when it is called, right?

If so, would Emacs actually pick that up (at the right point in time)?
I suppose not, since sendmail is only called when the e-mail is to be  
sent, right?

So in the end, the bug report might actually go to the Postfix  
maintainers, not to Apple - because it's all functionality  
implemented by Postfix.

But I think what we could do is have sendmail.el issue a 'sendmail - 
q' command, which flushes the mail queue if the mail system is  
running. If not, you get this:

lucy:~/Sites dr$ sendmail -q
postqueue: fatal: Cannot flush mail queue - mail system is down

Now by looking for "fatal", we can tell whether the e-mail could  
actually be delivered.

What might make sense is to do that BEFORE starting the mail buffer -  
either when doing compose-mail (is this called by the bug reporting  
function?) or in the report-emacs-bug. If the mail system is live, is  
probably alright to assume that it is configured to actually deliver  
e-mail.

If not - which will be the case in most vanilla Mac OS X  
installations! - , we still have to go through the external reporting  
method that I have implemented.

>
> As for report-internally/externally, could you post a patch against
> emacsbug.el?

Yes, done (a few days ago).

- D

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Fixing report-emacs-bug
  2005-07-01 22:45     ` Richard M. Stallman
@ 2005-07-03 19:21       ` David Reitter
  2005-07-03 20:52         ` Lennart Borgman
  2005-07-04  6:17         ` Richard M. Stallman
  0 siblings, 2 replies; 23+ messages in thread
From: David Reitter @ 2005-07-03 19:21 UTC (permalink / raw)
  Cc: monnier, emacs-devel

On 1 Jul 2005, at 23:45, Richard M. Stallman wrote:

>     I thought about this, but the thing is: the external bug reporting
>     facility will run the mail client and cause it to start a new  
> message
>     editor. If we changed sendmail.el, we would present users with the
>     internal editor first (for bug-reporting), then show them the  
> same e-
>     mail again in their external editor. That'd be confusing.
>
> Maybe, but I think suitable messages could avoid the confusion.

What about using the APIs provided by the various systems to send e- 
mail?
On Windows, it's MAPI - on Unix it's generally sendmail, and  I don't  
know if there is a special one on the Mac.

>     Yet, one could augment compose-mail to start the external  
> agent. But
>     I assume such changes would have knock-on effects that would be  
> best
>     considered after the release. Right?
>
> Not necessarily.  If it is a completely new path of control flow,
> and it only gets used on the Mac, it won't break anything.

Who would use that?
People that use Emacs for e-mail will certainly want to set up their  
postfix system and not compose e-mails in Emacs and then editing it  
in an external e-mail client before it's sent off. Or are there  
packages that use sendmail a lot? Do people use Emacs for certain non- 
regular e-mail? Then, I would certainly see why this would make a lot  
of sense. And we should realize it as a general option, which could  
be on by default only on the Mac. I'd be happy to take a look at that.

Also, I posted some ideas regarding sendmail (and checking whether  
it's live) in my previous post.

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Fixing report-emacs-bug
  2005-07-03 19:21       ` David Reitter
@ 2005-07-03 20:52         ` Lennart Borgman
  2005-07-04  6:17         ` Richard M. Stallman
  1 sibling, 0 replies; 23+ messages in thread
From: Lennart Borgman @ 2005-07-03 20:52 UTC (permalink / raw)
  Cc: emacs-devel, rms, monnier

David Reitter wrote:

>
> What about using the APIs provided by the various systems to send e- 
> mail?
> On Windows, it's MAPI - on Unix it's generally sendmail, and  I don't  
> know if there is a special one on the Mac.

I suspect making it easier for various users to submit bug reports would 
make them arrive earlier. And integration in the environment gives a 
much better image.

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Fixing report-emacs-bug
  2005-07-03 19:14   ` David Reitter
@ 2005-07-04  6:16     ` Richard M. Stallman
  2005-07-04 10:07       ` David Reitter
                         ` (2 more replies)
  2005-07-04 17:37     ` Stefan Monnier
  1 sibling, 3 replies; 23+ messages in thread
From: Richard M. Stallman @ 2005-07-04  6:16 UTC (permalink / raw)
  Cc: monnier, emacs-devel

    So the desired behavior would probably be that sendmail gives a  
    warning to stderr when it is called, right?

sendmail.el could be programmed to check for this.

    If so, would Emacs actually pick that up (at the right point in time)?
    I suppose not, since sendmail is only called when the e-mail is to be  
    sent, right?

That is true, but it may not be as bad as you think.

    But I think what we could do is have sendmail.el issue a 'sendmail - 
    q' command, which flushes the mail queue if the mail system is  
    running. If not, you get this:

That would work too.

However, I am wondering if there is some confusion.
If Postfix is running, why doesn't sendmail.el send out
mail thru Postfix?

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Fixing report-emacs-bug
  2005-07-03 19:21       ` David Reitter
  2005-07-03 20:52         ` Lennart Borgman
@ 2005-07-04  6:17         ` Richard M. Stallman
  1 sibling, 0 replies; 23+ messages in thread
From: Richard M. Stallman @ 2005-07-04  6:17 UTC (permalink / raw)
  Cc: monnier, emacs-devel

    What about using the APIs provided by the various systems to send e- 
    mail?
    On Windows, it's MAPI - on Unix it's generally sendmail, and  I don't  
    know if there is a special one on the Mac.

I don't either, but it could be a good approach if it isn't too hard.
If sendmail.el uses this, everything will work.

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Fixing report-emacs-bug
  2005-07-04  6:16     ` Richard M. Stallman
@ 2005-07-04 10:07       ` David Reitter
  2005-07-04 10:24       ` Jan D.
  2005-07-04 15:16       ` Joakim Verona
  2 siblings, 0 replies; 23+ messages in thread
From: David Reitter @ 2005-07-04 10:07 UTC (permalink / raw)
  Cc: monnier, emacs-devel

On 4 Jul 2005, at 07:16, Richard M. Stallman wrote:
>
>     But I think what we could do is have sendmail.el issue a  
> 'sendmail -
>     q' command, which flushes the mail queue if the mail system is
>     running. If not, you get this:
>
> That would work too.
>
> However, I am wondering if there is some confusion.
> If Postfix is running, why doesn't sendmail.el send out
> mail thru Postfix?

OS X comes with Postfix installed, but not configured. Postfix is not  
running by default (security considerations).
That means that sendmail is installed and accepts messages, but puts  
them in a queue. Because Postfix is not running, they never get sent  
off, and no bounce is generated either.

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Fixing report-emacs-bug
  2005-07-04  6:16     ` Richard M. Stallman
  2005-07-04 10:07       ` David Reitter
@ 2005-07-04 10:24       ` Jan D.
  2005-07-04 16:48         ` Richard M. Stallman
  2005-07-04 15:16       ` Joakim Verona
  2 siblings, 1 reply; 23+ messages in thread
From: Jan D. @ 2005-07-04 10:24 UTC (permalink / raw)
  Cc: David Reitter, monnier, emacs-devel

>
>     But I think what we could do is have sendmail.el issue a  
> 'sendmail -
>     q' command, which flushes the mail queue if the mail system is
>     running. If not, you get this:
>
> That would work too.
>
> However, I am wondering if there is some confusion.
> If Postfix is running, why doesn't sendmail.el send out
> mail thru Postfix?

Postfix is not running by default on Mac. Mostly the mail programs  
used (Mail.app, Thunderbird, Mozilla, etc) talks directly with SMTP  
to whatever host has been configured in that program.

     Jan D.

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Fixing report-emacs-bug
  2005-07-04  6:16     ` Richard M. Stallman
  2005-07-04 10:07       ` David Reitter
  2005-07-04 10:24       ` Jan D.
@ 2005-07-04 15:16       ` Joakim Verona
  2005-07-04 16:03         ` David Reitter
  2 siblings, 1 reply; 23+ messages in thread
From: Joakim Verona @ 2005-07-04 15:16 UTC (permalink / raw)



Just an idea:

Maybe a fallback method for report-emacs-bug could be implemented that
uses the emacs url library.

If mailing doesnt work, emacs could try posting the bug report through
a web form.

The benefit would be that as long as the emacs user has a working
internet connection, the bug-report would with a high degree of
reliability be delivered to the web server. 

The web server could then mail the report as usual to emacs bugs.

The drawback would be that there would have to be a webserver running
a mailer script, that would have to be high uptime, and maybe could be
abused.




"Richard M. Stallman" <rms@gnu.org> writes:

>     So the desired behavior would probably be that sendmail gives a  
>     warning to stderr when it is called, right?
>
> sendmail.el could be programmed to check for this.
>
>     If so, would Emacs actually pick that up (at the right point in time)?
>     I suppose not, since sendmail is only called when the e-mail is to be  
>     sent, right?
>
> That is true, but it may not be as bad as you think.
>
>     But I think what we could do is have sendmail.el issue a 'sendmail - 
>     q' command, which flushes the mail queue if the mail system is  
>     running. If not, you get this:
>
> That would work too.
>
> However, I am wondering if there is some confusion.
> If Postfix is running, why doesn't sendmail.el send out
> mail thru Postfix?

-- 
Joakim Verona
www.verona.se

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Fixing report-emacs-bug
  2005-07-04 15:16       ` Joakim Verona
@ 2005-07-04 16:03         ` David Reitter
  0 siblings, 0 replies; 23+ messages in thread
From: David Reitter @ 2005-07-04 16:03 UTC (permalink / raw)
  Cc: emacs-devel

On 4 Jul 2005, at 16:16, Joakim Verona wrote:

> If mailing doesnt work, emacs could try posting the bug report through
> a web form.

I thought about something like that - actually without a web form,  
but with a CGI script that takes the input via the URL library and  
forwards it to the normal email address. That would be dead simple to  
implement.

I did it via the standard mail client because

a)
> The drawback would be that there would have to be a webserver running
> a mailer script, that would have to be high uptime, and maybe could be
> abused.

.. which would have to be installed, even though we can effectively  
prevent abuse.

b)
the reports sent through the form are not guaranteed to contain a  
decent e-mail return address, which is pretty important for follow-up  
questions. If sent through the e-mail client on the user's machine,  
there will be a correct return address. 

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Fixing report-emacs-bug
  2005-07-04 10:24       ` Jan D.
@ 2005-07-04 16:48         ` Richard M. Stallman
  0 siblings, 0 replies; 23+ messages in thread
From: Richard M. Stallman @ 2005-07-04 16:48 UTC (permalink / raw)
  Cc: david.reitter, monnier, emacs-devel

    Postfix is not running by default on Mac. Mostly the mail programs  
    used (Mail.app, Thunderbird, Mozilla, etc) talks directly with SMTP  
    to whatever host has been configured in that program.

How silly not to provide a command-line program which does the same.
Emacs surely is not the only program that will not work.

    OS X comes with Postfix installed, but not configured. Postfix is not  
    running by default (security considerations).

What are these supposed "security considerations"?  Surely there
is not REALLY a security problem with running a mailer.

    That means that sendmail is installed and accepts messages, but puts  
    them in a queue. Because Postfix is not running, they never get sent  
    off, and no bounce is generated either.

Is there any way to detect that this is the case?
One way is to run ps -ax and see if Postfix is running.
That is inelegant but would be better than failing to work.

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Fixing report-emacs-bug
  2005-07-03 19:14   ` David Reitter
  2005-07-04  6:16     ` Richard M. Stallman
@ 2005-07-04 17:37     ` Stefan Monnier
  2005-07-04 17:46       ` David Reitter
  1 sibling, 1 reply; 23+ messages in thread
From: Stefan Monnier @ 2005-07-04 17:37 UTC (permalink / raw)
  Cc: emacs-devel

>>> As described a while ago, report-emacs-bug doesn't work on Mac OS
>>> X (unless the user chooses to activate postfix).  It swallows bug
>>> reports  without indicating an error.
>>> 
>> 
>> Have you reported it as a bug to Apple?

> No I haven't.
> I'm not sure what the correct behavior would be.

Doesn't matter.  The bug is simple: in a default config of OS X, if you do
"sendmail foo@bar <somemail" the mail is lost without any error message.

> What happens on other Unix systems when you shut down postfix and
> run sendmail?

Doesn't matter either.

> So the desired behavior would probably be that sendmail gives a warning to
> stderr when it is called, right?

A warning or an error, yes: If Postfix is not configured, it should not
accept any mail.

> So in the end, the bug report might actually go to the Postfix maintainers,
> not to Apple - because it's all functionality implemented by Postfix.

It's for Apple to make this call.  Just like if you use an Debian package of
Emacs, you should send your bug-reports to Debian, not here.


        Stefan

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Fixing report-emacs-bug
  2005-07-04 17:37     ` Stefan Monnier
@ 2005-07-04 17:46       ` David Reitter
  2005-07-04 18:35         ` Stefan Monnier
  0 siblings, 1 reply; 23+ messages in thread
From: David Reitter @ 2005-07-04 17:46 UTC (permalink / raw)
  Cc: emacs-devel

On 4 Jul 2005, at 18:37, Stefan Monnier wrote:
>
> Doesn't matter.  The bug is simple: in a default config of OS X, if  
> you do
> "sendmail foo@bar <somemail" the mail is lost without any error  
> message.

It seems to go into the queue.
Just like on a GNU/Linux system with postfix shut down (is that so?  
can't check this lacking root access on our systems.)

>  A warning or an error, yes: If Postfix is not configured, it  
> should not
> accept any mail.

OK, that's a good idea.  I'll report this. But don't expect this to  
be changed any time soon.
Emacs should act appropriately, whether sendmail swallows stuff or  
whether it purposefully chokes on e-mails. And I'm saying it should  
go through the system's standard mail client.

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Fixing report-emacs-bug
  2005-07-04 17:46       ` David Reitter
@ 2005-07-04 18:35         ` Stefan Monnier
  2005-07-04 18:49           ` Lennart Borgman
  2005-07-04 19:52           ` David Reitter
  0 siblings, 2 replies; 23+ messages in thread
From: Stefan Monnier @ 2005-07-04 18:35 UTC (permalink / raw)
  Cc: emacs-devel

>> Doesn't matter.  The bug is simple: in a default config of OS X, if  you do
>> "sendmail foo@bar <somemail" the mail is lost without any error  message.

> It seems to go into the queue.

Who cares?  All the end user sees is that, without having messed with the
system in any way, her email didn't get to the destination and she didn't
receive a bounce either.  I.e. it's "lost".

Whether a hacker/guru can recover the email 2 years later or not is beside
the point.

> Just like on a GNU/Linux system with postfix shut down (is that so?  can't
> check this lacking root access on our systems.)

Could be, but that doesn't make the behavior correct on Mac OS X.

> OK, that's a good idea.  I'll report this. But don't expect this to  be
> changed any time soon.

Of course not.  But I just get really annoyed when people ask us to work
around bugs in proprietary systems without even bothering to try and get
those bugs fixed.


        Stefan

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Fixing report-emacs-bug
  2005-07-04 18:35         ` Stefan Monnier
@ 2005-07-04 18:49           ` Lennart Borgman
  2005-07-04 19:34             ` Jason Rumney
  2005-07-04 19:52           ` David Reitter
  1 sibling, 1 reply; 23+ messages in thread
From: Lennart Borgman @ 2005-07-04 18:49 UTC (permalink / raw)
  Cc: David Reitter, emacs-devel

Stefan Monnier wrote:

>Of course not.  But I just get really annoyed when people ask us to work
>around bugs in proprietary systems without even bothering to try and get
>those bugs fixed.
>  
>
I need some education here. Was not MAPI meant to provide a standard API 
for mail on different systems? Could not that be used in situations like 
bug reporting? It does not seem proprietary to me, or is it?

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Fixing report-emacs-bug
  2005-07-04 18:49           ` Lennart Borgman
@ 2005-07-04 19:34             ` Jason Rumney
  0 siblings, 0 replies; 23+ messages in thread
From: Jason Rumney @ 2005-07-04 19:34 UTC (permalink / raw)
  Cc: David Reitter, Stefan Monnier, emacs-devel

Lennart Borgman <lennart.borgman.073@student.lu.se> writes:

> I need some education here. Was not MAPI meant to provide a standard
> API for mail on different systems? Could not that be used in
> situations like bug reporting? It does not seem proprietary to me, or
> is it?

MAPI is a proprietary Windows API. It is of no use to us.

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Fixing report-emacs-bug
  2005-07-04 18:35         ` Stefan Monnier
  2005-07-04 18:49           ` Lennart Borgman
@ 2005-07-04 19:52           ` David Reitter
  2005-07-04 22:02             ` Stefan Monnier
  2005-07-05  2:38             ` Miles Bader
  1 sibling, 2 replies; 23+ messages in thread
From: David Reitter @ 2005-07-04 19:52 UTC (permalink / raw)
  Cc: emacs-devel

On 4 Jul 2005, at 19:35, Stefan Monnier wrote:

> Who cares?  All the end user sees is that, without having messed  
> with the
> system in any way, her email didn't get to the destination and she  
> didn't
> receive a bounce either.  I.e. it's "lost".
>
> Whether a hacker/guru can recover the email 2 years later or not is  
> beside
> the point.

I agree 100%. That's why it would be good to get a warning from  
sendmail.

>> Just like on a GNU/Linux system with postfix shut down (is that  
>> so?  can't
>> check this lacking root access on our systems.)
>>
>
> Could be, but that doesn't make the behavior correct on Mac OS X.

Well, it's probably not good behavior on any system.

>> OK, that's a good idea.  I'll report this. But don't expect this  
>> to  be
>> changed any time soon.
>>
>
> Of course not.  But I just get really annoyed when people ask us to  
> work
> around bugs in proprietary systems without even bothering to try  
> and get
> those bugs fixed.

Fine I've reported the issue.
Don't forget that this is not just in a propriety system.

1. This occurs in Postfix, which is not proprietary software.
2. This occurs in Darwin, which is open source.
3. This will occur in any GNU/Linux system where the administrator  
has stopped the postfix daemon, which may be a reasonable thing to do  
when locking down a system.

I'll post any reply I get from Apple to this list.

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Fixing report-emacs-bug
  2005-07-04 19:52           ` David Reitter
@ 2005-07-04 22:02             ` Stefan Monnier
  2005-07-05  2:38             ` Miles Bader
  1 sibling, 0 replies; 23+ messages in thread
From: Stefan Monnier @ 2005-07-04 22:02 UTC (permalink / raw)
  Cc: emacs-devel

>> Of course not.  But I just get really annoyed when people ask us to  work
>> around bugs in proprietary systems without even bothering to try  and get
>> those bugs fixed.

> Fine I've reported the issue.

Thank you.


        Stefan

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Fixing report-emacs-bug
  2005-07-04 19:52           ` David Reitter
  2005-07-04 22:02             ` Stefan Monnier
@ 2005-07-05  2:38             ` Miles Bader
  2005-07-05  4:33               ` Stefan Monnier
  1 sibling, 1 reply; 23+ messages in thread
From: Miles Bader @ 2005-07-05  2:38 UTC (permalink / raw)
  Cc: Stefan Monnier, emacs-devel

David Reitter <david.reitter@gmail.com> writes:
>>> Just like on a GNU/Linux system with postfix shut down (is that so?
>>> can't check this lacking root access on our systems.)
>>
>> Could be, but that doesn't make the behavior correct on Mac OS X.
>
> Well, it's probably not good behavior on any system.
...
> 1. This occurs in Postfix, which is not proprietary software.
...
> 3. This will occur in any GNU/Linux system where the administrator  
> has stopped the postfix daemon, which may be a reasonable thing to do  
> when locking down a system.

As far as I can see there's nothing wrong with postfix.

If you use postfix's sendmail to send a message while the postfix
daemons are not running, it will get queued and sent as soon as you
restart postfix.

If you _never_ intend to start the postfix daemons, you shouldn't have
postfix installed at all; then you won't be fooled by postfix's version
of sendmail (which understandably expects that you will occasionally
have postfix running!).

If OS-X has postfix installed but doesn't start it by default, that's
just sort of stupid; complain to Apple.

[I'm not sure why they don't want to run it though -- postfix has a
reputation as being very secure.]

-Miles
-- 
Run away!  Run away!

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Fixing report-emacs-bug
  2005-07-05  2:38             ` Miles Bader
@ 2005-07-05  4:33               ` Stefan Monnier
  0 siblings, 0 replies; 23+ messages in thread
From: Stefan Monnier @ 2005-07-05  4:33 UTC (permalink / raw)
  Cc: David Reitter, emacs-devel

> If OS-X has postfix installed but doesn't start it by default, that's
> just sort of stupid; complain to Apple.

The problem is not whether it's started or not, but whether it's configured
or not.  Nowadays, it's very common for machines to have to use a specific
SMTP server for outgoing email, so until this is configured, even a running
Postfix will never be able to deliver the email from its mail queue.


        Stefan

^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2005-07-05  4:33 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-06-30 10:15 Fixing report-emacs-bug David Reitter
2005-06-30 19:37 ` Stefan Monnier
2005-07-03 19:14   ` David Reitter
2005-07-04  6:16     ` Richard M. Stallman
2005-07-04 10:07       ` David Reitter
2005-07-04 10:24       ` Jan D.
2005-07-04 16:48         ` Richard M. Stallman
2005-07-04 15:16       ` Joakim Verona
2005-07-04 16:03         ` David Reitter
2005-07-04 17:37     ` Stefan Monnier
2005-07-04 17:46       ` David Reitter
2005-07-04 18:35         ` Stefan Monnier
2005-07-04 18:49           ` Lennart Borgman
2005-07-04 19:34             ` Jason Rumney
2005-07-04 19:52           ` David Reitter
2005-07-04 22:02             ` Stefan Monnier
2005-07-05  2:38             ` Miles Bader
2005-07-05  4:33               ` Stefan Monnier
     [not found] ` <E1Do6bF-0001Uq-3j@fencepost.gnu.org>
2005-07-01 10:31   ` David Reitter
2005-07-01 22:45     ` Richard M. Stallman
2005-07-03 19:21       ` David Reitter
2005-07-03 20:52         ` Lennart Borgman
2005-07-04  6:17         ` Richard M. Stallman

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).