chiark / gitweb /
profile
6 years agodot/emacs-calc: Prefer lowercase `k' for kilobytes and kilobits.
Mark Wooding [Thu, 15 Mar 2018 21:01:51 +0000 (21:01 +0000)]
dot/emacs-calc: Prefer lowercase `k' for kilobytes and kilobits.

Include both for sanity's sake.

6 years agodot/emacs: Add a keybinding for `mdw-set-frame-width'.
Mark Wooding [Fri, 9 Mar 2018 00:16:06 +0000 (00:16 +0000)]
dot/emacs: Add a keybinding for `mdw-set-frame-width'.

6 years agodot/ipython-config.py: Hedge against the necessary modules not being there.
Mark Wooding [Fri, 9 Mar 2018 00:15:41 +0000 (00:15 +0000)]
dot/ipython-config.py: Hedge against the necessary modules not being there.

6 years agoel/dot-emacs.el: Abstract out the frame column-width logic.
Mark Wooding [Fri, 9 Mar 2018 00:14:49 +0000 (00:14 +0000)]
el/dot-emacs.el: Abstract out the frame column-width logic.

Now shared between `mdw-divvy-window' and `mdw-set-frame-width'.

6 years agodot/emacs: Add molly-guard against quitting long-term Emacsen.
Mark Wooding [Wed, 7 Mar 2018 18:35:21 +0000 (18:35 +0000)]
dot/emacs: Add molly-guard against quitting long-term Emacsen.

6 years agodot/inputrc: Wow, readline can do bracketd-paste.
Mark Wooding [Wed, 7 Mar 2018 18:35:00 +0000 (18:35 +0000)]
dot/inputrc: Wow, readline can do bracketd-paste.

6 years agodot/emacs: Inhibit autoresponses from Exchange.
Mark Wooding [Tue, 27 Feb 2018 12:31:35 +0000 (12:31 +0000)]
dot/emacs: Inhibit autoresponses from Exchange.

See https://msdn.microsoft.com/en-us/library/ee219609(v=exchg.80).aspx
for the details.  For now, inhibit delivery reports, read and non-read
notifications, and out-of-office notifications.

And there was much rejoicing.

6 years agodot/emacs: Fix paragraph comment style.
Mark Wooding [Tue, 27 Feb 2018 12:30:39 +0000 (12:30 +0000)]
dot/emacs: Fix paragraph comment style.

This one stayed for a long time.

6 years agodot/gitconfig.in: Follow files in `git log' automatically.
Mark Wooding [Wed, 24 Jan 2018 11:23:42 +0000 (11:23 +0000)]
dot/gitconfig.in: Follow files in `git log' automatically.

Why wouldn't you want this?

6 years agodot/mykermrc.in: Add a macro for talking to an Arduino-ish USB monitor port.
Mark Wooding [Wed, 24 Jan 2018 11:22:53 +0000 (11:22 +0000)]
dot/mykermrc.in: Add a macro for talking to an Arduino-ish USB monitor port.

Such things have rather transient serial devices which need to be
reopened every time.

6 years agoMakefile: Collect the correct dependencies for `DOTSUBST' files.
Mark Wooding [Wed, 24 Jan 2018 11:22:10 +0000 (11:22 +0000)]
Makefile: Collect the correct dependencies for `DOTSUBST' files.

6 years agobin/play-rawk: Import Tk hack for listening to my DisOrder Rawk stream.
Mark Wooding [Wed, 29 Nov 2017 20:21:58 +0000 (20:21 +0000)]
bin/play-rawk: Import Tk hack for listening to my DisOrder Rawk stream.

6 years agobin/un-backslashify-selection: Fix for newer `pterm'.
Mark Wooding [Wed, 29 Nov 2017 14:42:41 +0000 (14:42 +0000)]
bin/un-backslashify-selection: Fix for newer `pterm'.

It seems that `pterm' is trying to be more intelligent about newline
handling.  The result is that when you select a number of lines in an
Emacs ERC buffer, sometimes the final `\' of a line isn't actually
followed by a newline.

Tweak the seddery to cope with this.  In particular, zap spaces
following a `\' along with the `\' itself.

