Since my contributions to "GNU Emacs" are spread over multiple repositories and bug tracking systems, I figured I would aggregate them in my own "tracker". This allows me to keep track of what I'm working on; it can also double as a [[https://jvns.ca/blog/brag-documents/][brag document]] when filtered on =PatchApplied= properties. Speaking of properties, here are the ones I'm attaching to these entries: - =Role= :: - =author= :: for issues I reported, - =watcher= :: issues reported by someone else… - I have taken a stab at, - I could take a stab at, if time permits, - I'll tip my hat to whoever solves it. - =PatchApplied= :: whether my patches were applied, - =TestAdded= :: for bug reports, whether I added a unit test. * GNU Emacs ** Core *** display **** Cairo support ***** DONE [[bug:35781]] Improve font display on Cairo builds :PROPERTIES: :Role: author :END: Fixed by Yamamoto Mitsuharu. ***** DONE [[bug:35871]] Fix SVG transparency with Cairo :PROPERTIES: :Role: author :END: Fixed by Yamamoto Mitsuharu. **** "Pure GTK" port ***** DONE [[https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg01845.html][emacs-devel:<87wnk0wyi7.fsf@gmail.com>]] Let =--with-webp= work with =--with-pgtk= :PROPERTIES: :Role: author :PatchApplied: t :END: **** DONE [[bug:41584]] org-indent-mode's line-prefix text property flickers near overlays :PROPERTIES: :Role: author :END: First reported as [[https://github.com/dgutov/diff-hl/issues/142][dgutov/diff-hl#142]]. Fixed by Eli. *** input **** TODO Translate unshifted keys to shifted if no bindings are found To make =C-x [0-9]= more accessible on AZERTY. Firefox does this, cf [[https://hg.mozilla.org/mozilla-unified/file/FIREFOX_80_0_1_RELEASE/widget/gtk/nsGtkKeyUtils.cpp#l1207][here]]: #+begin_src cpp // Retry with shifted keycode. guint shiftState = (baseState | keymapWrapper->GetModifierMask(SHIFT)); uint32_t shiftedChar = keymapWrapper->GetCharCodeFor(aGdkKeyEvent, shiftState, aGdkKeyEvent->group); if (IsBasicLatinLetterOrNumeral(shiftedChar)) { // A shifted character can be an ASCII alphabet on Hebrew keyboard // layout. And also shifted character can be an ASCII numeric on // AZERTY keyboad layout. Then, it's a good hint for deciding our // keyCode. return WidgetUtils::ComputeKeyCodeFromChar(shiftedChar); } #+end_src and [[https://hg.mozilla.org/mozilla-unified/file/FIREFOX_80_0_1_RELEASE/widget/gtk/nsGtkKeyUtils.cpp#l1896][there]]: #+begin_src cpp uint32_t KeymapWrapper::GetCharCodeFor(const GdkEventKey* aGdkKeyEvent, guint aModifierState, gint aGroup) { guint keyval; if (!gdk_keymap_translate_keyboard_state( mGdkKeymap, aGdkKeyEvent->hardware_keycode, GdkModifierType(aModifierState), aGroup, &keyval, nullptr, nullptr, nullptr)) { return 0; } GdkEventKey tmpEvent = *aGdkKeyEvent; tmpEvent.state = aModifierState; tmpEvent.keyval = keyval; tmpEvent.group = aGroup; return GetCharCodeFor(&tmpEvent); } #+end_src Maybe look at ~lookup-key~ in ~src/keymap.c~? Although ~src/gtkutil.c~ seems to be the place making the most calls to ~gdk_~ functions. *** dump **** DONE [[bug:38492]] Warn pdumper users when pure space has been overflowed :PROPERTIES: :Role: author :END: Fixed by Eli. ** Elisp *** DONE [[bug:30008]] Subdirectory vs major mode in .dir-locals.el :PROPERTIES: :Role: author :END: Unnoticed for a year, then merged with subsequent duplicate [[bug:33400]]. *** TODO [[bug:31586]] ~frame-title-format~ doesn't save match data :PROPERTIES: :Role: watcher :END: *** DONE [[bug:33697]] file-truename messes with match data :PROPERTIES: :Role: author :END: Merged with [[bug:31586]], a more general issue dealing with match data being "poisoned" by a user's =:eval= form in frame-title-format. *** DONE [[bug:36803]] Update mode-line of every window when compilation ends :PROPERTIES: :Role: author :END: Fixed by Stefan. *** TODO Add command to toggle password visibility **** cover letter Hello Emacs, On occasion, e.g. when saving .authinfo.gpg, I'd like to briefly peek at the password I'm typing. Entering the password twice is an appreciated safeguard, but I know I'm perfectly able to make the same typo twice in a row; I'd love for read-passwd to offer a command to toggle the password visibility. (I'm dismissing the "write it in the clear, then cut it and paste it" solution, since I don't want to add the kill ring nor my desktop environment's clipboard manager to the equation) I'm attaching a proof-of-concept. Additional considerations, in no particular order: - For the binding, I wanted something easy to mash quickly, but something more mnemonic might be in order? - Some applications out there show the password while the keyboard shortcut (or the mouse button) remains pressed, and hide it back as soon as it is released; I like the idea, but I have no idea whether that's feasible with Emacs. - The (member …) check could be replaced with e.g. (get-char-property (minibuffer-prompt-end) 'display); that's how I implemented it at first. It would fail to turn hiding off when the user has not entered anything though. - I don't know how much documentation this new command would warrant: - Should it be mentioned in read-passwd's docstring? C-u isn't now, but it was way back when, before 2012-04-11 "* lisp/subr.el (read-passwd): Use read-string." (088be6fbd2). - Should it be mentioned in the manual? delete-minibuffer-contents is documented of course, but not under "(elisp) Reading a Password". - a NEWS entry, maybe? AFAICT C-u was never announced there. (On a side-note, which might warrant another bug report, I wonder if anything could be done to advertise read-passwd-map bindings more. Sure, C-h b shows these bindings, but users have no reason to assume that read-passwd has extra bindings in addition to regular minibuffer ones, so why would they reach for C-h b?) Let me know if this sounds like something useful. If so, and if the implementation is acceptable as-is, I'll work on documentation as soon as I have a clearer idea of where I should add some (and whether some documentation should be added for C-u as well). Thank you for your time. TODO:attach **** "serving suggestion" patch #+begin_src diff diff --git a/lisp/subr.el b/lisp/subr.el index 06ea503da6..da9253cedd 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -2820,6 +2820,7 @@ read-passwd-map ;; minibuffer-local-map along the way! (let ((map (make-sparse-keymap))) (set-keymap-parent map minibuffer-local-map) + (define-key map "\C-c\C-c" #'read-passwd-toggle-visibility) (define-key map "\C-u" #'delete-minibuffer-contents) ;bug#12570 map) "Keymap used while reading passwords.") @@ -2830,6 +2831,14 @@ read-password--hide-password (put-text-property (+ i beg) (+ 1 i beg) 'display (string (or read-hide-char ?*)))))) +(defun read-passwd-toggle-visibility () + (interactive) + (if (member #'read-password--hide-password post-command-hook) + (progn + (remove-hook 'post-command-hook #'read-password--hide-password t) + (remove-text-properties (minibuffer-prompt-end) (point-max) '(display))) + (add-hook 'post-command-hook #'read-password--hide-password nil t))) + (defun read-passwd (prompt &optional confirm default) "Read a password, prompting with PROMPT, and return it. If optional CONFIRM is non-nil, read the password twice to make sure. #+end_src *** completion **** DONE [[bug:52169]] "Args out of range" when completing shell command :PROPERTIES: :Role: author :END: *** font-lock **** DONE [[bug:35476]] font-lock-{append,prepend}-text-property and anonymous faces :PROPERTIES: :Role: author :PatchApplied: t :TestAdded: t :END: Started off as an [[orgmode:87r2a4ztt2.fsf@gmail.com][org-mode bug]]; Stefan applied a proper fix, then I added in some refactoring and unit tests. **** DONE [[bug:39597]] M-x occur adds fontification to fundamental-mode :PROPERTIES: :Role: author :END: Fixed by Stefan & Juri. *** fonts **** DONE [[bug:41747]] Add default fontset setup for "Symbols and Pictographs Extended-A" :PROPERTIES: :Role: author :END: Unfortunately, Symbola now comes with a [[https://dn-works.com/wp-content/uploads/2020/UFAS-Docs/License.pdf][non-free license]]. Cf. [[https://bugs.archlinux.org/task/58886][Arch Linux]], [[https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=897047][Debian]], [[https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/EC6I35ILFICKY5W5XTHYJC6UH36B2UQS/][Fedora]], [[https://www.mail-archive.com/gentoo-dev@lists.gentoo.org/msg88799.html][Gentoo]], [[https://github.com/NixOS/nixpkgs/pull/79679][NixOS]] and [[https://bugs.launchpad.net/ubuntu/+source/ttf-ancient-fonts/+bug/1824065][Ubuntu]] threads; also [[https://en.wikipedia.org/wiki/Talk:Open-source_Unicode_typefaces#Symbola_font][Wikipedia]] thread. **** DONE [[bug:51495]] Avoid fonts with incomplete coverage of MATHEMATICAL chars :PROPERTIES: :Role: author :PatchApplied: t :END: *** imenu **** TODO Add grouping/sorting predicates to ~imenu~ completion So that ~imenu~ + ~icomplete-vertical-mode~ becomes a built-in, buffer-less equivalent of ~imenu-list~. Simple example of these predicates in action: #+begin_src elisp (completing-read "bleh? " (lambda (string pred action) (if (eq action 'metadata) (let ((sort-fn (lambda (candidates) (let* ((numbers (sort (mapcar 'string-to-number candidates) '<)) (evens (seq-filter 'cl-evenp numbers)) (odds (seq-difference numbers evens))) (mapcar 'number-to-string (if (and (car evens) (< (car evens) (car odds))) (append evens odds) (append odds evens))))))) `(metadata (cycle-sort-function . ,sort-fn) (display-sort-function . ,sort-fn) (group-function . (lambda (candidate transform) (if transform candidate (if (cl-evenp (string-to-number candidate)) "even" "odd")))))) (complete-with-action action (mapcar 'number-to-string (number-sequence 1 10)) string pred)))) #+end_src *** project **** DONE [[bug:45765]] Change default-directory before prompting in project-compile :PROPERTIES: :Role: author :PatchApplied: t :END: *** shr **** DONE [[bug:39504]] Ensure faces of enclosing elements apply to elements :PROPERTIES: :Role: author :PatchApplied: t :END: Unfortunately debbugs.el does not handle multiple patches per message; the first patch's diff was thus applied manually, with the second patch's title (and a whole new message by the maintainer). ** Major modes *** Custom **** DONE [[bug:39074]] Horizontal line messes with variable value display in Custom buffers :PROPERTIES: :Role: author :PatchApplied: t :END: **** DONE [[bug:51556]] Poor contrast of Customize SVG icons with dark backgrounds :PROPERTIES: :Role: author :END: *** Dired **** DONE [[bug:23284]] Cannot input 'Y' with dired-do-query-replace-regexp :PROPERTIES: :Role: author :END: Fixed by Dmitry. **** DONE [[bug:28969]] Confirmation prompt for wildcard not surrounded by whitespace :PROPERTIES: :Role: author :PatchApplied: t :TestAdded: t :END: My commit message ran afoul of debbugs.el's =M-m= again. *** ERC **** TODO Support SASL authentication Got bitten by this when trying to connect to irc.freenode.net from =alyon-654-1-454-60.w109-213.abo.wanadoo.fr=: #+begin_quote ERROR from irc.freenode.net: Closing Link: alyon-654-1-454-60.w109-213.abo.wanadoo.fr (SASL access only) #+end_quote This was requested in [[bug:29108]]. Lars closed this report because while there is a third-party package to implement the feature, its author did not respond when prompted for copyright assignment. I did not have the patience to look at the package; instead I went straight to [[https://ircv3.net/specs/extensions/sasl-3.1][the description of SASL on ircv3.net]] and the [[https://tools.ietf.org/html/rfc4616#section-2][RFC for the =PLAIN= mechanism]], and cobbled this silly patch: #+begin_src diff diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el index 1d5506e281..0da677ac18 100644 --- a/lisp/erc/erc.el +++ b/lisp/erc/erc.el @@ -6052,7 +6052,17 @@ erc-login erc-session-server erc-session-user-full-name)) (if erc-session-password - (erc-server-send (format "PASS %s" erc-session-password)) + (progn + (erc-server-send "CAP REQ :sasl") + (erc-server-send "AUTHENTICATE PLAIN") + (erc-server-send + (concat "AUTHENTICATE " (base64-encode-string + (string-join (list + (user-login-name) + (erc-current-nick) + erc-session-password) + "\0")))) + (erc-server-send "CAP END")) (message "Logging in without password")) (erc-server-send (format "NICK %s" (erc-current-nick))) (erc-server-send #+end_src AFAICT this is enough to get me authenticated on Freenode. It looks like it's not too hard to implement? Ideally Emacs's builtin =sasl.el= should be reused; that would let ERC support better SASL mechanisms than =PLAIN=. *** Gnus **** DONE [[bug:40520]] Prevent duplicate thread titles :PROPERTIES: :Role: author :PatchApplied: t :END: **** TODO [[bug:41530]] gnus-cloud-download-all-data does not mark articles as read :PROPERTIES: :Role: author :END: **** TODO [[bug:42334]] gnus-thread-sort-functions vs. loose threads :PROPERTIES: :Role: author :END: Closed by Lars because the way Gnus sorts things just isn't amenable to fixing this right now. Will probably need to take the plunge at some point. **** DONE [[bug:47026]] Allow Gnus summary faces to extend to end of line :PROPERTIES: :Role: author :PatchApplied: t :END: **** DONE [[bug:49800]] Extend Gnus summary highlight faces by default :PROPERTIES: :Role: author :PatchApplied: t :END: *** Ibuffer **** TODO Elide with "…" if displayable **** TODO Add human-readable size With summary: #+begin_src elisp (define-ibuffer-column size-hr (:name "Size" :summarizer (lambda (strings) (file-size-human-readable (apply '+ (mapcar (lambda (s) (get-text-property (1- (length s)) 'ibuffer-size s)) strings))))) (let ((sz (buffer-size buffer))) (propertize (file-size-human-readable sz) 'ibuffer-size sz))) #+end_src While at it, use this ~propertize~ trick to get rid of the "ewww" comment in ~define-ibuffer-column size~. *** Org **** DONE [[orgmode:877efbgi4i.fsf@gmail.com]] Binding org-insert-todo-heading to M-S-RET :PROPERTIES: :Role: author :END: Inspired by [[https://github.com/jrblevin/markdown-mode/pull/317][jrblevin/markdown-mode#317]]; fixed by Nicolas. **** DONE [[orgmode:87r2a4ztt2.fsf@gmail.com]] Bug: Strike-through messes with heading face :PROPERTIES: :Role: author :PatchApplied: t :END: Eventually reverted in favor of a better fix in [[bug:35476]]. **** DONE [[orgmode:877dxpazbo.fsf_-_@gmail.com]] Make RET and C-j obey ~electric-indent-mode~ in org-mode :PROPERTIES: :Role: author :PatchApplied: t :TestAdded: t :END: Followup to an emacs-devel thread about reconciling org-mode idiosyncrasies with Emacs core. **** DONE [[orgmode:87blm8v09s.fsf@gmail.com]] Possible fix for :includes header argument in org-babel C source blocks :PROPERTIES: :Role: author :PatchApplied: t :TestAdded: t :END: Stumbled on this regression before starting work on a completely unrelated feature, and trying to get unit tests to pass. **** DONE [[orgmode:87mu5mhm1u.fsf@gmail.com]] Failing tests :PROPERTIES: :Role: author :PatchApplied: t :TestAdded: t :END: More unrelated tests that needed fixing before I could start working. **** TODO [[orgmode:87mu62gvjk.fsf@gmail.com]] Setting org-todo-keywords through directory-local variables :PROPERTIES: :Role: author :END: ACKed by Bastien; bump once 9.4 is released. **** DONE [[bug:42184]] org-fontify-whole-heading-line does not work in emacs 27 :PROPERTIES: :Role: watcher :PatchApplied: t :END: An unfortunate fallout of the new =:extend= face attribute; fixed in Org 9.4, which eventually landed in Emacs 27's maintenance branch (cf. [[bug:43268]]). **** TODO [[orgmode:87mu3ze52c.fsf@gmail.com]] Default description for abbreviated links :PROPERTIES: :Role: author :END: Counter-proposal by Bastien. Next step: ACK and get back to the workbench. **** TODO Skip checkbox width when filling list item Currently items are filled like this: #+begin_example - [ ] lorem ipsum #+end_example Adding =\\[.\\]= to the regexp used in org-list-item-body-column allows "ipsum" to be aligned below "lorem". **** TODO Prevent ~#+end_src~ background from extending to end-of-line when folded **** TODO Add pandoc's ~auto_identifiers~ scheme for ID generation ~org-export-new-reference~ is the function which generates the current ID, but it returns integers, so maybe the tweak should be made somewhere above in the call stack? *** Programming modes **** ~conf-mode~ ***** TODO Tweak ~javaprop~ comments As per [[https://docs.oracle.com/javase/10/docs/api/java/util/Properties.html#load(java.io.Reader)][the rationale]]: #+begin_src diff diff --git a/lisp/textmodes/conf-mode.el b/lisp/textmodes/conf-mode.el index 57ec8a0428..91aabfb6d2 100644 --- a/lisp/textmodes/conf-mode.el +++ b/lisp/textmodes/conf-mode.el @@ -140,8 +140,7 @@ conf-unix-mode-syntax-table (defvar conf-javaprop-mode-syntax-table (let ((table (make-syntax-table conf-unix-mode-syntax-table))) - (modify-syntax-entry ?/ ". 124" table) - (modify-syntax-entry ?* ". 23b" table) + (modify-syntax-entry ?! "<" table) table) "Syntax table in use in Java properties buffers.") @@ -487,7 +486,7 @@ conf-javaprop-mode (conf-mode-initialize "#" 'conf-javaprop-font-lock-keywords) (setq-local conf-assignment-column conf-javaprop-assignment-column) (setq-local conf-assignment-regexp ".+?\\([ \t]*[=: \t][ \t]*\\|$\\)") - (setq-local comment-start-skip "\\(?:#+\\|/[/*]+\\)\\s *") + (setq-local comment-start-skip "^[ \t]*\\(?:#+\\|!+\\)\\s *") (setq-local imenu-generic-expression '(("Parameters" "^[ \t]*\\(.+?\\)[=: \t]" 1)))) #+end_src **** ~python-mode~ ***** DONE [[bug:51807]] Fix customization group of python-forward-sexp-function :PROPERTIES: :Role: author :PatchApplied: t :END: ***** DONE [[bug:52380]] ~run-python~ no longer focuses interpreter :PROPERTIES: :Role: author :PatchApplied: t :TestAdded: t :END: **** ~sh-mode~ ***** TODO Tweak indentation of continuation lines Attempted to piggyback on Dario Gjorgjevski's [[bug:44592]] to fix these cases: #+begin_src shell ${foo}bar \ --arg $(foo)bar \ --arg ${foo}bar --arg1 \ --arg2 $(foo)bar --arg1 \ --arg2 #+end_src Unfortunately my attempt was [[bug:50320][too naive]] and got reverted. I'll have to [[https://lists.gnu.org/archive/html/help-gnu-emacs/2021-09/msg00004.html][dig into SMIE]] more seriously… ** Minor modes *** electric-pair **** DONE [[bug:39680]] electric-pair-mode broken by undo :PROPERTIES: :Role: author :TestAdded: t :END: Fixed by Stefan. It took some time and effort, but I eventually managed to write a unit test. *** icomplete **** DONE [[bug:38024]] icomplete sometimes fails to show completions after backward-killing words :PROPERTIES: :Role: author :END: Fixed by João. **** TODO [[bug:40152]] icomplete vs recursive prompts :PROPERTIES: :Role: author :END: *** visual-line **** TODO [[bug:31666]] Bad interaction between visual-line-mode and wrap-prefix on long lines :PROPERTIES: :Role: watcher :END: Aka "visual-line-mode adds newlines before words that end up being split anyway"; the problem occurs without wrap-prefixes. ** Themes *** Modus **** DONE [[https://gitlab.com/protesilaos/modus-themes/-/merge_requests/50][protesilaos/modus-themes!50]] Tone down ~icomplete-selected-match~ :PROPERTIES: :Role: author :PatchApplied: t :END: ** Experimental features *** Native compilation **** DONE [[bug:41077]] Segfaults when compiling ELC+ELN :PROPERTIES: :Role: author :END: Took a couple of tries (and 3 days straight of compilation), but I got the branch to compile on my Samsung NC10. See also update 8 on Andrea's [[https://akrl.sdf.org/gccemacs.html][progress page]]. **** DONE [[bug:41194]] fibn benchmark exhausts memory :PROPERTIES: :Role: author :END: Fixed by Andrea (see update 9 on his [[https://akrl.sdf.org/gccemacs.html][progress page]]). ** ERT *** TODO Noninteractive pitfalls - [ ] testing faces vs redisplay (org-mode feature) - [ ] post-command hooks (electric-pair + undo bug) - [ ] current buffer (run-python) * ELPA ** ada-mode *** TODO Preserve default value of ~project-read-file-name-function~ ada-mode pulls in uniquify-files, which unconditionally changes the default value of ~project-read-file-name-function~. - In uniquify-files: stop doing that; advertise this setting in the package commentary. - In ada-mode: let-bind this variable in ~ada-find-file~. ** adaptive-wrap *** DONE [[bug:41810]] Fontify wrap-prefix :PROPERTIES: :Role: author :PatchApplied: t :END: *** TODO More fontifying? 1. Start ~markdown-mode~. 2. Write some ~> long line~ of quoted text. 3. Start ~visual-line-mode~ and ~adaptive-wrap-prefix-mode~ ~>~ markers are not fontified. *** TODO Take ~display~ property into account 1. Start ~markdown-mode~. 2. ~markdown-toggle-markup-hiding~. 3. Write some ~> long line~ of quoted text. 4. Start ~visual-line-mode~ and ~adaptive-wrap-prefix-mode~ The ~wrap-prefix~ does not match the opening ~>~'s ~display~ property. ** debbugs *** DONE [[bug:38551]] bind to RET rather than return :PROPERTIES: :Role: author :PatchApplied: t :END: *** TODO autoload debbugs-gnu-emacs-release-blocking-reports I prefer this over the Org variant, which is autoloaded. *** TODO Make ~debbugs-gnu-apply-patch~ smarter To avoid accidents like [[bug:28969]], [[bug:39504]], and [[bug:41810]]. ** diff-hl *** DONE [[https://github.com/dgutov/diff-hl/issues/142][#142]] Weird interaction between diff-hl-flydiff-mode and org-indent-mode Eventually reported back to Emacs core in [[bug:41584]] and fixed by Eli. ** which-key *** DONE [[https://github.com/justbur/emacs-which-key/issues/314][#314]] Some keymap names no longer show up :PROPERTIES: :Role: author :PatchApplied: t :TestAdded: t :END: * MELPA ** magit *** DONE Helping ~magit-ediff-dwim~ read my mind :PROPERTIES: :Role: author :PatchApplied: t :END: [[https://emacs.stackexchange.com/q/18200/10209][Reported on StackExchange]] first, then [[https://github.com/magit/magit/commit/f65b1bddd31070e6012fe91a7d845f748c40b901][applied by tarsius]]. *** DONE [[https://github.com/magit/magit/pull/2928][magit/magit#2928]] magit-split-range: fix handling of "..@{upstream}" :PROPERTIES: :Role: author :PatchApplied: t :END: *** DONE [[https://github.com/magit/magit/pull/3720][magit/magit#3720]] Make magit-blame-echo actually echo the commit summary :PROPERTIES: :Role: author :PatchApplied: t :END: *** DONE [[https://github.com/magit/magit/pull/4043][magit/magit#4043]] Fix git-commit fontification when comments contain brackets :PROPERTIES: :Role: author :PatchApplied: t :END: *** DONE +[[https://github.com/magit/magit/pull/4207][magit/magit#4207]]+ [[https://github.com/magit/magit/pull/4213][magit/magit#4213]] Autoload magit-file-mode-map correctly :PROPERTIES: :Role: author :END: The initial state of affairs: - ~global-magit-file-mode~ says ~:init-value t~, but that has no effect. - We need to move ~magit-file-mode~ (and ~magit-blob-mode~ while we're at it) to a new, dedicated library, and either - let users customize ~global-magit-file-mode~ to t, which will DTRT, - autoload the form that enables the mode if the variable is set. It's already possible to do either, but it slows down startup considerably. Hopefully moving the mode to a file that does not ~(require 'magit)~ will mitigate this? [[https://lists.gnu.org/archive/html/help-gnu-emacs/2020-09/msg00130.html][For context.]] Eventually closed in favour of [[https://github.com/magit/magit/pull/4237][tarsius's own solution]]. ** markdown-mode *** DONE [[https://github.com/jrblevin/markdown-mode/pull/124][jrblevin/markdown-mode#124]] Prevent spurious bold fontification :PROPERTIES: :Role: author :PatchApplied: t :TestAdded: t :END: *** DONE [[https://github.com/jrblevin/markdown-mode/issues/172][jrblevin/markdown-mode#172]] Spurious bold/italic in inline code :PROPERTIES: :Role: author :TestAdded: t :END: *** DONE [[https://github.com/jrblevin/markdown-mode/issues/223][jrblevin/markdown-mode#223]] Bold markers mess up italics detection :PROPERTIES: :Role: author :END: *** DONE [[https://github.com/jrblevin/markdown-mode/pull/252][jrblevin/markdown-mode#252]] Fix markdown-inline-code-face's :inherit attribute :PROPERTIES: :Role: author :PatchApplied: t :END: *** DONE [[https://github.com/jrblevin/markdown-mode/pull/317][jrblevin/markdown-mode#317]] Bind markdown-insert-list-item to M-RET rather than M- :PROPERTIES: :Role: author :PatchApplied: t :TestAdded: t :END: ** page-break-lines *** DONE [[https://github.com/purcell/page-break-lines/pull/20][purcell/page-break-lines#20]] Fix disabling when major mode is derived from one of page-break-lines-modes :PROPERTIES: :Role: author :PatchApplied: t :END: ** paradox *** DONE [[https://github.com/Malabarba/paradox/pull/125][Malabarba/paradox#125]] Invert :inherit order for paradox-mode-line-face :PROPERTIES: :Role: author :PatchApplied: t :END: *** DONE [[https://github.com/Malabarba/paradox/pull/160][Malabarba/paradox#160]] Fix "Invalid face reference" warnings for custom-button-mouse :PROPERTIES: :Role: author :PatchApplied: t :END: * COMMENT File-local variables #+LINK: bug https://debbugs.gnu.org/ #+LINK: orgmode https://orgmode.org/list/%s/t/#u # Local variables: # org-property-format: "%-16s %s" # end: