[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Is M-j broken for you in Org on Emacs 27 and 28?
From: |
Tim Cross |
Subject: |
Re: Is M-j broken for you in Org on Emacs 27 and 28? |
Date: |
Tue, 30 Nov 2021 12:10:22 +1100 |
User-agent: |
mu4e 1.7.5; emacs 28.0.60 |
Richard Lawrence <richard.lawrence@uni-tuebingen.de> writes:
> Tim Cross <theophilusx@gmail.com> writes:
>
>> I'm running Emacs 28 and cannot reproduce the issue you observe.
>
> Hmm, the plot thickens!
>
>> Running emacs -Q I find M-j is bound to
>>
>> M-j runs the command default-indent-new-line (found in global-map),
>> which is an interactive compiled Lisp function in ‘simple.el’.
>
> I definitely see the error in emacs -Q with
>
> GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.24, cairo
> version 1.16.0)
o>
> which only contains Org 9.3, in my installation. So the problem has been
> around at least that long, but only surfaced for me because the binding
> of M-j changed between Emacs 26 and 27.
>
>> This binding is the same inside and outside of org mode.
>
> Yes, but inside Org mode, default-indent-new-line calls
> org-comment-line-break-function (because it is the value of
> comment-line-break-function), which is where the error originates.
>
> The last line of org-comment-line-break-function is:
>
> (insert-before-markers-and-inherit fill-prefix)
>
> and fill-prefix is nil, at least in all the contexts where I've tried
> this.
>
> Since you're not seeing the error, could you please check in an Org
> buffer whether:
>
> - comment-line-break-function is 'org-comment-line-break-function
> - org-comment-line-break-function contains the line above (it should;
> it's still there in the master branch)
> - fill-prefix is nil when you type M-j?
>
I just checked this when running emacs -Q and get the following
comment-line-break-function is a variable defined in ‘simple.el’.
Its value is ‘org-comment-line-break-function’
Local in buffer test.org; global value is
comment-indent-new-line
Mode-specific function that line breaks and continues a comment.
This function is called during auto-filling when a comment syntax
is defined.
The function should take a single optional argument, which is a flag
indicating whether it should use soft newlines.
This variable may be risky if used as a file-local variable.
and fill-prefix is
fill-prefix is a variable defined in ‘simple.el’.
Its value is nil
String for filling to insert at front of new line, or nil for none.
Automatically becomes buffer-local when set.
This variable is safe as a file local variable if its value
satisfies the predicate ‘string-or-null-p’.
You can customize this variable.
Probably introduced at or before Emacs version 1.7.
and I don't get any error with M-j and cannot reproduce the issue you
are encountering. .
Emacs is
GNU Emacs 28.0.60 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.30,
cairo version 1.16.0) of 2021-11-30
and org version is
Org mode version 9.5.1 (release_9.5.1-11-g96d91b @
/usr/local/share/emacs/28.0.60/lisp/org/)
Looking at the git log, I can only find these messages relating to
default-indent-new-line
commit b41f31d2b60269bd0e7addd1081f3738f91e76bc
Author: Lars Ingebrigtsen <larsi@gnus.org>
Date: Wed Aug 4 10:03:12 2021 +0200
Make `M-j' work reliably if `comment-auto-fill-only-comments' is set
* lisp/simple.el (default-indent-new-line): Force breaking the
line when called interactively (bug#49849). (Perhaps the
interactive command should be rebound and call this function
instead...)
commit 8a11e430ec261c08cc928a7a5b05ee1027f50368
Author: Dmitry Gutov <dgutov@yandex.ru>
Date: Thu Jun 27 16:57:47 2019 +0200
Use `default-indent-new-line' instead of `indent-new-comment-line'
* lisp/simple.el (default-indent-new-line): Doc string fix.
* lisp/textmodes/refill.el (refill-post-command-function): Make
default-indent-new-line work as indent-new-comment-line.
* lisp/textmodes/refill.el (refill-post-command-function): Bind
`M-C-j' and `M-j' to default-indent-new-line instead of
indent-new-comment-line to allow overriding via
`comment-line-break-function' (bug#12413).
commit 0b727f9d087d950c0d6614c9ec743a935d4e5fc7
Author: Richard M. Stallman <rms@gnu.org>
Date: Tue Aug 7 03:04:23 2007 +0000
(default-indent-new-line): New function.
It calls comment-line-break-function if there are comments.
(do-auto-fill): Use that.
which indicates the function was added in 2007 by RMS and made the
default for M-j in 2019.
Based on your report of having org 9.3, my suspicion is that your org
version is too old for the current Emacs versions (since the change in
2019 to use default-indent-new-line for C-M-j and M-j. I don't think
this is a bug in current Org or Emacs.
The other possibility is that you have a broken "mixed" installation of
org. This can easily occur if org is upgraded when it has already been
loaded into the Emacs instance when the upgrade is performed. It is
critically important to ensure Org has not been loaded before attempting
to do an upgrade. Unfortunately, it is very easy to not realise that
something in your init file is loading org. One of the advantages of
using use-package is that you can configure things so that org is not
loaded until you actually open an org file, which makes it easier to
start a new Emacs instance and perform the upgrade in a clean
environment. Where people often come undone is when some other package
they are using loads org because of an internal dependency.
- Is M-j broken for you in Org on Emacs 27 and 28?, Richard Lawrence, 2021/11/28
- Re: Is M-j broken for you in Org on Emacs 27 and 28?, Greg Minshall, 2021/11/28
- Re: Is M-j broken for you in Org on Emacs 27 and 28?, Colin Baxter 😺, 2021/11/28
- Re: Is M-j broken for you in Org on Emacs 27 and 28?, Richard Lawrence, 2021/11/28
- Re: Is M-j broken for you in Org on Emacs 27 and 28?, Colin Baxter 😺, 2021/11/29
- Re: Is M-j broken for you in Org on Emacs 27 and 28?,
Tim Cross <=
- [PATCH] Fix org-comment-line-break-function (was: Is M-j broken for you in Org on Emacs 27 and 28?), Richard Lawrence, 2021/11/30
- Re: [PATCH] Fix org-comment-line-break-function, Marco Wahl, 2021/11/30
- Re: [PATCH] Fix org-comment-line-break-function, Kaushal Modi, 2021/11/30
- Re: [PATCH] Fix org-comment-line-break-function, Tim Cross, 2021/11/30
- Re: [PATCH] Fix org-comment-line-break-function, Kaushal Modi, 2021/11/30
- Re: [PATCH] Fix org-comment-line-break-function, Kaushal Modi, 2021/11/30
- Re: [PATCH] Fix org-comment-line-break-function, Tim Cross, 2021/11/30
- Re: Is M-j broken for you in Org on Emacs 27 and 28?, Morgan Willcock, 2021/11/30
- Re: Is M-j broken for you in Org on Emacs 27 and 28?, Richard Lawrence, 2021/11/29