[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#46611: Variables grep-window-height grep-scroll-output unused since
From: |
Stefan Monnier |
Subject: |
bug#46611: Variables grep-window-height grep-scroll-output unused since Emacs 22.1? |
Date: |
Thu, 18 Feb 2021 08:58:04 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
> *** 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