** 'save-some-buffers' can now be extended to save other things.
Traditionally, 'save-some-buffers' saved buffers, and also saved
abbrevs. This has been generalized via the
-'save-some-buffers-functions', and packages can now register things to
-be saved.
+'save-some-buffers-functions' variable, and packages can now register
+things to be saved.
+
+** New function 'string-equal-ignore-case'.
+This compares strings ignoring case differences.
+ +++
+ ** New argument LOCK of 'narrow-to-region'.
+ If 'narrow-to-region' is called from Lisp with the new optional
+ argument LOCK non-nil, then calls to 'widen' and calls to
+ 'narrow-to-region' with the optional argument LOCK nil or omitted do
+ not produce any effect until the end of the current body form.
+
** Themes
---
&& NILP (echo_area_buffer[0])))
{
struct buffer *buf = XBUFFER (w->contents);
- ptrdiff_t window_end_pos = w->window_end_pos;
+
+ whole = BUF_ZV (buf) - BUF_BEGV (buf);
+ start = marker_position (w->start) - BUF_BEGV (buf);
+ end = BUF_Z (buf) - w->window_end_pos - BUF_BEGV (buf);
/* If w->window_end_pos cannot be trusted, recompute it "the
- hard way". */
- if (!MINI_WINDOW_P (w))
+ hard way". But don't bother to be too accurate when
+ long-line shortcuts are in effect. */
+ if (!w->window_end_valid && !buf->long_line_optimizations_p)
{
struct it it;
struct text_pos start_pos;