| Age | Commit message (Collapse) | Author |
|
Use C-x o with repeatable o instead. This removes a conflict with
Magit and Org bindings.
Inspiration: https://emacs.stackexchange.com/a/52203/10209
|
|
* Use Custom to set whitespace style.
As much as I dislike using Custom for lists where I just want to
add/remove a couple of elements, the previous method introduced a
subtle bug where visiting a diff buffer, *then* activating
whitespace-mode resulted in diff-mode's whitespace style applying
instead of mine. Something to do with diff-setup-whitespace I guess.
* Make Org comply with RET/C-j conventions in the rest of Emacs.
Since Emacs 24.4, by virtue of electric-indent-mode being enabled by
default, RET is the "smart newline" key which handles indentation, and
C-j is the "dumb newline" key which simply inputs character 0x0A.
* Stop popping another frame for Ediff's control buffer.
The popup frame needs its own .Xresources entry. Sometimes it
disappears behind the system tray. Having another window allows
other-windowing.
* Make line-number-mode try harder with long lines.
* Change the scroll logic.
scroll-conservatively > 100 tells Emacs to *never ever* recenter
point, which is annoying when jumping to e.g. a search result or a
tags definition.
scroll-conservatively = n < 100 tells Emacs to recenter when scrolling
needs to move more than n lines, and to scroll only m lines when m≤n.
* And some other stuff.
|
|
Emacs attempts to expand macros when loading uncompiled files to speed
up their execution. Since rx is not loaded during startup, Emacs is
not aware of the rx pattern for pcase, and takes it for the rx macro.
Since this macro does not understand (let …) forms, it throws an
"unknown rx pattern" error, which interrupts macro-expansion and shows
a noisy warning.
|
|
|
|
|
|
|
|
For reasons not entirely clear, the password prompt would get stuck
when trying to sudoedit a file. minibuffer-depth-indicate-mode told
me that I was 16 prompts deep. I'll chalk if off to my/project-name
calling functions it shouldn't call when TRAMP is busy.
|
|
|
|
As well as a function to generate them.
|
|
I'm about to add another my/make-… function, and it will need to be
defined before those global-set-key calls.
|
|
diff-hl does the Git gutter thing; I don't use hideshow often enough
to care about it being visible in the fringe.
|
|
|
|
Color fonts improve emoji readability IMO. Noto's emoji font does not
cover 🗚 nor 🗛 though.
While in there, use simplify a version check.
|
|
Add additional stuff manually.
|
|
Cute fluff, yet fluff still.
|
|
The code below works with the new indicator, but it's a bit ugly.
(let ((props (text-properties-at
0 (car (alist-get 'compilation-in-progress mode-line-modes)))))
(setf (car (alist-get 'compilation-in-progress mode-line-modes))
(apply #'propertize "⚙ " `(face compilation-mode-line-run ,@props))))
|
|
≈ ALMOST EQUAL TO
≊ ALMOST EQUAL OR EQUAL TO
≅ APPROXIMATELY EQUAL TO
≃ ASYMPTOTICALLY EQUAL TO
≡ IDENTICAL TO
≙ ESTIMATES
≔ COLON EQUALS
|
|
|
|
How did I not remember this guy.
|
|
Would be neat if the constant face could be applied to this last
argument, just like it is highlighted in require and provide
statements. Alas, those are covered by font-lock rules in
lisp-mode.el…
|
|
The War For Mode-Line Space continues.
|
|
Footnote and MML stuff, mainly.
Change magit-blame-mode lighter: the new character is covered by Noto
Color Emoji, not the old one.
|
|
AFAICT, the last argument, ADD, will be nil by default,
dixit (elisp)Argument List. This changes the semantics since I used
to pass 'append explicitly, but I have no idea why I was doing that in
the first place, so 🤷
|
|
|
|
… an interesting game of whack-a-quote.
I thought ("..." . ?…) might work, but alas…
|
|
And start organizing them.
I don't really like this hanging '(, but I couldn't find a way to turn
it into something along the lines of (list …).
|
|
|
|
I use whitespace-mode to check out *whitespace*, not to got on a
crusade to enforce the Holy Eighty Rule.
|
|
|
|
This package seems to do exactly the kind of thing I would like to do.
|
|
|
|
Thereby making the function work with Emacs 25.
|
|
|
|
Get rid of electric-pair-mode binding; I can't remember the last time
I turned it off.
|
|
No idea how I let this one slide.
|
|
See linked bug report.
|
|
This is somewhat more informative for me.
|
|
|
|
|
|
It'd be really great to make Emacs grok Emoji faces.
|
|
|
|
|
|
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.
|
|
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
|
|
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.
|