| Age | Commit message (Collapse) | Author |
|
Not sure branches are the right way to handle multiple setups… We'll
see how this goes.
|
|
(Only for Emacs ≥27)
|
|
|
|
|
|
|
|
It'd be really great to make Emacs grok Emoji faces.
|
|
|
|
- fix accidentally committed Emacs 27 customization
- add a useful Gnus shortcut when dealing with drafts
|
|
|
|
Leaving out:
- 'bog' because it looks like a typo,
- 'commit' because I cannot think of a way to make it work in the
general case.
|
|
openFATE references are sometimes capitalized (eg Fate#…); this means
the captured tracker cannot be used as key directly.
I considered going back to the subclasses and class variables, but
AFAICT
1. case-insensitivity might be desirable for all trackers anyway,
2. references to other trackers will remain simple enough to parse
that they can also be described by a short identifier and a URL
template.
|
|
Of course, at some point I'll have to deal with a format that does not
fit in this simple regex…
🤷
|
|
|
|
Thus making my recent PR pointless. Ah well.
|
|
I sometimes need to create a file named $(date +%F).md. This commit
introduces two ways to do this:
1. with recursive minibuffers:
C-x C-f M-! date +%F RET
2. with a new function to add shell command outputs to the kill ring:
C-x C-f C-c k ! date +%F RET C-y
|
|
- make magit-blame take less space in mode-line
- refine hunks, now that refinements look OK with eighters-theme
|
|
|
|
- use my/ prefix on every defun
- delight whitespace-mode
- remove leftover binding in C mode
- enable all "confusing" commands
|
|
I regularly used C-x C-f M-n C-SPC C-a C-w C-g to get the current
buffer's filename in the kill-ring (and the clipboard). This had two
issues:
1. It does not work with Ivy: C-a only moves back to the beginning of
the basename;
2. M-n runs the find-file-at-point machinery; if point is on a word
that looks like a domain (ends with ".com", ".net", …),
ffap *attempts to contact the domain*, which is inconvenient for a
bunch of reasons (locks up the editor, leaks data by sending it in
DNS requests, opens 9/tcp connections to random domains…)
The latter can be disabled by customizing ffap-machine-p-known; maybe
I'll go ahead and do that someday. In the meantime, defining a proper
function instead of relying on side-effects seems like a quick-win.
my/kill-ring-pipe-region allows me to quickly run pandoc on a Markdown
snippet and paste the resulting HTML in LWN's comment form. I'm sure
I will find other uses for it.
|
|
To prevent Emacs from modifying a user's init file behind their back,
the developers have decided that:
- by default, Emacs will call package-initialize before loading the
user's init file (thereby ensuring that out-of-the-box, when Emacs
starts, it activates packages installed in a previous session);
- the user can disable packages (among other things) using a new,
"early-init" file that will be read before package management
kicks in.
This has been committed to Emacs's master branch, so versions up to 26
still need to call package-initialize.
While in there, tuck package-archives in the Custom file. Hopefully
in a few years I can remove all this package cruft from my init file.
|
|
hscroll-step! Where have you been all my life?
|
|
Also move them to .emacs.d. If some other program needs them, I guess
I'll make an ~/.icons folder or something.
Also break the 80-column rule 😨
|
|
Found with C-x 8 RET EDIT TAB. From the Unicode Standard[1]:
> Ancient Greek scribes generally wrote in continuous uppercase
> letters without separating letters into words. On occasion, the
> scribe added punctuation to indicate the end of a sentence or a
> change of speaker or to separate words.
Since With-Editor acts "as the $EDITOR of an external process", I like
the "change of speaker" idea.
For posterity, a cat-and-mouse game I just completed:
- notice the " Server" string in the minor mode list
- look for "Server" in M-x describe-mode: nothing
- find out about minor-mode-alist:
> (server-buffer-clients " Server")
> server-buffer-clients is a variable defined in ‘server.el’.
- visit ‘server.el’ link
- notice that I end up in /usr/local/share/emacs/25.1/lisp/
- assume that I am running Emacs master
- assume Emacs is dumb and gives priority to /usr/local/ over ~
- visit ~/Downloads/sources/emacs/lisp/server.el manually
- spend hours looking for " Server"
- find Changelog entries referencing Bug#20201
- see that this has been removed years ago
- check Emacs version
- well whadya know this actually is 25.1
- oh yeah this is my package-upgrade instance which runs 25.1 to make
sure packages are byte-compiled by the oldest Emacs on my system
- 🤦
So on the one hand, I spent the better part of this morning reading
trivia on incredibly obscure Greek symbols, and debugging Emacs
mode-line shenanigans. On the other hand, now I know that Astérix and
Obélix are named after Aristarchian symbols.
[1]: http://unicode.org/versions/Unicode10.0.0/UnicodeStandard-10.0.pdf
§ 6.2 General Punctuation - Archaic Punctuation and Editorial Marks
p282 Ancient Greek Editorial Marks
See also:
http://unicode.org/L2/L2003/03324-tlg-editorialbrief.pdf
https://en.wikipedia.org/wiki/Obelism
https://en.wikipedia.org/wiki/Aristarchian_symbols
|
|
Adding a setup step feels marginally cleaner than having this dumb
match-all .gitignore.
🤷
|
|
visual-line vs word-wrap:
AFAICT, visual-line is word-wrap plus some customizable options:
- fringe indicators;
- specialized editing commands.
So there is no reason to bother with word-wrap.
Appending through dir-locals:
I wanted to have lists in dir-locals *appended* to the variables,
rather than overwritten, eg:
;; in .emacs:
(setq my/foo '(1 2 3))
;; in .dir-locals.el:
((c-mode . ((my/foo . (4 5 6)))))
;; M-: my/foo in a C buffer:
(1 2 3 4 5 6)
I don't think there is built-in support for this. I guess the
simplest way to emulate it would be to
1. put (4 5 6) in some other variable my/bar;
2. write a hook that appends my/bar to my/foo.
|
|
And simplify .gitignore. I originally added !/.* to make sure
committed dotfiles would still appear in git status, but that's not
necessary:
> Files already tracked by Git are not affected
> ― gitignore(5)
The only downside is that to start tracking new dotfiles, git add will
need --force.
|
|
Still a lot of "untracked" files showing up in git status, but that's
a start.
|
|
C-M-S-h (ie control alt shift H) still works in graphical frames,
which covers 99% of my usage.
|
|
|
|
|
|
On Debian Jessie at least, this is necessary.
|
|
BECAUSE CONSISTENCY DAMMIT.
|
|
I mean I can't live with it on C-<backspace> or M-<backspace>.
|
|
|
|
|
|
Because I'm a Unicode hipster.
Also move the "dumb" check below function definitions, so that maybe
someday I can try to play with those functions in shell-mode.
|
|
|
|
Otherwise Emacs picks it up when started from a terminal, defeating my
attempt to shield M-x shell from my weird-ass prompt.
|
|
|
|
I've seen the prohibited sign elsewhere before (on Github IIRC),
I find it neat.
Using the box drawing rather than the long dash ensures the line looks
continuous even in TTYs.
|
|
Simplifies the code somewhat; less arguments to pass around.
|
|
- no newline: simply append a visible /
- error code: move to first line and make rule red
|
|
User/host/working-directory/Git status go on the first line; the
"prompt" line only contains the prompt symbol and the previous
command's error code.
Also fill the rest of the line when a command does not end with
a newline.
|
|
- remove speculative parentheses
- sort table by code
|
|
To reproduce the issue:
$ echo -e '\E[?7l'
(cf. console_codes(4))
|
|
TRAMP fails to connect to remote hosts that set this prompt.
|
|
bash(1) already mentions _profile, _login, _logout and _history.
.bashrc adds .bash_aliases (although .bashrc itself is an exception).
|
|
Also remove "white" since it's the default color.
|
|
|
|
- stop leaking variables
- remove usnused array entry
|