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

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

[nongnu] elpa/evil-goggles 61d3c1e3d9 222/225: Switch to makel.mk


From: ELPA Syncer
Subject: [nongnu] elpa/evil-goggles 61d3c1e3d9 222/225: Switch to makel.mk
Date: Wed, 12 Jan 2022 08:59:10 -0500 (EST)

branch: elpa/evil-goggles
commit 61d3c1e3d9c30930e5c73428523b8bc23ff360b7
Author: Evgeni Kolev <evgenysw@gmail.com>
Commit: Evgeni Kolev <evgenysw@gmail.com>

    Switch to makel.mk
---
 .gitignore                                         |  1 +
 .travis.yml                                        | 33 +++++--------
 Makefile                                           | 55 ++++++++++++----------
 evil-goggles.el                                    | 48 +++++++++----------
 evil-tests.patch                                   | 52 ++++++++++++++++++++
 test/elpa.el                                       |  7 ---
 test/evil-goggles-test.el                          | 12 ++---
 ...vil-test.el => evil-tests-with-evil-goggles.el} |  9 +---
 test/make-checkdoc.el                              |  1 -
 test/make-compile.el                               |  8 ----
 test/make-test.el                                  | 12 -----
 test/make-update.el                                | 25 ----------
 12 files changed, 126 insertions(+), 137 deletions(-)

diff --git a/.gitignore b/.gitignore
index f61ec949f4..4ac0ae66d5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
 .elpa/
 *.elc
 test/evil-tests.el
+makel.mk
diff --git a/.travis.yml b/.travis.yml
index 5f10473d1b..a52f8e0d55 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,26 +1,15 @@
-sudo: false
-language: generic
-env:
-  global:
-    - CURL="curl -fsSkL --retry 9 --retry-delay 9"
-  matrix:
-  - EMACS_VERSION=25.3
-
-addons:
-  apt:
-    packages:
-    - aspell
-    - aspell-en
+language: nix
 
 install:
