1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-18 03:51:48 -07:00
Commit graph

136045 commits

Author SHA1 Message Date
Philipp Stephani
ca3ad9746d Use utf-8-unix for coding system conversions in the module API.
Factor out conversions into helper functions to provide a simpler
interface.

* src/emacs-module.c (module_encode, module_decode_copy): New helper
functions.
(module_make_function, module_copy_string_contents)
(module_make_string): Use them.
2019-04-22 15:44:37 +02:00
Basil L. Contovounesios
4430a9b54f Improve pure and side-effect-free docs
For discussion, see thread starting at:
https://lists.gnu.org/archive/html/emacs-devel/2019-04/msg00316.html
* doc/lispref/customize.texi (Composite Types): Do not overspecify
:match-alternatives predicates.
* doc/lispref/eval.texi (Intro Eval): Anchor definition of "side
effect" for cross-referencing...
* doc/lispref/functions.texi (What Is a Function): ...from here.
Define what a pure function is.
* doc/lispref/internals.texi (Writing Emacs Primitives): Describe
currently preferred approach to marking primitives as pure and
side-effect-free.
* doc/lispref/symbols.texi (Standard Properties): Expand description
of pure and side-effect-free properties.
2019-04-22 13:48:20 +01:00
Philipp Stephani
a2a51b4e94 Refactoring: Inline a few macros.
Now that CATCHER_ALL catches signals as well, we can simplify
MODULE_HANDLE_NONLOCAL_EXIT a bit.

* src/emacs-module.c (MODULE_SETJMP, MODULE_SETJMP_1): Remove.
(MODULE_HANDLE_NONLOCAL_EXIT): Inline MODULE_SETJMP and
MODULE_SETJMP_1.
2019-04-22 11:36:59 +02:00
Eli Zaretskii
4ec0244593 ; * etc/NEWS: Improve wording of a recent addition. 2019-04-22 11:12:45 +03:00
Michael Albinus
0289498211 Some changes in tramp-tests
* test/lisp/net/tramp-tests.el (tramp-test32-shell-command):
Check for backward compatibility.
(tramp-test33-environment-variables): Apply a better check for
unset variable.
2019-04-22 09:58:37 +02:00
Paul Eggert
b20d8a9322 Mention AddressSanitizer etc. in etc/DEBUG
* etc/DEBUG: Modernize for AddressSanitizer etc.
* etc/NEWS: Defer to etc/DEBUG for this.
2019-04-21 23:16:48 -07:00
Paul Eggert
1ea048f6e0 Remove --enable-checking=xmallocoverrun
It doesn’t work anymore, and these days ‘gcc -fsanitize=address’
does a better job anyway.
* configure.ac: Remove the option.
* configure.ac (ac_xmalloc_overrun, XMALLOC_OVERRUN_CHECK):
* src/alloc.c (XMALLOC_OVERRUN_CHECK_OVERHEAD)
(XMALLOC_OVERRUN_CHECK_SIZE, XMALLOC_OVERRUN_SIZE_SIZE)
(xmalloc_overrun_check_header, xmalloc_overrun_check_trailer)
(xmalloc_put_size, xmalloc_get_size, overrun_check_malloc)
(overrun_check_realloc, overrun_check_free):
Remove.  All uses removed.
* etc/NEWS: Mention this.
2019-04-21 23:16:48 -07:00
Paul Eggert
72067661fe Remove --enablechecking=conslist configure option
* configure.ac: Remove the option.
* configure.ac (ac_gc_check_cons_list, GC_CHECK_CONS_LIST):
* src/alloc.c (check_cons_list) [GC_CHECK_CONS_LIST]:
* src/lisp.h (lisp_h_check_cons_list, check_cons_list):
Remove.  All uses removed.
* etc/NEWS: Mention this.
2019-04-21 23:16:48 -07:00
Paul Eggert
418400ab7b Simplify XPNTR
Because XPNTR now uses ATTRIBUTE_NO_SANITIZE_UNDEFINED,
it can be simplified.
* src/alloc.c (macro_PNTR_ADD, PNTR_ADD, macro_XPNTR): Remove.
(XPNTR): Open-code rather than using the removed macros and
functions.  Also, simplify by using LISP_WORD_TAG.
2019-04-21 21:45:37 -07:00
Paul Eggert
e85bff0bbb Fix drain_reloc_list alignment bug
* src/pdumper.c (dump_charset): Use alignof (struct charset),
not alignof (int), since struct charset might be more strictly
aligned than int.  I think this is just a minor performance
issue, but we might as well use the correct alignment.
(drain_reloc_list): Use an alignment instead of a size for the
output alignment.  This prevents undefined behavior when
alignof (struct emacs_reloc) == 8 and sizeof (dump_off) == 4
when building on x86-64 with gcc -fsanitize=undefined.
2019-04-21 21:16:26 -07:00
Paul Eggert
4a5ed6b05a Port dump_bitset_clear to -fsanitize=undefined
* src/pdumper.c (dump_bitset_clear):
Pacify -fsanitize=undefined by avoiding memset (NULL, x, 0),
which strictly speaking has undefined behavior although it
works on all production platforms I know.
2019-04-21 21:16:26 -07:00
Paul Eggert
f67bc3f12b Port to recent gcc -fsanitize=undefined
* src/alloc.c (XPNTR): Add ATTRIBUTE_NO_SANITIZE_UNDEFINED and
remove ATTRIBUTE_UNUSED.  Do not define as a macro, so that
ATTRIBUTE_NO_SANITIZE_UNDEFINED works.
* src/lisp.h (lisp_h_XSYMBOL): Remove.  All uses removed.
With recent GCC the macro does not work with -fsanitize=undefined,
and the macro can be omitted as its only function is to optimize -O0.
2019-04-21 21:16:26 -07:00
Basil L. Contovounesios
3a618e5f89 Move side-effect-free from unsafep.el to subr.el
* lisp/emacs-lisp/unsafep.el: Move side-effect-free property setting
from here...
* lisp/subr.el: ...to here, as function declarations for modularity.
2019-04-21 19:04:13 +01:00
Paul Eggert
2ea55c2774 Fix double-free in pdumper
Revert the double-free bug that I introduced in
2019-03-11T15:20:54Z!eggert@cs.ucla.edu.
* src/pdumper.c (dump_mmap_reset): Do not free the private member;
that’s the release function’s job.
(dump_mm_heap_cb_release): Free cb if its refcount goes to zero.
(dump_mmap_contiguous_heap): Mention memory leak in comment.
2019-04-21 09:59:33 -07:00
Glenn Morris
d9664f0d9e Merge from origin/emacs-26
9d7e08d (origin/emacs-26) Avoid false positives and false negatives o...
75b589c Fix markup related to quoting in Info
fd6ff29 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac...
cd2204f Add a package: line to c-submit-bug-report.
a992dca ; Remove empty NEWS sections
ea67270 ; Add NEWS sections for 26.3
45b0946 ; Bump Emacs version to 26.2.50
aae8cc3 * admin/admin.el (set-version): Add NEWS headers for a .50 ve...
2019-04-21 07:51:38 -07:00
Glenn Morris
d2b78ea1d4 ; Merge from origin/emacs-26
The following commit was skipped:

bacdaa5 Use pkg-config to find lcms2 CFLAGS and LIBS (Bug#30346)
2019-04-21 07:51:38 -07:00
Glenn Morris
828a6eb64f Merge from origin/emacs-26
cd2204f Add a package: line to c-submit-bug-report.
a992dca ; Remove empty NEWS sections
ea67270 ; Add NEWS sections for 26.3

Conflicts:
	etc/NEWS
2019-04-21 07:51:38 -07:00
Glenn Morris
86a8b49b22 ; Merge from origin/emacs-26
The following commit was skipped:

45b0946 ; Bump Emacs version to 26.2.50
2019-04-21 07:51:37 -07:00
Glenn Morris
e8d483971f Merge from origin/emacs-26
aae8cc3 * admin/admin.el (set-version): Add NEWS headers for a .50 ve...
2019-04-21 07:51:37 -07:00
Glenn Morris
5185b39106 ; Merge from origin/emacs-26
The following commit was skipped:

f90a336 Backport doc improvement in ELisp manual
2019-04-21 07:51:37 -07:00
Glenn Morris
50d00e7153 Merge from origin/emacs-26
037970f Document insert-image-file's return value (Bug#32978)
598b45a Autoload cua-toggle-rectangle-mark (Bug#34947)
95bd56d Tell xclip not to expect job-control under eshell (Bug#35257)
9997bbb ; * src/emacs.c: Fix typo in comment (Bug#35320).
a4ad7be Fix off-by-one-link error in image--set-property
2019-04-21 07:51:36 -07:00
Mauro Aranda
9d7e08dd8f Avoid false positives and false negatives of Info-quoted face
* lisp/info.el (Info-mode-font-lock-keywords): Modify the regexp, for
matching single quotes of opening single quote and closing single
quote, and avoid matching text followed by a curly quote when it is
not quoting. (Bug#35202)
2019-04-21 14:58:56 +03:00
Eli Zaretskii
75b589c7d2 Fix markup related to quoting in Info
* doc/misc/sc.texi (Citations): Fix markup of '>'.
* doc/misc/mh-e.texi (Speedbar): Fix markup in a @table.
* doc/misc/calc.texi (Yacas Language Mode): Fix a typo.
* doc/emacs/mark.texi (Setting Mark): Remove duplicate
quoting.  (Bug#35202)
2019-04-21 14:56:04 +03:00
Eli Zaretskii
fd6ff29506 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emacs into emacs-26 2019-04-21 14:21:52 +03:00
Noam Postavsky
bacdaa5b25 Use pkg-config to find lcms2 CFLAGS and LIBS (Bug#30346)
* configure.ac: Use EMACS_CHECK_MODULES fors LCMS2 rather than
AC_SEARCH_LIBS.
* src/Makefile.in: Get LCMS2_LIBS and LCMS2_CFLAGS from configure,
instead of just LIBLCMS2.

(cherry picked from commit cb3863370c)
2019-04-21 14:16:16 +03:00
Paul Eggert
3f90aa7eec Port make-fingerprint to LeakSanitizer
* lib-src/make-fingerprint.c (buf): Now static,
to pacify LeakSanitizer.
2019-04-20 23:10:57 -07:00
Michael R. Mauger
515f57826f * lisp/progmodes/sql.el Bug#35307
(sql-product-alist): Added :prompt-cont-regexp for ms.

Looking for experience with Microsofts SQLCMD interpreter and
adjustments needed for Emacs to support it.
2019-04-21 00:40:00 -04:00
Michael R. Mauger
d76fea29d8 * lisp/progmodes/sql.el Bug#24483
(sql-interactive-remove-continuation-prompt): Properly protect `sql-prompt-cont-regexp'.
(sql-interactive-mode): Same.
2019-04-21 00:19:56 -04:00
Michael R. Mauger
23d8cfb9ce * lisp/progmodes.sql.el
(sql-product-alist): Corrected :terminator defns.
(sql-debug-send): New variable.
(sql-send-string): Use it and correct buffer context.
(sql-send-magic-terminator): Use `sql-input-sender'.
(sql-placeholders-filter): Bug#11481 Don't recursively replace placeholders
* test/lisp/progmodes/sql-tests.el
(sql-test-placeholder-filter): Test placeholder functionality.
2019-04-21 00:05:42 -04:00
YAMAMOTO Mitsuharu
21db386ac0 Fix text metrics calculation in Xft support for lwlib
* lwlib/lwlib-Xaw.c (get_text_width_and_height) [HAVE_XFT]:
* lwlib/xlwmenu.c (string_width) [HAVE_XFT]: Use xOff member instead of width.
2019-04-21 11:39:06 +09:00
Alexander Gramiak
6a373e4742 * src/configure.ac: Check for GTK 2 features only on GTK 2 2019-04-20 20:16:20 -06:00
YAMAMOTO Mitsuharu
75e68b8777 * lwlib/lwlib-Xaw.c (draw_text) [HAVE_XFT]: Fix memory leak. 2019-04-21 09:53:39 +09:00
Dmitry Gutov
70f3175738 Support amending the last commit using VC-Hg
* lisp/vc/log-edit.el (log-edit--toggle-amend): Extract from
vc-git-log-edit-toggle-amend (bug#34944).

* lisp/vc/vc-hg.el (vc-hg-log-edit-toggle-amend): New function.
Use the aforementioned.
(vc-hg-log-edit-mode-map): New variable.
(vc-hg-log-edit-mode): New major mode.
2019-04-21 00:39:36 +03:00
Michael Albinus
6d1025f944 Mark different-diagnostic-types as failed on emba.
* test/lisp/progmodes/flymake-tests.el (different-diagnostic-types):
Expect also failure on emba.gnu.org.
2019-04-20 21:16:05 +02:00
Glenn Morris
cd2204f0ee Add a package: line to c-submit-bug-report.
* lisp/progmodes/cc-mode.el (c-submit-bug-report):
Add a Package: line for mail clients that do not support X- headers.
2019-04-20 11:38:47 -07:00
Glenn Morris
a992dcabc7 ; Remove empty NEWS sections 2019-04-20 10:06:26 -07:00
Glenn Morris
ea67270752 ; Add NEWS sections for 26.3 2019-04-20 10:04:18 -07:00
Glenn Morris
45b09460f9 ; Bump Emacs version to 26.2.50 2019-04-20 10:03:40 -07:00
Glenn Morris
aae8cc3304 * admin/admin.el (set-version): Add NEWS headers for a .50 version. 2019-04-20 10:02:58 -07:00
Paul Eggert
b3a12c62c9 Improve XDG_RUNTIME_DIR diagnostic
* lib-src/emacsclient.c (set_local_socket):
If there appears to be an XDG runtime directory for the user
but XDG_RUNTIME_DIR is unset, suggest setting it while warning
about potential security issues (Bug#35300).
2019-04-20 09:40:10 -07:00
Alan Mackenzie
a85befa4aa Fix Pike Mode's autodoc doc comments style's continued lines.
* lisp/progmodes/cc-engine.el (c-forward-sws, c-backward-sws): Recognize
matches of c-doc-line-join-re as syntactic whitespace.
(c-find-decl-prefix-search): Recognize and move over matches of
c-doc-line-join-re as whitespace.
(c-find-decl-spots): Before moving backward a char, check (bobp).  Before
moving forward over a comment, check it isn't possibly a "bright" comment.

* lisp/progmodes/cc-fonts.el (c-get-doc-comment-style): New function,
extracted from c-compose-keywords-list.
(c-compose-keywords-list): Call the above new function.
(pike-font-lock-keywords, pike-font-lock-keywords-2)
(pike-font-lock-keywords-3): Call c-set-doc-comment-res.
(c-doc-line-join-re, c-doc-bright-comment-start-re, c-doc-line-join-end-ch):
New variables.
(c-set-doc-comment-re-element, c-set-doc-comment-char-list): New macros.
(c-set-doc-comment-res): New function.
(c-font-lock-doc-comments): For consistency and repeatability, in a sequence
of C++ style doc comments, don't fontify the region between BOL and the
comment marker.
(autodoc-line-join-re, autodoc-bright-comment-start-re)
(autodoc-line-join-end-ch): New variables.

* lisp/progmodes/cc-mode.el (c-doc-fl-decl-start, c-doc-fl-decl-end): New
functions.
(c-change-expand-fl-region, c-context-expand-fl-region): Call the above two
new functions for extra possibilities for the start and end of a construct.

* doc/misc/cc-mode.texi (Doc Comments): Add a sentence drawing attention to
the possibility of fontifying constructs within a doc comment.
2019-04-20 11:30:55 +00:00
Eli Zaretskii
f90a3360d8 Backport doc improvement in ELisp manual
* doc/lispref/processes.texi (Accepting Output): Backport:
document how do avoid race conditions while waiting for all of
the process's output to arrive.
2019-04-20 10:21:02 +03:00
Stefan Monnier
6f334b6bc0 * lisp/emacs-lisp/smie.el (smie-indent-comment-continue): Single-char case.
Make it so the comment-continue is aligned with the comment-start when
comment-start is a single-char.
2019-04-19 23:51:21 -04:00
YAMAMOTO Mitsuharu
4ff6c657a2 * src/ftcrfont.c (ftcrfont_shape): Fix last change. 2019-04-20 12:50:32 +09:00
YAMAMOTO Mitsuharu
d1dde7d04e Use bitmap strikes as fallbacks for ftcr font backend
* src/ftfont.h (struct font_info): New member bitmap_strike_index.
* src/ftfont.c (ftfont_open2): Try bitmap strikes as fallbacks.
(ftfont_open): Discard bitmap strikes.
* src/ftcrfont.c (ftcrfont_open): Recalculate metrics for bitmap strikes.
(ftcrfont_get_bitmap, ftcrfont_anchor_point, ftcrfont_shape): New functions.
(struct font_driver): Use them.
2019-04-20 12:43:45 +09:00
Stefan Monnier
69771b4e6a * lisp/emacs-lisp/radix-tree.el (pcase-defmacro): Improve docstring 2019-04-19 23:31:59 -04:00
Stefan Monnier
4c85e3f7e9 * lisp/emacs-lisp/byte-run.el (define-obsolete-variable-alias): Tweak doc 2019-04-19 23:29:33 -04:00
Stefan Monnier
cb411c609d * lisp/calendar/time-date.el (date-to-time): 'signal' only takes 2 args 2019-04-19 23:28:07 -04:00
Stefan Monnier
9ffbe127c1 * lisp/calendar/parse-time.el (parse-time-string): Use functionp and setf 2019-04-19 23:25:04 -04:00
Paul Eggert
b793a88179 Fix GC_CHECK_STRING_BYTES false alarm with pdumper
* src/alloc.c (string_bytes): Don’t abort on strings
taken from the dumped file.
2019-04-19 17:37:06 -07:00