aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Morris2018-05-07 07:50:49 -0700
committerGlenn Morris2018-05-07 07:50:49 -0700
commit766b057e41df7316808ec7658836fda75facda75 (patch)
tree9f35f8fdc99192a66c01c10b8a6b3cae1fb6ebd4
parent6e362a32bc9d21f73a0f29ca6f45481edeea6f29 (diff)
parent1d732d699d63b5dbfa7d0a0f44e6119d58f852bc (diff)
downloademacs-766b057e41df7316808ec7658836fda75facda75.tar.gz
emacs-766b057e41df7316808ec7658836fda75facda75.zip
Merge from origin/emacs-26
1d732d6 (origin/emacs-26) Fix gud-statement for pdb 91a68b5 ; * msdos/INSTALL: Add info about GCC versions. 7ddcc9a Document 'custom-group' 58f9e15 A minor addition to etc/DEBUG 4590414 Avoid errors in ispell.el when Enchant returns empty extra chars d0d75f9 Make 'ispell-initialize-spellchecker-hook' work again b90ce66 Handle selected_window change in prepare_menu_bars (Bug#31312) 79ad0b3 ; * INSTALL: Fix Emacs version number. (Bug#31358) 91de88b Fix report-emacs-bug via mailclient on MS-Windows f4b5ff2 Port collation tests to glibc 2.27
-rw-r--r--INSTALL2
-rw-r--r--doc/lispref/customize.texi7
-rw-r--r--etc/DEBUG8
-rw-r--r--lisp/net/browse-url.el16
-rw-r--r--lisp/progmodes/gud.el3
-rw-r--r--lisp/textmodes/ispell.el10
-rw-r--r--msdos/INSTALL15
-rw-r--r--src/xdisp.c12
-rw-r--r--test/src/fns-tests.el48
9 files changed, 83 insertions, 38 deletions
diff --git a/INSTALL b/INSTALL
index 22abf7fd845..ab2e800e676 100644
--- a/INSTALL
+++ b/INSTALL
@@ -34,7 +34,7 @@ some of the steps manually. The more detailed description in the other
34sections of this guide will help you do that, so please refer to those 34sections of this guide will help you do that, so please refer to those
35sections if you need to. 35sections if you need to.
36 36
37 1. Unpacking the Emacs 25 release requires about 200 MB of free 37 1. Unpacking the Emacs release requires about 200 MB of free
38 disk space. Building Emacs uses about another 200 MB of space. 38 disk space. Building Emacs uses about another 200 MB of space.
39 The final installed Emacs uses about 150 MB of disk space. 39 The final installed Emacs uses about 150 MB of disk space.
40 This includes the space-saving that comes from automatically 40 This includes the space-saving that comes from automatically
diff --git a/doc/lispref/customize.texi b/doc/lispref/customize.texi
index 7fea507fd03..4d88d7c8c98 100644
--- a/doc/lispref/customize.texi
+++ b/doc/lispref/customize.texi
@@ -257,6 +257,13 @@ customizable variable @code{custom-unlispify-remove-prefixes} is
257non-@code{nil}, the item's tag will omit @var{prefix}. A group can 257non-@code{nil}, the item's tag will omit @var{prefix}. A group can
258have any number of prefixes. 258have any number of prefixes.
259@end table 259@end table
260
261@cindex @code{custom-group} property
262The variables and subgroups of a group are stored in the
263@code{custom-group} property of the group's symbol. @xref{Symbol
264Plists}. The value of that property is a list of pairs whose
265@code{car} is the variable or subgroup symbol and the @code{cdr} is
266either @code{custom-variable} or @code{custom-group}.
260@end defmac 267@end defmac
261 268
262@defopt custom-unlispify-remove-prefixes 269@defopt custom-unlispify-remove-prefixes
diff --git a/etc/DEBUG b/etc/DEBUG
index aeb447bae33..19c75e81ada 100644
--- a/etc/DEBUG
+++ b/etc/DEBUG
@@ -78,6 +78,14 @@ described in the node "Auto-loading safe path" in the GDB user manual.
78If nothing else helps, type "source /path/to/.gdbinit RET" at the GDB 78If nothing else helps, type "source /path/to/.gdbinit RET" at the GDB
79prompt, to unconditionally load the GDB init file. 79prompt, to unconditionally load the GDB init file.
80 80
81Running GDB on macOS sometimes brings an error message like this:
82
83 Unable to find Mach task port for process-id NNN: (os/kern) failure (0x5).
84
85To overcome this, search the Internet for the phrase "Unable to find
86Mach task port for process-id", and you will find detailed
87instructions to follow.
88
81*** Use the Emacs GDB UI front-end 89*** Use the Emacs GDB UI front-end
82 90
83We recommend using the GUI front-end for GDB provided by Emacs. With 91We recommend using the GUI front-end for GDB provided by Emacs. With
diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el
index bdedcb2bd3e..bf179c8782a 100644
--- a/lisp/net/browse-url.el
+++ b/lisp/net/browse-url.el
@@ -877,7 +877,21 @@ The optional NEW-WINDOW argument is not used."
877 (error "Browsing URLs is not supported on this system"))) 877 (error "Browsing URLs is not supported on this system")))
878 ((eq system-type 'cygwin) 878 ((eq system-type 'cygwin)
879 (call-process "cygstart" nil nil nil url)) 879 (call-process "cygstart" nil nil nil url))
880 (t (w32-shell-execute "open" (url-unhex-string url))))) 880 (t
881 (w32-shell-execute "open"
882 ;; w32-shell-execute passes file:// URLs
883 ;; to APIs that expect file names, so we
884 ;; need to unhex any %nn encoded
885 ;; characters in the URL. We don't do
886 ;; that for other URLs; in particular,
887 ;; default Windows mail client barfs on
888 ;; quotes in the MAILTO URLs, so we prefer
889 ;; to leave the URL with its embedded %nn
890 ;; encoding intact.
891 (if (eq t (compare-strings url nil 7
892 "file://" nil nil))
893 (url-unhex-string url)
894 url)))))
881 895
882(defun browse-url-default-macosx-browser (url &optional _new-window) 896(defun browse-url-default-macosx-browser (url &optional _new-window)
883 "Invoke the macOS system's default Web browser. 897 "Invoke the macOS system's default Web browser.
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index 2664d03e723..de398350bd2 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -1695,8 +1695,7 @@ and source-file directory for your debugger."
1695 (gud-def gud-up "up" "<" "Up one stack frame.") 1695 (gud-def gud-up "up" "<" "Up one stack frame.")
1696 (gud-def gud-down "down" ">" "Down one stack frame.") 1696 (gud-def gud-down "down" ">" "Down one stack frame.")
1697 (gud-def gud-print "p %e" "\C-p" "Evaluate Python expression at point.") 1697 (gud-def gud-print "p %e" "\C-p" "Evaluate Python expression at point.")
1698 ;; Is this right? 1698 (gud-def gud-statement "!%e" "\C-e" "Execute Python statement at point.")
1699 (gud-def gud-statement "! %e" "\C-e" "Execute Python statement at point.")
1700 1699
1701 ;; (setq comint-prompt-regexp "^(.*pdb[+]?) *") 1700 ;; (setq comint-prompt-regexp "^(.*pdb[+]?) *")
1702 (setq comint-prompt-regexp "^(Pdb) *") 1701 (setq comint-prompt-regexp "^(Pdb) *")
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
index d03d12b3758..73a2c2da8b1 100644
--- a/lisp/textmodes/ispell.el
+++ b/lisp/textmodes/ispell.el
@@ -1212,8 +1212,10 @@ Internal use.")
1212(defun ispell--get-extra-word-characters (&optional lang) 1212(defun ispell--get-extra-word-characters (&optional lang)
1213 "Get the extra word characters for LANG as a character class. 1213 "Get the extra word characters for LANG as a character class.
1214If LANG is omitted, get the extra word characters for the default language." 1214If LANG is omitted, get the extra word characters for the default language."
1215 (concat "[" (string-trim-right (apply 'ispell--call-enchant-lsmod 1215 (let ((extra (string-trim-right
1216 (append '("-word-chars") (if lang `(,lang))))) "]")) 1216 (apply 'ispell--call-enchant-lsmod
1217 (append '("-word-chars") (if lang `(,lang)))))))
1218 (if (string= extra "") "" (concat "[" extra "]"))))
1217 1219
1218(defun ispell-find-enchant-dictionaries () 1220(defun ispell-find-enchant-dictionaries ()
1219 "Find Enchant's dictionaries, and record in `ispell-enchant-dictionary-alist'." 1221 "Find Enchant's dictionaries, and record in `ispell-enchant-dictionary-alist'."
@@ -1243,6 +1245,10 @@ If LANG is omitted, get the extra word characters for the default language."
1243(defvar ispell-last-program-name nil 1245(defvar ispell-last-program-name nil
1244 "Last value of `ispell-program-name'. Internal use.") 1246 "Last value of `ispell-program-name'. Internal use.")
1245 1247
1248;; Allow dynamically binding ispell-base-dicts-override-alist as
1249;; advertised in the doc string of ispell-initialize-spellchecker-hook.
1250(defvar ispell-base-dicts-override-alist)
1251
1246(defvar ispell-initialize-spellchecker-hook nil 1252(defvar ispell-initialize-spellchecker-hook nil
1247 "Normal hook run on spellchecker initialization. 1253 "Normal hook run on spellchecker initialization.
1248This hook is run when a spellchecker is used for the first 1254This hook is run when a spellchecker is used for the first
diff --git a/msdos/INSTALL b/msdos/INSTALL
index 3b343f14563..3707f436625 100644
--- a/msdos/INSTALL
+++ b/msdos/INSTALL
@@ -19,6 +19,15 @@ the necessary utilities; search for "MS-DOS". The configuration step
19(see below) will test for these utilities and will refuse to continue 19(see below) will test for these utilities and will refuse to continue
20if any of them isn't found. 20if any of them isn't found.
21 21
22You should carefully choose the version of GCC you use to build Emacs,
23because recent versions of GCC don't support building Emacs very well.
24The main issue is the debug info: the DJGPP build of Emacs must use
25the COFF debug info. GCC support for COFF debug info was steadily
26deteriorating since GCC 5, and GCC 8.1 officially stopped supporting
27the -gcoff switch, which the Emacs build process needs. We recommend
28using GCC 3.4.X and Binutils 2.26; GDB 7.2 is capable to debug an
29Emacs binary built by this combination.
30
22Bootstrapping Emacs or recompiling Lisp files in the `lisp' 31Bootstrapping Emacs or recompiling Lisp files in the `lisp'
23subdirectory using the various targets in the lisp/Makefile file 32subdirectory using the various targets in the lisp/Makefile file
24requires additional utilities: `find' (from Findutils), GNU `echo' and 33requires additional utilities: `find' (from Findutils), GNU `echo' and
@@ -70,15 +79,15 @@ Running "config msdos" checks for several programs that are required
70to configure and build Emacs; if one of those programs is not found, 79to configure and build Emacs; if one of those programs is not found,
71CONFIG.BAT stops and prints an error message. 80CONFIG.BAT stops and prints an error message.
72 81
73On Windows NT and Windows 2000/XP/Vista/7, running "config msdos" 82On Windows NT and Windows 2000/XP and later, running "config msdos"
74might print an error message like "VDM has been already loaded". This 83might print an error message like "VDM has been already loaded". This
75is because those systems have a program called `redir.exe' which is 84is because those systems have a program called `redir.exe' which is
76incompatible with a program by the same name supplied with DJGPP, 85incompatible with a program by the same name supplied with DJGPP,
77which is used by config.bat. To resolve this, move the DJGPP's `bin' 86which is used by config.bat. To resolve this, move the DJGPP's `bin'
78subdirectory to the front of your PATH environment variable. 87subdirectory to the front of your PATH environment variable.
79 88
80Windows Vista/7 has several bugs in its DPMI server related to memory 89Windows Vista and later has several bugs in its DPMI server related to
81allocation: it fails DPMI resize memory block function, and it 90memory allocation: it fails DPMI resize memory block function, and it
82arbitrarily limits the default amount of DPMI memory to 32MB. To work 91arbitrarily limits the default amount of DPMI memory to 32MB. To work
83around these bugs, first configure Emacs to use the `malloc' function 92around these bugs, first configure Emacs to use the `malloc' function
84from the DJGPP library. To this end, run CONFIG.BAT with the 93from the DJGPP library. To this end, run CONFIG.BAT with the
diff --git a/src/xdisp.c b/src/xdisp.c
index 50fd6857784..1299ba38e3d 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -14027,11 +14027,6 @@ redisplay_internal (void)
14027 /* Notice any pending interrupt request to change frame size. */ 14027 /* Notice any pending interrupt request to change frame size. */
14028 do_pending_window_change (true); 14028 do_pending_window_change (true);
14029 14029
14030 /* do_pending_window_change could change the selected_window due to
14031 frame resizing which makes the selected window too small. */
14032 if (WINDOWP (selected_window) && (w = XWINDOW (selected_window)) != sw)
14033 sw = w;
14034
14035 /* Clear frames marked as garbaged. */ 14030 /* Clear frames marked as garbaged. */
14036 clear_garbaged_frames (); 14031 clear_garbaged_frames ();
14037 14032
@@ -14039,6 +14034,13 @@ redisplay_internal (void)
14039 if (NILP (Vmemory_full)) 14034 if (NILP (Vmemory_full))
14040 prepare_menu_bars (); 14035 prepare_menu_bars ();
14041 14036
14037 /* do_pending_window_change could change the selected_window due to
14038 frame resizing which makes the selected window too small.
14039 prepare_menu_bars may call lisp hooks and hence also change the
14040 selected_window. */
14041 if (WINDOWP (selected_window) && (w = XWINDOW (selected_window)) != sw)
14042 sw = w;
14043
14042 reconsider_clip_changes (w); 14044 reconsider_clip_changes (w);
14043 14045
14044 /* In most cases selected window displays current buffer. */ 14046 /* In most cases selected window displays current buffer. */
diff --git a/test/src/fns-tests.el b/test/src/fns-tests.el
index 0301ceaad52..d9cca557cf2 100644
--- a/test/src/fns-tests.el
+++ b/test/src/fns-tests.el
@@ -119,10 +119,9 @@
119 119
120 ;; In POSIX or C locales, collation order is lexicographic. 120 ;; In POSIX or C locales, collation order is lexicographic.
121 (should (string-collate-lessp "XYZZY" "xyzzy" "POSIX")) 121 (should (string-collate-lessp "XYZZY" "xyzzy" "POSIX"))
122 ;; In a language specific locale, collation order is different. 122 ;; In a language specific locale on MS-Windows, collation order is different.
123 (should (string-collate-lessp 123 (when (eq system-type 'windows-nt)
124 "xyzzy" "XYZZY" 124 (should (string-collate-lessp "xyzzy" "XYZZY" "enu_USA")))
125 (if (eq system-type 'windows-nt) "enu_USA" "en_US.UTF-8")))
126 125
127 ;; Ignore case. 126 ;; Ignore case.
128 (should (string-collate-equalp "xyzzy" "XYZZY" nil t)) 127 (should (string-collate-equalp "xyzzy" "XYZZY" nil t))
@@ -154,8 +153,6 @@
154 (9 . "aaa") (9 . "zzz") (9 . "ppp") (9 . "fff")]))) 153 (9 . "aaa") (9 . "zzz") (9 . "ppp") (9 . "fff")])))
155 154
156(ert-deftest fns-tests-collate-sort () 155(ert-deftest fns-tests-collate-sort ()
157 ;; See https://lists.gnu.org/r/emacs-devel/2015-10/msg02505.html.
158 :expected-result (if (eq system-type 'cygwin) :failed :passed)
159 (skip-unless (fns-tests--collate-enabled-p)) 156 (skip-unless (fns-tests--collate-enabled-p))
160 157
161 ;; Punctuation and whitespace characters are relevant for POSIX. 158 ;; Punctuation and whitespace characters are relevant for POSIX.
@@ -165,15 +162,16 @@
165 (lambda (a b) (string-collate-lessp a b "POSIX"))) 162 (lambda (a b) (string-collate-lessp a b "POSIX")))
166 '("1 1" "1 2" "1.1" "1.2" "11" "12"))) 163 '("1 1" "1 2" "1.1" "1.2" "11" "12")))
167 ;; Punctuation and whitespace characters are not taken into account 164 ;; Punctuation and whitespace characters are not taken into account
168 ;; for collation in other locales. 165 ;; for collation in other locales, on MS-Windows systems.
169 (should 166 (when (eq system-type 'windows-nt)
170 (equal 167 (should
171 (sort '("11" "12" "1 1" "1 2" "1.1" "1.2") 168 (equal
172 (lambda (a b) 169 (sort '("11" "12" "1 1" "1 2" "1.1" "1.2")
173 (let ((w32-collate-ignore-punctuation t)) 170 (lambda (a b)
174 (string-collate-lessp 171 (let ((w32-collate-ignore-punctuation t))
175 a b (if (eq system-type 'windows-nt) "enu_USA" "en_US.UTF-8"))))) 172 (string-collate-lessp
176 '("11" "1 1" "1.1" "12" "1 2" "1.2"))) 173 a b "enu_USA"))))
174 '("11" "1 1" "1.1" "12" "1 2" "1.2"))))
177 175
178 ;; Diacritics are different letters for POSIX, they sort lexicographical. 176 ;; Diacritics are different letters for POSIX, they sort lexicographical.
179 (should 177 (should
@@ -181,15 +179,17 @@
181 (sort '("Ævar" "Agustín" "Adrian" "Eli") 179 (sort '("Ævar" "Agustín" "Adrian" "Eli")
182 (lambda (a b) (string-collate-lessp a b "POSIX"))) 180 (lambda (a b) (string-collate-lessp a b "POSIX")))
183 '("Adrian" "Agustín" "Eli" "Ævar"))) 181 '("Adrian" "Agustín" "Eli" "Ævar")))
184 ;; Diacritics are sorted between similar letters for other locales. 182 ;; Diacritics are sorted between similar letters for other locales,
185 (should 183 ;; on MS-Windows systems.
186 (equal 184 (when (eq system-type 'windows-nt)
187 (sort '("Ævar" "Agustín" "Adrian" "Eli") 185 (should
188 (lambda (a b) 186 (equal
189 (let ((w32-collate-ignore-punctuation t)) 187 (sort '("Ævar" "Agustín" "Adrian" "Eli")
190 (string-collate-lessp 188 (lambda (a b)
191 a b (if (eq system-type 'windows-nt) "enu_USA" "en_US.UTF-8"))))) 189 (let ((w32-collate-ignore-punctuation t))
192 '("Adrian" "Ævar" "Agustín" "Eli")))) 190 (string-collate-lessp
191 a b "enu_USA"))))
192 '("Adrian" "Ævar" "Agustín" "Eli")))))
193 193
194(ert-deftest fns-tests-string-version-lessp () 194(ert-deftest fns-tests-string-version-lessp ()
195 (should (string-version-lessp "foo2.png" "foo12.png")) 195 (should (string-version-lessp "foo2.png" "foo12.png"))