emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/bind-key 21a126cb7e 9/9: Merge pull request #1018 from


From: ELPA Syncer
Subject: [elpa] externals/bind-key 21a126cb7e 9/9: Merge pull request #1018 from skangas/texinfo-wip
Date: Tue, 15 Nov 2022 11:57:21 -0500 (EST)

branch: externals/bind-key
commit 21a126cb7e9bb2a22211da0cdb1e6189303ed5a0
Merge: 8bdfe31fbb b8f0537840
Author: John Wiegley <johnw@newartisans.com>
Commit: GitHub <noreply@github.com>

    Merge pull request #1018 from skangas/texinfo-wip
---
 .gitignore       |   1 -
 Makefile         |   6 +-
 Makefile.doc     |  14 +-
 README.md        |  14 +-
 use-package.org  | 895 -------------------------------------------------------
 use-package.texi | 170 +++++------
 6 files changed, 94 insertions(+), 1006 deletions(-)

diff --git a/.gitignore b/.gitignore
index c0749c9a3b..2f51becc32 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,7 +4,6 @@
 /*.html
 /*.info
 /*.pdf
-/*.texi
 /config.mk
 /dir
 /doc/content/*
diff --git a/Makefile b/Makefile
index 77d1c3748d..075a3968c0 100644
--- a/Makefile
+++ b/Makefile
@@ -43,7 +43,7 @@ help:
        $(info make clean-lisp       - clean elisp)
        $(info make clean-docs       - clean docs)
        $(info make clean-archives   - clean release tarball)
-       $(info make clean-all        - clean everything except tracked texi)
+       $(info make clean-all        - clean everything)
        $(info make clean-stats      - clean stats)
        $(info )
        $(info Test)
@@ -56,7 +56,6 @@ help:
        $(info Release Management)
        $(info ==================)
        $(info )
-       $(info make texi             - regenerate texi from org)
        $(info make stats            - regenerate statistics)
        $(info make authors          - regenerate AUTHORS.md)
        $(info make preview-stats    - preview statistics)
@@ -140,9 +139,6 @@ clean-stats:
 
 ## Release management ################################################
 
-texi:
-       @$(MAKE) -f Makefile.doc texi
-
 stats:
        @$(MAKE) -f Makefile.doc stats
 
diff --git a/Makefile.doc b/Makefile.doc
index 78575501ee..43c874fdaf 100644
--- a/Makefile.doc
+++ b/Makefile.doc
@@ -5,7 +5,7 @@ include default.mk
 
 ## ###################################################################
 
-.PHONY: texi install clean AUTHORS.md stats
+.PHONY: install clean AUTHORS.md stats
 
 all: info
 
@@ -55,18 +55,6 @@ clean:
 
 ## Release management ################################################
 
-# Because most users don't have the necessary tools we cannot
-# use "%.texi: %.org".  Instead we have to hardcode each file
-# using a shared target.
-
-ORG_ARGS = --batch -Q $(DOC_LOAD_PATH)
-ORG_EVAL = --funcall org-texinfo-export-to-texinfo
-
-texi:
-       @printf "Generating use-package.texi\n"
-       @$(EMACS) $(ORG_ARGS) use-package.org $(ORG_EVAL)
-       @echo >> use-package.texi
-
 stats:
        @printf "Generating statistics\n"
        @gitstats -c style=/assets/stats.css -c max_authors=999 $(TOP) 
$(statsdir)
diff --git a/README.md b/README.md
index 7ea757c588..7c3308fec0 100644
--- a/README.md
+++ b/README.md
@@ -567,7 +567,13 @@ When byte-compiling your `.emacs` file, disabled 
declarations are omitted
 from the output entirely, to accelerate startup times.
 
 **NOTE**: `:when` is provided as an alias for `:if`, and `:unless foo` means
-the same thing as `:if (not foo)`. For example, the following will also stop
+the same thing as `:if (not foo)`.
+
+### Conditional loading before :preface
+
+If you need to conditionalize a use-package form so that the condition occurs
+before even the `:preface` is executed, simply use `when` around the
+use-package form itself.  For example, the following will also stop
 `:ensure` from happening on Mac systems:
 
 ``` elisp
@@ -578,12 +584,6 @@ the same thing as `:if (not foo)`. For example, the 
following will also stop
     (exec-path-from-shell-initialize)))
 ```
 
-### Conditional loading before :preface
-
-If you need to conditionalize a use-package form so that the condition occurs
-before even the `:preface` is executed, simply use `when` around the
-use-package form itself:
-
 ### Loading packages in sequence
 
 Sometimes it only makes sense to configure a package after another has been
diff --git a/use-package.org b/use-package.org
deleted file mode 100644
index 8c7b01c857..0000000000
--- a/use-package.org
+++ /dev/null
@@ -1,895 +0,0 @@
-#+title: use-package User Manual
-:PREAMBLE:
-#+author: John Wiegley
-#+email: johnw@newartisans.com
-#+date: 2012-{{{year}}}
-#+language: en
-
-#+hugo_base_dir: ./doc
-#+hugo_section: /
-#+hugo_menu: :menu main
-
-#+texinfo_dir_category: Emacs
-#+texinfo_dir_title: use-package: (use-package).
-#+texinfo_dir_desc: Declarative package configuration for Emacs.
-#+subtitle: for version {{{version}}}
-
-#+options: H:4 num:3 toc:2
-
-# Below macro is used so that both texinfo and hugo exports work
-# harmoniously.  For texinfo exports, the export is done using the
-# scope of the whole file, so it can resolve all internal link
-# references.  Whereas for hugo exports, they are done only from the
-# scope of a subtree (or a page of the doc site), so at the moment it
-# doesn't auto-resolve Org internal links outside that scope.
-
-# FIXME: This is just a workaround.. hope to get a better solution in
-# the future.
-
-#+macro: link-jump @@texinfo:@ref{$1}@@@@hugo:[$1]($2)@@
-
-#+macro: year (eval (format-time-string "%Y"))
-#+macro: version (eval (or (getenv "PACKAGE_REVDESC") (getenv 
"PACKAGE_VERSION") (ignore-errors (car (process-lines "git" "describe" 
"--exact"))) (ignore-errors (concat (car (process-lines "git" "describe" (if 
(getenv "AMEND") "HEAD~" "HEAD"))) "+1"))))
-
-The ~use-package~ macro allows you to isolate package configuration in your
-~.emacs~ file in a way that is both performance-oriented and, well, tidy. I
-created it because I have over 80 packages that I use in Emacs, and things
-were getting difficult to manage. Yet with this utility my total load time is
-around 2 seconds, with no loss of functionality!
-
-#+texinfo: @insertcopying
-
-:END:
-* Introduction
-:PROPERTIES:
-:EXPORT_FILE_NAME: _index
-:EXPORT_HUGO_TYPE: homepage
-:END:
-
-The ~use-package~ macro allows you to isolate package configuration in your
-~.emacs~ file in a way that is both performance-oriented and, well, tidy. I
-created it because I have over 80 packages that I use in Emacs, and things
-were getting difficult to manage. Yet with this utility my total load time is
-around 2 seconds, with no loss of functionality!
-
-More text to come...
-
-* Installation
-:PROPERTIES:
-:EXPORT_FILE_NAME: installation
-:END:
-
-use-package can be installed using Emacs' package manager or manually from
-its development repository.
-
-** Installing from an Elpa Archive
-
-use-package is available from Melpa and Melpa-Stable. If you haven't used
-Emacs' package manager before, then it is high time you familiarize yourself
-with it by reading the documentation in the Emacs manual, see
-[[info:emacs#Packages]]. Then add one of the archives to ~package-archives~:
-
-- To use Melpa:
-
-#+begin_src emacs-lisp
-  (require 'package)
-  (add-to-list 'package-archives
-               '("melpa" . "https://melpa.org/packages/";) t)
-#+end_src
-
-- To use Melpa-Stable:
-
-#+begin_src emacs-lisp
-  (require 'package)
-  (add-to-list 'package-archives
-               '("melpa-stable" . "https://stable.melpa.org/packages/";) t)
-#+end_src
-
-Once you have added your preferred archive, you need to update the
-local package list using:
-
-#+begin_example
-  M-x package-refresh-contents RET
-#+END_EXAMPLE
-
-Once you have done that, you can install use-package and its dependencies
-using:
-
-#+begin_example
-  M-x package-install RET use-package RET
-#+END_EXAMPLE
-
-Now see [[*Post-Installation Tasks]].
-
-** Installing from the Git Repository
-
-First, use Git to clone the use-package repository:
-
-#+begin_src shell-script
-  $ git clone https://github.com/jwiegley/use-package.git 
~/.emacs.d/site-lisp/use-package
-  $ cd ~/.emacs.d/site-lisp/use-package
-#+end_src
-
-Then compile the libraries and generate the info manuals:
-
-#+begin_src shell-script
-  $ make
-#+end_src
-
-You may need to create ~/path/to/use-package/config.mk~ with the following
-content before running ~make~:
-
-#+begin_src makefile
-  LOAD_PATH  = -L /path/to/use-package
-#+end_src
-
-Finally add this to your init file:
-
-#+begin_src emacs-lisp
-  (add-to-list 'load-path "~/.emacs.d/site-lisp/use-package")
-  (require 'use-package)
-
-  (with-eval-after-load 'info
-    (info-initialize)
-    (add-to-list 'Info-directory-list
-                 "~/.emacs.d/site-lisp/use-package/"))
-#+end_src
-
-Note that elements of ~load-path~ should not end with a slash, while those of
-~Info-directory-list~ should.
-
-Instead of running use-package directly from the repository by adding it to
-the ~load-path~, you might want to instead install it in some other directory
-using ~sudo make install~ and setting ~load-path~ accordingly.
-
-To update use-package use:
-
-#+begin_src shell-script
-  $ git pull
-  $ make
-#+end_src
-
-At times it might be necessary to run ~make clean all~ instead.
-
-To view all available targets use ~make help~.
-
-Now see [[*Post-Installation Tasks]].
-
-** Post-Installation Tasks
-
-After installing use-package you should verify that you are indeed using the
-use-package release you think you are using. It's best to restart Emacs before
-doing so, to make sure you are not using an outdated value for ~load-path~.
-
-#+begin_example
-  C-h v use-package-version RET
-#+END_EXAMPLE
-
-should display something like
-
-#+begin_example
-  use-package-version’s value is "2.4.4"
-#+END_EXAMPLE
-
-If you are completely new to use-package then see {{{link-jump(Getting
-Started,/getting-started)}}}.
-
-If you run into problems, then please see the {{{link-jump(Debugging
-Tools,/debugging-tools)}}}.
-
-* Getting Started
-:PROPERTIES:
-:EXPORT_FILE_NAME: getting-started
-:END:
-
-TODO. For now, see ~README.md~.
-
-* Basic Concepts
-
-~use-package~ was created for few basic reasons, each of which drove the
-design in various ways. Understanding these reasons may help make some of
-those decisions clearer:
-
-- To gather all configuration details of a package into one place,
-  making it easier to copy, disable, or move it elsewhere in the init
-  file.
-
-- To reduce duplication and boilerplate, capturing several common
-  practices as mere keywords both easy and intuitive to use.
-
-- To make startup time of Emacs as quick as possible, without
-  sacrificing the quantity of add-on packages used.
-
-- To make it so errors encountered during startup disable only the
-  package raising the error, and as little else as possible, leaving a
-  close to a functional Emacs as possible.
-
-- To allow byte-compilation of one's init file so that any warnings or
-  errors seen are meaningful. In this way, even if byte-compilation is not
-  used for speed (reason 3), it can still be used as a sanity check.
-
-* Issues/Requests
-:PROPERTIES:
-:EXPORT_HUGO_SECTION: issues
-:EXPORT_FILE_NAME: _index
-:END:
-
-* Keywords
-:PROPERTIES:
-:EXPORT_FILE_NAME: keywords
-:END:
-** ~:after~
-
-Sometimes it only makes sense to configure a package after another has been
-loaded, because certain variables or functions are not in scope until that
-time. This can achieved using an ~:after~ keyword that allows a fairly rich
-description of the exact conditions when loading should occur. Here is an
-example:
-
-#+begin_src emacs-lisp
-  (use-package hydra
-    :load-path "site-lisp/hydra")
-
-  (use-package ivy
-    :load-path "site-lisp/swiper")
-
-  (use-package ivy-hydra
-    :after (ivy hydra))
-#+end_src
-
-In this case, because all of these packages are demand-loaded in the order
-they occur, the use of ~:after~ is not strictly necessary. By using it,
-however, the above code becomes order-independent, without an implicit
-depedence on the nature of your init file.
-
-By default, ~:after (foo bar)~ is the same as ~:after (:all foo bar)~, meaning
-that loading of the given package will not happen until both ~foo~ and ~bar~
-have been loaded. Here are some of the other possibilities:
-
-#+begin_src emacs-lisp
-  :after (foo bar)
-  :after (:all foo bar)
-  :after (:any foo bar)
-  :after (:all (:any foo bar) (:any baz quux))
-  :after (:any (:all foo bar) (:all baz quux))
-#+end_src
-
-When you nest selectors, such as ~(:any (:all foo bar) (:all baz quux))~, it
-means that the package will be loaded when either both ~foo~ and ~bar~ have
-been loaded, or both ~baz~ and ~quux~ have been loaded.
-
-*NOTE*: Pay attention if you set ~use-package-always-defer~ to t, and also use
-the ~:after~ keyword, as you will need to specify how the declared package is
-to be loaded: e.g., by some ~:bind~. If you're not using one of the mechanisms
-that registers autoloads, such as ~:bind~ or ~:hook~, and your package manager
-does not provide autoloads, it's possible that without adding ~:demand t~ to
-those declarations, your package will never be loaded.
-
-** ~:bind-keymap~, ~:bind-keymap*~
-
-Normally ~:bind~ expects that commands are functions that will be autoloaded
-from the given package. However, this does not work if one of those commands
-is actually a keymap, since keymaps are not functions, and cannot be
-autoloaded using Emacs' ~autoload~ mechanism.
-
-To handle this case, ~use-package~ offers a special, limited variant of
-~:bind~ called ~:bind-keymap~. The only difference is that the "commands"
-bound to by ~:bind-keymap~ must be keymaps defined in the package, rather than
-command functions. This is handled behind the scenes by generating custom code
-that loads the package containing the keymap, and then re-executes your
-keypress after the first load, to reinterpret that keypress as a prefix key.
-
-For example:
-
-#+begin_src emacs-lisp
-  (use-package projectile
-    :bind-keymap
-    ("C-c p" . projectile-command-map)
-#+end_src
-
-** ~:bind~, ~:bind*~
-
-Another common thing to do when loading a module is to bind a key to primary
-commands within that module:
-
-#+begin_src emacs-lisp
-  (use-package ace-jump-mode
-    :bind ("C-." . ace-jump-mode))
-#+end_src
-
-This does two things: first, it creates an autoload for the ~ace-jump-mode~
-command and defers loading of ~ace-jump-mode~ until you actually use it.
-Second, it binds the key ~C-.~ to that command.  After loading, you can use
-~M-x describe-personal-keybindings~ to see all such keybindings you've set
-throughout your ~.emacs~ file.
-
-A more literal way to do the exact same thing is:
-
-#+begin_src emacs-lisp
-  (use-package ace-jump-mode
-    :commands ace-jump-mode
-    :init
-    (bind-key "C-." 'ace-jump-mode))
-#+end_src
-
-When you use the ~:commands~ keyword, it creates autoloads for those commands
-and defers loading of the module until they are used. Since the ~:init~ form
-is always run---even if ~ace-jump-mode~ might not be on your system---remember
-to restrict ~:init~ code to only what would succeed either way.
-
-The ~:bind~ keyword takes either a cons or a list of conses:
-
-#+begin_src emacs-lisp
-  (use-package hi-lock
-    :bind (("M-o l" . highlight-lines-matching-regexp)
-           ("M-o r" . highlight-regexp)
-           ("M-o w" . highlight-phrase)))
-#+end_src
-
-The ~:commands~ keyword likewise takes either a symbol or a list of symbols.
-
-NOTE: Special keys like ~tab~ or ~F1~-~Fn~ can be written in square brackets,
-i.e. ~[tab]~ instead of ~"tab"~. The syntax for the keybindings is similar to
-the "kbd" syntax: see 
[[https://www.gnu.org/software/emacs/manual/html_node/emacs/Init-Rebinding.html][the
 Emacs Manual]] for more information.
-
-Examples:
-
-#+begin_src emacs-lisp
-  (use-package helm
-    :bind (("M-x" . helm-M-x)
-           ("M-<f5>" . helm-find-files)
-           ([f10] . helm-buffers-list)
-           ([S-f10] . helm-recentf)))
-#+end_src
-
-*** Binding to local keymaps
-
-Slightly different from binding a key to a keymap, is binding a key *within* a
-local keymap that only exists after the package is loaded.  ~use-package~
-supports this with a ~:map~ modifier, taking the local keymap to bind to:
-
-#+begin_src emacs-lisp
-  (use-package helm
-    :bind (:map helm-command-map
-           ("C-c h" . helm-execute-persistent-action)))
-#+end_src
-
-The effect of this statement is to wait until ~helm~ has loaded, and then to
-bind the key ~C-c h~ to ~helm-execute-persistent-action~ within Helm's local
-keymap, ~helm-mode-map~.
-
-Multiple uses of ~:map~ may be specified. Any binding occurring before the
-first use of ~:map~ are applied to the global keymap:
-
-#+begin_src emacs-lisp
-  (use-package term
-    :bind (("C-c t" . term)
-           :map term-mode-map
-           ("M-p" . term-send-up)
-           ("M-n" . term-send-down)
-           :map term-raw-map
-           ("M-o" . other-window)
-           ("M-p" . term-send-up)
-           ("M-n" . term-send-down)))
-#+end_src
-
-** ~:commands~
-** ~:preface~, ~:init~, ~:config~
-
-Here is the simplest ~use-package~ declaration:
-
-#+begin_src emacs-lisp
-  ;; This is only needed once, near the top of the file
-  (eval-when-compile
-    ;; Following line is not needed if use-package.el is in ~/.emacs.d
-    (add-to-list 'load-path "<path where use-package is installed>")
-    (require 'use-package))
-
-  (use-package foo)
-#+end_src
-
-This loads in the package ~foo~, but only if ~foo~ is available on your
-system. If not, a warning is logged to the ~*Messages*~ buffer. If it
-succeeds, a message about ~"Loading foo"~ is logged, along with the time it
-took to load, if it took over 0.1 seconds.
-
-Use the ~:init~ keyword to execute code before a package is loaded.  It
-accepts one or more forms, up until the next keyword:
-
-#+begin_src emacs-lisp
-  (use-package foo
-    :init
-    (setq foo-variable t))
-#+end_src
-
-Similarly, ~:config~ can be used to execute code after a package is loaded.
-In cases where loading is done lazily (see more about autoloading below), this
-execution is deferred until after the autoload occurs:
-
-#+begin_src emacs-lisp
-  (use-package foo
-    :init
-    (setq foo-variable t)
-    :config
-    (foo-mode 1))
-#+end_src
-
-As you might expect, you can use ~:init~ and ~:config~ together:
-
-#+begin_src emacs-lisp
-  (use-package color-moccur
-    :commands (isearch-moccur isearch-all)
-    :bind (("M-s O" . moccur)
-           :map isearch-mode-map
-           ("M-o" . isearch-moccur)
-           ("M-O" . isearch-moccur-all))
-    :init
-    (setq isearch-lazy-highlight t)
-    :config
-    (use-package moccur-edit))
-#+end_src
-
-In this case, I want to autoload the commands ~isearch-moccur~ and
-~isearch-all~ from ~color-moccur.el~, and bind keys both at the global level
-and within the ~isearch-mode-map~ (see next section).  When the package is
-actually loaded (by using one of these commands), ~moccur-edit~ is also
-loaded, to allow editing of the ~moccur~ buffer.
-
-** ~:custom~
-
-The ~:custom~ keyword allows customization of package custom variables.
-
-#+begin_src emacs-lisp
-  (use-package comint
-    :custom
-    (comint-buffer-maximum-size 20000 "Increase comint buffer size.")
-    (comint-prompt-read-only t "Make the prompt read only."))
-#+end_src
-
-The documentation string is not mandatory.
-
-** ~:custom-face~
-
-The ~:custom-face~ keyword allows customization of package custom faces.
-
-#+begin_src emacs-lisp
-  (use-package eruby-mode
-    :custom-face
-    (eruby-standard-face ((t (:slant italic)))))
-#+end_src
-
-** ~:defer~, ~:demand~
-
-In almost all cases you don't need to manually specify ~:defer t~. This is
-implied whenever ~:bind~ or ~:mode~ or ~:interpreter~ is used. Typically, you
-only need to specify ~:defer~ if you know for a fact that some other package
-will do something to cause your package to load at the appropriate time, and
-thus you would like to defer loading even though use-package isn't creating
-any autoloads for you.
-
-You can override package deferral with the ~:demand~ keyword. Thus, even if
-you use ~:bind~, using ~:demand~ will force loading to occur immediately and
-not establish an autoload for the bound key.
-
-** ~:defines~, ~:functions~
-
-Another feature of ~use-package~ is that it always loads every file that it
-can when ~.emacs~ is being byte-compiled.  This helps to silence spurious
-warnings about unknown variables and functions.
-
-However, there are times when this is just not enough.  For those times, use
-the ~:defines~ and ~:functions~ keywords to introduce dummy variable and
-function declarations solely for the sake of the byte-compiler:
-
-#+begin_src emacs-lisp
-  (use-package texinfo
-    :defines texinfo-section-list
-    :commands texinfo-mode
-    :init
-    (add-to-list 'auto-mode-alist '("\\.texi$" . texinfo-mode)))
-#+end_src
-
-If you need to silence a missing function warning, you can use ~:functions~:
-
-#+begin_src emacs-lisp
-  (use-package ruby-mode
-    :mode "\\.rb\\'"
-    :interpreter "ruby"
-    :functions inf-ruby-keys
-    :config
-    (defun my-ruby-mode-hook ()
-      (require 'inf-ruby)
-      (inf-ruby-keys))
-
-    (add-hook 'ruby-mode-hook 'my-ruby-mode-hook))
-#+end_src
-
-** ~:diminish~, ~:delight~
-
-~use-package~ also provides built-in support for the diminish and delight
-utilities---if you have them installed. Their purpose is to remove or change
-minor mode strings in your mode-line.
-
-[[https://github.com/myrjola/diminish.el][diminish]] is invoked with the 
~:diminish~ keyword, which is passed either a
-minor mode symbol, a cons of the symbol and its replacement string, or just a
-replacement string, in which case the minor mode symbol is guessed to be the
-package name with "-mode" appended at the end:
-
-#+begin_src emacs-lisp
-  (use-package abbrev
-    :diminish abbrev-mode
-    :config
-    (if (file-exists-p abbrev-file-name)
-        (quietly-read-abbrev-file)))
-#+end_src
-
-[[https://elpa.gnu.org/packages/delight.html][delight]] is invoked with the 
~:delight~ keyword, which is passed a minor mode
-symbol, a replacement string or quoted 
[[https://www.gnu.org/software/emacs/manual/html_node/elisp/Mode-Line-Data.html][mode-line
 data]] (in which case the minor
-mode symbol is guessed to be the package name with "-mode" appended at the
-end), both of these, or several lists of both. If no arguments are provided,
-the default mode name is hidden completely.
-
-#+begin_src emacs-lisp
-  ;; Don't show anything for rainbow-mode.
-  (use-package rainbow-mode
-    :delight)
-
-  ;; Don't show anything for auto-revert-mode, which doesn't match
-  ;; its package name.
-  (use-package autorevert
-    :delight auto-revert-mode)
-
-  ;; Remove the mode name for projectile-mode, but show the project name.
-  (use-package projectile
-    :delight '(:eval (concat " " (projectile-project-name))))
-
-  ;; Completely hide visual-line-mode and change auto-fill-mode to " AF".
-  (use-package emacs
-    :delight
-    (auto-fill-function " AF")
-    (visual-line-mode))
-#+end_src
-
-** ~:disabled~
-
-The ~:disabled~ keyword can turn off a module you're having difficulties with,
-or stop loading something you're not using at the present time:
-
-#+begin_src emacs-lisp
-  (use-package ess-site
-    :disabled
-    :commands R)
-#+end_src
-
-When byte-compiling your ~.emacs~ file, disabled declarations are omitted
-from the output entirely, to accelerate startup times.
-
-** ~:ensure~, ~:pin~
-
-You can use ~use-package~ to load packages from ELPA with ~package.el~. This
-is particularly useful if you share your ~.emacs~ among several machines; the
-relevant packages are downloaded automatically once declared in your ~.emacs~.
-The ~:ensure~ keyword causes the package(s) to be installed automatically if
-not already present on your system (set ~(setq use-package-always-ensure t)~
-if you wish this behavior to be global for all packages):
-
-#+begin_src emacs-lisp
-  (use-package magit
-    :ensure t)
-#+end_src
-
-If you need to install a different package from the one named by
-~use-package~, you can specify it like this:
-
-#+begin_src emacs-lisp
-  (use-package tex
-    :ensure auctex)
-#+end_src
-
-Lastly, when running on Emacs 24.4 or later, use-package can pin a package to
-a specific archive, allowing you to mix and match packages from different
-archives.  The primary use-case for this is preferring packages from the
-~melpa-stable~ and ~gnu~ archives, but using specific packages from ~melpa~
-when you need to track newer versions than what is available in the ~stable~
-archives is also a valid use-case.
-
-By default ~package.el~ prefers ~melpa~ over ~melpa-stable~ due to the
-versioning ~(> evil-20141208.623 evil-1.0.9)~, so even if you are tracking
-only a single package from ~melpa~, you will need to tag all the non-~melpa~
-packages with the appropriate archive. If this really annoys you, then you can
-set ~use-package-always-pin~ to set a default.
-
-If you want to manually keep a package updated and ignore upstream updates,
-you can pin it to ~manual~, which as long as there is no repository by that
-name, will Just Work(tm).
-
-~use-package~ throws an error if you try to pin a package to an archive that
-has not been configured using ~package-archives~ (apart from the magic
-~manual~ archive mentioned above):
-
-#+begin_src text-mode
-Archive 'foo' requested for package 'bar' is not available.
-#+end_src
-
-Example:
-
-#+begin_src emacs-lisp
-  (use-package company
-    :ensure t
-    :pin melpa-stable)
-
-  (use-package evil
-    :ensure t)
-    ;; no :pin needed, as package.el will choose the version in melpa
-
-  (use-package adaptive-wrap
-    :ensure t
-    ;; as this package is available only in the gnu archive, this is
-    ;; technically not needed, but it helps to highlight where it
-    ;; comes from
-    :pin gnu)
-
-  (use-package org
-    :ensure t
-    ;; ignore org-mode from upstream and use a manually installed version
-    :pin manual)
-#+end_src
-
-*NOTE*: the ~:pin~ argument has no effect on emacs versions < 24.4.
-
-** ~:hook~
-
-The ~:hook~ keyword allows adding functions onto hooks, here only the basename
-of the hook is required. Thus, all of the following are equivalent:
-
-#+begin_src emacs-lisp
-  (use-package ace-jump-mode
-    :hook prog-mode)
-
-  (use-package ace-jump-mode
-    :hook (prog-mode . ace-jump-mode))
-
-  (use-package ace-jump-mode
-    :commands ace-jump-mode
-    :init
-    (add-hook 'prog-mode-hook #'ace-jump-mode))
-#+end_src
-
-And likewise, when multiple hooks should be applied, the following are also
-equivalent:
-
-#+begin_src emacs-lisp
-  (use-package ace-jump-mode
-    :hook (prog-mode text-mode))
-
-  (use-package ace-jump-mode
-    :hook ((prog-mode text-mode) . ace-jump-mode))
-
-  (use-package ace-jump-mode
-    :hook ((prog-mode . ace-jump-mode)
-           (text-mode . ace-jump-mode)))
-
-  (use-package ace-jump-mode
-    :commands ace-jump-mode
-    :init
-    (add-hook 'prog-mode-hook #'ace-jump-mode)
-    (add-hook 'text-mode-hook #'ace-jump-mode))
-#+end_src
-
-The use of ~:hook~, as with ~:bind~, ~:mode~, ~:interpreter~, etc., causes the
-functions being hooked to implicitly be read as ~:commands~ (meaning they will
-establish interactive ~autoload~ definitions for that module, if not already
-defined as functions), and so ~:defer t~ is also implied by ~:hook~.
-
-** ~:if~, ~:when~, ~:unless~
-
-You can use the ~:if~ keyword to predicate the loading and initialization of
-modules.
-
-For example, I only want ~edit-server~ running for my main, graphical Emacs,
-not for other Emacsen I may start at the command line:
-
-#+begin_src emacs-lisp
-  (use-package edit-server
-    :if window-system
-    :init
-    (add-hook 'after-init-hook 'server-start t)
-    (add-hook 'after-init-hook 'edit-server-start t))
-#+end_src
-
-In another example, we can load things conditional on the operating system:
-
-#+begin_src emacs-lisp
-  (use-package exec-path-from-shell
-    :if (memq window-system '(mac ns))
-    :ensure t
-    :config
-    (exec-path-from-shell-initialize))
-#+end_src
-
-Note that ~:when~ is provided as an alias for ~:if~, and ~:unless foo~ means
-the same thing as ~:if (not foo)~.
-
-** ~:load-path~
-
-If your package needs a directory added to the ~load-path~ in order to load,
-use ~:load-path~. This takes a symbol, a function, a string or a list of
-strings. If the path is relative, it is expanded within
-~user-emacs-directory~:
-
-#+begin_src emacs-lisp
-  (use-package ess-site
-    :load-path "site-lisp/ess/lisp/"
-    :commands R)
-#+end_src
-
-Note that when using a symbol or a function to provide a dynamically generated
-list of paths, you must inform the byte-compiler of this definition so the
-value is available at byte-compilation time. This is done by using the special
-form ~eval-and-compile~ (as opposed to ~eval-when-compile~). Further, this
-value is fixed at whatever was determined during compilation, to avoid looking
-up the same information again on each startup:
-
-#+begin_src emacs-lisp
-  (eval-and-compile
-    (defun ess-site-load-path ()
-      (shell-command "find ~ -path ess/lisp")))
-
-  (use-package ess-site
-    :load-path (lambda () (list (ess-site-load-path)))
-    :commands R)
-#+end_src
-
-** ~:mode~, ~:interpreter~
-
-Similar to ~:bind~, you can use ~:mode~ and ~:interpreter~ to establish a
-deferred binding within the ~auto-mode-alist~ and ~interpreter-mode-alist~
-variables. The specifier to either keyword can be a cons cell, a list of cons
-cells, or a string or regexp:
-
-#+begin_src emacs-lisp
-  (use-package ruby-mode
-    :mode "\\.rb\\'"
-    :interpreter "ruby")
-
-  ;; The package is "python" but the mode is "python-mode":
-  (use-package python
-    :mode ("\\.py\\'" . python-mode)
-    :interpreter ("python" . python-mode))
-#+end_src
-
-If you aren't using ~:commands~, ~:bind~, ~:bind*~, ~:bind-keymap~,
-~:bind-keymap*~, ~:mode~, or ~:interpreter~ (all of which imply ~:defer~; see
-the docstring for ~use-package~ for a brief description of each), you can
-still defer loading with the ~:defer~ keyword:
-
-#+begin_src emacs-lisp
-  (use-package ace-jump-mode
-    :defer t
-    :init
-    (autoload 'ace-jump-mode "ace-jump-mode" nil t)
-    (bind-key "C-." 'ace-jump-mode))
-#+end_src
-
-This does exactly the same thing as the following:
-
-#+begin_src emacs-lisp
-  (use-package ace-jump-mode
-    :bind ("C-." . ace-jump-mode))
-#+end_src
-
-** ~:magic~, ~:magic-fallback~
-
-Similar to ~:mode~ and ~:interpreter~, you can also use ~:magic~ and
-~:magic-fallback~ to cause certain function to be run if the beginning of a
-file matches a given regular expression. The difference between the two is
-that ~:magic-fallback~ has a lower priority than ~:mode~. For example:
-
-#+begin_src emacs-lisp
-  (use-package pdf-tools
-    :load-path "site-lisp/pdf-tools/lisp"
-    :magic ("%PDF" . pdf-view-mode)
-    :config
-    (pdf-tools-install))
-#+end_src
-
-This registers an autoloaded command for ~pdf-view-mode~, defers loading of
-~pdf-tools~, and runs ~pdf-view-mode~ if the beginning of a buffer matches the
-string ~"%PDF"~.
-
-** ~:no-require~
-
-Normally, ~use-package~ will load each package at compile time before
-compiling the configuration, to ensure that any necessary symbols are in scope
-to satisfy the byte-compiler. At times this can cause problems, since a
-package may have special loading requirements, and all that you want to use
-~use-package~ for is to add a configuration to the ~eval-after-load~ hook. In
-such cases, use the ~:no-require~ keyword:
-
-#+begin_src emacs-lisp
-  (use-package foo
-    :no-require t
-    :config
-    (message "This is evaluated when `foo' is loaded"))
-#+end_src
-
-** ~:requires~
-
-While the ~:after~ keyword delays loading until the dependencies are loaded,
-the somewhat simpler ~:requires~ keyword simply never loads the package if the
-dependencies are not available at the time the ~use-package~ declaration is
-encountered. By "available" in this context it means that ~foo~ is available
-of ~(featurep 'foo)~ evaluates to a non-nil value. For example:
-
-#+begin_src emacs-lisp
-  (use-package abbrev
-    :requires foo)
-#+end_src
-
-This is the same as:
-
-#+begin_src emacs-lisp
-  (use-package abbrev
-    :if (featurep 'foo))
-#+end_src
-
-As a convenience, a list of such packages may be specified:
-
-#+begin_src emacs-lisp
-  (use-package abbrev
-    :requires (foo bar baz))
-#+end_src
-
-For more complex logic, such as that supported by ~:after~, simply use ~:if~
-and the appropriate Lisp expression.
-
-* Debugging Tools
-:PROPERTIES:
-:EXPORT_FILE_NAME: debugging-tools
-:END:
-
-TODO
-
-* _ Copying
-:PROPERTIES:
-:COPYING:    t
-:END:
-
-#+begin_quote
-Copyright (C) 2012-{{{year}}} Free Software Foundation, Inc.
-
-You can redistribute this document and/or modify it under the terms
-of the GNU General Public License as published by the Free Software
-Foundation, either version 3 of the License, or (at your option) any
-later version.
-
-This document is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-General Public License for more details.
-#+end_quote
-
-#  LocalWords:  ARG ARGS CONDITIONs ChangeLog DNS Dired Ediff Ediffing
-#  LocalWords:  Elpa Emacsclient FUNC Flyspell Git Git's Gitk HOOK's
-#  LocalWords:  IDENT Ido Junio LocalWords
-#  LocalWords:  Melpa Propertize REF REF's RET Reflog SPC SYM Spacemacs
-#  LocalWords:  Submodules TODO TYPEs Theming Unpulled Unpushed Unstaged
-#  LocalWords:  Untracked WORKTREE Wip ack args async autoloads autosaving
-#  LocalWords:  autosquash backport basename branchref builtin
-#  LocalWords:  cdr changelog committer config customizable diff's diffstat
-#  LocalWords:  dwim ediff ediffing editmsg emacsclient filename fixup
-#  LocalWords:  flyspell func git's gitk gitman gitmodule gitmodules goto
-#  LocalWords:  gpg gui ident ido init inserter inserters keymap keymaps
-#  LocalWords:  logfile use-package maildir manpage manpages minibuffer multi 
mv
-#  LocalWords:  namespace newbase nocommit notesRef popup popups posix prev
-#  LocalWords:  propertize rebase rebased rebasing reflog repo signoff str
-#  LocalWords:  struct subcommand submodule submodule's submodules subprocess
-#  LocalWords:  sym texinfo theming todo topdir un unhighlighted unpulled
-#  LocalWords:  unpushed unstage unstaged unstages unstaging untracked url
-#  LocalWords:  versa whitespace wip workflow worktree wtree
-#  LocalWords:  backported macOS
-
-# Local Variables:
-# indent-tabs-mode: nil
-# org-src-preserve-indentation: nil
-# End:
diff --git a/use-package.texi b/use-package.texi
index de6351c592..573baac89a 100644
--- a/use-package.texi
+++ b/use-package.texi
@@ -8,7 +8,7 @@
 
 @copying
 @quotation
-Copyright (C) 2012-2022 John Wiegley <johnw@@newartisans.com>
+Copyright (C) 2012-2022 Free Software Foundation, Inc.
 
 You can redistribute this document and/or modify it under the terms
 of the GNU General Public License as published by the Free Software
@@ -31,7 +31,7 @@ General Public License for more details.
 @finalout
 @titlepage
 @title use-package User Manual
-@subtitle for version 2.4.1-81-gb185c6b+1
+@subtitle for version 2.4.1-119-g0be480e+1
 @author John Wiegley
 @page
 @vskip 0pt plus 1filll
@@ -45,9 +45,9 @@ General Public License for more details.
 @top use-package User Manual
 
 The @code{use-package} macro allows you to isolate package configuration in 
your
-@code{.emacs} file in a way that is both performance-oriented and, well, tidy. 
I
+@code{.emacs} file in a way that is both performance-oriented and, well, tidy. 
 I
 created it because I have over 80 packages that I use in Emacs, and things
-were getting difficult to manage. Yet with this utility my total load time is
+were getting difficult to manage.  Yet with this utility my total load time is
 around 2 seconds, with no loss of functionality!
 
 @insertcopying
@@ -73,27 +73,27 @@ Installation
 
 Keywords
 
-* @code{after}::
-* @code{bind-keymap}, @code{bind-keymap*}: @code{bind-keymap} 
@code{bind-keymap*}. 
-* @code{bind}, @code{bind*}: @code{bind} @code{bind*}. 
-* @code{commands}::
-* @code{preface}, @code{init}, @code{config}: @code{preface} @code{init} 
@code{config}. 
-* @code{custom}::
-* @code{custom-face}::
-* @code{defer}, @code{demand}: @code{defer} @code{demand}. 
-* @code{defines}, @code{functions}: @code{defines} @code{functions}. 
-* @code{diminish}, @code{delight}: @code{diminish} @code{delight}. 
-* @code{disabled}::
-* @code{ensure}, @code{pin}: @code{ensure} @code{pin}. 
-* @code{hook}::
-* @code{if}, @code{when}, @code{unless}: @code{if} @code{when} @code{unless}. 
-* @code{load-path}::
-* @code{mode}, @code{interpreter}: @code{mode} @code{interpreter}. 
-* @code{magic}, @code{magic-fallback}: @code{magic} @code{magic-fallback}. 
-* @code{no-require}::
-* @code{requires}::
-
-@code{:bind}, @code{:bind*}
+* @code{after}:: @code{:after}. 
+* @code{bind-keymap} @code{bind-keymap*}:: @code{:bind-keymap}, 
@code{:bind-keymap*}. 
+* @code{bind} @code{bind*}:: @code{:bind}, @code{:bind*}. 
+* @code{commands}:: @code{:commands}. 
+* @code{preface} @code{init} @code{config}:: @code{:preface}, @code{:init}, 
@code{:config}. 
+* @code{custom}:: @code{:custom}. 
+* @code{custom-face}:: @code{:custom-face}. 
+* @code{defer} @code{demand}:: @code{:defer}, @code{:demand}. 
+* @code{defines} @code{functions}:: @code{:defines}, @code{:functions}. 
+* @code{diminish} @code{delight}:: @code{:diminish}, @code{:delight}. 
+* @code{disabled}:: @code{:disabled}. 
+* @code{ensure} @code{pin}:: @code{:ensure}, @code{:pin}. 
+* @code{hook}:: @code{:hook}. 
+* @code{if} @code{when} @code{unless}:: @code{:if}, @code{:when}, 
@code{:unless}. 
+* @code{load-path}:: @code{:load-path}.
+* @code{mode} @code{interpreter}:: @code{:mode}, @code{:interpreter}. 
+* @code{magic} @code{magic-fallback}:: @code{:magic}, @code{:magic-fallback}. 
+* @code{no-require}:: @code{:no-require}.
+* @code{requires}:: @code{:requires}. 
+
+@code{bind}, @code{bind*}
 
 * Binding to local keymaps::
 
@@ -105,9 +105,9 @@ Keywords
 @chapter Introduction
 
 The @code{use-package} macro allows you to isolate package configuration in 
your
-@code{.emacs} file in a way that is both performance-oriented and, well, tidy. 
I
+@code{.emacs} file in a way that is both performance-oriented and, well, tidy. 
 I
 created it because I have over 80 packages that I use in Emacs, and things
-were getting difficult to manage. Yet with this utility my total load time is
+were getting difficult to manage.  Yet with this utility my total load time is
 around 2 seconds, with no loss of functionality!
 
 More text to come@dots{}
@@ -127,10 +127,10 @@ its development repository.
 @node Installing from GNU ELPA
 @section Installing from GNU ELPA
 
-use-package is available from GNU ELPA.  If you haven't used Emacs'
-package manager before, then it is high time you familiarize yourself
+use-package is available from GNU ELPA.  If you haven't used
+Emacs' package manager before, then it is high time you familiarize yourself
 with it by reading the documentation in the Emacs manual, see
-@ref{Packages,,,emacs,}.
+@ref{Packages,,,emacs,}.  Then add one of the archives to 
@code{package-archives}:
 
 First, you need to update the local package list using:
 
@@ -206,7 +206,7 @@ Now see @ref{Post-Installation Tasks}.
 @section Post-Installation Tasks
 
 After installing use-package you should verify that you are indeed using the
-use-package release you think you are using. It's best to restart Emacs before
+use-package release you think you are using.  It's best to restart Emacs before
 doing so, to make sure you are not using an outdated value for 
@code{load-path}.
 
 @example
@@ -216,7 +216,7 @@ C-h v use-package-version RET
 should display something like
 
 @example
-use-package-version’s value is "2.4.1"
+use-package-version’s value is "2.4.3"
 @end example
 
 If you are completely new to use-package then see @ref{Getting Started}.
@@ -226,13 +226,13 @@ If you run into problems, then please see the 
@ref{Debugging Tools}.
 @node Getting Started
 @chapter Getting Started
 
-TODO@. For now, see @code{README.md}.
+TODO@.  For now, see @code{README.md}.
 
 @node Basic Concepts
 @chapter Basic Concepts
 
 @code{use-package} was created for few basic reasons, each of which drove the
-design in various ways. Understanding these reasons may help make some of
+design in various ways.  Understanding these reasons may help make some of
 those decisions clearer:
 
 @itemize
@@ -256,7 +256,7 @@ close to a functional Emacs as possible.
 
 @item
 To allow byte-compilation of one's init file so that any warnings or
-errors seen are meaningful. In this way, even if byte-compilation is not
+errors seen are meaningful.  In this way, even if byte-compilation is not
 used for speed (reason 3), it can still be used as a sanity check.
 @end itemize
 
@@ -267,25 +267,25 @@ used for speed (reason 3), it can still be used as a 
sanity check.
 @chapter Keywords
 
 @menu
-* @code{after}::
-* @code{bind-keymap}, @code{bind-keymap*}: @code{bind-keymap} 
@code{bind-keymap*}. 
-* @code{bind}, @code{bind*}: @code{bind} @code{bind*}. 
-* @code{commands}::
-* @code{preface}, @code{init}, @code{config}: @code{preface} @code{init} 
@code{config}. 
-* @code{custom}::
-* @code{custom-face}::
-* @code{defer}, @code{demand}: @code{defer} @code{demand}. 
-* @code{defines}, @code{functions}: @code{defines} @code{functions}. 
-* @code{diminish}, @code{delight}: @code{diminish} @code{delight}. 
-* @code{disabled}::
-* @code{ensure}, @code{pin}: @code{ensure} @code{pin}. 
-* @code{hook}::
-* @code{if}, @code{when}, @code{unless}: @code{if} @code{when} @code{unless}. 
-* @code{load-path}::
-* @code{mode}, @code{interpreter}: @code{mode} @code{interpreter}. 
-* @code{magic}, @code{magic-fallback}: @code{magic} @code{magic-fallback}. 
-* @code{no-require}::
-* @code{requires}::
+* @code{after}:: @code{after}. 
+* @code{bind-keymap} @code{bind-keymap*}:: @code{:bind-keymap}, 
@code{:bind-keymap*}. 
+* @code{bind} @code{bind*}:: @code{bind} @code{:bind*}.
+* @code{commands}:: @code{:commands}. 
+* @code{preface} @code{init} @code{config}:: @code{:preface}, @code{:init}, 
@code{:config}. 
+* @code{custom}:: @code{:custom}. 
+* @code{custom-face}:: @code{:custom-face}. 
+* @code{defer} @code{demand}:: @code{:defer}, @code{:demand}. 
+* @code{defines} @code{functions}:: @code{:defines}, @code{:functions}. 
+* @code{diminish} @code{delight}:: @code{:diminish}, @code{:delight}. 
+* @code{disabled}:: @code{:disabled}. 
+* @code{ensure} @code{pin}:: @code{:ensure}, @code{:pin}. 
+* @code{hook}:: @code{:hook}. 
+* @code{if} @code{when} @code{unless}:: @code{:if}, @code{:when}, 
@code{:unless}. 
+* @code{load-path}:: @code{:load-path}. 
+* @code{mode} @code{interpreter}:: @code{:mode}, @code{:interpreter}. 
+* @code{magic} @code{magic-fallback}:: @code{:magic}, @code{:magic-fallback}. 
+* @code{no-require}:: @code{:no-require}. 
+* @code{requires}:: @code{:requires}. 
 @end menu
 
 @node @code{after}
@@ -293,8 +293,8 @@ used for speed (reason 3), it can still be used as a sanity 
check.
 
 Sometimes it only makes sense to configure a package after another has been
 loaded, because certain variables or functions are not in scope until that
-time. This can achieved using an @code{:after} keyword that allows a fairly 
rich
-description of the exact conditions when loading should occur. Here is an
+time.  This can achieved using an @code{:after} keyword that allows a fairly 
rich
+description of the exact conditions when loading should occur.  Here is an
 example:
 
 @lisp
@@ -309,13 +309,13 @@ example:
 @end lisp
 
 In this case, because all of these packages are demand-loaded in the order
-they occur, the use of @code{:after} is not strictly necessary. By using it,
+they occur, the use of @code{:after} is not strictly necessary.  By using it,
 however, the above code becomes order-independent, without an implicit
 depedence on the nature of your init file.
 
 By default, @code{:after (foo bar)} is the same as @code{:after (:all foo 
bar)}, meaning
 that loading of the given package will not happen until both @code{foo} and 
@code{bar}
-have been loaded. Here are some of the other possibilities:
+have been loaded.  Here are some of the other possibilities:
 
 @lisp
 :after (foo bar)
@@ -331,7 +331,7 @@ been loaded, or both @code{baz} and @code{quux} have been 
loaded.
 
 @strong{NOTE}: Pay attention if you set @code{use-package-always-defer} to t, 
and also use
 the @code{:after} keyword, as you will need to specify how the declared 
package is
-to be loaded: e.g., by some @code{:bind}. If you're not using one of the 
mechanisms
+to be loaded: e.g., by some @code{:bind}.  If you're not using one of the 
mechanisms
 that registers autoloads, such as @code{:bind} or @code{:hook}, and your 
package manager
 does not provide autoloads, it's possible that without adding @code{:demand t} 
to
 those declarations, your package will never be loaded.
@@ -340,14 +340,14 @@ those declarations, your package will never be loaded.
 @section @code{:bind-keymap}, @code{:bind-keymap*}
 
 Normally @code{:bind} expects that commands are functions that will be 
autoloaded
-from the given package. However, this does not work if one of those commands
+from the given package.  However, this does not work if one of those commands
 is actually a keymap, since keymaps are not functions, and cannot be
 autoloaded using Emacs' @code{autoload} mechanism.
 
 To handle this case, @code{use-package} offers a special, limited variant of
-@code{:bind} called @code{:bind-keymap}. The only difference is that the 
"commands"
+@code{:bind} called @code{:bind-keymap}.  The only difference is that the 
"commands"
 bound to by @code{:bind-keymap} must be keymaps defined in the package, rather 
than
-command functions. This is handled behind the scenes by generating custom code
+command functions.  This is handled behind the scenes by generating custom code
 that loads the package containing the keymap, and then re-executes your
 keypress after the first load, to reinterpret that keypress as a prefix key.
 
@@ -386,7 +386,7 @@ A more literal way to do the exact same thing is:
 @end lisp
 
 When you use the @code{:commands} keyword, it creates autoloads for those 
commands
-and defers loading of the module until they are used. Since the @code{:init} 
form
+and defers loading of the module until they are used.  Since the @code{:init} 
form
 is always run---even if @code{ace-jump-mode} might not be on your 
system---remember
 to restrict @code{:init} code to only what would succeed either way.
 
@@ -402,7 +402,7 @@ The @code{:bind} keyword takes either a cons or a list of 
conses:
 The @code{:commands} keyword likewise takes either a symbol or a list of 
symbols.
 
 NOTE: Special keys like @code{tab} or @code{F1}-@code{Fn} can be written in 
square brackets,
-i.e. @code{[tab]} instead of @code{"tab"}. The syntax for the keybindings is 
similar to
+i.e. @code{[tab]} instead of @code{"tab"}.  The syntax for the keybindings is 
similar to
 the "kbd" syntax: see 
@uref{https://www.gnu.org/software/emacs/manual/html_node/emacs/Init-Rebinding.html,
 the Emacs Manual} for more information.
 
 Examples:
@@ -436,7 +436,7 @@ The effect of this statement is to wait until @code{helm} 
has loaded, and then t
 bind the key @code{C-c h} to @code{helm-execute-persistent-action} within 
Helm's local
 keymap, @code{helm-mode-map}.
 
-Multiple uses of @code{:map} may be specified. Any binding occurring before the
+Multiple uses of @code{:map} may be specified.  Any binding occurring before 
the
 first use of @code{:map} are applied to the global keymap:
 
 @lisp
@@ -470,7 +470,7 @@ Here is the simplest @code{use-package} declaration:
 @end lisp
 
 This loads in the package @code{foo}, but only if @code{foo} is available on 
your
-system. If not, a warning is logged to the @code{*Messages*} buffer. If it
+system.  If not, a warning is logged to the @code{*Messages*} buffer.  If it
 succeeds, a message about @code{"Loading foo"} is logged, along with the time 
it
 took to load, if it took over 0.1 seconds.
 
@@ -544,14 +544,14 @@ The @code{:custom-face} keyword allows customization of 
package custom faces.
 @node @code{defer} @code{demand}
 @section @code{:defer}, @code{:demand}
 
-In almost all cases you don't need to manually specify @code{:defer t}. This is
-implied whenever @code{:bind} or @code{:mode} or @code{:interpreter} is used. 
Typically, you
+In almost all cases you don't need to manually specify @code{:defer t}.  This 
is
+implied whenever @code{:bind} or @code{:mode} or @code{:interpreter} is used.  
Typically, you
 only need to specify @code{:defer} if you know for a fact that some other 
package
 will do something to cause your package to load at the appropriate time, and
 thus you would like to defer loading even though use-package isn't creating
 any autoloads for you.
 
-You can override package deferral with the @code{:demand} keyword. Thus, even 
if
+You can override package deferral with the @code{:demand} keyword.  Thus, even 
if
 you use @code{:bind}, using @code{:demand} will force loading to occur 
immediately and
 not establish an autoload for the bound key.
 
@@ -593,7 +593,7 @@ If you need to silence a missing function warning, you can 
use @code{:functions}
 @section @code{:diminish}, @code{:delight}
 
 @code{use-package} also provides built-in support for the diminish and delight
-utilities---if you have them installed. Their purpose is to remove or change
+utilities---if you have them installed.  Their purpose is to remove or change
 minor mode strings in your mode-line.
 
 @uref{https://github.com/myrjola/diminish.el, diminish} is invoked with the 
@code{:diminish} keyword, which is passed either a
@@ -612,7 +612,7 @@ package name with "-mode" appended at the end:
 @uref{https://elpa.gnu.org/packages/delight.html, delight} is invoked with the 
@code{:delight} keyword, which is passed a minor mode
 symbol, a replacement string or quoted 
@uref{https://www.gnu.org/software/emacs/manual/html_node/elisp/Mode-Line-Data.html,
 mode-line data} (in which case the minor
 mode symbol is guessed to be the package name with "-mode" appended at the
-end), both of these, or several lists of both. If no arguments are provided,
+end), both of these, or several lists of both.  If no arguments are provided,
 the default mode name is hidden completely.
 
 @lisp
@@ -654,7 +654,7 @@ from the output entirely, to accelerate startup times.
 @node @code{ensure} @code{pin}
 @section @code{:ensure}, @code{:pin}
 
-You can use @code{use-package} to load packages from ELPA with 
@code{package.el}. This
+You can use @code{use-package} to load packages from ELPA with 
@code{package.el}.  This
 is particularly useful if you share your @code{.emacs} among several machines; 
the
 relevant packages are downloaded automatically once declared in your 
@code{.emacs}.
 The @code{:ensure} keyword causes the package(s) to be installed automatically 
if
@@ -684,7 +684,7 @@ archives is also a valid use-case.
 By default @code{package.el} prefers @code{melpa} over @code{melpa-stable} due 
to the
 versioning @code{(> evil-20141208.623 evil-1.0.9)}, so even if you are tracking
 only a single package from @code{melpa}, you will need to tag all the 
non-@code{melpa}
-packages with the appropriate archive. If this really annoys you, then you can
+packages with the appropriate archive.  If this really annoys you, then you can
 set @code{use-package-always-pin} to set a default.
 
 If you want to manually keep a package updated and ignore upstream updates,
@@ -729,7 +729,7 @@ Example:
 @section @code{:hook}
 
 The @code{:hook} keyword allows adding functions onto hooks, here only the 
basename
-of the hook is required. Thus, all of the following are equivalent:
+of the hook is required.  Thus, all of the following are equivalent:
 
 @lisp
 (use-package ace-jump-mode
@@ -804,8 +804,8 @@ the same thing as @code{:if (not foo)}.
 @section @code{:load-path}
 
 If your package needs a directory added to the @code{load-path} in order to 
load,
-use @code{:load-path}. This takes a symbol, a function, a string or a list of
-strings. If the path is relative, it is expanded within
+use @code{:load-path}.  This takes a symbol, a function, a string or a list of
+strings.  If the path is relative, it is expanded within
 @code{user-emacs-directory}:
 
 @lisp
@@ -816,8 +816,8 @@ strings. If the path is relative, it is expanded within
 
 Note that when using a symbol or a function to provide a dynamically generated
 list of paths, you must inform the byte-compiler of this definition so the
-value is available at byte-compilation time. This is done by using the special
-form @code{eval-and-compile} (as opposed to @code{eval-when-compile}). 
Further, this
+value is available at byte-compilation time.  This is done by using the special
+form @code{eval-and-compile} (as opposed to @code{eval-when-compile}).  
Further, this
 value is fixed at whatever was determined during compilation, to avoid looking
 up the same information again on each startup:
 
@@ -836,7 +836,7 @@ up the same information again on each startup:
 
 Similar to @code{:bind}, you can use @code{:mode} and @code{:interpreter} to 
establish a
 deferred binding within the @code{auto-mode-alist} and 
@code{interpreter-mode-alist}
-variables. The specifier to either keyword can be a cons cell, a list of cons
+variables.  The specifier to either keyword can be a cons cell, a list of cons
 cells, or a string or regexp:
 
 @lisp
@@ -875,8 +875,8 @@ This does exactly the same thing as the following:
 
 Similar to @code{:mode} and @code{:interpreter}, you can also use 
@code{:magic} and
 @code{:magic-fallback} to cause certain function to be run if the beginning of 
a
-file matches a given regular expression. The difference between the two is
-that @code{:magic-fallback} has a lower priority than @code{:mode}. For 
example:
+file matches a given regular expression.  The difference between the two is
+that @code{:magic-fallback} has a lower priority than @code{:mode}.  For 
example:
 
 @lisp
 (use-package pdf-tools
@@ -895,9 +895,9 @@ string @code{"%PDF"}.
 
 Normally, @code{use-package} will load each package at compile time before
 compiling the configuration, to ensure that any necessary symbols are in scope
-to satisfy the byte-compiler. At times this can cause problems, since a
+to satisfy the byte-compiler.  At times this can cause problems, since a
 package may have special loading requirements, and all that you want to use
-@code{use-package} for is to add a configuration to the @code{eval-after-load} 
hook. In
+@code{use-package} for is to add a configuration to the @code{eval-after-load} 
hook.  In
 such cases, use the @code{:no-require} keyword:
 
 @lisp
@@ -913,8 +913,8 @@ such cases, use the @code{:no-require} keyword:
 While the @code{:after} keyword delays loading until the dependencies are 
loaded,
 the somewhat simpler @code{:requires} keyword simply never loads the package 
if the
 dependencies are not available at the time the @code{use-package} declaration 
is
-encountered. By "available" in this context it means that @code{foo} is 
available
-of @code{(featurep 'foo)} evaluates to a non-nil value. For example:
+encountered.  By "available" in this context it means that @code{foo} is 
available
+of @code{(featurep 'foo)} evaluates to a non-nil value.  For example:
 
 @lisp
 (use-package abbrev



reply via email to

[Prev in Thread] Current Thread [Next in Thread]