branch: master commit 7507951dd0aea01dcf22ee1d6592bdf917b0f2c5 Merge: a4a72c0 082a702 Author: Artur Malabarba <bruce.connor...@gmail.com> Commit: Artur Malabarba <bruce.connor...@gmail.com>
Merge commit '082a702f5a4a07bc10052befd7a2b20cc8a0cdb8' --- packages/beacon/beacon.el | 23 +++++++++++++++++++++-- 1 files changed, 21 insertions(+), 2 deletions(-) diff --git a/packages/beacon/beacon.el b/packages/beacon/beacon.el index 5b6d924..63ebbae 100644 --- a/packages/beacon/beacon.el +++ b/packages/beacon/beacon.el @@ -5,7 +5,7 @@ ;; Author: Artur Malabarba <em...@endlessparentheses.com> ;; URL: https://github.com/Malabarba/beacon ;; Keywords: convenience -;; Version: 0.4 +;; Version: 0.5.1 ;; Package-Requires: ((seq "1.11")) ;; This program is free software; you can redistribute it and/or modify @@ -38,6 +38,24 @@ ;;; Code: (require 'seq) +(require 'faces) +(unless (fboundp 'seq-mapn) + ;; This is for people who are on outdated Emacs snapshots. Will be + ;; deleted in a couple of weeks. + (defun seq-mapn (function sequence &rest sequences) + "Like `seq-map' but FUNCTION is mapped over all SEQUENCES. +The arity of FUNCTION must match the number of SEQUENCES, and the +mapping stops on the shortest sequence. +Return a list of the results. + +\(fn FUNCTION SEQUENCES...)" + (let ((result nil) + (sequences (seq-map (lambda (s) (seq-into s 'list)) + (cons sequence sequences)))) + (while (not (memq nil sequences)) + (push (apply function (seq-map #'car sequences)) result) + (setq sequences (seq-map #'cdr sequences))) + (nreverse result)))) (defgroup beacon nil "Customization group for beacon." @@ -235,7 +253,8 @@ Only returns `beacon-size' elements." (defun beacon--color-range () "Return a list of background colors for the beacon." - (let* ((default-bg (face-attribute 'default :background)) + (let* ((default-bg (or (background-color-at-point) + (face-background 'default))) (bg (color-values (if (string-match "\\`unspecified-" default-bg) (face-attribute 'beacon-fallback-background :background) default-bg)))