Thomas Fitzsimmons [Thu, 29 Oct 2015 13:54:31 +0000 (09:54 -0400)]
url-http-ntlm: Remove limit of one username and password per server
* url-http-ntlm.el: Remove comment about only supporting one
username and password. Do not make url-http-ntlm--last-args a
buffer-local variable.
(url-http-ntlm--auth-storage): Change docstring to not mention one
user and password limitation.
(url-http-ntlm--default-users): New variable.
(url-http-ntlm--ensure-user): New function.
(url-http-ntlm--get-stage): Take a url argument. Store a key in
url-http-ntlm--last-args.
(url-http-ntlm--authorisation): Take a realm argument. Use a key
when accessing url-http-ntlm--last-args.
(url-ntlm-auth): Ensure the received URL has its user slot set
before processing it.
Thomas Fitzsimmons [Wed, 28 Oct 2015 00:50:06 +0000 (20:50 -0400)]
url-http-ntlm: Prevent infinite loops
* url-http-ntlm.el (url-http-ntlm--loop-timer-counter): New
variable.
(url-http-ntlm--detect-loop): New function.
(url-ntlm-auth): Call url-http-ntlm--detect-loop before handling a
request or response.
* url-http-ntlm.el: Require versioned url-http-ntlm-parse-headers
feature when emacs-major-version is less than 25.
* url-http-ntlm-parse-headers-24.1.el,
url-http-ntlm-parse-headers-24.2.el,
url-http-ntlm-parse-headers-24.3.el,
url-http-ntlm-parse-headers-24.4.el,
url-http-ntlm-parse-headers-24.5.el: New files.
Thomas Fitzsimmons [Tue, 27 Oct 2015 02:42:52 +0000 (22:42 -0400)]
url-http-ntlm: Port to cl-lib
* url-http-ntlm.el: Require cl-lib.
(url-http-ntlm--ensure-keepalive): Use cl-assert.
(url-http-ntlm--get-stage): Use cl-destructuring-bind.
(url-http-ntlm--authorisation): Use cl-second.
(url-http-ntlm--rmssoc): Use cl-remove.
(url-ntlm-auth): Use cl-case and cl-destructuring-bind.
Thomas Fitzsimmons [Tue, 27 Oct 2015 02:23:24 +0000 (22:23 -0400)]
url-http-ntlm: Use double dash naming convention for private symbols
* url-http-ntlm.el (url-http-ntlm--auth-storage): Rename from
url-http-ntlm-auth-storage.
(url-http-ntlm-last-args): Rename from url-http-ntlm-last-args.
(url-http-ntlm--ensure-keepalive): Rename from
url-http-ntlm-ensure-keepalive.
(url-http-ntlm--clean-headers): Rename from
url-http-ntlm-clean-headers. Update private function calls.
(url-http-ntlm--get-stage): Rename from url-http-ntlm-get-stage.
Update private function calls and variable references.
(url-http-ntlm--authorisation): Rename from
url-http-ntlm-authorisation. Update private function calls and
variable references.
(url-http-ntlm--get-challenge): Rename from
url-http-ntlm-get-challenge.
(url-http-ntlm--rmssoc): Rename from url-http-ntlm-rmssoc.
(url-http-ntlm--string): Rename from url-http-ntlm-string.
(url-ntlm-auth): Update private function calls and variable
references.
Stefan Monnier [Sat, 13 Feb 2016 22:44:41 +0000 (17:44 -0500)]
* ampc/ampc.el: Fix up warnings and use cl-lib. Change maintainer
(ampc-current-playlist-mode-map): Prefer RET over <return> (so it also
works on ttys).
(ampc-tagger-mode-map): Prefer TAB over <tab> (so it also
works on ttys).
The listing recency change is necessary just in case the hash table used
for culling multishell-list happens to grow beyond the default
allocation during the culling.
Ken Manheimer [Fri, 12 Feb 2016 09:05:54 +0000 (04:05 -0500)]
multishell - Suppress trivial duplicates in completions list presentation.
The duplicates are useful in minibuffer, distinguishing active shells,
but not useful in multishell listing, where active shells are sorted
early and with "+" signs before them.
Ken Manheimer [Thu, 11 Feb 2016 06:19:39 +0000 (01:19 -0500)]
multishell - method to conclude minibuffer interaction from multishell-list
Use throw-catch facility for non-local minibuffer exit. Originally
implemented for invoking and passing control to the minibuffer-list from
the minibuffer, it proves to be much more tidy than the non-local
minibuffer exit provisions in, eg, buff-menu.
For now, the most crucial binding in this context is the
mouse-click. The keyboard cases are also handled, but generally
switching the *Completions* buffer to the target one.
Ken Manheimer [Tue, 9 Feb 2016 18:52:25 +0000 (13:52 -0500)]
multishell - roughly working draft using multishell-list for completions
Workable, need to resolve pending issues:
- depends on flet - what do i need to do about that?
- adaptation of multishell-list to purpose needs doc update, maybe rethink
- likewise hacking of multishell-list-entries
- inhibit duplicates from organized listing, preferring detailed one
- get mouse click so it ~properly concludes minibuffer activity
Ken Manheimer [Tue, 9 Feb 2016 11:02:26 +0000 (06:02 -0500)]
Rough stab at using tabulated-list-mode for minibuffer-completion-help
A few big problems with what's implemented here:
- looks like tabulated-list-mode is incongruous with temp display
operation.
- using flet is no good - it's deprecated - but cl-flet lexical scoping
doesn't have needed effect.
Ken Manheimer [Sat, 30 Jan 2016 18:30:16 +0000 (13:30 -0500)]
multishell - shake out some initial multishell-list glitches
- (Offer to) delete shell buffer, if present, when deleting an entry.
Rely on the default active-shell deletion prompting for confirmation,
supplementing with our own confirmation for inactive shell buffers.
- Set recency (numeric rank) as initial sort field, get closer to
stable sort - still needs work.
- Recompute list on any operation that affects it, and try to
preserve stability. Also needs more work.
- multishell-list.el based on tabulated-list
- refactor multishell-pop-to-shell so users can activate multishell-list
from universal-arg prompt in minibuffer, via throw/catch
- ensure pivotal multishell-name-from-entry reliability
- remove unnecessary complications from multishell-all-entries