bulk.md (7131B)
1 Barely structured notes about issues I find. Occasionally promoted to 2 [tracker.org](./tracker.org), but mostly forgotten; the main goal is to get stuff 3 out of my system. 4 5 # Emacs 6 7 - center/top point when 8 - moving to text/tag search hit 9 - going to man page section 10 - opening eww on an anchor 11 - visiting a function from its Help buffer 12 - scroll-lock-mode 13 - cursor stuck on lines wrapped by visual-line-mode 14 - cursor stuck on lines taller than regular height (see maybe 15 bug#36421?) 16 - scroll when going down newline with forward-… 17 - matching-paren analysis fails: `;; (here is\n;; a comment)` 18 - some modes redefine C-M-h, which makes this binding hard to 19 override; could mark-defun consult functions/values exposed by major 20 modes instead? 21 - Man-mode: make isearch skip end-of-line hyphens 22 - when opening `.gpg` files in a TTY, some characters (e.g. TAB) are 23 swallowed by Emacs instead of being forwarded to the gpg prompt; 24 these characters are then inserted in the decrypted file's buffer 25 (see `epa-file-insert-file-contents`) 26 - let TRAMP fetch Google Drive credentials from .authinfo.gpg 27 - calendar uses default X resources when run in its own frame; see 28 `calendar-frame-parameters`, `x-handle-named-frame-geometry`, 29 `(make-frame '((name . "")))` vs `(make-frame '((title . "")))` 30 - use compilation-mode-line-… faces for compilation-num-… indicators 31 - "é" is not erased with a single DEL stroke, despite [Unicode 32 conventions] 33 - sort tar archive members by name; serving suggestion: 34 35 ``` elisp 36 (defun my/tar-sort (info) 37 (sort info (lambda (a b) (string< (tar-header-name a) (tar-header-name b))))) 38 ;; Apply to tar-parse-info in tar-summarize-buffer. 39 ``` 40 41 - add a command or minor mode to highlight marks; serving suggestion: 42 43 ``` elisp 44 (save-excursion 45 (dolist (m mark-ring) 46 (goto-char (marker-position m)) 47 (pulse-momentary-highlight-region (point) (point-at-eol)) 48 (sit-for 0.1))) 49 ``` 50 51 - StackOverflow-like suggestions when reporting bugs 52 - make vc honour `.gitignore` so that `project-find-file` completion 53 is not cluttered with ignored files 54 - in a folder with a .git folder and a .gitignore file, 55 - `C-x C-f .gi TAB` completes to .gitignore 56 - `C-x C-f .git TAB` says "not unique" 57 - add some Custom machinery to save additions/removals to list 58 variables; as things stand, once I add/remove items and save the 59 variable, I miss out on changes to the variable's default value: 60 e.g. `git-commit-setup-hook` recently added `bug-reference-mode`, 61 but I never realized it because I customized the hook to add some 62 personal functions 63 - some bindings advertised by `describe-mode` in texinfo-mode are 64 invalid: 65 - `C-c C-s` runs `Texinfo-insert-node` instead of 66 `texinfo-show-structure` 67 - `C-c C-e` runs `Texinfo-environment` instead of being a prefix 68 command for `texinfo-format-{buffer,region}` 69 - when truncating long lines and auto-filling, if the window is 70 narrower than (- fill-column hscroll-margin), horizontal scrolling 71 kicks in before the line is auto-filled; the window (or the current 72 line, depending on auto-hscroll-mode) remains horizontally stuck to 73 the right even though auto-filling made the line short enough to 74 display without hscroll 75 76 [Unicode conventions]: https://lists.gnu.org/archive/html/emacs-devel/2018-07/msg00961.html 77 78 ## Dired 79 80 - allow "columns" to be toggled; more specifically, make it possible 81 to hide ownership, permissions, number of hard links… 82 83 - make the filename stand out 84 85 - `% r` does not support some `\` constructs (`\#`, `\,`) 86 87 - add a face for broken symbolic links 88 89 ## Org 90 91 - dissociate sub- and super-script fontification from everything else 92 in org-toggle-pretty-entities 93 94 - make org-ctrl-c-ctrl-c or org-clock-in call 95 `(org-clock-update-mode-line t)` when point is on the clocked-in 96 heading 97 98 - new command `org-clock-in-late` to clock out x minutes ago from 99 previous task, and clock in x ago on task at point 100 101 - the org-hide face is computed when org-mode is activated; 102 customizing the default background makes it obsolete until the mode 103 is reverted 104 105 ## read-passwd 106 107 - prevent kills from ending up in the clipboard 108 109 ## whitespace-mode 110 111 - skip line/wrap-prefix variables and properties 112 113 - highlights the adaptive-wrap prefix, although weirdly enough the 114 whitespace *faces* are not applied 115 116 - in org-indent-mode, adds a spurious (unfaced) space marker before 117 paragraphs; somehow transient-mark-mode knows not to highlight this 118 space, maybe the answer lies there 119 120 ## Ellipses customization 121 122 Make ellipses for "invisible" text easily customizable (src/xdisp.c). 123 Make them default to "…" when `(char-displayable-p ?…)`. 124 125 Use-cases: 126 127 - ibuffer truncation 128 - hideshow 129 - outline (org) 130 - rgrep 131 - magit-process 132 133 ## xref 134 135 - defun-building macros seem hard to understand for xref: e.g. `M-.` 136 on `rg` does not jump to `rg-define-search rg` 137 138 ## External libraries 139 140 ### debbugs 141 142 - asynchronous bug fetching 143 144 ### magit 145 146 - customize current-tag function so that one can add `--first-parent` 147 - prevent section highlight overlay from hiding tag face background 148 - when quitting ediff conflict resolution, the "save buffer" prompt is 149 out of focus, one must ALT-TAB out of the ediff control panel first 150 (noticed in Emacs 27; 25.1 works fine); possible culprits: 151 - magit 152 - ediff 153 - smerge 154 - yes-or-no-p 155 - read-answer 156 - make status buffer understand and display `typechange` e.g. when 157 replacing a replacing a regular file with a symlink 158 - when ignoring a file in a subdirectory, magit attempts to 159 `git add .gitignore` (i.e. toplevel `.gitignore`), which fails 160 - for repos with dozens of old branches, it would be nice to have a 161 way to hide or distinguish "stale" branches from active ones, a la 162 <https://emba.gnu.org/emacs/emacs/branches> 163 164 #### transient 165 166 - cannot use the full domain of `--find-renames` (e.g. 1%) 167 168 ### markdown-mode 169 170 - support [shortcut reference links] 171 - move point past header after C-c C-t !/@ 172 - update sub-superscript regex to allow L~i+1~ 173 - make justification work with indented blockquotes 174 - add "ini ↦ conf-mode" to markdown-code-lang-modes 175 176 [shortcut reference links]: http://spec.commonmark.org/0.27/#shortcut-reference-link 177 178 ### page-break-lines 179 180 - borked when `^L` does not appear on a line of its own: 181 - diff buffers (including magit-diff) 182 - help buffers showing string variables containing a form feed 183 (e.g. `paragraph-separate`) 184 185 ### diff-hl 186 187 - colored fringe line is discontinued on lines featuring faces with 188 heights greater than 1 189 190 ``` shell 191 $ git init 192 $ echo "* foo" > README.org 193 $ git add README.org ; git commit -m README.org README.org 194 $ echo "* bar" >> README.org 195 $ echo "* baz" >> README.org 196 ``` 197 198 ``` elisp 199 (load-file "…/diff-hl.el") 200 (global-diff-hl-mode) 201 (set-face-attribute 'org-level-1 nil :height 1.2) 202 (find-file "README.org") 203 ``` 204 205 - hides left line-truncation marker 206 207 ### wgrep 208 209 `C-c C-d` (`wgrep-mark-deletion`) could move to the next line, just 210 like `d` moves to the next line in Dired buffers.