6 years agoel/dot-emacs.el: Hack Gnus to cope with IMAP literals properly.
Mark Wooding [Wed, 22 Nov 2017 18:57:45 +0000 (18:57 +0000)]
el/dot-emacs.el: Hack Gnus to cope with IMAP literals properly.

The bug manifests when Dovecot encounters a MIME-part header of the form

Content-Description:
BLAH...

Gnus requests `BODYSTRUCTURE' as part of its `FETCH' command.  In the
specific case shown above, Dovecot encodes the description using IMAP
`literal' quoting, as

{LEN}

BLAH...

(The first newline is part of the literal syntax; and the second is part
of the header data.  Actually, the first newline is an IETF-style
carriage-return/line-feed pair, and the second is a bare linefeed, but
that doesn't matter here.)

Gnus has a loop which converts such strings into plain double-quoted
strings, but it can't cope with two consecutive such strings.
Specifically, it ends up with

... " BLAH"| {LEN} ...

with point at the `|', but expects to find at least two characters
before the next `{LEN}'.  Hacky fix: move back by one place before
resuming the search.

Much worse is the need to include the entire function here so that I can
patch it just a little.

6 years agoel/dot-emacs.el: Hack Org mode package list.
Mark Wooding [Wed, 22 Nov 2017 18:57:13 +0000 (18:57 +0000)]
el/dot-emacs.el: Hack Org mode package list.

Specifically, remove `amsmath', because it plays badly with my standard
load-out.

6 years agoel/dot-emacs.el: Register `strayman' with newer-style Org mode.
Mark Wooding [Wed, 22 Nov 2017 18:56:08 +0000 (18:56 +0000)]
el/dot-emacs.el: Register `strayman' with newer-style Org mode.

The list of classes has changed name (grrr...), though fortunately the
data structure hasn't changed.

6 years agoel/dot-emacs.el: Remove `fontenc' from the `strayman' preamble.
Mark Wooding [Wed, 22 Nov 2017 18:55:02 +0000 (18:55 +0000)]
el/dot-emacs.el: Remove `fontenc' from the `strayman' preamble.

It's part of Org mode's default list anyway.

6 years agoel/dot-emacs.el: Fix bogus indentation.
Mark Wooding [Wed, 22 Nov 2017 18:53:59 +0000 (18:53 +0000)]
el/dot-emacs.el: Fix bogus indentation.

6 years agodot/emacs, dot/profile, el/dot-emacs.el: Moving back to Chromium.
Mark Wooding [Tue, 21 Nov 2017 14:21:44 +0000 (14:21 +0000)]
dot/emacs, dot/profile, el/dot-emacs.el: Moving back to Chromium.

Firefox is annoyingly slow.  Also, it's abolishing its old addon API, so
its rich ecosystem of powerful extensions, which was its main advantage,
is doing to disappear.  Chromium has become slightly less infuriating in
the meantime.

6 years agodot/zshrc: Inhibit line editing when terminal is `dumb'.
Mark Wooding [Thu, 16 Nov 2017 12:29:35 +0000 (12:29 +0000)]
dot/zshrc: Inhibit line editing when terminal is `dumb'.

6 years agodot/shell-rc: If terminal is `dumb' then use vanilla prompts.
Mark Wooding [Thu, 16 Nov 2017 12:25:12 +0000 (12:25 +0000)]
dot/shell-rc: If terminal is `dumb' then use vanilla prompts.

This avoids confusing Emacs's `TRAMP' facility.

6 years agodot/zshrc: Fix behaviour of M-l.
Mark Wooding [Thu, 16 Nov 2017 12:24:45 +0000 (12:24 +0000)]
dot/zshrc: Fix behaviour of M-l.

6 years agodot/gtk3-settings.ini: Inhibit ridiculous fine-tuning scrollbar behaviour.
Mark Wooding [Thu, 16 Nov 2017 12:24:02 +0000 (12:24 +0000)]
dot/gtk3-settings.ini: Inhibit ridiculous fine-tuning scrollbar behaviour.

This is a horrid kludge.

6 years agodot/emacs: Fix the integration of MuPDF.
Mark Wooding [Mon, 9 Oct 2017 11:27:38 +0000 (12:27 +0100)]
dot/emacs: Fix the integration of MuPDF.

6 years agoel/dot-emacs.el: Fix AUCTeX filling.
Mark Wooding [Mon, 9 Oct 2017 11:26:45 +0000 (12:26 +0100)]
el/dot-emacs.el: Fix AUCTeX filling.

