summaryrefslogtreecommitdiff
path: root/personal/itches/emacs/bulk.md
diff options
context:
space:
mode:
Diffstat (limited to 'personal/itches/emacs/bulk.md')
-rw-r--r--personal/itches/emacs/bulk.md273
1 files changed, 0 insertions, 273 deletions
diff --git a/personal/itches/emacs/bulk.md b/personal/itches/emacs/bulk.md
deleted file mode 100644
index 2de60f4..0000000
--- a/personal/itches/emacs/bulk.md
+++ /dev/null
@@ -1,273 +0,0 @@
-# Emacs
-
-- center/top point when
- - moving to text/tag search hit
- - going to man page section
- - opening eww on an anchor
- - visiting a function from its Help buffer
-- make font-lock stop background at fill-column or max(len(line) for
- line in paragraph) rather than window-width when text spans >1 lines
-- shell-mode
- - add faces instead of reusing font-lock-{comment,string}
- - understand `autocd` and `cd !$`
- - use Bash completions (e.g. `ls TAB` in a folder with one file)
-- [.dir-locals changed priorities][bug#30008] between subfolder and
- major mode from 25 to 26
-- eshell: `ls --group-directories-first` does not color folders
-- eww, gnus-article: adapt filling to window width changes
-- scroll-lock-mode
- - cursor stuck on lines wrapped by visual-line-mode
- - cursor stuck on lines with 😛
- - scroll when going down newline with forward-…
-- matching-paren analysis fails: `;; (here is\n;; a comment)`
-- some modes redefine C-M-h, which makes this binding hard to
- override; could mark-defun consult functions/values exposed by major
- modes instead?
-- Man-mode: make isearch skip end-of-line hyphens
-- when opening `.gpg` files in a TTY, some characters (e.g. TAB) are
- swallowed by Emacs instead of being forwarded to the gpg prompt;
- these characters are then inserted in the decrypted file's buffer
- (see `epa-file-insert-file-contents`)
-- let TRAMP fetch Google Drive credentials from .authinfo.gpg
-- icomplete's C-j does not choose the first completion as advertised
- on empty input; it chooses ".", which AFAICT comes from the fact
- that icomplete-exhibit calls completion-pcm--filename-try-filter
- while icomplete-force-complete-and-exit simply calls
- minibuffer-force-complete-and-exit
- - likewise, if a folder contains foo.c and foo.o, "C-x C-f foo"
- hides foo.o, yet C-j completes to foo.o
-- calendar uses default X resources when run in its own frame; see
- `calendar-frame-parameters`, `x-handle-named-frame-geometry`,
- `(make-frame '((name . "")))` vs `(make-frame '((title . "")))`
-- use compilation-mode-line-… faces for compilation-num-… indicators
-- "é" is not erased with a single DEL stroke, despite [Unicode
- conventions]
-- sort tar archive members by name; serving suggestion:
-
- ``` elisp
- (defun my/tar-sort (info)
- (sort info (lambda (a b) (string< (tar-header-name a) (tar-header-name b)))))
- ;; Apply to tar-parse-info in tar-summarize-buffer.
- ```
-
-- add a command or minor mode to highlight marks; serving suggestion:
-
- ``` elisp
- (save-excursion
- (dolist (m mark-ring)
- (goto-char (marker-position m))
- (pulse-momentary-highlight-region (point) (point-at-eol))
- (sit-for 0.1)))
- ```
-
-- StackOverflow-like suggestions when reporting bugs
-- match data vs. `:eval` during redisplay: cf. [bug#31586]
-- make vc honour `.gitignore` so that `project-find-file` completion
- is not cluttered with ignored files
-- in a folder with a .git folder and a .gitignore file,
- - `C-x C-f .gi TAB` completes to .gitignore
- - `C-x C-f .git TAB` says "not unique"
-- add some Custom machinery to save additions/removals to list
- variables; as things stand, once I add/remove items and save the
- variable, I miss out on changes to the variable's default value:
- e.g. `git-commit-setup-hook` recently added `bug-reference-mode`,
- but I never realized it because I customized the hook to add some
- personal functions
-- completions in python.el's comint buffer get confused when
- readline's completion-prefix-display-length is set: candidates
- become elided, maybe python-shell-completion-native-get-completions
- is not ready for that?
-- some bindings advertised by `describe-mode` in texinfo-mode are
- invalid:
- - `C-c C-s` runs `Texinfo-insert-node` instead of
- `texinfo-show-structure`
- - `C-c C-e` runs `Texinfo-environment` instead of being a prefix
- command for `texinfo-format-{buffer,region}`
-- [bug#31666]: visual-line-mode adds newlines before words that end up
- being split anyway
-- `gnus-group-make-group` uses `message-y-or-n-p`, which relies on
- `message-talkative-question`; the message might be too wide for the
- temporary buffer where it is displayed, and `y-or-n-p` prevents the
- user from moving to the buffer and looking at the rest of the
- message.
-
-[bug#30008]: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=30008
-[bug#31586]: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=31586
-[bug#31666]: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=31666
-[Unicode conventions]: https://lists.gnu.org/archive/html/emacs-devel/2018-07/msg00961.html
-
-## Dired
-
-- allow "columns" to be toggled; more specifically, make it possible
- to hide ownership, permissions, number of hard links…
-
-- make the filename stand out
-
-- `% r` does not support some `\` constructs (`\#`, `\,`)
-
-- add a face for broken symbolic links
-
-## ERC
-
-- move timestamp to a better position (see `stamp` module)
-- play well with whitespace-mode
-
-## Org
-
-- dissociate sub- and super-script fontification from everything else
- in org-toggle-pretty-entities
-
-- org-clocktable trips on DST:
-
- ``` org
- #+BEGIN: clocktable :scope file :maxlevel 2 :step day :stepskip0 t :tstart "[2018-10-15]" :tend "[2018-11-15]"
- #+END:
-
- * foo
- :LOGBOOK:
- CLOCK: [2018-10-26 Fri 08:00]--[2018-10-26 Fri 17:00] => 9:00
- :END:
-
- * bar
- :LOGBOOK:
- CLOCK: [2018-10-29 Mon 08:00]--[2018-10-29 Mon 17:00] => 9:00
- :END:
- ```
-
-- make org-ctrl-c-ctrl-c call `(org-clock-update-mode-line t)` when
- point is on the clocked-in heading
-
-- new command `org-clock-in-late` to clock out x minutes ago from
- previous task, and clock in x ago on task at point
-
-## read-passwd
-
-- prevent kills from ending up in the clipboard
-- add command to temporarily reveal password
-
-## whitespace-mode
-
-- skip line/wrap-prefix variables and properties
-
-- highlights the adaptive-wrap prefix, although weirdly enough the
- whitespace *faces* are not applied
-
-- in org-indent-mode, adds a spurious (unfaced) space marker before
- paragraphs; somehow transient-mark-mode knows not to highlight this
- space, maybe the answer lies there
-
-## Ellipses customization
-
-Make ellipses for "invisible" text easily customizable (src/xdisp.c).
-Make them default to "…" when `(char-displayable-p ?…)`.
-
-Use-cases:
-
-- ibuffer truncation
-- hideshow
-- outline (org)
-- rgrep
-- magit-process
-
-## xref
-
-- search gz-compressed Elisp files when calling `xref-find-references`
- from an Elisp buffer: from a user perspective, if
- `xref-find-definitions` can visit those files,
- `xref-find-references` should work too (even though technically they
- don't rely on the same mechanisms)
-
-- defun-building macros seem hard to understand for xref: e.g. `M-.`
- on `rg` does not jump to `rg-define-search rg`
-
-## External libraries
-
-### adaptive-wrap
-
-- a commented-out line with no space between the comment delimiter and
- its text will get padded with the comment delimiter:
-
- ;(some very long line)
- ;; ⇒ wrapped with adaptive-wrap-extra-indent set to 4:
- ;(some very
- ;;;;;long line)
-
-### debbugs
-
-- asynchronous bug fetching
-
-### magit
-
-- customize current-tag function so that one can add `--first-parent`
-- prevent section highlight overlay from hiding tag face background
-- when quitting ediff conflict resolution, the "save buffer" prompt is
- out of focus, one must ALT-TAB out of the ediff control panel first
- (noticed in Emacs 27; 25.1 works fine); possible culprits:
- - magit
- - ediff
- - smerge
- - yes-or-no-p
- - read-answer
-- make status buffer understand and display `typechange` e.g. when
- replacing a replacing a regular file with a symlink
-- when ignoring a file in a subdirectory, magit attempts to
- `git add .gitignore` (i.e. toplevel `.gitignore`), which fails
-- if the `-n` log option is set in the status buffer, the "unpulled
- from origin/…" section shows an invalid commit count if the `-n`
- limit is lower than the actual number of commits
-- for repos with dozens of old branches, it would be nice to have a
- way to hide or distinguish "stale" branches from active ones, a la
- <https://emba.gnu.org/emacs/emacs/branches>
-
-#### transient
-
-- cannot use the full domain of `--find-renames` (e.g. 1%)
-- cannot call transient-save for all transients (e.g. would like to
- always `fetch --prune`)
-
-### markdown-mode
-
-- support [shortcut reference links]
-- move point past header after C-c C-t !/@
-- update sub-superscript regex to allow L~i+1~
-- make justification work with indented blockquotes
-- add "ini ↦ conf-mode" to markdown-code-lang-modes
-
-[shortcut reference links]: http://spec.commonmark.org/0.27/#shortcut-reference-link
-
-### rg-mode
-
-- make -project DTRT in dired
-
-### page-break-lines
-
-- borked in magit-diff
-
-### diff-hl
-
-- colored fringe line is discontinued on lines featuring faces with
- heights greater than 1
-
- ``` shell
- $ git init
- $ echo "* foo" > README.org
- $ git add README.org ; git commit -m README.org README.org
- $ echo "* bar" >> README.org
- $ echo "* baz" >> README.org
- ```
-
- ``` elisp
- (load-file "…/diff-hl.el")
- (global-diff-hl-mode)
- (set-face-attribute 'org-level-1 nil :height 1.2)
- (find-file "README.org")
- ```
-
-- in Org buffers with org-indent-mode, lines before point will "dance"
- around while editing, i.e. while I type, they stick to the left
- margin, then when I stop typing, they become indented again.
-
-### wgrep
-
-`C-c C-d` (`wgrep-mark-deletion`) could move to the next line, just
-like `d` moves to the next line in Dired buffers.