mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-30 04:10:54 -08:00
Merge from origin/emacs-26
1d732d6(origin/emacs-26) Fix gud-statement for pdb91a68b5; * msdos/INSTALL: Add info about GCC versions.7ddcc9aDocument 'custom-group'58f9e15A minor addition to etc/DEBUG4590414Avoid errors in ispell.el when Enchant returns empty extra charsd0d75f9Make 'ispell-initialize-spellchecker-hook' work againb90ce66Handle selected_window change in prepare_menu_bars (Bug#31312)79ad0b3; * INSTALL: Fix Emacs version number. (Bug#31358)91de88bFix report-emacs-bug via mailclient on MS-Windowsf4b5ff2Port collation tests to glibc 2.27
This commit is contained in:
commit
766b057e41
9 changed files with 83 additions and 38 deletions
2
INSTALL
2
INSTALL
|
|
@ -34,7 +34,7 @@ some of the steps manually. The more detailed description in the other
|
|||
sections of this guide will help you do that, so please refer to those
|
||||
sections if you need to.
|
||||
|
||||
1. Unpacking the Emacs 25 release requires about 200 MB of free
|
||||
1. Unpacking the Emacs release requires about 200 MB of free
|
||||
disk space. Building Emacs uses about another 200 MB of space.
|
||||
The final installed Emacs uses about 150 MB of disk space.
|
||||
This includes the space-saving that comes from automatically
|
||||
|
|
|
|||
|
|
@ -257,6 +257,13 @@ customizable variable @code{custom-unlispify-remove-prefixes} is
|
|||
non-@code{nil}, the item's tag will omit @var{prefix}. A group can
|
||||
have any number of prefixes.
|
||||
@end table
|
||||
|
||||
@cindex @code{custom-group} property
|
||||
The variables and subgroups of a group are stored in the
|
||||
@code{custom-group} property of the group's symbol. @xref{Symbol
|
||||
Plists}. The value of that property is a list of pairs whose
|
||||
@code{car} is the variable or subgroup symbol and the @code{cdr} is
|
||||
either @code{custom-variable} or @code{custom-group}.
|
||||
@end defmac
|
||||
|
||||
@defopt custom-unlispify-remove-prefixes
|
||||
|
|
|
|||
|
|
@ -78,6 +78,14 @@ described in the node "Auto-loading safe path" in the GDB user manual.
|
|||
If nothing else helps, type "source /path/to/.gdbinit RET" at the GDB
|
||||
prompt, to unconditionally load the GDB init file.
|
||||
|
||||
Running GDB on macOS sometimes brings an error message like this:
|
||||
|
||||
Unable to find Mach task port for process-id NNN: (os/kern) failure (0x5).
|
||||
|
||||
To overcome this, search the Internet for the phrase "Unable to find
|
||||
Mach task port for process-id", and you will find detailed
|
||||
instructions to follow.
|
||||
|
||||
*** Use the Emacs GDB UI front-end
|
||||
|
||||
We recommend using the GUI front-end for GDB provided by Emacs. With
|
||||
|
|
|
|||
|
|
@ -877,7 +877,21 @@ The optional NEW-WINDOW argument is not used."
|
|||
(error "Browsing URLs is not supported on this system")))
|
||||
((eq system-type 'cygwin)
|
||||
(call-process "cygstart" nil nil nil url))
|
||||
(t (w32-shell-execute "open" (url-unhex-string url)))))
|
||||
(t
|
||||
(w32-shell-execute "open"
|
||||
;; w32-shell-execute passes file:// URLs
|
||||
;; to APIs that expect file names, so we
|
||||
;; need to unhex any %nn encoded
|
||||
;; characters in the URL. We don't do
|
||||
;; that for other URLs; in particular,
|
||||
;; default Windows mail client barfs on
|
||||
;; quotes in the MAILTO URLs, so we prefer
|
||||
;; to leave the URL with its embedded %nn
|
||||
;; encoding intact.
|
||||
(if (eq t (compare-strings url nil 7
|
||||
"file://" nil nil))
|
||||
(url-unhex-string url)
|
||||
url)))))
|
||||
|
||||
(defun browse-url-default-macosx-browser (url &optional _new-window)
|
||||
"Invoke the macOS system's default Web browser.
|
||||
|
|
|
|||
|
|
@ -1695,8 +1695,7 @@ and source-file directory for your debugger."
|
|||
(gud-def gud-up "up" "<" "Up one stack frame.")
|
||||
(gud-def gud-down "down" ">" "Down one stack frame.")
|
||||
(gud-def gud-print "p %e" "\C-p" "Evaluate Python expression at point.")
|
||||
;; Is this right?
|
||||
(gud-def gud-statement "! %e" "\C-e" "Execute Python statement at point.")
|
||||
(gud-def gud-statement "!%e" "\C-e" "Execute Python statement at point.")
|
||||
|
||||
;; (setq comint-prompt-regexp "^(.*pdb[+]?) *")
|
||||
(setq comint-prompt-regexp "^(Pdb) *")
|
||||
|
|
|
|||
|
|
@ -1212,8 +1212,10 @@ Internal use.")
|
|||
(defun ispell--get-extra-word-characters (&optional lang)
|
||||
"Get the extra word characters for LANG as a character class.
|
||||
If LANG is omitted, get the extra word characters for the default language."
|
||||
(concat "[" (string-trim-right (apply 'ispell--call-enchant-lsmod
|
||||
(append '("-word-chars") (if lang `(,lang))))) "]"))
|
||||
(let ((extra (string-trim-right
|
||||
(apply 'ispell--call-enchant-lsmod
|
||||
(append '("-word-chars") (if lang `(,lang)))))))
|
||||
(if (string= extra "") "" (concat "[" extra "]"))))
|
||||
|
||||
(defun ispell-find-enchant-dictionaries ()
|
||||
"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."
|
|||
(defvar ispell-last-program-name nil
|
||||
"Last value of `ispell-program-name'. Internal use.")
|
||||
|
||||
;; Allow dynamically binding ispell-base-dicts-override-alist as
|
||||
;; advertised in the doc string of ispell-initialize-spellchecker-hook.
|
||||
(defvar ispell-base-dicts-override-alist)
|
||||
|
||||
(defvar ispell-initialize-spellchecker-hook nil
|
||||
"Normal hook run on spellchecker initialization.
|
||||
This hook is run when a spellchecker is used for the first
|
||||
|
|
|
|||
|
|
@ -19,6 +19,15 @@ the necessary utilities; search for "MS-DOS". The configuration step
|
|||
(see below) will test for these utilities and will refuse to continue
|
||||
if any of them isn't found.
|
||||
|
||||
You should carefully choose the version of GCC you use to build Emacs,
|
||||
because recent versions of GCC don't support building Emacs very well.
|
||||
The main issue is the debug info: the DJGPP build of Emacs must use
|
||||
the COFF debug info. GCC support for COFF debug info was steadily
|
||||
deteriorating since GCC 5, and GCC 8.1 officially stopped supporting
|
||||
the -gcoff switch, which the Emacs build process needs. We recommend
|
||||
using GCC 3.4.X and Binutils 2.26; GDB 7.2 is capable to debug an
|
||||
Emacs binary built by this combination.
|
||||
|
||||
Bootstrapping Emacs or recompiling Lisp files in the `lisp'
|
||||
subdirectory using the various targets in the lisp/Makefile file
|
||||
requires additional utilities: `find' (from Findutils), GNU `echo' and
|
||||
|
|
@ -70,15 +79,15 @@ Running "config msdos" checks for several programs that are required
|
|||
to configure and build Emacs; if one of those programs is not found,
|
||||
CONFIG.BAT stops and prints an error message.
|
||||
|
||||
On Windows NT and Windows 2000/XP/Vista/7, running "config msdos"
|
||||
On Windows NT and Windows 2000/XP and later, running "config msdos"
|
||||
might print an error message like "VDM has been already loaded". This
|
||||
is because those systems have a program called `redir.exe' which is
|
||||
incompatible with a program by the same name supplied with DJGPP,
|
||||
which is used by config.bat. To resolve this, move the DJGPP's `bin'
|
||||
subdirectory to the front of your PATH environment variable.
|
||||
|
||||
Windows Vista/7 has several bugs in its DPMI server related to memory
|
||||
allocation: it fails DPMI resize memory block function, and it
|
||||
Windows Vista and later has several bugs in its DPMI server related to
|
||||
memory allocation: it fails DPMI resize memory block function, and it
|
||||
arbitrarily limits the default amount of DPMI memory to 32MB. To work
|
||||
around these bugs, first configure Emacs to use the `malloc' function
|
||||
from the DJGPP library. To this end, run CONFIG.BAT with the
|
||||
|
|
|
|||
12
src/xdisp.c
12
src/xdisp.c
|
|
@ -14027,11 +14027,6 @@ redisplay_internal (void)
|
|||
/* Notice any pending interrupt request to change frame size. */
|
||||
do_pending_window_change (true);
|
||||
|
||||
/* do_pending_window_change could change the selected_window due to
|
||||
frame resizing which makes the selected window too small. */
|
||||
if (WINDOWP (selected_window) && (w = XWINDOW (selected_window)) != sw)
|
||||
sw = w;
|
||||
|
||||
/* Clear frames marked as garbaged. */
|
||||
clear_garbaged_frames ();
|
||||
|
||||
|
|
@ -14039,6 +14034,13 @@ redisplay_internal (void)
|
|||
if (NILP (Vmemory_full))
|
||||
prepare_menu_bars ();
|
||||
|
||||
/* do_pending_window_change could change the selected_window due to
|
||||
frame resizing which makes the selected window too small.
|
||||
prepare_menu_bars may call lisp hooks and hence also change the
|
||||
selected_window. */
|
||||
if (WINDOWP (selected_window) && (w = XWINDOW (selected_window)) != sw)
|
||||
sw = w;
|
||||
|
||||
reconsider_clip_changes (w);
|
||||
|
||||
/* In most cases selected window displays current buffer. */
|
||||
|
|
|
|||
|
|
@ -119,10 +119,9 @@
|
|||
|
||||
;; In POSIX or C locales, collation order is lexicographic.
|
||||
(should (string-collate-lessp "XYZZY" "xyzzy" "POSIX"))
|
||||
;; In a language specific locale, collation order is different.
|
||||
(should (string-collate-lessp
|
||||
"xyzzy" "XYZZY"
|
||||
(if (eq system-type 'windows-nt) "enu_USA" "en_US.UTF-8")))
|
||||
;; In a language specific locale on MS-Windows, collation order is different.
|
||||
(when (eq system-type 'windows-nt)
|
||||
(should (string-collate-lessp "xyzzy" "XYZZY" "enu_USA")))
|
||||
|
||||
;; Ignore case.
|
||||
(should (string-collate-equalp "xyzzy" "XYZZY" nil t))
|
||||
|
|
@ -154,8 +153,6 @@
|
|||
(9 . "aaa") (9 . "zzz") (9 . "ppp") (9 . "fff")])))
|
||||
|
||||
(ert-deftest fns-tests-collate-sort ()
|
||||
;; See https://lists.gnu.org/r/emacs-devel/2015-10/msg02505.html.
|
||||
:expected-result (if (eq system-type 'cygwin) :failed :passed)
|
||||
(skip-unless (fns-tests--collate-enabled-p))
|
||||
|
||||
;; Punctuation and whitespace characters are relevant for POSIX.
|
||||
|
|
@ -165,15 +162,16 @@
|
|||
(lambda (a b) (string-collate-lessp a b "POSIX")))
|
||||
'("1 1" "1 2" "1.1" "1.2" "11" "12")))
|
||||
;; Punctuation and whitespace characters are not taken into account
|
||||
;; for collation in other locales.
|
||||
(should
|
||||
(equal
|
||||
(sort '("11" "12" "1 1" "1 2" "1.1" "1.2")
|
||||
(lambda (a b)
|
||||
(let ((w32-collate-ignore-punctuation t))
|
||||
(string-collate-lessp
|
||||
a b (if (eq system-type 'windows-nt) "enu_USA" "en_US.UTF-8")))))
|
||||
'("11" "1 1" "1.1" "12" "1 2" "1.2")))
|
||||
;; for collation in other locales, on MS-Windows systems.
|
||||
(when (eq system-type 'windows-nt)
|
||||
(should
|
||||
(equal
|
||||
(sort '("11" "12" "1 1" "1 2" "1.1" "1.2")
|
||||
(lambda (a b)
|
||||
(let ((w32-collate-ignore-punctuation t))
|
||||
(string-collate-lessp
|
||||
a b "enu_USA"))))
|
||||
'("11" "1 1" "1.1" "12" "1 2" "1.2"))))
|
||||
|
||||
;; Diacritics are different letters for POSIX, they sort lexicographical.
|
||||
(should
|
||||
|
|
@ -181,15 +179,17 @@
|
|||
(sort '("Ævar" "Agustín" "Adrian" "Eli")
|
||||
(lambda (a b) (string-collate-lessp a b "POSIX")))
|
||||
'("Adrian" "Agustín" "Eli" "Ævar")))
|
||||
;; Diacritics are sorted between similar letters for other locales.
|
||||
(should
|
||||
(equal
|
||||
(sort '("Ævar" "Agustín" "Adrian" "Eli")
|
||||
(lambda (a b)
|
||||
(let ((w32-collate-ignore-punctuation t))
|
||||
(string-collate-lessp
|
||||
a b (if (eq system-type 'windows-nt) "enu_USA" "en_US.UTF-8")))))
|
||||
'("Adrian" "Ævar" "Agustín" "Eli"))))
|
||||
;; Diacritics are sorted between similar letters for other locales,
|
||||
;; on MS-Windows systems.
|
||||
(when (eq system-type 'windows-nt)
|
||||
(should
|
||||
(equal
|
||||
(sort '("Ævar" "Agustín" "Adrian" "Eli")
|
||||
(lambda (a b)
|
||||
(let ((w32-collate-ignore-punctuation t))
|
||||
(string-collate-lessp
|
||||
a b "enu_USA"))))
|
||||
'("Adrian" "Ævar" "Agustín" "Eli")))))
|
||||
|
||||
(ert-deftest fns-tests-string-version-lessp ()
|
||||
(should (string-version-lessp "foo2.png" "foo12.png"))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue