I'd like to install the attached patch which expands on the existing variable watching mechanism in the sense that the variable whose value gets changed has already the new value assigned to within the body of the watch function. Such a feature is useful when the watch function calls already existing functions which act upon the variable's new value in a possibly deeply nested fashion. Consider the following example: A user wants to set `right-margin-width' of a buffer and I want to decide whether that margin really fits. The mechanism whether it fits would be nested in a common function that decides whether any decoration (fringe, scroll bar, margin) fits into any window showing that buffer based on the minimum sizes of that window and the sizes of the remaining decorations. Passing a "this is the requested new value of the right margin" setting to such a function is awkward at the very least. Objections, suggestions, comments? Thanks, martin