branch: externals/beframe
commit f5ff228db2f1afaf5ee19ab9c933ba1b3774396c
Author: Protesilaos Stavrou <i...@protesilaos.com>
Commit: Protesilaos Stavrou <i...@protesilaos.com>

    Update to Beframe version 1.1.0
---
 CHANGELOG.org | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 README.org    | 13 +++--------
 beframe.el    |  2 +-
 3 files changed, 74 insertions(+), 12 deletions(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index 79a3c5bc69..689f29e2e2 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -4,11 +4,80 @@
 #+options: ':nil toc:nil num:nil author:nil email:nil
 
 This document contains the release notes for each tagged commit on the
-project's main git repository: <https://git.sr.ht/~protesilaos/beframe>.
+project's main git repository: <https://github.com/protesilaos/beframe>.
 
 The newest release is at the top.  For further details, please consult
 the manual: <https://protesilaos.com/emacs/beframe>.
 
+* 1.1.0 on 2024-05-06
+:PROPERTIES:
+:CUSTOM_ID: h:6cdbd605-8a3c-4e71-849e-e17b75805b2f
+:END:
+
+This is a small release that adds some quality-of-life refinements to
+a stable package.
+
+** The ~beframe-global-buffers~ is more flexible
+:PROPERTIES:
+:CUSTOM_ID: h:ce67d817-c394-460f-af35-994459a8903b
+:END:
+
+This is a user option to specify which buffers should appear in all
+frames. These "global" buffers are thus not associated only with the
+frame in which they where displayed in.
+
+Before, the value of this user option was a list of strings that were
+matching buffer names literally. Now it is a list of strings which are
+understood as regular expressions as well as a list of symbols
+representing major modes.
+
+Consider this example:
+
+#+begin_src emacs-lisp
+(setq beframe-global-buffers '("\\*scratch\\*" ".*notmuch.*" emacs-lisp-mode))
+#+end_src
+
+It matches a buffer with the literal name =*scratch*=, all buffers
+that include =notmuch= in their name, and all buffers whose major mode
+is ~emacs-lisp-mode~ or derived therefrom.
+
+You can now more easily put all buffers in the global list, such as
+for email or IRC.
+
+** The ~beframe-prefix-map~ is now a command
+:PROPERTIES:
+:CUSTOM_ID: h:c50ef266-4bd2-4413-bca5-e8118c84586f
+:END:
+
+Before, this symbol was defined as a variable, which held the value of
+the key bindings. Users where expected to bind this variable to a
+key, such as:
+
+#+begin_src emacs-lisp
+(define-key global-map (kbd "C-c b") beframe-prefix-map)
+#+end_src
+
+This would set up =C-c b= as a prefix for all the key bindings inside
+of ~beframe-prefix-map~. However, any changes to that map would not be
+automatically included in the prefix. The above binding had to be
+evaluated again (because we were binding a fixed value directly,
+instead of having the indirection of a symbol that points to a value).
+
+Now the ~beframe-prefix-map~ is implemented as a variable and a
+command. The variable holds the value of the key bindings, while the
+command is meant to be assigned to a key. For users, the change is
+trivial:
+
+#+begin_src emacs-lisp
+(define-key global-map (kbd "C-c b") 'beframe-prefix-map)
+#+end_src
+
+Notice the added single quote before ~beframe-prefix-map~. While only
+an extra character in the user's configuration, this is a major change
+because any changes made to the key map will now be automatically
+available under the defined prefix. No need to evaluate the key
+binding again.
+
 * 1.0.0 on 2023-11-17
 :PROPERTIES:
 :CUSTOM_ID: h:9a00ab34-a07f-4bb3-9397-6b1383fcebca
diff --git a/README.org b/README.org
index 3248b02b65..c569f15ec0 100644
--- a/README.org
+++ b/README.org
@@ -4,9 +4,9 @@
 #+language: en
 #+options: ':t toc:nil author:t email:t num:t
 #+startup: content
-#+macro: stable-version 1.0.0
-#+macro: release-date 2023-11-17
-#+macro: development-version 1.1.0-dev
+#+macro: stable-version 1.1.0
+#+macro: release-date 2024-05-06
+#+macro: development-version 1.2.0-dev
 #+export_file_name: beframe.texi
 #+texinfo_filename: beframe.info
 #+texinfo_dir_category: Emacs misc features
@@ -216,13 +216,6 @@ Beframe's commands.  Those are available on demand ([[*The 
Beframe keymap][The B
 :CUSTOM_ID: h:737253ad-f671-46df-bdb9-6be20a982470
 :END:
 
-[ The definition of ~beframe-prefix-map~ as a /command/ is part of
-  {{{development-version}}}. In previous versions, the following code
-  block was binding the variable of the key map to the key. This meant
-  that updating the key map required a revaluation of the key binding.
-  Whereas now updates to the key map apply immediately, due to the
-  indirection we achieve by binding the symbol of the command. ]
-
 #+vindex: beframe-prefix-map
 The ~beframe-prefix-map~ defines key bindings for the Beframe commands
 documented herein.  We call it a prefix keymap because it is not
diff --git a/beframe.el b/beframe.el
index b0d56a7da6..d33f8444a9 100644
--- a/beframe.el
+++ b/beframe.el
@@ -5,7 +5,7 @@
 ;; Author: Protesilaos Stavrou <i...@protesilaos.com>
 ;; Maintainer: Protesilaos Stavrou <i...@protesilaos.com>
 ;; URL: https://github.com/protesilaos/beframe
-;; Version: 1.0.1
+;; Version: 1.1.0
 ;; Package-Requires: ((emacs "28.1"))
 
 ;; This file is NOT part of GNU Emacs.

Reply via email to