-  - $CURL -O 
https://github.com/npostavs/emacs-travis/releases/download/bins/emacs-bin-${EMACS_VERSION}.tar.gz
-  - tar -xaf emacs-bin-${EMACS_VERSION}.tar.gz -C /
-  - export EMACS=/tmp/emacs/bin/emacs
-  - $EMACS --version
+  - bash <(curl 
https://raw.githubusercontent.com/purcell/nix-emacs-ci/master/travis-install)
+
+env:
+  - EMACS_CI=emacs-25-3
 
 script:
-  - emacs=$EMACS make update
-  - emacs=$EMACS make compile
-  - emacs=$EMACS make test
-  - emacs=$EMACS make package-lint
-  - emacs=$EMACS make evil-test
+  - emacs --version
+  - make ci-dependencies
+  - make test/evil-tests.el
+  - make check
+  - cat test-results.txt
+
diff --git a/Makefile b/Makefile
index a73a3e08c9..3587d99ed3 100644
--- a/Makefile
+++ b/Makefile
@@ -1,33 +1,38 @@
-emacs ?= emacs
-bemacs = $(emacs) -batch -l test/elpa.el
+# Space-separated list of the dependencies of your project (include
+# package-lint and/or buttercup if you want makel to use these tools):
+ELPA_DEPENDENCIES=evil evil-test-helpers package-lint
 
-all: compile
+# List of package archives to download above dependencies
+# from. Available archives are: gnu, melpa, melpa-stable and org:
+ELPA_ARCHIVES=gnu melpa
 
-update:
-       $(emacs) -batch -l test/make-update.el
+# List of ERT test files:
+TEST_ERT_FILES=test/evil-goggles-test.el test/evil-tests-with-evil-goggles.el
 
-compile: clean
-       $(bemacs) -l test/make-compile.el
+# List of files to check for Emacs conventions:
+LINT_CHECKDOC_FILES=$(wildcard *.el)
 
-test:
-       $(bemacs) -l test/make-test.el
+# List of files to check for packaging guidelines:
+LINT_PACKAGE_LINT_FILES=$(wildcard *.el)
 
-package-lint:
-       $(bemacs) -f package-lint-batch-and-exit evil-goggles.el
-
-clean:
-       rm -f *.elc test/evil-tests.el test/evil-tests.el
-
-checkdoc:
-       $(bemacs) -l test/make-checkdoc.el
+# List of files to check for compilation errors and warnings:
+LINT_COMPILE_FILES=${LINT_CHECKDOC_FILES}
 
+# TODO remove evil-tests.patch after this 
https://github.com/emacs-evil/evil/pull/1239
 test/evil-tests.el:
        curl -s 
"https://raw.githubusercontent.com/emacs-evil/evil/master/evil-tests.el"; 
--output test/evil-tests.el
-
-evil-test: test/evil-tests.el
-       $(emacs) -nw -Q -l test/elpa.el -l test/make-evil-test.el
-
-evil-test-batch: test/evil-tests.el
-       $(bemacs) -l test/make-evil-test.el
-
-.PHONY: update compile test clean checkdoc evil-test wget-evil-tests 
evil-test-batch
+       git apply --directory=test/ evil-tests.patch
+
+makel.mk:
+       # Download makel
+       @if [ -f ../makel/makel.mk ]; then \
+               ln -s ../makel/makel.mk .; \
+       else \
+               curl \
+               --fail --silent --show-error --insecure --location \
+               --retry 9 --retry-delay 9 \
+               -O 
https://gitlab.petton.fr/DamienCassou/makel/raw/v0.6.0/makel.mk; \
+       fi
+
+# Include makel.mk if present
+-include makel.mk
diff --git a/evil-goggles.el b/evil-goggles.el
index 86c69df640..895dbe6055 100644
--- a/evil-goggles.el
+++ b/evil-goggles.el
@@ -147,7 +147,7 @@ background of 'evil-goggles-default-face, then 'region."
        (not (null (string-match-p "[^ \t\n]" (buffer-substring-no-properties 
beg end))))))
 
 (defun evil-goggles--overlay-insert-behind-hook (ov afterp beg end &optional 
len)
-  "Function which grows/shriks the overlay OV when its text changes.
+  "Function which grows/shriks the overlay OV when its text is changed.
 
 The OV, AFTERP, BEG, END, LEN arguments are specified by the calling
 convention for the insert-behind-hooks overlay property."
@@ -165,9 +165,9 @@ DUR is used only when pulsing.
 The decision to pulse or not is made by function
 `evil-goggles--should-blink-or-pulse'."
   (pcase (evil-goggles--should-blink-or-pulse face)
-    (`(blink ,blink-face)
+    (`(do-blink ,blink-face)
      (overlay-put ov 'face blink-face))
-    (`(pulse ,pulse-bg)
+    (`(do-pulse ,pulse-bg)
      (evil-goggles--pulse-overlay ov pulse-bg dur))))
 
 (defun evil-goggles--should-blink-or-pulse (face)
@@ -176,27 +176,27 @@ The decision to pulse or not is made by function
 The decision is made based on the value of `evil-goggles-pulse'.
 
 If the FACE has no background, pulsing is not supported, hence the
-decision is to blink. If the face has no foreground and/or background,
+decision is to blink.  If the face has no foreground and/or background,
 this function tries to make the most appropriate decision whether to
 pulse or not, and whether to use the given FACE or use the fallback
 face `evil-goggles-default-face'.
 
-This function returns a list - either ('blink face) or ('pulse bg)."
+This function returns a list - either ('do-blink face) or ('do-pulse bg)."
   (let ((fg (face-foreground face nil t))
         (bg (face-background face nil t)))
     (cond
      ;; pulse enabled and the face has a bg - pulse with the given face's bg
      ((and (evil-goggles--pulse-p) bg)
-      `(pulse ,bg))
+      `(do-pulse ,bg))
      ;; pulse enabled and the face has no bg or fg - pulse with the default 
face's bg
      ((and (evil-goggles--pulse-p) (null bg) (null fg))
-      `(pulse ,(face-background 'evil-goggles-default-face nil t)))
+      `(do-pulse ,(face-background 'evil-goggles-default-face nil t)))
      ;; pulse disabled or face has fg only - show the hint with given face
      ((and (null bg) (null fg))
-      `(blink evil-goggles-default-face))
+      `(do-blink evil-goggles-default-face))
      ;; else show the hint with the given face
      (t
-      `(blink ,face)))))
+      `(do-blink ,face)))))
 
 (defmacro evil-goggles--show-overlay (beg end face dur &rest body)
   "Show overlay from BEG to END with face FACE for DUR seconds.
@@ -277,7 +277,7 @@ Running code while the hint is on isn't supported."
 (defun evil-goggles--show-blocking-hint (beg end &optional force-block)
   "Show blocking hint from BEG to END.
 
-The hint will be a vertical block if `evil-this-type' is `block'. If
+The hint will be a vertical block if `evil-this-type' is `block'.  If
 FORCE-BLOCK is non-nil, the hint will always be a vertical block,
 regardless of the value of `evil-this-type'."
   (let ((dur (or evil-goggles-blocking-duration evil-goggles-duration))
@@ -351,7 +351,7 @@ which take BEG and END as their second and third arguments."
 ;;; delete
 
 (defcustom evil-goggles-enable-delete t
-  "If non-nil, enable delete support. Must be set before the mode is enabled."
+  "If non-nil, enable delete support.  Must be set before the mode is enabled."
   :type 'boolean :group 'evil-goggles)
 
 (defface evil-goggles-delete-face '((t (:inherit evil-goggles-default-face)))
@@ -371,7 +371,7 @@ BEG and END are the argumenets to the original functions."
 ;;; yank
 
 (defcustom evil-goggles-enable-yank t
-  "If non-nil, enable yank support. Must be set before the mode is enabled."
+  "If non-nil, enable yank support.  Must be set before the mode is enabled."
   :type 'boolean :group 'evil-goggles)
 
 (defface evil-goggles-yank-face '((t (:inherit evil-goggles-default-face)))
@@ -381,7 +381,7 @@ BEG and END are the argumenets to the original functions."
 ;;; change
 
 (defcustom evil-goggles-enable-change t
-  "If non-nil, enable change support. Must be set before the mode is enabled."
+  "If non-nil, enable change support.  Must be set before the mode is enabled."
   :type 'boolean :group 'evil-goggles)
 
 (defface evil-goggles-change-face '((t (:inherit evil-goggles-default-face)))
@@ -391,7 +391,7 @@ BEG and END are the argumenets to the original functions."
 ;;; indent
 
 (defcustom evil-goggles-enable-indent t
-  "If non-nil, enable indent support. Must be set before the mode is enabled."
+  "If non-nil, enable indent support.  Must be set before the mode is enabled."
   :type 'boolean :group 'evil-goggles)
 
 (defface evil-goggles-indent-face '((t (:inherit evil-goggles-default-face)))
@@ -401,7 +401,7 @@ BEG and END are the argumenets to the original functions."
 ;;; join
 
 (defcustom evil-goggles-enable-join t
-  "If non-nil, enable join support. Must be set before the mode is enabled."
+  "If non-nil, enable join support.  Must be set before the mode is enabled."
   :type 'boolean :group 'evil-goggles)
 
 (defface evil-goggles-join-face '((t (:inherit evil-goggles-default-face)))
@@ -421,7 +421,7 @@ BEG and END are the argumenets to the original functions."
 ;;; fill
 
 (defcustom evil-goggles-enable-fill-and-move t
-  "If non-nil, enable fill-and-move support. Must be set before the mode is 
enabled."
+  "If non-nil, enable fill-and-move support.  Must be set before the mode is 
enabled."
   :type 'boolean :group 'evil-goggles)
 
 (defface evil-goggles-fill-and-move-face '((t (:inherit 
evil-goggles-default-face)))
@@ -431,7 +431,7 @@ BEG and END are the argumenets to the original functions."
 ;;; shift
 
 (defcustom evil-goggles-enable-shift t
-  "If non-nil, enable shift support. Must be set before the mode is enabled."
+  "If non-nil, enable shift support.  Must be set before the mode is enabled."
   :type 'boolean :group 'evil-goggles)
 
 (defface evil-goggles-shift-face '((t (:inherit evil-goggles-default-face)))
@@ -441,7 +441,7 @@ BEG and END are the argumenets to the original functions."
 ;;; evil-surround
 
 (defcustom evil-goggles-enable-surround t
-  "If non-nil, enable surround support. Must be set before the mode is 
enabled."
+  "If non-nil, enable surround support.  Must be set before the mode is 
enabled."
   :type 'boolean :group 'evil-goggles)
 
 (defface evil-goggles-surround-face '((t (:inherit evil-goggles-default-face)))
@@ -451,7 +451,7 @@ BEG and END are the argumenets to the original functions."
 ;;; evil-commentary
 
 (defcustom evil-goggles-enable-commentary t
-  "If non-nil, enable commentary support. Must be set before the mode is 
enabled."
+  "If non-nil, enable commentary support.  Must be set before the mode is 
enabled."
   :type 'boolean :group 'evil-goggles)
 
 (defface evil-goggles-commentary-face '((t (:inherit 
evil-goggles-default-face)))
@@ -461,7 +461,7 @@ BEG and END are the argumenets to the original functions."
 ;;; evil-nerd-commenter
 
 (defcustom evil-goggles-enable-nerd-commenter t
-  "If non-nil, enable nerd-commenter support. Must be set before the mode is 
enabled."
+  "If non-nil, enable nerd-commenter support.  Must be set before the mode is 
enabled."
   :type 'boolean :group 'evil-goggles)
 
 (defface evil-goggles-nerd-commenter-face '((t (:inherit 
evil-goggles-default-face)))
@@ -471,7 +471,7 @@ BEG and END are the argumenets to the original functions."
 ;;; evil-replace-with-register
 
 (defcustom evil-goggles-enable-replace-with-register t
-  "If non-nil, enable replace with register support. Must be set before the 
mode is enabled."
+  "If non-nil, enable replace with register support.  Must be set before the 
mode is enabled."
   :type 'boolean :group 'evil-goggles)
 
 (defface evil-goggles-replace-with-register-face '((t (:inherit 
evil-goggles-default-face)))
@@ -481,7 +481,7 @@ BEG and END are the argumenets to the original functions."
 ;;; set mark
 
 (defcustom evil-goggles-enable-set-marker t
-  "If non-nil, enable replace with register support. Must be set before the 
mode is enabled."
+  "If non-nil, enable replace with register support.  Must be set before the 
mode is enabled."
   :type 'boolean :group 'evil-goggles)
 
 (defface evil-goggles-set-marker-face '((t (:inherit 
evil-goggles-default-face)))
@@ -501,7 +501,7 @@ CHAR is an argument for the advice-d function."
 ;;; record macro
 
 (defcustom evil-goggles-enable-record-macro t
-  "If non-nil, enable record macro support. Must be set before the mode is 
enabled."
+  "If non-nil, enable record macro support.  Must be set before the mode is 
enabled."
   :type 'boolean :group 'evil-goggles)
 
 (defface evil-goggles-record-macro-face '((t (:inherit 
evil-goggles-default-face)))
@@ -525,7 +525,7 @@ CHAR is an argument for the advice-d function."
 ;;; paste
 
 (defcustom evil-goggles-enable-paste t
-  "If non-nil, enable paste support. Must be set before the mode is enabled."
+  "If non-nil, enable paste support.  Must be set before the mode is enabled."
   :type 'boolean :group 'evil-goggles)
 
 (defface evil-goggles-paste-face '((t (:inherit evil-goggles-default-face)))
diff --git a/evil-tests.patch b/evil-tests.patch
new file mode 100644
index 0000000000..7bc3b76e4b
--- /dev/null
+++ b/evil-tests.patch
@@ -0,0 +1,52 @@
+diff --git a/evil-tests.el b/evil-tests.el
+index 8d10808..3fccb66 100644
+--- a/evil-tests.el
++++ b/evil-tests.el
+@@ -7602,6 +7602,7 @@ maybe we need one line more with some text\n")
+ 
+ (ert-deftest evil-test-command-window-ex ()
+   "Test command line window for ex commands"
++  (skip-unless (not noninteractive))
+   (let (evil-ex-history)
+     (evil-test-buffer
+       "[f]oo foo foo"
+@@ -7622,6 +7623,7 @@ maybe we need one line more with some text\n")
+ 
+ (ert-deftest evil-test-command-window-recursive ()
+   "Test that recursive command windows shouldn't be allowed"
++  (skip-unless (not noninteractive))
+   (let ((evil-command-window-height 0))
+     (evil-test-buffer
+       "[f]oo foo foo"
+@@ -7631,6 +7633,7 @@ maybe we need one line more with some text\n")
+ 
+ (ert-deftest evil-test-command-window-noop ()
+   "Test that executing a blank command does nothing"
++  (skip-unless (not noninteractive))
+   (evil-test-buffer
+     "[f]oo foo foo"
+     ("q:")
+@@ -7640,6 +7643,7 @@ maybe we need one line more with some text\n")
+ 
+ (ert-deftest evil-test-command-window-multiple ()
+   "Test that multiple command line windows can't be visible at the same time"
++  (skip-unless (not noninteractive))
+   (let ((evil-command-window-height 0))
+     (evil-test-buffer
+       "[f]oo foo foo"
+@@ -7660,6 +7664,7 @@ maybe we need one line more with some text\n")
+ 
+ (ert-deftest evil-test-command-window-search-history ()
+   "Test command window with forward and backward search history"
++  (skip-unless (not noninteractive))
+   (let ((evil-search-module 'isearch))
+     (evil-test-buffer
+       "[f]oo bar baz qux one two three four"
+@@ -7690,6 +7695,7 @@ maybe we need one line more with some text\n")
+ 
+ (ert-deftest evil-test-command-window-search-word ()
+   "Test command window history when searching for word under cursor"
++  (skip-unless (not noninteractive))
+   (let ((evil-search-module 'isearch))
+     (evil-test-buffer
+       "[f]oo bar foo bar foo"
diff --git a/test/elpa.el b/test/elpa.el
deleted file mode 100644
index fbc7ec9194..0000000000
--- a/test/elpa.el
+++ /dev/null
@@ -1,7 +0,0 @@
-(setq package-user-dir
-      (expand-file-name (format ".elpa/%s/elpa" emacs-version)))
-(package-initialize)
-(add-to-list 'load-path default-directory)
-(setq package-archives
-      '(("melpa" . "http://melpa.org/packages/";)
-        ("gnu" . "http://elpa.gnu.org/packages/";)))
diff --git a/test/evil-goggles-test.el b/test/evil-goggles-test.el
index 3fbf647222..9e7dafbd3f 100644
--- a/test/evil-goggles-test.el
+++ b/test/evil-goggles-test.el
@@ -39,7 +39,7 @@
        '(evil-goggles--test-face ((t (:foreground "red")))))
       (should (equal
                (evil-goggles--should-blink-or-pulse 'evil-goggles--test-face)
-               '(blink evil-goggles--test-face))))
+               '(do-blink evil-goggles--test-face))))
 
     ;; enabled pusling, use bg-only - hints should pulse with the bg color
     (progn
@@ -47,7 +47,7 @@
        '(evil-goggles--test-face ((t (:background "red")))))
       (should (equal
                (evil-goggles--should-blink-or-pulse 'evil-goggles--test-face)
-               '(pulse "red"))))
+               '(do-pulse "red"))))
 
     ;; enabled pulsing, use an invalid face (no fg, no bg) - hints should 
pulse with default face's bg
     (progn
@@ -55,7 +55,7 @@
        '(evil-goggles--test-face ((t (:underline nil)))))
       (should (equal
                (evil-goggles--should-blink-or-pulse 'evil-goggles--test-face)
-               `(pulse ,(face-background 'evil-goggles-default-face nil t))))))
+               `(do-pulse ,(face-background 'evil-goggles-default-face nil 
t))))))
 
   (let ((evil-goggles-pulse nil))
     ;; disabled pusling, use bg-only - hints shouldn't pulse, only bg
@@ -64,7 +64,7 @@
        '(evil-goggles--test-face ((t (:background "red")))))
       (should (equal
                (evil-goggles--should-blink-or-pulse 'evil-goggles--test-face)
-               '(blink evil-goggles--test-face))))
+               '(do-blink evil-goggles--test-face))))
 
     ;; disabled pusling, use fg-only - hints shouldn't pulse, only fg
     (progn
@@ -72,7 +72,7 @@
        '(evil-goggles--test-face ((t (:foreground "red")))))
       (should (equal
                (evil-goggles--should-blink-or-pulse 'evil-goggles--test-face)
-               '(blink evil-goggles--test-face))))
+               '(do-blink evil-goggles--test-face))))
 
     ;; disalbed pulsing, use an invalid face (no fg, no bg) - hints should 
blink with default face
     (progn
@@ -80,7 +80,7 @@
        '(evil-goggles--test-face ((t (:underline nil)))))
       (should (equal
                (evil-goggles--should-blink-or-pulse 'evil-goggles--test-face)
-               '(blink evil-goggles-default-face))))))
+               '(do-blink evil-goggles-default-face))))))
 
 (ert-deftest evil-goggles-test-substitute ()
   (ert-info ("Test visual substitute")
diff --git a/test/make-evil-test.el b/test/evil-tests-with-evil-goggles.el
similarity index 52%
rename from test/make-evil-test.el
rename to test/evil-tests-with-evil-goggles.el
index 1f1cb9c18f..527559a350 100644
--- a/test/make-evil-test.el
+++ b/test/evil-tests-with-evil-goggles.el
@@ -1,13 +1,8 @@
 
 (let ((current-directory (file-name-directory load-file-name)))
-  (setq evil-goggles-test-path (expand-file-name "." current-directory))
-  (setq evil-goggles-root-path (expand-file-name ".." current-directory)))
+  (setq evil-goggles-test-path (expand-file-name "." current-directory)))
 
-(add-to-list 'load-path evil-goggles-root-path)
-(add-to-list 'load-path evil-goggles-test-path)
-
-(setq load-prefer-newer t)
-(load (concat (file-name-as-directory evil-goggles-test-path) 
"evil-goggles-test.el") nil t)
+(add-to-list 'load-path evil-goggles-test-path) ;; so evil-tests can be loaded 
below
 
 (require 'cl)
 (require 'ert)
diff --git a/test/make-checkdoc.el b/test/make-checkdoc.el
deleted file mode 100644
index 1449e72f70..0000000000
--- a/test/make-checkdoc.el
+++ /dev/null
@@ -1 +0,0 @@
-(checkdoc-file "evil-goggles.el")
diff --git a/test/make-compile.el b/test/make-compile.el
deleted file mode 100644
index fe3b9961b8..0000000000
--- a/test/make-compile.el
+++ /dev/null
@@ -1,8 +0,0 @@
-;;  bail out on compilation warnings and errors
-(setq byte-compile-error-on-warn t)
-(setq byte-compile--use-old-handlers nil)
-
-;; compile *.el files
-(dolist (file (file-expand-wildcards "evil-goggles*.el"))
-  (unless (byte-compile-file file)
-    (kill-emacs 1)))
diff --git a/test/make-test.el b/test/make-test.el
deleted file mode 100644
index 9300f4cc67..0000000000
--- a/test/make-test.el
+++ /dev/null
@@ -1,12 +0,0 @@
-
-(let ((current-directory (file-name-directory load-file-name)))
-  (setq evil-goggles-test-path (expand-file-name "." current-directory))
-  (setq evil-goggles-root-path (expand-file-name ".." current-directory)))
-
-(add-to-list 'load-path evil-goggles-root-path)
-(add-to-list 'load-path evil-goggles-test-path)
-
-(setq load-prefer-newer t)
-(load (concat (file-name-as-directory evil-goggles-test-path) 
"evil-goggles-test.el") nil t)
-
-(ert-run-tests-batch-and-exit)
diff --git a/test/make-update.el b/test/make-update.el
deleted file mode 100644
index a527ada064..0000000000
--- a/test/make-update.el
+++ /dev/null
@@ -1,25 +0,0 @@
-(setq package-user-dir
-      (expand-file-name (format ".elpa/%s/elpa" emacs-version)))
-(message "installing in %s ...\n" package-user-dir)
-(package-initialize)
-(setq package-archives
-      '(("melpa" . "http://melpa.org/packages/";)
-        ("gnu" . "http://elpa.gnu.org/packages/";)))
-(package-refresh-contents)
-
-(defconst dev-packages
-  '(evil evil-test-helpers package-lint))
-
-(dolist (package dev-packages)
-  (unless (package-installed-p package)
-    (ignore-errors
-      (package-install package))))
-
-(save-window-excursion
-  (package-list-packages t)
-  (condition-case nil
-      (progn
-        (package-menu-mark-upgrades)
-        (package-menu-execute t))
-    (error
-     (message "All packages up to date"))))



reply via email to

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