unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Dmitry Gutov <dgutov@yandex.ru>
To: Alan Mackenzie <acm@muc.de>
Cc: Stefan Monnier <monnier@iro.umontreal.ca>,
	Drew Adams <drew.adams@oracle.com>,
	emacs-devel@gnu.org
Subject: Re: forward-comment and syntax-ppss
Date: Fri, 16 Dec 2016 22:06:01 +0200	[thread overview]
Message-ID: <b72734b5-1c36-23ee-dfde-aa3350abdafb@yandex.ru> (raw)
In-Reply-To: <20161216192558.GA3858@acm.fritz.box>

On 16.12.2016 21:25, Alan Mackenzie wrote:

>> Why should some facilities ignore narrowing, then? E.g. font-lock and
>> indentation, which have traditionally done so.
>
> They don't.  No text outside of the visible region is indented

Why would the text outside be indented? indent-for-tab-command indents 
the current line. IOW, it ignores all the effect that narrowing could 
have (in some modes; others don't bother to widen).

> or
> fontified.

Yes, it is. Maybe not entirely, because of jit-lock, but the first thing 
font-lock-default-fontify-buffer does is call widen.

> But, if necessary, text outside the visible region is
> inspected to get the needed context for the operation within it.

Which, for many purposes, is as bad as ignoring the narrowing.

> I think it's quite a long time ago since anybody
> gave any examples of narrowing supposedly making things difficult.  A
> reminder of what these things are would be most welcome now.

Should that happen every couple of months, or so? We have search in the 
mailing list archives, you know.

1. Classical example of mixing narrowing for two different purposes, and 
how that backfires:

M-: (info "(elisp) Variables")

Select some region, and to focus on reading it better (or some other 
reason you use narrowing interactively for), narrow to it: C-x n n.

Finish reading it, try to get back to the node with `C-x n w'.

Instead, you see the whole elisp.info.

2. Multi-mode usage where the framework delegates to each subregion's 
major mode for fontification and indentation.

I'm not going to recap it all again now, but, suffice to say, font-lock 
rules, indentation functions and syntax-ppss ignoring the narrowing 
imposed on them by the calling code is highly inconvenient.

We don't want the JS indentation or highlighting rules to look at HTML 
code, and vice versa.



  reply	other threads:[~2016-12-16 20:06 UTC|newest]

Thread overview: 299+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-28 19:50 Preview: portable dumper Daniel Colascione
2016-11-28 19:58 ` Burton Samograd
2016-11-28 20:11   ` Daniel Colascione
2016-11-28 20:12 ` Eli Zaretskii
2016-11-28 20:14   ` Daniel Colascione
2016-11-28 20:16     ` Daniel Colascione
2016-11-28 20:29     ` Eli Zaretskii
2016-11-28 20:20   ` John Wiegley
2016-11-28 20:22     ` Daniel Colascione
2016-11-28 20:26       ` John Wiegley
2016-11-28 20:31         ` Daniel Colascione
2016-11-28 20:37           ` Burton Samograd
2016-11-28 20:44             ` Daniel Colascione
2016-11-29 16:02               ` Ted Zlatanov
2016-11-29 17:58                 ` Daniel Colascione
2016-11-29 16:48               ` Richard Stallman
2016-11-29 17:32                 ` Daniel Colascione
2016-11-29 19:55                   ` Philippe Vaucher
2016-11-29 17:43                 ` Eli Zaretskii
2016-11-29 17:49                   ` Daniel Colascione
2016-11-29 18:17                     ` Eli Zaretskii
2016-11-29 18:03                   ` John Wiegley
2016-11-29 18:23                     ` Eli Zaretskii
2016-11-29 18:49                       ` Daniel Colascione
2016-11-29 19:02                         ` Eli Zaretskii
2016-12-01  9:18                         ` Richard Stallman
2016-12-01 18:11                           ` Eli Zaretskii
2016-12-02  4:28                             ` Ken Raeburn
2016-12-02  4:41                               ` Daniel Colascione
2016-12-02  8:08                                 ` Eli Zaretskii
2016-12-02  8:03                               ` Eli Zaretskii
2016-12-02 17:24                                 ` Ken Raeburn
2016-11-28 20:39           ` John Wiegley
2016-11-28 20:34         ` Burton Samograd
2016-11-28 20:31     ` Eli Zaretskii
2016-11-28 20:21   ` Paul Eggert
2016-11-28 20:34     ` Eli Zaretskii
2016-11-28 20:47       ` John Wiegley
2016-11-28 21:14         ` Eli Zaretskii
2016-11-28 21:55           ` Daniel Colascione
2016-11-28 22:18           ` John Wiegley
2016-11-29 18:40             ` Eli Zaretskii
2016-11-29 19:11               ` John Wiegley
2016-11-29 20:07                 ` Eli Zaretskii
2016-11-29 20:29                   ` John Wiegley
2016-11-29 20:36                     ` Daniel Colascione
2016-11-29 21:30                       ` John Wiegley
2016-11-30  8:26                       ` Philippe Vaucher
2016-11-29 19:12               ` Daniel Colascione
2016-11-29 16:55   ` Richard Stallman
2016-11-29 18:39     ` Eli Zaretskii
2016-11-29 19:03       ` Daniel Colascione
2016-11-29 19:59         ` Eli Zaretskii
2016-11-29 20:28           ` John Wiegley
2016-11-29 19:13       ` Paul Eggert
2016-11-29 19:35         ` Eli Zaretskii
2016-11-29 20:54           ` Paul Eggert
2016-11-30 16:38             ` Eli Zaretskii
2016-11-30 18:57               ` John Wiegley
2016-11-30 19:14                 ` Daniel Colascione
2016-11-30 21:03                   ` John Wiegley
2016-11-30 21:06                     ` Paul Eggert
2016-11-30 21:44                       ` John Wiegley
2016-12-01  3:32                       ` Eli Zaretskii
2016-12-01  9:16                         ` Paul Eggert
2016-12-01 17:26                           ` Eli Zaretskii
2016-12-01 17:35                             ` Daniel Colascione
2016-12-01 17:58                             ` Paul Eggert
2016-11-30 21:35                     ` Daniel Colascione
2016-11-30 21:44                       ` John Wiegley
2016-11-30 21:50                         ` Daniel Colascione
2016-11-30 22:20                           ` John Wiegley
2016-12-01  1:37                           ` Paul Eggert
2016-12-01  1:45                             ` Daniel Colascione
2016-12-01  3:47                           ` Eli Zaretskii
2016-12-01  4:10                             ` John Wiegley
2016-12-01  4:12                               ` Daniel Colascione
2016-12-01  4:49                                 ` John Wiegley
2016-12-01  5:12                                   ` Daniel Colascione
2016-12-01  9:03                                     ` Matt Armstrong
2016-12-02  8:10                                       ` John Wiegley
2016-12-01  9:18                                     ` Phillip Lord
2016-12-01  4:10                             ` Daniel Colascione
2016-12-01  3:41                         ` Eli Zaretskii
2016-11-30 19:29                 ` Philippe Vaucher
2016-11-30 19:45                   ` Daniel Colascione
2016-11-30 21:06               ` Paul Eggert
2016-12-01  9:18       ` Richard Stallman
2016-12-01 18:09         ` Eli Zaretskii
2016-12-02  2:18           ` Stefan Monnier
2016-12-02  7:54             ` Eli Zaretskii
2016-12-02  8:08               ` John Wiegley
2016-12-02  8:59                 ` Eli Zaretskii
2016-12-02 19:39                   ` John Wiegley
2016-12-02 20:11                     ` Karl Fogel
2016-12-02 21:22                       ` Daniel Colascione
2016-12-02 22:06                         ` Eli Zaretskii
2016-12-02 23:15                         ` Karl Fogel
2016-12-15 14:28                         ` Philippe Vaucher
2017-10-18 23:36                           ` Kaushal Modi
2017-10-19 10:12                             ` Jeremie Courreges-Anglas
2018-02-12 20:18                               ` Daniel Colascione
2018-02-13 16:37                                 ` Eli Zaretskii
2018-02-14 21:03                                   ` Philipp Stephani
2018-02-15  0:42                                     ` Daniel Colascione
2018-02-15 23:31                                   ` Ken Brown
2018-02-15 23:36                                     ` Daniel Colascione
2018-02-16  1:56                                       ` Ken Brown
2018-02-16  2:36                                         ` Daniel Colascione
2018-02-17 23:38                                           ` Ken Brown
2018-02-17 23:59                                             ` Ken Brown
2018-02-18  0:02                                             ` Daniel Colascione
2018-02-19 13:30                                               ` Ken Brown
2018-02-19 17:03                                                 ` Daniel Colascione
2018-02-19 22:33                                                   ` Ken Brown
2018-02-20 16:32                                                     ` Ken Brown
2018-02-20 17:23                                                       ` Daniel Colascione
2018-02-20  1:16                                                   ` Andy Moreton
2018-02-17  1:01                                   ` Clément Pit-Claudel
2018-02-19 17:06                                     ` Daniel Colascione
2018-02-19 22:00                                       ` Clément Pit-Claudel
2018-02-17 11:53                                   ` Charles A. Roelli
2018-02-17 12:09                                     ` Alan Third
2018-02-17 14:12                                       ` Charles A. Roelli
2018-02-20  0:54                                   ` Andy Moreton
2018-02-15  4:28                                 ` Stefan Monnier
2018-02-15 22:13                                   ` Daniel Colascione
2018-02-15 22:30                                     ` Paul Eggert
2018-02-15 22:35                                       ` Daniel Colascione
2018-02-15 22:56                                         ` Paul Eggert
2018-02-15 22:35                                     ` Paul Eggert
2018-02-15 18:34                                 ` andres.ramirez
2018-02-19 22:01                                 ` Daniele Nicolodi
2018-02-20  0:28                                   ` Daniel Colascione
2016-12-02 22:06                       ` Eli Zaretskii
2016-12-02 22:28                         ` Daniel Colascione
2016-12-03  8:48                           ` Eli Zaretskii
2016-12-03  9:34                             ` Daniel Colascione
2016-12-03 12:47                               ` Eli Zaretskii
2016-12-03 14:36                                 ` Alan Mackenzie
2016-12-03 15:11                                   ` Eli Zaretskii
2016-12-04 12:20                                     ` Alan Mackenzie
2016-12-04 12:48                                       ` Dmitry Gutov
2016-12-04 15:53                                       ` Eli Zaretskii
2016-12-03 17:36                                   ` Daniel Colascione
2016-12-03 17:40                                     ` Dmitry Gutov
2016-12-03 21:09                                       ` Stefan Monnier
2016-12-03 21:31                                         ` Daniel Colascione
2016-12-04  4:25                                           ` Stefan Monnier
2016-12-04 12:34                                         ` Alan Mackenzie
2016-12-04 12:51                                           ` Dmitry Gutov
2016-12-04 14:08                                           ` Stefan Monnier
2016-12-04 15:22                                             ` Alan Mackenzie
2016-12-04 22:24                                             ` forward-comment and syntax-ppss (was: Preview: portable dumper) Stefan Monnier
2016-12-06 19:55                                               ` Alan Mackenzie
2016-12-06 22:56                                                 ` forward-comment and syntax-ppss Stefan Monnier
2016-12-07  6:55                                                   ` Andreas Röhler
2016-12-07 14:01                                                     ` Stefan Monnier
2016-12-07 14:49                                                       ` Andreas Röhler
2016-12-07 14:53                                                         ` Clément Pit--Claudel
2016-12-07 22:04                                                           ` Alan Mackenzie
2016-12-07 22:23                                                             ` Clément Pit--Claudel
2016-12-08 19:31                                                               ` Alan Mackenzie
2016-12-08 19:54                                                                 ` Clément Pit--Claudel
2016-12-09  8:37                                                                   ` Eli Zaretskii
2016-12-08  2:32                                                             ` Stefan Monnier
2016-12-08 20:15                                                               ` Alan Mackenzie
2016-12-08 20:34                                                                 ` Clément Pit--Claudel
2016-12-08 21:25                                                                   ` Dmitry Gutov
2016-12-08 21:35                                                                   ` Stefan Monnier
2016-12-08 21:13                                                                 ` Stefan Monnier
2016-12-09 18:00                                                                   ` Alan Mackenzie
2016-12-09 18:47                                                                     ` Stefan Monnier
2016-12-09 22:33                                                                       ` Clément Pit--Claudel
2016-12-09 23:09                                                                         ` Alan Mackenzie
2016-12-10  6:56                                                                         ` Eli Zaretskii
2016-12-10 18:39                                                                       ` Andreas Röhler
2016-12-08 21:24                                                                 ` Dmitry Gutov
2016-12-08 21:47                                                                   ` Stefan Monnier
2016-12-09  7:39                                                                     ` Andreas Röhler
2016-12-09 19:07                                                                   ` Alan Mackenzie
2016-12-09 23:30                                                                     ` Dmitry Gutov
2016-12-11  0:24                                                                       ` Stefan Monnier
2016-12-11 10:17                                                                       ` Alan Mackenzie
2016-12-11 10:40                                                                         ` Andreas Röhler
2016-12-16  1:33                                                                         ` Dmitry Gutov
2016-12-16  2:06                                                                           ` Drew Adams
2016-12-16  8:12                                                                             ` Eli Zaretskii
2016-12-16 12:32                                                                             ` Dmitry Gutov
2016-12-16 16:22                                                                               ` Drew Adams
2016-12-16 19:14                                                                                 ` Dmitry Gutov
2016-12-16 23:16                                                                                   ` Drew Adams
2016-12-17  0:08                                                                                     ` Dmitry Gutov
2016-12-16 19:25                                                                               ` Alan Mackenzie
2016-12-16 20:06                                                                                 ` Dmitry Gutov [this message]
2016-12-16 23:16                                                                                   ` Drew Adams
2016-12-17  0:42                                                                                     ` Dmitry Gutov
2016-12-17  1:30                                                                                       ` Drew Adams
2016-12-17  1:40                                                                                         ` Stefan Monnier
2016-12-17  2:26                                                                                           ` Drew Adams
2016-12-17 14:37                                                                                             ` Stefan Monnier
2016-12-16 14:24                                                                             ` Clément Pit--Claudel
2016-12-16 16:22                                                                               ` Drew Adams
2016-12-16 19:50                                                                                 ` Clément Pit--Claudel
2016-12-16 23:16                                                                                   ` Drew Adams
2016-12-17  2:39                                                                                     ` Clément Pit--Claudel
2016-12-17  4:50                                                                                       ` Wording of the Elisp manuals (was: forward-comment and syntax-ppss) Marcin Borkowski
2016-12-20  9:22                                                                                         ` Wording of the Elisp manuals Michael Heerdegen
2016-12-20 10:52                                                                                         ` Wording of the Elisp manuals (was: forward-comment and syntax-ppss) Jean-Christophe Helary
2016-12-20 16:01                                                                                           ` Eli Zaretskii
     [not found]                                                                             ` <<83oa0c8f7r.fsf@gnu.org>
2016-12-16 16:22                                                                               ` forward-comment and syntax-ppss Drew Adams
2016-12-16 21:00                                                                                 ` Eli Zaretskii
     [not found]                                                                                 ` <<8337hn8u81.fsf@gnu.org>
2016-12-16 23:16                                                                                   ` Drew Adams
2016-12-16 20:06                                                                           ` Alan Mackenzie
2016-12-16 22:08                                                                             ` Dmitry Gutov
2016-12-16 23:08                                                                               ` Stefan Monnier
2016-12-17  0:18                                                                                 ` Dmitry Gutov
2016-12-17  7:37                                                                                   ` Marcin Borkowski
2016-12-17  7:42                                                                                 ` Eli Zaretskii
2016-12-17 14:41                                                                                   ` Stefan Monnier
2016-12-17 14:49                                                                                     ` Eli Zaretskii
2016-12-17 15:09                                                                                       ` Lars Ingebrigtsen
2016-12-18 20:08                                                                                         ` Dmitry Gutov
2017-02-05 23:33                                                                                         ` Drew Adams
2016-12-17 15:38                                                                                       ` Stefan Monnier
2016-12-19  2:31                                                                                         ` Dmitry Gutov
2016-12-19 13:12                                                                                           ` Stefan Monnier
2016-12-19 13:34                                                                                             ` Dmitry Gutov
2016-12-19 14:17                                                                                               ` Stefan Monnier
2016-12-19 23:16                                                                                                 ` Dmitry Gutov
2016-12-20 13:33                                                                                                   ` Stefan Monnier
2017-11-29 23:48                                                                                                     ` multi-modes and widen (again), was: " Dmitry Gutov
2017-11-30 13:05                                                                                                       ` Stefan Monnier
2017-12-01 23:57                                                                                                         ` Dmitry Gutov
2016-12-16 23:16                                                                               ` Drew Adams
2016-12-09  8:35                                                                 ` Eli Zaretskii
2016-12-09 17:08                                                                   ` Alan Mackenzie
2016-12-09 17:22                                                                     ` Eli Zaretskii
2016-12-09 21:55                                                                       ` Richard Stallman
2016-12-03 21:31                                   ` Preview: portable dumper Richard Stallman
2016-12-04 12:41                                     ` Alan Mackenzie
2016-12-03 17:41                                 ` Paul Eggert
2016-12-03 19:49                                   ` Eli Zaretskii
2016-12-03 21:30                                 ` Richard Stallman
2016-12-04  3:31                                   ` Eli Zaretskii
2016-12-04 23:03                                     ` Richard Stallman
2016-12-03 17:24                               ` Paul Eggert
2016-12-03 15:56                             ` Stefan Monnier
2016-12-03 21:31                               ` Richard Stallman
2016-12-04 23:05                             ` Richard Stallman
2016-12-02 22:29                         ` John Wiegley
2016-12-03 21:28                         ` Richard Stallman
2016-12-04 15:57                           ` Eli Zaretskii
2016-12-04 17:12                             ` Daniel Colascione
2016-12-04 23:07                               ` Richard Stallman
2016-12-05  0:24                                 ` Daniel Colascione
2016-12-06 10:38                               ` Philippe Vaucher
2016-12-02  9:00               ` Philippe Vaucher
2016-12-02 10:56                 ` Eli Zaretskii
2017-05-26 19:48                   ` Thien-Thi Nguyen
2017-05-26 20:26                     ` Kaushal Modi
2017-05-27  7:27                       ` Thien-Thi Nguyen
2016-12-02 13:04               ` Stefan Monnier
2016-12-02 14:45                 ` Eli Zaretskii
2016-12-02 14:51                   ` Stefan Monnier
2016-12-02 22:24                     ` Richard Stallman
2016-12-02 23:32                       ` Stefan Monnier
2016-12-03  8:28                       ` Eli Zaretskii
2016-12-02 23:42                     ` Paul Eggert
2016-12-02 15:38                   ` Daniel Colascione
2016-12-02 17:26                   ` Ken Raeburn
2016-12-02 17:47                     ` Paul Eggert
     [not found]                   ` <<jwvlgvyv10x.fsf-monnier+Inbox@gnu.org>
     [not found]                     ` <<E1cCwGF-0002PT-Kq@fencepost.gnu.org>
2016-12-03  0:07                       ` Drew Adams
2016-12-03  8:25                         ` Eli Zaretskii
2016-12-03 20:40                           ` Joost Kremers
2016-12-03 21:30                         ` Richard Stallman
     [not found]                   ` <<<jwvlgvyv10x.fsf-monnier+Inbox@gnu.org>
     [not found]                     ` <<<E1cCwGF-0002PT-Kq@fencepost.gnu.org>
     [not found]                       ` <<2b63d48d-a678-49c2-a3a9-4f91d8d8bdb4@default>
     [not found]                         ` <<8337i5mnb5.fsf@gnu.org>
2016-12-03 16:14                           ` Drew Adams
2016-12-03 16:42                             ` Eli Zaretskii
2016-12-02 14:27           ` Richard Stallman
2016-11-28 21:14 ` Paul Eggert
2016-11-28 23:01 ` Stefan Monnier
2016-11-28 23:17   ` Daniel Colascione
2016-11-29 13:06     ` Stefan Monnier
2016-11-29 21:19       ` Daniel Colascione
2016-11-29 21:35         ` Paul Eggert
2016-11-29 21:50           ` Daniel Colascione
2016-11-29 22:01             ` Paul Eggert
2016-11-30  0:37               ` Daniel Colascione
2016-11-30  7:35                 ` Paul Eggert
2016-11-30 13:33                   ` Stefan Monnier
2016-11-30 20:07               ` Richard Stallman
2016-11-30 20:18                 ` Daniel Colascione
2016-12-03 21:32                   ` Richard Stallman
2016-12-03 21:37                     ` Daniel Colascione
2016-12-04 23:03                       ` Richard Stallman
2016-12-03 21:54                     ` Paul Eggert
2016-11-29 22:01           ` Stefan Monnier
2016-11-29 22:22           ` Philipp Stephani
2016-11-29 22:34             ` Paul Eggert

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=b72734b5-1c36-23ee-dfde-aa3350abdafb@yandex.ru \
    --to=dgutov@yandex.ru \
    --cc=acm@muc.de \
    --cc=drew.adams@oracle.com \
    --cc=emacs-devel@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    /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.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

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).