Don't insert random spaces after comment delimiters.  Don't try to keep
equations on a single line.

6 years agoel/dot-emacs.el: Use advice to hack the fill prefix.
Mark Wooding [Mon, 9 Oct 2017 11:25:52 +0000 (12:25 +0100)]
el/dot-emacs.el: Use advice to hack the fill prefix.

The old thing with `fset' was awful, and presumably dates back to before
I knew about advice.

6 years agoel/dot-emacs.el: Fix incorrect indentation.
Mark Wooding [Mon, 9 Oct 2017 11:23:31 +0000 (12:23 +0100)]
el/dot-emacs.el: Fix incorrect indentation.

No idea how this ended up wrong.  Whitespace changes only.

6 years agoel/dot-emacs.el: Twiddle Magit blame heading faces.
Mark Wooding [Mon, 2 Oct 2017 11:48:07 +0000 (12:48 +0100)]
el/dot-emacs.el: Twiddle Magit blame heading faces.

Firstly, don't pick up face weight and slant from the surrounding text.
Secondly, highlight the parts of the heading in different ways.

6 years agodot/emacs: Don't override background colour of terminals.
Mark Wooding [Sat, 30 Sep 2017 12:56:05 +0000 (13:56 +0100)]
dot/emacs: Don't override background colour of terminals.

6 years agodot/lftp-rc: Turn on moar TLS.
Mark Wooding [Fri, 22 Sep 2017 10:43:38 +0000 (11:43 +0100)]
dot/lftp-rc: Turn on moar TLS.

I hadn't covered data connections before, which was a mistake.  Fix it.

6 years agodot/lftp-rc: Configuration for `lftp'.
Mark Wooding [Fri, 22 Sep 2017 10:31:08 +0000 (11:31 +0100)]
dot/lftp-rc: Configuration for `lftp'.

Pretty minimal: turn on TLS support where possible.  In particular,
telecaster is now running a full-featured TLS-enabled non-FTP server.

6 years agodot/zshrc: Sink completion setup.
Mark Wooding [Fri, 22 Sep 2017 10:30:03 +0000 (11:30 +0100)]
dot/zshrc: Sink completion setup.

Not quite sure why I did this, but I found it amid other wreckage on
crybaby.

6 years agodot/zshrc: Remove spurious blank line.
Mark Wooding [Fri, 22 Sep 2017 10:28:56 +0000 (11:28 +0100)]
dot/zshrc: Remove spurious blank line.

6 years agobin/git-copyright-dates: Pass arguments on to `git log'.
Mark Wooding [Fri, 22 Sep 2017 10:27:48 +0000 (11:27 +0100)]
bin/git-copyright-dates: Pass arguments on to `git log'.

This allows determining the copyright dates for subportions of a project.

6 years agodot/shell-rc: Only run tmpdir(1) if we actually found it.
Mark Wooding [Wed, 20 Sep 2017 15:27:44 +0000 (16:27 +0100)]
dot/shell-rc: Only run tmpdir(1) if we actually found it.

6 years agodot/shell-rc: Fix missing `;;' in `case'.
Mark Wooding [Wed, 20 Sep 2017 15:27:05 +0000 (16:27 +0100)]
dot/shell-rc: Fix missing `;;' in `case'.

6 years agodot/shell-rc: Throw `~/bin/' into the PATH if it's not there.
Mark Wooding [Wed, 20 Sep 2017 15:26:13 +0000 (16:26 +0100)]
dot/shell-rc: Throw `~/bin/' into the PATH if it's not there.

May make it easier to find tmpdir(1).

6 years agodot/shell-rc: Sink finding temporary directory.
Mark Wooding [Wed, 20 Sep 2017 15:25:20 +0000 (16:25 +0100)]
dot/shell-rc: Sink finding temporary directory.

We don't need this during the main body of the file.

6 years agoel/dot-emacs.el: Turn on `smerge-mode' if we see conflict markers.
Mark Wooding [Wed, 20 Sep 2017 15:07:23 +0000 (16:07 +0100)]
el/dot-emacs.el: Turn on `smerge-mode' if we see conflict markers.

This seems like generally a good thing.

6 years agodot/putty-defaults: Use SSH by default.
Mark Wooding [Tue, 19 Sep 2017 16:26:31 +0000 (17:26 +0100)]
dot/putty-defaults: Use SSH by default.

This is mostly for the benefit of `plink'.

6 years agodot/putty-defaults: Include `rsa' key exchange; but don't like it.
Mark Wooding [Tue, 19 Sep 2017 16:26:02 +0000 (17:26 +0100)]
dot/putty-defaults: Include `rsa' key exchange; but don't like it.

6 years agodot/putty-defaults: Include new shiny SSH settings.
Mark Wooding [Tue, 19 Sep 2017 16:26:20 +0000 (17:26 +0100)]
dot/putty-defaults: Include new shiny SSH settings.

6 years agodot/putty-defaults: Track font-name preference label changes.
Mark Wooding [Tue, 19 Sep 2017 16:25:31 +0000 (17:25 +0100)]
dot/putty-defaults: Track font-name preference label changes.

6 years agodot/putty-defaults: Express the font name in a more modern way.
Mark Wooding [Tue, 19 Sep 2017 16:25:01 +0000 (17:25 +0100)]
dot/putty-defaults: Express the font name in a more modern way.

6 years agodot/putty-defaults: PuTTY wants to sort the `TerminalModes' line.
Mark Wooding [Tue, 19 Sep 2017 16:16:25 +0000 (17:16 +0100)]
dot/putty-defaults: PuTTY wants to sort the `TerminalModes' line.

6 years agodot/Xdefaults: Enable `sendevents' for Xterm.
Mark Wooding [Tue, 19 Sep 2017 16:11:45 +0000 (17:11 +0100)]
dot/Xdefaults: Enable `sendevents' for Xterm.

These are used by `xduplic-copier', which is awesome.  Repeat after me:
the X server does not implement a security boundary.

6 years agoMakefile: Link in shell-specific logout functionality.
Mark Wooding [Tue, 19 Sep 2017 16:11:15 +0000 (17:11 +0100)]
Makefile: Link in shell-specific logout functionality.

6 years agoel/dot-emacs.el: New function to make Emacs frames a sensible width.
Mark Wooding [Sat, 2 Sep 2017 14:17:42 +0000 (15:17 +0100)]
el/dot-emacs.el: New function to make Emacs frames a sensible width.

6 years agobin/mdw-sbuild: Don't require build-deps to make the source package.
Mark Wooding [Wed, 16 Aug 2017 01:59:25 +0000 (02:59 +0100)]
bin/mdw-sbuild: Don't require build-deps to make the source package.

6 years agobin/git-copyright-dates: New script to work out copyright date lists.
Mark Wooding [Tue, 15 Aug 2017 13:25:14 +0000 (14:25 +0100)]
bin/git-copyright-dates: New script to work out copyright date lists.

6 years agodot/gitconfig.in: Map author names through `.mailmap' if available.
Mark Wooding [Tue, 15 Aug 2017 13:24:35 +0000 (14:24 +0100)]
dot/gitconfig.in: Map author names through `.mailmap' if available.

I can use this to fix the old CVS-generated names.

6 years agoMakefile: Only set up `bracketed-paste' on Emacs 24.3 or later.
Mark Wooding [Mon, 14 Aug 2017 17:14:54 +0000 (18:14 +0100)]
Makefile: Only set up `bracketed-paste' on Emacs 24.3 or later.

It depends on `cl-macs', which only became its own proper library in
24.2.90.  The tricky part was the new machinery to discover the Emacs
version in detail.

6 years agoMakefile: Contemplate the horrific possibility of not having Emacs.
Mark Wooding [Mon, 14 Aug 2017 17:14:27 +0000 (18:14 +0100)]
Makefile: Contemplate the horrific possibility of not having Emacs.

6 years agobin/mdw-build, bin/mdw-sbuild, bin/mdw-sbuild-server: Additional packages.
Mark Wooding [Sun, 13 Aug 2017 17:36:51 +0000 (18:36 +0100)]
bin/mdw-build, bin/mdw-sbuild, bin/mdw-sbuild-server: Additional packages.

Support supplying additional packages to the builder, in
`dist-BUILD.pkgs'.  Release builds don't do this, for obvious reasons.

There's an annoying fiddle where we have to separate out the supplied
packages into per-architecture sets because sbuild is too stupid to do
this for itself and ends up using the wrong architecture.

6 years agomdw-sbuild-server: Fix commentary typo.
Mark Wooding [Sun, 13 Aug 2017 17:36:31 +0000 (18:36 +0100)]
mdw-sbuild-server: Fix commentary typo.

6 years agobin/mdw-sbuild-server: Keep track of the target CPU architectures.
Mark Wooding [Sun, 13 Aug 2017 17:36:04 +0000 (18:36 +0100)]
bin/mdw-sbuild-server: Keep track of the target CPU architectures.

Nothing needs this yet, but it'll be handy soon.

6 years agobin/mdw-build: Refactor setting options to `mdw-sbuild'.
Mark Wooding [Sun, 13 Aug 2017 17:34:26 +0000 (18:34 +0100)]
bin/mdw-build: Refactor setting options to `mdw-sbuild'.

This is going to be more complicated soon, so think about the options in
a pre-pass.

6 years agomdw/build: Keep track of the original source directory in `$toppath'.
Mark Wooding [Sun, 13 Aug 2017 17:33:36 +0000 (18:33 +0100)]
mdw/build: Keep track of the original source directory in `$toppath'.

6 years agodot/inputrc: Make C-u delete the whole line.
Mark Wooding [Sun, 13 Aug 2017 13:49:19 +0000 (14:49 +0100)]
dot/inputrc: Make C-u delete the whole line.

Not just the portion between the start of the line and point.  And there
was much rejoicing.

6 years agoMakefile: Byte-compile Emacs Lisp files silently.
Mark Wooding [Sun, 13 Aug 2017 03:50:44 +0000 (04:50 +0100)]
Makefile: Byte-compile Emacs Lisp files silently.

Unless they fail, in which case print the captured log.

6 years agoMakefile: Fix a stupid typo.
Mark Wooding [Sun, 13 Aug 2017 03:32:36 +0000 (04:32 +0100)]
Makefile: Fix a stupid typo.

6 years agoMakefile: Introduce dependencies between Emacs Lisp files.
Mark Wooding [Sun, 13 Aug 2017 03:31:47 +0000 (04:31 +0100)]
Makefile: Introduce dependencies between Emacs Lisp files.

Mention that `dot-emacs.el' depends on `make-regexp.el' so that we don't
try compiling things in the wrong order.

6 years agoMakefile: Don't write `.el' explicitly on all of the Emacs Lisp names.
Mark Wooding [Sun, 13 Aug 2017 03:25:14 +0000 (04:25 +0100)]
Makefile: Don't write `.el' explicitly on all of the Emacs Lisp names.

Some parts of the makefile need to talk about filenames, but don't do
that in the rest.

6 years agoUse a proper makefile rather than the `setup' script.
Mark Wooding [Sun, 13 Aug 2017 00:13:54 +0000 (01:13 +0100)]
Use a proper makefile rather than the `setup' script.

And there was rejoicing.  Surprisingly, the makefile is slightly shorter
than the script used to be, but all of the functionality is there.

Things are, unsurprisingly, organized a little differently.  I can
gather definitions together thematically, as opposed to grouping
according to the technicalities of installation.  The path hacks --
well, only the ssh one, because there aren't any others -- have moved
under bin/ now, because that means I can use the same machinery as the
other script links.

The makefile is also easier to tweak its behaviour to cope with strange
situations.  So that's nice.

