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 ** Build process *** Dump **** DONE [[bug:38492]] Warn pdumper users when pure space has been overflowed :PROPERTIES: :Role: author :END: Fixed by Eli. *** LEIM **** DONE [[bug:54816]] Silent "Compiler-macro error for cl-member" when building from scratch :PROPERTIES: :Role: author :PatchApplied: t :END: ** 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. **** TODO [[bug:52983]] Implement visual-fill-column equivalent in display engine The status quo is disheartening: - hard-wrapping is illegible in narrow windows, - soft-wrapping is illegible in wide windows. This feature would allow unwrapped text to have a reasonable upper limit on line length, with smart wrapping prefixes using =adaptive-wrap=; even hard-wrapped text would not look /too/ ugly in narrow windows. **** TODO Line height changes depending on visible characters E.g. with wide Org tables and ~truncate-lines~ enabled, if the ~org-table~ face is set to a smaller height, then scrolling horizontally makes the lines "shake" because the final newline does not have the ~org-table~ face, and is thus taller. Not sure what the right approach is: 1. ask Org to fontify the final newline, 2. ask display engine to consider the whole line to compute the height 3. ask display engine to ignore the newline to compute the height *** 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. *** 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]]). ** 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:[[file:read-passwd-reveal.patch][attach]]. *** TODO Make cursor appearance context-dependent E.g. add a customizable list of (PREDICATE . PROPERTIES) pairs; the cursor gets the PROPERTIES from the first PREDICATE which matches. Use-cases: - org-speed-commands - repeat-mode *** 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~. *** Info **** ~info-display-manual~ ***** TODO redundant candidates E.g. =foo= and =foo.info.gz=. ***** TODO invalid candidates E.g. =gnutls-….png= ***** TODO use ~Info-additional-directory-list~ **** TODO redundant ~(if x (append x y) y)~ **** TODO redundant entries in ~Info-default-directory-list~ (Glenn's FIXME) - 2000-12-14 "(Info-default-directory-list): If…" (e103ef954c) config-dir = "{configure-info-directory}/" config = (list config-dir) config-dir ∈ standard-info-dirs ⇒ standard-info-dirs/config-dir ∨ config - 2000-12-15 "(Info-default-directory-list): Don't…" (b6348438a2) config-dir ∈ standard-info-dirs ⇒ standard-info-dirs ∨ config - 2012-05-26 "* lisp/paths.el (Info-default-…" (04188bb9ad) "why though" *** 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 [[bug:52587]] 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? **** TODO Make org-refile completion more similar to filename completion With =C-x p p=, =C-x p f=, and Gnus's =B m=, typing "bar" matches "foo/bar". Not in org-refile with ~org-refile-use-outline-path~, for some reason. *** 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: ** ERT *** TODO Noninteractive pitfalls - [ ] testing faces vs redisplay (org-mode dir-local TODO keywords) - [ ] 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: