bug#46611: Variables grep-window-height grep-scroll-output unused since Emacs 22.1?

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

bug#46611: Variables grep-window-height grep-scroll-output unused since Emacs 22.1?

Stefan Kangas
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 <[hidden email]>
    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?



Reply | Threaded
Open this post in threaded view
|

bug#46611: Variables grep-window-height grep-scroll-output unused since Emacs 22.1?

Stefan Monnier
>     *** 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 <[hidden email]>
>     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




Reply | Threaded
Open this post in threaded view
|

bug#46611: Variables grep-window-height grep-scroll-output unused since Emacs 22.1?

Stefan Kangas
tags 46611 notabug
close 46611
thanks

Stefan Monnier <[hidden email]> 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.