* bug#15081: 24.3; org-crypt: Making epg-context local to *epg* while let-bound!
@ 2013-08-13 8:50 Thierry Volpiatto
2014-01-07 16:16 ` Bastien Guerry
2014-01-07 16:16 ` Bastien Guerry
0 siblings, 2 replies; 3+ messages in thread
From: Thierry Volpiatto @ 2013-08-13 8:50 UTC (permalink / raw)
To: 15081
Hi,
as subject says, epg-context is let-bounded in org-crypt and then epg
local set it in this context.
Probably is should just be set as local var instead of being let bounded.
diff --git a/lisp/org/org-crypt.el b/lisp/org/org-crypt.el
index 2dfc4ad..bb77dc6 100644
--- a/lisp/org/org-crypt.el
+++ b/lisp/org/org-crypt.el
@@ -161,8 +161,8 @@ See `org-crypt-disable-auto-save'."
(if (and (string= crypt-key (get-text-property 0 'org-crypt-key str))
(string= (sha1 str) (get-text-property 0 'org-crypt-checksum str)))
(get-text-property 0 'org-crypt-text str)
- (let ((epg-context (epg-make-context nil t t)))
- (epg-encrypt-string epg-context str (epg-list-keys epg-context crypt-key)))))
+ (set (make-local-variable 'epg-context) (epg-make-context nil t t))
+ (epg-encrypt-string epg-context str (epg-list-keys epg-context crypt-key))))
(defun org-encrypt-entry ()
"Encrypt the content of the current headline."
@@ -170,11 +170,11 @@ See `org-crypt-disable-auto-save'."
(require 'epg)
(save-excursion
(org-back-to-heading t)
+ (set (make-local-variable 'epg-context) (epg-make-context nil t t))
(let ((start-heading (point)))
(forward-line)
(when (not (looking-at "-----BEGIN PGP MESSAGE-----"))
(let ((folded (outline-invisible-p))
- (epg-context (epg-make-context nil t t))
(crypt-key (org-crypt-key-for-heading))
(beg (point))
end encrypted-text)
@@ -206,11 +206,11 @@ See `org-crypt-disable-auto-save'."
(forward-line)
(when (looking-at "-----BEGIN PGP MESSAGE-----")
(org-crypt-check-auto-save)
+ (set (make-local-variable 'epg-context) (epg-make-context nil t t))
(let* ((end (save-excursion
(search-forward "-----END PGP MESSAGE-----")
(forward-line)
(point)))
- (epg-context (epg-make-context nil t t))
(encrypted-text (buffer-substring-no-properties (point) end))
(decrypted-text
(decode-coding-string
In GNU Emacs 24.3.1 (x86_64-unknown-linux-gnu, X toolkit)
of 2013-06-20 on dell-14z
Windowing system distributor `The X.Org Foundation', version 11.0.11103000
System Description: Ubuntu 12.04.2 LTS
Configured using:
`configure '--with-x-toolkit=lucid' '--without-toolkit-scroll-bars'
'--without-gconf' '--without-gsettings''
Important settings:
value of $LC_MONETARY: fr_FR.UTF-8
value of $LC_NUMERIC: fr_FR.UTF-8
value of $LC_TIME: fr_FR.UTF-8
value of $LANG: fr_FR.UTF-8
locale-coding-system: utf-8-unix
default enable-multibyte-characters: t
Major mode: Emacs-Lisp
Minor modes in effect:
recentf-mode: t
TeX-PDF-mode: t
git-gutter-mode: t
winner-mode: t
global-undo-tree-mode: t
undo-tree-mode: t
auto-image-file-mode: t
show-paren-mode: t
display-time-mode: t
savehist-mode: t
golden-ratio-mode: t
minibuffer-depth-indicate-mode: t
eldoc-mode: t
diff-auto-refine-mode: t
helm-mode: t
helm-descbinds-mode: t
shell-dirtrack-mode: t
helm-adaptative-mode: t
helm-match-plugin-mode: t
tooltip-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
Recent input:
C-x C-f <left> e n c <down> <down> <right> <down> <down>
<down> <return> <down> <down> <tab> <down> <tab> <down>
C-c d C-x C-s C-x C-b <down> <down> <down> <down> <return>
C-x C-d C-z C-j <down> <down> <down> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <up> C-SPC C-n C-n C-n C-n C-n C-n C-n
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n
C-n M-w q M-x r e p o r t <down> <return>
Recent messages:
org-decrypt: Enabling re-encryption on auto-save.
Saving file /home/thierry/Encrypted/pwdthierry.org...
Wrote /home/thierry/Encrypted/pwdthierry.org
Loading /home/thierry/.emacs.d/recentf...done
Cleaning up the recentf list...done (0 removed)
Finding changes in /home/thierry/labo/emacs-savanah-git/lisp/org/org-crypt.el...done
Finding changes in /home/thierry/labo/emacs-savanah-git/lisp/org/org-crypt.el...done
Mark set
byte-code: End of buffer [6 times]
Saved text from "diff --git a/lisp/org/org-crypt.el b/lis"
Load-path shadows:
/usr/local/share/emacs/24.3/lisp/gnus/.dir-locals hides ~/elisp/magit/.dir-locals
~/elisp/auctex/lpath hides ~/elisp/emacs-wget/lpath
~/elisp/Emacs-wgrep/wgrep-ack hides ~/elisp/jenkins/emacs-wgrep/wgrep-ack
~/elisp/Emacs-wgrep/wgrep-helm hides ~/elisp/jenkins/emacs-wgrep/wgrep-helm
~/elisp/Emacs-wgrep/wgrep-test hides ~/elisp/jenkins/emacs-wgrep/wgrep-test
~/elisp/Emacs-wgrep/wgrep hides ~/elisp/jenkins/emacs-wgrep/wgrep
/usr/local/share/emacs/24.3/lisp/emacs-lisp/tq hides ~/elisp/emms/lisp/tq
~/.emacs.d/.gnus hides ~/.emacs.d/emacs-config-laptop/.gnus
Features:
(shadow gnus-dired nnir mail-extr gnus-msg gnus-art mm-uu mml2015
mm-view mml-smime smime dig gnus-sum nnoo gnus-group gnus-undo nnmail
mail-source gnus-start gnus-spec gnus-int gnus-range gnus-win helm-ring
emacsbug helm-command vc recentf ido preview prv-emacs tex-buf
reftex-dcr reftex-auc reftex imenu reftex-vars font-latex latex
tex-style tex dbus latexenc cc-langs cc-mode cc-fonts cc-guess cc-menus
cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs conf-mode sh-script
smie executable vc-dispatcher vc-rcs vc-git naquadah-theme em-smart
em-unix em-script em-prompt em-ls em-hist em-pred em-glob em-dirs
em-cmpl em-basic em-banner em-alias esh-var esh-io esh-cmd esh-opt
esh-ext esh-proc esh-groups eshell esh-module esh-mode align-let
git-gutter server package winner undo-tree diff slime-xref-browser
slime-banner slime-tramp slime-asdf slime-fancy slime-fontifying-fu
slime-package-fu slime-references slime-scratch slime-presentations
slime-fuzzy slime-fancy-trace slime-fancy-inspector slime-c-p-c
slime-editing-commands slime-autodoc slime-parse slime-repl image-file
newsticker newst-treeview tree-widget newst-plainview newst-reader
newst-ticker newst-backend xdvi-search preview-latex pcomplete-extension
em-term term disp-table ehelp electric helm-ipython helm-elisp helm-eval
python rx whitespace paren time avoid savehist emamux golden-ratio
smtpmail-async smtpmail sendmail helm-async persistent-sessions
config-w3m w3m doc-view jka-compr image-mode timezone w3m-hist w3m-fb
bookmark-w3m w3m-ems w3m-ccl ccl w3m-favicon w3m-image w3m-proc w3m-util
w3m-load boxquote markdown-mode iterator google-maps google-maps-static
google-maps-geocode google-maps-base json simple-call-tree iedit-rect
rect iedit iedit-lib zop-to-char smallurl mm-url gnus gnus-ems nnheader
rectangle-utils ledger-config ledger esh-arg esh-util tv-utils async
pcvs pcvs-parse pcvs-info pcvs-defs ewoc mb-depth ioccur cl-info slime
hyperspec slime-autoloads tex-site auto-loads esh-toggle flymake
eldoc-eval eldoc no-word dired-extension emms-mpd-config
emms-playlist-limit emms-volume emms-volume-amixer emms-i18n
emms-history emms-score emms-stream-info emms-metaplaylist-mode
emms-bookmarks emms-cue emms-mode-line-icon emms-browser sort
emms-playlist-sort emms-last-played emms-player-xine emms-player-mpd tq
emms-playing-time emms-lyrics emms-url hl-line emms-tag-editor emms-mark
emms-mode-line emms-cache emms-info-ogginfo emms-info-mp3info
emms-playlist-mode emms-player-vlc emms-player-mplayer emms-info
emms-streams later-do emms-source-playlist emms-source-file
emms-player-simple emms-setup emms emms-compat magit-blame magit-stgit
magit-cherry magit-bisect magit-log-edit log-edit pcvs-util add-log
magit-key-mode magit diff-mode magit-compat htmlize-hack htmlize
muse-colors muse-docbook muse-texinfo texnfo-upd texinfo muse-latex
muse-html muse-xml-common muse-wiki cus-edit cus-start cus-load
muse-publish muse-project muse-protocols muse-regexps wid-edit muse
muse-nested-tags muse-mode muse-autoloads org-config-thierry ob-sh
cal-china lunar solar cal-dst cal-bahai cal-islam cal-hebrew holidays
hol-loaddefs vc-hg org-wl org-w3m org-vm org-rmail org-mhe org-mew
org-irc org-jsinfo org-infojs org-html org-exp ob-exp org-exp-blocks
org-info org-gnus org-docview org-bibtex bibtex org-bbdb org-agenda appt
diary-lib diary-loaddefs org-annotation-helper org-capture org-mks
remember org-remember org-datetree addressbook-bookmark message rfc822
mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047
rfc2045 ietf-drums mailabbrev mail-utils gmm-utils mailheader
firefox-protocol bookmark-firefox-handler bookmark-extensions bookmark
pp init-helm-thierry helm-mode helm-ls-git helm-descbinds helm-ls-hg
helm-files image-dired tramp tramp-compat tramp-loaddefs shell dired-x
dired-aux ffap thingatpt helm-buffers helm-elscreen helm-tags
helm-bookmark helm-adaptative helm-info helm-net browse-url xml url
url-proxy url-privacy url-expand url-methods url-history url-cookie
url-domsuf url-util url-parse url-vars mailcap helm-plugin helm-help
helm-match-plugin helm-grep wgrep-helm wgrep helm-regexp grep
helm-external helm-utils dired compile helm-locate helm helm-config
helm-aliases epa-file epa derived epg epg-config auth-source eieio
gnus-util mm-util mail-prsvr password-cache usage-memo w3m-wget info
cl-macs gv edmacro kmacro org-crypt org byte-opt warnings bytecomp
byte-compile cconv ob-tangle ob-ref ob-lob ob-table org-footnote org-src
ob-comint ob-keys org-pcomplete pcomplete comint ansi-color ring
org-list org-faces org-entities time-date noutline outline easy-mmode
org-version ob-emacs-lisp ob org-compat org-macs ob-eval org-loaddefs
format-spec find-func cal-menu easymenu calendar cal-loaddefs advice
help-fns advice-preload net-utils cl cl-lib tooltip ediff-hook vc-hooks
lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image regexp-opt
fringe tabulated-list newcomment lisp-mode register page menu-bar
rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax
facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak
czech european ethiopic indian cyrillic chinese case-table epa-hook
jka-cmpr-hook help simple abbrev minibuffer loaddefs button faces
cus-face macroexp files text-properties overlay sha1 md5 base64 format
env code-pages mule custom widget hashtable-print-readable backquote
make-network-process dbusbind dynamic-setting font-render-setting
x-toolkit x multi-tty emacs)
--
Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-01-07 16:17 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-13 8:50 bug#15081: 24.3; org-crypt: Making epg-context local to *epg* while let-bound! Thierry Volpiatto
2014-01-07 16:16 ` Bastien Guerry
2014-01-07 16:16 ` Bastien Guerry
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.