diff options
Diffstat (limited to 'lisp')
| -rw-r--r-- | lisp/gnus/ChangeLog | 6 | ||||
| -rw-r--r-- | lisp/gnus/plstore.el | 14 |
2 files changed, 19 insertions, 1 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index be4d0675781..e25ffd933e6 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,5 +1,11 @@ 2012-04-26 Daiki Ueno <ueno@unixuser.org> + * plstore.el (plstore-called-interactively-p): New compat macro copied + from message.el. + (plstore-mode): Use it. + +2012-04-26 Daiki Ueno <ueno@unixuser.org> + * plstore.el: Revive the editing feature. (plstore-mode): New mode to edit plstore file. (plstore-mode-toggle-display, plstore-mode-original) diff --git a/lisp/gnus/plstore.el b/lisp/gnus/plstore.el index 2f446c84071..6d5424e833d 100644 --- a/lisp/gnus/plstore.el +++ b/lisp/gnus/plstore.el @@ -547,6 +547,18 @@ If no one is selected, symmetric encryption will be performed. " (plstore-mode-original) (plstore-mode-decoded))) +(eval-when-compile + (defmacro plstore-called-interactively-p (kind) + (condition-case nil + (progn + (eval '(called-interactively-p 'any)) + ;; Emacs >=23.2 + `(called-interactively-p ,kind)) + ;; Emacs <23.2 + (wrong-number-of-arguments '(called-interactively-p)) + ;; XEmacs + (void-function '(interactive-p))))) + ;;;###autoload (define-derived-mode plstore-mode emacs-lisp-mode "PLSTORE" "Major mode for editing PLSTORE files." @@ -554,7 +566,7 @@ If no one is selected, symmetric encryption will be performed. " (add-hook 'write-contents-functions #'plstore--write-contents-functions) (define-key plstore-mode-map "\C-c\C-c" #'plstore-mode-toggle-display) ;; to create a new file with plstore-mode, mark it as already decoded - (if (called-interactively-p 'any) + (if (plstore-called-interactively-p 'any) (setq plstore-encoded t) (plstore-mode-decoded))) |
