Ken Manheimer [Sat, 23 Jan 2016 22:47:06 +0000 (17:47 -0500)]
multishell - Remove notes about tramp remote+sudo+homedir+sudo prob
Apparently it's due to something in my local site configuration. The
problem happens reliably in emacs started with -q, but I can't get it to
happen if emacs was started with -Q.
Unfortunately, I don't get a traceback, even with tramp-verbose=6, when
the problem occurs, only "Selecting deleted buffer", and in *Messages*,
"byte-code: Selecting deleted buffer". Nothing more happens if
debug-on-error and debug-on-signal are set. This seems to suggest that
something is swallowing the signal, yet still returning to
top-level. Elusive.
Ken Manheimer [Sat, 23 Jan 2016 01:29:53 +0000 (20:29 -0500)]
multishell - bump to 1.0.6, support primary name savehist, tweak docstrings
- Refine commentary and docstrings
- With name/path handling rectified in last commit, users can now add
assigned primary name to savehist.
- We can't just assign that, however. See code comments below
multishell-primary-name.
Ken Manheimer [Sat, 23 Jan 2016 01:25:54 +0000 (20:25 -0500)]
multishell - revamp name and path resolution for clarity
- Simplify multishell-resolve-target-name-and-path
- Fix conduct when assigned primary name is associated with a path
- Use multishell-split-entry instead of duplicating the code
- Regularize application of asterisk bracketing/unbracketing (generally)
- Post messages to *Messages* when errors occur in condition-case
wrapped hook functions, so there's an unobtrusive trail.
- "multishell-split-entry" instead of
"multishell-split-entry-name-and-tramp"
- "multishell-resolve-target-name-and-path" instead of
"multishell-derive-target-name-and-path"
Ken Manheimer [Sun, 17 Jan 2016 00:39:20 +0000 (19:39 -0500)]
multishell - flesh out history provisions, including deletion.
Users are offered the option to delete a history entry for a shell
buffer when the buffer is killed.
Note that repair of a multishell bug, so tramp homedir syntax
(`/example.com:') is now recognized, seems to expose a tramp bug. Tramp
sometimes fails to open remote shells with the homedir syntax,
especially for remote+sudo. The failure is accompanied by a "Selecting
deleted buffer" error.
Ken Manheimer [Sat, 16 Jan 2016 18:44:48 +0000 (13:44 -0500)]
multishell - recognize homedir tramp paths, and update docstring.
My original path stuff, with name after the path, inadvertently
prevented addressing the user's homedir by requiring a trailing
slash. Both the premise and the (also inadvertent) excessive residue of
that broke the homedir syntax. Fixed!
Ken Manheimer [Mon, 11 Jan 2016 20:54:38 +0000 (15:54 -0500)]
multishell - integrate names and paths, allowing for distinct completions
Currently, the completions list includes both. It would be nice to be
able to have completions candidates list just the names - easier on the
eye - but actual completion include the path (when available), so the
user can reuse and adjust.
Multishell should only be concerned with shell-mode and shell-mode
derived buffers. Clarify that, and remove obsoleted
multishell-non-interactive-process-buffers (which wasn't used, anyway -
the residual var non-interactive-process-buffers was mistakenly left in).
Ken Manheimer [Mon, 4 Jan 2016 16:09:19 +0000 (11:09 -0500)]
multishell - Change to name preceding path, rather than following.
* This will be simpler for completion on shell choices, persistence.
* We can make typing of the initial "/" be a cue to delineate a distinct field
* We may be leverage field distinction for tramp remote path completion
* ... and use editing of the fields for editing of the historical records.
Ken Manheimer [Fri, 1 Jan 2016 17:07:25 +0000 (12:07 -0500)]
poptoshell - cleanup lapsed remote connections before restarting them
Woo hoo! This seems to be vastly improving the resurrection of lapsed
connections, preventing the frequent (and uncatchable) "byte-code: Args
out of range: ..." errors. So far, completely.
Ken Manheimer [Fri, 1 Jan 2016 17:07:25 +0000 (12:07 -0500)]
poptoshell - cleanup lapsed remote connections before restarting them
Woo hoo! This seems to be vastly improving the resurrection of lapsed
connections, preventing the frequent (and uncatchable) "byte-code: Args
out of range: ..." errors. So far, completely.
Ken Manheimer [Thu, 24 Dec 2015 19:25:25 +0000 (14:25 -0500)]
poptoshell: Initial stab at workaround for tramp "Args out of range"
More than occasionally, tramp fails to reconnect to shells that were
disconnected gracelessly, with "byte-code: Args out of range:
...". Using tramp-cleanup-this-connection then retrying often works, so
let's do that.
It's hard to test this easily, so I'm checking in a preliminary version
to tweak incrementally.
Ken Manheimer [Thu, 24 Dec 2015 19:25:25 +0000 (14:25 -0500)]
poptoshell: Initial stab at workaround for tramp "Args out of range"
More than occasionally, tramp fails to reconnect to shells that were
disconnected gracelessly, with "byte-code: Args out of range:
...". Using tramp-cleanup-this-connection then retrying often works, so
let's do that.
It's hard to test this easily, so I'm checking in a preliminary version
to tweak incrementally.
Ken Manheimer [Mon, 14 Dec 2015 16:56:22 +0000 (11:56 -0500)]
Remove docstring info about persisting names across sessions.
The functionality is still there, but incomplete. Will complete in a
branch, and want to avoid disruption of people who use the incomplete
functionality, once the completed version is merged.
Ken Manheimer [Mon, 14 Dec 2015 07:54:27 +0000 (02:54 -0500)]
Persist shell-buffer name/path history!
Need to manually configure savehist - see instructions.
This is simplest implementation, and a little dicey:
* First time in session that you try to use prior session's settings,
you just get the path, not the name
* I could make an additional map between names used and paths,
* and that may be necessary, since it will be unapparent whether or
not the paths for the names have established.
* There's no way to remove entries, besides editing the history file
* Would like to implement `Meta-e' "edit current entry",
* where changing the entry is preserved
* and deleting the line then concluding removes the entry completely
* carriage return ends edit mode.