]> git.eshelyaron.com Git - emacs.git/log
emacs.git
6 years agoMerge from origin/emacs-26
Glenn Morris [Thu, 21 Dec 2017 02:14:19 +0000 (21:14 -0500)]
Merge from origin/emacs-26

89cfdbf Don't mess up syntax-ppss cache in electric-pair (Bug#29710)
c5061d8 * etc/emacs.appdata.xml: Update file format.
080f227 Use utf-8-hfs-unix on macOS (Bug#29712)
28e0261 * lisp/progmodes/cc-defs.el (c-version): Update to 5.33.1.
ac53084 Improve fix for Bug#29712
ffd4771 * doc/lispref/sequences.texi (Sequence Functions): Improve in...
f274cbd Avoid reordering of output in 'shr-insert-document'
7890864 Improve documentation of 'invisible-p'
a1327bb Remove one more check that Vframe_list is non-nil
63b6281 Fix off-by-one error in 'css--hex-color'
804b37c Save and restore text-pixel height and width of frames (Bug#2...
777fe94 Partially revert "Mention new strictness for &optional, &rest...
ad17db7 * lisp/vc/smerge-mode.el (smerge-refine): Respect font-lock-m...
5a7d009 * lisp/vc/smerge-mode.el (smerge-refine): Replace obsolete al...
e019c35 FOR_EACH_FRAME no longer assumes frame-list
d64b88d * src/font.c (Ffont_info): Doc fix.  (Bug#29682)
92b2604 Modernise message.el face spec syntax
b1efbe6 Update message.el obsolete face aliases
2494c14 ; * lisp/comint.el (comint-terminfo-terminal): Add a :version...
12ad276 Improve documentation of TERM environment variable
8ed529f Add option to configure comint TERM
889f07c Better support utf-8-with-signature and utf-8-hfs in XML/HTML
a2697fa * lisp/menu-bar.el (menu-bar-mode): Doc fix.
ffb50ea ; * etc/NEWS: Fix last change.
95606af Fix Bug#29712 in tramp-tests.el
9bf66c6 Don't run FOR_EACH_FRAME when there's no frame left (Bug#29961)
c2a88ec * lisp/textmodes/tex-mode.el: Ensure uncompiled file is loada...
b178870 Remember password change for IMAP in Gnus (Bug#29692)
a21dac1 Add %DUMBFW to the default GnuTLS priority strings
780407c Small fixes prompted by make check-declare
541a601 Fix some custom groups
e220d6e Fix fontification of first declaration within a C++ lambda form.
aa66da2 * src/data.c (Fadd_variable_watcher): Doc fix.
f838210 Fix misfontification of C++ member initialization list after ...
232c646 Fix doc-string of Fbuffer_list
3f9aac6 Don't raise an extraneous frame (bug#29696)
e7b1111 Mention new strictness for &optional, &rest in arglists (Bug#...
4cb8696 Don't misfontify "foo ()" inside C++ initialization parenthes...
ce31e72 Fixes for defcustoms, prompted by cus-test-opts
aacd1e1 * lisp/net/newst-backend.el (newsticker--raw-url-list-default...
7e2f4d3 * lisp/htmlfontify.el (hfy-which-etags): Fix it.
52d2a69 Add missing :version tags revealed by cusver-check
f5d0360 Escape column-zero doc parens
45099bb Remove ObjC blocks (Bug#23753)
b0369d0 Import the latest IVD_Sequences.txt
cd53b63 Fix dired-do-compress when tar doesn't default to stdin (Bug#...
51911da Suppress warnings during elisp completion macroexpansion
a36a090 * lisp/progmodes/verilog-mode.el (verilog-mode): Fix typo (Bu...
6a6e8e6 Make tramp-interrupt-process more robust
5bcd468 Make quail-input-method work when inhibit-read-only is non-ni...
87baf12 Fix 'fontset-name-p'
d231587 Fix fontset documentation inconsistencies for bug#29630
a829cb8 Remove sentence from child frames section in Elisp manual
ad491c8 Avoid crashes in 'font-at' after 'set-fontset-font'
c73d2cd * lisp/files-x.el (connection-local-set-profile-variables): F...
cefca2b Add /etc/ssl/cert.pem to gnutls-trustfiles for macOS
122e726 Fix tool-tip display when display margins are non-zero by def...
e1cc203 Handle hash tables and vectors when reading/writing EIEIO obj...
cda219c Improve interactive debugging commands in xdisp.c
1056b3c Fix calculation of continuation_pixel_width in display engine
90e2080 Improve documentation of 'save-abbrevs'.
14f0230 Improve documentation of Dired
161b0e5 * lisp/bookmark.el (bookmark-alist): Doc fix.  (Bug#29551)
7eea314 Minor Tramp fixes
c0a670a * lisp/help-mode.el (help-function-def): Allow help-make-xref...
0572016 Fix doc-string of 'display-buffer-in-side-window'
a1bbc49 Fix Bug#29579
cb3d979 ; NEWS: Update Org version number
445eefd Backport: Update Org to v9.1.4
5381c70 In windows.texi mention special splitting behavior of side an...
46d62b9 * lisp/gnus/gnus-group.el (gnus-group-mode-map): Bind [follow...
1ef1dbd Avoid compilation warning in xterm.c
5cf3c26 * README: Document all the top-level directories.  (Bug#29558)
e9ea206 Don't enable erc modules on simply loading erc.el
4b06af0 Allow shr to use data: URLs without encoding
1fdac2d Don't add newlines in minibuffer history
de68f33 modhelp.py: Support Python 3 (Bug#24954)
afb04f7 Use forward slashes for python w32 config example (Bug#21656)
04e5b28 Fix bug in i18n/l10n optimization
8227087 Let autoload-compute-prefix be set file-locally (Bug#29471)
98ca7d5 Improve edit-kbd-macro prompting in case of remapped keys (Bu...
c02c1f6 Add tests on electric-indentation and Python multiline string...
946bb6d Disable electric indent for python strings (Bug#29305)
35f1ed1 ; ChangeLog.2: Fix bug reference.
ac31663 Fix buffer overflow in fontname conversion (Bug#29523)
bf9b972 Fix byte compilation of files with leading directories
ac144dc * lisp/files.el (make-backup-file-name-1): Fix scoping error.
1b351c8 Revert Tramp commit from 2017-11-20
77cf972 Improve documentation of buffer-list commands and features
66ec92a Fix backing up remote files in local directories on MS-Windows
7e61e74 * doc/emacs/mule.texi (Output Coding): Clarify sendmail coding.
1e25cd7 Revert "Fix backing up remote files in local directories on M...
f52d795 Fix a typo in ELisp manual
bf26fc3 * lisp/composite.el (find-composition): Fix a typo in the doc...
34a21c3 ; Auto-commit of loaddefs files.
8c8b673 Fix backing up remote files in local directories on MS-Windows
8eb6870 Fix vertical cursor motion in pixel-scroll.el
625e84f Fix typos in doc strings of message.el
9292276 Fix a typo in the Emacs manual
42509c0 Improve the documentation of 'table-insert-sequence'
93dc7ae Port better to QNX
ad99550 Make tramp-test42-auto-load more robust
af0ce33 ; * lisp/composite.el (find-composition): Fix a typo in last ...
bdbcdba Avoid assertions in find-composition
408862f ; * lisp/emacs-lisp/bytecomp.el: Tweak message formatting in ...
9964db4 Restore obsolete method of changing byte-compile-dest-file
3dd25ae Some minor Tramp corrections
d670a15 * doc/misc/url.texi (http/https): Fix typo
99d07e8 Remove some bogus definition-prefixes from loaddefs

6 years agoFix vc-region-history when narrowed
Charles A. Roelli [Wed, 20 Dec 2017 19:52:45 +0000 (20:52 +0100)]
Fix vc-region-history when narrowed

* lisp/vc/vc.el (vc-region-history): Fix behavior when narrowed, by using
line numbers starting from (point-min).

6 years agoEnsure current buffer is version-controlled in vc-region-history
Charles A. Roelli [Wed, 20 Dec 2017 19:40:14 +0000 (20:40 +0100)]
Ensure current buffer is version-controlled in vc-region-history

* lisp/vc/vc.el (vc-region-history): Ensure buffer is
version-controlled.  Otherwise if a user runs it in a
non-version-controlled buffer, they get the error:

  Cannot open load file: No such file or directory, vc-nil

6 years agoDefine helper functions only if needed
Philipp Stephani [Wed, 20 Dec 2017 17:36:35 +0000 (18:36 +0100)]
Define helper functions only if needed

* src/json.c (JSON_HAS_ERROR_CODE): New define.
(json_parse_error): Use it.
(json_has_prefix, json_has_suffix): Define only if needed.

6 years ago* src/json.c (json_parse_error): Fix embarrassing bug.
Philipp Stephani [Wed, 20 Dec 2017 17:30:23 +0000 (18:30 +0100)]
* src/json.c (json_parse_error): Fix embarrassing bug.

6 years agoFix a few compiler warnings in auth-source.el
Philipp Stephani [Wed, 20 Dec 2017 17:06:28 +0000 (18:06 +0100)]
Fix a few compiler warnings in auth-source.el

* lisp/auth-source.el (json): Add missing require.
(auth-source-json-search): Remove unused argument.

6 years ago* lisp/auth-source.el (auth-source-backends-parser-file): Fix missing stringp.
Ted Zlatanov [Wed, 20 Dec 2017 01:01:08 +0000 (20:01 -0500)]
* lisp/auth-source.el (auth-source-backends-parser-file): Fix missing stringp.

6 years agoUse Jansson's error code support if available
Philipp Stephani [Mon, 18 Dec 2017 23:00:31 +0000 (00:00 +0100)]
Use Jansson's error code support if available

* src/json.c (json_parse_error): Use Jansson's error code support if
available.

6 years ago* doc/misc/auth.texi: Fix use of {} and wrapping in previous change.
Glenn Morris [Tue, 19 Dec 2017 20:10:34 +0000 (15:10 -0500)]
* doc/misc/auth.texi: Fix use of {} and wrapping in previous change.

6 years agoAllow JSON parser functions to return alists
Philipp Stephani [Wed, 13 Dec 2017 22:35:07 +0000 (23:35 +0100)]
Allow JSON parser functions to return alists

* 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.

6 years ago* doc/misc/auth.texi (Help for users): Mention JSON backend.
Ted Zlatanov [Tue, 19 Dec 2017 16:44:26 +0000 (11:44 -0500)]
* doc/misc/auth.texi (Help for users): Mention JSON backend.

6 years agoauth-source: support JSON backend with .json extension
Ted Zlatanov [Tue, 19 Dec 2017 16:36:43 +0000 (11:36 -0500)]
auth-source: support JSON backend with .json extension

* lisp/auth-source.el (auth-source-backends-parser-file): Look
for .gpg extension and make backend decision without it. Add
JSON case to backends.

(auth-source-json-check): Parse JSON data.

6 years agoAdd a Makefile rule for running gitmerge
Glenn Morris [Tue, 19 Dec 2017 01:08:31 +0000 (20:08 -0500)]
Add a Makefile rule for running gitmerge

* Makefile.in (GITMERGE_EMACS, GITMERGE_NMIN): New variables.
(gitmerge): New phony target.

6 years agoSet minimum number of commits for gitmerge in batch mode
Glenn Morris [Tue, 19 Dec 2017 00:56:21 +0000 (19:56 -0500)]
Set minimum number of commits for gitmerge in batch mode

* admin/gitmerge.el (gitmerge-minimum-missing): New variable.
(gitmerge): In batch mode, respect gitmerge-minimum-missing.

6 years ago* admin/gitmerge.el (gitmerge-skip-regexp): Be stricter in batch mode.
Glenn Morris [Tue, 19 Dec 2017 00:49:51 +0000 (19:49 -0500)]
* admin/gitmerge.el (gitmerge-skip-regexp): Be stricter in batch mode.

6 years agoMake gitmerge usable in batch mode
Glenn Morris [Tue, 19 Dec 2017 00:38:25 +0000 (19:38 -0500)]
Make gitmerge usable in batch mode

* admin/gitmerge.el (gitmerge-missing): Add progress messages.
(gitmerge-maybe-resume): In batch mode, never resume.
(gitmerge): Handle batch mode.

6 years ago; Add a couple of encoding-related FIXMEs to json.c
Philipp Stephani [Mon, 18 Dec 2017 22:58:48 +0000 (23:58 +0100)]
; Add a couple of encoding-related FIXMEs to json.c

* src/json.c (json_make_string, json_build_string, json_encode)
(lisp_to_json_toplevel_1, lisp_to_json): Add FIXMEs for problematic
string error reporting.

6 years ago; * src/json.c (lisp_to_json): Inline an unnecessary variable.
Philipp Stephani [Mon, 18 Dec 2017 23:01:54 +0000 (00:01 +0100)]
; * src/json.c (lisp_to_json): Inline an unnecessary variable.

6 years ago; Add comments about potential future Jansson flags
Philipp Stephani [Mon, 18 Dec 2017 23:03:05 +0000 (00:03 +0100)]
; Add comments about potential future Jansson flags

* src/json.c (Fjson_serialize, Fjson_insert): Add comments about
flags that we might potentially add in the future.

6 years agoJSON: Add tests for Unicode edge cases
Philipp Stephani [Mon, 18 Dec 2017 23:07:45 +0000 (00:07 +0100)]
JSON: Add tests for Unicode edge cases

* test/src/json-tests.el (json-serialize/string): Add test for
serializing the null character.
(json-parse-string/null): Add test for parsing the null character.
(json-serialize/invalid-unicode): Add tests for invalid Unicode
strings.
(json-serialize/roundtrip): Add Unicode
noncharacter, non-BMP characters, and syntactic characters.

6 years agoFix infinite loop in vc-dir-mark-unmark
Charles A. Roelli [Mon, 18 Dec 2017 19:51:30 +0000 (20:51 +0100)]
Fix infinite loop in vc-dir-mark-unmark

* lisp/vc/vc-dir.el (vc-dir-mark-unmark): Prevent from getting
stuck on the same line in an infinite loop.  (Bug#24017)

6 years agoFix Gnus registry header extraction
Eric Abrahamsen [Sat, 16 Dec 2017 22:03:18 +0000 (14:03 -0800)]
Fix Gnus registry header extraction

* lisp/gnus/gnus-registry.el (gnus-registry-fetch-recipients-fast,
  gnus-registry-fetch-sender-fast): First, delete
  `gnus-registry-fetch-header-fast'. It was being called with reversed
  arguments, and thus always returned nil, but even if the argument
  order was correct it would have raised an error, as it was trying to
  `assq' a string in a vector. Instead, just have these two functions
  do their own work, as they're doing fairly different things.

6 years agoDefault CHECK_LISP_OBJECT_TYPE to "no"
Paul Eggert [Mon, 18 Dec 2017 02:43:14 +0000 (18:43 -0800)]
Default CHECK_LISP_OBJECT_TYPE to "no"

* configure.ac: Go back to not defining CHECK_LISP_OBJECT_TYPE by
default for developer builds, since it is no longer that useful.
We can make it a no-op entirely later, if in practice it's not
that helpful to enable it.

6 years agoMinor fixes in Tramp
Michael Albinus [Sun, 17 Dec 2017 10:31:23 +0000 (11:31 +0100)]
Minor fixes in Tramp

* lisp/net/tramp-archive.el
(tramp-archive-handle-temporary-file-directory): New defun.
(tramp-archive-file-name-handler-alist): Use it.

* test/lisp/net/tramp-archive-tests.el
(tramp-archive-test99-libarchive-tests): Rename it.

* test/lisp/net/tramp-tests.el (tramp-test34-vc-registered):
Skip for older Emacsen.

6 years agoAdd command for cycling between CSS color formats
Simen Heggestøyl [Sat, 16 Dec 2017 08:49:54 +0000 (09:49 +0100)]
Add command for cycling between CSS color formats

* lisp/textmodes/css-mode.el (css-mode-map): Add keybinding for
'css-cycle-color-format'.
(css--rgb-color): Add support for extracting alpha component.
(css--hex-alpha, css--color-to-4-dpc, css--named-color-to-hex)
(css--format-rgba-alpha, css--hex-to-rgb)
(css--rgb-to-named-color-or-hex): New functions.
(css-cycle-color-format): New command for cycling between color
formats.

* test/lisp/textmodes/css-mode-tests.el (css-test-color-to-4-dpc):
(css-test-named-color-to-hex, css-test-format-rgba-alpha)
(css-test-hex-to-rgb, css-test-rgb-to-named-color-or-hex)
(css-test-cycle-color-format, css-test-hex-alpha): New tests for the
changes mentioned above.

* etc/NEWS: Mention the new command.

6 years agoDon't mess up syntax-ppss cache in electric-pair (Bug#29710)
Noam Postavsky [Fri, 15 Dec 2017 02:25:13 +0000 (21:25 -0500)]
Don't mess up syntax-ppss cache in electric-pair (Bug#29710)

In Emacs 25 and above, calling `scan-sexps', `parse-partial-sexp', or
similar may update the syntax-ppss cache if
`parse-sexp-lookup-properties' is non-nil.  Therefore, when calling
any of these functions with a different than normal syntax-table, the
cache must be cleaned afterwards.
* lisp/elec-pair.el (electric-pair--with-uncached-syntax): New macro.
(electric-pair--syntax-ppss, electric-pair--balance-info): Use it.

6 years ago* etc/emacs.appdata.xml: Update file format.
Glenn Morris [Sun, 17 Dec 2017 00:12:18 +0000 (16:12 -0800)]
* etc/emacs.appdata.xml: Update file format.

6 years ago* lisp/textmodes/css-mode.el (css--hex-color): Trivial simplification
Stefan Monnier [Sat, 16 Dec 2017 22:43:38 +0000 (17:43 -0500)]
* lisp/textmodes/css-mode.el (css--hex-color): Trivial simplification

6 years ago; Merge from origin/emacs-26
Glenn Morris [Sat, 16 Dec 2017 20:18:45 +0000 (12:18 -0800)]
; Merge from origin/emacs-26

The following commit was skipped:

080f227331 (origin/emacs-26) Use utf-8-hfs-unix on macOS (Bug#29712)

6 years agoMerge from origin/emacs-26
Glenn Morris [Sat, 16 Dec 2017 20:18:45 +0000 (12:18 -0800)]
Merge from origin/emacs-26

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

6 years agoUse utf-8-hfs-unix on macOS (Bug#29712)
Alan Third [Sat, 16 Dec 2017 17:13:34 +0000 (17:13 +0000)]
Use utf-8-hfs-unix on macOS (Bug#29712)

This is a quick fix for the Emacs 26 release. Do not merge to master.

* test/src/fileio-tests.el (fileio-tests--symlink-failure): Override
file-name-coding-system to utf-8-hfs-unix to prevent test failure.

6 years agoRemove two unused variables in macfont.m
Philipp Stephani [Sat, 16 Dec 2017 18:16:01 +0000 (19:16 +0100)]
Remove two unused variables in macfont.m

* src/macfont.m (macfont_get_glyph_for_character): Remove two unused
variables.

6 years agoUse utf-8-hfs-unix on macOS (Bug#29712)
Alan Third [Sat, 16 Dec 2017 17:02:15 +0000 (17:02 +0000)]
Use utf-8-hfs-unix on macOS (Bug#29712)

* lisp/term/ns-win.el: Use utf-8-hfs-unix instead of utf-8-hfs.

6 years agoSilence macOS 10.13 deprecation notices (Bug#29643)
Alan Third [Sun, 10 Dec 2017 20:15:52 +0000 (20:15 +0000)]
Silence macOS 10.13 deprecation notices (Bug#29643)

* 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+.

6 years ago* lisp/progmodes/cc-defs.el (c-version): Update to 5.33.1.
Alan Mackenzie [Sat, 16 Dec 2017 16:01:49 +0000 (16:01 +0000)]
* lisp/progmodes/cc-defs.el (c-version): Update to 5.33.1.

6 years agoImprove fix for Bug#29712
Michael Albinus [Sat, 16 Dec 2017 15:40:03 +0000 (16:40 +0100)]
Improve fix for Bug#29712

* test/lisp/net/tramp-tests.el
(tramp-test32-environment-variables-and-port-numbers):
Adapt check for systems which do not support "echo -n".  (Bug#29712)

6 years ago* doc/lispref/sequences.texi (Sequence Functions): Improve indexing.
Eli Zaretskii [Sat, 16 Dec 2017 14:54:32 +0000 (16:54 +0200)]
* doc/lispref/sequences.texi (Sequence Functions): Improve indexing.

6 years agoAvoid reordering of output in 'shr-insert-document'
Eli Zaretskii [Sat, 16 Dec 2017 14:09:41 +0000 (16:09 +0200)]
Avoid reordering of output in 'shr-insert-document'

* lisp/net/shr.el (shr-string-pixel-width): Preserve point across
shr-pixel-column invocations.  (Bug#29734)

6 years agoImprove documentation of 'invisible-p'
Eli Zaretskii [Sat, 16 Dec 2017 10:15:06 +0000 (12:15 +0200)]
Improve documentation of 'invisible-p'

* 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)

6 years agoSuppress timers in Tramp operations
Michael Albinus [Sat, 16 Dec 2017 09:47:06 +0000 (10:47 +0100)]
Suppress timers in Tramp operations

* lisp/net/tramp.el (tramp-accept-process-output):
* lisp/net/tramp-adb.el (tramp-adb-handle-start-file-process):
* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
(tramp-sh-handle-start-file-process):
* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
(tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
(tramp-smb-handle-set-file-acl)
(tramp-smb-handle-start-file-process): Suppress timers.

* test/lisp/net/tramp-tests.el (tramp-test41-asynchronous-requests):
Use $REMOTE_PARALLEL_PROCESSES.  Flush cache prior file operations.
Add instrumentation messages.

6 years agoRemove one more check that Vframe_list is non-nil
Martin Rudalics [Sat, 16 Dec 2017 09:14:29 +0000 (10:14 +0100)]
Remove one more check that Vframe_list is non-nil

* src/dispnew.c (check_glyph_memory): Remove no-longer-needed
check that Vframe_list is non-nil, as FOR_EACH_FRAME no longer
assumes that.

6 years agoFix off-by-one error in 'css--hex-color'
Simen Heggestøyl [Sat, 16 Dec 2017 08:37:11 +0000 (09:37 +0100)]
Fix off-by-one error in 'css--hex-color'

* lisp/textmodes/css-mode.el (css--hex-color): Fix off-by-one error.

* test/lisp/textmodes/css-mode-tests.el (css-test-hex-color): New test
for 'css--hex-color'.

6 years agoSave and restore text-pixel height and width of frames (Bug#28442)
Aaron Jensen [Sat, 16 Dec 2017 08:36:35 +0000 (09:36 +0100)]
Save and restore text-pixel height and width of frames (Bug#28442)

* lisp/frameset.el (frameset--record-relationships): Record
text-pixel-height and text-pixel-width of frame.
(frameset--restore-frame): Restore text-pixel-height and
text-pixel-width of frame if available.  (Bug#28442)

6 years agoPartially revert "Mention new strictness for &optional, &rest..."
Noam Postavsky [Sat, 16 Dec 2017 04:20:25 +0000 (23:20 -0500)]
Partially revert "Mention new strictness for &optional, &rest..."

The changes to cl argument parsing are not backwards compatible, and
cause inconvenience when writing macros (e.g., instead of doing '&aux
,@auxargs', some more complicated conditionals would be required).
The `cl-defstruct' macro makes use of this convenience when defining
empty structs (Bug#29728).
* lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
(cl--do-&aux, cl--do-arglist): Undo strict checking of &rest, &key,
and &aux.
* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-bad-arglist): Remove
test.

6 years agoDon't compare arguments that can be nil
Oscar Fuentes [Sat, 16 Dec 2017 00:34:35 +0000 (01:34 +0100)]
Don't compare arguments that can be nil

copy-region-as-kill can be called passing nil as `beg' and
`end'. Magit does that, which caused an error when this advice was in
effect.

* lisp/ses.el (ses--advice-copy-region-as-kill): avoid comparison
  unless `beg' and `end' are non-nil.

6 years agoAutomatically evaluate top-level define-obsolete-function-alias etc
Glenn Morris [Fri, 15 Dec 2017 21:22:25 +0000 (16:22 -0500)]
Automatically evaluate top-level define-obsolete-function-alias etc

* lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-make-obsolete):
New handler.

6 years ago* lisp/vc/smerge-mode.el (smerge-refine): Respect font-lock-mode.
Glenn Morris [Fri, 15 Dec 2017 18:40:06 +0000 (13:40 -0500)]
* lisp/vc/smerge-mode.el (smerge-refine): Respect font-lock-mode.

6 years ago* lisp/vc/smerge-mode.el (smerge-refine): Replace obsolete alias.
Glenn Morris [Fri, 15 Dec 2017 18:35:25 +0000 (13:35 -0500)]
* lisp/vc/smerge-mode.el (smerge-refine): Replace obsolete alias.

6 years agoFOR_EACH_FRAME no longer assumes frame-list
Paul Eggert [Fri, 15 Dec 2017 17:07:52 +0000 (09:07 -0800)]
FOR_EACH_FRAME no longer assumes frame-list

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.

6 years ago* src/font.c (Ffont_info): Doc fix. (Bug#29682)
Eli Zaretskii [Fri, 15 Dec 2017 10:30:30 +0000 (12:30 +0200)]
* src/font.c (Ffont_info): Doc fix.  (Bug#29682)

6 years agoModernise message.el face spec syntax
Basil L. Contovounesios [Fri, 15 Dec 2017 10:20:38 +0000 (12:20 +0200)]
Modernise message.el face spec syntax

* lisp/gnus/message.el (message-header-to, message-header-cc)
(message-header-subject, message-header-newsgroups)
(message-header-other, message-header-name, message-header-xheader)
(message-separator, message-cited-text, message-mml):
Use (DISPLAY . PLIST) face spec syntax as recommended in
`(elisp) Defining Faces'.  (Bug#29405)

6 years agoUpdate message.el obsolete face aliases
Basil L. Contovounesios [Fri, 15 Dec 2017 10:18:43 +0000 (12:18 +0200)]
Update message.el obsolete face aliases

* lisp/gnus/message.el: (message-header-to, message-header-cc)
(message-header-subject, message-header-newsgroups)
(message-header-other, message-header-name, message-header-xheader)
(message-separator, message-cited-text, message-mml):
Use define-obsolete-face-alias.  (Bug#29405)

6 years ago; * lisp/comint.el (comint-terminfo-terminal): Add a :version tag.
Eli Zaretskii [Fri, 15 Dec 2017 09:50:11 +0000 (11:50 +0200)]
; * lisp/comint.el (comint-terminfo-terminal): Add a :version tag.

6 years agoImprove documentation of TERM environment variable
Eli Zaretskii [Fri, 15 Dec 2017 09:45:22 +0000 (11:45 +0200)]
Improve documentation of TERM environment variable

* doc/emacs/trouble.texi (Checklist):
* doc/emacs/building.texi (Compilation Shell):
* doc/emacs/misc.texi (Shell Options): Improve indexing of TERM.
* doc/emacs/building.texi (Compilation Shell): Mention
'comint-terminfo-terminal' in conjunction with the TERM value.

6 years agoAdd option to configure comint TERM
Allen Li [Fri, 15 Dec 2017 09:30:25 +0000 (11:30 +0200)]
Add option to configure comint TERM

* lisp/comint.el (comint-terminfo-terminal): New defcustom.
(comint-term-environment): New function for setting terminal options
(comint-exec-1): Use comint-term-environment.  (Bug#29583)
* lisp/progmodes/compile.el (compilation-start): Use comint-term-environment.

* etc/NEWS:
* doc/emacs/misc.texi (Shell Options): Document the new option.

6 years agoBetter support utf-8-with-signature and utf-8-hfs in XML/HTML
Eli Zaretskii [Fri, 15 Dec 2017 09:06:07 +0000 (11:06 +0200)]
Better support utf-8-with-signature and utf-8-hfs in XML/HTML

* lisp/international/mule.el (sgml-xml-auto-coding-function):
Support UTF-8 with BOM and utf-8-hfs as variants of UTF-8, and
obey the buffer's encoding if it is one of these variants, instead
of re-encoding in UTF-8 proper.  (Bug#20623)

6 years ago* lisp/menu-bar.el (menu-bar-mode): Doc fix.
Eli Zaretskii [Fri, 15 Dec 2017 08:59:33 +0000 (10:59 +0200)]
* lisp/menu-bar.el (menu-bar-mode): Doc fix.

6 years ago; * etc/NEWS: Fix last change.
Eli Zaretskii [Fri, 15 Dec 2017 08:50:22 +0000 (10:50 +0200)]
; * etc/NEWS: Fix last change.

6 years agoFix Bug#29712 in tramp-tests.el
Michael Albinus [Fri, 15 Dec 2017 08:37:42 +0000 (09:37 +0100)]
Fix Bug#29712 in tramp-tests.el

* test/lisp/net/tramp-tests.el
(tramp-test32-environment-variables-and-port-numbers):
Skip for macOS.  (Bug#29712)

6 years agoDon't run FOR_EACH_FRAME when there's no frame left (Bug#29961)
Martin Rudalics [Fri, 15 Dec 2017 07:30:09 +0000 (08:30 +0100)]
Don't run FOR_EACH_FRAME when there's no frame left (Bug#29961)

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).

6 years agoSpelling fix
Paul Eggert [Fri, 15 Dec 2017 07:21:50 +0000 (23:21 -0800)]
Spelling fix

* lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
Fix misspelling of ‘delete-directory’.

6 years ago* lisp/textmodes/tex-mode.el: Ensure uncompiled file is loadable.
Glenn Morris [Fri, 15 Dec 2017 06:01:32 +0000 (22:01 -0800)]
* lisp/textmodes/tex-mode.el: Ensure uncompiled file is loadable.

6 years agoRemember password change for IMAP in Gnus (Bug#29692)
Ted Zlatanov [Fri, 15 Dec 2017 05:17:30 +0000 (00:17 -0500)]
Remember password change for IMAP in Gnus (Bug#29692)

Reported by Trey Jackson <trey_jackson@mentor.com>.

* lisp/gnus/mail-source.el (mail-source-fetch-imap): Check
`mail-source-password-cache' for password.

6 years agoAdd %DUMBFW to the default GnuTLS priority strings
Ted Zlatanov [Fri, 15 Dec 2017 04:16:38 +0000 (23:16 -0500)]
Add %DUMBFW to the default GnuTLS priority strings

* lisp/net/gnutls.el (gnutls-boot-parameters): Add %DUMBFW to
the default priority strings (Bug#25061).

* etc/NEWS: Mention it.

* doc/misc/emacs-gnutls.texi (Help For Users): Point to the
GnuTLS priority string documentation URL.

6 years agoSmall fixes prompted by make check-declare
Glenn Morris [Fri, 15 Dec 2017 02:31:28 +0000 (21:31 -0500)]
Small fixes prompted by make check-declare

* lisp/frame.el (x-focus-frame): Update declaration.
(ns-mouse-absolute-pixel-position): Fix declaration.
* lisp/vc/diff-mode.el (diff-refine-hunk):
Use smerge-refine-regions rather than obsolete alias.
(smerge-refine-subst): Remove declaration, no longer relevant.

6 years agoMake w32-fns.el loadable on any platform (bug#6997)
Glenn Morris [Fri, 15 Dec 2017 02:18:42 +0000 (21:18 -0500)]
Make w32-fns.el loadable on any platform (bug#6997)

* lisp/w32-fns.el (find-file-visit-truename): Only set on MS Windows.
(set-message-beep, w32-charset-info-alist): Check bound before using.

6 years agoFix some custom groups
Glenn Morris [Fri, 15 Dec 2017 02:01:08 +0000 (21:01 -0500)]
Fix some custom groups

* lisp/vc/vc-hooks.el (vc-faces): Rename from vc-state-faces.
* lisp/vc/cvs-status.el (cvs-status): Unused, remove.

6 years agoImprove Custom's treatment of obsolete options (bug#5742)
Glenn Morris [Fri, 15 Dec 2017 01:22:08 +0000 (20:22 -0500)]
Improve Custom's treatment of obsolete options (bug#5742)

* lisp/cus-edit.el (custom-variable-obsolete): New face.
(custom-variable-documentation): Include obsolescence information.
(custom-variable-value-create): Use different face for obsolete items.
(custom-face-documentation): New function.
(custom-face): Use custom-face-documentation.
* lisp/info-look.el (info-lookup-guess-custom-symbol):
Add custom-variable-obsolete face.

6 years agoFix fontification of first declaration within a C++ lambda form.
Alan Mackenzie [Thu, 14 Dec 2017 21:04:39 +0000 (21:04 +0000)]
Fix fontification of first declaration within a C++ lambda form.

* lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Cease
spuriously recognizing the braces of a lambda form as a brace list when there
is an "=" preceding the introductory brackets.

6 years agoClarify manual section on &context specializer for methods
Eric Abrahamsen [Thu, 14 Dec 2017 20:59:07 +0000 (12:59 -0800)]
Clarify manual section on &context specializer for methods

* doc/lispref/functions.texi (Generic Functions): Provide a little
  more information on how they work.

6 years ago* src/data.c (Fadd_variable_watcher): Doc fix.
Charles A. Roelli [Thu, 14 Dec 2017 19:53:35 +0000 (20:53 +0100)]
* src/data.c (Fadd_variable_watcher): Doc fix.

6 years agoFix misfontification of C++ member initialization list after "throw"
Alan Mackenzie [Thu, 14 Dec 2017 17:55:59 +0000 (17:55 +0000)]
Fix misfontification of C++ member initialization list after "throw"

* lisp/progmodes/cc-engine.el (c-forward-type): Stop recognizing a "type"
starting with "throw", by using c-opt-type-modifier-prefix-key.

* lisp/progmodes/cc-langs.el (c-type-modifier-prefix-kwds): New lang const
which, in C++, doesn't contain "throw", otherwise like c-type-modifier-kwds.
(c-opt-type-modifier-prefix-key): New lang const and var, a regexp matching
any keyword in the previous lang const.

6 years ago; * src/json.c: Convert non-ASCII quotes to ASCII characters.
Eli Zaretskii [Thu, 14 Dec 2017 17:53:58 +0000 (19:53 +0200)]
; * src/json.c: Convert non-ASCII quotes to ASCII characters.

6 years agoFix doc-string of Fbuffer_list
Martin Rudalics [Thu, 14 Dec 2017 08:38:06 +0000 (09:38 +0100)]
Fix doc-string of Fbuffer_list

* src/buffer.c (Fbuffer_list): Fix doc-string.

6 years agoDon't raise an extraneous frame (bug#29696)
Basil L. Contovounesios [Thu, 14 Dec 2017 04:45:21 +0000 (04:45 +0000)]
Don't raise an extraneous frame (bug#29696)

* lisp/gnus/gnus-art.el (gnus-article-read-summary-keys): Lookup
summary buffer keys from article buffer without affecting window
configuration (bug#29696).

6 years agoMention new strictness for &optional, &rest in arglists (Bug#29165)
Noam Postavsky [Mon, 13 Nov 2017 17:46:13 +0000 (12:46 -0500)]
Mention new strictness for &optional, &rest in arglists (Bug#29165)

* etc/NEWS: Explain that '&optional' not followed by a variable is now
an error.
* lisp/emacs-lisp/cl-macs.el (cl--transform-lambda, cl--do-&aux)
(cl--do-arglist): Also reject '&optional', '&rest', or '&aux' not
followed by a variable for consistency.
* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-bad-arglist): New
test.

6 years agoDon't misfontify "foo ()" inside C++ initialization parentheses as a type
Alan Mackenzie [Wed, 13 Dec 2017 20:55:03 +0000 (20:55 +0000)]
Don't misfontify "foo ()" inside C++ initialization parentheses as a type

Also recognize and handle function names introduced by "extern" inside a
function.

* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Add a new element to
the result list which is t when our declaration is, or is to be treated as,
being at top level.

* lisp/progmodes/cc-fonts.el (c-get-fontification-context): Detect being
inside a C++ uniform initialization and return (not-decl nil) for this case.
(c-font-lock-declarations): Use the new element 4 of the result of
c-forward-decl-or-cast-1.

* lisp/progmodes/cc-langs.el (c-make-top-level-kwds, c-make-top-level-key):
New lang consts/vars.

6 years agoFixes for defcustoms, prompted by cus-test-opts
Glenn Morris [Wed, 13 Dec 2017 20:29:24 +0000 (15:29 -0500)]
Fixes for defcustoms, prompted by cus-test-opts

* lisp/files.el (save-some-buffers-default-predicate):
* lisp/time.el (display-time-world-list):
* lisp/gnus/gnus-art.el (gnus-article-show-cursor):
* lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-names):
* lisp/progmodes/verilog-mode.el (verilog-auto-wire-type):
* lisp/textmodes/less-css-mode.el (less-css-output-directory)
(less-css-output-file-name, less-css-input-file-name):
* lisp/vc/emerge.el (emerge-metachars):
* lisp/vc/vc-hg.el (vc-hg-symbolic-revision-styles):
Fix :types.
* lisp/net/newst-backend.el (newsticker-url-list-defaults): Fix url.

6 years ago* lisp/net/newst-backend.el (newsticker--raw-url-list-defaults):
Glenn Morris [Wed, 13 Dec 2017 20:25:56 +0000 (15:25 -0500)]
* lisp/net/newst-backend.el (newsticker--raw-url-list-defaults):
Update.

6 years agoDon't get fooled by open parens in column 0 within strings
Stefan Monnier [Wed, 13 Dec 2017 19:13:11 +0000 (14:13 -0500)]
Don't get fooled by open parens in column 0 within strings

* lisp/emacs-lisp/lisp.el (beginning-of-defun-raw):
Skip defun-prompt-regexp and open-paren-in-0 within strings and comments.

6 years ago* lisp/htmlfontify.el (hfy-which-etags): Fix it.
Glenn Morris [Wed, 13 Dec 2017 18:55:29 +0000 (13:55 -0500)]
* lisp/htmlfontify.el (hfy-which-etags): Fix it.

6 years agoAdd missing :version tags revealed by cusver-check
Glenn Morris [Wed, 13 Dec 2017 07:21:24 +0000 (23:21 -0800)]
Add missing :version tags revealed by cusver-check

* lisp/comint.el (comint-move-point-for-matching-input):
* lisp/epa.el (epa-replace-original-text):
* lisp/image-dired.el (image-dired-cmd-optipng-program)
(image-dired-cmd-optipng-options):
* lisp/emacs-lisp/bytecomp.el (byte-compile-cond-use-jump-table):
* lisp/gnus/gnus-cloud.el (gnus-cloud-storage-method)
(gnus-cloud-interactive):
* lisp/net/mailcap.el (mailcap-user-mime-data):
* lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag)
(c-noise-macro-names, c-noise-macro-with-parens-names):
* lisp/progmodes/flymake.el (flymake-start-on-flymake-mode)
(flymake-wrap-around):
* lisp/progmodes/grep.el (grep-use-null-filename-separator):
* lisp/progmodes/js.el (js-indent-align-list-continuation):
* lisp/progmodes/perl-mode.el (perl-flymake-command):
* lisp/progmodes/python.el (python-flymake-command)
(python-flymake-command-output-pattern, python-flymake-msg-alist):
* lisp/progmodes/ruby-mode.el (ruby-flymake-use-rubocop-if-available)
(ruby-rubocop-config):
* lisp/textmodes/less-css-mode.el (less-css):
* lisp/textmodes/tex-mode.el (tex-chktex-program)
(tex-chktex-extra-flags): Add missing :version tags.

6 years agoEscape column-zero doc parens
Glenn Morris [Wed, 13 Dec 2017 07:18:35 +0000 (23:18 -0800)]
Escape column-zero doc parens

* lisp/htmlfontify.el (hfy-display-class):
* lisp/calendar/icalendar.el (icalendar--do-create-ical-alarm):
* lisp/net/shr.el (shr-external-rendering-functions):
* lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag):
* lisp/textmodes/tildify.el (tildify-tildify):
Escape column-zero doc parens.  A shame bug#21871 remains unfixed.

6 years ago* admin/gitmerge.el (gitmerge-missing):
Glenn Morris [Wed, 13 Dec 2017 04:20:15 +0000 (23:20 -0500)]
* admin/gitmerge.el (gitmerge-missing):
Don't get confused by decorations.

6 years ago* src/syntax.c (find_defun_start): Use syntax-ppss
Stefan Monnier [Wed, 13 Dec 2017 04:03:00 +0000 (23:03 -0500)]
* src/syntax.c (find_defun_start): Use syntax-ppss

(syms_of_syntax): New variable comment-use-syntax-ppss.

6 years ago; Merge from origin/emacs-26
Glenn Morris [Wed, 13 Dec 2017 03:43:34 +0000 (19:43 -0800)]
; Merge from origin/emacs-26

The following commit was skipped:

45099bb90f (origin/emacs-26) Remove ObjC blocks (Bug#23753)

6 years agoMerge from origin/emacs-26
Glenn Morris [Wed, 13 Dec 2017 03:43:33 +0000 (19:43 -0800)]
Merge from origin/emacs-26

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)

6 years ago* lisp/subr.el (backtrace--print-frame): Use cl-prin1
Stefan Monnier [Wed, 13 Dec 2017 03:40:27 +0000 (22:40 -0500)]
* lisp/subr.el (backtrace--print-frame): Use cl-prin1

* lisp/emacs-lisp/cl-print.el (cl-prin1): Catch errors, since callers
generally don't expect errors.

6 years agoFix gitmerge handling of automatic conflict reslution
Glenn Morris [Wed, 13 Dec 2017 02:58:38 +0000 (21:58 -0500)]
Fix gitmerge handling of automatic conflict reslution

* admin/gitmerge.el (gitmerge-resolve): Reenable NEWS handling.
(gitmerge-resolve-unmerged): Commit after successful resolution.
(gitmerge-commit): New function, extracted from gitmerge-maybe-resume.
(gitmerge-maybe-resume): Use gitmerge-commit.

6 years agoFix recently-introduced cast typo
Paul Eggert [Tue, 12 Dec 2017 23:15:56 +0000 (15:15 -0800)]
Fix recently-introduced cast typo

* 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.

6 years agoPort --fcheck-pointer-bounds to --with-wide-int
Paul Eggert [Tue, 12 Dec 2017 20:59:27 +0000 (12:59 -0800)]
Port --fcheck-pointer-bounds to --with-wide-int

* src/lisp (XSYMBOL) [__CHKP__ && !USE_LSB_TAG]:
Bypass pointer bounds checking here,
instead of failing the entire build.
(make_lisp_symbol): Improve comment.

6 years agoNarrow pointer bounds when appropriate
Paul Eggert [Sat, 9 Dec 2017 21:57:38 +0000 (13:57 -0800)]
Narrow pointer bounds when appropriate

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.

6 years agoPort to gcc -fcheck-pointer-bounds
Paul Eggert [Sat, 9 Dec 2017 21:57:38 +0000 (13:57 -0800)]
Port to gcc -fcheck-pointer-bounds

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.

6 years agoReimplement Lisp_Object as pointer-to-incomplete
Paul Eggert [Tue, 12 Dec 2017 20:59:57 +0000 (12:59 -0800)]
Reimplement Lisp_Object as pointer-to-incomplete

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.

6 years agoRemove ObjC blocks (Bug#23753)
Alan Third [Sun, 10 Dec 2017 10:16:25 +0000 (10:16 +0000)]
Remove ObjC blocks (Bug#23753)

* src/macfont.m (macfont_get_glyph_for_character):
(mac_font_get_glyphs_for_variants): Inline Objective-C blocks.

(cherry picked from commit 4590f1d768adbb2120a2b02c614f7ed3b21a4a3e)

6 years agoRename gnus-cloud method setter
Ted Zlatanov [Tue, 12 Dec 2017 19:46:54 +0000 (14:46 -0500)]
Rename gnus-cloud method setter

* lisp/gnus/gnus-srvr.el (gnus-server-set-cloud-method-server)
  (gnus-server-make-menu-bar, gnus-server-mode-map): Rename
  `gnus-server-toggle-cloud-method-server' to
  `gnus-server-set-cloud-method-server' (Bug#28845).
  (gnus-server-toggle-cloud-server): Use "toggle" in docstring.

* lisp/gnus/gnus-cloud.el: Fix docstring.

6 years ago* lisp/subr.el (run-mode-hooks): Fix last change
Stefan Monnier [Tue, 12 Dec 2017 19:43:27 +0000 (14:43 -0500)]
* lisp/subr.el (run-mode-hooks): Fix last change

6 years agoImport the latest IVD_Sequences.txt
Eli Zaretskii [Tue, 12 Dec 2017 19:41:23 +0000 (21:41 +0200)]
Import the latest IVD_Sequences.txt

* admin/unidata/IVD_Sequences.txt: New version from
http://www.unicode.org/ivd/, the 2017-12-12 version of the Unicode
Ideographic Variation Database.

* src/macuvs.h: Regenerated.

6 years agoRemove ObjC blocks (Bug#23753)
Alan Third [Sun, 10 Dec 2017 10:16:25 +0000 (10:16 +0000)]
Remove ObjC blocks (Bug#23753)

* src/macfont.m (macfont_get_glyph_for_character):
(mac_font_get_glyphs_for_variants): Inline Objective-C blocks.

6 years agoExtend tramp-cache.el interface
Michael Albinus [Tue, 12 Dec 2017 14:46:17 +0000 (15:46 +0100)]
Extend tramp-cache.el interface

* lisp/net/tramp.el (tramp-handle-add-name-to-file)
(tramp-handle-dired-uncache):
* lisp/net/tramp-adb.el (tramp-adb-handle-make-directory)
(tramp-adb-handle-delete-directory, tramp-adb-handle-delete-file)
(tramp-adb-handle-write-region, tramp-adb-handle-set-file-modes)
(tramp-adb-handle-set-file-times, tramp-adb-handle-copy-file)
(tramp-adb-handle-rename-file, tramp-adb-handle-process-file)
(tramp-adb-handle-start-file-process, tramp-adb-get-device)
(tramp-adb-maybe-open-connection):
* lisp/net/tramp-cache.el (tramp-flush-file-properties)
(tramp-flush-directory-properties, tramp-flush-file-function):
* lisp/net/tramp-cmds.el (tramp-cleanup-connection):
* lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file)
(tramp-gvfs-handle-delete-directory, tramp-gvfs-handle-delete-file)
(tramp-gvfs-handle-file-system-info, tramp-gvfs-handle-make-directory)
(tramp-gvfs-handle-write-region, tramp-gvfs-handler-mounted-unmounted)
(tramp-gvfs-send-command):
* lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
(tramp-sh-handle-set-file-modes, tramp-sh-handle-set-file-times)
(tramp-sh-handle-set-file-selinux-context, tramp-sh-handle-set-file-acl)
(tramp-sh-handle-add-name-to-file, tramp-sh-handle-copy-directory)
(tramp-do-copy-or-rename-file, tramp-do-copy-or-rename-file-out-of-band)
(tramp-sh-handle-make-directory, tramp-sh-handle-delete-directory)
(tramp-sh-handle-delete-file, tramp-sh-handle-dired-compress-file)
(tramp-process-sentinel, tramp-sh-handle-start-file-process)
(tramp-sh-handle-process-file, tramp-sh-handle-write-region):
* lisp/net/tramp-smb.el (tramp-smb-handle-add-name-to-file)
(tramp-smb-handle-copy-directory, tramp-smb-handle-copy-file)
(tramp-smb-handle-delete-directory, tramp-smb-handle-delete-file)
(tramp-smb-handle-file-acl, tramp-smb-handle-make-directory-internal)
(tramp-smb-handle-make-symbolic-link, tramp-smb-handle-process-file)
(tramp-smb-handle-rename-file, tramp-smb-handle-set-file-acl)
(tramp-smb-handle-set-file-modes, tramp-smb-handle-start-file-process)
(tramp-smb-handle-write-region, tramp-smb-maybe-open-connection):
Use them.

* lisp/net/tramp-cache.el (tramp-flush-file-properties)
(tramp-flush-directory-properties, tramp-flush-connection-properties):
Rename from `tramp-flush-file-property',`tramp-flush-directory-property'
and `tramp-flush-connection-property', respectively.
(tramp-flush-file-property, tramp-flush-connection-property):
New defuns.