From: Stefan Monnier <monnier@iro.umontreal.ca>
To: Alan Mackenzie <acm@muc.de>
Cc: Eli Zaretskii <eliz@gnu.org>, emacs-devel@gnu.org
Subject: Re: [Emacs-diffs] master 29d1c72: Introduce new value t for compilation-context-lines to eliminate scrolling
Date: Tue, 27 Aug 2019 15:59:27 -0400 [thread overview]
Message-ID: <jwva7bumlmq.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <20190827193652.GA20676@ACM> (Alan Mackenzie's message of "Tue, 27 Aug 2019 19:36:52 +0000")
Hi Alan,
> +(defvar compilation-dummy-string ">"
> + "A string which is only a placeholder for compilation-margin-string.
> +It's actual value is never used, but must be one character long.")
> +(put-text-property 0 1 'display
> + `((margin left-margin) ,compilation-margin-string)
> + compilation-dummy-string)
I'd suggest you use a "compilation--" prefix here since this is supposed
to be internal, IIUC.
Also, I'd do it as
(defvar compilation--dummy-string
(propertize ">" 'display
`((margin left-margin) ,compilation-margin-string))
"A string which is only a placeholder for `compilation-margin-string'.
Its actual value is never used, but must be one character long.")
so you can M-C-x it without ill-effect [note I also fixed "It's" to
"Its" and added `...' around the var ref. ]
> +(defun compilation-tear-down-arrow-spec-in-margin ()
> + "Restore compilation-arrow-overlay to not using the margin, which is removed."
> + (overlay-put compilation-arrow-overlay 'before-string nil)
> + (delete-overlay compilation-arrow-overlay)
> + (setq compilation-arrow-overlay nil)
I think this `setq` loses the overlay and there's no code to reconstruct
it later on.
> + (set-window-margins (selected-window) 0))
Of course, the main problem with this approach is that "margins don't
compose": any other package using the margins (e.g. (n)linum) will tend
to interfere with your own use.
> + (with-selected-window w ; So the later `goto-char' will work.
An alternative is to use `set-window-point` instead of `goto-char`.
Stefan
next prev parent reply other threads:[~2019-08-27 19:59 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20190825102322.19558.22771@vcs0.savannah.gnu.org>
[not found] ` <20190825102323.5080620CD5@vcs0.savannah.gnu.org>
2019-08-25 18:39 ` [Emacs-diffs] master 29d1c72: Introduce new value t for compilation-context-lines to eliminate scrolling Stefan Monnier
2019-08-25 19:06 ` Alan Mackenzie
2019-08-25 19:37 ` Eli Zaretskii
2019-08-26 16:26 ` Alan Mackenzie
2019-08-26 16:29 ` Eli Zaretskii
2019-08-27 20:05 ` Alan Mackenzie
2019-08-29 18:22 ` Eli Zaretskii
2019-08-31 10:53 ` Alan Mackenzie
2019-08-31 11:06 ` Eli Zaretskii
2019-09-02 19:34 ` Alan Mackenzie
2019-09-03 2:25 ` Eli Zaretskii
2019-09-08 9:41 ` Margins example in the Elisp manual. [Was: [Emacs-diffs] master 29d1c72: Introduce new value t for compilation-context-lines to eliminate scrolling] Alan Mackenzie
2019-09-08 17:06 ` Eli Zaretskii
2019-08-27 19:36 ` [Emacs-diffs] master 29d1c72: Introduce new value t for compilation-context-lines to eliminate scrolling Alan Mackenzie
2019-08-27 19:49 ` Eli Zaretskii
2019-08-27 20:07 ` Stefan Monnier
2019-08-27 19:59 ` Stefan Monnier [this message]
2019-08-31 11:31 ` Alan Mackenzie
2019-08-31 12:07 ` martin rudalics
2019-08-31 12:45 ` Alan Mackenzie
2019-08-25 20:54 ` Stefan Monnier
2019-08-27 19:46 ` Alan Mackenzie
2019-08-27 20:05 ` Stefan Monnier
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=jwva7bumlmq.fsf-monnier+emacs@gnu.org \
--to=monnier@iro.umontreal.ca \
--cc=acm@muc.de \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
/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).