6 years agodot/inputrc: Miscellaneous tweaks I didn't know about before.
Mark Wooding [Fri, 11 Aug 2017 12:49:42 +0000 (13:49 +0100)]
dot/inputrc: Miscellaneous tweaks I didn't know about before.

  * Don't ding the bell for completion or cursor movement out-of-bounds.

  * Highlight completed filenames using the prevailing ls(1)
    colours.  (But continue not highlighting the existing prefix.)

  * Do the bracketed-paste thing to make mis-aimed pastes less
    dangerous.  (This may also cause some annoyance, but I think I'm
    willing to tolerate that for the extra safety.)

  * Use Readline macros to bind M-SPC to a simulacrum of `just-one-
    space'.  The documentation of Readline macros is rather unclear
    about which level the macro characters are inserted.  It turns out
    that they're keyboard macros.

6 years agodot/zshrc: Inhibit flow control (XON/XOFF) while shell is reading input.
Mark Wooding [Fri, 11 Aug 2017 12:48:22 +0000 (13:48 +0100)]
dot/zshrc: Inhibit flow control (XON/XOFF) while shell is reading input.

Behaviour while some child process group is running is unchanged.

6 years agobin/mdw-sbuild-server: Accept cross-build specs SUITE-TARGET/HOST.
Mark Wooding [Wed, 9 Aug 2017 21:52:57 +0000 (22:52 +0100)]
bin/mdw-sbuild-server: Accept cross-build specs SUITE-TARGET/HOST.

That is, build for SUITE running on TARGET architecture, using a given
HOST.  This requires multiarch magic, and is unlikely to work well on
old SUITEs.

6 years agodot/zshenv, setup: Arrange to run the profile code after SSH.
Mark Wooding [Wed, 9 Aug 2017 19:47:16 +0000 (20:47 +0100)]
dot/zshenv, setup: Arrange to run the profile code after SSH.

This way, incoming SSH connections get the benefit of the proper `$PATH'
and so on.

6 years agodot/bashrc: Rename the guard variable back to `__mdw_bashrc'.
Mark Wooding [Wed, 9 Aug 2017 19:46:16 +0000 (20:46 +0100)]
dot/bashrc: Rename the guard variable back to `__mdw_bashrc'.

I think I thought it was going to move with the common definitions, but
it didn't.

Also, sneakily, set the dummy value to `t'.

6 years agoel/dot-emacs.el: Don't prompt to save other buffers on WIP save.
Mark Wooding [Wed, 9 Aug 2017 09:55:55 +0000 (10:55 +0100)]
el/dot-emacs.el: Don't prompt to save other buffers on WIP save.

I have `magit-wip-after-save-mode' on, to save my changes into a magic
Git branch while I'm working.  This stimulates a commit on each save,
and Magit is assiduous in asking whether I want to save other buffers
visiting files tracked by the project.  I don't -- and the confirmation
prompt discombobulates me every time it appears.  Tell it this by
advising `magit-wip-commit-buffer-file' appropriately.

6 years agodot/ercrc.el: Move loading local stuff to the end.
Mark Wooding [Wed, 23 Mar 2016 10:32:22 +0000 (10:32 +0000)]
dot/ercrc.el: Move loading local stuff to the end.

Load `local' after `auth'.  I generally expect `auth' to be copied but
not modified, and `local' may want to override its settings, e.g., to
prevent auto-greeting bots and suchlike.

6 years agodot/ercrc.el: This is the modern way to configure autojoin.
Mark Wooding [Wed, 23 Mar 2016 10:31:29 +0000 (10:31 +0000)]
dot/ercrc.el: This is the modern way to configure autojoin.

It's on by default, it seems, but just to make sure...

6 years agodot/ercrc.el: Remove IRC servers I can't talk to any more.
Mark Wooding [Wed, 23 Mar 2016 10:30:49 +0000 (10:30 +0000)]
dot/ercrc.el: Remove IRC servers I can't talk to any more.

6 years agodot/infokey: Configure the standalone Info reader a bit.
Mark Wooding [Tue, 8 Aug 2017 23:32:03 +0000 (00:32 +0100)]
dot/infokey: Configure the standalone Info reader a bit.

6 years agodot/profile: Install some path hacks by default at login time.
Mark Wooding [Tue, 8 Aug 2017 22:59:35 +0000 (23:59 +0100)]
dot/profile: Install some path hacks by default at login time.

This way they'll also be picked up by Emacs.  Which is nice.

6 years agodot/shell-rc: Get user name from id(1) if it's not in the environment.
Mark Wooding [Tue, 8 Aug 2017 22:59:02 +0000 (23:59 +0100)]
dot/shell-rc: Get user name from id(1) if it's not in the environment.

6 years agoel/dot-emacs.el: Fix bungled `LD_PRELOAD' hack removal in Eshell.
Mark Wooding [Tue, 8 Aug 2017 22:25:11 +0000 (23:25 +0100)]
el/dot-emacs.el: Fix bungled `LD_PRELOAD' hack removal in Eshell.

6 years agodot/shrc: Put working directory into plain-sh prompts.
Mark Wooding [Tue, 8 Aug 2017 16:50:36 +0000 (17:50 +0100)]
dot/shrc: Put working directory into plain-sh prompts.

Apparently dash does process substitution on PS1.  Yay.

6 years agodot/bashrc, dot/shell-rc: Set TMPDIR as common per-shell behaviour.
Mark Wooding [Tue, 8 Aug 2017 16:39:01 +0000 (17:39 +0100)]
dot/bashrc, dot/shell-rc: Set TMPDIR as common per-shell behaviour.

This turns out to be necessary to not have pterm forget the temporary
directory, so make it common behaviour.

6 years agodot/zshrc: Tweak history handling.
Mark Wooding [Tue, 8 Aug 2017 00:50:58 +0000 (01:50 +0100)]
dot/zshrc: Tweak history handling.

Keep shell histories synchronized.  Elide duplicate entries.

6 years agodot/putty-defaults: Try a blinking bar cursor for size.
Mark Wooding [Tue, 8 Aug 2017 00:19:20 +0000 (01:19 +0100)]
dot/putty-defaults: Try a blinking bar cursor for size.

I obviously like it in Emacs, but terminals are a bit different.

6 years agodot/zshrc: Make `pound-insert' (M-#) work.
Mark Wooding [Tue, 8 Aug 2017 00:07:41 +0000 (01:07 +0100)]
dot/zshrc: Make `pound-insert' (M-#) work.

6 years agodot/zshrc: Make M-p and M-n work properly.
Mark Wooding [Tue, 8 Aug 2017 00:09:10 +0000 (01:09 +0100)]
dot/zshrc: Make M-p and M-n work properly.

Just searching for a matching first word is silly.

6 years agodot/zshrc: `delete-horizontal-space' (M-\) and `just-one-space' (M-SPC).
Mark Wooding [Mon, 7 Aug 2017 23:57:36 +0000 (00:57 +0100)]
dot/zshrc: `delete-horizontal-space' (M-\) and `just-one-space' (M-SPC).

6 years agodot/zshrc: Fix word motion to match my expectations.
Mark Wooding [Mon, 7 Aug 2017 23:42:46 +0000 (00:42 +0100)]
dot/zshrc: Fix word motion to match my expectations.

Now `words' (following usual Emacs binding notions) work similar to the
Bash defaults, while `sexps' are whole shell arguments.  This isn't
quite as good as I'd like, but it seems good enough at least for now.

6 years agodot/emacs: Set the right hook variable to hack IELM.
Mark Wooding [Mon, 7 Aug 2017 12:02:35 +0000 (13:02 +0100)]
dot/emacs: Set the right hook variable to hack IELM.

Unfortunately, `inferior-emacs-lisp-mode-hook' is a decoy, and changes
to it get clobbered when IELM actually loads.  Set the proper hook
instead.

6 years agodot/emacs: Turn on bracketed-paste support if we can.
Mark Wooding [Mon, 7 Aug 2017 11:58:15 +0000 (12:58 +0100)]
dot/emacs: Turn on bracketed-paste support if we can.

This is on by default in Emacs 25, which I don't have yet.  Otherwise,
clone https://github.com/hchbaw/bracketed-paste.el and put the resulting
thing somewhere in the Emacs load-path.

6 years agoel/dot-emacs.el: Don't leak `LD_PRELOAD' into some subprocesses.
Mark Wooding [Sun, 6 Aug 2017 02:23:20 +0000 (03:23 +0100)]
el/dot-emacs.el: Don't leak `LD_PRELOAD' into some subprocesses.

Currently, compile, term, shell, eshell, but there may be more.
Basically, places where Emacs runs user commands rather than its own
made-up stuff.

6 years agodot/zprofile, dot/zshrc: Configuration for Zsh.
Mark Wooding [Sun, 6 Aug 2017 00:03:35 +0000 (01:03 +0100)]
dot/zprofile, dot/zshrc: Configuration for Zsh.

I'm trying this out to see whether I like it.  Current impressions are
good, but time will tell.

6 years agodot/*: Major shake-up of shell configuration.
Mark Wooding [Sat, 5 Aug 2017 23:56:24 +0000 (00:56 +0100)]
dot/*: Major shake-up of shell configuration.

Split out the major logic of session startup and shell configuration
into shell-neutral files `dot/profile' and `dot/shell-rc'.  There's a
little support now for pleasant `dash' sessions, but since `dash'
doesn't have a line editor or any way of varying the prompt dynamically,
it's still not marvellous.

Various things which have also been changed:

  * The prompt setup has been heavily refactored.  There's now a piece
    which calculates most of the major pieces, and another piece spliced
    into the shell's command-loop machinery to insert stuff like the Git
    status and previous exit code.  This also takes care of setting and
    clearing the Screen status, so that's much cleaner now.  (In
    particular, this means that Screen doesn't say that it's running
    Bash when it isn't really.)

  * Many of the shell functions have been revised to improve
    portability.  The old hack behind Solaris man(1) has gone
    because (a) it's hard to write portably, and (b) I don't use Solaris
    any more anyway.

6 years agodot/dircolors: Turn on colouring for Screen.
Mark Wooding [Sat, 5 Aug 2017 23:54:52 +0000 (00:54 +0100)]
dot/dircolors: Turn on colouring for Screen.

6 years agodot/emacs: Make IELM feel more like Lisp editing.
Mark Wooding [Sat, 5 Aug 2017 23:54:07 +0000 (00:54 +0100)]
dot/emacs: Make IELM feel more like Lisp editing.

Do syntax highlighting and other setup suitable for a programming mode.

6 years agoel/dot-emacs.el: Hack on `comint-line-beginning-position'.
Mark Wooding [Sat, 5 Aug 2017 23:52:05 +0000 (00:52 +0100)]
el/dot-emacs.el: Hack on `comint-line-beginning-position'.

It's quite badly broken in the case where it's using fields to mark
prompts: it goes straight to the start of the entire input area, rather
than to the start of the current line if there's more than one.  In
particular, this confuses IELM, which uses `comint-bol' to decide
whether to indent when you press TAB.

Fix this bogosity.

6 years agoel/dot-emacs.el (mdw-misc-mode-config): Don't override RET in comint modes.
Mark Wooding [Sat, 5 Aug 2017 23:51:30 +0000 (00:51 +0100)]
el/dot-emacs.el (mdw-misc-mode-config): Don't override RET in comint modes.

It's needed for entering input lines.

6 years agoel/dot-emacs.el (mdw-misc-mode-config): Check for derived modes.
Mark Wooding [Sat, 5 Aug 2017 23:50:26 +0000 (00:50 +0100)]
el/dot-emacs.el (mdw-misc-mode-config): Check for derived modes.

When inspecting modes to decide what to do (e.g., overriding
keybindings), use `derived-mode-p' to check for derived modes as well as
just the exact modes of interest.

6 years agoel/dot-emacs.el: Squish Flymake patterns a bit.
Mark Wooding [Thu, 3 Aug 2017 11:40:13 +0000 (12:40 +0100)]
el/dot-emacs.el: Squish Flymake patterns a bit.

This is actually part of an abortive attempt to flymake assembler code.

6 years agodot/putty-defaults: Show bold as colour and font.
Mark Wooding [Thu, 3 Aug 2017 11:28:04 +0000 (12:28 +0100)]
dot/putty-defaults: Show bold as colour and font.

This brightens things up a bit, in a good way.  I think.

6 years agodot/Xdefaults: Some xterm fiddling.
Mark Wooding [Thu, 3 Aug 2017 11:25:47 +0000 (12:25 +0100)]
dot/Xdefaults: Some xterm fiddling.

Turn off the pointless internal border.  Declare 256-colour support in
the $TERM variable.

6 years agoel/dot-emacs.el: Initial, rather sketchy, Flymake hacking.
Mark Wooding [Thu, 3 Aug 2017 11:03:49 +0000 (12:03 +0100)]
el/dot-emacs.el: Initial, rather sketchy, Flymake hacking.

Flymake seems useful, but its defaults are woeful.  See if we can kick
it into shape without having to rewrite too much of it.

Currently there's C support, which seems to work; C header support,
which isn't even slightly written; and Perl copied from upstream.

6 years agoel/dot-emacs.el: Move `mdw-compile' into its own section.
Mark Wooding [Thu, 3 Aug 2017 09:51:58 +0000 (10:51 +0100)]
el/dot-emacs.el: Move `mdw-compile' into its own section.

I'll add more stuff to this currently rather small section soon.