From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: LdBeth Newsgroups: gmane.emacs.bugs Subject: bug#69116: 29.1; plstore.el failed when save using EasyPG Date: Tue, 13 Feb 2024 23:37:23 -0600 Message-ID: Mime-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="7315"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?UTF-8?Q?Goj=C5=8D?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/29.1 (x86_64-apple-darwin20.6.0) MULE/6.0 (HANACHIRUSATO) To: 69116@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Feb 14 06:59:07 2024 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ra8IU-0001gM-Fm for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 14 Feb 2024 06:59:07 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ra8IC-0002Qq-Vy; Wed, 14 Feb 2024 00:58:49 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ra8IA-0002QO-Eg for bug-gnu-emacs@gnu.org; Wed, 14 Feb 2024 00:58:46 -0500 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ra8IA-0000Go-6U for bug-gnu-emacs@gnu.org; Wed, 14 Feb 2024 00:58:46 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1ra8IQ-0002nX-Iq for bug-gnu-emacs@gnu.org; Wed, 14 Feb 2024 00:59:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: LdBeth Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 14 Feb 2024 05:59:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 69116 X-GNU-PR-Package: emacs X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.170789029110670 (code B ref -1); Wed, 14 Feb 2024 05:59:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 14 Feb 2024 05:58:11 +0000 Original-Received: from localhost ([127.0.0.1]:49608 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ra8Ha-0002lx-28 for submit@debbugs.gnu.org; Wed, 14 Feb 2024 00:58:11 -0500 Original-Received: from lists.gnu.org ([209.51.188.17]:42412) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ra8HU-0002lK-02 for submit@debbugs.gnu.org; Wed, 14 Feb 2024 00:58:08 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ra8Cp-0001TW-Kd for bug-gnu-emacs@gnu.org; Wed, 14 Feb 2024 00:53:16 -0500 Original-Received: from out203-205-221-153.mail.qq.com ([203.205.221.153]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ra8Cj-0007in-QY for bug-gnu-emacs@gnu.org; Wed, 14 Feb 2024 00:53:15 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1707889975; bh=WyTYRKdOoMOQVlhSnEn6BK6Fdlx0KDQDLaffrnjRvi4=; h=Date:From:To:Subject; b=DgW4vTlsn3IkveaDSOhHnaoNL82KJDqK/VnWBDuq7nra+DQIwyDBN5Us2AsP5bOJ0 mtfJSgAX+wlxUStc5FkpeG7z0Z/v3pC6P4oyEvvYRJVHEeWFtvZOKtzyIMkllWhuae xZ9Dp/vi2ke21tws/2ZF6nu3V0GW+dE9Wq3WNz5o= Original-Received: from Costume-Party.local ([68.117.253.195]) by newxmesmtplogicsvrszb9-1.qq.com (NewEsmtp) with SMTP id 9590EC91; Wed, 14 Feb 2024 13:37:25 +0800 X-QQ-mid: xmsmtpt1707889045tir1jo3lf X-QQ-XMAILINFO: MiUEiJlDLs+KxruDOMGUUOQQ4UCgJeVooqitkCjtrh7hPWCPc9pUf/IhXBcwma Q1kfurUU37IjzOcz1GkV9VtAqOMMSjlkG+WQZ5ImdlA48XtdYtAjtPX5yVtMKuxP558gOgERoAB2 IYu4ayIX36QfRNWvuI6MKlLHRgbG2ePHGkxYB6uAecmadozElcCxE7uDTSnoIUIko+0D/QOn7/9+ iL4Yrpws/3+bWQXg4zPFmbAvfzCatpL94EqDJ7f/Acd/PMMbsu9JHQKKO2+YpYlRdnlUXrYDNd0A 3vHeL4RHuzYfHbqFY5n7Nn+FMGS6Y2hncRTpphbDYnaaF/cMy0w9Gqi/51pdAxcobSEhTqFcN27J TBB+60W9pRmhJbrPGxTsAi605Ve/fd3zs90O6dobPisnQ+dsVzzdJkIJWwc32zsTVuB1DjxYvTii 3IPEEn8uScHJyfvaGNu9+OMqCmOMRqgezQmkepfNlyHkw13cvgVHXvqKMWrezGpeUMWJFi7GHEV2 gFVwruj4aldFjyVtnmXVoU79PX1IueQq6wkoZyCmSHHcxdmJDbXW/uHMJ/hr4EkHu621s8wMJKhN kKfeNL1SJxvET8kOXnz7jrCkeN+S7TGA5w1n4AxVR9RHN/03hyJ95HBK4JkkVrUeAO4Am+2obmTw g8mKfYfxrcV0MRfw6kB/ar/fuJmJLJ3tBXtdYiLc84J89gKPs5ImUQq8cBuG5KwRHC/p7SNif4Q4 aLceKdyViv+8DvaEYVL6yAUwwZ3aPBv7Y95B/Py2aJ3advBtMwLsQo7tDhnazZkj9mFu/fnP0smt yRMf4xNPYePytmQ6RPU5TJ8arXXLWh+n1IzfT4qc X-QQ-XMRINFO: MSVp+SPm3vtS1Vd6Y4Mggwc= Original-Received: by Costume-Party.local (Postfix, from userid 501) id E47D0205F66301; Tue, 13 Feb 2024 23:37:23 -0600 (CST) X-OQ-MSGID: X-Face: %[!P\u/BKFRGn_9h9|yO"ho?C0ej^LmM}WMb-`Jfj8OsS^^AKmHYGlD@^|7SEA3UzOGPFbB"OFczY?'\JtJ\lR'@&Y5j; s8{$&|3D>^i.U4l2h?1qpD.+{[$~j]vBeHZf^|BGyL8{/`4 X-Attribution: ldb Received-SPF: pass client-ip=203.205.221.153; envelope-from=andpuke@foxmail.com; helo=out203-205-221-153.mail.qq.com X-Spam_score_int: 8 X-Spam_score: 0.8 X-Spam_bar: / X-Spam_report: (0.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HELO_DYNAMIC_IPADDR=1.951, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, RDNS_DYNAMIC=0.982, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:279993 Archived-At: It seems to be the residue of bug #63256, with GnuPG 2.4.4 and set epg to use loopback pinentry the plstore.el still failed to encrypt file. The result below is produced without using init file on macOS. $ gpg2 --version gpg (GnuPG) 2.4.4 libgcrypt 1.10.3 Copyright (C) 2024 g10 Code GmbH License GNU GPL-3.0-or-later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Home: /Users/ldbeth/.gnupg Supported algorithms: Pubkey: RSA, ELG, DSA, ECDH, ECDSA, EDDSA Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH, CAMELLIA128, CAMELLIA192, CAMELLIA256 Hash: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224 Compression: Uncompressed, ZIP, ZLIB, BZIP2 $ cat .gnupg/gpg-agent.conf allow-loopback-pinentry default-cache-ttl 34560000 max-cache-ttl 34560000 (setq epg-pinentry-mode 'loopback) (require 'plstore) (setq store (plstore-open (expand-file-name "~/foo"))) (plstore-put store "as" '(:host "bar.example.kk") '(:user "ba")) (plstore-save store) Debugger entered--Lisp error: (error "Process epg not running: exited abnormally with co...") process-send-string(# "abcdef\n") (progn (setq passphrase-with-new-line (concat passphrase "\n")) (clear-string passphrase) (setq passphrase nil) (if epg-passphrase-coding-system (progn (setq encoded-passphrase-with-new-line (encode-coding-string passphrase-with-new-line (coding-system-change-eol-conversion epg-passphrase-coding-system 'unix))) (clear-string passphrase-with-new-line) (setq passphrase-with-new-line nil)) (progn (setq encoded-passphrase-with-new-line passphrase-with-new-line) (setq passphrase-with-new-line nil))) (process-send-string (progn (or (progn (and (memq (type-of context) cl-struct-epg-context-tags) t)) (signal 'wrong-type-argument (list 'epg-context context))) (aref context 16)) encoded-passphrase-with-new-line)) (if passphrase (progn (setq passphrase-with-new-line (concat passphrase "\n")) (clear-string passphrase) (setq passphrase nil) (if epg-passphrase-coding-system (progn (setq encoded-passphrase-with-new-line (encode-coding-string passphrase-with-new-line (coding-system-change-eol-conversion epg-passphrase-coding-system 'unix))) (clear-string passphrase-with-new-line) (setq passphrase-with-new-line nil)) (progn (setq encoded-passphrase-with-new-line passphrase-with-new-line) (setq passphrase-with-new-line nil))) (process-send-string (progn (or (progn (and (memq ... cl-struct-epg-context-tags) t)) (signal 'wrong-type-argument (list 'epg-context context))) (aref context 16)) encoded-passphrase-with-new-line))) (progn (setq passphrase (funcall (car (progn (or (progn (and ... t)) (signal 'wrong-type-argument (list ... context))) (aref context 10))) context epg-key-id (cdr (progn (or (progn (and ... t)) (signal 'wrong-type-argument (list ... context))) (aref context 10))))) (if passphrase (progn (setq passphrase-with-new-line (concat passphrase "\n")) (clear-string passphrase) (setq passphrase nil) (if epg-passphrase-coding-system (progn (setq encoded-passphrase-with-new-line (encode-coding-string passphrase-with-new-line (coding-system-change-eol-conversion epg-passphrase-coding-system ...))) (clear-string passphrase-with-new-line) (setq passphrase-with-new-line nil)) (progn (setq encoded-passphrase-with-new-line passphrase-with-new-line) (setq passphrase-with-new-line nil))) (process-send-strin g (progn (or (progn (and ... t)) (signal 'wrong-type-argument (list ... context))) (aref context 16)) encoded-passphrase-with-new-line)))) (condition-case nil (progn (setq passphrase (funcall (car (progn (or (progn ...) (signal ... ...)) (aref context 10))) context epg-key-id (cdr (progn (or (progn ...) (signal ... ...)) (aref context 10))))) (if passphrase (progn (setq passphrase-with-new-line (concat passphrase "\n")) (clear-string passphrase) (setq passphrase nil) (if epg-passphrase-coding-system (progn (setq encoded-passphrase-with-new-line (encode-coding-string passphrase-with-new-line ...)) (clear-string passphrase-with-new-line) (setq passphrase-with-new-line nil)) (progn (setq encoded-passphrase-with-new-line passphrase-with-new-line) (setq passphrase-with-new-line nil))) (process-send-string (progn (or (progn ...) (signal ... ...)) (aref context 16)) encoded-passphrase-with-new-line)))) (quit (epg-context-set-resul t-for context 'error (cons '(quit) (epg-context-result-for context 'error))) (delete-process (progn (or (progn (and (memq ... cl-struct-epg-context-tags) t)) (signal 'wrong-type-argument (list 'epg- context context))) (aref context 16))))) (unwind-protect (condition-case nil (progn (setq passphrase (funcall (car (progn (or ... ...) (aref context 10))) context epg-key-id (cdr (progn (or ... ...) (aref context 10))))) (if passphrase (progn (setq passphrase-with-new-line (concat passphrase "\n")) (clear-string passphrase) (setq passphrase nil) (if epg-passphrase-coding-system (progn (setq encoded-passphrase-with-new-line ...) (clear-string passphrase-with-new-line) (setq passphrase-with-new-line nil)) (progn (setq encoded-passphrase-with-new-line passphrase-with-new-line) (setq passphrase-with-new-line nil))) (process-send-string (progn (or ... ...) (aref context 16)) encoded-passphrase-with-new-line)))) (quit (epg-context-set-result-for context 'error (cons '(quit) (epg-context-result-for context 'error))) (delete-process (p rogn (or (progn (and ... t)) (signal 'wrong-type-argument (list ... context))) (aref context 16))))) (if passphrase (clear-string passphrase)) (if passphrase-with-new-line (clear-string passphrase-w ith-new-line)) (if encoded-passphrase-with-new-line (clear-string encoded-passphrase-with-new-line))) (let (inhibit-quit passphrase passphrase-with-new-line encoded-passphrase-with-new-line) (unwind-protect (condition-case nil (progn (setq passphrase (funcall (car (progn ... ...)) context epg-key-id (cdr (progn ... ...)))) (if passphrase (progn (setq passphrase-with-new-line (concat passphrase "\n")) (clear-string passphrase) (setq passphrase nil) (if epg-passphrase-coding-system (progn ... ... ...) (progn ... ...)) (process-send-string (progn ... ...) encoded-passphrase-with-new-line)))) (quit (epg-context-set-result-for context 'error (cons '(quit) (epg-context-result-for context 'error))) (delete-process (progn (or (progn ...) (signal ... ...)) (aref context 16))))) (if passphrase (clear-string passphrase)) (if passphrase-with-new-line (clear-string passphrase-with-new-line)) (if enco ded-passphrase-with-new-line (clear-string encoded-passphrase-with-new-line)))) (progn (if (progn (or (progn (and (memq (type-of context) cl-struct-epg-context-tags) t)) (signal 'wrong-type-argument (list 'epg-context context))) (aref context 10)) nil (error "Variable `passphrase-callback' not set")) (let (inhibit-quit passphrase passphrase-with-new-line encoded-passphrase-with-new-line) (unwind-protect (condition-case nil (progn (setq passphrase (funcall (car ...) context epg-key-id (cdr ...))) (if passphrase (progn (setq passphrase-with-new-line ...) (clear-string passphrase) (setq passphrase nil) (if epg-passphrase-coding-system ... ...) (process-send-string ... encoded-passphrase-with-new-line)))) (quit (epg-context-set-result-for context 'error (cons '... (epg-context-result-for context ...))) (delete-process (progn (or ... ...) (aref context 16))))) (if passph rase (clear-string passphrase)) (if passphrase-with-new-line (clear-string passphrase-with-new-line)) (if encoded-passphrase-with-new-line (clear-string encoded-passphrase-with-new-line))))) (if (and epg-key-id (string-match "\\`passphrase\\." string)) (progn (if (progn (or (progn (and (memq ... cl-struct-epg-context-tags) t)) (signal 'wrong-type-argument (list 'epg-context context))) (aref context 10)) nil (error "Variable `passphrase-callback' not set")) (let (inhibit-quit passphrase passphrase-with-new-line encoded-passphrase-with-new-line) (unwind-protect (condition-case nil (progn (setq passphrase (funcall ... context epg-key-id ...)) (if passphrase (progn ... ... ... ... ...))) (quit (epg-context-set-result-for context 'error (cons ... ...)) (delete-process (progn ... ...)))) (if passphrase (clear-string passphrase)) (if passphrase-with-new-line (clear-string passphrase-with-new-line)) (if encoded-passphrase-with-new-line (clear-string encoded-passphrase-with-new-line) ))))) epg--status-GET_HIDDEN(#s(epg-context :protocol OpenPGP :program "/usr/local/bin/gpg2" :home-directory nil :armor t :textmode nil :include-certs nil :cipher-algorithm nil :digest-algorithm nil :compress-algorithm nil :passphrase-callback (plstore-passphrase-callback-function . [# (("as" :secret-user t :host "bar.example.kk")) nil (("as" :user "ba")) (("as" :user "ba" :host "bar.example.kk"))]) :progress-callback nil :edit-callback nil :signers nil :sender nil :sig-notations nil :process # :output-file "/var/folders/0g/jfnmzzj15ms8p2zcgz88d4rr0000gn/T/e..." :result nil :operation encrypt :pinentry-mode loopback :error-output "" :error-buffer #) "passphrase.enter") funcall(epg--status-GET_HIDDEN #s(epg-context :protocol OpenPGP :program "/usr/local/bin/gpg2" :home-directory nil :armor t :textmode nil :include-certs nil :cipher-algorithm nil :digest-algorithm nil :compress-algorithm nil :passphrase-callback (plstore-passphrase-callback-function . [# (("as" :secret-user t :host "bar.example.kk")) nil (("as" :user "ba")) (("as" :user "ba" :host "bar.example.kk"))]) :progress-callback nil :edit-callback nil :signers nil :sender nil :sig-notations nil :process # :output-file "/var/folders/0g/jfnmzzj15ms8p2zcgz88d4rr0000gn/T/e..." :result nil :operation encrypt :pinentry-mode loopback :error-output "" :error-buffer #) "passphrase.enter") (if (and symbol (fboundp symbol)) (funcall symbol epg-context string)) (if (eq (progn (or (progn (and (memq (type-of epg-context) cl-struct-epg-context-tags) t)) (signal 'wrong-type-argument (list 'epg-context epg-context))) (aref epg-context 19)) 'edit-key) (funcall (car (progn (or (progn (and (memq ... cl-struct-epg-context-tags) t)) (signal 'wrong-type-argument (list 'epg-context epg-context))) (aref epg-context 12))) epg-context status string (cdr (progn (or (progn (and (memq ... cl-struct-epg-context-tags) t)) (signal 'wrong-type-argument (list 'epg-context epg-context))) (aref epg-context 12)))) (setq symbol (intern-soft (concat "epg--status-" status))) (if (and symbol (fboundp symbol)) (funcall symbol epg-context string))) (let ((status (match-string 1)) (string (match-string 2)) symbol) (if (member status epg-pending-status-list) (setq epg-pending-status-list nil)) (if (eq (progn (or (progn (and (memq ... cl-struct-epg-context-tags) t)) (signal 'wrong-type-argument (list 'epg-context epg-context))) (aref epg-context 19)) 'edit-key) (funcall (car (progn (or (progn (and ... t)) (signal 'wrong-type-argument (list ... epg-context))) (aref epg-context 12))) epg-context status string (cdr (progn (or (progn (and ... t)) (signal 'wrong-type-argument (list ... epg-context))) (aref epg-context 12)))) (setq symbol (intern-soft (concat "epg--status-" status))) (if (and symbol (fboundp symbol)) (funcall symbol epg-context string))) (setq epg-last-status (cons status string))) (if (looking-at "\\[GNUPG:] \\([A-Z_]+\\) ?\\(.*\\)") (let ((status (match-string 1)) (string (match-string 2)) symbol) (if (member status epg-pending-status-list) (setq epg-pending-status-list nil)) (if (eq (progn (or (progn (and ... t)) (signal 'wrong-type-argument (list ... epg-context))) (aref epg-context 19)) 'edit-key) (funcall (car (progn (or (progn ...) (signal ... ...)) (aref epg-context 12))) epg-context status string (cdr (progn (or (progn ...) (signal ... ...)) (aref epg-context 12)))) (setq symbol (intern-soft (concat "epg--status-" status))) (if (and symbol (fboundp symbol)) (funcall symbol epg-context string))) (setq epg-last-status (cons status string)))) (while (looking-at ".*\n") (if (looking-at "\\[GNUPG:] \\([A-Z_]+\\) ?\\(.*\\)") (let ((status (match-string 1)) (string (match-string 2)) symbol) (if (member status epg-pending-status-list) (setq epg-pending-status-list nil)) (if (eq (progn (or (progn ...) (signal ... ...)) (aref epg-context 19)) 'edit-key) (funcall (car (progn (or ... ...) (aref epg-context 12))) epg-context status string (cdr (progn (or ... ...) (aref epg-context 12)))) (setq symbol (intern-soft (concat "epg--status-" status))) (if (and symbol (fboundp symbol)) (funcall symbol epg-context string))) (setq epg-last-status (cons status string)))) (forward-line) (setq epg-read-point (point))) (let ((epg-process-filter-running t)) (goto-char epg-read-point) (beginning-of-line) (while (looking-at ".*\n") (if (looking-at "\\[GNUPG:] \\([A-Z_]+\\) ?\\(.*\\)") (let ((status (match-string 1)) (string (match-string 2)) symbol) (if (member status epg-pending-status-list) (setq epg-pending-status-list nil)) (if (eq (progn (or ... ...) (aref epg-context 19)) 'edit-key) (funcall (car (progn ... ...)) epg-context status string (cdr (progn ... ...))) (setq symbol (intern-soft (concat "epg--status-" status))) (if (and symbol (fboundp symbol)) (funcall symbol epg-context string))) (setq epg-last-status (cons status string)))) (forward-line) (setq epg-read-point (point)))) (if epg-process-filter-running nil (let ((epg-process-filter-running t)) (goto-char epg-read-point) (beginning-of-line) (while (looking-at ".*\n") (if (looking-at "\\[GNUPG:] \\([A-Z_]+\\) ?\\(.*\\)") (let ((status (match-string 1)) (string (match-string 2)) symbol) (if (member status epg-pending-status-list) (setq epg-pending-status-list nil)) (if (eq (progn ... ...) 'edit-key) (funcall (car ...) epg-context status string (cdr ...)) (setq symbol (intern-soft ...)) (if (and symbol ...) (funcall symbol epg-context string))) (setq epg-last-status (cons status string)))) (forward-line) (setq epg-read-point (point))))) (save-excursion (goto-char (point-max)) (insert input) (if epg-process-filter-running nil (let ((epg-process-filter-running t)) (goto-char epg-read-point) (beginning-of-line) (while (looking-at ".*\n") (if (looking-at "\\[GNUPG:] \\([A-Z_]+\\) ?\\(.*\\)") (let ((status ...) (string ...) symbol) (if (member status epg-pending-status-list) (setq epg-pending-status-list nil)) (if (eq ... ...) (funcall ... epg-context status string ...) (setq symbol ...) (if ... ...)) (setq epg-last-status (cons status string)))) (forward-line) (setq epg-read-point (point)))))) (save-current-buffer (set-buffer (process-buffer process)) (save-excursion (goto-char (point-max)) (insert input) (if epg-process-filter-running nil (let ((epg-process-filter-running t)) (goto-char epg-read-point) (beginning-of-line) (while (looking-at ".*\n") (if (looking-at "\\[GNUPG:] \\([A-Z_]+\\) ?\\(.*\\)") (let (... ... symbol) (if ... ...) (if ... ... ... ...) (setq epg-last-status ...))) (forward-line) (setq epg-read-point (point))))))) (if (buffer-live-p (process-buffer process)) (save-current-buffer (set-buffer (process-buffer process)) (save-excursion (goto-char (point-max)) (insert input) (if epg-process-filter-running nil (let ((epg-process-filter-running t)) (goto-char epg-read-point) (beginning-of-line) (while (looking-at ".*\n") (if (looking-at "\\[GNUPG:] \\([A-Z_]+\\) ?\\(.*\\)") (let ... ... ... ...)) (forward-line) (setq epg-read-point (point)))))))) epg--process-filter(# "[GNUPG:] NEED_PASSPHRASE_SYM 9 3 8\n[GNUPG:] INQUIR...") accept-process-output(# 1) (while (eq (process-status (progn (or (progn (and (memq ... cl-struct-epg-context-tags) t)) (signal 'wrong-type-argument (list 'epg-context context))) (aref context 16))) 'run) (accept-process-output (progn (or (progn (and (memq (type-of context) cl-struct-epg-context-tags) t)) (signal 'wrong-type-argument (list 'epg-context context))) (aref context 16)) 1)) epg-wait-for-completion(#s(epg-context :protocol OpenPGP :program "/usr/local/bin/gpg2" :home-directory nil :armor t :textmode nil :include-certs nil :cipher-algorithm nil :digest-algorithm nil :compress-algorithm nil :passphrase-callback (plstore-passphrase-callback-function . [# (("as" :secret-user t :host "bar.example.kk")) nil (("as" :user "ba")) (("as" :user "ba" :host "bar.example.kk"))]) :progress-callback nil :edit-callback nil :signers nil :sender nil :sig-notations nil :process # :output-file "/var/folders/0g/jfnmzzj15ms8p2zcgz88d4rr0000gn/T/e..." :result nil :operation encrypt :pinentry-mode loopback :error-output "" :error-buffer #)) (progn (progn (or (progn (and (memq (type-of context) cl-struct-epg-context-tags) t)) (signal 'wrong-type-argument (list 'epg-context context))) (let* ((v context)) (aset v 17 (make-temp-file "epg-output")))) (write-region plain nil input-file nil 'quiet) (epg-start-encrypt context (record 'epg-data input-file nil) recipients sign always-trust) (epg-wait-for-completion context) (let ((errors (epg-context-result-for context 'error))) (if (and sign (not (epg-context-result-for context 'sign))) (signal 'epg-error (list "Sign failed" (epg-errors-to-string errors)))) (if errors (signal 'epg-error (list "Encrypt failed" (epg-errors-to-string errors))))) (epg-read-output context)) (unwind-protect (progn (progn (or (progn (and (memq (type-of context) cl-struct-epg-context-tags) t)) (signal 'wrong-type-argument (list 'epg-context context))) (let* ((v context)) (aset v 17 (make-temp-file "epg-output")))) (write-region plain nil input-file nil 'quiet) (epg-start-encrypt context (record 'epg-data input-file nil) recipients sign always-trust) (epg-wait-for-completion context) (let ((errors (epg-context-result-for context 'error))) (if (and sign (not (epg-context-result-for context 'sign))) (signal 'epg-error (list "Sign failed" (epg-errors-to-string errors)))) (if errors (signal 'epg-error (list "Encrypt failed" (epg-errors-to-string errors))))) (epg-read-output context)) (epg-delete-output-file context) (delete-file input-file) (epg-reset context)) (let ((input-file (make-temp-file "epg-input")) (coding-system-for-write 'binary)) (unwind-protect (progn (progn (or (progn (and (memq ... cl-struct-epg-context-tags) t)) (signal 'wrong-type-argument (list 'epg-context context))) (let* ((v context)) (aset v 17 (make-temp-file "epg-output")))) (write-region plain nil input-file nil 'quiet) (epg-start-encrypt context (record 'epg-data input-file nil) recipients sign always-trust) (epg-wait-for-completion context) (let ((errors (epg-context-result-for context 'error))) (if (and sign (not (epg-context-result-for context ...))) (signal 'epg-error (list "Sign failed" (epg-errors-to-string errors)))) (if errors (signal 'epg-error (list "Encrypt failed" (epg-errors-to-string errors))))) (epg-read-output context)) (epg-delete-output-file context) (delete-file input-file) (epg-reset context))) epg-encrypt-string(#s(epg-context :protocol OpenPGP :program "/usr/local/bin/gpg2" :home-directory nil :armor t :textmode nil :include-certs nil :cipher-algorithm nil :digest-algorithm nil :compress-algorithm nil :passphrase-callback (plstore-passphrase-callback-function . [# (("as" :secret-user t :host "bar.example.kk")) nil (("as" :user "ba")) (("as" :user "ba" :host "bar.example.kk"))]) :progress-callback nil :edit-callback nil :signers nil :sender nil :sig-notations nil :process # :output-file "/var/folders/0g/jfnmzzj15ms8p2zcgz88d4rr0000gn/T/e..." :result nil :operation encrypt :pinentry-mode loopback :error-output "" :error-buffer #) "((\"as\" :user \"ba\"))\n" nil) (setq cipher (epg-encrypt-string context (pp-to-string (plstore--get-secret-alist plstore)) (if (or (eq plstore-select-keys t) (and (null plstore-select-keys) (not (local-variable-p 'plstore-encrypt-to (current-buffer))))) (epa-select-keys context "Select recipients for encryption.\nIf no one is sel..." recipients) (if plstore-encrypt-to (epg-list-keys context recipients))))) (let ((context (epg-make-context 'OpenPGP)) (pp-escape-newlines nil) (recipients (cond ((listp plstore-encrypt-to) plstore-encrypt-to) ((stringp plstore-encrypt-to) (list plstore-encrypt-to)))) cipher) (progn (or (progn (and (memq (type-of context) cl-struct-epg-context-tags) t)) (signal 'wrong-type-argument (list 'epg-context context))) (let* ((v context)) (aset v 4 t))) (epg-context-set-passphrase-callback context (cons #'plstore-passphrase-callback-function plstore)) (setq cipher (epg-encrypt-string context (pp-to-string (plstore--get-secret-alist plstore)) (if (or (eq plstore-select-keys t) (and (null plstore-select-keys) (not (local-variable-p ... ...)))) (epa-select-keys context "Select recipients for encryption.\nIf no one is sel..." recipients) (if plstore-encrypt-to (epg-list-ke ys context recipients))))) (goto-char (point-max)) (insert ";;; secret entries\n" (pp-to-string cipher))) (if (plstore--get-secret-alist plstore) (let ((context (epg-make-context 'OpenPGP)) (pp-escape-newlines nil) (recipients (cond ((listp plstore-encrypt-to) plstore-encrypt-to) ((stringp plstore-encrypt-to) (list plstore-encrypt-to)))) cipher) (progn (or (progn (and (memq (type-of context) cl-struct-epg-context-tags) t)) (signal 'wrong-type-argument (list 'epg-context context))) (let* ((v context)) (aset v 4 t))) (epg-context-set-passphrase-callback context (cons #'plstore-passphrase-callback-function plstore)) (setq cipher (epg-encrypt-string context (pp-to-string (plstore--get-secret-alist plstore)) (if (or (eq plstore-select-keys t) (and (null plstore-select-keys) (not ...))) (epa-select-keys context "Select recipients for encryption.\nIf no one is sel..." recipients) (if plstore-encryp t-to (epg-list-keys context recipients))))) (goto-char (point-max)) (insert ";;; secret entries\n" (pp-to-string cipher)))) plstore--insert-buffer([# (("as" :secret-user t :host "bar.example.kk")) nil (("as" :user "ba")) (("as" :user "ba" :host "bar.example.kk"))]) (save-current-buffer (set-buffer (plstore--get-buffer plstore)) (erase-buffer) (plstore--insert-buffer plstore) (save-buffer)) plstore-save([# (("as" :secret-user t :host "bar.example.kk")) nil (("as" :user "ba")) (("as" :user "ba" :host "bar.example.kk"))]) eval((plstore-save store) nil) elisp--eval-last-sexp(nil) eval-last-sexp(nil) funcall-interactively(eval-last-sexp nil) call-interactively(eval-last-sexp nil nil) command-execute(eval-last-sexp)