* bug#46611: Variables grep-window-height grep-scroll-output unused since Emacs 22.1?
@ 2021-02-18 5:19 Stefan Kangas
2021-02-18 13:58 ` Stefan Monnier
0 siblings, 1 reply; 3+ messages in thread
From: Stefan Kangas @ 2021-02-18 5:19 UTC (permalink / raw)
To: 46611; +Cc: monnier
Severity: minor
The new variables `grep-window-height' and `grep-scroll-output' were
announced in NEWS.22:
*** The new variables `grep-window-height' and `grep-scroll-output' override
the corresponding compilation mode settings, for grep commands only.
But if I'm not missing something, they were never actually part of Emacs
22.1, due to this commit:
commit ab55f76f9ca670e3f41e4cfabeb35426f6b24fb6
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Date: Thu Mar 11 22:56:19 2004 +0000
(kill-grep): Move here from compile.el
(grep-error, grep-hit-face, grep-error-face)
(grep-mode-font-lock-keywords): New variables.
(grep-regexp-alist): Simplify regexp and add `binary' case.
(grep-mode): New mode.
(grep-process-setup): Simplify.
[...]
- (if grep-window-height
- (set (make-local-variable 'compilation-window-height)
- grep-window-height))
- (set (make-local-variable 'compile-auto-highlight)
- grep-auto-highlight)
- (set (make-local-variable 'compilation-scroll-output)
- grep-scroll-output)
Stefan, do you remember any of this? Were they removed intentionally?
Should we re-add the above lines? Or, given that no one seems to have
noticed their absence in 16 years, perhaps it is better to just declare
them obsolete?
Or better yet, maybe we should:
1) Declare `grep-window-height' obsolete (as I'm not sure how useful it
is).
2) Keep `grep-scroll-output' (it seems more useful) but change it from a
boolean, and set it to the symbol 'default', which is taken to mean
to just use whatever value 'compilation-scroll-output is set to. That
way, we don't break existing configuration and behavior, plus we also
allow for configuring this specifically, as was probably originally
intended. (I don't necessarily see the use for configuring it
separately for grep, but at least the existence of an option
documents that the behavior can be changed and how.)
Any opinions or comments here?
^ permalink raw reply [flat|nested] 3+ messages in thread
* bug#46611: Variables grep-window-height grep-scroll-output unused since Emacs 22.1?
2021-02-18 5:19 bug#46611: Variables grep-window-height grep-scroll-output unused since Emacs 22.1? Stefan Kangas
@ 2021-02-18 13:58 ` Stefan Monnier
2021-03-04 3:02 ` Stefan Kangas
0 siblings, 1 reply; 3+ messages in thread
From: Stefan Monnier @ 2021-02-18 13:58 UTC (permalink / raw)
To: Stefan Kangas; +Cc: 46611
> *** The new variables `grep-window-height' and `grep-scroll-output' override
> the corresponding compilation mode settings, for grep commands only.
>
> But if I'm not missing something, they were never actually part of Emacs
> 22.1, due to this commit:
>
> commit ab55f76f9ca670e3f41e4cfabeb35426f6b24fb6
> Author: Stefan Monnier <monnier@iro.umontreal.ca>
> Date: Thu Mar 11 22:56:19 2004 +0000
>
> (kill-grep): Move here from compile.el
> (grep-error, grep-hit-face, grep-error-face)
> (grep-mode-font-lock-keywords): New variables.
> (grep-regexp-alist): Simplify regexp and add `binary' case.
> (grep-mode): New mode.
> (grep-process-setup): Simplify.
> [...]
> - (if grep-window-height
> - (set (make-local-variable 'compilation-window-height)
> - grep-window-height))
> - (set (make-local-variable 'compile-auto-highlight)
> - grep-auto-highlight)
> - (set (make-local-variable 'compilation-scroll-output)
> - grep-scroll-output)
>
> Stefan, do you remember any of this? Were they removed intentionally?
I think so, yes. It's because `define-compilation-mode` should take
care of them:
(defmacro define-compilation-mode (mode name doc &rest body)
"This is like `define-derived-mode' without the PARENT argument.
The parent is always `compilation-mode' and the customizable `compilation-...'
variables are also set from the name of the mode you have chosen,
by replacing the first word, e.g., `compilation-scroll-output' from
`grep-scroll-output' if that variable exists."
(let ((mode-name (replace-regexp-in-string "-mode\\'" "" (symbol-name mode))))
`(define-derived-mode ,mode compilation-mode ,name
,doc
,@(mapcar (lambda (v)
(let ((mv (intern (replace-regexp-in-string
"\\`compilation" mode-name
(symbol-name v)))))
`(if (boundp ',mv) (setq-local ,v ,mv))))
'(compilation-directory-matcher
compilation-error
compilation-error-regexp-alist
compilation-error-regexp-alist-alist
compilation-error-screen-columns
compilation-finish-functions
compilation-first-column
compilation-mode-font-lock-keywords
compilation-page-delimiter
compilation-parse-errors-filename-function
compilation-process-setup-function
compilation-scroll-output
compilation-search-path
compilation-skip-threshold
compilation-window-height))
,@body)))
-- Stefan
^ permalink raw reply [flat|nested] 3+ messages in thread
* bug#46611: Variables grep-window-height grep-scroll-output unused since Emacs 22.1?
2021-02-18 13:58 ` Stefan Monnier
@ 2021-03-04 3:02 ` Stefan Kangas
0 siblings, 0 replies; 3+ messages in thread
From: Stefan Kangas @ 2021-03-04 3:02 UTC (permalink / raw)
To: Stefan Monnier; +Cc: 46611
tags 46611 notabug
close 46611
thanks
Stefan Monnier <monnier@iro.umontreal.ca> writes:
>> Stefan, do you remember any of this? Were they removed intentionally?
>
> I think so, yes. It's because `define-compilation-mode` should take
> care of them:
Oh, okay. I had missed that part...
Closing this bug, sorry for the noise.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-03-04 3:02 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-18 5:19 bug#46611: Variables grep-window-height grep-scroll-output unused since Emacs 22.1? Stefan Kangas
2021-02-18 13:58 ` Stefan Monnier
2021-03-04 3:02 ` Stefan Kangas
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).