From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 01 00:28:57 2020 Received: (at submit) by debbugs.gnu.org; 1 Sep 2020 04:28:57 +0000 Received: from localhost ([127.0.0.1]:54496 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kCxuh-0008AC-7h for submit@debbugs.gnu.org; Tue, 01 Sep 2020 00:28:56 -0400 Received: from lists.gnu.org ([209.51.188.17]:43690) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kCvck-0004UQ-NG for submit@debbugs.gnu.org; Mon, 31 Aug 2020 22:02:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45788) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kCvcj-0004xO-NK for bug-gnu-emacs@gnu.org; Mon, 31 Aug 2020 22:02:14 -0400 Received: from mail1.ccss.com ([159.203.255.73]:57772) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kCvcf-0008Ep-O3 for bug-gnu-emacs@gnu.org; Mon, 31 Aug 2020 22:02:13 -0400 Received: by mail1.ccss.com (Postfix, from userid 114) id 40823BF9EC; Mon, 31 Aug 2020 18:42:02 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mail1.ccss.com X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=ALL_TRUSTED,DKIM_SIGNED, T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.2 Received: from ccss.com (unknown [192.168.76.11]) by mail1.ccss.com (Postfix) with ESMTP id 03D94BF9EA for ; Mon, 31 Aug 2020 18:42:00 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by ccss.com (Postfix) with ESMTP id 6AE4817606DC for ; Mon, 31 Aug 2020 18:41:59 -0700 (PDT) Received: from ccss.com ([127.0.0.1]) by localhost (ccss.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id R6MTK3I6eBL6 for ; Mon, 31 Aug 2020 18:41:51 -0700 (PDT) Received: from klaatu (klaatu.lan [192.168.42.3]) (Authenticated sender: hugh) by ccss.com (Postfix) with ESMTPSA id C7E161760630 for ; Mon, 31 Aug 2020 18:41:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ccss.com; s=mail; t=1598924510; bh=dJniZTlkxoYfbmIzvP5Kufv4qbBSJd9rAEl+gmEGtfw=; h=From:To:Subject:Date:From; b=E/wSX5tpxTEfZ2q1TIV18EbzI2UIThhvlRYvuFCtfIeKIcM0ht0TOmwvbVTzIIqkF IoMELITX1vQZqeR4sXkFExBZcqtw1AHRz9kKthpVrV4ygDyzkdndxt8ZiEjWSttDjk kszqypxtGNpvc1OTOimiHqyt6LTJuesvBp2FNw+0xPvfUR097vjL8I9cSmiSEtmipG bcBrTMP9kbi8bqhV3Jt4is7B92j3+XMWZPlFx02vH17cwo5FiElFi9Z7SZdvmuIF2z 777e9/1hcdilqDZVIUSMhizcVn7niCZiu7NADLYz1rmylAZ/lSpfn6UPS8pMU7jy4d FH7TrRfly7yuA== From: Hugh Daschbach To: bug-gnu-emacs@gnu.org Subject: 27.1; D-Bus property handling incomplete Date: Mon, 31 Aug 2020 18:41:50 -0700 Message-ID: <873642mfxd.fsf@ccss.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Received-SPF: pass client-ip=159.203.255.73; envelope-from=hugh@ccss.com; helo=mail1.ccss.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/08/31 21:47:46 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Tue, 01 Sep 2020 00:28:51 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) --=-=-= Content-Type: text/plain When the same D-Bus property is registered on an interface with two separate paths, only the last property is preserved. Methods and signals registered on the same interface on different paths are preserved. The attached script demonstrates the property issue. It can be run as: emacs -Q --load dbus-properties-test.el --eval "(main)" The script registers a property on "/node0" then runs an asynchronous dbus-send command to verify that the property is readable. It then registers the same property on "/node1". Subsequently, it attempts to read the property from both "/node0" and "/node1". The property is successfully returned from the "/node1" property get request. Nothing (boolean false) in returned from the property get for "/node0". Finally, it opens two windows, one displaying buffer "*node0*" containing the command for the two get requests for "/node0". The first is successful, the second is not. The other window displays buffer "*node1* which shows the successful get property on "/node1". In short, the second registered property survives, the first does not. --=-=-= Content-Type: text/plain Content-Disposition: inline; filename=dbus-properties-test.el Content-Description: Property loss demonstration script ;;; dbus-dict-entry.el --- Test program for complex :dict-entry. -*- lexical-binding: t; -*- ;; Copyright (C) 2020 Hugh Daschbach ;; Author: Hugh Daschbach ;; Keywords: tools ;; This program 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 3 of the License, or ;; (at your option) any later version. ;; This program 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 this program. If not, see . ;;; Commentary: ;; This program demonstrates an error in handling D-Bus properties ;; interface. ;; ;; `dbus-property-handler' provides an org.freedesktop.DBus.Properties ;; interface to respond to requests for registered properties. But, ;; unlike methods and signals, properties are not stored per interface ;; per object. They are merely stored per interface. ;; ;; So the current implementation cannot support properties on the same ;; interface with a different object path. ;;; Code: (require 'dbus) (defun main () (interactive) (setq dbus-debug t) (setq debug-on-error t) (dbus-register-property :system "org.gnu.Emacs" "/node0" "org.bluez.GattService1" "Device" :read "-node0-") (start-process "node0" "*node0*" "dbus-send" "--system" "--print-reply" (concat "--dest=" (dbus-get-unique-name :system)) "/node0" "org.freedesktop.DBus.Properties.Get" "string:org.bluez.GattService1" "string:Device") (sit-for 1) (dbus-register-property :system "org.gnu.Emacs" "/node1" "org.bluez.GattService1" "Device" :read "-node1-") (start-process "node0" "*node0*" "dbus-send" "--system" "--print-reply" (concat "--dest=" (dbus-get-unique-name :system)) "/node0" "org.freedesktop.DBus.Properties.Get" "string:org.bluez.GattService1" "string:Device") (start-process "node1" "*node1*" "dbus-send" "--system" "--print-reply" (concat "--dest=" (dbus-get-unique-name :system)) "/node1" "org.freedesktop.DBus.Properties.Get" "string:org.bluez.GattService1" "string:Device") (sit-for 1) (split-window-below) (switch-to-buffer "*node0*") (goto-char (point-min)) (other-window 1) (switch-to-buffer "*node1*") (goto-char (point-min))) (provide 'dbus-dict-entry) ;;; dbus-dict-entry.el ends here --=-=-= Content-Type: text/plain Thanks, Hugh In GNU Emacs 27.1 (build 1, x86_64-pc-linux-gnu, X toolkit, Xaw3d scroll bars) of 2020-08-06 built on klaatu Repository revision: 86d8d76aa36037184db0b2897c434cdaab1a9ae8 Repository branch: emacs-27 Windowing system distributor 'The X.Org Foundation', version 11.0.12008000 System Description: Artix Linux Recent messages: Indenting region...done Mark set Saving file /home/hugh/.config/emacs/dbus-properties-test.el... Wrote /home/hugh/.config/emacs/dbus-properties-test.el Quit [mu4e] Indexing... processed 0, updated 0 [mu4e] Indexing completed; processed 0, updated 0, cleaned-up 0 Configured using: 'configure --with-x-toolkit=lucid' Configured features: XAW3D XPM JPEG TIFF GIF PNG RSVG SOUND GPM DBUS GSETTINGS GLIB NOTIFY INOTIFY ACL GNUTLS LIBXML2 FREETYPE HARFBUZZ M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS LUCID X11 XDBE XIM MODULES THREADS LIBSYSTEMD JSON PDUMPER LCMS2 GMP Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Emacs-Lisp Minor modes in effect: recentf-mode: t semantic-minor-modes-format: ((:eval (if (or semantic-highlight-edits-mode semantic-show-unmatched-syntax-mode) S))) pdf-occur-global-minor-mode: t global-magit-file-mode: t magit-file-mode: t magit-auto-revert-mode: t global-git-commit-mode: t async-bytecomp-package-mode: t global-log4slime-mode: t desktop-save-mode: t which-key-mode: t hungry-delete-mode: t paredit-mode: t winner-mode: t amx-mode: t ivy-mode: t shell-dirtrack-mode: t save-place-mode: t global-edit-server-edit-mode: t auto-insert-mode: t override-global-mode: t straight-use-package-mode: t straight-package-neutering-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t abbrev-mode: t Load-path shadows: /home/hugh/.config/emacs/straight/build/slime/contrib/slime-repl hides ~/git/slime/contrib/slime-repl /home/hugh/.config/emacs/straight/build/slime/contrib/slime-presentations hides ~/git/slime/contrib/slime-presentations /home/hugh/.config/emacs/straight/build/slime/contrib/slime-xref-browser hides ~/git/slime/contrib/slime-xref-browser /home/hugh/.config/emacs/straight/build/slime/contrib/slime-typeout-frame hides ~/git/slime/contrib/slime-typeout-frame /home/hugh/.config/emacs/straight/build/slime/contrib/slime-tramp hides ~/git/slime/contrib/slime-tramp /home/hugh/.config/emacs/straight/build/slime/contrib/slime-trace-dialog hides ~/git/slime/contrib/slime-trace-dialog /home/hugh/.config/emacs/straight/build/slime/contrib/slime-sprof hides ~/git/slime/contrib/slime-sprof /home/hugh/.config/emacs/straight/build/slime/contrib/slime-snapshot hides ~/git/slime/contrib/slime-snapshot /home/hugh/.config/emacs/straight/build/slime/contrib/slime-scratch hides ~/git/slime/contrib/slime-scratch /home/hugh/.config/emacs/straight/build/slime/contrib/slime-scheme hides ~/git/slime/contrib/slime-scheme /home/hugh/.config/emacs/straight/build/slime/contrib/slime-sbcl-exts hides ~/git/slime/contrib/slime-sbcl-exts /home/hugh/.config/emacs/straight/build/slime/contrib/slime-references hides ~/git/slime/contrib/slime-references /home/hugh/.config/emacs/straight/build/slime/contrib/slime-quicklisp hides ~/git/slime/contrib/slime-quicklisp /home/hugh/.config/emacs/straight/build/slime/contrib/slime-presentation-streams hides ~/git/slime/contrib/slime-presentation-streams /home/hugh/.config/emacs/straight/build/slime/contrib/slime-parse hides ~/git/slime/contrib/slime-parse /home/hugh/.config/emacs/straight/build/slime/contrib/slime-package-fu hides ~/git/slime/contrib/slime-package-fu /home/hugh/.config/emacs/straight/build/slime/contrib/slime-mrepl hides ~/git/slime/contrib/slime-mrepl /home/hugh/.config/emacs/straight/build/slime/contrib/slime-media hides ~/git/slime/contrib/slime-media /home/hugh/.config/emacs/straight/build/slime/contrib/slime-mdot-fu hides ~/git/slime/contrib/slime-mdot-fu /home/hugh/.config/emacs/straight/build/slime/contrib/slime-macrostep hides ~/git/slime/contrib/slime-macrostep /home/hugh/.config/emacs/straight/build/slime/contrib/slime-listener-hooks hides ~/git/slime/contrib/slime-listener-hooks /home/hugh/.config/emacs/straight/build/slime/contrib/slime-indentation hides ~/git/slime/contrib/slime-indentation /home/hugh/.config/emacs/straight/build/slime/contrib/slime-hyperdoc hides ~/git/slime/contrib/slime-hyperdoc /home/hugh/.config/emacs/straight/build/slime/contrib/slime-highlight-edits hides ~/git/slime/contrib/slime-highlight-edits /home/hugh/.config/emacs/straight/build/slime/contrib/slime-fuzzy hides ~/git/slime/contrib/slime-fuzzy /home/hugh/.config/emacs/straight/build/slime/contrib/slime-fontifying-fu hides ~/git/slime/contrib/slime-fontifying-fu /home/hugh/.config/emacs/straight/build/slime/contrib/slime-fancy hides ~/git/slime/contrib/slime-fancy /home/hugh/.config/emacs/straight/build/slime/contrib/slime-fancy-trace hides ~/git/slime/contrib/slime-fancy-trace /home/hugh/.config/emacs/straight/build/slime/contrib/slime-fancy-inspector hides ~/git/slime/contrib/slime-fancy-inspector /home/hugh/.config/emacs/straight/build/slime/contrib/slime-enclosing-context hides ~/git/slime/contrib/slime-enclosing-context /home/hugh/.config/emacs/straight/build/slime/contrib/slime-editing-commands hides ~/git/slime/contrib/slime-editing-commands /home/hugh/.config/emacs/straight/build/slime/contrib/slime-compiler-notes-tree hides ~/git/slime/contrib/slime-compiler-notes-tree /home/hugh/.config/emacs/straight/build/slime/contrib/slime-clipboard hides ~/git/slime/contrib/slime-clipboard /home/hugh/.config/emacs/straight/build/slime/contrib/slime-cl-indent hides ~/git/slime/contrib/slime-cl-indent /home/hugh/.config/emacs/straight/build/slime/contrib/slime-c-p-c hides ~/git/slime/contrib/slime-c-p-c /home/hugh/.config/emacs/straight/build/slime/contrib/slime-buffer-streams hides ~/git/slime/contrib/slime-buffer-streams /home/hugh/.config/emacs/straight/build/slime/contrib/slime-banner hides ~/git/slime/contrib/slime-banner /home/hugh/.config/emacs/straight/build/slime/contrib/slime-autodoc hides ~/git/slime/contrib/slime-autodoc /home/hugh/.config/emacs/straight/build/slime/contrib/slime-asdf hides ~/git/slime/contrib/slime-asdf /home/hugh/.config/emacs/straight/build/slime/contrib/inferior-slime hides ~/git/slime/contrib/inferior-slime /home/hugh/.config/emacs/straight/build/slime/contrib/bridge hides ~/git/slime/contrib/bridge /home/hugh/.config/emacs/straight/build/org-plus-contrib/ox hides /home/hugh/.config/emacs/straight/build/org/ox /home/hugh/.config/emacs/straight/build/org-plus-contrib/ox-texinfo hides /home/hugh/.config/emacs/straight/build/org/ox-texinfo /home/hugh/.config/emacs/straight/build/org-plus-contrib/ox-publish hides /home/hugh/.config/emacs/straight/build/org/ox-publish /home/hugh/.config/emacs/straight/build/org-plus-contrib/ox-org hides /home/hugh/.config/emacs/straight/build/org/ox-org /home/hugh/.config/emacs/straight/build/org-plus-contrib/ox-odt hides /home/hugh/.config/emacs/straight/build/org/ox-odt /home/hugh/.config/emacs/straight/build/org-plus-contrib/ox-md hides /home/hugh/.config/emacs/straight/build/org/ox-md /home/hugh/.config/emacs/straight/build/org-plus-contrib/ox-man hides /home/hugh/.config/emacs/straight/build/org/ox-man /home/hugh/.config/emacs/straight/build/org-plus-contrib/ox-latex hides /home/hugh/.config/emacs/straight/build/org/ox-latex /home/hugh/.config/emacs/straight/build/org-plus-contrib/ox-icalendar hides /home/hugh/.config/emacs/straight/build/org/ox-icalendar /home/hugh/.config/emacs/straight/build/org-plus-contrib/ox-html hides /home/hugh/.config/emacs/straight/build/org/ox-html /home/hugh/.config/emacs/straight/build/org-plus-contrib/ox-beamer hides /home/hugh/.config/emacs/straight/build/org/ox-beamer /home/hugh/.config/emacs/straight/build/org-plus-contrib/ox-ascii hides /home/hugh/.config/emacs/straight/build/org/ox-ascii /home/hugh/.config/emacs/straight/build/org-plus-contrib/org hides /home/hugh/.config/emacs/straight/build/org/org /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-timer hides /home/hugh/.config/emacs/straight/build/org/org-timer /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-tempo hides /home/hugh/.config/emacs/straight/build/org/org-tempo /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-table hides /home/hugh/.config/emacs/straight/build/org/org-table /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-src hides /home/hugh/.config/emacs/straight/build/org/org-src /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-refile hides /home/hugh/.config/emacs/straight/build/org/org-refile /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-protocol hides /home/hugh/.config/emacs/straight/build/org/org-protocol /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-plot hides /home/hugh/.config/emacs/straight/build/org/org-plot /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-pcomplete hides /home/hugh/.config/emacs/straight/build/org/org-pcomplete /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-num hides /home/hugh/.config/emacs/straight/build/org/org-num /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-mouse hides /home/hugh/.config/emacs/straight/build/org/org-mouse /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-mobile hides /home/hugh/.config/emacs/straight/build/org/org-mobile /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-macs hides /home/hugh/.config/emacs/straight/build/org/org-macs /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-macro hides /home/hugh/.config/emacs/straight/build/org/org-macro /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-list hides /home/hugh/.config/emacs/straight/build/org/org-list /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-lint hides /home/hugh/.config/emacs/straight/build/org/org-lint /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-keys hides /home/hugh/.config/emacs/straight/build/org/org-keys /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-inlinetask hides /home/hugh/.config/emacs/straight/build/org/org-inlinetask /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-indent hides /home/hugh/.config/emacs/straight/build/org/org-indent /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-id hides /home/hugh/.config/emacs/straight/build/org/org-id /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-habit hides /home/hugh/.config/emacs/straight/build/org/org-habit /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-goto hides /home/hugh/.config/emacs/straight/build/org/org-goto /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-footnote hides /home/hugh/.config/emacs/straight/build/org/org-footnote /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-feed hides /home/hugh/.config/emacs/straight/build/org/org-feed /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-faces hides /home/hugh/.config/emacs/straight/build/org/org-faces /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-entities hides /home/hugh/.config/emacs/straight/build/org/org-entities /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-element hides /home/hugh/.config/emacs/straight/build/org/org-element /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-duration hides /home/hugh/.config/emacs/straight/build/org/org-duration /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-datetree hides /home/hugh/.config/emacs/straight/build/org/org-datetree /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-ctags hides /home/hugh/.config/emacs/straight/build/org/org-ctags /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-crypt hides /home/hugh/.config/emacs/straight/build/org/org-crypt /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-compat hides /home/hugh/.config/emacs/straight/build/org/org-compat /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-colview hides /home/hugh/.config/emacs/straight/build/org/org-colview /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-clock hides /home/hugh/.config/emacs/straight/build/org/org-clock /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-capture hides /home/hugh/.config/emacs/straight/build/org/org-capture /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-attach hides /home/hugh/.config/emacs/straight/build/org/org-attach /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-attach-git hides /home/hugh/.config/emacs/straight/build/org/org-attach-git /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-archive hides /home/hugh/.config/emacs/straight/build/org/org-archive /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-agenda hides /home/hugh/.config/emacs/straight/build/org/org-agenda /home/hugh/.config/emacs/straight/build/org-plus-contrib/ol hides /home/hugh/.config/emacs/straight/build/org/ol /home/hugh/.config/emacs/straight/build/org-plus-contrib/ol-w3m hides /home/hugh/.config/emacs/straight/build/org/ol-w3m /home/hugh/.config/emacs/straight/build/org-plus-contrib/ol-rmail hides /home/hugh/.config/emacs/straight/build/org/ol-rmail /home/hugh/.config/emacs/straight/build/org-plus-contrib/ol-mhe hides /home/hugh/.config/emacs/straight/build/org/ol-mhe /home/hugh/.config/emacs/straight/build/org-plus-contrib/ol-irc hides /home/hugh/.config/emacs/straight/build/org/ol-irc /home/hugh/.config/emacs/straight/build/org-plus-contrib/ol-info hides /home/hugh/.config/emacs/straight/build/org/ol-info /home/hugh/.config/emacs/straight/build/org-plus-contrib/ol-gnus hides /home/hugh/.config/emacs/straight/build/org/ol-gnus /home/hugh/.config/emacs/straight/build/org-plus-contrib/ol-eww hides /home/hugh/.config/emacs/straight/build/org/ol-eww /home/hugh/.config/emacs/straight/build/org-plus-contrib/ol-eshell hides /home/hugh/.config/emacs/straight/build/org/ol-eshell /home/hugh/.config/emacs/straight/build/org-plus-contrib/ol-docview hides /home/hugh/.config/emacs/straight/build/org/ol-docview /home/hugh/.config/emacs/straight/build/org-plus-contrib/ol-bibtex hides /home/hugh/.config/emacs/straight/build/org/ol-bibtex /home/hugh/.config/emacs/straight/build/org-plus-contrib/ol-bbdb hides /home/hugh/.config/emacs/straight/build/org/ol-bbdb /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob hides /home/hugh/.config/emacs/straight/build/org/ob /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-vala hides /home/hugh/.config/emacs/straight/build/org/ob-vala /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-tangle hides /home/hugh/.config/emacs/straight/build/org/ob-tangle /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-table hides /home/hugh/.config/emacs/straight/build/org/ob-table /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-stan hides /home/hugh/.config/emacs/straight/build/org/ob-stan /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-sqlite hides /home/hugh/.config/emacs/straight/build/org/ob-sqlite /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-sql hides /home/hugh/.config/emacs/straight/build/org/ob-sql /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-shen hides /home/hugh/.config/emacs/straight/build/org/ob-shen /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-shell hides /home/hugh/.config/emacs/straight/build/org/ob-shell /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-sed hides /home/hugh/.config/emacs/straight/build/org/ob-sed /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-screen hides /home/hugh/.config/emacs/straight/build/org/ob-screen /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-scheme hides /home/hugh/.config/emacs/straight/build/org/ob-scheme /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-sass hides /home/hugh/.config/emacs/straight/build/org/ob-sass /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-ruby hides /home/hugh/.config/emacs/straight/build/org/ob-ruby /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-ref hides /home/hugh/.config/emacs/straight/build/org/ob-ref /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-python hides /home/hugh/.config/emacs/straight/build/org/ob-python /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-processing hides /home/hugh/.config/emacs/straight/build/org/ob-processing /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-plantuml hides /home/hugh/.config/emacs/straight/build/org/ob-plantuml /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-picolisp hides /home/hugh/.config/emacs/straight/build/org/ob-picolisp /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-perl hides /home/hugh/.config/emacs/straight/build/org/ob-perl /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-org hides /home/hugh/.config/emacs/straight/build/org/ob-org /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-octave hides /home/hugh/.config/emacs/straight/build/org/ob-octave /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-ocaml hides /home/hugh/.config/emacs/straight/build/org/ob-ocaml /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-mscgen hides /home/hugh/.config/emacs/straight/build/org/ob-mscgen /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-maxima hides /home/hugh/.config/emacs/straight/build/org/ob-maxima /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-matlab hides /home/hugh/.config/emacs/straight/build/org/ob-matlab /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-makefile hides /home/hugh/.config/emacs/straight/build/org/ob-makefile /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-lua hides /home/hugh/.config/emacs/straight/build/org/ob-lua /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-lob hides /home/hugh/.config/emacs/straight/build/org/ob-lob /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-lisp hides /home/hugh/.config/emacs/straight/build/org/ob-lisp /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-lilypond hides /home/hugh/.config/emacs/straight/build/org/ob-lilypond /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-ledger hides /home/hugh/.config/emacs/straight/build/org/ob-ledger /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-latex hides /home/hugh/.config/emacs/straight/build/org/ob-latex /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-js hides /home/hugh/.config/emacs/straight/build/org/ob-js /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-java hides /home/hugh/.config/emacs/straight/build/org/ob-java /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-io hides /home/hugh/.config/emacs/straight/build/org/ob-io /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-hledger hides /home/hugh/.config/emacs/straight/build/org/ob-hledger /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-haskell hides /home/hugh/.config/emacs/straight/build/org/ob-haskell /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-groovy hides /home/hugh/.config/emacs/straight/build/org/ob-groovy /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-gnuplot hides /home/hugh/.config/emacs/straight/build/org/ob-gnuplot /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-fortran hides /home/hugh/.config/emacs/straight/build/org/ob-fortran /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-forth hides /home/hugh/.config/emacs/straight/build/org/ob-forth /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-exp hides /home/hugh/.config/emacs/straight/build/org/ob-exp /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-eval hides /home/hugh/.config/emacs/straight/build/org/ob-eval /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-eshell hides /home/hugh/.config/emacs/straight/build/org/ob-eshell /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-emacs-lisp hides /home/hugh/.config/emacs/straight/build/org/ob-emacs-lisp /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-ebnf hides /home/hugh/.config/emacs/straight/build/org/ob-ebnf /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-dot hides /home/hugh/.config/emacs/straight/build/org/ob-dot /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-ditaa hides /home/hugh/.config/emacs/straight/build/org/ob-ditaa /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-css hides /home/hugh/.config/emacs/straight/build/org/ob-css /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-core hides /home/hugh/.config/emacs/straight/build/org/ob-core /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-coq hides /home/hugh/.config/emacs/straight/build/org/ob-coq /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-comint hides /home/hugh/.config/emacs/straight/build/org/ob-comint /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-clojure hides /home/hugh/.config/emacs/straight/build/org/ob-clojure /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-calc hides /home/hugh/.config/emacs/straight/build/org/ob-calc /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-awk hides /home/hugh/.config/emacs/straight/build/org/ob-awk /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-asymptote hides /home/hugh/.config/emacs/straight/build/org/ob-asymptote /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-abc hides /home/hugh/.config/emacs/straight/build/org/ob-abc /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-R hides /home/hugh/.config/emacs/straight/build/org/ob-R /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-J hides /home/hugh/.config/emacs/straight/build/org/ob-J /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-C hides /home/hugh/.config/emacs/straight/build/org/ob-C /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-loaddefs hides /home/hugh/.config/emacs/straight/build/org/org-loaddefs /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-install hides /home/hugh/.config/emacs/straight/build/org/org-install /home/hugh/lisp/custom hides /usr/local/share/emacs/27.1/lisp/custom /home/hugh/.config/emacs/straight/build/org-plus-contrib/ox-texinfo hides /usr/local/share/emacs/27.1/lisp/org/ox-texinfo /home/hugh/.config/emacs/straight/build/org-plus-contrib/ox-publish hides /usr/local/share/emacs/27.1/lisp/org/ox-publish /home/hugh/.config/emacs/straight/build/org-plus-contrib/ox-org hides /usr/local/share/emacs/27.1/lisp/org/ox-org /home/hugh/.config/emacs/straight/build/org-plus-contrib/ox-odt hides /usr/local/share/emacs/27.1/lisp/org/ox-odt /home/hugh/.config/emacs/straight/build/org-plus-contrib/ox-md hides /usr/local/share/emacs/27.1/lisp/org/ox-md /home/hugh/.config/emacs/straight/build/org-plus-contrib/ox-man hides /usr/local/share/emacs/27.1/lisp/org/ox-man /home/hugh/.config/emacs/straight/build/org-plus-contrib/ox-latex hides /usr/local/share/emacs/27.1/lisp/org/ox-latex /home/hugh/.config/emacs/straight/build/org-plus-contrib/ox-icalendar hides /usr/local/share/emacs/27.1/lisp/org/ox-icalendar /home/hugh/.config/emacs/straight/build/org-plus-contrib/ox-html hides /usr/local/share/emacs/27.1/lisp/org/ox-html /home/hugh/.config/emacs/straight/build/org-plus-contrib/ox hides /usr/local/share/emacs/27.1/lisp/org/ox /home/hugh/.config/emacs/straight/build/org-plus-contrib/ox-beamer hides /usr/local/share/emacs/27.1/lisp/org/ox-beamer /home/hugh/.config/emacs/straight/build/org-plus-contrib/ox-ascii hides /usr/local/share/emacs/27.1/lisp/org/ox-ascii /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-timer hides /usr/local/share/emacs/27.1/lisp/org/org-timer /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-tempo hides /usr/local/share/emacs/27.1/lisp/org/org-tempo /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-table hides /usr/local/share/emacs/27.1/lisp/org/org-table /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-src hides /usr/local/share/emacs/27.1/lisp/org/org-src /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-protocol hides /usr/local/share/emacs/27.1/lisp/org/org-protocol /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-plot hides /usr/local/share/emacs/27.1/lisp/org/org-plot /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-pcomplete hides /usr/local/share/emacs/27.1/lisp/org/org-pcomplete /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-num hides /usr/local/share/emacs/27.1/lisp/org/org-num /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-mouse hides /usr/local/share/emacs/27.1/lisp/org/org-mouse /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-mobile hides /usr/local/share/emacs/27.1/lisp/org/org-mobile /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-macs hides /usr/local/share/emacs/27.1/lisp/org/org-macs /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-macro hides /usr/local/share/emacs/27.1/lisp/org/org-macro /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-list hides /usr/local/share/emacs/27.1/lisp/org/org-list /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-lint hides /usr/local/share/emacs/27.1/lisp/org/org-lint /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-keys hides /usr/local/share/emacs/27.1/lisp/org/org-keys /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-inlinetask hides /usr/local/share/emacs/27.1/lisp/org/org-inlinetask /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-indent hides /usr/local/share/emacs/27.1/lisp/org/org-indent /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-id hides /usr/local/share/emacs/27.1/lisp/org/org-id /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-habit hides /usr/local/share/emacs/27.1/lisp/org/org-habit /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-goto hides /usr/local/share/emacs/27.1/lisp/org/org-goto /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-footnote hides /usr/local/share/emacs/27.1/lisp/org/org-footnote /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-feed hides /usr/local/share/emacs/27.1/lisp/org/org-feed /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-faces hides /usr/local/share/emacs/27.1/lisp/org/org-faces /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-entities hides /usr/local/share/emacs/27.1/lisp/org/org-entities /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-element hides /usr/local/share/emacs/27.1/lisp/org/org-element /home/hugh/.config/emacs/straight/build/org-plus-contrib/org hides /usr/local/share/emacs/27.1/lisp/org/org /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-duration hides /usr/local/share/emacs/27.1/lisp/org/org-duration /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-datetree hides /usr/local/share/emacs/27.1/lisp/org/org-datetree /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-ctags hides /usr/local/share/emacs/27.1/lisp/org/org-ctags /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-crypt hides /usr/local/share/emacs/27.1/lisp/org/org-crypt /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-compat hides /usr/local/share/emacs/27.1/lisp/org/org-compat /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-colview hides /usr/local/share/emacs/27.1/lisp/org/org-colview /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-clock hides /usr/local/share/emacs/27.1/lisp/org/org-clock /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-capture hides /usr/local/share/emacs/27.1/lisp/org/org-capture /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-attach-git hides /usr/local/share/emacs/27.1/lisp/org/org-attach-git /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-attach hides /usr/local/share/emacs/27.1/lisp/org/org-attach /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-archive hides /usr/local/share/emacs/27.1/lisp/org/org-archive /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-agenda hides /usr/local/share/emacs/27.1/lisp/org/org-agenda /home/hugh/.config/emacs/straight/build/org-plus-contrib/ol-w3m hides /usr/local/share/emacs/27.1/lisp/org/ol-w3m /home/hugh/.config/emacs/straight/build/org-plus-contrib/ol-rmail hides /usr/local/share/emacs/27.1/lisp/org/ol-rmail /home/hugh/.config/emacs/straight/build/org-plus-contrib/ol-mhe hides /usr/local/share/emacs/27.1/lisp/org/ol-mhe /home/hugh/.config/emacs/straight/build/org-plus-contrib/ol-irc hides /usr/local/share/emacs/27.1/lisp/org/ol-irc /home/hugh/.config/emacs/straight/build/org-plus-contrib/ol-info hides /usr/local/share/emacs/27.1/lisp/org/ol-info /home/hugh/.config/emacs/straight/build/org-plus-contrib/ol-gnus hides /usr/local/share/emacs/27.1/lisp/org/ol-gnus /home/hugh/.config/emacs/straight/build/org-plus-contrib/ol-eww hides /usr/local/share/emacs/27.1/lisp/org/ol-eww /home/hugh/.config/emacs/straight/build/org-plus-contrib/ol-eshell hides /usr/local/share/emacs/27.1/lisp/org/ol-eshell /home/hugh/.config/emacs/straight/build/org-plus-contrib/ol hides /usr/local/share/emacs/27.1/lisp/org/ol /home/hugh/.config/emacs/straight/build/org-plus-contrib/ol-docview hides /usr/local/share/emacs/27.1/lisp/org/ol-docview /home/hugh/.config/emacs/straight/build/org-plus-contrib/ol-bibtex hides /usr/local/share/emacs/27.1/lisp/org/ol-bibtex /home/hugh/.config/emacs/straight/build/org-plus-contrib/ol-bbdb hides /usr/local/share/emacs/27.1/lisp/org/ol-bbdb /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-vala hides /usr/local/share/emacs/27.1/lisp/org/ob-vala /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-tangle hides /usr/local/share/emacs/27.1/lisp/org/ob-tangle /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-table hides /usr/local/share/emacs/27.1/lisp/org/ob-table /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-stan hides /usr/local/share/emacs/27.1/lisp/org/ob-stan /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-sqlite hides /usr/local/share/emacs/27.1/lisp/org/ob-sqlite /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-sql hides /usr/local/share/emacs/27.1/lisp/org/ob-sql /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-shen hides /usr/local/share/emacs/27.1/lisp/org/ob-shen /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-shell hides /usr/local/share/emacs/27.1/lisp/org/ob-shell /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-sed hides /usr/local/share/emacs/27.1/lisp/org/ob-sed /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-screen hides /usr/local/share/emacs/27.1/lisp/org/ob-screen /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-scheme hides /usr/local/share/emacs/27.1/lisp/org/ob-scheme /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-sass hides /usr/local/share/emacs/27.1/lisp/org/ob-sass /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-ruby hides /usr/local/share/emacs/27.1/lisp/org/ob-ruby /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-R hides /usr/local/share/emacs/27.1/lisp/org/ob-R /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-ref hides /usr/local/share/emacs/27.1/lisp/org/ob-ref /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-python hides /usr/local/share/emacs/27.1/lisp/org/ob-python /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-processing hides /usr/local/share/emacs/27.1/lisp/org/ob-processing /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-plantuml hides /usr/local/share/emacs/27.1/lisp/org/ob-plantuml /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-picolisp hides /usr/local/share/emacs/27.1/lisp/org/ob-picolisp /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-perl hides /usr/local/share/emacs/27.1/lisp/org/ob-perl /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-org hides /usr/local/share/emacs/27.1/lisp/org/ob-org /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-octave hides /usr/local/share/emacs/27.1/lisp/org/ob-octave /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-ocaml hides /usr/local/share/emacs/27.1/lisp/org/ob-ocaml /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-mscgen hides /usr/local/share/emacs/27.1/lisp/org/ob-mscgen /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-maxima hides /usr/local/share/emacs/27.1/lisp/org/ob-maxima /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-matlab hides /usr/local/share/emacs/27.1/lisp/org/ob-matlab /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-makefile hides /usr/local/share/emacs/27.1/lisp/org/ob-makefile /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-lua hides /usr/local/share/emacs/27.1/lisp/org/ob-lua /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-lob hides /usr/local/share/emacs/27.1/lisp/org/ob-lob /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-lisp hides /usr/local/share/emacs/27.1/lisp/org/ob-lisp /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-lilypond hides /usr/local/share/emacs/27.1/lisp/org/ob-lilypond /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-ledger hides /usr/local/share/emacs/27.1/lisp/org/ob-ledger /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-latex hides /usr/local/share/emacs/27.1/lisp/org/ob-latex /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-js hides /usr/local/share/emacs/27.1/lisp/org/ob-js /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-J hides /usr/local/share/emacs/27.1/lisp/org/ob-J /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-java hides /usr/local/share/emacs/27.1/lisp/org/ob-java /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-io hides /usr/local/share/emacs/27.1/lisp/org/ob-io /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-hledger hides /usr/local/share/emacs/27.1/lisp/org/ob-hledger /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-haskell hides /usr/local/share/emacs/27.1/lisp/org/ob-haskell /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-groovy hides /usr/local/share/emacs/27.1/lisp/org/ob-groovy /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-gnuplot hides /usr/local/share/emacs/27.1/lisp/org/ob-gnuplot /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-fortran hides /usr/local/share/emacs/27.1/lisp/org/ob-fortran /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-forth hides /usr/local/share/emacs/27.1/lisp/org/ob-forth /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-exp hides /usr/local/share/emacs/27.1/lisp/org/ob-exp /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-eval hides /usr/local/share/emacs/27.1/lisp/org/ob-eval /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-eshell hides /usr/local/share/emacs/27.1/lisp/org/ob-eshell /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-emacs-lisp hides /usr/local/share/emacs/27.1/lisp/org/ob-emacs-lisp /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob hides /usr/local/share/emacs/27.1/lisp/org/ob /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-ebnf hides /usr/local/share/emacs/27.1/lisp/org/ob-ebnf /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-dot hides /usr/local/share/emacs/27.1/lisp/org/ob-dot /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-ditaa hides /usr/local/share/emacs/27.1/lisp/org/ob-ditaa /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-css hides /usr/local/share/emacs/27.1/lisp/org/ob-css /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-core hides /usr/local/share/emacs/27.1/lisp/org/ob-core /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-coq hides /usr/local/share/emacs/27.1/lisp/org/ob-coq /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-comint hides /usr/local/share/emacs/27.1/lisp/org/ob-comint /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-clojure hides /usr/local/share/emacs/27.1/lisp/org/ob-clojure /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-C hides /usr/local/share/emacs/27.1/lisp/org/ob-C /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-calc hides /usr/local/share/emacs/27.1/lisp/org/ob-calc /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-awk hides /usr/local/share/emacs/27.1/lisp/org/ob-awk /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-asymptote hides /usr/local/share/emacs/27.1/lisp/org/ob-asymptote /home/hugh/.config/emacs/straight/build/org-plus-contrib/ob-abc hides /usr/local/share/emacs/27.1/lisp/org/ob-abc /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-loaddefs hides /usr/local/share/emacs/27.1/lisp/org/org-loaddefs /home/hugh/.config/emacs/straight/build/org-plus-contrib/org-install hides /usr/local/share/emacs/27.1/lisp/org/org-install /home/hugh/.config/emacs/straight/build/let-alist/let-alist hides /usr/local/share/emacs/27.1/lisp/emacs-lisp/let-alist Features: (shadow emacsbug adaptive-wrap adaptive-wrap-autoloads visual-fill-column visual-fill-column-autoloads thai-util thai-word make-mode cal-move gud rng-xsd xsd-regexp rng-cmpct rng-nxml rng-valid nxml-mode nxml-outln nxml-rap sgml-mode xr-autoloads ert xr recentf texinfo compare-w counsel xdg swiper conf-mode elfeed-link misc org-protocol warnings mailalias glbt-keyboard gl-bluez-gatt gl-bluetooth goto-addr pos-tip finder skeleton org-duration cal-china lunar solar cal-dst cal-bahai cal-islam cal-hebrew holidays hol-loaddefs vc vc-dispatcher align hmouse-tag glbt-keyboard gl-bluetooth company-tng dash-functional dash-functional-autoloads dabbrev glbt-keyboard emms-volume-pulse ...) Memory information: ((conses 16 8797670 728611) (symbols 48 98368 385) (strings 32 595671 61963) (string-bytes 1 41679748) (vectors 16 191237) (vector-slots 8 5018325 833650) (floats 8 40724 6044) (intervals 56 982769 27126) (buffers 1000 378)) --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 02 13:58:47 2020 Received: (at 43146) by debbugs.gnu.org; 2 Sep 2020 17:58:48 +0000 Received: from localhost ([127.0.0.1]:60648 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kDX1z-0005Ky-Mn for submit@debbugs.gnu.org; Wed, 02 Sep 2020 13:58:47 -0400 Received: from mout.gmx.net ([212.227.15.18]:54361) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kDX1y-0005Kj-5U for 43146@debbugs.gnu.org; Wed, 02 Sep 2020 13:58:46 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1599069518; bh=8bKyOqBSaIjKXCn+JEp8KjcPAAJwhhTjyUq6zdk5N98=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=kdCU2LGnEamlaZr/TVPF+gmy/p76jF728DYbri/5VafW4alEKrtxmW0EEpRHakUCi 073X5xdJIgzt2ChU0LAZrFWcS2bngsnLTmCsu3GGAAdj06P3qTiGRoYw5QePTKNmyv ANE3f/U2UnZTHgCt7QZMFMA1YdhSVqJq5UNXs+JM= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from gandalf.gmx.de ([213.220.145.17]) by mail.gmx.com (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1M2O2W-1k9ffs1HSA-003uYf; Wed, 02 Sep 2020 19:58:38 +0200 From: Michael Albinus To: Hugh Daschbach Subject: Re: bug#43146: 27.1; D-Bus property handling incomplete References: <873642mfxd.fsf@ccss.com> Date: Wed, 02 Sep 2020 19:58:36 +0200 In-Reply-To: <873642mfxd.fsf@ccss.com> (Hugh Daschbach's message of "Mon, 31 Aug 2020 18:41:50 -0700") Message-ID: <87zh68hxgz.fsf@gmx.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Provags-ID: V03:K1:Ww7L633L45GCQWDiVk+vLd3ugWV0OMjg48Wx/zQeGnemLZPGoA9 WDhVbhwuzSnICZYcau6lwtk/H/xjBHApK2Y+7H1AZKX4l7iYCxQzgMwDH/MxecIL1aookh9 Qhgm9k1K8ek6NJYCPzz0Oit0Mrm1e8e+vuzBJWjlLL9Bw05nxP/runap9I7MnFH6q6WALu7 PEk3LyCbDqACxd5OT4leA== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:rEJi/NofmgQ=:u3DIB3fMu/eRy1tZnixZxO qA4g/haqXfjsLh4DxW8yJgeryzhhVh6tpvo/2HhkLbanoWsErbZrW7UA6hVvVCjSETqC+V5YU mBh6ndfQd1Mx6jC6AEXrxB6eqMqZHHCUjWtjSAiSViKUI5JLNVD+ZnZkGrQqfWdhYK1+/1Ysb EVyNehpiPZvWk6gHaxTVatVOX5yQ/+s9vYpfHHIJl3KTGaMZjYvNBJELzG3Su7lKrk/9GCmXM 2au8Kl25o/5pzF4ECT59GNFx/3646R3yWfty4WxzBucs+wq3g05eEeKm2s8XOPVqIWQqd+dd+ T9vKetKC9dLx5HxbdFy76MQ01GV20Pn2OCfFz18F2PzouTRBczSlICTxKJOdwtFXB//Z1UgaH vNkmAwHLjJCcK2196gzfvHcSKYn5+lWdLh2Y1CY5feqYBITLUE9Jqfa9JvVZUUdXcqkDR50Yx fuKVP8GUvRTNboA/lKRTnleQGT6ck9udDE7Ir05IMZaaUxpaoNGB7SWpC4aTbVb0pUms+Pih8 T5I04eb+6NAwjzTQ2nS6ldgdDSKU57A0SJf9wA9NiofpfnwootzjuPAbT5Bhaa11yHRzH/8eB +HICN6/MLzSFKV+PcyU5Nt3CWqTvDZ6TjBNKtbhtyHT3j8K6ZCI7+zxAawXnNPeSm1mZV3f7l xMxuQ5OG4xKxiDmdSGYxmiydMtX/7PteLlmHaEC71elsehHbugIK/J9VkBIpQu4YXDrOSpHwW 51ayTDdJivfn3JqO0DvrFgk811959MTisJiEfB+qyetGyVuPSN0faHYJhxU7ONKSi6+sd934e 8G4T3lAdm4y2SBF1bNOXaVqiBvNbRq20m/XLMBkshn0J017AyDl0ecPw+to6KXzqUMieqClCd xws/3V+AgRZZ03/Lb1UQjmajIseYGwZmdQIaKBYNYcf9VmmrLM4w/K7TJn8zE/fD6TXrKNlcA HWo7ahuZAGNsHCWxy9EtZJGUbnmGVWy9uubsd6ITlQ2gTTRxUY29sRnRZVGJpuKZ+vqH2jVsY hZAq2c79OwjFATX2+wfqo85u0KZeEKP7gpCL8wQQXsrfouDdhlvu3l1ORmcUeyKGhojq5+mm0 VmLsTr7Aa7zexL/6YOx/xkldzzKAG0i7obIA6aObMBjewxx6sUMtuOVtxIaIkb9IjcHWSrHe1 AqYCCH19TfyraYWx7MR7MYoTpY3aJqRa7LJvO1XlWITfsLZgiC8PlVGQ/lPIcHP28rQAxHtX9 O3hHXP6Nnpcgx3Xs1QGW25S+uzk487LNPA+hzSA== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 43146 Cc: 43146@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --=-=-= Content-Type: text/plain Hugh Daschbach writes: Hi Hugh, > When the same D-Bus property is registered on an interface with two > separate paths, only the last property is preserved. Methods and > signals registered on the same interface on different paths are > preserved. I could reproduce the bug locally. The following patch solves it for me, could you pls check? Best regards, Michael. --=-=-= Content-Type: text/x-patch Content-Disposition: attachment Content-Transfer-Encoding: quoted-printable *** /tmp/ediffkDjiXo 2020-09-02 19:51:41.334910903 +0200 =2D-- /home/albinus/src/emacs/lisp/net/dbus.el 2020-09-02 19:40:00.1736496= 89 +0200 *************** *** 1484,1498 **** ;; Create a hash table entry. We use nil for the unique name, ;; because the property might be accessed from anybody. ! (let ((key (list :property bus interface property)) ! (val ! (list (list nil service path (cons (if emits-signal (list access :emits-signal) (list access)) ! value))))) ! (puthash key val dbus-registered-objects-table) ;; Return the object. (list key (list service path)))) =2D-- 1484,1502 ---- ;; Create a hash table entry. We use nil for the unique name, ;; because the property might be accessed from anybody. ! (let* ((key (list :property bus interface property)) ! ;; Remove possible existing entry, because it must be overwritt= en. ! (val (seq-remove ! (lambda (item) ! (equal (butlast item) (list nil service path))) ! (gethash key dbus-registered-objects-table))) ! (entry (list nil service path (cons (if emits-signal (list access :emits-signal) (list access)) ! value)))) ! (puthash key (cons entry val) dbus-registered-objects-table) ;; Return the object. (list key (list service path)))) *************** *** 1509,1517 **** (cond ;; "Get" returns a variant. ((string-equal method "Get") ! (let ((entry (gethash (list :property bus interface property) ! dbus-registered-objects-table))) ! (when (string-equal path (nth 2 (car entry))) `((:variant ,(cdar (last (car entry)))))))) ;; "Set" expects a variant. =2D-- 1513,1527 ---- (cond ;; "Get" returns a variant. ((string-equal method "Get") ! (let ((entry ! ;; Remove entries not belonging to this case. ! (seq-remove ! (lambda (item) ! (not (string-equal path (nth 2 item)))) ! (gethash (list :property bus interface property) ! dbus-registered-objects-table)))) ! ! (when (string-equal path (nth 2 (car entry))) `((:variant ,(cdar (last (car entry)))))))) ;; "Set" expects a variant. --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 02 18:06:09 2020 Received: (at 43146) by debbugs.gnu.org; 2 Sep 2020 22:06:09 +0000 Received: from localhost ([127.0.0.1]:60975 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kDatN-0007B7-29 for submit@debbugs.gnu.org; Wed, 02 Sep 2020 18:06:09 -0400 Received: from mail1.ccss.com ([159.203.255.73]:38026) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kDatH-0007AX-RT for 43146@debbugs.gnu.org; Wed, 02 Sep 2020 18:06:08 -0400 Received: by mail1.ccss.com (Postfix, from userid 114) id 966D6BF9D4; Wed, 2 Sep 2020 12:01:58 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mail1.ccss.com X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=ALL_TRUSTED,DKIM_SIGNED, T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.2 Received: from ccss.com (unknown [192.168.76.11]) by mail1.ccss.com (Postfix) with ESMTP id 19A42BF9D2; Wed, 2 Sep 2020 12:01:58 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by ccss.com (Postfix) with ESMTP id 9F79C17606DF; Wed, 2 Sep 2020 12:01:57 -0700 (PDT) Received: from ccss.com ([127.0.0.1]) by localhost (ccss.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id J0ZPUhYnXL1q; Wed, 2 Sep 2020 12:01:52 -0700 (PDT) Received: from klaatu (klaatu.lan [192.168.42.3]) (Authenticated sender: hugh) by ccss.com (Postfix) with ESMTPSA id 014AB1760428; Wed, 2 Sep 2020 12:01:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ccss.com; s=mail; t=1599073312; bh=y//0BlorvQJiedeR9Or9SypLx4C2sDXapu1u5qcx4Ss=; h=References:From:To:Cc:Subject:In-reply-to:Date:From; b=p2ZxNXZq3Ql75HSbbK2FN4cA314+8t6GwqgaUPUhIw6WIMypfVkyE6rTCawZXt3wH JPtGB46tbldSyCLdIYvzgGByPmi0IXJ/luVCrlM+ayiEeVOyzXDCbTJe/jeuI+5uTF wyLBsQrU426inAcM+bsBYyjhfquk3YeklBIP3vUYVpCw617VUj44OvAmo/3o0cTpIH wTgHsuBMt6CctB36KtRMXCbNiLzh40RnmcYJNSrXZHH8mwLAl4cJ88AxfVFbsE2v7g 4gl7Ml9hHB6VUyKQtIcm6uxhoy1KCT+CLr2dCvkUkjge+Ba6HRiye7JHU/1e5h00Vw 8umKK6a0QwY/g== References: <873642mfxd.fsf@ccss.com> <87zh68hxgz.fsf@gmx.de> User-agent: mu4e 1.5.5; emacs 27.1 From: Hugh Daschbach To: Michael Albinus Subject: Re: bug#43146: 27.1; D-Bus property handling incomplete In-reply-to: <87zh68hxgz.fsf@gmx.de> Date: Wed, 02 Sep 2020 12:01:37 -0700 Message-ID: <87a6y8roj2.fsf@ccss.com> MIME-Version: 1.0 Content-Type: text/plain; format=flowed X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 43146 Cc: 43146@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Michael Albinus writes: > Hugh Daschbach writes: > >> When the same D-Bus property is registered on an interface with >> two >> separate paths, only the last property is preserved. Methods >> and >> signals registered on the same interface on different paths are >> preserved. > > I could reproduce the bug locally. The following patch solves it > for me, > could you pls check? Michael, thank you for such a quick fix. I've tested this and it does indeed fix my issue. Looking at how you fix it, I wonder if the change to dbus-property-handler should also apply to the "Set" and "GetAll" cond clauses. Many thanks. Hugh From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 02 18:06:11 2020 Received: (at 43146) by debbugs.gnu.org; 2 Sep 2020 22:06:11 +0000 Received: from localhost ([127.0.0.1]:60977 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kDatP-0007BM-Bv for submit@debbugs.gnu.org; Wed, 02 Sep 2020 18:06:11 -0400 Received: from mail1.ccss.com ([159.203.255.73]:38150) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kDatM-0007Av-UF for 43146@debbugs.gnu.org; Wed, 02 Sep 2020 18:06:09 -0400 Received: by mail1.ccss.com (Postfix, from userid 114) id C90F2BFA11; Wed, 2 Sep 2020 15:01:50 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mail1.ccss.com X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=ALL_TRUSTED,DKIM_SIGNED, T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.2 Received: from ccss.com (unknown [192.168.76.11]) by mail1.ccss.com (Postfix) with ESMTP id 35FE3BF9EC; Wed, 2 Sep 2020 15:01:50 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by ccss.com (Postfix) with ESMTP id DEA2517606DF; Wed, 2 Sep 2020 15:01:49 -0700 (PDT) Received: from ccss.com ([127.0.0.1]) by localhost (ccss.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SQiE64tDjHag; Wed, 2 Sep 2020 15:01:43 -0700 (PDT) Received: from klaatu (klaatu.lan [192.168.42.3]) (Authenticated sender: hugh) by ccss.com (Postfix) with ESMTPSA id 4D91A1760428; Wed, 2 Sep 2020 15:01:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ccss.com; s=mail; t=1599084103; bh=OWXeQbeaoRX1ooBtESQY0wegI4jrgEcyDItA3B8HIcc=; h=References:From:To:Cc:Subject:In-reply-to:Date:From; b=eFclOQNb7PyJePauEdF6f2f1Gg6FDKnhLEJUEbCFA0qtb9U2l4kQ2EX4XB7MDcOXW 7FVl5qJ1zcSQqzs6mrWFUoSB7aqbJ+gsEPq4ec3sAJ5obL3hfbIY8Y5l4e7wQ80WaZ DGdzBAk+LINCHv/NvEVjmvJ7MXstWWdRRiCGKQ93ivJ2mbgUYVtmf1l3QbWKQSLAsG CSkVK808tpW8ab3vt8gCIyKez+bUUXSPA4g2WmpyS9D+XoMKxV6USZjbRIBo4DrlZn lTMNZdEWqldMKaNl6tzwv+Pcp4m+8Y7lcqKmCByO4B5tN6bqU/tz1GeScHNfterpSp nD+IRuzoaj70g== References: <873642mfxd.fsf@ccss.com> <87zh68hxgz.fsf@gmx.de> <87a6y8roj2.fsf@ccss.com> User-agent: mu4e 1.5.5; emacs 27.1 From: Hugh Daschbach To: Michael Albinus Subject: Re: bug#43146: 27.1; D-Bus property handling incomplete In-reply-to: <87a6y8roj2.fsf@ccss.com> Date: Wed, 02 Sep 2020 15:01:43 -0700 Message-ID: <877dtbsurc.fsf@ccss.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 43146 Cc: 43146@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain; format=flowed Hugh Daschbach writes: > Michael Albinus writes: > >> I could reproduce the bug locally. The following patch solves >> it >> for me, >> could you pls check? > > Michael, thank you for such a quick fix. I've tested this and > it > does > indeed fix my issue. > > Looking at how you fix it, I wonder if the change to > dbus-property-handler > should also apply to the "Set" and "GetAll" cond clauses. > > Many thanks. > Hugh I've tweaked the test script to examine the "Set" and "GetAll" methods. The updated version is attached below. Here's the sequence of operations: /node0 /node1 ------ ------ register prop, value "-node0-" get prop, value is "-node0-" register prop, value "-node1-" get prop, value is "-node0-" get prop, value is "-node1-" set prop, value "-replaced-" get prop, no value returned get prop, value is "-replaced-" getall, empty array returned So I think the "Set" performed on /node1 corrupted the value of the property no /node0. The last two operations on /node0 suggest the value of /node0's property is no longer available. Thanks again, Hugh --=-=-= Content-Type: text/plain Content-Disposition: attachment; filename=dbus-properties-test.el Content-Description: D-Bus properties set/getall test script. ;;; dbus-properties-test.el --- Test program for complex :dict-entry. -*- lexical-binding: t; -*- ;; Copyright (C) 2020 Hugh Daschbach ;; Author: Hugh Daschbach ;; Keywords: tools ;; This program 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 3 of the License, or ;; (at your option) any later version. ;; This program 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 this program. If not, see . ;;; Commentary: ;; This program demonstrates an error in handling D-Bus properties ;; interface. ;; ;; `dbus-property-handler' provides an org.freedesktop.DBus.Properties ;; interface to respond to requests for registered properties. But, ;; unlike methods and signals, properties are not stored per interface ;; per object. They are merely stored per interface. ;; ;; So the current implementation cannot support properties on the same ;; interface with a different object path. ;;; Code: (require 'dbus) (defun main () (interactive) (setq dbus-debug t) (setq debug-on-error t) (dbus-register-property :system "org.gnu.Emacs" "/node0" "org.bluez.GattService1" "Device" :readwrite "-node0-") (start-process "node0-get" "*node0*" "dbus-send" "--system" "--print-reply" (concat "--dest=" (dbus-get-unique-name :system)) "/node0" "org.freedesktop.DBus.Properties.Get" "string:org.bluez.GattService1" "string:Device") (sit-for 1) (dbus-register-property :system "org.gnu.Emacs" "/node1" "org.bluez.GattService1" "Device" :readwrite "-node1-") (start-process "node0-get" "*node0*" "dbus-send" "--system" "--print-reply" (concat "--dest=" (dbus-get-unique-name :system)) "/node0" "org.freedesktop.DBus.Properties.Get" "string:org.bluez.GattService1" "string:Device") (start-process "node1-get" "*node1*" "dbus-send" "--system" "--print-reply" (concat "--dest=" (dbus-get-unique-name :system)) "/node1" "org.freedesktop.DBus.Properties.Get" "string:org.bluez.GattService1" "string:Device") (start-process "node1-set" "*node1*" "dbus-send" "--system" "--print-reply" (concat "--dest=" (dbus-get-unique-name :system)) "/node1" "org.freedesktop.DBus.Properties.Set" "string:org.bluez.GattService1" "string:Device" "variant:string:-replaced-") (sit-for 1) (start-process "node0-get" "*node0*" "dbus-send" "--system" "--print-reply" (concat "--dest=" (dbus-get-unique-name :system)) "/node0" "org.freedesktop.DBus.Properties.Get" "string:org.bluez.GattService1" "string:Device") (start-process "node1-get" "*node1*" "dbus-send" "--system" "--print-reply" (concat "--dest=" (dbus-get-unique-name :system)) "/node1" "org.freedesktop.DBus.Properties.Get" "string:org.bluez.GattService1" "string:Device") (start-process "node0-get" "*node0*" "dbus-send" "--system" "--print-reply" (concat "--dest=" (dbus-get-unique-name :system)) "/node0" "org.freedesktop.DBus.Properties.GetAll" "string:org.bluez.GattService1" "string:Device") (sit-for 1) (split-window-below) (switch-to-buffer "*node0*") (goto-char (point-min)) (other-window 1) (switch-to-buffer "*node1*") (goto-char (point-min))) (provide 'dbus-properties-test) ;;; dbus-properties-test.el ends here --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 03 02:50:29 2020 Received: (at 43146) by debbugs.gnu.org; 3 Sep 2020 06:50:30 +0000 Received: from localhost ([127.0.0.1]:33281 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kDj4n-0005SJ-LX for submit@debbugs.gnu.org; Thu, 03 Sep 2020 02:50:29 -0400 Received: from mout.gmx.net ([212.227.17.22]:33735) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kDj4l-0005S4-E5 for 43146@debbugs.gnu.org; Thu, 03 Sep 2020 02:50:28 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1599115820; bh=4Yfgo9SPK3PTGId6Pu+sUzzB60lf4HWyJE1CLEUelOo=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=ehaoSfkgw4cTtUltrou4M9bpQCJ3sO99bfymfU0di4LpWOxRWh37WR4PIH6U0lUem Hq96qzU0hifuzlpMTP/zKlpbE89TE7RzkZ68XpdisfAV4f3F0fl8gYE9Ts6a9w4Y00 Kud/KNEZFwBTadejjT6QM5qxmOUjgW42VFBh6/kI= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from gandalf.gmx.de ([213.220.156.38]) by mail.gmx.com (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MqJqN-1ks1lY3Cq3-00nNDM; Thu, 03 Sep 2020 08:50:19 +0200 From: Michael Albinus To: Hugh Daschbach Subject: Re: bug#43146: 27.1; D-Bus property handling incomplete References: <873642mfxd.fsf@ccss.com> <87zh68hxgz.fsf@gmx.de> <87a6y8roj2.fsf@ccss.com> Date: Thu, 03 Sep 2020 08:50:18 +0200 In-Reply-To: <87a6y8roj2.fsf@ccss.com> (Hugh Daschbach's message of "Wed, 02 Sep 2020 12:01:37 -0700") Message-ID: <87sgbztkut.fsf@gmx.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1://58wMmbEv8RU2cm9hkt+xFIErdmmhgKynHRBpfYmEKbKuFNTIe SpmRWM5hFO3+1KzhRBD1qt3YsNfS394n/xlA6M0JUq5EWy/akd2tlBpVBhRs8jPKsPkO8ke HlvNDu+mYn5I8O0QQVi20YJgB0kNiCAZ/Gl8yTMm36n6OnPWU+B7OWxOVbA7KRtysKc7p/m jjXKH8ANa6FwMCKypcGwg== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:cwxB3/XL0jU=:Je4SMVNEABPKGOrTaIJMjn nlE+5+Smg9yZQNfQZPg6ftSdh8apFqVkfmut/EDdCYKDBFNh25ARZTDRcQTQM2NYID+yGIU3w 4W4KbwvFRXuzmKGzNzozHJwFV0p2M/NM0BIhNUOkVSNiI3cjIlUOMuxsuXjw0gLTwBjc2yD1o TnZghrtuIVMqsZQ5/HtRi6p1WC1GDWZt3BMfaZ4IiSBwhm9FhufmxucJADcct0tiHZCdVs+hW ebiHIcrOj/uEr5Ngu/4ykmJDAutk9zvrhL6zfyutKIbX/5Y+6tC/vny05O7Xrc7jNpsOUMbsh fc4PEDfq5C5HykSPTtKacprgIaavS4nTKvsgdIJTF+mIuIId2KEPmoW+ntOExUvwqhZwIvoZ1 QCWQQevOk7iCuNHOjWiNcgihkom8uvK/eUYGm9rkH3M+CgLfG0Qneo2Wy2IXM8zS74rTUULc6 EU2/TpRByediCHhlCqonX7dVd4XNlp6ywIZypGSiDFBmXTwCpQSGIgyz7yIe2G+jnbKw3n2F+ uWsakgAof9xHncvKaLxKyET3YR6jn2ybDXYKeD8iGVpMgSzJUyKHlBloucI4aW4azPAgY1Zx2 +qIk0Mv2zeI4b87PeOEBLxSwpYM38x3qgz8vnEXN7qA5ud05ON/2PeOKJ4qa9HZbJk1rEvMm2 2KcrsK5MZ3k2uJI9/IY+IPbI/2Oj34VlckT986jDORahM7H4/wmhUrKyBYFUWUfloAjLi4z7R 4RWzOwx5q6qHadJiyWkCzl5wUe+lYKopYkNvWTLUOdg1jQs2OSkA/R2nE9WZLgQxWA4uRO1oo gFoixrmy52hnF+Idd7oKiByY1OMBvLjfMf9zcdf38Kc0lyBmhBvudifoVU/E2Qn2eHVsHiBn+ zMIdA2e6uhSCLkQY2x1MYJ6KLbhSCUr813MJWVVTVMAzbu9oShXFQROghxPxSESxwHI43nTLR YTggzo0OqkuAk5rJk0CBFk/+8Is2SqJz4UuyFCNfXRtwvnVerToY83Pbt/8RbnT9Oar9cHcnO 8AU9WFz/+BFjii7/ZSHcHloHGPOm3OTFDX0TzC/xwg6B3Pk9stkfRtSjgS5aAHuAdHvH1VCV/ EHD9/on5AawPtpFZJZdeI8AISq9I/GdJpUZ5y2p9hWfkxLPDndheHIAPq9TniZKWqXPPoQ4kI jqfdrJiAptljgqOGX4P77t98oZ3pAiJtxUnVZWgmctszrcfiurWbSmRKgVGu9D7ruplbzoCm/ Kk31Ib8CzKGwkfZos2L2dzHxEdY40svbx3dV89Q== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 43146 Cc: 43146@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hugh Daschbach writes: Hi Hugh, > Michael, thank you for such a quick fix. I've tested this and it > does > indeed fix my issue. > > Looking at how you fix it, I wonder if the change to > dbus-property-handler > should also apply to the "Set" and "GetAll" cond clauses. I had exactly the same idea when I was in bed. Will do now. > Many thanks. > Hugh Best regards, Michael. From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 03 07:53:01 2020 Received: (at 43146) by debbugs.gnu.org; 3 Sep 2020 11:53:01 +0000 Received: from localhost ([127.0.0.1]:33726 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kDnnZ-0002sA-A4 for submit@debbugs.gnu.org; Thu, 03 Sep 2020 07:53:01 -0400 Received: from mout.gmx.net ([212.227.17.21]:52683) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kDnnX-0002rx-FG for 43146@debbugs.gnu.org; Thu, 03 Sep 2020 07:53:00 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1599133971; bh=GO6jP7RCrzeAq2eoa+ON2LxL1uojy4sll+Ljaz5MkZU=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=lRrIVCwFnD4nJ4JqftrOdnSPJDRHzd37PjC+UQYP2VCa1KYFT4zoZXonrD3GdmreT PWIwUCDb6CoP/2EE024NnU7x9xcPJ4Uu8IBJvkxSnR5R/dqqWHt2vIiJqv51L00QPB Rf6zCynrualphWMo7BOfEtF43CqpfW+u7oA4zKQM= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from gandalf.gmx.de ([213.220.156.38]) by mail.gmx.com (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MacSY-1kpbej1nz8-00c817; Thu, 03 Sep 2020 13:52:51 +0200 From: Michael Albinus To: Hugh Daschbach Subject: Re: bug#43146: 27.1; D-Bus property handling incomplete References: <873642mfxd.fsf@ccss.com> <87zh68hxgz.fsf@gmx.de> <87a6y8roj2.fsf@ccss.com> <877dtbsurc.fsf@ccss.com> Date: Thu, 03 Sep 2020 13:52:50 +0200 In-Reply-To: <877dtbsurc.fsf@ccss.com> (Hugh Daschbach's message of "Wed, 02 Sep 2020 15:01:43 -0700") Message-ID: <87o8mnt6ul.fsf@gmx.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Provags-ID: V03:K1:mMii7J7RZSTzee/XReGBLx8lWY7aH0DX9UzkVMS2P5MLq7qUBqA be/7eh4WPJMd6VlIWtCapouHxQAl9leV4y+Xs0uD/EhTeNOq2EcVgnbhz8ZPjQt7m+IyoQB opCna5tcGsa3/Zuir1pIoBnA1huiDXQr4yC46Kl6rWfqjldxnJX1Ir0vP6M8A07jMkrD0T3 DY9uK+73gk9b8JHUW440A== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:z1TQJxig0Vk=:BNgFmJrbAlzLQqy4XFlm5X z/7xsgfZmeRhgSoCYe7Sf4SFsHZjSXjjxMCSLRnprcRu1xin1Moxx/IIikTYo2wxpTAUuENzJ P0kq4a8ASXP8N8kSSK/DFTdlB9WYMuVqgAHmsNN16tua8CEWOJ+iIgD+JfpoZ+mwMOJQ6dn3O rf5qEX1QrxnSJB8BIVRcKo4S7JljNsaGr/TWkkNtrX8F5PgLBBwAc3gNQyNVQkvq5WSonk8Jc 2ICopLa3DEdzZ0KFUxgKRM1FwjmeYi0twIoNsiZ6lsoFQpDPlDEYZvhAHFT4LcC665DDz29tY N1cNuqizE+a8Oc/OLAcW4OqYB2+C2PEYGae1DtK8N0tk6CC6OtaBKbIeZiRGEXfWCIfb6SGg2 tkJSzFytLPvLAIZRPf0t3G55g/J62E3QGFeblNqYQTS0bBS89FP4SM1ALYqab5lmLzy70E4kp kie6Fm7Nfkqb2Dku36khOJgdAGPXfR1uTv21Ca6NTi+rLKFg2chJh/ewmSrShofrU2/D/whoi 9KbFDwjVPDoaYkiO/ZuNhq0L4eJ+vk1vcBaNz4p7fZwKa9pcPiTDL07uyMDw86f0kEW6F1S5m JjjhkGhAtDe2OaebKUeKgP45CGoh/LB1+DhuBh6lrZoFFpOTXoUDes/QoYd/mW5KcSwlRLgXv qH5ApecXxJ8tvyOASTsFDeULpMfhCkjiDGhrWp7eIvpGEEtVfPFPYHN1PtZsTd/nJjrO5+0Ce FWcNloK2nYYk8I921x9NJqbJ8HUSfKHRkf8vopC5zxAkJaMPEPrs4EfL2rHiSpIj/JCaTlgQX b9DX0Y22zJ8PBSekU90rC+gNkbnhMTMivWqGH81YnIHCsnE5g6GnA1UCfyFVKBbvxN5+TTD0V TVBYlSsJFrjZ9POMR2t1S8704Y50X/NMcbl4ag6kC/PrBVxvaDOVwxEeN8QfBohDYxUm9i4cv OuFfkEVpgF4aLolbmbng/Sz2JuwS/9UdDMra52zZCW+qXqEzriaX38f462meYSTe3I7BFD1eR WBbS2/f4hIg9/8cBpTUUeGc00oxl2qeXAMbRHFxIiikYS9vSuc5lfz1BMOyhNHI5WL8GSdIdI n8lajg5KVrQ9Js3v1aK/nbQh4MTGvuz0sj5HTJfwjsm0xnKIS2OFIOk9vwz6gNirvRMXVQcNY kGs7P4L79mrgD8hy5KVmP+NfnyALXdNS2PPyH4Xh663GTzkgwrsF2i3vv3q058ptGbQ5bhl4m VkLohsMdrMUjTgRm/T+nPlp2+/wuQQM4CFhd4eA== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 43146 Cc: 43146@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --=-=-= Content-Type: text/plain Hugh Daschbach writes: Hi Hugh, > I've tweaked the test script to examine the "Set" and "GetAll" > methods. The updated version is attached below. Thanks for the test file. I've appended another patch, could you pls apply this instead of the first one? Locally, I've tested your script successfully. > Thanks again, > Hugh Best regards, Michael. --=-=-= Content-Type: text/x-patch Content-Disposition: attachment Content-Transfer-Encoding: quoted-printable *** /tmp/ediffWCMSQF 2020-09-03 13:49:33.193916784 +0200 =2D-- /home/albinus/src/emacs-27/lisp/net/dbus.el 2020-09-03 13:36:44.9603= 64842 +0200 *************** *** 1477,1482 **** =2D-- 1477,1502 ---- (nreverse result)) (push (cons (car dict) (cl-caadr dict)) result))))) + (defun dbus-get-this-registered-property (bus _service path interface pr= operty) + "Return PROPERTY entry of `dbus-registered-objects-table'. + Filter out not matching PATH." + ;; Remove entries not belonging to this case. + (seq-remove + (lambda (item) + (not (string-equal path (nth 2 item)))) + (gethash (list :property bus interface property) + dbus-registered-objects-table))) + + (defun dbus-get-other-registered-property (bus _service path interface p= roperty) + "Return PROPERTY entry of `dbus-registered-objects-table'. + Filter out matching PATH." + ;; Remove matching entries. + (seq-remove + (lambda (item) + (string-equal path (nth 2 item))) + (gethash (list :property bus interface property) + dbus-registered-objects-table))) + (defun dbus-register-property (bus service path interface property access value &optional emits-signal dont-register-service) *************** *** 1543,1554 **** ;; because the property might be accessed from anybody. (let ((key (list :property bus interface property)) (val ! (list (list nil service path (cons (if emits-signal (list access :emits-signal) (list access)) ! value))))) (puthash key val dbus-registered-objects-table) ;; Return the object. =2D-- 1563,1576 ---- ;; because the property might be accessed from anybody. (let ((key (list :property bus interface property)) (val ! (cons (list nil service path (cons (if emits-signal (list access :emits-signal) (list access)) ! value)) ! (dbus-get-other-registered-property ! bus service path interface property)))) (puthash key val dbus-registered-objects-table) ;; Return the object. *************** *** 1566,1581 **** (cond ;; "Get" returns a variant. ((string-equal method "Get") ! (let ((entry (gethash (list :property bus interface property) ! dbus-registered-objects-table))) (when (string-equal path (nth 2 (car entry))) `((:variant ,(cdar (last (car entry)))))))) ;; "Set" expects a variant. ((string-equal method "Set") (let* ((value (caar (cddr args))) ! (entry (gethash (list :property bus interface property) ! dbus-registered-objects-table)) ;; The value of the hash table is a list; in case of ;; properties it contains just one element (UNAME SERVICE ;; PATH OBJECT). OBJECT is a cons cell of a list, which =2D-- 1588,1603 ---- (cond ;; "Get" returns a variant. ((string-equal method "Get") ! (let ((entry (dbus-get-this-registered-property ! bus service path interface property))) (when (string-equal path (nth 2 (car entry))) `((:variant ,(cdar (last (car entry)))))))) ;; "Set" expects a variant. ((string-equal method "Set") (let* ((value (caar (cddr args))) ! (entry (dbus-get-this-registered-property ! bus service path interface property)) ;; The value of the hash table is a list; in case of ;; properties it contains just one element (UNAME SERVICE ;; PATH OBJECT). OBJECT is a cons cell of a list, which *************** *** 1590,1597 **** (signal 'dbus-error (list "Property not writable at path" property path))) (puthash (list :property bus interface property) ! (list (append (butlast (car entry)) ! (list (cons (car object) value)))) dbus-registered-objects-table) ;; Send the "PropertiesChanged" signal. (when (member :emits-signal (car object)) =2D-- 1612,1621 ---- (signal 'dbus-error (list "Property not writable at path" property path))) (puthash (list :property bus interface property) ! (cons (append (butlast (car entry)) ! (list (cons (car object) value))) ! (dbus-get-other-registered-property ! bus service path interface property)) dbus-registered-objects-table) ;; Send the "PropertiesChanged" signal. (when (member :emits-signal (car object)) *************** *** 1607,1620 **** (let (result) (maphash (lambda (key val) ! (when (and (equal (butlast key) (list :property bus interface)) ! (string-equal path (nth 2 (car val))) ! (not (functionp (car (last (car val)))))) ! (push ! (list :dict-entry ! (car (last key)) ! (list :variant (cdar (last (car val))))) ! result))) dbus-registered-objects-table) ;; Return the result, or an empty array. (list :array (or result '(:signature "{sv}")))))))) =2D-- 1631,1645 ---- (let (result) (maphash (lambda (key val) ! (dolist (item val) ! (when (and (equal (butlast key) (list :property bus interface)) ! (string-equal path (nth 2 item)) ! (not (functionp (car (last item))))) ! (push ! (list :dict-entry ! (car (last key)) ! (list :variant (cdar (last item)))) ! result)))) dbus-registered-objects-table) ;; Return the result, or an empty array. (list :array (or result '(:signature "{sv}")))))))) --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 03 14:23:36 2020 Received: (at 43146) by debbugs.gnu.org; 3 Sep 2020 18:23:36 +0000 Received: from localhost ([127.0.0.1]:36146 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kDttY-0000PM-Go for submit@debbugs.gnu.org; Thu, 03 Sep 2020 14:23:36 -0400 Received: from mail1.ccss.com ([159.203.255.73]:41462) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kDttW-0000P7-SC for 43146@debbugs.gnu.org; Thu, 03 Sep 2020 14:23:35 -0400 Received: by mail1.ccss.com (Postfix, from userid 114) id 14B8ABF8C5; Thu, 3 Sep 2020 11:23:29 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mail1.ccss.com X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=ALL_TRUSTED,DKIM_SIGNED, T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.2 Received: from ccss.com (unknown [192.168.76.11]) by mail1.ccss.com (Postfix) with ESMTP id C0003BF855; Thu, 3 Sep 2020 11:23:28 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by ccss.com (Postfix) with ESMTP id 8F91117606A9; Thu, 3 Sep 2020 11:23:28 -0700 (PDT) Received: from ccss.com ([127.0.0.1]) by localhost (ccss.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8zcEDm26_VJl; Thu, 3 Sep 2020 11:23:22 -0700 (PDT) Received: from klaatu (klaatu.lan [192.168.42.3]) (Authenticated sender: hugh) by ccss.com (Postfix) with ESMTPSA id C7376176065A; Thu, 3 Sep 2020 11:23:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ccss.com; s=mail; t=1599157402; bh=7o2GgSCG6bQmP9qyq6iv4Ed6eepQUz6pIp+3ekBQtTU=; h=References:From:To:Cc:Subject:In-reply-to:Date:From; b=Ub8goLeaPkUpiQbJiAHvk9NSmgrhlqKN0YxQ7Szqy4lNI0YOUZrni4TtGS6wXH08E 2hnDYIdoX6sjOjuwGUztdECDyl/2IxhGi8xHrq8xqv/HOZkaJgocuJjcwvpaJBRi6M /OgQelEUmKJNs3tJC8MmCXiE851jpL4LT4rDY+m9etOlfnk+Kyn6d/sSHDCVZ8Pvtq +vl18nDOLLRBoUnj97m6KjfF9WXAxLE8l613Hk84zOvnW7XYiE9Hzilsu7MTC25vV7 4NQQjtjye08LrbYHFoF2BalKYZkeIpZ3pNIIutn8yk3Dh0DKzScBo7VL05k/5Px/n8 rPzqnkQvWVEtw== References: <873642mfxd.fsf@ccss.com> <87zh68hxgz.fsf@gmx.de> <87a6y8roj2.fsf@ccss.com> <877dtbsurc.fsf@ccss.com> <87o8mnt6ul.fsf@gmx.de> User-agent: mu4e 1.5.5; emacs 27.1 From: Hugh Daschbach To: Michael Albinus Subject: Re: bug#43146: 27.1; D-Bus property handling incomplete In-reply-to: <87o8mnt6ul.fsf@gmx.de> Date: Thu, 03 Sep 2020 11:23:22 -0700 Message-ID: <874koesorp.fsf@ccss.com> MIME-Version: 1.0 Content-Type: text/plain; format=flowed X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 43146 Cc: 43146@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Michael Albinus writes: > Hugh Daschbach writes: > > Hi Hugh, > >> I've tweaked the test script to examine the "Set" and "GetAll" >> methods. The updated version is attached below. > > Thanks for the test file. > > I've appended another patch, could you pls apply this instead of > the > first one? Locally, I've tested your script successfully. That works! Thanks. I've tested this with code that originally surfaced this issue and no longer see a problem. Please close the ticket at your convenience. Thanks again. Hugh From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 03 14:57:16 2020 Received: (at 43146-done) by debbugs.gnu.org; 3 Sep 2020 18:57:16 +0000 Received: from localhost ([127.0.0.1]:36204 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kDuQ8-0001Dv-3g for submit@debbugs.gnu.org; Thu, 03 Sep 2020 14:57:16 -0400 Received: from mout.gmx.net ([212.227.15.19]:34653) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kDuQ6-0001Dj-Jn for 43146-done@debbugs.gnu.org; Thu, 03 Sep 2020 14:57:15 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1599159427; bh=nmEpafaW1AmSzOumgdDts4rKhUIkbbITZU1iOneFFTA=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=SMqjPWlXXadJoq8mBRc77Z2yHRyckIrgiXd46e/ULx1kkPVlONrcWAmai0wjGWLSz fAtB19FKqMrPp8P1wZ8kejlMXQYSF5jMU9LFuZRhdWET9+4u92bSshNwtzi9k1IHhx b3byggWEC6ICAOqOqlvx4WlGmfvJWB3oALFagr1U= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from gandalf.gmx.de ([213.220.156.38]) by mail.gmx.com (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MDhlV-1kO32S09X5-00AkF0; Thu, 03 Sep 2020 20:57:07 +0200 From: Michael Albinus To: Hugh Daschbach Subject: Re: bug#43146: 27.1; D-Bus property handling incomplete References: <873642mfxd.fsf@ccss.com> <87zh68hxgz.fsf@gmx.de> <87a6y8roj2.fsf@ccss.com> <877dtbsurc.fsf@ccss.com> <87o8mnt6ul.fsf@gmx.de> <874koesorp.fsf@ccss.com> Date: Thu, 03 Sep 2020 20:57:05 +0200 In-Reply-To: <874koesorp.fsf@ccss.com> (Hugh Daschbach's message of "Thu, 03 Sep 2020 11:23:22 -0700") Message-ID: <87h7sesn7i.fsf@gmx.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:XbGLPIMVly0VBsTuNx9sYIZfGwXMu0gVBKKnrt1GyGOiXUY/AZe FBmTpbHayakXd8WjuOodP6WavReuPbG6VBfL3o0WpwmiZa/kw44rI0EI5wXL3t22TjYlirL NPsiz3B5qTO+xTA/Ijbd4b3Uy4bnMCjiX8bRQHi0d7xex3MMqIB5vKAvnoufvCJ3Ha5hCt8 07BXQChzIM9AMVK1FpfhQ== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:lFdd4oWY2y8=:NQHPDGABCE7rRGXQ8nlrw9 rC4q/WBf4z/omUN/ax/aXr3JfjgLgtciv2yRpHgClXvkYuQ5hFj7GkILZuDC95Ta7ApqUmlvh dQvfPiEUuhGe9DVOYE6KTl6b6+CY/i29eHdqS+tnNI38dnftGi8XMHsaflmxjGzl/i5o1qxGz iNKvfVUE+9fdqGfAYWI/wEMuUFcn8NrVMOKNZUf5GWuNUWiOWnEwdb/XoQd2MxuBRyCMuK2lE 1tt5UOUMqujiPIv9YIlTwkSBOIV2fu7qVAKH7p/mxoXFlOqX2eThc6RxWb7Sr0lCzwPPUHc6j iwgJr5d0bLuevgoiZXVnWtZj0B9ksxr6dt3HPqda5NR751WYIMaNxxBEuZIjogSFyOCBA2fgJ kQ7AVi6gHeI/V03PBruSrbGct++Rf/8PQBqhxqABeb4Ffw6AA4Igjs4gUYbmDw3K2xx75wuZ9 FDHGYOJAnOhf+/z2UEXfM4sraxMSfrtiZKXp25245HWCvMjTTs2kWQbwbTRnxntRynEcwqON3 Qz1JjyEAtzmDkedju5Ik2m1V9nYPHJF6HhFR1D+43FJOen/G/8eQ01OYNRubp66EWiWsVXVRk cMKw24l18G/XZXFyxftipH148yW2ghcbqfFUP4FG+Wn3rWZNjWQ+rNJe0V2KYLrWOhS7W8+eh HBDfXmw8x9PhaFgICBTWznsBJ5O8Owi+5WDs/zR0Po+D5lqLH2YUuzSWGFD2Yrswei7rqGTGL g5WtjezvEXO8TDkc5hOMNtA4V4rn3vx/LdEarG1is2s8qrJb1bNYX6P8zNPiBPMZY8hfTVwsI kze5Etwr392b38aFSTiF/wlGgSH9FkWbSndO6yY4lqIyGUnfecPepzTjrcTClIX65psDIsw1L a3lkbvK+w1QAM0fV4uMVFjoGgsrwrdBRTV7eVha+wXt+bfkIav9JeyRRFtYLWiNP296CeTY87 pTNLSBiB53jUuUqVEAZuKglf1nEWHfheQ6vZp9cYDZFa5edp7nZvY2i1oO792meN5AcTXNQbD bPIHsln2q/Kz1+WGwcsI9FYG4bqGZrmadfAo+CEXbO/JZgST8sQ3bUJDILNtTiLrO1jZvUWVX odnh2XQkKDp7spkcGKXj55XxNjH6sIabsoNdTAaxAqjgggBXnjVcSPMxJC9dvBX3FvySik5tz 1J+dwaxixTy/tYLN7R8knWLVC3COtpbu5vbvYGANQc0w/RlxlrrtJPHo1VtmJggGhyEFXutBp FtYiY1MQkua/npTrQFExZSD9v36DYjh+TWw8N4g== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 43146-done Cc: 43146-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Version: 27.2 Hugh Daschbach writes: Hi Hugh, >> I've appended another patch, could you pls apply this instead of the >> first one? Locally, I've tested your script successfully. > > That works! Thanks. > > I've tested this with code that originally surfaced this issue and no > longer see a problem. Thanks for the feedback. I've pushed the patch to the emacvs-27 branch, will appear with upcoming Emacs 27.2. > Please close the ticket at your convenience. Done. FYI, I use the opportunity to work on further dbus.el enhancements, being on my todo for a long time. This includes the :write access type of properties, and raising proper D-Bus error messages. Will appear with Emacs 28. > Thanks again. > Hugh Best regards, Michael. From unknown Sat Jun 21 03:24:36 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 02 Oct 2020 11:24:06 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator