Source-Changes-HG archive

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

[src/trunk]: src/external/mit/ctwm/libexec ctwm_app_menu: Work around "emacs ...



details:   https://anonhg.NetBSD.org/src/rev/08a972a47021
branches:  trunk
changeset: 368620:08a972a47021
user:      nia <nia%NetBSD.org@localhost>
date:      Fri Jul 22 17:06:46 2022 +0000

description:
ctwm_app_menu: Work around "emacs being installed results in the
generated ctwmrc containing invalid syntax" problem. Emacs installs
a desktop file called "emacsclient" that contains "doublequotes"
in its exec string. Pending a better solution for dumping escaped
shell lines into the config file, hide or sanitize desktop entires
that might mess up the internal ctwmrc quoting rules.

diffstat:

 external/mit/ctwm/libexec/ctwm_app_menu |  9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diffs (30 lines):

diff -r 8045688f8644 -r 08a972a47021 external/mit/ctwm/libexec/ctwm_app_menu
--- a/external/mit/ctwm/libexec/ctwm_app_menu   Fri Jul 22 16:51:14 2022 +0000
+++ b/external/mit/ctwm/libexec/ctwm_app_menu   Fri Jul 22 17:06:46 2022 +0000
@@ -1,5 +1,5 @@
 #!/bin/sh
-#      $NetBSD: ctwm_app_menu,v 1.4 2022/05/09 15:05:18 nia Exp $
+#      $NetBSD: ctwm_app_menu,v 1.5 2022/07/22 17:06:46 nia Exp $
 #
 # Copyright (c) 2020-2022 The NetBSD Foundation, Inc.
 # All rights reserved.
@@ -98,13 +98,18 @@
                                Name=*)
                                        if ! [ -n "$name" ];
                                        then
-                                               name=$(printf '%s' "$line" | cut -c6- | tr -d '\r')
+                                               name=$(printf '%s' "$line" | cut -c6- | tr -d '\r' | tr -d '"')
                                        fi
                                ;;
                                Exec=*)
                                        if ! [ -n "$exec" ];
                                        then
                                                exec=$(printf '%s' "$line" | cut -c6- | sed -e 's/ %.*//g' | tr -d '\r')
+                                               if printf '%s' "$exec" | grep -q '"'; then
+                                                       # results in malformed config file, better way
+                                                       # to handle this...?
+                                                       nodisplay="true"
+                                               fi
                                        fi
                                ;;
                                Terminal=true)



Home | Main Index | Thread Index | Old Index