Browse Source

deprecation: Add 'define-deprecated/alias'.

* guix/deprecation.scm (define-deprecated/alias): New macro.
snapper
Ludovic Courtès 3 years ago
parent
commit
1b7dd99738
No known key found for this signature in database GPG Key ID: 90B11993D9AEBB5
  1. 22
      guix/deprecation.scm

22
guix/deprecation.scm

@ -20,7 +20,7 @@
#:use-module (guix i18n)
#:use-module (ice-9 format)
#:export (define-deprecated
without-deprecation-warnings
define-deprecated/alias
deprecation-warning-port))
;;; Commentary:
@ -87,3 +87,23 @@ This will write a deprecation warning to DEPRECATION-WARNING-PORT."
(id
(identifier? #'id)
#'real))))))))))
(define-syntax-rule (define-deprecated/alias deprecated replacement)
"Define as an alias a deprecated variable, procedure, or macro, along
these lines:
(define-deprecated/alias nix-server? store-connection?)
where 'nix-server?' is the deprecated name for 'store-connection?'.
This will write a deprecation warning to DEPRECATION-WARNING-PORT."
(define-syntax deprecated
(lambda (s)
(warn-about-deprecation 'deprecated (syntax-source s)
#:replacement 'replacement)
(syntax-case s ()
((_ args (... ...))
#'(replacement args (... ...)))
(id
(identifier? #'id)
#'replacement)))))
Loading…
Cancel
Save