unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: Hongyi Zhao <hongyi.zhao@gmail.com>
To: Manuel Giraud <manuel@ledu-giraud.fr>
Cc: Eli Zaretskii <eliz@gnu.org>, help-gnu-emacs <help-gnu-emacs@gnu.org>
Subject: Re: Emacs freezes again when I try to open a file including only one very long line.
Date: Thu, 30 Jun 2022 21:36:45 +0800	[thread overview]
Message-ID: <CAGP6POL2oNrxg1-gpCeju0+zBptckdoVKSXHuXw800HvQgg7XQ@mail.gmail.com> (raw)
In-Reply-To: <87h742741e.fsf@elite.giraud>

On Thu, Jun 30, 2022 at 8:02 PM Manuel Giraud <manuel@ledu-giraud.fr> wrote:
>
> Manuel Giraud <manuel@ledu-giraud.fr> writes:
>
> [...]
>
> > My bad: I hadn't tested with this new file and here longlines-mode does
> > not help that much (Emacs is still responsive for me though). It might
> > be that longlines-mode is searching for space and there is none in this
> > file.
>
> And that's it. It works on the "__tmp.symbols" file by modifying those
> two functions in "longlines.el" as follow (here I've just changed the
> string " " to "|"):
>
> --8<---------------cut here---------------start------------->8---
> (defun longlines-find-break-backward ()
>   "Move point backward to the first available breakpoint and return t.
> If no breakpoint is found, return nil."
>   (and (search-backward "|" (line-beginning-position) 1)
>        (save-excursion
>          (skip-chars-backward "|" (line-beginning-position))
>          (null (bolp)))
>        (progn (forward-char 1)
>               (if (and fill-nobreak-predicate
>                        (run-hook-with-args-until-success
>                         'fill-nobreak-predicate))
>                   (progn (skip-chars-backward "|" (line-beginning-position))
>                          (longlines-find-break-backward))
>                 t))))
>
> (defun longlines-find-break-forward ()
>   "Move point forward to the first available breakpoint and return t.
> If no break point is found, return nil."
>   (and (search-forward "|" (line-end-position) 1)
>        (progn (skip-chars-forward " " (line-end-position))
>               (null (eolp)))
>        (if (and fill-nobreak-predicate
>                 (run-hook-with-args-until-success
>                  'fill-nobreak-predicate))
>            (longlines-find-break-forward)
>          t)))
> --8<---------------cut here---------------end--------------->8---
>
> Maybe those searches should work against a bag of separators like
> space, semicolon, veritcal bar… but it is a case to un-obsolete
> longlines.el

I think things/features like this should be added/extended into
longlines.el for flexibility in handling more scenarios.

> --
> Manuel Giraud

Best,
Hongsheng



  parent reply	other threads:[~2022-06-30 13:36 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-27  0:51 Emacs freezes again when I try to open a file including only one very long line Hongyi Zhao
2022-06-27  1:58 ` Emanuel Berg
2022-06-27  2:29 ` Eli Zaretskii
2022-06-27  2:36   ` Hongyi Zhao
2022-06-27 11:02     ` Eli Zaretskii
2022-06-27 11:22       ` Hongyi Zhao
     [not found]       ` <CAGP6POKVBGL+gKOLAcqPxgFKzAC9bObW-Hzz-pWCj6mpxtCnAg@mail.gmail.com>
     [not found]         ` <83tu856ny2.fsf@gnu.org>
2022-06-28 12:56           ` Hongyi Zhao
2022-06-28 13:11             ` Eli Zaretskii
2022-06-28 13:56               ` Hongyi Zhao
2022-06-28 14:18                 ` Eli Zaretskii
2022-06-28 14:38                   ` Hongyi Zhao
2022-06-28 15:53                     ` Eli Zaretskii
2022-06-29  1:05                       ` Hongyi Zhao
2022-06-29  1:35                         ` Emanuel Berg
2022-06-29  2:36                         ` Eli Zaretskii
2022-06-29  2:48                           ` Hongyi Zhao
2022-06-29 11:16                             ` Eli Zaretskii
2022-06-29 11:25                               ` Hongyi Zhao
2022-06-29 11:37                                 ` Eli Zaretskii
2022-06-29 12:22                                   ` Hongyi Zhao
2022-06-29 14:11                                     ` Eli Zaretskii
2022-06-29 14:30                                       ` Hongyi Zhao
2022-06-29 16:03                                         ` Eli Zaretskii
2022-06-30  0:38                                           ` Hongyi Zhao
2022-06-30  5:41                                             ` Hongyi Zhao
2022-06-30 12:09                                               ` Michael Heerdegen
2022-06-30 12:52                                           ` Michael Heerdegen
2022-06-30 13:56                                             ` Eli Zaretskii
2022-06-30 14:16                                               ` Michael Heerdegen
2022-06-30 14:22                                                 ` Eli Zaretskii
2022-06-30 14:32                                                   ` Michael Heerdegen
2022-06-30 15:54                                                     ` Eli Zaretskii
2022-06-30 14:36                                                   ` Michael Heerdegen
2022-06-30 16:04                                                     ` Eli Zaretskii
2022-07-01 11:17                                                       ` Michael Heerdegen
2022-06-29  6:44                           ` Manuel Giraud
2022-06-29 11:20                             ` Eli Zaretskii
2022-06-30  8:29                             ` Manuel Giraud
2022-06-30 12:02                               ` Manuel Giraud
2022-06-30 12:43                                 ` Emanuel Berg
2022-06-30 12:53                                   ` Emanuel Berg
2022-06-30 13:35                                   ` Manuel Giraud
2022-06-30 13:36                                 ` Hongyi Zhao [this message]
2022-06-30 13:40                                 ` Eli Zaretskii
2022-06-28 15:06                   ` Emanuel Berg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAGP6POL2oNrxg1-gpCeju0+zBptckdoVKSXHuXw800HvQgg7XQ@mail.gmail.com \
    --to=hongyi.zhao@gmail.com \
    --cc=eliz@gnu.org \
    --cc=help-gnu-emacs@gnu.org \
    --cc=manuel@ledu-giraud.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).