aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Morris2019-02-15 13:25:30 -0800
committerGlenn Morris2019-02-15 13:25:30 -0800
commita29c70d29b349712928ef8f12cfb87834df359a4 (patch)
tree9df0fac95982d162f647d117ea28c0f90b787c53
parent877eba7249d0d352ff489f1fceb8362c08814494 (diff)
parent3f4b8e9a299f88a8ea11c0ea6a281a34852e541a (diff)
downloademacs-a29c70d29b349712928ef8f12cfb87834df359a4.tar.gz
emacs-a29c70d29b349712928ef8f12cfb87834df359a4.zip
Merge from origin/emacs-26
3f4b8e9 * src/data.c (Fmake_local_variable): Fix bug#34318 b384996 Minor fixes in ELisp manual wrt syntax-table properties 71fc6d2 * admin/notes/emba: New file. 3aaa2d2 Fix Hunspell invocation for discovering its dictionaries # Conflicts: # test/src/data-tests.el
-rw-r--r--admin/notes/emba64
-rw-r--r--doc/lispref/syntax.texi11
-rw-r--r--lisp/textmodes/ispell.el9
-rw-r--r--src/data.c10
-rw-r--r--test/src/data-tests.el18
5 files changed, 105 insertions, 7 deletions
diff --git a/admin/notes/emba b/admin/notes/emba
new file mode 100644
index 00000000000..cb0dbc48095
--- /dev/null
+++ b/admin/notes/emba
@@ -0,0 +1,64 @@
1-*- mode: outline; coding: utf-8 -*-
2
3Copyright (C) 2019 Free Software Foundation, Inc.
4See the end of the file for license conditions.
5
6NOTES FOR EMACS CONTINUOUS BUILD ON EMBA
7
8A continuous build for Emacs can be found at
9<https://emba.gnu.org/emacs/emacs>, a Gitlab instance. It watches the
10Emacs git repository and starts a pipeline (jobset) if there are new
11changes. This happens for all Emacs branches.
12
13* Mail notifications
14
15In addition to the web interface, emba can send notifications by email
16when a job fails. It sends notifications about test status to
17<emacs-buildstatus@gnu.org>.
18
19If you want to receive these notifications, please subscribe at
20<https://lists.gnu.org/mailman/listinfo/emacs-buildstatus>.
21
22Alternatively, these notifications can be read via gmane at
23<nntp+news.gmane.org:gmane.emacs.buildstatus>.
24
25The messages contain a URL to the log file of the failed job, like
26<https://emba.gnu.org/emacs/emacs/-/jobs/739/raw>.
27
28* Emacs jobset
29
30The Emacs jobset is defined in the Emacs source tree, file
31'.gitlab-ci.yml'. It could be adapted for every Emacs branch, see
32<https://emba.gnu.org/help/ci/yaml/README.md>.
33
34Every job runs in a Debian docker container. It uses the local clone
35of the Emacs git repository to perform a bootstrap and test of Emacs.
36This could happen for several jobs with changed configuration, compile
37and test parameters.
38
39* Emba configuration
40
41The emba configuration files are hosted on
42<https://gitlab.com/emacs-ci/emba-ansible>.
43
44* Identifying emba
45
46Lisp packages, Makefiles, scripts, and other software could determine
47whether they run on emba by checking for the environment variable
48EMACS_EMBA_CI.
49
50
51This file is part of GNU Emacs.
52
53GNU Emacs is free software: you can redistribute it and/or modify
54it under the terms of the GNU General Public License as published by
55the Free Software Foundation, either version 3 of the License, or
56(at your option) any later version.
57
58GNU Emacs is distributed in the hope that it will be useful,
59but WITHOUT ANY WARRANTY; without even the implied warranty of
60MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
61GNU General Public License for more details.
62
63You should have received a copy of the GNU General Public License
64along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
diff --git a/doc/lispref/syntax.texi b/doc/lispref/syntax.texi
index a960eeac7e8..25b9b35250f 100644
--- a/doc/lispref/syntax.texi
+++ b/doc/lispref/syntax.texi
@@ -556,8 +556,8 @@ the current syntax table in the usual way.
556 556
557@defvar parse-sexp-lookup-properties 557@defvar parse-sexp-lookup-properties
558If this is non-@code{nil}, the syntax scanning functions, like 558If this is non-@code{nil}, the syntax scanning functions, like
559@code{forward-sexp}, pay attention to syntax text properties. 559@code{forward-sexp}, pay attention to @code{syntax-table} text
560Otherwise they use only the current syntax table. 560properties. Otherwise they use only the current syntax table.
561@end defvar 561@end defvar
562 562
563@defvar syntax-propertize-function 563@defvar syntax-propertize-function
@@ -927,9 +927,9 @@ nicely.
927 927
928@defvar multibyte-syntax-as-symbol 928@defvar multibyte-syntax-as-symbol
929If this variable is non-@code{nil}, @code{scan-sexps} treats all 929If this variable is non-@code{nil}, @code{scan-sexps} treats all
930non-@acronym{ASCII} characters as symbol constituents regardless 930non-@acronym{ASCII} characters as symbol constituents regardless of
931of what the syntax table says about them. (However, text properties 931what the syntax table says about them. (However, @code{syntax-table
932can still override the syntax.) 932}text properties can still override the syntax.)
933@end defvar 933@end defvar
934 934
935@defopt parse-sexp-ignore-comments 935@defopt parse-sexp-ignore-comments
@@ -939,7 +939,6 @@ whitespace by the functions in this section and by @code{forward-sexp},
939@code{scan-lists} and @code{scan-sexps}. 939@code{scan-lists} and @code{scan-sexps}.
940@end defopt 940@end defopt
941 941
942@vindex parse-sexp-lookup-properties
943The behavior of @code{parse-partial-sexp} is also affected by 942The behavior of @code{parse-partial-sexp} is also affected by
944@code{parse-sexp-lookup-properties} (@pxref{Syntax Properties}). 943@code{parse-sexp-lookup-properties} (@pxref{Syntax Properties}).
945 944
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
index f3436c6c6c4..cc8ec2652f7 100644
--- a/lisp/textmodes/ispell.el
+++ b/lisp/textmodes/ispell.el
@@ -1107,12 +1107,19 @@ dictionary from that list was found."
1107 null-device 1107 null-device
1108 t 1108 t
1109 nil 1109 nil
1110 "-D"
1111 ;; Use -a to prevent Hunspell from
1112 ;; trying to initialize its
1113 ;; curses/termcap UI, which causes it
1114 ;; to crash or fail to start in some
1115 ;; MS-Windows ports.
1116 "-a"
1110 ;; Hunspell 1.7.0 (and later?) won't 1117 ;; Hunspell 1.7.0 (and later?) won't
1111 ;; show LOADED DICTIONARY unless 1118 ;; show LOADED DICTIONARY unless
1112 ;; there's at least one file argument 1119 ;; there's at least one file argument
1113 ;; on the command line. So we feed 1120 ;; on the command line. So we feed
1114 ;; it with the null device. 1121 ;; it with the null device.
1115 "-D" null-device) 1122 null-device)
1116 (buffer-string)) 1123 (buffer-string))
1117 "[\n\r]+" 1124 "[\n\r]+"
1118 t)) 1125 t))
diff --git a/src/data.c b/src/data.c
index 92a1062280e..65f2b0f2f1b 100644
--- a/src/data.c
+++ b/src/data.c
@@ -1958,6 +1958,16 @@ Instead, use `add-hook' and specify t for the LOCAL argument. */)
1958 (current_buffer, 1958 (current_buffer,
1959 Fcons (Fcons (variable, XCDR (blv->defcell)), 1959 Fcons (Fcons (variable, XCDR (blv->defcell)),
1960 BVAR (current_buffer, local_var_alist))); 1960 BVAR (current_buffer, local_var_alist)));
1961
1962 /* If the symbol forwards into a C variable, then load the binding
1963 for this buffer now, to preserve the invariant that forwarded
1964 variables must always hold the value corresponding to the
1965 current buffer (they are swapped eagerly).
1966 Otherwise, if C code modifies the variable before we load the
1967 binding in, then that new value would clobber the default binding
1968 the next time we unload it. See bug#34318. */
1969 if (blv->fwd)
1970 swap_in_symval_forwarding (sym, blv);
1961 } 1971 }
1962 1972
1963 return variable; 1973 return variable;
diff --git a/test/src/data-tests.el b/test/src/data-tests.el
index bc77a7be94e..a9d48e29a8a 100644
--- a/test/src/data-tests.el
+++ b/test/src/data-tests.el
@@ -669,4 +669,22 @@ comparing the subr with a much slower lisp implementation."
669 (should (= (lsh -1 -1) most-positive-fixnum)) 669 (should (= (lsh -1 -1) most-positive-fixnum))
670 (should-error (lsh (1- most-negative-fixnum) -1))) 670 (should-error (lsh (1- most-negative-fixnum) -1)))
671 671
672(ert-deftest data-tests-make-local-forwarded-var () ;bug#34318
673 ;; Boy, this bug is tricky to trigger. You need to:
674 ;; - call make-local-variable on a forwarded var (i.e. one that
675 ;; has a corresponding C var linked via DEFVAR_(LISP|INT|BOOL))
676 ;; - cause the C code to modify this variable from the C side of the
677 ;; forwarding, but this needs to happen before the var is accessed
678 ;; from the Lisp side and before we switch to another buffer.
679 ;; The trigger in bug#34318 doesn't exist any more because the C code has
680 ;; changes. Instead I found the trigger below.
681 (with-temp-buffer
682 (setq last-coding-system-used 'bug34318)
683 (make-local-variable 'last-coding-system-used)
684 ;; This should set last-coding-system-used to `no-conversion'.
685 (decode-coding-string "hello" nil)
686 (should (equal (list last-coding-system-used
687 (default-value 'last-coding-system-used))
688 '(no-conversion bug34318)))))
689
672;;; data-tests.el ends here 690;;; data-tests.el ends here