unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* 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).