mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-06-14 12:31:25 +00:00
Merge from origin/emacs-31
2c2f1c00ac; * lisp/vc/vc-dir.el (vc-dir-update): Add an assertion.51f823a3af; * etc/NEWS: Fix annotation.271cc5c76cMore tests for fill-paragraph-handle-comment.ertscc9f35c54b; * etc/PROBLEMS: Minor fixes of last change.2727a6f4e8; Document problems caused by validation of *.eln files o...f1dd84bec9; * lisp/play/doctor.el (doctor-death): Fix Samaritans UR...0bfbe06090Update to Org 9.8.5aac5e0457aEglot: replace eglot-prefer-plaintext with eglot-document...ec3d662de0Make HTML button elements tab-stoppable in eww (bug#81107) # Conflicts: # etc/NEWS
This commit is contained in:
commit
b64d163979
20 changed files with 145 additions and 40 deletions
|
|
@ -996,6 +996,18 @@ same language server. That file is still outside your project
|
||||||
will consider it to be part of the workspace. The default is
|
will consider it to be part of the workspace. The default is
|
||||||
@code{nil}.
|
@code{nil}.
|
||||||
|
|
||||||
|
@cindex markdown renderer
|
||||||
|
@item eglot-documentation-renderer
|
||||||
|
This variable controls how Eglot renders at-point documentation
|
||||||
|
imported from the server (@pxref{Eglot Features}). By default, the
|
||||||
|
variable's value is set during startup to a markdown renderer if
|
||||||
|
available, either @code{markdown-ts-view-mode} or
|
||||||
|
@code{gfm-view-mode}. These utilities visually enhance the
|
||||||
|
documentation content through fontification and other formatting. If
|
||||||
|
you set it to @code{t}, plain text will be requested from the server
|
||||||
|
and no rendering is attempted. If the variable's value is @code{nil},
|
||||||
|
Eglot will attempt to find a suitable renderer every time.
|
||||||
|
|
||||||
@item eglot-mode-map
|
@item eglot-mode-map
|
||||||
This variable is the keymap for binding Eglot-related command. It is in
|
This variable is the keymap for binding Eglot-related command. It is in
|
||||||
effect only as long as the buffer is managed by Eglot. By default, it
|
effect only as long as the buffer is managed by Eglot. By default, it
|
||||||
|
|
|
||||||
|
|
@ -32,11 +32,15 @@ New key bindings: 'k' shuts down, 'r' reconnects, 'e' visits the events
|
||||||
buffer, 'w' shows workspace configuration, and 'RET' invokes
|
buffer, 'w' shows workspace configuration, and 'RET' invokes
|
||||||
'eglot-describe-connection'.
|
'eglot-describe-connection'.
|
||||||
|
|
||||||
** Eglot uses new built-in 'markdown-ts-mode' of Emacs 31 (bug#80127)
|
** New LSP documentation rendering backends (bug#80127)
|
||||||
|
|
||||||
This means that on newer versions of Emacs the external
|
Eglot uses new built-in 'markdown-ts-mode' of Emacs 31, which means that
|
||||||
'markdown-mode.el' package does not need to be installed to render
|
on newer versions of Emacs the external 'markdown-mode.el' package does
|
||||||
Markdown content.
|
not need to be installed to render Markdown content.
|
||||||
|
|
||||||
|
The variable 'eglot-documentation-renderer' replaces the now-obsolete
|
||||||
|
'eglot-prefer-plaintext'. By default, the variable selects a markdown
|
||||||
|
renderer to use throughout the session.
|
||||||
|
|
||||||
|
|
||||||
* Changes in Eglot 1.23 (2/4/2026)
|
* Changes in Eglot 1.23 (2/4/2026)
|
||||||
|
|
|
||||||
|
|
@ -3005,7 +3005,7 @@ In addition, the Git backend has been fixed to display missing files as
|
||||||
There is still some further work to do to rationalize VC's handling of
|
There is still some further work to do to rationalize VC's handling of
|
||||||
file removal.
|
file removal.
|
||||||
|
|
||||||
---
|
+++
|
||||||
*** New user option 'vc-dir-auto-hide-up-to-date'.
|
*** New user option 'vc-dir-auto-hide-up-to-date'.
|
||||||
If you customize this option to 'revert', the 'g' command to refresh
|
If you customize this option to 'revert', the 'g' command to refresh
|
||||||
the VC Directory buffer also has the effect of the 'x' command.
|
the VC Directory buffer also has the effect of the 'x' command.
|
||||||
|
|
|
||||||
35
etc/PROBLEMS
35
etc/PROBLEMS
|
|
@ -3646,6 +3646,41 @@ file; for example:
|
||||||
"/usr/local/opt/libgccjit/lib/gcc/11"
|
"/usr/local/opt/libgccjit/lib/gcc/11"
|
||||||
"/usr/local/opt/gcc/lib/gcc/11/gcc/x86_64-apple-darwin20/11.2.0") ":"))
|
"/usr/local/opt/gcc/lib/gcc/11/gcc/x86_64-apple-darwin20/11.2.0") ":"))
|
||||||
|
|
||||||
|
** Stuttering and missed keypresses during Native Compilation on macOS
|
||||||
|
|
||||||
|
Natively compiled modules are validated by macOS the first time that
|
||||||
|
they are loaded. On some machines, this can cause Emacs to be
|
||||||
|
temporarily less responsive while a large number of '*.eln' files are
|
||||||
|
being compiled and loaded.
|
||||||
|
|
||||||
|
One can force the first load of the module to happen in the async
|
||||||
|
compilation worker by adding this to their early-init.el:
|
||||||
|
|
||||||
|
(setq native-comp-async-env-modifier-form
|
||||||
|
'(progn
|
||||||
|
(defun c/native-comp--preload-eln-after-compile
|
||||||
|
(compile function-or-file &optional with-late-load output)
|
||||||
|
"Preload async native-comp output in the compiler child."
|
||||||
|
(prog1 (funcall compile function-or-file with-late-load output)
|
||||||
|
(when (and (stringp function-or-file) with-late-load)
|
||||||
|
(with-demoted-errors "Async native .eln preload: %S"
|
||||||
|
(let ((eln-file (comp-el-to-eln-filename function-or-file)))
|
||||||
|
(when (file-exists-p eln-file)
|
||||||
|
(native-elisp-load eln-file t)))))))
|
||||||
|
|
||||||
|
(advice-add 'comp--native-compile
|
||||||
|
:around #'c/native-comp--preload-eln-after-compile)))
|
||||||
|
|
||||||
|
Alternatively, if one is willing to accept the associated security
|
||||||
|
risks, one could disable library validation on their Emacs binary:
|
||||||
|
|
||||||
|
codesign --force --sign - \
|
||||||
|
--entitlements macos-disable-library-validation.entitlements \
|
||||||
|
src/emacs
|
||||||
|
|
||||||
|
Disabling validation might expose you to security risks, so please
|
||||||
|
consider that before using this recipe.
|
||||||
|
|
||||||
** Text dictation doesn't work on macOS
|
** Text dictation doesn't work on macOS
|
||||||
|
|
||||||
The indication is that the macOS keyboard shortcut for dictation is ignored.
|
The indication is that the macOS keyboard shortcut for dictation is ignored.
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
% Reference Card for Org Mode
|
% Reference Card for Org Mode
|
||||||
\def\orgversionnumber{9.8.3}
|
\def\orgversionnumber{9.8.5}
|
||||||
\def\versionyear{2026} % latest update
|
\def\versionyear{2026} % latest update
|
||||||
\input emacsver.tex
|
\input emacsver.tex
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1771,7 +1771,10 @@ just re-display the HTML already fetched."
|
||||||
(put-text-property start (point) 'keymap eww-submit-map)
|
(put-text-property start (point) 'keymap eww-submit-map)
|
||||||
;; Pretend to touch-screen.el that this is a button.
|
;; Pretend to touch-screen.el that this is a button.
|
||||||
(put-text-property start (point) 'button t)
|
(put-text-property start (point) 'button t)
|
||||||
(insert " ")))
|
(insert " ")
|
||||||
|
(put-text-property start (1+ start) 'help-echo "Button")
|
||||||
|
;; Mark this as an element we can TAB to.
|
||||||
|
(put-text-property start (1+ start) 'shr-tab-stop t)))
|
||||||
|
|
||||||
(defun eww-form-checkbox (dom)
|
(defun eww-form-checkbox (dom)
|
||||||
(let ((start (point)))
|
(let ((start (point)))
|
||||||
|
|
@ -1991,7 +1994,8 @@ See URL `https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Input'.")
|
||||||
:value (or (dom-attr dom 'value) "")))))))
|
:value (or (dom-attr dom 'value) "")))))))
|
||||||
(t
|
(t
|
||||||
(eww-form-text dom)))
|
(eww-form-text dom)))
|
||||||
(unless (= start (point))
|
(unless (or (= start (point))
|
||||||
|
(equal type "submit"))
|
||||||
(put-text-property start (1+ start) 'help-echo "Input field")
|
(put-text-property start (1+ start) 'help-echo "Input field")
|
||||||
;; Mark this as an element we can TAB to.
|
;; Mark this as an element we can TAB to.
|
||||||
(put-text-property start (1+ start) 'shr-tab-stop t))))
|
(put-text-property start (1+ start) 'shr-tab-stop t))))
|
||||||
|
|
|
||||||
|
|
@ -7875,7 +7875,7 @@ in the agenda."
|
||||||
"Rebuild possibly ALL agenda view(s) in the current buffer."
|
"Rebuild possibly ALL agenda view(s) in the current buffer."
|
||||||
(interactive "P")
|
(interactive "P")
|
||||||
(defvar org-agenda-tag-filter-while-redo) ;FIXME: Where is this var used?
|
(defvar org-agenda-tag-filter-while-redo) ;FIXME: Where is this var used?
|
||||||
(let* ((p (or (and (looking-at "\\'") (1- (point))) (point)))
|
(let* ((p (or (and (/= 1 (point)) (looking-at "\\'") (1- (point))) (point)))
|
||||||
(cpa (unless (eq all t) current-prefix-arg))
|
(cpa (unless (eq all t) current-prefix-arg))
|
||||||
(org-agenda-doing-sticky-redo org-agenda-sticky)
|
(org-agenda-doing-sticky-redo org-agenda-sticky)
|
||||||
(org-agenda-sticky nil)
|
(org-agenda-sticky nil)
|
||||||
|
|
|
||||||
|
|
@ -1991,13 +1991,15 @@ Optional argument N tells to change by that many units."
|
||||||
(user-error "No active clock"))
|
(user-error "No active clock"))
|
||||||
(save-excursion ; Do not replace this with `with-current-buffer'.
|
(save-excursion ; Do not replace this with `with-current-buffer'.
|
||||||
(with-no-warnings (set-buffer (org-clocking-buffer)))
|
(with-no-warnings (set-buffer (org-clocking-buffer)))
|
||||||
(goto-char org-clock-marker)
|
(save-restriction
|
||||||
(if (looking-back (concat "^[ \t]*" org-clock-string ".*")
|
(widen)
|
||||||
(line-beginning-position))
|
(goto-char org-clock-marker)
|
||||||
(progn (delete-region (1- (line-beginning-position)) (line-end-position))
|
(if (looking-back (concat "^[ \t]*" org-clock-string ".*")
|
||||||
(org-remove-empty-drawer-at (point)))
|
(line-beginning-position))
|
||||||
(message "Clock gone, cancel the timer anyway")
|
(progn (delete-region (1- (line-beginning-position)) (line-end-position))
|
||||||
(sit-for 2)))
|
(org-remove-empty-drawer-at (point)))
|
||||||
|
(message "Clock gone, cancel the timer anyway")
|
||||||
|
(sit-for 2))))
|
||||||
(move-marker org-clock-marker nil)
|
(move-marker org-clock-marker nil)
|
||||||
(move-marker org-clock-hd-marker nil)
|
(move-marker org-clock-hd-marker nil)
|
||||||
(setq org-clock-current-task nil)
|
(setq org-clock-current-task nil)
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
;; Copyright (C) 2004-2026 Free Software Foundation, Inc.
|
;; Copyright (C) 2004-2026 Free Software Foundation, Inc.
|
||||||
|
|
||||||
;; Author: Carsten Dominik <carsten.dominik@gmail.com>
|
;; Author: Carsten Dominik <carsten.dominik@gmail.com>
|
||||||
|
;; Maintainer: Slawomir Grochowski <slawomir.grochowski@gmail.com>
|
||||||
;; Keywords: outlines, hypermedia, calendar, text
|
;; Keywords: outlines, hypermedia, calendar, text
|
||||||
;; URL: https://orgmode.org
|
;; URL: https://orgmode.org
|
||||||
;;
|
;;
|
||||||
|
|
|
||||||
|
|
@ -2953,6 +2953,8 @@ known that the table will be realigned a little later anyway."
|
||||||
(log-first-time (current-time))
|
(log-first-time (current-time))
|
||||||
(log-last-time log-first-time)
|
(log-last-time log-first-time)
|
||||||
(cnt 0)
|
(cnt 0)
|
||||||
|
(table-beg org-table-current-begin-pos)
|
||||||
|
(table-end (org-table-end))
|
||||||
beg end eqlcol eqlfield)
|
beg end eqlcol eqlfield)
|
||||||
;; Insert constants in all formulas.
|
;; Insert constants in all formulas.
|
||||||
(when eqlist
|
(when eqlist
|
||||||
|
|
@ -2989,8 +2991,8 @@ existing formula for column %s"
|
||||||
;; Get the correct line range to process.
|
;; Get the correct line range to process.
|
||||||
(if all
|
(if all
|
||||||
(progn
|
(progn
|
||||||
(setq end (copy-marker (org-table-end)))
|
(setq end (copy-marker table-end))
|
||||||
(goto-char (setq beg org-table-current-begin-pos))
|
(goto-char (setq beg table-beg))
|
||||||
(cond
|
(cond
|
||||||
((re-search-forward org-table-calculate-mark-regexp end t)
|
((re-search-forward org-table-calculate-mark-regexp end t)
|
||||||
;; This is a table with marked lines, compute selected
|
;; This is a table with marked lines, compute selected
|
||||||
|
|
@ -3005,7 +3007,7 @@ existing formula for column %s"
|
||||||
(t nil)))
|
(t nil)))
|
||||||
(setq beg (line-beginning-position)
|
(setq beg (line-beginning-position)
|
||||||
end (copy-marker (line-beginning-position 2))))
|
end (copy-marker (line-beginning-position 2))))
|
||||||
(org-combine-change-calls beg end
|
(org-combine-change-calls table-beg table-end
|
||||||
(goto-char beg)
|
(goto-char beg)
|
||||||
;; Mark named fields untouchable. Also check if several
|
;; Mark named fields untouchable. Also check if several
|
||||||
;; field/range formulas try to set the same field.
|
;; field/range formulas try to set the same field.
|
||||||
|
|
|
||||||
|
|
@ -436,7 +436,7 @@ using three \\[universal-argument] prefix arguments."
|
||||||
(and (not (equal opt '(64)))
|
(and (not (equal opt '(64)))
|
||||||
effort-minutes
|
effort-minutes
|
||||||
(number-to-string effort-minutes))
|
(number-to-string effort-minutes))
|
||||||
(and (consp opt) default-timer)
|
(and (consp opt) (not (equal opt '(64))) default-timer)
|
||||||
(and (stringp opt) opt)
|
(and (stringp opt) opt)
|
||||||
(read-from-minibuffer
|
(read-from-minibuffer
|
||||||
"How much time left? (minutes or h:mm:ss) "
|
"How much time left? (minutes or h:mm:ss) "
|
||||||
|
|
|
||||||
|
|
@ -5,13 +5,13 @@
|
||||||
(defun org-release ()
|
(defun org-release ()
|
||||||
"The release version of Org.
|
"The release version of Org.
|
||||||
Inserted by installing Org mode or when a release is made."
|
Inserted by installing Org mode or when a release is made."
|
||||||
(let ((org-release "9.8.3"))
|
(let ((org-release "9.8.5"))
|
||||||
org-release))
|
org-release))
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defun org-git-version ()
|
(defun org-git-version ()
|
||||||
"The Git version of Org mode.
|
"The Git version of Org mode.
|
||||||
Inserted by installing Org or when a release is made."
|
Inserted by installing Org or when a release is made."
|
||||||
(let ((org-git-version "release_9.8.3"))
|
(let ((org-git-version "release_9.8.5"))
|
||||||
org-git-version))
|
org-git-version))
|
||||||
|
|
||||||
(provide 'org-version)
|
(provide 'org-version)
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
;; URL: https://orgmode.org
|
;; URL: https://orgmode.org
|
||||||
;; Package-Requires: ((emacs "28.2"))
|
;; Package-Requires: ((emacs "28.2"))
|
||||||
|
|
||||||
;; Version: 9.8.3
|
;; Version: 9.8.5
|
||||||
|
|
||||||
;; This file is part of GNU Emacs.
|
;; This file is part of GNU Emacs.
|
||||||
;;
|
;;
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@
|
||||||
;; Alan Schmitt <alan.schmitt AT polytechnique DOT org>
|
;; Alan Schmitt <alan.schmitt AT polytechnique DOT org>
|
||||||
;; Viktor Rosenfeld <listuser36 AT gmail DOT com>
|
;; Viktor Rosenfeld <listuser36 AT gmail DOT com>
|
||||||
;; Rasmus Pank Roulund <emacs AT pank DOT eu>
|
;; Rasmus Pank Roulund <emacs AT pank DOT eu>
|
||||||
;; Maintainer: Marco Wahl <marcowahlsoft@gmail.com>
|
|
||||||
;; Keywords: org, text, tex
|
;; Keywords: org, text, tex
|
||||||
|
|
||||||
;; This file is part of GNU Emacs.
|
;; This file is part of GNU Emacs.
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
;; Copyright (C) 2011-2026 Free Software Foundation, Inc.
|
;; Copyright (C) 2011-2026 Free Software Foundation, Inc.
|
||||||
|
|
||||||
;; Author: Nicolas Goaziou <n.goaziou at gmail dot com>
|
;; Author: Nicolas Goaziou <n.goaziou at gmail dot com>
|
||||||
;; Maintainer: Daniel Fleischer <danflscr@gmail.com>
|
;; Maintainer: Pedro A. Aranda<paaguti aT gmail DoT com>
|
||||||
;; Keywords: outlines, hypermedia, calendar, text
|
;; Keywords: outlines, hypermedia, calendar, text
|
||||||
|
|
||||||
;; This file is part of GNU Emacs.
|
;; This file is part of GNU Emacs.
|
||||||
|
|
|
||||||
|
|
@ -2869,7 +2869,7 @@ Style is a symbol among `quoted', `centered' and nil."
|
||||||
(org-element-lineage
|
(org-element-lineage
|
||||||
paragraph
|
paragraph
|
||||||
'(center-block quote-block section)))
|
'(center-block quote-block section)))
|
||||||
(center-block 'center)
|
(center-block 'centered)
|
||||||
(quote-block 'quoted)))
|
(quote-block 'quoted)))
|
||||||
|
|
||||||
(defun org-odt--format-paragraph (paragraph contents info default center quote)
|
(defun org-odt--format-paragraph (paragraph contents info default center quote)
|
||||||
|
|
|
||||||
|
|
@ -1606,7 +1606,7 @@ Hack on previous word, setting global variable DOCTOR-OWNER to correct result."
|
||||||
(setq doctor--suicide-flag t)
|
(setq doctor--suicide-flag t)
|
||||||
(doctor-type '( If you are really suicidal\, you might
|
(doctor-type '( If you are really suicidal\, you might
|
||||||
want to contact the Samaritans via
|
want to contact the Samaritans via
|
||||||
e-mail: jo@samaritans.org \.
|
https://www.samaritans.org/how-we-can-help/contact-samaritan/ \.
|
||||||
or find a Befrienders crisis center at
|
or find a Befrienders crisis center at
|
||||||
https://www.befrienders.org/\ \.
|
https://www.befrienders.org/\ \.
|
||||||
you can also find other suicide crisis lines at
|
you can also find other suicide crisis lines at
|
||||||
|
|
|
||||||
|
|
@ -149,6 +149,8 @@
|
||||||
'eglot-managed-mode-hook "1.6")
|
'eglot-managed-mode-hook "1.6")
|
||||||
(define-obsolete-variable-alias 'eglot-confirm-server-initiated-edits
|
(define-obsolete-variable-alias 'eglot-confirm-server-initiated-edits
|
||||||
'eglot-confirm-server-edits "1.16")
|
'eglot-confirm-server-edits "1.16")
|
||||||
|
(define-obsolete-variable-alias 'eglot-prefer-plaintext
|
||||||
|
'eglot-documentation-renderer "1.24")
|
||||||
(make-obsolete-variable 'eglot-events-buffer-size
|
(make-obsolete-variable 'eglot-events-buffer-size
|
||||||
'eglot-events-buffer-config "1.16")
|
'eglot-events-buffer-config "1.16")
|
||||||
(define-obsolete-function-alias 'eglot--uri-to-path #'eglot-uri-to-path "1.16")
|
(define-obsolete-function-alias 'eglot--uri-to-path #'eglot-uri-to-path "1.16")
|
||||||
|
|
@ -535,10 +537,21 @@ or file operation kinds not in the alist."
|
||||||
"If non-nil, activate Eglot in cross-referenced non-project files."
|
"If non-nil, activate Eglot in cross-referenced non-project files."
|
||||||
:type 'boolean)
|
:type 'boolean)
|
||||||
|
|
||||||
(defcustom eglot-prefer-plaintext nil
|
(defcustom eglot-documentation-renderer (cond ((eglot--builtin-mdown-p)
|
||||||
"If non-nil, always request plaintext responses to hover requests."
|
'markdown-ts-view-mode)
|
||||||
:type 'boolean
|
((fboundp 'gfm-view-mode)
|
||||||
:package-version '(Eglot . "1.17.30"))
|
'gfm-view-mode)
|
||||||
|
(t
|
||||||
|
nil))
|
||||||
|
"Control rendering of LSP documentation fragments.
|
||||||
|
If set to a major mode symbol `gfm-view-mode' or `markdown-ts-view-mode'
|
||||||
|
request markdown-snippets and use the corresponding Markdown renderer.
|
||||||
|
If t, always request and render plain text snippets. If set to nil,
|
||||||
|
decide dynamically."
|
||||||
|
:type '(choice (const :tag "Plain text" t)
|
||||||
|
(const :tag "Auto-detect" nil)
|
||||||
|
(function :tag "Renderer"))
|
||||||
|
:package-version '(Eglot . "1.24"))
|
||||||
|
|
||||||
(defcustom eglot-report-progress t
|
(defcustom eglot-report-progress t
|
||||||
"If non-nil, show progress of long running LSP server work.
|
"If non-nil, show progress of long running LSP server work.
|
||||||
|
|
@ -733,7 +746,7 @@ This can be useful when using docker to run a language server.")
|
||||||
(treesit-grammar-location 'markdown)))
|
(treesit-grammar-location 'markdown)))
|
||||||
|
|
||||||
(defun eglot--accepted-formats ()
|
(defun eglot--accepted-formats ()
|
||||||
(if (and (not eglot-prefer-plaintext)
|
(if (and (not (eq t eglot-documentation-renderer))
|
||||||
(or (fboundp 'gfm-view-mode) (eglot--builtin-mdown-p)))
|
(or (fboundp 'gfm-view-mode) (eglot--builtin-mdown-p)))
|
||||||
["markdown" "plaintext"]
|
["markdown" "plaintext"]
|
||||||
["plaintext"]))
|
["plaintext"]))
|
||||||
|
|
@ -2263,12 +2276,14 @@ If MODE, force MODE to be used for fontifying MARKUP."
|
||||||
finally return (buffer-string)))
|
finally return (buffer-string)))
|
||||||
(calc2 (forced-mode)
|
(calc2 (forced-mode)
|
||||||
(cond
|
(cond
|
||||||
(forced-mode `(,forced-mode))
|
(forced-mode forced-mode)
|
||||||
((eglot--builtin-mdown-p) `(,#'markdown-ts-view-mode))
|
((fboundp eglot-documentation-renderer) eglot-documentation-renderer)
|
||||||
((fboundp 'gfm-view-mode) `(,#'gfm-view-mode ,#'gfm-extract))
|
((eglot--builtin-mdown-p) #'markdown-ts-view-mode)
|
||||||
(t `(#'text-mode))))
|
((fboundp 'gfm-view-mode) #'gfm-view-mode)
|
||||||
|
(t #'text-mode)))
|
||||||
(calc (s &optional (forced-mode mode) &aux (x (calc2 forced-mode)))
|
(calc (s &optional (forced-mode mode) &aux (x (calc2 forced-mode)))
|
||||||
(setq string s render (car x) extract (or (cadr x) #'buffer-string))))
|
(setq string s render x
|
||||||
|
extract (if (eq x 'gfm-view-mode) #'gfm-extract #'buffer-string))))
|
||||||
(cond ((stringp markup) (calc markup)) ; plain string
|
(cond ((stringp markup) (calc markup)) ; plain string
|
||||||
((setq lang (plist-get markup :language)) ; deprecated MarkedString
|
((setq lang (plist-get markup :language)) ; deprecated MarkedString
|
||||||
(calc (format "```%s\n%s\n```" lang (plist-get markup :value))))
|
(calc (format "```%s\n%s\n```" lang (plist-get markup :value))))
|
||||||
|
|
|
||||||
|
|
@ -646,7 +646,8 @@ Also update some VC file properties from ENTRIES."
|
||||||
(or (null next)
|
(or (null next)
|
||||||
(vc-dir-fileinfo->directory (ewoc-data next)))))
|
(vc-dir-fileinfo->directory (ewoc-data next)))))
|
||||||
(ewoc-delete vc-ewoc crt)))
|
(ewoc-delete vc-ewoc crt)))
|
||||||
(setq crt prev))))))
|
(setq crt prev))))
|
||||||
|
(cl-assert (null to-remove))))
|
||||||
;; Update VC file properties.
|
;; Update VC file properties.
|
||||||
(pcase-dolist (`(,file ,state ,_extra) entries)
|
(pcase-dolist (`(,file ,state ,_extra) entries)
|
||||||
(vc-file-setprop file 'vc-backend
|
(vc-file-setprop file 'vc-backend
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
Point-Char: |
|
Point-Char: |
|
||||||
|
|
||||||
Name: fill-paragraph-handle-comment - non-comment line before comment line
|
Name: fill-paragraph-handle-comment - current non-comment line before comment line
|
||||||
Code:
|
Code:
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(setq-local comment-start "# ")
|
(setq-local comment-start "# ")
|
||||||
|
|
@ -21,7 +21,22 @@ not part of the comment
|
||||||
|
|
||||||
=-=-=
|
=-=-=
|
||||||
|
|
||||||
Name: fill-paragraph-handle-comment - non-comment line after comment line
|
Name: fill-paragraph-handle-comment - non-comment line before current comment line
|
||||||
|
|
||||||
|
=-=
|
||||||
|
|
||||||
|
this is not part of the comment this is not part of the comment
|
||||||
|
# this is a comment this is a comment this is a comment|
|
||||||
|
|
||||||
|
=-=
|
||||||
|
|
||||||
|
this is not part of the comment this is not part of the comment
|
||||||
|
# this is a comment this is a comment this
|
||||||
|
# is a comment
|
||||||
|
|
||||||
|
=-=-=
|
||||||
|
|
||||||
|
Name: fill-paragraph-handle-comment - comment line before current non-comment line
|
||||||
|
|
||||||
=-=
|
=-=
|
||||||
|
|
||||||
|
|
@ -35,3 +50,18 @@ this is not part of the comment this is
|
||||||
not part of the comment
|
not part of the comment
|
||||||
|
|
||||||
=-=-=
|
=-=-=
|
||||||
|
|
||||||
|
Name: fill-paragraph-handle-comment - current comment line before non-comment line
|
||||||
|
|
||||||
|
=-=
|
||||||
|
|
||||||
|
# this is a comment this is a comment this is a comment|
|
||||||
|
this is not part of the comment this is not part of the comment
|
||||||
|
|
||||||
|
=-=
|
||||||
|
|
||||||
|
# this is a comment this is a comment this
|
||||||
|
# is a comment
|
||||||
|
this is not part of the comment this is not part of the comment
|
||||||
|
|
||||||
|
=-=-=
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue