63b04c11d5 Fix copyright years by hand
5c7dd8a783 Update copyright year to 2018
220a9ecba1 Merge from Gnulib
312c565566 Don't add empty keyboard macro to macro ring (Bug#24992)
39ca289a7a Allow customization of decoding of "man" command
f8240815ea * etc/NEWS: Add security consideration note on passphrase ...
0c78822c70 Fix subtle problem with scroll-down when scroll-margin is ...
acd289c5a4 Fix problems with indexing in User manual
b240c7846b * lisp/help.el (describe-key): Only (copy-sequence elt) wh...
e879a5444a * src/buffer.c (Frestore_buffer_modified_p): Fix bug#29846
81b1028b63 Improve documentation of 'inhibit-modification-hooks' and ...
7175496d7a Fix doc string of 'enable-recursive-minibuffers'
5b38406491 Fix documentation of delsel and of killing text
# Conflicts:
# etc/NEWS
# etc/refcards/ru-refcard.tex
* src/coding.c (utf8_string_p): New helper function.
(syms_of_coding) <utf-8-unix>: Move from json.c.
* src/json.c (json_check_utf8): New helper function.
(lisp_to_json_toplevel_1, lisp_to_json): Use it. To save a bit of
time, check for invalid UTF-8 strings only after encountering an
error, since Jansson already rejects them.
* test/src/json-tests.el (json-serialize/invalid-unicode): Adapt
expected error symbol.
* src/window.c (window_scroll_pixel_based): Account for
scroll-margin when scrolling down, i.e. moving window-start
towards the beginning of the buffer. Reported by zhang cc
<ccsmile2008@outlook.com> in
http://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00894.html.
* src/buffer.c (Fset_buffer_modified_p)
(Frestore_buffer_modified_p): Doc fixes.
* src/insdel.c (syms_of_insdel) <inhibit-modification-hooks>:
Document in the doc string that this variable also inhibits file
locks and active region handling. (Bug#29846)
fd35804971 (origin/emacs-26) * doc/lispref/strings.texi (Case Convers...
89e257d71b * doc/misc/speedbar.texi (Top): Fix grammar.
a31ab5ffb5 * lisp/subr.el (with-silent-modifications): Doc fixes.
2ebc8dc3b6 Fix curved quotes in printed manual
e4a881b5cf Say that "gnus-cloud" is a parody name
13c59d0a83 More improvements for text.texi
7850b7620e Adjudicate review comments for the "Text" chapter of user ...
d7d3b14a99 * lisp/url/url-http.el (url-http-wait-for-headers-change-f...
f3819ad13e In C-h k <mouse-n>, alert user to existence of any matchin...
99054fbef9 * net/eww.el (eww): Handle URLs without host part.
de89c0b641 Make C-h c/k S-mouse-1 display message for mouse-appearanc...
720ed0b533 Avoid crashes when ':eval' deletes our frame
9105c9aa34 Fix scrolling up in pixel-scroll.el
b882d4ef11 Fix problems with ligatures in PDF version of ELisp manual
289dd53bb3 (elisp-flymake-byte-compile): Handle killed buffer in sent...
cf36c82127 Avoid some overfull lines in PDF lispref
b07b56a351 Avoid some overfull lines in PDF manual
6b3118f025 * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer M...
7ffb7b1e01 ; lispref nil/t markup fixes
# Conflicts:
# doc/emacs/text.texi
34fcfc5 (origin/emacs-26, emacs-26) * lisp/emacs-lisp/inline.el (defi...
f7a62c2 Fix doc string of 'footnote-style-alist'
c3b6742 Improve documentation of selecting windows
861d110 Improve documentation of records
22b3075 * etc/NEWS: Mention the removal of pinentry.el. (Bug#27445)
689526b Fix interactive spec of 'semantic-ia-show-variants'
90ca37f Fix documentation of 'mouse-drag-and-drop-region' and friends
d60faf3 Improve detection of speller version in ispell.el
a0e3b06 Document 'mouse-drag-and-drop-region' options and mention the...
164e84c Fix uses of 'nil' and 'non-nil' in manuals and a few more min...
798f07f Document that mode commands should be idempotent.
ad2a47c ; * src/xdisp.c (extend_face_to_end_of_line): Fix last change.
88ddf53 Fontify a CPP construct correctly when a comment follows with...
de7de9c Prevent infloop in redisplay on TTY frames
293720e Fix loss of documentation face in certain CC Mode doc comment...
# Conflicts:
# etc/NEWS
# lisp/mail/footnote.el
b3f4a3a (origin/emacs-26) Special-case %DUMBFW for GnuTLS between 3.2...
c2ae057 Work around GnuTLS version issues with %DUMBFW (tiny change)
2f9d9ef ; Remove the mention of "plain C code" in the docstring as well
aca827b Merge branch 'widen-less' into emacs-26
87548f5 ; Rephrase NEWS entry a bit
da0d773 (emacs-26) ; * lisp/erc/erc.el: Update URL.
3a60515 * lisp/erc/erc.el (erc-shorten-server-name): Silence compiler...
471b6c1 ; Replace non-ascii quote characters in doc strings etc
7af7f5e Fix some more aliases to user options
79fb4b5 Fix some flymake aliases
b9fbc03 (origin/widen-less) Widen in indent-for-tab-command in the no...
446faf3 Replace the mention of c-indent-defun with js-indent-line
7e9eef0 Consolidate 'widen' calls
# Conflicts:
# etc/NEWS
# lisp/progmodes/flymake-proc.el
4122d54 Fix updating scrollbar sizes when scaling is in effect
21a212f Collect GnuTLS extensions and use them to set %DUMBFW if supp...
936136e * test/lisp/emacs-lisp/derived-tests.el: Fix copy&paste lefto...
07b7fb9 * lisp/subr.el (delayed-after-hook-functions): Rename from .....
a5b0a4e * lisp/net/shr.el (shr-string-pixel-width): Return pixel-widt...
c51e797 python.el doc fixes
c62ced5 Make 'mouse-drag-and-drop-region' more robust and customizable
* src/gnutls.c: Introduce HAVE_GNUTLS_EXT_GET_NAME and use it.
(init_gnutls_functions): Use it.
(Fgnutls_available_p): Use it (Bug#25061). Fix Vlibrary_cache bug.
* src/gtkutil.c (xg_update_scrollbar_pos): Update width of
scrollbar when scaling is in effect.
(xg_update_horizontal_scrollbar_pos): Update scrollbar size
when scaling is in effect.
* lisp/net/gnutls.el (gnutls-boot-parameters): Use it to set %DUMBFW
only when it's supported as "ClientHello Padding" (Bug#25061).
* src/gnutls.c (Fgnutls_available_p): Get extension names and
put them in the GnuTLS capabilities, using a hard-coded limit
of 100 since GnuTLS MAX_EXT_TYPES is not exported.
* src/json.c (Fjson_parse_string, Fjson_parse_buffer): Give these
functions a keyword argument to specify the return type for JSON
objects.
(json_to_lisp): Convert objects to alists if requested.
(json_parse_object_type): New helper function to parse keyword
arguments.
* test/src/json-tests.el (json-parse-string/object): Add a unit test.
* doc/lispref/text.texi (Parsing JSON): Document new functionality.
28e0261890 * lisp/progmodes/cc-defs.el (c-version): Update to 5.33.1.
ac53084f9b Improve fix for Bug#29712
ffd4771560 * doc/lispref/sequences.texi (Sequence Functions): Improve...
f274cbd185 Avoid reordering of output in 'shr-insert-document'
7890864413 Improve documentation of 'invisible-p'
a1327bbc64 Remove one more check that Vframe_list is non-nil
63b6281fdd Fix off-by-one error in 'css--hex-color'
804b37ca63 Save and restore text-pixel height and width of frames (Bu...
777fe94661 Partially revert "Mention new strictness for &optional, &r...
ad17db7964 * lisp/vc/smerge-mode.el (smerge-refine): Respect font-loc...
5a7d0095a4 * lisp/vc/smerge-mode.el (smerge-refine): Replace obsolete...
e019c35df6 FOR_EACH_FRAME no longer assumes frame-list
d64b88da2f * src/font.c (Ffont_info): Doc fix. (Bug#29682)
92b2604a7f Modernise message.el face spec syntax
b1efbe6564 Update message.el obsolete face aliases
2494c14e76 ; * lisp/comint.el (comint-terminfo-terminal): Add a :vers...
12ad276d15 Improve documentation of TERM environment variable
8ed529f0f3 Add option to configure comint TERM
889f07c352 Better support utf-8-with-signature and utf-8-hfs in XML/HTML
a2697fac0e * lisp/menu-bar.el (menu-bar-mode): Doc fix.
ffb50eace6 ; * etc/NEWS: Fix last change.
95606af8b0 Fix Bug#29712 in tramp-tests.el
9bf66c6bee Don't run FOR_EACH_FRAME when there's no frame left (Bug#2...
c2a88ec8e8 * lisp/textmodes/tex-mode.el: Ensure uncompiled file is lo...
b178870528 Remember password change for IMAP in Gnus (Bug#29692)
a21dac18bb Add %DUMBFW to the default GnuTLS priority strings
780407cff1 Small fixes prompted by make check-declare
541a60108d Fix some custom groups
e220d6e112 Fix fontification of first declaration within a C++ lambda...
aa66da220c * src/data.c (Fadd_variable_watcher): Doc fix.
f838210b01 Fix misfontification of C++ member initialization list aft...
232c6465ce Fix doc-string of Fbuffer_list
3f9aac68d7 Don't raise an extraneous frame (bug#29696)
e7b1111155 Mention new strictness for &optional, &rest in arglists (B...
4cb8696e47 Don't misfontify "foo ()" inside C++ initialization parent...
ce31e726ad Fixes for defcustoms, prompted by cus-test-opts
aacd1e14fc * lisp/net/newst-backend.el (newsticker--raw-url-list-defa...
7e2f4d3d41 * lisp/htmlfontify.el (hfy-which-etags): Fix it.
52d2a690f6 Add missing :version tags revealed by cusver-check
f5d0360234 Escape column-zero doc parens
# Conflicts:
# etc/NEWS
* src/nsfns.m (Fx_display_backing_store):
(Fx_display_save_under): Don't use NSBackingStoreRetained or
NSBackingStoreNonretained on macOS 10.13+.
* src/nsselect.m (symbol_to_nsstring):
(ns_string_to_symbol):
(nxatoms_of_nsselect): Replace NSGeneralPboard with
NSPasteboardNameGeneral.
* src/nsterm.h: #define NSPasteboardNameGeneral to NSGeneralPboard on
GNUstep and macOS < 10.13.
* src/nsterm.m (EmacsView::resetCursorRects):
(EmacsScroller::resetCursorRects): Don't use setOnMouseEntered on
macOS 10.13+.
* doc/lispref/display.texi (Invisible Text): Document the return
value of 'invisible-p'.
* src/xdisp.c (Finvisible_p): Rename the argument POS. Doc fix.
(Bug#29721)
This cleans up a recent fix related to Bug#29661.
Suggested by Stefan Monnier in:
https://lists.gnu.org/r/emacs-devel/2017-12/msg00544.html
* src/frame.c (next_frame, prev_frame, delete_frame):
Restore debugging checks that Vframe_list is non-nil,
as FOR_EACH_FRAME no longer has these checks.
(delete_frame): Remove no-longer-needed checks that Vframe_list is
non-nil, as FOR_EACH_FRAME no longer assumes that.
* src/frame.h (FOR_EACH_FRAME): Do not assume Vframe_list is non-nil.
This does not fix Bug#29961 but avoids that Emacs segfaults when
trying to shut down because it lost connection to the X server.
* src/dispnew.c (check_glyph_memory):
* src/frame.c (delete_frame): Don't run FOR_EACH_FRAME when
there's no frame left (Bug#29961).
b0369d0536 Import the latest IVD_Sequences.txt
cd53b6399b Fix dired-do-compress when tar doesn't default to stdin (B...
51911dae14 Suppress warnings during elisp completion macroexpansion
a36a090a95 * lisp/progmodes/verilog-mode.el (verilog-mode): Fix typo ...
6a6e8e6e8d Make tramp-interrupt-process more robust
5bcd468a9e Make quail-input-method work when inhibit-read-only is non...
87baf1242e Fix 'fontset-name-p'
d23158777d Fix fontset documentation inconsistencies for bug#29630
a829cb8c8b Remove sentence from child frames section in Elisp manual
ad491c80e4 Avoid crashes in 'font-at' after 'set-fontset-font'
c73d2cdfd7 * lisp/files-x.el (connection-local-set-profile-variables)...
cefca2b8ac Add /etc/ssl/cert.pem to gnutls-trustfiles for macOS
122e7264b8 Fix tool-tip display when display margins are non-zero by ...
e1cc2037a9 Handle hash tables and vectors when reading/writing EIEIO ...
cda219c3df Improve interactive debugging commands in xdisp.c
1056b3cbcd Fix calculation of continuation_pixel_width in display engine
90e20804f5 Improve documentation of 'save-abbrevs'.
14f0230a48 Improve documentation of Dired
161b0e5493 * lisp/bookmark.el (bookmark-alist): Doc fix. (Bug#29551)
* src/alloc.c (SDATA_OF_STRING): Put cast in right spot.
This matters only if GC_CHECK_STRING_BYTES, which is sort
of a coals-to-Newcastle situation if pointer bounds checking
is also enabled.
This typically occurs in a storage manager, where the caller
is expected to access only the newly-allocated object,
instead of using the returned value to access unrelated
parts of the heap.
* src/alloc.c (allocate_string, allocate_string_data)
(compact_small_strings, find_string_data_in_pure)
(sweep_strings, setup_on_free_list, allocate_vectorlike
(pure_alloc):
* src/bytecode.c (exec_byte_code):
* src/callint.c (Fcall_interactively):
* src/dispnew.c (scrolling):
* src/editfns.c (styled_format):
* src/frame.c (xrdb_get_resource, x_get_resource_string):
* src/fringe.c (Fdefine_fringe_bitmap):
* src/gmalloc.c (malloc, realloc, aligned_alloc):
Narrow pointer bounds when appropriate.
* src/alloc.c (SDATA_OF_STRING):
* src/lisp.h (make_lisp_symbol) [__CHKP__]:
Widen bounds here, though.
* src/bytecode.c, src/callint.c, src/dispnew.c, src/editfns.c:
* src/emacs.c, src/frame.c, src/fringe.c:
Include ptr-bounds.h.
* src/ptr-bounds.h (ptr_bounds_clip): New function.
This is a minimal port, just to get Emacs running;
it does not attempt to make the pointer bounds at all tight.
* src/ptr-bounds.h: New file.
* src/alloc.c, src/gmalloc.c: Include it.
* src/alloc.c (live_string_holding, live_cons_holding)
(live_symbol_holding, live_misc_holding, garbage_collect_1)
(sweep_conses, sweep_floats):
* src/gmalloc.c (malloc_initialize_1, _free_internal_nolock)
(_realloc_internal_nolock):
Widen pointer bounds as necessary.
We're in a memory allocator so this is OK.
* src/lisp.h (lisp_h_XSYMBOL, make_lisp_symbol) [__CHKP__]:
Do not convert from pointer to integer and back again, so
that GCC does not lose track of pointer bounds.
(XSYMBOL) [__CHKP__ && !USE_LSB_TAG]: Now a compile-time error.
Although it's possible to support both -fcheck-pointer-bounds and
--with-wide-int, it's more work; keep things simple for now.
(DEFINE_LISP_SYMBOL) [__CHKP__]: Now a no-op, to avoid
trouble with unbounded pointers.
This makes Lisp_Object values opaque pointers instead of integers,
which helps avoid the same sort of typos that
CHECK_LISP_OBJECT_TYPE helps to avoid, without having to wrap
pointers inside structures. This also looks forward to supporting
-fcheck-pointer-bounds.
* etc/DEBUG:
* src/.gdbinit (Lisp_Object_Printer.to_string):
Lisp_Object can be a pointer type now.
* src/alloc.c (macro_XPNTR, XPNTR):
* src/emacs-module.c (value_to_lisp_bits, lisp_to_value_bits):
* src/lisp.h (lisp_h_XLI, lisp_h_XIL):
(lisp_h_XUNTAG) [USE_LSB_TAG]:
(XUNTAG) [!USE_LSB_TAG]:
(Lisp_Object, TAG_PTR, make_lisp_symbol):
Support new Lisp_Object implementation as a pointer to an
incomplete type. Keep pointers pointers, as much as possible.
* src/alloc.c (macro_XPNTR_OR_SYMBOL_OFFSET, XPNTR_OR_SYMBOL_OFFSET):
Remove. All uses replaced by plain XPNTR.
* src/emacs-module.c: Work around GCC bug 83162.
* src/lisp.h (LISP_WORDS_ARE_POINTERS, lisp_h_XLP, lisp_h_XPL):
(XLP, XPL) [DEFINE_KEY_OPS_AS_MACROS]:
New macros.
(Lisp_Word, untagged_ptr, Lisp_Word_tag): New types.
(XLP, XPL): New inline functions.
(TAG_PTR): Now expands to an initializer, not an expression.
All uses changed.
(TAG_SYMOFFSET, XLI_BUILTIN_LISPSYM): Remove. All uses removed.
(LISPSYM_INITIALLY): Redo in terms of the new TAG_PTR.
(NIL_IS_ZERO): Redo without XLI_BUILTIN_LISPSYM.
* src/xwidget.c (webkit_javascript_finished_cb): Use XPL
instead of XIL with a non-EMACS_INT arg.
(Fxwidget_webkit_execute_script): Use XLP instead of XLI
followed by two conversions.