[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