diff options
| author | Kévin Le Gouguec <kevin.legouguec@gmail.com> | 2019-07-11 18:10:53 +0200 |
|---|---|---|
| committer | Kévin Le Gouguec <kevin.legouguec@gmail.com> | 2019-07-11 18:10:53 +0200 |
| commit | 8cfe656fbb312398244d6f0e820d4f179db3cfc7 (patch) | |
| tree | 31102175eb71b82eece64ba62cf494e1014b0fc9 /itches/emacs/form-feed.md | |
| parent | 66d44f9dbb1f6a6e8af5d51677ee39c496c46caa (diff) | |
| download | memory-leaks-8cfe656fbb312398244d6f0e820d4f179db3cfc7.tar.xz | |
Move some things around
Diffstat (limited to 'itches/emacs/form-feed.md')
| -rw-r--r-- | itches/emacs/form-feed.md | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/itches/emacs/form-feed.md b/itches/emacs/form-feed.md new file mode 100644 index 0000000..61fd48b --- /dev/null +++ b/itches/emacs/form-feed.md @@ -0,0 +1,56 @@ +# Better out-of-the-box display for FORM FEED + +By default, FORM FEED is displayed as a dumb `^L` glyph. This is +surprising considering it shows up in so many places: + +- Emacs source files (C and Elisp), +- help buffers: + - `describe-mode`, + - `describe-bindings`, + - `view-emacs-news`, +- log buffers: + - `*Compile-Log*`, + - `*Dired log*`, +- … + +You can even see it in source files of other GNU projects, like GCC. + +"Pages" are important enough to have their own navigation and +narrowing commands, yet their default delimiter is displayed as an +unassuming control character. + +I like the way form feeds are displayed with [`page-break-lines`]; +magit's `show-lines` blaming style achieves a similar look. + +Having this kind of display by default would make it more obvious that +this character has actual navigation semantics; as it stands, it looks +no different from some stray CARRIAGE RETURN. + +This hypothetical thin-line display could be re-used by e.g.: + +- `describe-symbol`, which uses the following method to visually break + up multiple symbol definitions: + + ``` lisp + (insert "\n\n" + (eval-when-compile + (propertize "\n" 'face '(:height 0.1 :inverse-video t))) + "\n") + ``` + +- Custom buffers, where sections are delimited visually with a + 999-character wide underlined space. + +(See [emacs-devel][emacs-devel-thin-line] for a use-case recap.) + +Full disclosure +: This reflection started because moving over this underlined space + with `truncate-lines` on causes the screen to jump horizontally. + This specific problem should be fixable without dragging FORM FEED + display into the discussion, but I feel like the latter is the + more interesting issue ([who on Earth] enables `truncate-lines` by + default anyway). + +[`page-break-lines`]: https://github.com/purcell/page-break-lines +[emacs-devel-thin-line]: https://lists.gnu.org/archive/html/emacs-devel/2019-05/msg00268.html +[who on Earth]: https://gitlab.com/peniblec/dotfiles/blob/master/.emacs-custom.el |
