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

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

[elpa] externals/plz 12f747ccdf: Merge: v0.7.3


From: ELPA Syncer
Subject: [elpa] externals/plz 12f747ccdf: Merge: v0.7.3
Date: Sun, 31 Mar 2024 12:58:56 -0400 (EDT)

branch: externals/plz
commit 12f747ccdf95a675db26537a10a312c8be05a17b
Merge: f402bcc934 1b66fa907d
Author: Adam Porter <adam@alphapapa.net>
Commit: Adam Porter <adam@alphapapa.net>

    Merge: v0.7.3
---
 README.org |  20 +-
 plz.info   | 613 -------------------------------------------------------------
 2 files changed, 12 insertions(+), 621 deletions(-)

diff --git a/README.org b/README.org
index f5d855bc1c..481c7a1f10 100644
--- a/README.org
+++ b/README.org
@@ -2,6 +2,12 @@
 
 #+PROPERTY: LOGGING nil
 
+# NOTE: It would be preferable to put these at the bottom of the file under 
the export options heading, but it seems that "TEXINFO_DIR_CATEGORY" only works 
at the top of the file.
+#+EXPORT_FILE_NAME: plz.texi
+#+TEXINFO_DIR_CATEGORY: Emacs
+#+TEXINFO_DIR_TITLE: Plz: (plz)
+#+TEXINFO_DIR_DESC: HTTP library using Curl as a backend
+
 # Note: This readme works with the org-make-toc 
<https://github.com/alphapapa/org-make-toc> package, which automatically 
updates the table of contents.
 
 
[[http://elpa.gnu.org/packages/plz.html][file:http://elpa.gnu.org/packages/plz.svg]]
@@ -183,6 +189,11 @@ You may also clear a queue with ~plz-clear~, which cancels 
any active or queued
 
 Nothing new yet.
 
+** 0.7.3
+
+*Fixes*
++ Info manual generation on GNU ELPA.  (Also, the Info manual is no longer 
committed to Git.)
+
 ** 0.7.2
 
 *Fixes*
@@ -316,13 +327,7 @@ GPLv3
 
 ** Info export options
 
-#+TEXINFO_DIR_CATEGORY: Emacs
-#+TEXINFO_DIR_TITLE: Plz: (plz)
-#+TEXINFO_DIR_DESC: HTTP library using Curl as a backend
-
-# NOTE: We could use these, but that causes a pointless error, 
"org-compile-file: File "..README.info" wasn't produced...", so we just rename 
the files in the after-save-hook instead.
-# #+TEXINFO_FILENAME: plz.info
-# #+EXPORT_FILE_NAME: plz.texi
+# NOTE: These are moved to the top of the file.
 
 ** File-local variables
 
@@ -330,7 +335,6 @@ GPLv3
 
 # Local Variables:
 # eval: (require 'org-make-toc)
-# after-save-hook: (lambda nil (when (and (require 'ox-texinfo nil t) 
(org-texinfo-export-to-info)) (delete-file "README.texi") (rename-file 
"README.info" "plz.info" t)))
 # before-save-hook: org-make-toc
 # org-export-with-properties: ()
 # org-export-with-title: t
