[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master bbc1edc 2/2: Merge branch 'master' of https://github.com/l
From: |
Leo Liu |
Subject: |
[elpa] master bbc1edc 2/2: Merge branch 'master' of https://github.com/leoliu/temp-buffer-browse |
Date: |
Thu, 4 Aug 2016 17:36:24 +0000 (UTC) |
branch: master
commit bbc1edcf377950ca6412fd25402ba1117a9af107
Merge: 56bf176 db6041b
Author: Leo Liu <address@hidden>
Commit: Leo Liu <address@hidden>
Merge branch 'master' of https://github.com/leoliu/temp-buffer-browse
---
packages/temp-buffer-browse/temp-buffer-browse.el | 37 +++++++++++++--------
1 file changed, 24 insertions(+), 13 deletions(-)
diff --git a/packages/temp-buffer-browse/temp-buffer-browse.el
b/packages/temp-buffer-browse/temp-buffer-browse.el
index 70871af..0a63ac2 100644
--- a/packages/temp-buffer-browse/temp-buffer-browse.el
+++ b/packages/temp-buffer-browse/temp-buffer-browse.el
@@ -1,9 +1,10 @@
;;; temp-buffer-browse.el --- temp buffer browse mode -*- lexical-binding: t;
-*-
-;; Copyright (C) 2013-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2016 Free Software Foundation, Inc.
;; Author: Leo Liu <address@hidden>
-;; Version: 1.4
+;; Version: 1.5
+;; Package-Requires: ((emacs "24"))
;; Keywords: convenience
;; This program is free software; you can redistribute it and/or modify
@@ -96,6 +97,9 @@
(define-key map [backspace] down)
map))
+(defvar temp-buffer-browse--last-exit #'ignore
+ "The \"exit-function\" of the last call to `set-transient-map'.")
+
;;;###autoload
(defun temp-buffer-browse-activate ()
"Activate temporary key bindings for current window.
@@ -133,17 +137,24 @@ scroll down and close the temp buffer window,
respectively."
;; negative priority.
(unless (bound-and-true-p adaptive-wrap-prefix-mode)
(overlay-put o 'wrap-prefix (overlay-get o 'line-prefix)))
- (set-transient-map
- temp-buffer-browse-map
- (lambda ()
- ;; When any error happens the keymap is active forever.
- (with-demoted-errors
- (or (and (window-live-p temp-buffer-browse--window)
- (not (member (this-command-keys) '("\C-m" [return])))
- (eq this-command (lookup-key temp-buffer-browse-map
- (this-command-keys))))
- (ignore (overlay-put o 'line-prefix nil)
- (overlay-put o 'wrap-prefix nil)))))))))
+ ;; Workaround for bug http://debbugs.gnu.org/24149.
+ (funcall temp-buffer-browse--last-exit)
+ (setq temp-buffer-browse--last-exit
+ (set-transient-map
+ temp-buffer-browse-map
+ (lambda ()
+ ;; If uncaught any error will make the keymap active
+ ;; forever.
+ (condition-case err
+ (or (and (window-live-p temp-buffer-browse--window)
+ (not (member (this-command-keys) '("\C-m"
[return])))
+ (eq this-command (lookup-key temp-buffer-browse-map
+ (this-command-keys))))
+ (ignore (setq temp-buffer-browse--last-exit #'ignore)
+ (overlay-put o 'line-prefix nil)
+ (overlay-put o 'wrap-prefix nil)))
+ (error (message "%s:%s" this-command (error-message-string
err))
+ nil))))))))
;;;###autoload
(define-minor-mode temp-buffer-browse-mode nil
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] master bbc1edc 2/2: Merge branch 'master' of https://github.com/leoliu/temp-buffer-browse,
Leo Liu <=