Commit graph

113 commits

Author SHA1 Message Date
Michael Shields
ebcde0f90f Fix use-package :custom-face to set face-defface-spec (bug#77928)
By default, `face-set-spec' sets the override face spec, so face
attributes are combined with defaults rather than replacing them.
This was a behavior change that was an apparently unintended
consequence of commit 6b344a9.

Also set the `face-modified' property, which causes Customize to
flag the face as changed outside Customize.

* doc/misc/use-package.texi (Faces): Document the behavior.
* lisp/use-package/use-package-core.el (use-package-handler/:custom-face):
(use-package): Improve docstring to reflect implementation.
* test/lisp/use-package/use-package-tests.el
(use-package-test/:custom-face-1): (use-package-test/:custom-face-2):
(use-package-test/:custom-face-3): (use-package-test/:custom-face-4):
Add tests.
2025-04-27 10:48:55 +03:00
Paul Eggert
4da38c6321 Update copyright year to 2025
Run "TZ=UTC0 admin/update-copyright".
2025-01-01 07:39:17 +00:00
Tony Zorman
a019d2bd56 use-package: Add ':ignored-files' support to ':vc' keyword
* lisp/use-package/use-package-core.el (use-package-split-when):
New utility function to split a list whenever a specified
predicate returns t.
(use-package-vc-valid-keywords): A new defconst to gather all
allowed keywords.
(use-package-normalize--vc-arg): Properly normalize the
':ignored-files' keyword, in that the following are all valid
ways of entering files:
  :ignored-files "a"
  :ignored-files ("a")
  :ignored-files "a" "b" "c"
  :ignored-files ("a" "b" "c")
(use-package-normalize/:vc): Adjust normalization, now that we
do not necessarily receive a valid plist as an input.  (Bug#66567)

* test/lisp/use-package/use-package-tests.el
(use-package-test-normalize/:vc): Add tests for ':ignored-files'
keyword.
2024-05-18 13:30:45 +03:00
Po Lu
ecf08f0621 Merge from savannah/emacs-29
dc4e6b1329 ; Update copyright years in more files
64b3777631 ; Run set-copyright from admin.el
8e1c56ae46 ; Add 2024 to copyright years

# Conflicts:
#	doc/misc/modus-themes.org
#	doc/misc/texinfo.tex
#	etc/NEWS
#	etc/refcards/ru-refcard.tex
#	etc/themes/modus-operandi-theme.el
#	etc/themes/modus-themes.el
#	etc/themes/modus-vivendi-theme.el
#	lib/alloca.in.h
#	lib/binary-io.h
#	lib/c-ctype.h
#	lib/c-strcasecmp.c
#	lib/c-strncasecmp.c
#	lib/careadlinkat.c
#	lib/cloexec.c
#	lib/close-stream.c
#	lib/diffseq.h
#	lib/dup2.c
#	lib/filemode.h
#	lib/fpending.c
#	lib/fpending.h
#	lib/fsusage.c
#	lib/getgroups.c
#	lib/getloadavg.c
#	lib/gettext.h
#	lib/gettime.c
#	lib/gettimeofday.c
#	lib/group-member.c
#	lib/malloc.c
#	lib/md5-stream.c
#	lib/md5.c
#	lib/md5.h
#	lib/memmem.c
#	lib/memrchr.c
#	lib/nanosleep.c
#	lib/save-cwd.h
#	lib/sha1.c
#	lib/sig2str.c
#	lib/stdlib.in.h
#	lib/strtoimax.c
#	lib/strtol.c
#	lib/strtoll.c
#	lib/time_r.c
#	lib/xalloc-oversized.h
#	lisp/auth-source-pass.el
#	lisp/emacs-lisp/lisp-mnt.el
#	lisp/emacs-lisp/timer.el
#	lisp/info-look.el
#	lisp/jit-lock.el
#	lisp/loadhist.el
#	lisp/mail/rmail.el
#	lisp/net/ntlm.el
#	lisp/net/webjump.el
#	lisp/progmodes/asm-mode.el
#	lisp/progmodes/project.el
#	lisp/progmodes/sh-script.el
#	lisp/textmodes/flyspell.el
#	lisp/textmodes/reftex-toc.el
#	lisp/textmodes/reftex.el
#	lisp/textmodes/tex-mode.el
#	lisp/url/url-gw.el
#	m4/alloca.m4
#	m4/clock_time.m4
#	m4/d-type.m4
#	m4/dirent_h.m4
#	m4/dup2.m4
#	m4/euidaccess.m4
#	m4/fchmodat.m4
#	m4/filemode.m4
#	m4/fsusage.m4
#	m4/getgroups.m4
#	m4/getloadavg.m4
#	m4/getrandom.m4
#	m4/gettime.m4
#	m4/gettimeofday.m4
#	m4/gnulib-common.m4
#	m4/group-member.m4
#	m4/inttypes.m4
#	m4/malloc.m4
#	m4/manywarnings.m4
#	m4/mempcpy.m4
#	m4/memrchr.m4
#	m4/mkostemp.m4
#	m4/mktime.m4
#	m4/nproc.m4
#	m4/nstrftime.m4
#	m4/pathmax.m4
#	m4/pipe2.m4
#	m4/pselect.m4
#	m4/pthread_sigmask.m4
#	m4/readlink.m4
#	m4/realloc.m4
#	m4/sig2str.m4
#	m4/ssize_t.m4
#	m4/stat-time.m4
#	m4/stddef_h.m4
#	m4/stdint.m4
#	m4/stdio_h.m4
#	m4/stdlib_h.m4
#	m4/stpcpy.m4
#	m4/strnlen.m4
#	m4/strtoimax.m4
#	m4/strtoll.m4
#	m4/time_h.m4
#	m4/timegm.m4
#	m4/timer_time.m4
#	m4/timespec.m4
#	m4/unistd_h.m4
#	m4/warnings.m4
#	nt/configure.bat
#	nt/preprep.c
#	test/lisp/register-tests.el
2024-01-02 10:28:14 +08:00
Po Lu
8e1c56ae46 ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
Steven Allen
8d6dd1682e Fix use-package :vc keyword when byte-compiled
* lisp/use-package/use-package-core.el (use-package-handler/:vc):
Return the new 'body'. Otherwise, the entire package declaration gets
dropped when byte-compiling.
* test/lisp/use-package/use-package-tests.el
(use-package-test-handler/:vc-6): test it.
2023-06-03 10:27:46 +03:00
Tony Zorman
2ce279680b Add :vc keyword to use-package for VC package support
* lisp/use-package/use-package-core.el (use-package-keywords): Add :vc.
(use-package-handler/:load-path): Insert 'load-path' into 'state'.
(use-package-vc-install): Install the package with package-vc.el.
(use-package-handler/:vc): Handler for the :vc keyword.
(use-package-normalize--vc-arg): Normalization for more complex
arguments to 'use-package-normalize/:vc', in order to make them
compatible with the specification of 'package-vc-selected-packages'.
(use-package-normalize/:vc): Normalizer for the :vc keyword.
(use-package): Document :vc.
* lisp/use-package/use-package-ensure.el (use-package-handler/:ensure):
Do not ensure a package when :vc is used in the declaration.
* test/lisp/use-package/use-package-tests.el (use-package-test/:vc-1):
(use-package-test/:vc-2):
(use-package-test/:vc-3):
(use-package-test/:vc-4):
(use-package-test/:vc-5):
(use-package-test-normalize/:vc):
Add tests for :vc.
* etc/NEWS: Mention change.  (Bug#60418)
2023-05-16 21:22:05 +02:00
Eli Zaretskii
cae528457c ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
Stefan Kangas
2626704054 ; Normalize GPLv3 license statements in new files 2022-12-09 00:13:00 +01:00
Stefan Kangas
01bfbd186a Fix use-package tests
* test/lisp/use-package/use-package-chords-tests.el:
* test/lisp/use-package/use-package-tests.el: Remove local
variables section.  Require 'ert' and fix copyright header.
2022-12-03 00:55:56 +01:00
Stefan Kangas
8296164eab Remove tests lacking a copyright assignment for now
* use-package-tests.el (use-package-test/pre-post-hooks-with-:config)
(use-package-test/pre-post-hooks-without-:config): Remove tests.
2022-11-27 10:03:56 +01:00
John Wiegley
e42c8479ec Merge pull request from skangas/dir-locals
GitHub-reference: https://github.com/jwiegley/use-package/issues/1023
2022-11-16 11:29:27 -08:00
Stefan Kangas
30fa366737 Add .dir-locals.el 2022-11-16 18:02:20 +01:00
Stefan Kangas
2399d0d5ce Normalize GPLv3 license statements 2022-11-16 08:43:55 +01:00
John Wiegley
3e81af80a2 Revert "Allow multiple keymaps in :map argument" 2022-11-15 15:24:12 -08:00
John Wiegley
49fffe7cf4 Merge remote-tracking branch 'origin/master' into pr-830 2022-11-15 09:21:07 -08:00
Andrey Listopadov
76a5ce5d86 Allow passing the SPEC-TYPE argument via :custom-face
GitHub-reference: https://github.com/jwiegley/use-package/issues/1008
Copyright-paperwork-exempt: yes
2022-10-29 13:26:31 +03:00
Andrey Listopadov
6b344a9197 Use face-spec-set instead of custom-set-faces
GitHub-reference: https://github.com/jwiegley/use-package/issues/934
Copyright-paperwork-exempt: yes
2022-10-17 09:18:51 +03:00
John Wiegley
c0338e06cd Merge pull request from conao3/add-commands-keyword
GitHub-reference: https://github.com/jwiegley/use-package/issues/917
2022-10-12 13:43:57 -04:00
Jacob First
ec96b47664 bind-keys supports passing a list of keymaps as :map argument 2022-09-29 04:01:42 -04:00
John Wiegley
c12deb31fe Merge pull request from CeleritasCelery/master
GitHub-reference: https://github.com/jwiegley/use-package/issues/743
2022-09-09 17:25:57 -07:00
John Wiegley
f270623768 Merge pull request from phst/flet
GitHub-reference: https://github.com/jwiegley/use-package/issues/849
2022-08-07 08:49:35 -07:00
John Wiegley
0503611b71 Merge pull request from conao3/add-custom-face-description
GitHub-reference: https://github.com/jwiegley/use-package/issues/863
2022-08-07 08:48:29 -07:00
Troy Hinckley
ee292b80be Fix tests and documentation for hook 2021-05-17 18:33:28 -06:00
Philipp Stephani
11b2184c8d Remove uses of deprecated ‘flet’ macro
Instead, use the non-deprecated ‘cl-flet’ and ‘cl-letf’ macros from the
‘cl-lib’ package.

This also allows us to remove the ‘plist-delete’ helper function, which was
only used to effectively un-deprecate ‘flet’.
2021-02-24 13:00:42 +01:00
Naoya Yamashita
a35b924054 add testcase 2021-02-23 04:12:03 +09:00
Ted Zlatanov
2b9536f242 Add use-package-use-theme and avoid missing theme errors 2021-02-06 10:46:00 +00:00
Ted Zlatanov
a3c310c11a Create new "use-package" themse and use it for :custom with custom-theme-set-variables 2020-11-29 14:56:10 +00:00
Ted Zlatanov
8ef7978028 set saved-variable-comment from :custom
GitHub-reference: https://github.com/jwiegley/use-package/issues/861
2020-11-29 12:09:48 +00:00
Naoya Yamashita
215dd35e49 add multiple and eval :custom-face usage
This commit follows suggestion at https://github.com/jwiegley/use-package/issues/696, https://github.com/jwiegley/use-package/issues/821
2020-08-21 15:15:34 +09:00
Jimmy Yuen Ho Wong
1f54de9210 Merge branch 'master' into patch-1 2020-07-22 02:05:31 +01:00
Jimmy Yuen Ho Wong
d3f847eaee Fix broken test due to
GitHub-reference: https://github.com/jwiegley/use-package/issues/850
2020-07-12 15:57:49 -04:00
Jimmy Yuen Ho Wong
2ca2212f73 better tests 2020-07-08 04:46:57 +01:00
Jimmy Yuen Ho Wong
de49954965 add test for
GitHub-reference: https://github.com/jwiegley/use-package/issues/845
2020-07-08 04:46:57 +01:00
John Lee
0ec4660f74 Add special value back again, in case needed for backwards compat
I don't know why this special value exists, but perhaps old client code uses it.

The additional `t' in the macro expansion is accidental but not harmful I guess.

Copyright-paperwork-exempt: yes
2020-05-09 23:46:53 +01:00
John Lee
f30d5761af Even when there's no :config, run any pre/post config hooks
i.e., following the existing docs for use-package-inject-hooks, these hooks are
run:

use-package--foo--pre-config-hook
use-package--foo--post-config-hook

This should make config customisations more predictable (for example, spacemacs
uses these hooks extensively to allow 'layers' to be customised).

I got rid of the "special" default value for :config, because it doesn't seem to
be treated any differently than nil.

Fixes https://github.com/jwiegley/use-package/issues/785

Copyright-paperwork-exempt: yes
2020-05-09 23:46:53 +01:00
Radon Rosborough
20415fb9be Update tests 2019-07-15 22:20:18 -07:00
Vincent Zhang
c297dfdd20 Make custom-face evaluate elisp
Fix https://github.com/jwiegley/use-package/issues/696.

Copyright-paperwork-exempt: yes
2019-05-29 17:42:19 +08:00
Alex Branham
09b7e8e129 Fix use-package-normalize-function tests 2018-06-13 20:24:09 -05:00
Alex Branham
e2e6f9a44b Enable lexical binding
This supersedes https://github.com/jwiegley/use-package/issues/617 and closes https://github.com/jwiegley/use-package/issues/648
2018-06-13 20:24:09 -05:00
John Wiegley
ab918196fa Revert "Merge pull request from jabranham/lexical-bindings"
This reverts commit d21787f1d6, reversing
changes made to fd8a3510fd.
GitHub-reference: https://github.com/jwiegley/use-package/issues/617
2018-01-27 14:13:48 -08:00
John Wiegley
566a2ea3a1 Revert "Move variable bindings to the bottom of each file"
This reverts commit c29193bf07.
2018-01-27 14:09:10 -08:00
John Wiegley
c29193bf07 Move variable bindings to the bottom of each file 2018-01-27 14:07:11 -08:00
Alex Branham
2274130b40 Test still requires cl 2018-01-27 11:11:40 -06:00
Alex Branham
88bcb8b96d Use lexical bindings and remove cl package 2018-01-27 10:01:10 -06:00
John Wiegley
2d226310f1 All the second argument in use-package-defaults lists to be a function
Address the question raised in https://github.com/jwiegley/use-package/issues/591
2017-12-15 22:48:42 -08:00
John Wiegley
51eceb4238 Add a test related to
GitHub-reference: https://github.com/jwiegley/use-package/issues/589
2017-12-13 17:03:05 -08:00
John Wiegley
31fa2f24a1 Add more tests related to issue
GitHub-reference: https://github.com/jwiegley/use-package/issues/572
2017-12-13 17:02:55 -08:00
John Wiegley
a4d2e77961 bind-keys fixes related to
GitHub-reference: https://github.com/jwiegley/use-package/issues/482
2017-12-10 21:25:37 -08:00
John Wiegley
3850281f88 Add a clarifying test for
GitHub-reference: https://github.com/jwiegley/use-package/issues/482
2017-12-10 09:53:13 -08:00