From ebef50cfa64dc75a866a5184f0364f5da10d82c5 Mon Sep 17 00:00:00 2001 From: dickmao Date: Thu, 3 Oct 2019 15:20:50 -0400 Subject: [PATCH 1/6] close-server compiler error --- nnhackernews.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nnhackernews.el b/nnhackernews.el index b5d8b1a..8cfd638 100644 --- a/nnhackernews.el +++ b/nnhackernews.el @@ -1142,7 +1142,7 @@ Optionally provide STATIC-MAX-ITEM and STATIC-NEWSTORIES to prevent querying out (nnheader-insert-nov (nnhackernews--make-header i group))) 'nov))) -(deffoo nnhackernews-close-server (&optional server) +(deffoo nnhackernews-close-server (&optional server _defs) (nnhackernews--normalize-server) t) -- 2.34.1 From 166bd25d7beceae1d8d87daeef4dd1db20bee872 Mon Sep 17 00:00:00 2001 From: dickmao Date: Sat, 12 Oct 2019 18:43:35 -0400 Subject: [PATCH 2/6] avoid crashing in browse server one is currently unable to retrieve a killed group from browse server, unfortunately. --- nnhackernews.el | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/nnhackernews.el b/nnhackernews.el index 8cfd638..57b5acc 100644 --- a/nnhackernews.el +++ b/nnhackernews.el @@ -461,7 +461,7 @@ If GROUP classification omitted, figure it out." (deffoo nnhackernews-server-opened (&optional server) (nnhackernews--normalize-server) - t) + nnhackernews--last-item) (deffoo nnhackernews-status-message (&optional server) (nnhackernews--normalize-server) @@ -695,7 +695,9 @@ The two hashtables being reconciled are `nnhackernews-location-hashtb' and (gnus-info-set-marks info (append (assq-delete-all 'seen (gnus-info-marks info)) - (list `(seen (1 . ,num-headers))))) + (list `(seen (1 . ,num-headers)))) + t) + (gnus-info-set-method info (gnus-group-method gnus-newsgroup-name) t) (gnus-set-info gnus-newsgroup-name info))) t)) @@ -1163,6 +1165,18 @@ Optionally provide STATIC-MAX-ITEM and STATIC-NEWSTORIES to prevent querying out ,nnhackernews--group-stories))) t) +(deffoo nnhackernews-request-newgroups (_date &optional server) + (nnhackernews--normalize-server) + (with-current-buffer nntp-server-buffer + (erase-buffer) + (mapc (lambda (group) + (insert (format "%S 0 1 y\n" group))) + `(,nnhackernews--group-ask + ,nnhackernews--group-show + ,nnhackernews--group-job + ,nnhackernews--group-stories)) + t)) + (defun nnhackernews-sentinel (process event) "Wipe headers state when PROCESS dies from EVENT." (unless (string= "open" (substring event 0 4)) -- 2.34.1 From 2c2a7dbc375b7a0b96f6ded47b67afe73826c136 Mon Sep 17 00:00:00 2001 From: dickmao Date: Sat, 12 Oct 2019 19:50:35 -0400 Subject: [PATCH 3/6] move to purcell/nix --- .travis.yml | 39 ++++++++++++++------------------------- tools/package-lint.sh | 34 ++++++++++++++++++++-------------- 2 files changed, 34 insertions(+), 39 deletions(-) diff --git a/.travis.yml b/.travis.yml index a16e66e..58175e2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,12 +1,19 @@ sudo: false -language: python -dist: trusty +language: nix addons: apt: packages: - gnutls-bin - sharutils + - gnupg2 + - python-minimal + - python-setuptools + - python-pip + - python3-minimal + - python3-pip + - python3-setuptools + - dirmngr - libxml2-dev cache: @@ -26,37 +33,19 @@ env: matrix: allow_failures: - - env: EVM_EMACS=emacs-git-snapshot-travis + - env: EMACS_CI=emacs-snapshot include: - os: linux - env: EVM_EMACS=emacs-25.1 + env: EMACS_CI=emacs-25-1 PY=python PIP="${PY} -m pip install --user" - os: linux - env: EVM_EMACS=emacs-26.2 + env: EMACS_CI=emacs-26-2 PY=python3 PIP="${PY} -m pip install --user" - os: osx - language: generic - env: EVM_EMACS=emacs-25.2 TOXENV=py27 - -install: - - cp -pr $HOME/.cask . - - sh tools/install-virtualenv.sh - - | - if [ "x$TRAVIS_OS_NAME" = "xosx" ]; then - eval "$(pyenv init -)" - pyenv activate $TOXENV - fi + env: EMACS_CI=emacs-26-3 PY=python PIP="pip install" TOXENV=py27 before_script: - - sh tools/install-evm.sh - - | - if [ "x$TRAVIS_OS_NAME" = "xosx" ]; then - evm config path $HOME/.evm - else - evm config path /tmp - fi - - evm install $EVM_EMACS --use --skip + - bash <(curl https://raw.githubusercontent.com/purcell/nix-emacs-ci/master/travis-install) - emacs --version - sh tools/install-cask.sh script: - - make test-install - make test || ( ( printf "To diagnose, travis logs -i | dos2unix | sed '/^begin 644/,/^end/!d' | uudecode\n" ) && ( zip -q - tests/log/* 2>/dev/null | uuencode log.zip ) && false) diff --git a/tools/package-lint.sh b/tools/package-lint.sh index 41fbe3a..b4d7190 100644 --- a/tools/package-lint.sh +++ b/tools/package-lint.sh @@ -9,25 +9,31 @@ EMACS="${EMACS:=emacs}" INIT_PACKAGE_EL="(progn (require 'package) (push '(\"melpa\" . \"http://melpa.org/packages/\") package-archives) - (package-initialize))" + (package-initialize) + (package-refresh-contents))" +# rm -rf "$HOME"/.emacs.d/elpa/package-lint-* + +# Get mainline package-lint, then replace package-lint.el with dickmao's. +# quelpa doesn't get data/stdlib-changes.gz for whatever reason. "$EMACS" -Q -batch \ --eval "$INIT_PACKAGE_EL" \ - --eval "(unless (package-installed-p (quote quelpa)) (package-refresh-contents) (package-install (quote quelpa)))" \ - --eval "(unless (package-installed-p (quote package-lint)) (quelpa (quote (package-lint :fetcher github :repo \"dickmao/package-lint\" :branch \"datetime\"))))" - -# Byte compile, failing on byte compiler errors, or on warnings unless ignored -if [ -n "${EMACS_LINT_IGNORE+x}" ]; then - ERROR_ON_WARN=nil -else - ERROR_ON_WARN=t -fi - -BASENAME=$(basename $1) + --eval "(unless (package-installed-p (quote quelpa)) (package-install (quote quelpa)))" \ + --eval "(unless (package-installed-p (quote package-lint)) \ + (package-install (quote package-lint)) \ + (let ((quelpa-upgrade-p t)) \ + (quelpa (quote (package-lint :fetcher github :repo \"dickmao/package-lint\" :branch \"datetime\"))) \ + (let ((dir (file-name-directory (locate-library \"package-lint\")))) \ + (delete-file (expand-file-name \"package-lint.elc\" dir)) \ + (mapc (lambda (x) (princ (format \"%s\n\" x))) (directory-files (expand-file-name \"package-lint\" quelpa-build-dir))) \ + (copy-file (expand-file-name \"package-lint/package-lint.el\" \ + quelpa-build-dir) (expand-file-name \"package-lint.el\" dir) + t))))" +BASENAME=$(basename "$1") "$EMACS" -Q -batch \ --eval "$INIT_PACKAGE_EL" \ -l package-lint.el \ - --visit $1 \ + --visit "$1" \ --eval "(checkdoc-eval-current-buffer)" \ --eval "(princ (with-current-buffer checkdoc-diagnostic-buffer (buffer-string)))" \ 2>&1 | egrep -a "^$BASENAME:" | egrep -v "Messages should start" && [ -n "${EMACS_LINT_IGNORE+x}" ] @@ -42,4 +48,4 @@ BASENAME=$(basename $1) --eval "$INIT_PACKAGE_EL" \ -l package-lint.el \ -f package-lint-batch-and-exit \ - $1 || [ -n "${EMACS_LINT_IGNORE+x}" ] + "$1" || [ -n "${EMACS_LINT_IGNORE+x}" ] -- 2.34.1 From 514022ff45d2d51e519afbbd419aebac151dbf78 Mon Sep 17 00:00:00 2001 From: dickmao Date: Sat, 12 Oct 2019 20:57:32 -0400 Subject: [PATCH 4/6] package-lint patching redux quelpa gymnastics aren't going to cut it. Just replace pertinent file with a curl retrieval. --- tools/package-lint.sh | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/tools/package-lint.sh b/tools/package-lint.sh index b4d7190..170bcb8 100644 --- a/tools/package-lint.sh +++ b/tools/package-lint.sh @@ -16,19 +16,15 @@ INIT_PACKAGE_EL="(progn # Get mainline package-lint, then replace package-lint.el with dickmao's. # quelpa doesn't get data/stdlib-changes.gz for whatever reason. +curl -OskL https://raw.githubusercontent.com/dickmao/package-lint/datetime/package-lint.el "$EMACS" -Q -batch \ --eval "$INIT_PACKAGE_EL" \ - --eval "(unless (package-installed-p (quote quelpa)) (package-install (quote quelpa)))" \ - --eval "(unless (package-installed-p (quote package-lint)) \ - (package-install (quote package-lint)) \ - (let ((quelpa-upgrade-p t)) \ - (quelpa (quote (package-lint :fetcher github :repo \"dickmao/package-lint\" :branch \"datetime\"))) \ - (let ((dir (file-name-directory (locate-library \"package-lint\")))) \ - (delete-file (expand-file-name \"package-lint.elc\" dir)) \ - (mapc (lambda (x) (princ (format \"%s\n\" x))) (directory-files (expand-file-name \"package-lint\" quelpa-build-dir))) \ - (copy-file (expand-file-name \"package-lint/package-lint.el\" \ - quelpa-build-dir) (expand-file-name \"package-lint.el\" dir) - t))))" + --eval "(package-install (quote package-lint))" \ + --eval "(let ((dir (file-name-directory (locate-library \"package-lint\")))) \ + (delete-file (expand-file-name \"package-lint.elc\" dir)) \ + (copy-file (expand-file-name \"package-lint.el\" \ + default-directory) (expand-file-name \"package-lint.el\" dir) t))" + BASENAME=$(basename "$1") "$EMACS" -Q -batch \ --eval "$INIT_PACKAGE_EL" \ -- 2.34.1 From 065f6f92c23229f7a655f88c0b3713636ad0d588 Mon Sep 17 00:00:00 2001 From: dickmao Date: Sat, 12 Oct 2019 21:10:12 -0400 Subject: [PATCH 5/6] put the curled file into /tmp --- tools/package-lint.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/package-lint.sh b/tools/package-lint.sh index 170bcb8..e01a451 100644 --- a/tools/package-lint.sh +++ b/tools/package-lint.sh @@ -16,14 +16,14 @@ INIT_PACKAGE_EL="(progn # Get mainline package-lint, then replace package-lint.el with dickmao's. # quelpa doesn't get data/stdlib-changes.gz for whatever reason. -curl -OskL https://raw.githubusercontent.com/dickmao/package-lint/datetime/package-lint.el +( cd /tmp ; curl -OskL https://raw.githubusercontent.com/dickmao/package-lint/datetime/package-lint.el ) "$EMACS" -Q -batch \ --eval "$INIT_PACKAGE_EL" \ --eval "(package-install (quote package-lint))" \ --eval "(let ((dir (file-name-directory (locate-library \"package-lint\")))) \ (delete-file (expand-file-name \"package-lint.elc\" dir)) \ (copy-file (expand-file-name \"package-lint.el\" \ - default-directory) (expand-file-name \"package-lint.el\" dir) t))" + \"/tmp\") (expand-file-name \"package-lint.el\" dir) t))" BASENAME=$(basename "$1") "$EMACS" -Q -batch \ -- 2.34.1 From 1e582fe7ce766b7004daebf9a4fd4f436db33eed Mon Sep 17 00:00:00 2001 From: dickmao Date: Sat, 12 Oct 2019 21:14:08 -0400 Subject: [PATCH 6/6] ignore-errors delete-file --- tools/package-lint.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/package-lint.sh b/tools/package-lint.sh index e01a451..c8f2af1 100644 --- a/tools/package-lint.sh +++ b/tools/package-lint.sh @@ -1,4 +1,4 @@ -#!/bin/sh -e +#!/bin/sh -ex # The following is a derivative work of # https://github.com/purcell/package-lint @@ -21,7 +21,7 @@ INIT_PACKAGE_EL="(progn --eval "$INIT_PACKAGE_EL" \ --eval "(package-install (quote package-lint))" \ --eval "(let ((dir (file-name-directory (locate-library \"package-lint\")))) \ - (delete-file (expand-file-name \"package-lint.elc\" dir)) \ + (ignore-errors (delete-file (expand-file-name \"package-lint.elc\" dir))) \ (copy-file (expand-file-name \"package-lint.el\" \ \"/tmp\") (expand-file-name \"package-lint.el\" dir) t))" -- 2.34.1