unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: storm@cua.dk (Kim F. Storm)
Cc: emacs-devel@gnu.org
Subject: Re: Add M-x occur to the menu-bar
Date: 07 Feb 2004 00:57:52 +0100	[thread overview]
Message-ID: <m3fzdnsqv3.fsf@kfs-l.imdomain.dk> (raw)
In-Reply-To: <4nbrodxwqm.fsf@collins.bwh.harvard.edu>

Ted Zlatanov <tzz@lifelogs.com> writes:

> I see, that is indeed a much better solution.  I've reworked the patch
> to do what you suggest; 

Yes, it is much cleaner now, and you are almost there.

>                         only the universal-prefix is not handled by
> occur-next-error.  It is much better from the perspective of
> occur-mode, but I had to modify compilation-find-buffer and
> compilation-buffer-p to avoid complicating next-error.  Anyhow, see
> what you think.

I haven't thought a lot about it, but I don't understand why you need
that extra allow-with-next-error-function arg to compilation-buffer-p
and compilation-find-buffer.

If you simply change compilation-buffer-p to

(defsubst compilation-buffer-p (buffer)
  (save-excursion
    (set-buffer buffer)
    (or compilation-shell-minor-mode compilation-minor-mode
	(eq major-mode 'compilation-mode)
        compilation-next-error-function)))

it will always consider an occur buffer (and other buffers which have
a non-nil compilation-next-error-function) as a compilation buffer.

To me that would seem logical, but I'm probably overlooking something.

Can you mention the commands where is that behaviour NOT desireable,
and why?


In any case, here are some comments on your latest patch:

>  
>    (save-excursion
>      (set-buffer buffer)
> -    (or compilation-shell-minor-mode compilation-minor-mode
> -	(eq major-mode 'compilation-mode))))
> +    (or compilation-shell-minor-mode 
> +	compilation-minor-mode
> +	(eq major-mode 'compilation-mode)
> +	(and allow-with-next-error-function
> +	     (buffer-local-value
> +	      'compilation-next-error-function
> +	      buffer)))))

For the last four lines, you can just write

        (and allow-with-next-error-function
             compilation-next-error-function)

as you already did a (set-buffer buffer), so there's no reason to use
buffer-local-value here.


>  
> +;; override compilation-last-buffer
> +(defvar occur-last-buffer nil
> +  "The most recent occur buffer.
> +An occur buffer becomes most recent when its process is started
> +or when it is used with \\[occur-next].
> +Notice that using \\[next-error] or \\[compile-goto-error] modifies
> +`complation-last-buffer' rather than `occur-last-buffer'.")
> +

You no longer need the occur-last-buffer variable.


> +	      (setq occur-last-buffer occur-buf)

Likewise.

-- 
Kim F. Storm <storm@cua.dk> http://www.cua.dk

  reply	other threads:[~2004-02-06 23:57 UTC|newest]

Thread overview: 101+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-09-12 16:07 Add M-x occur to the menu-bar Marshall, Simon
2003-09-13  9:36 ` Eli Zaretskii
2003-09-13 13:57 ` Richard Stallman
2003-09-18 17:21   ` Kevin Rodgers
2003-09-18 18:40     ` Miles Bader
2003-09-21 12:11       ` Eli Zaretskii
2003-09-21 11:28         ` Miles Bader
2003-09-21 13:55       ` Ehud Karni
2003-09-19 12:22     ` Richard Stallman
2003-09-18 17:10 ` Kevin Rodgers
2003-09-18 17:27   ` Masatake YAMATO
2004-01-27 15:34   ` Ted Zlatanov
2004-01-27 17:24     ` Benjamin Rutt
2004-01-27 18:46       ` Ted Zlatanov
2004-01-27 19:02         ` Benjamin Rutt
2004-01-27 19:04       ` Stefan Monnier
2004-01-27 19:35         ` Ted Zlatanov
2004-01-27 23:03           ` Miles Bader
2004-01-28  3:53             ` Ted Zlatanov
2004-01-28 14:30               ` Stefan Monnier
2004-01-28 15:46                 ` Ted Zlatanov
2004-01-28 22:45                   ` Kevin Rodgers
2004-01-29  5:42                     ` Eli Zaretskii
2004-01-29 15:19                       ` Stefan Monnier
2004-01-29 15:28                         ` Miles Bader
2004-01-29 15:41                           ` David Kastrup
2004-01-29 20:52                         ` Kai Grossjohann
2004-01-29 17:51                 ` Richard Stallman
2004-01-30 19:00                   ` Ted Zlatanov
2004-02-04 20:39                     ` Ted Zlatanov
2004-02-04 23:20                       ` Kim F. Storm
2004-02-05 17:27                         ` Ted Zlatanov
2004-02-06 23:57                           ` Kim F. Storm [this message]
2004-02-06 23:10                             ` Stefan Monnier
2004-02-07  0:52                               ` David Kastrup
2004-02-07 22:39                                 ` Stefan Monnier
2004-02-09 18:44                               ` Ted Zlatanov
2004-02-09 18:43                             ` Ted Zlatanov
2004-02-10 12:44                               ` Richard Stallman
2004-02-10 14:50                                 ` Kim F. Storm
2004-02-10 16:51                                   ` Ted Zlatanov
2004-02-12 14:57                                   ` Richard Stallman
2004-02-12 16:46                                     ` Ted Zlatanov
2004-02-12 19:48                                       ` Stefan Monnier
2004-02-12 20:34                                         ` Ted Zlatanov
2004-02-12 20:57                                           ` Stefan Monnier
2004-02-13 20:58                                             ` Andreas Schwab
2004-02-13 21:04                                               ` Stefan Monnier
2004-02-14 17:17                                               ` Richard Stallman
2004-02-12 23:19                                           ` Kim F. Storm
2004-02-14 17:15                                             ` Richard Stallman
2004-02-13 17:03                                       ` Ted Zlatanov
2004-02-13 21:47                                         ` Kim F. Storm
2004-02-14 17:16                                         ` Richard Stallman
2004-02-23 20:18                                       ` Ted Zlatanov
2004-02-25 13:24                                         ` Richard Stallman
2004-02-23 20:33                                       ` Ted Zlatanov
2004-02-24  0:37                                         ` Kim F. Storm
2004-02-24 17:23                                           ` Ted Zlatanov
2004-03-02 23:25                                       ` Kevin Rodgers
2004-03-03 13:27                                         ` Stefan Monnier
2004-03-04 16:41                                         ` Richard Stallman
2004-03-05 18:14                                       ` Ted Zlatanov
2004-03-11 20:19                                         ` Richard Stallman
2004-03-14  2:04                                           ` Kim F. Storm
     [not found]                                       ` <jwvr7x06q95.fsf-monnier+emacs <E1Avz1R-0001M2-Df@fencepost.gnu.org>
     [not found]                                         ` <4n1xohpsvt.fsf@collins.bwh.harvard.edu>
     [not found]                                         ` <4n8yikpjcz.fsf@collins.bwh.harvard.edu>
2004-03-02 15:51                                           ` Richard Stallman
2004-03-02 17:30                                             ` Ted Zlatanov
2004-03-03  1:40                                               ` Miles Bader
2004-03-03 20:41                                                 ` Mike Hearn
2004-03-03 21:57                                                 ` Kim F. Storm
2004-03-07 16:04                                                   ` Richard Stallman
2004-03-03 15:19                                               ` Richard Stallman
2004-03-08 20:20                                           ` Ted Zlatanov
2004-03-25  5:31                                       ` Ted Zlatanov
2004-03-25 10:01                                         ` Kim F. Storm
2004-03-25 16:24                                         ` Stefan Monnier
2004-04-07 21:01                                       ` Ted Zlatanov
2004-04-07 21:50                                         ` Stefan Monnier
2004-04-08 14:57                                         ` Richard Stallman
2004-04-14  3:28                                       ` Ted Zlatanov
2004-04-14 17:57                                       ` Ted Zlatanov
2004-04-15  0:20                                         ` Kim F. Storm
2004-04-15  1:29                                           ` Kim F. Storm
2004-04-15 16:44                                         ` Richard Stallman
2004-04-14 18:04                                       ` Ted Zlatanov
2004-04-14 21:57                                         ` Stefan Monnier
2004-04-15 15:40                                       ` Ted Zlatanov
2004-04-15 15:59                                       ` Ted Zlatanov
2004-04-15 18:43                                       ` Ted Zlatanov
2004-02-07  9:00                           ` Richard Stallman
2004-01-28  9:04     ` Richard Stallman
  -- strict thread matches above, loose matches on Subject: below --
2003-09-19  9:10 Marshall, Simon
2003-09-20  7:49 ` Richard Stallman
2003-09-23  1:06   ` Miles Bader
2003-09-23 18:50     ` Eli Zaretskii
2003-09-23 20:10       ` David Kastrup
2003-09-24  8:40       ` Richard Stallman
2003-09-16  8:30 Marshall, Simon
2003-09-17 18:02 ` Richard Stallman
2003-09-16  8:16 Marshall, Simon
2003-09-11 16:11 Marshall, Simon

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=m3fzdnsqv3.fsf@kfs-l.imdomain.dk \
    --to=storm@cua.dk \
    --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).