emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#60204: closed (28.2; Invalid Exec key in etc/emacsclient-mail.deskto


From: GNU bug Tracking System
Subject: bug#60204: closed (28.2; Invalid Exec key in etc/emacsclient-mail.desktop)
Date: Sat, 24 Dec 2022 07:22:01 +0000

Your message dated Sat, 24 Dec 2022 09:21:04 +0200
with message-id <83v8m15ktb.fsf@gnu.org>
and subject line Re: bug#60204: 28.2; Invalid Exec key in 
etc/emacsclient-mail.desktop
has caused the debbugs.gnu.org bug report #60204,
regarding 28.2; Invalid Exec key in etc/emacsclient-mail.desktop
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs@gnu.org.)


-- 
60204: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=60204
GNU Bug Tracking System
Contact help-debbugs@gnu.org with problems
--- Begin Message --- Subject: 28.2; Invalid Exec key in etc/emacsclient-mail.desktop Date: Mon, 19 Dec 2022 17:14:09 +0100 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)
Apparently the emacsclient-mail.desktop file doesn't conform to the
Desktop Entry Specification at
https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#exec-variables
which says about the Exec key:

| Field codes must not be used inside a quoted argument, the result of
| field code expansion inside a quoted argument is undefined.

However, the %u field code is used inside a quoted argument of the
Exec key in both the [Desktop Entry] and [Desktop Action new-window]
sections.

See patch included below.


>From 1ee6903cccde01c36dd58951102252abadada994 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ulrich=20M=C3=BCller?= <ulm@gentoo.org>
Date: Mon, 19 Dec 2022 16:51:20 +0100
Subject: [PATCH] Fix quoted argument in emacsclient-mail.desktop Exec key

* etc/emacsclient-mail.desktop (Exec): The Desktop Entry
Specification does not allow field codes like %u inside a quoted
argument. Work around it by passing %u as first parameter ($1)
to the shell wrapper.
* etc/emacsclient.desktop (Exec): Use `sh` rather than `placeholder`
as the command name of the shell wrapper.
---
 etc/emacsclient-mail.desktop | 4 ++--
 etc/emacsclient.desktop      | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/etc/emacsclient-mail.desktop b/etc/emacsclient-mail.desktop
index b575a41758a..91df122c594 100644
--- a/etc/emacsclient-mail.desktop
+++ b/etc/emacsclient-mail.desktop
@@ -1,7 +1,7 @@
 [Desktop Entry]
 Categories=Network;Email;
 Comment=GNU Emacs is an extensible, customizable text editor - and more
-Exec=sh -c "exec emacsclient --alternate-editor= --display=\\"\\$DISPLAY\\" 
--eval \\\\(message-mailto\\\\ \\\\\\"%u\\\\\\"\\\\)"
+Exec=sh -c "exec emacsclient --alternate-editor= --display=\\"\\$DISPLAY\\" 
--eval \\"(message-mailto \\\\\\"\\$1\\\\\\")\\"" sh %u
 Icon=emacs
 Name=Emacs (Mail, Client)
 MimeType=x-scheme-handler/mailto;
@@ -13,7 +13,7 @@ Actions=new-window;new-instance;
 
 [Desktop Action new-window]
 Name=New Window
-Exec=emacsclient --alternate-editor= --create-frame --eval "(message-mailto 
\\"%u\\")"
+Exec=sh -c "exec emacsclient --alternate-editor= --create-frame --eval 
\\"(message-mailto \\\\\\"\\$1\\\\\\")\\"" sh %u
 
 [Desktop Action new-instance]
 Name=New Instance
diff --git a/etc/emacsclient.desktop b/etc/emacsclient.desktop
index 1ecdecffafd..a9f840c7033 100644
--- a/etc/emacsclient.desktop
+++ b/etc/emacsclient.desktop
@@ -3,7 +3,7 @@ Name=Emacs (Client)
 GenericName=Text Editor
 Comment=Edit text
 
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
-Exec=sh -c "if [ -n \\"\\$*\\" ]; then exec emacsclient --alternate-editor= 
--display=\\"\\$DISPLAY\\" \\"\\$@\\"; else exec emacsclient 
--alternate-editor= --create-frame; fi" placeholder %F
+Exec=sh -c "if [ -n \\"\\$*\\" ]; then exec emacsclient --alternate-editor= 
--display=\\"\\$DISPLAY\\" \\"\\$@\\"; else exec emacsclient 
--alternate-editor= --create-frame; fi" sh %F
 Icon=emacs
 Type=Application
 Terminal=false
-- 
2.39.0




--- End Message ---
--- Begin Message --- Subject: Re: bug#60204: 28.2; Invalid Exec key in etc/emacsclient-mail.desktop Date: Sat, 24 Dec 2022 09:21:04 +0200
> From: Ulrich Müller <ulm@gentoo.org>
> Date: Mon, 19 Dec 2022 17:14:09 +0100
> 
> Apparently the emacsclient-mail.desktop file doesn't conform to the
> Desktop Entry Specification at
> https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#exec-variables
> which says about the Exec key:
> 
> | Field codes must not be used inside a quoted argument, the result of
> | field code expansion inside a quoted argument is undefined.
> 
> However, the %u field code is used inside a quoted argument of the
> Exec key in both the [Desktop Entry] and [Desktop Action new-window]
> sections.
> 
> See patch included below.

Thanks, I installed this on the emacs-29 branch, and I'm closing the
bug.


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]