aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert2016-10-10 07:39:05 -0700
committerPaul Eggert2016-10-10 07:39:05 -0700
commit46b83c0f08f936eb1a0ae761db557169fe295cc7 (patch)
treebdb663d86a908a83b7c953316d04714664b32a0c
parentbe589ea0dc71063d26595378df303a2a1c25ee4e (diff)
parent4f406e9813e073b675bb45613bf1dd111eec2368 (diff)
downloademacs-46b83c0f08f936eb1a0ae761db557169fe295cc7.tar.gz
emacs-46b83c0f08f936eb1a0ae761db557169fe295cc7.zip
Merge from origin/emacs-25
4f406e9 CC Mode manual: remove reference to former Emacs variable las... 44e402e Allow to disable compaction of font caches 4ff4b66 Allow selection of font for symbols as in Emacs 24.x c03d44b ; Fix last commit d4be4f3 ; Fix indexing in lispref manual ed399f2 ; Minor improvement in documentation of generators 197a6bc Fix horizontal scrolling during Isearch 3566644 Fix infloop in redisplay due to truncated lines and invisible... # Conflicts: # etc/NEWS
-rw-r--r--doc/lispref/control.texi1
-rw-r--r--doc/lispref/errors.texi3
-rw-r--r--doc/lispref/functions.texi3
-rw-r--r--doc/misc/cc-mode.texi9
-rw-r--r--etc/NEWS.2537
-rw-r--r--lisp/isearch.el3
-rw-r--r--src/alloc.c6
-rw-r--r--src/font.c13
-rw-r--r--src/fontset.c13
-rw-r--r--src/xdisp.c5
10 files changed, 72 insertions, 21 deletions
diff --git a/doc/lispref/control.texi b/doc/lispref/control.texi
index 0cdb03548bf..0c0827909a3 100644
--- a/doc/lispref/control.texi
+++ b/doc/lispref/control.texi
@@ -805,6 +805,7 @@ The following piece of code demonstrates some important principles of
805working with iterators. 805working with iterators.
806 806
807@example 807@example
808(require 'generator)
808(iter-defun my-iter (x) 809(iter-defun my-iter (x)
809 (iter-yield (1+ (iter-yield (1+ x)))) 810 (iter-yield (1+ (iter-yield (1+ x))))
810 ;; Return normally 811 ;; Return normally
diff --git a/doc/lispref/errors.texi b/doc/lispref/errors.texi
index c2bab019274..03aea4ef445 100644
--- a/doc/lispref/errors.texi
+++ b/doc/lispref/errors.texi
@@ -190,8 +190,7 @@ The message is @samp{Symbol's value as variable is void}.
190@xref{Accessing Variables}. 190@xref{Accessing Variables}.
191 191
192@item wrong-number-of-arguments 192@item wrong-number-of-arguments
193The message is @samp{Wrong number of arguments}. @xref{Classifying 193The message is @samp{Wrong number of arguments}. @xref{Argument List}.
194Lists}.
195 194
196@item wrong-type-argument 195@item wrong-type-argument
197The message is @samp{Wrong type argument}. @xref{Type Predicates}. 196The message is @samp{Wrong type argument}. @xref{Type Predicates}.
diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi
index fff4ac0ee8d..8dff1a70f75 100644
--- a/doc/lispref/functions.texi
+++ b/doc/lispref/functions.texi
@@ -346,7 +346,8 @@ stored as symbol function definitions to produce named functions
346 Our simple sample function, @code{(lambda (a b c) (+ a b c))}, 346 Our simple sample function, @code{(lambda (a b c) (+ a b c))},
347specifies three argument variables, so it must be called with three 347specifies three argument variables, so it must be called with three
348arguments: if you try to call it with only two arguments or four 348arguments: if you try to call it with only two arguments or four
349arguments, you get a @code{wrong-number-of-arguments} error. 349arguments, you get a @code{wrong-number-of-arguments} error
350(@pxref{Errors}).
350 351
351 It is often convenient to write a function that allows certain 352 It is often convenient to write a function that allows certain
352arguments to be omitted. For example, the function @code{substring} 353arguments to be omitted. For example, the function @code{substring}
diff --git a/doc/misc/cc-mode.texi b/doc/misc/cc-mode.texi
index 691616917b7..4f7711184d0 100644
--- a/doc/misc/cc-mode.texi
+++ b/doc/misc/cc-mode.texi
@@ -3544,10 +3544,11 @@ use, add this function to the front of the
3544@example 3544@example
3545(defun c-semi&comma-no-newlines-before-nonblanks () 3545(defun c-semi&comma-no-newlines-before-nonblanks ()
3546 (save-excursion 3546 (save-excursion
3547 (if (and (eq last-command-char ?\;) 3547 (if (and (= (c-last-command-char) ?\;)
3548 (zerop (forward-line 1)) 3548 (zerop (forward-line 1))
3549 (not (looking-at "^[ \t]*$"))) 3549 (bolp) ; forward-line has funny behavior at eob.
3550 'stop 3550 (not (looking-at "^[ \t]*$")))
3551 'stop
3551 nil))) 3552 nil)))
3552@end example 3553@end example
3553@end defun 3554@end defun
diff --git a/etc/NEWS.25 b/etc/NEWS.25
index 978c90a7a5e..3e686f98db3 100644
--- a/etc/NEWS.25
+++ b/etc/NEWS.25
@@ -15,12 +15,34 @@ and NEWS.1-17 for changes in older Emacs versions.
15You can narrow news to a specific version by calling 'view-emacs-news' 15You can narrow news to a specific version by calling 'view-emacs-news'
16with a prefix argument or by typing C-u C-h C-n. 16with a prefix argument or by typing C-u C-h C-n.
17 17
18Temporary note: 18
19+++ indicates that all necessary documentation updates are complete. 19* Changes in Emacs 25.2
20 (This means all relevant manuals in doc/ AND lisp doc-strings.) 20This is a bug-fix release with (almost) no new features.
21--- means no change in the manuals is needed. 21
22When you add a new item, use the appropriate mark if you are sure it applies, 22---
23otherwise leave it unmarked. 23** `find-library', `help-function-def' and `help-variable-def' now run
24`find-function-after-hook'.
25
26+++
27** New basic face 'fixed-pitch-serif', for a fixed-width font with serifs.
28The Info-quoted and tex-verbatim faces now default to inheriting from
29it.
30
31---
32** New variable 'use-default-font-for-symbols' for backward compatibility.
33This variable allows to get back pre-Emacs 25 behavior whereby the
34font for displaying symbol and punctuation characters was always
35selected according to your fontset setup. Emacs 25 by default tries
36to use the default face's font for such characters, disregarding the
37fontsets if the default font supports these characters. Set this
38variable to nil to disable the new behavior and get back the old
39behavior.
40
41---
42** New variable 'inhibit-compacting-font-caches'.
43Set this variable to a non-nil value to speed up display of characters
44using large fonts, at the price of a larger memory footprint of the
45Emacs session.
24 46
25 47
26* Installation Changes in Emacs 25.1 48* Installation Changes in Emacs 25.1
@@ -896,9 +918,6 @@ looking for macro definitions. By default, no symbols are ignored.
896 918
897** TeX mode 919** TeX mode
898 920
899*** When in a TeX (LaTeX, etc) comment, insert a normal double quote (")
900instead of defaulting to TeX-style open (``) or close ('') quote marks.
901
902*** New custom variable 'tex-print-file-extension' to help users who 921*** New custom variable 'tex-print-file-extension' to help users who
903use PDF instead of DVI. 922use PDF instead of DVI.
904 923
diff --git a/lisp/isearch.el b/lisp/isearch.el
index ce87d1bac3c..0416b08eba2 100644
--- a/lisp/isearch.el
+++ b/lisp/isearch.el
@@ -1008,7 +1008,8 @@ The last thing is to trigger a new round of lazy highlighting."
1008 ;; pos-visible-in-window-group-p returns non-nil, but 1008 ;; pos-visible-in-window-group-p returns non-nil, but
1009 ;; the X coordinate it returns is 1 pixel beyond 1009 ;; the X coordinate it returns is 1 pixel beyond
1010 ;; the last visible one. 1010 ;; the last visible one.
1011 (>= (car visible-p) (window-body-width nil t))) 1011 (>= (car visible-p)
1012 (* (window-max-chars-per-line) (frame-char-width))))
1012 (set-window-hscroll (selected-window) current-scroll)))) 1013 (set-window-hscroll (selected-window) current-scroll))))
1013 (if isearch-other-end 1014 (if isearch-other-end
1014 (if (< isearch-other-end (point)) ; isearch-forward? 1015 (if (< isearch-other-end (point)) ; isearch-forward?
diff --git a/src/alloc.c b/src/alloc.c
index 72987dd3190..ab23072aafa 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -5598,7 +5598,11 @@ compact_font_caches (void)
5598 for (t = terminal_list; t; t = t->next_terminal) 5598 for (t = terminal_list; t; t = t->next_terminal)
5599 { 5599 {
5600 Lisp_Object cache = TERMINAL_FONT_CACHE (t); 5600 Lisp_Object cache = TERMINAL_FONT_CACHE (t);
5601 if (CONSP (cache)) 5601 /* Inhibit compacting the caches if the user so wishes. Some of
5602 the users don't mind a larger memory footprint, but do mind
5603 slower redisplay. */
5604 if (!inhibit_compacting_font_caches
5605 && CONSP (cache))
5602 { 5606 {
5603 Lisp_Object entry; 5607 Lisp_Object entry;
5604 5608
diff --git a/src/font.c b/src/font.c
index cfbc5c7e266..f8e6794cbb1 100644
--- a/src/font.c
+++ b/src/font.c
@@ -5434,6 +5434,19 @@ Set it to nil to enable logging. If the environment variable
5434EMACS_FONT_LOG is set at startup, it defaults to nil. */); 5434EMACS_FONT_LOG is set at startup, it defaults to nil. */);
5435 Vfont_log = Qnil; 5435 Vfont_log = Qnil;
5436 5436
5437 DEFVAR_BOOL ("inhibit-compacting-font-caches", inhibit_compacting_font_caches,
5438 doc: /*
5439If non-nil, don't compact font caches during GC.
5440Some large fonts cause lots of consing and trigger GC. If they
5441are removed from the font caches, they will need to be opened
5442again during redisplay, which slows down redisplay. If you
5443see font-related delays in displaying some special characters,
5444and cannot switch to a smaller font for those characters, set
5445this variable non-nil.
5446Disabling compaction of font caches might enlarge the Emacs memory
5447footprint in sessions that use lots of different fonts. */);
5448 inhibit_compacting_font_caches = 0;
5449
5437#ifdef HAVE_WINDOW_SYSTEM 5450#ifdef HAVE_WINDOW_SYSTEM
5438#ifdef HAVE_FREETYPE 5451#ifdef HAVE_FREETYPE
5439 syms_of_ftfont (); 5452 syms_of_ftfont ();
diff --git a/src/fontset.c b/src/fontset.c
index fe595d81a3e..38ff780ccba 100644
--- a/src/fontset.c
+++ b/src/fontset.c
@@ -921,7 +921,8 @@ face_for_char (struct frame *f, struct face *face, int c,
921 if (ASCII_CHAR_P (c) || CHAR_BYTE8_P (c)) 921 if (ASCII_CHAR_P (c) || CHAR_BYTE8_P (c))
922 return face->ascii_face->id; 922 return face->ascii_face->id;
923 923
924 if (c > 0 && EQ (CHAR_TABLE_REF (Vchar_script_table, c), Qsymbol)) 924 if (use_default_font_for_symbols /* let the user disable this feature */
925 && c > 0 && EQ (CHAR_TABLE_REF (Vchar_script_table, c), Qsymbol))
925 { 926 {
926 /* Fonts often have characters for punctuation and other 927 /* Fonts often have characters for punctuation and other
927 symbols, even if they don't match the 'symbol' script. So 928 symbols, even if they don't match the 'symbol' script. So
@@ -2150,6 +2151,16 @@ This affects how a composite character which contains
2150such a character is displayed on screen. */); 2151such a character is displayed on screen. */);
2151 Vuse_default_ascent = Qnil; 2152 Vuse_default_ascent = Qnil;
2152 2153
2154 DEFVAR_BOOL ("use-default-font-for-symbols", use_default_font_for_symbols,
2155 doc: /*
2156If non-nil, use the default face's font for symbols and punctuation.
2157
2158By default, Emacs will try to use the default face's font for
2159displaying symbol and punctuation characters, disregarding the
2160fontsets, if the default font can display the character.
2161Set this to nil to make Emacs honor the fontsets instead. */);
2162 use_default_font_for_symbols = 1;
2163
2153 DEFVAR_LISP ("ignore-relative-composition", Vignore_relative_composition, 2164 DEFVAR_LISP ("ignore-relative-composition", Vignore_relative_composition,
2154 doc: /* 2165 doc: /*
2155Char table of characters which are not composed relatively. 2166Char table of characters which are not composed relatively.
diff --git a/src/xdisp.c b/src/xdisp.c
index 3eb11cc0c1e..3af5ea49ab6 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -6304,9 +6304,10 @@ forward_to_next_line_start (struct it *it, bool *skipped_p,
6304 } 6304 }
6305 else 6305 else
6306 { 6306 {
6307 while (get_next_display_element (it) 6307 while (!newline_found_p)
6308 && !newline_found_p)
6309 { 6308 {
6309 if (!get_next_display_element (it))
6310 break;
6310 newline_found_p = ITERATOR_AT_END_OF_LINE_P (it); 6311 newline_found_p = ITERATOR_AT_END_OF_LINE_P (it);
6311 if (newline_found_p && it->bidi_p && bidi_it_prev) 6312 if (newline_found_p && it->bidi_p && bidi_it_prev)
6312 *bidi_it_prev = it->bidi_it; 6313 *bidi_it_prev = it->bidi_it;