**** The command `mail-attach-file' was renamed to `mail-insert-file'.
The old name is now an obsolete alias to the new name.
+*** The M-x report-emacs-bug command can optionally pass the text of
+your bug report to your desktop's preferred mail client. This
+uses either the "xdg-email" utility, or OS X's "open" command.
+
** Emacs server and client changes
+++
*** New option `server-port' specifies the port on which the Emacs
** Miscellaneous
-*** FIXME: xdg-open for reportbug, 2010/08.
-
+++
*** The Landmark game is now invoked with `landmark', not `lm'.
2012-02-09 Glenn Morris <rgm@gnu.org>
+ * mail/emacsbug.el (report-emacs-bug-can-use-osx-open)
+ (report-emacs-bug-can-use-xdg-email):
+ (report-emacs-bug-insert-to-mailer): Doc fixes.
+ (report-emacs-bug): Message fix.
+
* net/browse-url.el (browse-url-can-use-xdg-open)
(browse-url-xdg-open): Doc fixes.
(defvar message-strip-special-text-properties)
(defun report-emacs-bug-can-use-osx-open ()
- "Check if OSX open can be used to insert bug report into mailer"
+ "Return non-nil if the OS X \"open\" command is available for mailing."
(and (featurep 'ns)
(equal (executable-find "open") "/usr/bin/open")
(memq system-type '(darwin))))
+;; FIXME this duplicates much of the logic from browse-url-can-use-xdg-open.
(defun report-emacs-bug-can-use-xdg-email ()
- "Check if xdg-email can be used, i.e. we are on Gnome, KDE or xfce4."
+ "Return non-nil if the \"xdg-email\" command can be used.
+xdg-email is a desktop utility that calls your preferred mail client.
+This requires you to be running either Gnome, KDE, or Xfce4."
(and (getenv "DISPLAY")
(executable-find "xdg-email")
(or (getenv "GNOME_DESKTOP_SESSION_ID")
"org.gnome.SessionManager.CanShutdown"))
(error nil))
(equal (getenv "KDE_FULL_SESSION") "true")
+ ;; FIXME? browse-url-can-use-xdg-open also accepts LXDE.
+ ;; Is that no good here, or just overlooked?
(condition-case nil
(eq 0 (call-process
"/bin/sh" nil nil nil
"-c"
+ ;; FIXME use string-match rather than grep.
"xprop -root _DT_SAVE_MODE|grep xfce4"))
(error nil)))))
(defun report-emacs-bug-insert-to-mailer ()
+ "Send the message to your preferred mail client.
+This requires either the OS X \"open\" command, or the freedesktop
+\"xdg-email\" command to be available."
(interactive)
(save-excursion
+ ;; FIXME? use mail-fetch-field?
(let* ((to (progn
(goto-char (point-min))
(forward-line)
" Type \\[kill-buffer] RET to cancel (don't send it).\n"))
(if can-insert-mail
(princ (substitute-command-keys
- " Type \\[report-emacs-bug-insert-to-mailer] to insert text to you preferred mail program.\n")))
+ " Type \\[report-emacs-bug-insert-to-mailer] to copy text to your preferred mail program.\n")))
(terpri)
(princ (substitute-command-keys
" Type \\[report-emacs-bug-info] to visit in Info the Emacs Manual section