emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Redirecting messages


From: John Wiegley
Subject: Re: Redirecting messages
Date: Fri, 06 Nov 2015 16:55:50 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (darwin)

>>>>> Artur Malabarba <address@hidden> writes:

> The right approach IMO is to
> 1. move the current message function to `message-echo-area'
> 2. define a variable called `message-function', whose default value is
> #'message-echo-area
> 3. redefine the `message' function to just call the value of
> `message-function' and then log the string to the  *Messages* buffer

Maybe we can do something even simpler:

 1. Rename `message' to `message-echo-area'.

 2. (defalias 'message 'alert)

 3. alert's default severity is `normal'.

 4. Have alert's default behavior for `normal' be to call `message-echo-area'
    (i.e., don't log to *Alerts*, don't do anything else).

 5. Optionally, inject a :file parameter to `alert' (as a hack) to identify
    which Elisp file the alert came from.

    Alternatively, we could provide a general mechanism allowing Elisp
    functions to determine the file/line/feature of the function that called
    them (when such information is available). Maybe this already exists?

 6. Document how to enable different backends at higher severities. Or,
    default to message+log for such messages, but with a bold color, and so
    they also appear in *Alerts* with a timestamp.

This gives us, for the default case, the same behavior we have today. Users
can then choose different backends for different scenarios, such as matching
on regexp, or by severity, to get rich notifications as they wish.

In the future it would be nice if package authors provided more metadata, but
this might not be necessary if we have regexps and know the source location.

John



reply via email to

[Prev in Thread] Current Thread [Next in Thread]