Ken Manheimer [Sun, 24 Jan 2016 22:07:27 +0000 (17:07 -0500)]
multishell - update features list, remove change log and todo
Use multishell code commentary for change log and todo, and refer to
that from here.
(The commentary has the advantage in informing people viewing the
package via the emacs package management system, while repository
visitors also have access.)
Ken Manheimer [Sun, 24 Jan 2016 22:04:17 +0000 (17:04 -0500)]
multishell - work around remote+sudo+homedir problem, tidy shell resolution
- Work around the shell/tramp mishandling of remote+sudo+homedir problem!
The work around is clean and simple, basically using high-level `cd'
API and not messing with the low-level default-directory setting.
(Turns out the problem was not in my local config. Good riddance to the
awkward failure handler!)
- Clean up code resolving the destination shell, starting to document the
decision tree in the process. See getting-to-a-shell.md in the
multishell repository, https://github.com/kenmanheimer/EmacsMultishell
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.