R3D3-1

joined 1 year ago
[–] [email protected] 1 points 1 year ago

Yes, it did :) Though it set off some Odyssey of things to fix with my config after upgrading my Emacs version ^^'

[–] [email protected] 1 points 1 year ago (1 children)

Thanks.

The warning could be clearer on that :/

 

According to the documentation of the CL library, it is allowed to have code like

(cl-check-type '(a b) proper-list)

where the undefined type symbol proper-list will be automatically interpreted as

and indeed it does work. However, after upgrading from Emacs 27.1 to 29.1, I am suddenly getting a compiler warning

Warning: Unknown type: proper-list

for such lines, unless I either rewrite it more verbosely as

(cl-check-type '(a b) (satisfies proper-list-p))

or provide an explicit type definition

(cl-deftype proper-list () '(satisfies proper-list-p))

Is anyone aware, if this is intended behavior?

 

Is there some way to make visual-line-mode more smart about line-breaks? As depicted in fig.1, visual-line-mode doesn't really handle overly-long lines (e.g. due to URLs) well. Disabling it entirely makes a bad overall trade-off in files containing mostly textual lines (fig.2).

It could improve by allowing line-breaks on some non-whitespace characters (like "-" or "/") or simply disabling visual-line-mode entirely for "words" that anyway need more than one line. Better yet, for any word exceeding a maximum character-length (e.g. 50) in order to better handle lines containing a few words, but also a moderately long URL (e.g. when using the markdown syntax [link name](link url)).

I've found no existing options in the M-x customize interface, nor any relevant packages in M-x package-list-packages (including MELPA).

Fig.1 When breaking long \"words\" like URLs, visual-line-mode is not very smart about where to break the lines.

Fig.2 For URLs, having no visual-line-mode line breaks active would be preferable, but the disadvantage of disabling visual-line-mode for lines with actual text is too big to just disable visual-line-mode entirely.

[–] [email protected] 1 points 1 year ago

For me, the main issue was startup speed from my customizations. This I sped up by:

  • Making use of emacsclient over new emacs sessions.
  • Combining scattered customization files into a single large emacs.el file.
  • Use defvar and autoload over require, load, eval-after-load.

The last one is mostly to allow compiler- and flycheck warnings to work, without prematurely loading dependencies of my customization code.