diff --git a/plz.info b/plz.info
deleted file mode 100644
index 7b6410e6e4..0000000000
--- a/plz.info
+++ /dev/null
@@ -1,613 +0,0 @@
-This is README.info, produced by makeinfo version 6.7 from README.texi.
-
-INFO-DIR-SECTION Emacs
-START-INFO-DIR-ENTRY
-* Plz: (plz).           HTTP library using Curl as a backend.
-END-INFO-DIR-ENTRY
-
-
-File: README.info,  Node: Top,  Next: Installation,  Up: (dir)
-
-plz.el
-******
-
-file:http://elpa.gnu.org/packages/plz.svg
-(http://elpa.gnu.org/packages/plz.html)
-
-   ‘plz’ is an HTTP library for Emacs.  It uses ‘curl’ as a backend,
-which avoids some of the issues with using Emacs’s built-in ‘url’
-library.  It supports both synchronous and asynchronous requests.  Its
-API is intended to be simple, natural, and expressive.  Its code is
-intended to be simple and well-organized.  Every feature is tested
-against httpbin (https://httpbin.org/).
-
-* Menu:
-
-* Installation::
-* Usage::
-* Changelog::
-* Credits::
-* Development::
-* License::
-
-— The Detailed Node Listing —
-
-Installation
-
-* GNU ELPA::
-* Manual::
-
-Usage
-
-* Examples::
-* Functions::
-* Queueing::
-* Tips::
-
-Changelog
-
-* 0.8-pre: 08-pre.
-* 0.7.2: 072.
-* 0.7.1: 071.
-* 0.7: 07.
-* 0.6: 06.
-* 0.5.4: 054.
-* 0.5.3: 053.
-* 0.5.2: 052.
-* 0.5.1: 051.
-* 0.5: 05.
-* 0.4: 04.
-* 0.3: 03.
-* 0.2.1: 021.
-* 0.2: 02.
-* 0.1: 01.
-
-Development
-
-* Copyright assignment::
-
-
-
-File: README.info,  Node: Installation,  Next: Usage,  Prev: Top,  Up: Top
-
-1 Installation
-**************
-
-* Menu:
-
-* GNU ELPA::
-* Manual::
-
-
-File: README.info,  Node: GNU ELPA,  Next: Manual,  Up: Installation
-
-1.1 GNU ELPA
-============
-
-‘plz’ is available in GNU ELPA (http://elpa.gnu.org/packages/plz.html).
-It may be installed in Emacs using the ‘package-install’ command.
-
-
-File: README.info,  Node: Manual,  Prev: GNU ELPA,  Up: Installation
-
-1.2 Manual
-==========
-
-‘plz’ has no dependencies other than Emacs and ‘curl’.  It’s known to
-work on Emacs 26.3 or later.  To install it manually, simply place
-‘plz.el’ in your ‘load-path’ and ‘(require 'plz)’.
-
-
-File: README.info,  Node: Usage,  Next: Changelog,  Prev: Installation,  Up: 
Top
-
-2 Usage
-*******
-
-The main public function is ‘plz’, which sends an HTTP request and
-returns either the result of the specified type (for a synchronous
-request), or the ‘curl’ process object (for asynchronous requests).  For
-asynchronous requests, callback, error-handling, and finalizer functions
-may be specified, as well as various other options.
-
-* Menu:
-
-* Examples::
-* Functions::
-* Queueing::
-* Tips::
-
-
-File: README.info,  Node: Examples,  Next: Functions,  Up: Usage
-
-2.1 Examples
-============
-
-Synchronously ‘GET’ a URL and return the response body as a decoded
-string (here, raw JSON):
-
-     (plz 'get "https://httpbin.org/user-agent";)
-
-     "{\n \"user-agent\": \"curl/7.35.0\"\n}\n"
-
-   Synchronously ‘GET’ a URL that returns a JSON object, and parse and
-return it as an alist:
-
-     (plz 'get "https://httpbin.org/get"; :as #'json-read)
-
-     ((args)
-      (headers
-       (Accept . "*/*")
-       (Accept-Encoding . "deflate, gzip")
-       (Host . "httpbin.org")
-       (User-Agent . "curl/7.35.0"))
-      (url . "https://httpbin.org/get";))
-
-   Asynchronously ‘POST’ a JSON object in the request body, then parse a
-JSON object from the response body, and call a function with the result:
-
-     (plz 'post "https://httpbin.org/post";
-       :headers '(("Content-Type" . "application/json"))
-       :body (json-encode '(("key" . "value")))
-       :as #'json-read
-       :then (lambda (alist)
-               (message "Result: %s" (alist-get 'data alist))))
-
-     Result: {"key":"value"}
-
-   Synchronously download a JPEG file, then create an Emacs image object
-from the data:
-
-     (let ((jpeg-data (plz 'get "https://httpbin.org/image/jpeg"; :as 'binary)))
-       (create-image jpeg-data nil 'data))
-
-     (image :type jpeg :data ""ÿØÿà^@^PJFIF...")
-
-
-File: README.info,  Node: Functions,  Next: Queueing,  Prev: Examples,  Up: 
Usage
-
-2.2 Functions
-=============
-
-‘plz’
-     _(method url &key headers body else finally noquery (as ’string)
-     (then ’sync) (body-type ’text) (decode t decode-s) (connect-timeout
-     plz-connect-timeout) (timeout plz-timeout))_
-
-     Request ‘METHOD’ from ‘URL’ with curl.  Return the curl process
-     object or, for a synchronous request, the selected result.
-
-     ‘HEADERS’ may be an alist of extra headers to send with the
-     request.
-
-     ‘BODY’ may be a string, a buffer, or a list like ‘(file FILENAME)’
-     to upload a file from disk.
-
-     ‘BODY-TYPE’ may be ‘text’ to send ‘BODY’ as text, or ‘binary’ to
-     send it as binary.
-
-     ‘AS’ selects the kind of result to pass to the callback function
-     ‘THEN’, or the kind of result to return for synchronous requests.
-     It may be:
-
-        • ‘buffer’ to pass the response buffer, which will be narrowed
-          to the response body and decoded according to ‘DECODE’.
-        • ‘binary’ to pass the response body as an un-decoded string.
-        • ‘string’ to pass the response body as a decoded string.
-        • ‘response’ to pass a ‘plz-response’ structure.
-        • ‘file’ to pass a temporary filename to which the response body
-          has been saved without decoding.
-        • ‘(file ~FILENAME)’ to pass ‘FILENAME’ after having saved the
-          response body to it without decoding.  ‘FILENAME’ must be a
-          non-existent file; if it exists, it will not be overwritten,
-          and an error will be signaled.
-        • A function, which is called in the response buffer with it
-          narrowed to the response body (suitable for, e.g.
-          ‘json-read’).
-
-     If ‘DECODE’ is non-nil, the response body is decoded automatically.
-     For binary content, it should be nil.  When ‘AS’ is ‘binary’,
-     ‘DECODE’ is automatically set to nil.
-
-     ‘THEN’ is a callback function, whose sole argument is selected
-     above with ‘AS’; if the request fails and no ‘ELSE’ function is
-     given (see below), the argument will be a ‘plz-error’ structure
-     describing the error.  Or ‘THEN’ may be ‘sync’ to make a
-     synchronous request, in which case the result is returned directly
-     from this function.
-
-     ‘ELSE’ is an optional callback function called when the request
-     fails (i.e.  if curl fails, or if the ‘HTTP’ response has a non-2xx
-     status code).  It is called with one argument, a ‘plz-error’
-     structure.  If ‘ELSE’ is nil, a ‘plz-curl-error’ or
-     ‘plz-http-error’ is signaled when the request fails, with a
-     ‘plz-error’ structure as the error data.  For synchronous requests,
-     this argument is ignored.
-
-     ‘NOTE’: In v0.8 of ‘plz’, only one error will be signaled:
-     ‘plz-error’.  The existing errors, ‘plz-curl-error’ and
-     ‘plz-http-error’, inherit from ‘plz-error’ to allow applications to
-     update their code while using v0.7 (i.e.  any ‘condition-case’
-     forms should now handle only ‘plz-error’, not the other two).
-
-     ‘FINALLY’ is an optional function called without argument after
-     ‘THEN’ or ‘ELSE’, as appropriate.  For synchronous requests, this
-     argument is ignored.
-
-     ‘CONNECT-TIMEOUT’ and ‘TIMEOUT’ are a number of seconds that limit
-     how long it takes to connect to a host and to receive a response
-     from a host, respectively.
-
-     ‘NOQUERY’ is passed to ‘make-process’, which see.
-
-
-File: README.info,  Node: Queueing,  Next: Tips,  Prev: Functions,  Up: Usage
-
-2.3 Queueing
-============
-
-‘plz’ provides a simple system for queueing HTTP requests.  First, make
-a ‘plz-queue’ struct by calling ‘make-plz-queue’.  Then call ‘plz-queue’
-with the struct as the first argument, and the rest of the arguments
-being the same as those passed to ‘plz’.  Then call ‘plz-run’ to run the
-queued requests.
-
-   All of the queue-related functions return the queue as their value,
-making them easy to use.  For example:
-
-     (defvar my-queue (make-plz-queue :limit 2))
-
-     (plz-run
-      (plz-queue my-queue
-        'get "https://httpbin.org/get?foo=0";
-        :then (lambda (body) (message "%s" body))))
-
-   Or:
-
-     (let ((queue (make-plz-queue :limit 2
-                                  :finally (lambda ()
-                                             (message "Queue empty."))))
-           (urls '("https://httpbin.org/get?foo=0";
-                   "https://httpbin.org/get?foo=1";)))
-       (plz-run
-        (dolist (url urls queue)
-          (plz-queue queue 'get url
-            :then (lambda (body) (message "%s" body))))))
-
-   You may also clear a queue with ‘plz-clear’, which cancels any active
-or queued requests and calls their ‘:else’ functions.  And ‘plz-length’
-returns the number of a queue’s active and queued requests.
-
-
-File: README.info,  Node: Tips,  Prev: Queueing,  Up: Usage
-
-2.4 Tips
-========
-
-   • You can customize settings in the ‘plz’ group, but this can only be
-     used to adjust a few defaults.  It’s not intended that changing or
-     binding global variables be necessary for normal operation.
-
-
-File: README.info,  Node: Changelog,  Next: Credits,  Prev: Usage,  Up: Top
-
-3 Changelog
-***********
-
-* Menu:
-
-* 0.8-pre: 08-pre.
-* 0.7.2: 072.
-* 0.7.1: 071.
-* 0.7: 07.
-* 0.6: 06.
-* 0.5.4: 054.
-* 0.5.3: 053.
-* 0.5.2: 052.
-* 0.5.1: 051.
-* 0.5: 05.
-* 0.4: 04.
-* 0.3: 03.
-* 0.2.1: 021.
-* 0.2: 02.
-* 0.1: 01.
-
-
-File: README.info,  Node: 08-pre,  Next: 072,  Up: Changelog
-
-3.1 0.8-pre
-===========
-
-Nothing new yet.
-
-
-File: README.info,  Node: 072,  Next: 071,  Prev: 08-pre,  Up: Changelog
-
-3.2 0.7.2
-=========
-
-*Fixes*
-   • Don’t delete preexisting files when downloading to a file.  (#41
-     (https://github.com/alphapapa/plz.el/pull/41).  Thanks to Joseph
-     Turner (https://github.com/josephmturner).)
-
-
-File: README.info,  Node: 071,  Next: 07,  Prev: 072,  Up: Changelog
-
-3.3 0.7.1
-=========
-
-*Fixes*
-   • Handle HTTP 303 redirects.  (Thanks to Daniel Hubmann
-     (https://github.com/hubisan) for reporting.)
-
-
-File: README.info,  Node: 07,  Next: 06,  Prev: 071,  Up: Changelog
-
-3.4 0.7
-=======
-
-*Changes*
-   • A new error signal, ‘plz-error’, is defined.  The existing signals,
-     ‘plz-curl-error’ and ‘plz-http-error’, inherit from it, so handling
-     ‘plz-error’ catches both.
-
-     *NOTE:* The existing signals, ‘plz-curl-error’ and
-     ‘plz-http-error’, are hereby deprecated, and they will be removed
-     in v0.8.  Applications should be updated while using v0.7 to only
-     expect ‘plz-error’.
-
-   *Fixes*
-   • Significant improvement in reliability by implementing failsafes
-     and workarounds for Emacs’s process-handling code.  (See #3
-     (https://github.com/alphapapa/plz.el/issues/3).)
-   • STDERR output from curl processes is not included in response
-     bodies (which sometimes happened, depending on Emacs’s internal
-     race conditions).  (Fixes #23
-     (https://github.com/alphapapa/plz.el/issues/23).)
-   • Use ‘with-local-quit’ for synchronous requests (preventing Emacs
-     from complaining sometimes).  (Fixes #26
-     (https://github.com/alphapapa/plz.el/issues/26).)
-   • Various fixes for ‘:as 'buffer’ result type: decode body when
-     appropriate; unset multibyte for binary; narrow to body; don’t kill
-     buffer prematurely.
-   • When clearing a queue, don’t try to kill finished processes.
-
-   *Internal*
-   • Response processing now happens outside the process sentinel, so
-     any errors (e.g.  in user callbacks) are not signaled from inside
-     the sentinel.  (This avoids the 2-second pause Emacs imposes in
-     such cases.)
-   • Tests run against a local instance of httpbin
-     (https://github.com/postmanlabs/httpbin) (since the ‘httpbin.org’
-     server is often overloaded).
-   • No buffer-local variables are defined anymore; process properties
-     are used instead.
-
-
-File: README.info,  Node: 06,  Next: 054,  Prev: 07,  Up: Changelog
-
-3.5 0.6
-=======
-
-*Additions*
-   • Function ‘plz’’s ‘:body’ argument now accepts a list like ‘(file
-     FILENAME)’ to upload a file from disk (by passing the filename to
-     curl, rather than reading its content into Emacs and sending it to
-     curl through the pipe).
-
-   *Fixes*
-   • Function ‘plz’’s docstring now mentions that the ‘:body’ argument
-     may also be a buffer (an intentional feature that was accidentally
-     undocumented).
-   • Handle HTTP 3xx redirects when using ‘:as 'response’.
-
-
-File: README.info,  Node: 054,  Next: 053,  Prev: 06,  Up: Changelog
-
-3.6 0.5.4
-=========
-
-*Fixes*
-   • Only run queue’s ‘finally’ function after queue is empty.  (New
-     features should not be designed and released on a Friday.)
-
-
-File: README.info,  Node: 053,  Next: 052,  Prev: 054,  Up: Changelog
-
-3.7 0.5.3
-=========
-
-*Fixes*
-   • Move new slot in ‘plz-queue’ struct to end to prevent invalid
-     byte-compiler expansions for already-compiled applications (which
-     would require them to be recompiled after upgrading ‘plz’).
-
-
-File: README.info,  Node: 052,  Next: 051,  Prev: 053,  Up: Changelog
-
-3.8 0.5.2
-=========
-
-*Fixes*
-   • When clearing a queue, only call ‘plz-queue’’s ‘finally’ function
-     when specified.
-
-
-File: README.info,  Node: 051,  Next: 05,  Prev: 052,  Up: Changelog
-
-3.9 0.5.1
-=========
-
-*Fixes*
-   • Only call ‘plz-queue’’s ‘finally’ function when specified.  (Thanks
-     to Dan Oriani (https://github.com/redchops) for reporting.)
-
-
-File: README.info,  Node: 05,  Next: 04,  Prev: 051,  Up: Changelog
-
-3.10 0.5
-========
-
-*Additions*
-   • Struct ‘plz-queue’’s ‘finally’ slot, a function called when the
-     queue is finished.
-
-
-File: README.info,  Node: 04,  Next: 03,  Prev: 05,  Up: Changelog
-
-3.11 0.4
-========
-
-*Additions*
-   • Support for HTTP ‘HEAD’ requests.  (Thanks to Inc.  for
-     sponsoring.)
-
-   *Changes*
-   • Allow sending ‘POST’ and ‘PUT’ requests without bodies.  (#16
-     (https://github.com/alphapapa/plz.el/issues/16).  Thanks to Joseph
-     Turner (https://github.com/josephmturner) for reporting.  Thanks to
-     Inc.  for sponsoring.)
-
-   *Fixes*
-   • All 2xx HTTP status codes are considered successful.  (#17
-     (https://github.com/alphapapa/plz.el/issues/17).  Thanks to Joseph
-     Turner (https://github.com/josephmturner) for reporting.  Thanks to
-     Inc.  for sponsoring.)
-   • Errors are signaled with error data correctly.
-
-   *Internal*
-   • Test suite explicitly tests with both HTTP/1.1 and HTTP/2.
-   • Test suite also tests with Emacs versions 27.2, 28.1, and 28.2.
-
-
-File: README.info,  Node: 03,  Next: 021,  Prev: 04,  Up: Changelog
-
-3.12 0.3
-========
-
-*Additions*
-   • Handle HTTP proxy headers from Curl.  (#2
-     (https://github.com/alphapapa/plz.el/issues/2).  Thanks to Alan
-     Third (https://github.com/alanthird) and Sawyer Zheng
-     (https://github.com/sawyerzheng) for reporting.)
-
-   *Fixes*
-   • Replaced words not in Ispell’s default dictionaries (so ‘checkdoc’
-     linting succeeds).
-
-
-File: README.info,  Node: 021,  Next: 02,  Prev: 03,  Up: Changelog
-
-3.13 0.2.1
-==========
-
-*Fixes*
-   • Handle when Curl process is interrupted.
-
-
-File: README.info,  Node: 02,  Next: 01,  Prev: 021,  Up: Changelog
-
-3.14 0.2
-========
-
-*Added*
-   • Simple request queueing.
-
-
-File: README.info,  Node: 01,  Prev: 02,  Up: Changelog
-
-3.15 0.1
-========
-
-Initial release.
-
-
-File: README.info,  Node: Credits,  Next: Development,  Prev: Changelog,  Up: 
Top
-
-4 Credits
-*********
-
-   • Thanks to Chris Wellons (https://github.com/skeeto), author of the
-     Elfeed (https://github.com/skeeto/elfeed) feed reader and the
-     popular blog null program (https://nullprogram.com/), for his
-     invaluable advice, review, and encouragement.
-
-
-File: README.info,  Node: Development,  Next: License,  Prev: Credits,  Up: Top
-
-5 Development
-*************
-
-Bug reports, feature requests, suggestions — _oh my_!
-
-   Note that ‘plz’ is a young library, and its only client so far is
-Ement.el (https://github.com/alphapapa/ement.el).  There are a variety
-of HTTP and ‘curl’ features it does not yet support, since they have not
-been needed by the author.  Patches are welcome, as long as they include
-passing tests.
-
-* Menu:
-
-* Copyright assignment::
-
-
-File: README.info,  Node: Copyright assignment,  Up: Development
-
-5.1 Copyright assignment
-========================
-
-This package is part of GNU Emacs (https://www.gnu.org/software/emacs/),
-being distributed in GNU ELPA (https://elpa.gnu.org/).  Contributions to
-this project must follow GNU guidelines, which means that, as with other
-parts of Emacs, patches of more than a few lines must be accompanied by
-having assigned copyright for the contribution to the FSF.  Contributors
-who wish to do so may contact emacs-devel@gnu.org <emacs-devel@gnu.org>
-to request the assignment form.
-
-
-File: README.info,  Node: License,  Prev: Development,  Up: Top
-
-6 License
-*********
-
-GPLv3
-
-
-
-Tag Table:
-Node: Top199
-Node: Installation1227
-Node: GNU ELPA1370
-Node: Manual1616
-Node: Usage1922
-Node: Examples2423
-Node: Functions3790
-Node: Queueing7487
-Node: Tips8870
-Node: Changelog9171
-Node: 08-pre9479
-Node: 0729586
-Node: 0719885
-Node: 0710098
-Node: 0611986
-Node: 05412597
-Node: 05312840
-Node: 05213156
-Node: 05113363
-Node: 0513615
-Node: 0413823
-Node: 0314731
-Node: 02115181
-Node: 0215332
-Node: 0115463
-Node: Credits15559
-Node: Development15925
-Node: Copyright assignment16439
-Node: License17027
-
-End Tag Table
-
-
-Local Variables:
-coding: utf-8
-End:



reply via email to

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