Commit 11b3960994c4
Changed files (2)
tools
emacs
tools/emacs/early-init.el
@@ -1,3 +1,4 @@
+;;; early-init.el --- Early initialization -*- lexical-binding: t -*-
(add-to-list 'load-path (locate-user-emacs-file "site-lisp"))
;; Do not initialize installed packages
@@ -15,10 +16,10 @@
(push '(menu-bar-lines . 0) default-frame-alist)
(push '(tool-bar-lines . 0) default-frame-alist)
(push '(vertical-scroll-bars) default-frame-alist)
-(menu-bar-mode -1)
-(tool-bar-mode -1)
-(scroll-bar-mode -1)
-(horizontal-scroll-bar-mode -1)
+(when (fboundp 'menu-bar-mode) (menu-bar-mode -1))
+(when (fboundp 'tool-bar-mode) (tool-bar-mode -1))
+(when (fboundp 'scroll-bar-mode) (scroll-bar-mode -1))
+(when (fboundp 'horizontal-scroll-bar-mode) (horizontal-scroll-bar-mode -1))
(setopt use-dialog-box nil ;; never use dialog-box (no mouse)
use-file-dialog nil ;; never use file dialog (gtk)
@@ -51,9 +52,9 @@
;; - Resetting garbage collection and file-name-handler values.
(add-hook 'after-init-hook
- `(lambda ()
- (setq gc-cons-threshold 67108864 ; 64mb
- gc-cons-percentage 0.1
+ #'(lambda ()
+ (setq gc-cons-threshold 67108864 ; 64mb
+ gc-cons-percentage 0.1
file-name-handler-alist vde--file-name-handler-alist
vc-handled-backends vde--vc-handled-backends)
(garbage-collect)) t)
tools/emacs/init.el
@@ -113,12 +113,12 @@ Otherwise, call `backward-kill-word'."
(defconst font-family-sans "Ubuntu Sans"
"Default sans font-family to use.")
;; Middle/Near East: שלום, السّلام عليكم
- (when (member "Noto Sans Arabic" (font-family-list))
+ (when (and (fboundp 'set-fontset-font) (member "Noto Sans Arabic" (font-family-list)))
(set-fontset-font t 'arabic "Noto Sans Arabic"))
- (when (member "Noto Sans Hebrew" (font-family-list))
+ (when (and (fboundp 'set-fontset-font) (member "Noto Sans Hebrew" (font-family-list)))
(set-fontset-font t 'arabic "Noto Sans Hebrew"))
;; Africa: ሠላም
- (when (member "Noto Sans Ethiopic" (font-family-list))
+ (when (and (fboundp 'set-fontset-font) (member "Noto Sans Ethiopic" (font-family-list)))
(set-fontset-font t 'ethiopic "Noto Sans Ethiopic"))
;; If font-family-mono or font-family-sans are not available, use the default Emacs face
@@ -134,10 +134,11 @@ Otherwise, call `backward-kill-word'."
:family font-family-sans
:weight 'regular)
- (set-fontset-font t 'symbol "Apple Color Emoji")
- (set-fontset-font t 'symbol "Noto Color Emoji" nil 'append)
- (set-fontset-font t 'symbol "Segoe UI Emoji" nil 'append)
- (set-fontset-font t 'symbol "Symbola" nil 'append)
+ (when (fboundp 'set-fontset-font)
+ (set-fontset-font t 'symbol "Apple Color Emoji")
+ (set-fontset-font t 'symbol "Noto Color Emoji" nil 'append)
+ (set-fontset-font t 'symbol "Segoe UI Emoji" nil 'append)
+ (set-fontset-font t 'symbol "Symbola" nil 'append))
(require 'modus-themes)
(defvar modus-themes-preset-overrides-cooler)
@@ -192,6 +193,10 @@ Otherwise, call `backward-kill-word'."
;; Wait a bit for the system to update, then sync
(run-with-timer 0.5 nil #'vde/color-scheme-sync)))
+ (declare-function vde/color-scheme-sync "init")
+ (declare-function vde/color-scheme-get-system "init")
+ (declare-function vde/color-scheme-set-emacs "init")
+
;; Initial theme setup
(if (display-graphic-p)
(vde/color-scheme-sync)
@@ -200,6 +205,7 @@ Otherwise, call `backward-kill-word'."
;; Watch for dbus signals when color-scheme changes
(when (and (eq system-type 'gnu/linux)
(require 'dbus nil t))
+ (declare-function dbus-register-signal "dbus")
(dbus-register-signal
:session
"ca.desrt.dconf"
@@ -211,6 +217,7 @@ Otherwise, call `backward-kill-word'."
(vde/color-scheme-sync)))))
;; Keybinding for toggling color scheme
+ (declare-function vde/color-scheme-toggle "init")
(global-set-key (kbd "C-c t t") #'vde/color-scheme-toggle))
(setopt load-prefer-newer t) ; Always load newer compiled files
@@ -230,6 +237,8 @@ Otherwise, call `backward-kill-word'."
(eval-when-compile
(require 'use-package))
+(declare-function use-package-statistics-gather "use-package")
+
(require 'info) ;; XXX ensure the var exists even before loading `info.el'.
;; Add site-lisp to load-path for local elisp files
@@ -292,11 +301,12 @@ Otherwise, call `backward-kill-word'."
(with-current-buffer "*Messages*" (emacs-lock-mode 'kill))
(with-current-buffer "*scratch*" (emacs-lock-mode 'kill))
(display-time-mode -1)
- (tooltip-mode -1)
- (blink-cursor-mode -1)
+ (when (fboundp 'tooltip-mode) (tooltip-mode -1))
+ (when (fboundp 'blink-cursor-mode) (blink-cursor-mode -1))
(setenv "GIT_EDITOR" (format "emacs --init-dir=%s " (shell-quote-argument user-emacs-directory)))
(setenv "EDITOR" (format "emacs --init-dir=%s " (shell-quote-argument user-emacs-directory)))
(delete-selection-mode 1)
+ (declare-function minibuffer-keyboard-quit "delsel")
(defun er-keyboard-quit ()
"Smater version of the built-in `keyboard-quit'.
@@ -309,10 +319,14 @@ minibuffer, even without explicitly focusing it."
(minibuffer-keyboard-quit)
(abort-recursive-edit))
(keyboard-quit)))
+ (declare-function er-keyboard-quit "init")
(global-set-key [remap keyboard-quit] #'er-keyboard-quit))
(use-package view
:commands (view-mode)
+ :init
+ (declare-function View-scroll-page-backward "view")
+ (declare-function View-scroll-page-forward "view")
:custom
(view-read-only t "Enable view-mode when entering read-only")
:bind (("C-<escape>" . view-mode)
@@ -370,8 +384,10 @@ minibuffer, even without explicitly focusing it."
(tramp-copy-size-limit (* 1024 1024)) ;; 1MB
(tramp-verbose 2)
:config
+ (declare-function tramp-compile-disable-ssh-controlmaster-options "tramp")
;; Add custom SSH options to disable YubiKey agent for TRAMP connections
(with-eval-after-load 'tramp-sh
+ (defvar tramp-use-ssh-controlmaster-options)
(setq tramp-use-ssh-controlmaster-options nil)
(let ((ssh-method (assoc "ssh" tramp-methods)))
(when ssh-method
@@ -558,10 +574,12 @@ minibuffer, even without explicitly focusing it."
(use-package alert
:defer 2
:init
+ (declare-function alert "alert")
(defun alert-after-finish-in-background (buf str)
(when (or (not (get-buffer-window buf 'visible)) (not (frame-focus-state)))
(alert str :buffer buf)))
:config
+ (defvar alert-default-style)
(setq alert-default-style 'libnotify))
(use-package elec-pair
@@ -581,6 +599,7 @@ minibuffer, even without explicitly focusing it."
(compilation-scroll-output t)
(ansi-color-for-compilation-mode t)
:config
+ (declare-function alert-after-finish-in-background "init")
(add-hook 'compilation-finish-functions #'alert-after-finish-in-background))
(use-package subword
@@ -611,6 +630,8 @@ minibuffer, even without explicitly focusing it."
(eglot-autoshutdown t)
(eglot-confirm-server-initiated-edits nil)
:config
+ (declare-function eglot-format-buffer "eglot")
+ (declare-function eglot-managed-p "eglot")
(add-to-list 'eglot-ignored-server-capabilities :documentHighlightProvider)
(add-to-list 'eglot-server-programs `(json-mode "vscode-json-language-server" "--stdio"))
(add-to-list 'eglot-server-programs '(nix-mode . ("nil")))
@@ -686,6 +707,7 @@ minibuffer, even without explicitly focusing it."
(if (and (project-current) (eglot-managed-p))
(add-hook 'before-save-hook #'eglot-format-buffer nil 'local)
(remove-hook 'before-save-hook #'eglot-format-buffer 'local)))
+ (declare-function eglot-format-buffer-on-save "init")
(add-hook 'eglot-managed-mode-hook #'eglot-format-buffer-on-save)
:hook
;; (before-save . gofmt-before-save)
@@ -779,6 +801,7 @@ minibuffer, even without explicitly focusing it."
(use-package minions
:hook (after-init . minions-mode)
:config
+ (defvar minions-prominent-modes)
(add-to-list 'minions-prominent-modes 'flymake-mode))
(use-package vundo
@@ -821,6 +844,12 @@ minibuffer, even without explicitly focusing it."
(use-package eshell
:commands (eshell eshell-here)
:config
+ (defvar eshell-last-dir-ring)
+ (defvar consult-dir-sources)
+ (declare-function eshell-find-previous-directory "eshell")
+ (declare-function consult-dir--pick "consult-dir")
+ (declare-function ring-elements "ring")
+ (declare-function eshell/cd "eshell")
(add-to-list 'eshell-modules-list 'eshell-rebind)
(defun eshell-here ()
@@ -871,6 +900,8 @@ minibuffer, even without explicitly focusing it."
(use-package eat
:commands (eat)
:init
+ (defvar eat-kill-buffer-on-exit)
+ (defvar eat-enable-yank-to-terminal)
(setq-default explicit-shell-file-name "zsh"
shell-file-name "zsh")
(setq eat-kill-buffer-on-exit t
@@ -938,6 +969,7 @@ minibuffer, even without explicitly focusing it."
(magit-commit-show-diff nil "don't show the diff by default in the commit buffer. Use `C-c C-d' to display it")
(magit-branch-direct-configure nil "don't show git variables in magit branch")
:config
+ (declare-function magit-insert-worktrees "magit")
(add-hook 'magit-status-sections-hook #'magit-insert-worktrees t)
;; cargo-culted from https://github.com/magit/magit/issues/3717#issuecomment-734798341
;; valid gitlab options are defined in https://docs.gitlab.com/ee/user/project/push_options.html
@@ -953,6 +985,8 @@ minibuffer, even without explicitly focusing it."
)
(use-package git-commit
+ :init
+ (defvar git-commit-mode-map)
:bind (:map git-commit-mode-map
("C-c C-h" . git-commit-co-authored)))
@@ -992,6 +1026,8 @@ minibuffer, even without explicitly focusing it."
:mode (("/\\.gitattributes" . gitattributes-mode)))
(use-package diff-hl
+ :init
+ (defvar diff-hl-command-map)
:hook (find-file . diff-hl-mode)
:hook (prog-mode . diff-hl-mode)
:hook (magit-post-refresh . diff-hl-magit-post-refresh)
@@ -1023,6 +1059,8 @@ minibuffer, even without explicitly focusing it."
:hook (dired-mode . diff-hl-dired-mode))
(use-package corfu
+ :init
+ (defvar corfu-map)
:custom
(corfu-auto 't)
(corfu-auto-delay 1)
@@ -1045,6 +1083,8 @@ minibuffer, even without explicitly focusing it."
(use-package corfu-popupinfo
:after corfu
+ :init
+ (declare-function corfu-popupinfo-mode "corfu-popupinfo")
:config
(corfu-popupinfo-mode 1))
@@ -1057,6 +1097,9 @@ minibuffer, even without explicitly focusing it."
(use-package envrc
:defer 2
:if (executable-find "direnv")
+ :init
+ (defvar envrc-mode-map)
+ (declare-function envrc-global-mode "envrc")
:bind (:map envrc-mode-map
("C-c e" . envrc-command-map))
:custom
@@ -1065,6 +1108,9 @@ minibuffer, even without explicitly focusing it."
(use-package cape
:init
+ (declare-function cape-dabbrev "cape")
+ (declare-function cape-file "cape")
+ (declare-function cape-elisp-block "cape")
(add-hook 'completion-at-point-functions #'cape-dabbrev)
(add-hook 'completion-at-point-functions #'cape-file)
(add-hook 'completion-at-point-functions #'cape-elisp-block))
@@ -1117,19 +1163,24 @@ minibuffer, even without explicitly focusing it."
(rg-show-header t)
(rg-default-alias-fallback "all")
:config
- (cl-pushnew '("tmpl" . "*.tmpl") rg-custom-type-aliases)
- (cl-pushnew '("gotest" . "*_test.go") rg-custom-type-aliases)
+ (defvar rg-custom-type-aliases)
+ (defvar rg-buffer-name)
+ (cl-pushnew '("tmpl" . "*.tmpl") rg-custom-type-aliases :test #'equal)
+ (cl-pushnew '("gotest" . "*_test.go") rg-custom-type-aliases :test #'equal)
(defun vde/rg-buffer-name ()
"Generate a rg buffer name from project if in one"
(let ((p (project-root (project-current))))
(if p
(format "rg: %s" (abbreviate-file-name p))
"rg")))
+ (declare-function vde/rg-buffer-name "init")
(setq rg-buffer-name #'vde/rg-buffer-name))
(use-package wgrep
:unless noninteractive
:commands (wgrep-change-to-wgrep-mode)
+ :init
+ (defvar grep-mode-map)
:custom
(wgrep-auto-save-buffer t)
(wgrep-change-readonly-file t)
@@ -1222,7 +1273,17 @@ minibuffer, even without explicitly focusing it."
(embark-cycle-key ".")
(embark-help-key "?")
:config
+ (defvar embark-action-indicator)
+ (defvar embark-become-indicator)
+ (defvar embark-symbol-map)
+ (defvar embark-file-map)
+ (defvar embark-buffer-map)
+ (defvar embark-general-map)
+ (defvar embark-keymap-alist)
+ (defvar embark-target-finders)
;; which-key integration for better discoverability
+ (declare-function which-key--show-keymap "which-key")
+ (declare-function which-key--hide-popup-ignore-command "which-key")
(setq embark-action-indicator
(lambda (map _target)
(which-key--show-keymap "Embark" map nil nil 'no-paging)
@@ -1245,6 +1306,7 @@ minibuffer, even without explicitly focusing it."
"Open FILE as root."
(interactive "fFile: ")
(find-file (concat "/sudo::" (expand-file-name file))))
+ (declare-function my/sudo-find-file "init")
(define-key embark-file-map "S" #'my/sudo-find-file)
;; Buffer actions
@@ -1252,6 +1314,7 @@ minibuffer, even without explicitly focusing it."
"Kill current buffer and close its window."
(interactive)
(kill-buffer-and-window))
+ (declare-function my/kill-buffer-and-window "init")
(define-key embark-buffer-map "K" #'my/kill-buffer-and-window)
(define-key embark-buffer-map "r" #'revert-buffer)
@@ -1259,13 +1322,22 @@ minibuffer, even without explicitly focusing it."
(define-key embark-file-map "p" #'project-find-file)
(define-key embark-file-map "g" #'magit-file-dispatch)
+ (declare-function vc-root-dir "vc")
+ (declare-function magit-status "magit")
(defun my/magit-status-from-file ()
"Open magit-status for the file's repository."
(interactive)
(magit-status (vc-root-dir)))
+ (declare-function my/magit-status-from-file "init")
(define-key embark-file-map "G" #'my/magit-status-from-file)
;; Org-mode heading actions
+ (declare-function org-refile "org")
+ (declare-function org-todo "org")
+ (declare-function org-schedule "org")
+ (declare-function org-deadline "org")
+ (declare-function org-archive-subtree "org")
+ (declare-function org-narrow-to-subtree "org")
(defvar-keymap embark-org-heading-map
:doc "Actions for org headings"
:parent embark-general-map
@@ -1279,12 +1351,13 @@ minibuffer, even without explicitly focusing it."
(add-to-list 'embark-keymap-alist '(org-heading . embark-org-heading-map))
;; Custom target finders
+ (declare-function thing-at-point-looking-at "thingatpt")
(defun embark-target-github-issue ()
"Target GitHub issue numbers like #123 or owner/repo#456."
(when (thing-at-point-looking-at
"\\(?:\\([a-zA-Z0-9_-]+/[a-zA-Z0-9_-]+\\)?#\\([0-9]+\\)\\)")
- (let ((repo (match-string 1))
- (number (match-string 2)))
+ (let ((_repo (match-string 1))
+ (_number (match-string 2)))
`(github-issue
,(match-string 0)
,(match-beginning 0)
@@ -1302,6 +1375,8 @@ minibuffer, even without explicitly focusing it."
(add-to-list 'embark-target-finders 'embark-target-jira-ticket)
;; GitHub issue actions
+ (declare-function my/open-github-issue "init")
+ (declare-function my/copy-github-issue-url "init")
(defvar-keymap embark-github-issue-map
:doc "Actions for GitHub issues/PRs"
:parent embark-general-map
@@ -1309,6 +1384,8 @@ minibuffer, even without explicitly focusing it."
"c" #'my/copy-github-issue-url
"b" #'browse-url)
+ (declare-function my/open-jira-ticket "init")
+ (declare-function my/copy-jira-ticket-url "init")
(defvar-keymap embark-jira-ticket-map
:doc "Actions for Jira tickets"
:parent embark-general-map
@@ -1377,6 +1454,8 @@ minibuffer, even without explicitly focusing it."
(use-package consult-gh-embark
:after (embark consult)
+ :init
+ (declare-function consult-gh-embark-mode "consult-gh-embark")
:config
(consult-gh-embark-mode +1))
@@ -1423,6 +1502,11 @@ minibuffer, even without explicitly focusing it."
;; TODO window management
;; TODO ORG mode configuration (BIG one)
+(defvar org-link-any-re)
+(declare-function dom-by-tag "dom")
+(declare-function dom-text "dom")
+(declare-function org-in-regexp "org")
+(declare-function org-make-link-string "org")
(defun ar/org-insert-link-dwim ()
"Like `org-insert-link' but with personal dwim preferences."
(interactive)
@@ -1450,6 +1534,8 @@ minibuffer, even without explicitly focusing it."
(use-package org
:if (file-exists-p org-directory)
+ :init
+ (declare-function bind-key--remove "bind-key")
:mode (("\\.org$" . org-mode)
("\\.org.draft$" . org-mode))
:commands (org-agenda org-capture)
@@ -1645,6 +1731,8 @@ minibuffer, even without explicitly focusing it."
(unbind-key "C-S-<up>" org-mode-map)
(unbind-key "C-S-<down>" org-mode-map)
+ (declare-function org-before-first-heading-p "org")
+ (declare-function org-get-repeat "org")
(defun my/org-agenda-repeater ()
"Return the repeater string for the current agenda entry."
(if (org-before-first-heading-p)
@@ -1653,6 +1741,11 @@ minibuffer, even without explicitly focusing it."
(require 'dash)
(require 's)
+ (declare-function --remove "dash")
+ (declare-function --map "dash")
+ (declare-function ->> "dash")
+ (declare-function s-starts-with? "s")
+ (declare-function s-contains? "s")
(defun vde/org-refile-targets ()
(append '((org-inbox-file :level . 0)
(org-todos-file :maxlevel . 3)
@@ -1785,6 +1878,7 @@ Use this function via a hook."
;; (add-to-list 'org-capture-templates
;; `("w" "Writing"))
+ (declare-function vde/window-delete-popup-frame "init")
(add-hook 'org-capture-after-finalize-hook #'vde/window-delete-popup-frame))
(use-package org-habit
@@ -1811,7 +1905,8 @@ Use this function via a hook."
(defun vde/org-add-tufte-headers ()
"Add Tufte CSS export headers to current org-mode buffer.
-Inserts the headers after the frontmatter (#+title, #+date, etc.) if they don't already exist."
+Inserts the headers after the frontmatter (#+title, #+date, etc.)
+if they don't already exist."
(interactive)
(unless (derived-mode-p 'org-mode)
(user-error "Not in an org-mode buffer"))
@@ -1883,6 +1978,8 @@ Creates OUTPUT-DIR if it doesn't exist."
(use-package denote
:commands (denote)
+ :init
+ (declare-function denote-rename-buffer-mode "denote")
:bind (("C-c n c" . denote-region)
("C-c n i" . denote-link-or-create)
("C-c n b" . denote-backlinks)
@@ -1905,20 +2002,25 @@ Creates OUTPUT-DIR if it doesn't exist."
:hook (dired-mode . denote-dired-mode)
:config
(denote-rename-buffer-mode 1)
+ (declare-function denote-file-is-note-p "denote")
+ (declare-function denote-rename-file-using-front-matter "denote")
(defun my-denote-always-rename-on-save-based-on-front-matter ()
"Rename the current Denote file, if needed, upon saving the file.
Rename the file based on its front matter, checking for changes in the
title or keywords fields.
Add this function to the `after-save-hook'."
- (let ((denote-rename-confirmations nil)
- (denote-save-buffers t)) ; to save again post-rename
+ (let ((_denote-rename-confirmations nil)
+ (_denote-save-buffers t)) ; to save again post-rename
(when (and buffer-file-name (denote-file-is-note-p buffer-file-name))
(ignore-errors (denote-rename-file-using-front-matter buffer-file-name))
(message "Buffer saved; Denote file renamed"))))
+ (declare-function my-denote-always-rename-on-save-based-on-front-matter "init")
(add-hook 'after-save-hook #'my-denote-always-rename-on-save-based-on-front-matter)
-
+
+ (declare-function denote-sluggify "denote")
+ (declare-function denote--retrieve-title-or-filename "denote")
(defun vde/org-category-from-buffer ()
"Get the org category (#+category:) value from the buffer"
(cond
@@ -1927,6 +2029,11 @@ Add this function to the `after-save-hook'."
(t
(denote-sluggify (denote--retrieve-title-or-filename (buffer-file-name) 'org)))))
+ (declare-function org-refile-get-targets "org")
+ (declare-function org-refile-cache-clear "org")
+ (declare-function denote-retrieve-title-value "denote")
+ (declare-function denote-directory-files "denote")
+ (declare-function denote-title-prompt "denote")
(defun vde/org-refile-to-denote ()
"Refile to a denote note (existing or new)."
(interactive)
@@ -1990,6 +2097,18 @@ Add this function to the `after-save-hook'."
(use-package mu4e
:commands (mu4e)
+ :init
+ (declare-function make-mu4e-context "mu4e")
+ (declare-function mu4e~draft-message-filename-construct "mu4e")
+ (declare-function mu4e~proc-add "mu4e")
+ (declare-function mu4e~mark-check-target "mu4e")
+ (declare-function mu4e-flags-to-string "mu4e")
+ (declare-function mu4e-message-field "mu4e")
+ (declare-function mu4e-root-maildir "mu4e")
+ (declare-function mu4e-join-paths "mu4e")
+ (declare-function mu4e-create-maildir-maybe "mu4e")
+ (declare-function mu4e-ask-maildir "mu4e")
+ (declare-function mu4e-file-is-note-p "mu4e")
:custom
(mu4e-mu-home (expand-file-name "mu" (or (getenv "XDG_DATA_HOME")
(expand-file-name ".local/share" (getenv "HOME")))))
@@ -2010,7 +2129,7 @@ Add this function to the `after-save-hook'."
(when (mu4e-create-maildir-maybe fulltarget)
target)))
- (defun copy-message-to-target(docid msg target)
+ (defun copy-message-to-target(_docid msg target)
(let (
(new_msg_path nil) ;; local variable
(msg_flags (mu4e-message-field msg :flags))
@@ -2131,6 +2250,12 @@ Add this function to the `after-save-hook'."
(use-package gptel
:commands (gptel gptel-mode)
+ :init
+ (declare-function gptel-make-ollama "gptel")
+ (declare-function gptel-make-openai "gptel")
+ (declare-function gptel-make-gemini "gptel")
+ (declare-function gptel-mcp-connect "gptel")
+ (defvar gptel-mode-map)
:bind (("C-c a g" . gptel))
:hook
(gptel-mode . visual-line-mode)
@@ -2236,6 +2361,9 @@ Add this function to the `after-save-hook'."
(use-package agent-shell
:commands (agent-shell agent-shell-toggle)
:load-path "/home/vincent/src/github.com/xenodium/agent-shell/"
+ :init
+ (declare-function agent-shell-google-make-authentication "agent-shell")
+ (declare-function agent-shell-make-environment-variables "agent-shell")
:config
(setq agent-shell-google-authentication
(agent-shell-google-make-authentication :api-key (passage-get "redhat/google/osp/vdeemest-api-key")))
@@ -2282,6 +2410,8 @@ Add this function to the `after-save-hook'."
(devdocs-install docset))))
(use-package ready-player
+ :init
+ (declare-function ready-player-mode "ready-player")
:config
(ready-player-mode +1))
@@ -2420,4 +2550,9 @@ Add this function to the `after-save-hook'."
(insert date))
(provide 'init)
+
+;; Local Variables:
+;; byte-compile-warnings: (not free-vars)
+;; End:
+
;;; init.el ends here