]> git.eshelyaron.com Git - emacs.git/log
emacs.git
7 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

7 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

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

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

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

7 years ago* lisp/subr.el (run-mode-hooks): Set parse-sexp-lookup-properties
Stefan Monnier [Tue, 12 Dec 2017 14:11:17 +0000 (09:11 -0500)]
* lisp/subr.el (run-mode-hooks): Set parse-sexp-lookup-properties

if syntax-propertize-function is set (bug#24749).
* lisp/progmodes/sh-script.el (sh-set-shell):
* lisp/textmodes/texinfo.el (texinfo-mode):
* lisp/textmodes/mhtml-mode.el (mhtml-mode):
* lisp/progmodes/js.el (js-mode): Don't set parse-sexp-lookup-properties.

7 years agoMake functions invocation-directory and invocation-name obsolete
Glenn Morris [Tue, 12 Dec 2017 08:00:33 +0000 (00:00 -0800)]
Make functions invocation-directory and invocation-name obsolete

* lisp/subr.el (invocation-directory, invocation-name):
Mark the function versions as obsolete.  (Bug#10476)
* lisp/startup.el (tty-handle-args):
* lisp/term/common-win.el (x-handle-xrm-switch, x-handle-name-switch):
* lisp/term/ns-win.el (top-level):
* lisp/term/pc-win.el (top-level):
* lisp/term/w32-win.el (window-system-initialization):
* lisp/term/x-win.el (top-level, x-handle-parent-id)
(x-handle-smid, window-system-initialization):
* test/lisp/htmlfontify-tests.el (htmlfontify-bug25468):
Use invocation-directory and invocation-name as variables.

7 years ago* lisp/mail/emacsbug.el (report-emacs-bug): Try "sw_vers" on Darwin.
Glenn Morris [Tue, 12 Dec 2017 02:17:55 +0000 (21:17 -0500)]
* lisp/mail/emacsbug.el (report-emacs-bug): Try "sw_vers" on Darwin.

7 years agoFix dired-do-compress when tar doesn't default to stdin (Bug#29094)
Max [Tue, 31 Oct 2017 23:33:59 +0000 (02:33 +0300)]
Fix dired-do-compress when tar doesn't default to stdin (Bug#29094)

* lisp/dired-aux.el (dired-compress-file-suffixes): Use argument '-f-'
to write to stdout rather than relying on the default (the choice of
default is decided when compiling tar, BSD systems usually set it to a
tape drive).  Drop '-v', since the output is not used anywhere.

Copyright-paperwork-exempt: yes

7 years agoSuppress warnings during elisp completion macroexpansion
Noam Postavsky [Tue, 5 Dec 2017 01:01:40 +0000 (20:01 -0500)]
Suppress warnings during elisp completion macroexpansion

Errors are already suppressed, therefore it is logical to suppress
warnings as well.  Some macros (e.g., use-package) may produce
warnings when given the `elisp--witness--lisp' symbol.
* lisp/progmodes/elisp-mode.el (elisp--local-variables): Let-bind
warning-minimum-log-level to :emergency.

7 years ago* lisp/progmodes/verilog-mode.el (verilog-mode): Fix typo (Bug#24410).
Chunyang Xu [Sun, 11 Sep 2016 11:39:30 +0000 (19:39 +0800)]
* lisp/progmodes/verilog-mode.el (verilog-mode): Fix typo (Bug#24410).

7 years ago; NEWS: Update Org version number
Rasmus [Wed, 6 Dec 2017 14:24:22 +0000 (15:24 +0100)]
; NEWS: Update Org version number

(cherry picked from commit cb3d979b740d163088610067a5eec87c0d34fea9)

7 years ago* admin/gitmerge.el (gitmerge-resolve): Disable buggy NEWS handling.
Glenn Morris [Mon, 11 Dec 2017 18:25:41 +0000 (13:25 -0500)]
* admin/gitmerge.el (gitmerge-resolve): Disable buggy NEWS handling.

7 years agoMake tramp-interrupt-process more robust
Michael Albinus [Mon, 11 Dec 2017 08:36:23 +0000 (09:36 +0100)]
Make tramp-interrupt-process more robust

* lisp/net/tramp.el (tramp-interrupt-process): Fall back to
the default implementation if there's no success.

7 years agoMake quail-input-method work when inhibit-read-only is non-nil (bug#29504)
Katsumi Yamaoka [Mon, 11 Dec 2017 01:27:17 +0000 (01:27 +0000)]
Make quail-input-method work when inhibit-read-only is non-nil (bug#29504)

* lisp/international/quail.el (quail-input-method): Work not only
when buffer-read-only is nil but also when inhibit-read-only is non-nil
(bug#29504).

7 years agoObsolete gnus-remove-if and gnus-remove-if-not
Eric Abrahamsen [Sun, 26 Nov 2017 02:42:55 +0000 (18:42 -0800)]
Obsolete gnus-remove-if and gnus-remove-if-not

Use seq-remove and seq-filter, respectively, instead.

* lisp/gnus/gnus-util.el: Remove functions and replace with
  define-obsolete-function-alias calls.
* lisp/gnus/gnus.el: Require seq here.
* lisp/gnus/gnus-art.el (gnus-mime-view-part-as-type):
* lisp/gnus/gnus-icalendar.el (gnus-icalendar-event--get-attendee-names):
* lisp/gnus/gnus-score.el (gnus-summary-score-effect):
* lisp/gnus/gnus-sum.el (gnus-read-move-group-name):
* lisp/gnus/gnus-topic.el (gnus-group-prepare-topics):
* lisp/gnus/gnus-win.el (gnus-get-buffer-window):
* lisp/gnus/nnmail.el (nnmail-purge-split-history):
* lisp/gnus/nnmaildir.el (nnmaildir-request-scan):
* lisp/gnus/nnrss.el (nnrss-make-hash-index): Replace calls in all
  these locations.

7 years agoFix 'fontset-name-p'
Eli Zaretskii [Sun, 10 Dec 2017 17:45:25 +0000 (19:45 +0200)]
Fix 'fontset-name-p'

* lisp/international/fontset.el (fontset-name-p): Make the
function work with full fontset names and fontset alias names.

7 years agoFix fontset documentation inconsistencies for bug#29630
Eli Zaretskii [Sun, 10 Dec 2017 17:19:40 +0000 (19:19 +0200)]
Fix fontset documentation inconsistencies for bug#29630

* doc/lispref/display.texi (Face Attributes): Don't document
:family as accepting a fontset.  Document that :font accepts a
fontset.

* lisp/faces.el (set-face-attribute): Doc fix.

7 years agoSkip tests for json.c unless compiled with native JSON support.
Philipp Stephani [Sun, 10 Dec 2017 17:03:04 +0000 (18:03 +0100)]
Skip tests for json.c unless compiled with native JSON support.

* test/src/json-tests.el (json-serialize/roundtrip)
(json-serialize/object, json-parse-string/object)
(json-parse-string/string, json-serialize/string)
(json-parse-string/incomplete, json-parse-string/trailing)
(json-parse-buffer/incomplete, json-parse-buffer/trailing): Skip if
JSON functions aren't available.

7 years agoSupport dynamic loading of libjansson on MS-Windows
Eli Zaretskii [Sun, 10 Dec 2017 16:36:37 +0000 (18:36 +0200)]
Support dynamic loading of libjansson on MS-Windows

* src/json.c [WINDOWSNT]: Define fn_* function pointers to jansson
functions.
(json_delete) [WINDOWSNT]: A wrapper around fn_json_delete, needed
by json_decref.
(init_json_functions) [WINDOWSNT]: New function.
(Fjson_serialize, Fjson_insert, Fjson_parse_string)
(Fjson_parse_buffer) [WINDOWSNT]: Call init_json_functions if
needed, and record JSON in Vlibrary_cache.
* src/emacs.c (main): Don't call init_json on WINDOWSNT.
* src/w32fns.c (syms_of_w32fns): DEFSYM "json".

* lisp/term/w32-win.el (dynamic-library-alist): Add JSON DLL to
the list.

* configure.ac (HAVE_JSON): Empty JSON_LIBS for MinGW.

* nt/INSTALL.W64:
* nt/INSTALL: Add information about libjansson.

7 years ago* configure.ac: Fix minimum Jansson version requirement.
Philipp Stephani [Sun, 10 Dec 2017 15:55:31 +0000 (16:55 +0100)]
* configure.ac: Fix minimum Jansson version requirement.

7 years agoEnsure that we can find definitions when buffer is narrowed
Wilfred Hughes [Sun, 10 Dec 2017 13:34:06 +0000 (13:34 +0000)]
Ensure that we can find definitions when buffer is narrowed

find-function-search-for-symbol will reuse the existing buffer if
we've already opened the file that contains this symbol. However, if
the user has narrowed that buffer, we can't find definitions outside
the narrowed area.

Instead, search the whole file to find definitions, and teach the help
buttons to widen if necessary.

* lisp/emacs-lisp/find-func.el (find-function-search-for-symbol):
  Search the whole buffer for the target symbol.

* lisp/help-mode.el: Help buttons now widen the target buffer, if
  narrowing is in effect and the target position is not in that range.

7 years agoImplement native JSON support using Jansson
Philipp Stephani [Mon, 18 Sep 2017 08:51:39 +0000 (10:51 +0200)]
Implement native JSON support using Jansson

* configure.ac: New option --with-json.

* src/json.c (Fjson_serialize, Fjson_insert, Fjson_parse_string)
(Fjson_parse_buffer): New defuns.
(json_malloc, json_free, json_has_prefix, json_has_suffix)
(json_make_string, json_build_string, json_encode)
(json_out_of_memory, json_parse_error)
(json_release_object, check_string_without_embedded_nulls, json_check)
(lisp_to_json, lisp_to_json_toplevel, lisp_to_json_toplevel_1)
(json_insert, json_insert_callback, json_to_lisp)
(json_read_buffer_callback, Fjson_parse_buffer, define_error): New
helper functions.
(init_json, syms_of_json): New file.

* src/lisp.h: Declaration for init_json and syms_of_json.

* src/emacs.c (main): Enable JSON functions.

* src/eval.c (internal_catch_all, internal_catch_all_1): New helper
functions to catch all signals.
(syms_of_eval): Add uninterned symbol to signify out of memory.

* src/Makefile.in (JSON_LIBS, JSON_CFLAGS, JSON_OBJ, EMACS_CFLAGS)
(base_obj, LIBES): Compile json.c if --with-json is enabled.

* test/src/json-tests.el (json-serialize/roundtrip)
(json-serialize/object, json-parse-string/object)
(json-parse-string/string, json-serialize/string)
(json-parse-string/incomplete, json-parse-string/trailing)
(json-parse-buffer/incomplete, json-parse-buffer/trailing): New unit
tests.

* doc/lispref/text.texi (Parsing JSON): New manual section.

7 years ago* doc/misc/tramp.texi (Archive file names): Precise example.
Michael Albinus [Sun, 10 Dec 2017 09:48:34 +0000 (10:48 +0100)]
* doc/misc/tramp.texi (Archive file names): Precise example.

7 years agoRemove sentence from child frames section in Elisp manual
Martin Rudalics [Sun, 10 Dec 2017 09:38:08 +0000 (10:38 +0100)]
Remove sentence from child frames section in Elisp manual

* doc/lispref/frames.texi (Child Frames): Remove one sentence.
Suggested by Bob Weiner <rsw@gnu.org>.

7 years agoAvoid crashes in 'font-at' after 'set-fontset-font'
Eli Zaretskii [Sun, 10 Dec 2017 08:42:34 +0000 (10:42 +0200)]
Avoid crashes in 'font-at' after 'set-fontset-font'

* src/fontset.c (free_realized_fontsets): Call
recompute_basic_faces, so that the basic faces are available to
any Lisp that calls this function, e.g. via set-fontset-font.
(Bug#29632)

7 years ago* lisp/files-x.el (connection-local-set-profile-variables): Fix docstring.
Ted Zlatanov [Sun, 10 Dec 2017 03:52:50 +0000 (22:52 -0500)]
* lisp/files-x.el (connection-local-set-profile-variables): Fix docstring.

7 years ago* test/lisp/net/tramp-archive-tests.el
Glenn Morris [Sun, 10 Dec 2017 03:17:18 +0000 (19:17 -0800)]
* test/lisp/net/tramp-archive-tests.el
(tramp-archive-test06-directory-file-name): Add skip condition.

7 years agoAdd /etc/ssl/cert.pem to gnutls-trustfiles for macOS
Ted Zlatanov [Sat, 9 Dec 2017 22:52:01 +0000 (17:52 -0500)]
Add /etc/ssl/cert.pem to gnutls-trustfiles for macOS

Problem reported by Mark Ferlatte (Bug#28603).
* lisp/net/gnutls.el (gnutls-trustfiles): Add /etc/ssl/cert.pem for macOS.

7 years ago* lisp/emacs-lisp/advice.el: Stop using old-style backquotes
Philipp Stephani [Sat, 9 Dec 2017 21:03:31 +0000 (22:03 +0100)]
* lisp/emacs-lisp/advice.el: Stop using old-style backquotes

7 years agoRaise an error when detecting old-style backquotes.
Philipp Stephani [Tue, 3 Oct 2017 14:14:54 +0000 (16:14 +0200)]
Raise an error when detecting old-style backquotes.

They have been deprecated for a decade now.

* src/lread.c (Fload): Don't use record_unwind_protect to warn about
old-style backquotes any more.  They now generate a hard error.
(read1): Signal an error when detecting old-style backquotes.  Remove
unused label.
(syms_of_lread): Remove unused internal variable
'lread--old-style-backquotes'.
(load_error_old_style_backquotes): Rename from
'load_warn_oldstyle_backquotes'.  Signal an error.

* lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Remove check
from byte compiler.  It isn't triggered any more.

* test/src/lread-tests.el (lread-tests--old-style-backquotes): Adapt
unit test.

* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-tests--old-style-backquotes)
(bytecomp-tests-function-put): Adapt unit tests.

* etc/NEWS: Document change.

7 years agoFix tool-tip display when display margins are non-zero by default
Eli Zaretskii [Sat, 9 Dec 2017 20:06:19 +0000 (22:06 +0200)]
Fix tool-tip display when display margins are non-zero by default

* src/buffer.h (bset_left_margin_cols, bset_right_margin_cols):
New inline functions.
* src/xfns.c (Fx_show_tip):
* src/w32fns.c (Fx_show_tip): Force display margins of the tip
buffer to zero, as it will be displayed in a pseudo-window, which
doesn't support display margins.  (Bug#29627)

7 years agoWork around reader limitations for old-style backquotes.
Philipp Stephani [Sun, 15 Oct 2017 19:32:17 +0000 (21:32 +0200)]
Work around reader limitations for old-style backquotes.

See Bug#28759.

* admin/grammars/make.by: Escape ,@ to avoid old-style backquote
detection

7 years agoHandle hash tables and vectors when reading/writing EIEIO objects
Eric Abrahamsen [Tue, 5 Dec 2017 22:41:50 +0000 (14:41 -0800)]
Handle hash tables and vectors when reading/writing EIEIO objects

* lisp/emacs-lisp/eieio.el (eieio-override-prin1): EIEIO objects
  printed with `prin1' can no longer be read with `read'. Make sure
  they are printed with object-write instead, even when they're inside
  hash tables and vectors.
* lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
  Check for written representations of objects inside hash tables and
  vectors, and reconstruct them.

7 years ago; Improve NEWS entry of the last change.
Eli Zaretskii [Sat, 9 Dec 2017 15:36:33 +0000 (17:36 +0200)]
; Improve NEWS entry of the last change.

7 years agoSupport for archive file names
Michael Albinus [Sat, 9 Dec 2017 13:34:30 +0000 (14:34 +0100)]
Support for archive file names

* doc/misc/tramp.texi (Top, Usage): Add entry "Archive file names".
(History): Mention archive file names.
(GVFS based methods): Mentio "http" and "https" methods.
(Archive file names): New node.
(Frequently Asked Questions): Add Emacs 27 as supported version.

* etc/NEWS: Mention tramp-archive.el.

* lisp/net/tramp.el (tramp-run-real-handler)
(tramp-register-file-name-handlers)
(tramp-register-file-name-handlers, tramp-unload-file-name-handlers):
Add `tramp-archive-file-name-handler'.
(tramp-handle-file-name-completion): Do not insist in Tramp
file names.

* lisp/net/tramp-archive.el: New package.

* lisp/net/tramp-cache.el (tramp-dump-connection-properties): Check for
"archive" method.

* lisp/net/tramp-cmds.el (tramp-cleanup-all-connections): Cleanup also
local copies of archives.

* lisp/net/tramp-compat.el (tramp-compat-use-url-tramp-p): New defconst.

* lisp/net/tramp-gvfs.el (tramp-gvfs-methods): Add "http" and "https".
(tramp-gvfs-gio-mapping): Add "gvfs-mount".
(tramp-gvfs-handler-mounted-unmounted)
(tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
Handle "uri" and "http".
(tramp-gvfs-unmount): New defun.

* test/lisp/net/tramp-archive-tests.el: New package.

7 years ago* test/Makefile.in (url-tramp-test.log): Do not handle special.
Michael Albinus [Sat, 9 Dec 2017 13:30:04 +0000 (14:30 +0100)]
* test/Makefile.in (url-tramp-test.log): Do not handle special.

7 years agoImprove interactive debugging commands in xdisp.c
Eli Zaretskii [Sat, 9 Dec 2017 13:21:21 +0000 (15:21 +0200)]
Improve interactive debugging commands in xdisp.c

* src/xdisp.c (Fdump_glyph_row, Fdump_tool_bar_row): Allow to
specify ROW via prefix argument.  Fix the doc strings.

7 years agoFix calculation of continuation_pixel_width in display engine
Eli Zaretskii [Sat, 9 Dec 2017 12:45:31 +0000 (14:45 +0200)]
Fix calculation of continuation_pixel_width in display engine

* src/xdisp.c (display_line): Remove incorrect increment of
it->continuation_pixel_width when word-wrap is used.  (Bug#29594)

7 years agoSync with Tramp 2.4.0-pre
Michael Albinus [Sat, 9 Dec 2017 12:22:52 +0000 (13:22 +0100)]
Sync with Tramp 2.4.0-pre

* doc/misc/trampver.texi:
* lisp/net/trampver.el: Change version to "2.4.0-pre".

* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
Use `tramp-handle-file-directory-p'.
(tramp-adb-parse-device-names)
(tramp-adb-handle-expand-file-name)
(tramp-adb-handle-file-truename, tramp-adb-handle-process-file):
Adapt `tramp-make-tramp-file-name' call.
(tramp-adb-handle-file-directory-p): Remove.
(tramp-adb-maybe-open-connection): Do not set
tramp-current-*.

* lisp/net/tramp-cache.el (tramp-get-hash-table):
Adapt `tramp-make-tramp-file-name' call.

* lisp/net/tramp-cmds.el (tramp-cleanup-connection): Do not set
tramp-current-*.

* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
Use `tramp-handle-file-directory-p'.
(tramp-gvfs-dbus-event-error): Trace with verbosity 6.
(tramp-gvfs-do-copy-or-rename-file): Use `file-truename'.
(tramp-gvfs-handle-file-directory-p): Remove.
(tramp-gvfs-handler-askpassword): Do not set tramp-current-*.

* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
(tramp-sh-handle-start-file-process)
(tramp-maybe-open-connection, tramp-get-remote-path): Do not
set tramp-current-*.
(tramp-maybe-open-connection): Set "password-vector" property.

* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
Use `tramp-handle-file-accessible-directory-p' and
`tramp-handle-file-directory-p'.
(tramp-smb-handle-copy-directory, tramp-smb-handle-file-acl)
(tramp-smb-handle-set-file-acl)
(tramp-smb-maybe-open-connection): Do not set tramp-current-*.
(tramp-smb-handle-file-directory-p): Remove.
(tramp-smb-handle-make-symbolic-link):
Use `tramp-get-connection-buffer' rather than `buffer-name'.

* lisp/net/tramp.el (tramp-current-method, tramp-current-user)
(tramp-current-domain, tramp-current-host)
(tramp-current-port): Remove.
(tramp-dissect-file-name): No special handling of localname anymore.
(tramp-make-tramp-file-name): Reimplemnt with new signature.
(tramp-completion-make-tramp-file-name): Fix docstring.
(tramp-get-buffer, tramp-handle-file-name-as-directory)
(tramp-handle-file-name-directory)
(tramp-check-cached-permissions, tramp-local-host-p)
(tramp-get-remote-tmpdir, tramp-clear-passwd):
Adapt `tramp-make-tramp-file-name' call.
(tramp-completion-handle-file-name-all-completions)
(tramp-action-login, tramp-read-passwd): Do not set
tramp-current-*.
(tramp-handle-file-directory-p): New defun.
(tramp-handle-verify-visited-file-modtime): Remove superfluous
`with-parsed-tramp-file-name'.
(tramp-process-actions, tramp-read-passwd):
Use "password-vector" property.
(tramp-call-process, tramp-call-process-region): No special
setting of vec.
(tramp-read-passwd): Handle "login-as" property.

* test/lisp/net/tramp-tests.el (tramp-test21-file-links):
Special code for "smb".

7 years agoImprove documentation of 'save-abbrevs'.
Eli Zaretskii [Sat, 9 Dec 2017 11:43:29 +0000 (13:43 +0200)]
Improve documentation of 'save-abbrevs'.

* doc/emacs/abbrevs.texi (Saving Abbrevs): Document the 'silently'
value of 'save-abbrevs'.  Suggested by Alex Branham
<alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.

7 years agoImprove documentation of Dired
Eli Zaretskii [Sat, 9 Dec 2017 11:29:11 +0000 (13:29 +0200)]
Improve documentation of Dired

* doc/emacs/dired.texi (Dired): Mention that the Dired buffer can
be made modifiable in Wdired.  Suggested by Alex Branham
<alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.

7 years agoMinor Tramp fixes
Michael Albinus [Fri, 8 Dec 2017 15:37:53 +0000 (16:37 +0100)]
Minor Tramp fixes

* lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
Fix a bug when renaming.

* test/lisp/net/tramp-tests.el (tramp-test21-file-links): Extend test.
(tramp-test42-delay-load, tramp-test42-remote-load-path):
Skip unless Emacs >= 26.

7 years ago* lisp/help-mode.el (help-function-def):
Glenn Morris [Fri, 8 Dec 2017 01:30:39 +0000 (20:30 -0500)]
* lisp/help-mode.el (help-function-def):
Allow help-make-xrefs to call with one argument.  (Bug#29611)

7 years agoFix doc-string of 'display-buffer-in-side-window'
Martin Rudalics [Thu, 7 Dec 2017 08:55:21 +0000 (09:55 +0100)]
Fix doc-string of 'display-buffer-in-side-window'

* lisp/window.el (display-buffer-in-side-window): In doc-string
clarify why the window returned gets dedicated to its buffer.

7 years agoFix Bug#29579
Michael Albinus [Wed, 6 Dec 2017 19:49:30 +0000 (20:49 +0100)]
Fix Bug#29579

* lisp/files.el (file-name-non-special):
Inhibit `file-name-handler-alist' only for some operations.
Add missing operations.  (Bug#29579)

* lisp/net/tramp-compat.el (tramp-compat-file-name-quote):
Do not quote if it is quoted already.

* lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
Use `copy-tree' but `copy-sequence'.

* lisp/net/tramp.el (tramp-handle-file-truename): Handle several
trailing slashes correctly.

* test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
(tramp-test12-rename-file, tramp-test24-file-acl)
(tramp-test25-file-selinux, tramp--test-check-files):
Handle also quoted file names.
(tramp-test21-file-links): Fix file name quoting test.
(tramp-test24-file-acl): Be more robust for "smb" method.
(tramp-test35-make-auto-save-file-name): Enable hidden test cases.

7 years agoMerge from origin/emacs-26
Michael Albinus [Sat, 9 Dec 2017 10:23:03 +0000 (11:23 +0100)]
Merge from origin/emacs-26

7eea3144d4 Minor Tramp fixes
c0a670a8b5 * lisp/help-mode.el (help-function-def): Allow help-make-x...
05720162c1 Fix doc-string of 'display-buffer-in-side-window'
a1bbc49015 Fix Bug#29579
cb3d979b74 ; NEWS: Update Org version number

7 years ago* lisp/bookmark.el (bookmark-alist): Doc fix. (Bug#29551)
Eli Zaretskii [Sat, 9 Dec 2017 09:18:06 +0000 (11:18 +0200)]
* lisp/bookmark.el (bookmark-alist): Doc fix.  (Bug#29551)

7 years ago; Merge from origin/emacs-26
Michael Albinus [Sat, 9 Dec 2017 09:13:03 +0000 (10:13 +0100)]
; Merge from origin/emacs-26

The following commit was skipped:

445eefd238 Backport: Update Org to v9.1.4

7 years agoMerge from origin/emacs-26
Michael Albinus [Sat, 9 Dec 2017 09:13:02 +0000 (10:13 +0100)]
Merge from origin/emacs-26

5381c70b7a In windows.texi mention special splitting behavior of side...
46d62b9f36 * lisp/gnus/gnus-group.el (gnus-group-mode-map): Bind [fol...
1ef1dbdbc5 Avoid compilation warning in xterm.c
5cf3c26f2d * README: Document all the top-level directories.  (Bug#29...
e9ea2065a8 Don't enable erc modules on simply loading erc.el

7 years ago; Merge from origin/emacs-26
Michael Albinus [Sat, 9 Dec 2017 09:13:02 +0000 (10:13 +0100)]
; Merge from origin/emacs-26

The following commit was skipped:

4b06af0643 Allow shr to use data: URLs without encoding

7 years agoMerge from origin/emacs-26
Michael Albinus [Sat, 9 Dec 2017 09:13:02 +0000 (10:13 +0100)]
Merge from origin/emacs-26

1fdac2d65c Don't add newlines in minibuffer history
de68f337e3 modhelp.py: Support Python 3 (Bug#24954)
afb04f7f3c Use forward slashes for python w32 config example (Bug#21656)

7 years agoFix core dump from (format "%#08x" n) patch
Paul Eggert [Fri, 8 Dec 2017 21:30:06 +0000 (13:30 -0800)]
Fix core dump from (format "%#08x" n) patch

Problem reported by Glenn Morris (Bug#29609#13).
* src/editfns.c (styled_format): Null-terminate output,
as later code now expects this.

7 years agoFix daylight-saving inference for Irish time
Paul Eggert [Fri, 8 Dec 2017 20:11:25 +0000 (12:11 -0800)]
Fix daylight-saving inference for Irish time

* lisp/calendar/cal-dst.el (calendar-dst-find-data): Do not assume
that daylight-saving time has a greater UT offset than standard
time.  The reverse is true in Ireland, where standard time "IST"
is UTC +01 in summer and daylight-saving time "GMT" is UTC +00 in
winter.  The current Irish rules are given by the POSIX setting
TZ='IST-1GMT0,M10.5.0,M3.5.0/1'.

7 years agoMinor Tramp fixes
Michael Albinus [Fri, 8 Dec 2017 15:37:53 +0000 (16:37 +0100)]
Minor Tramp fixes

* lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
Fix a bug when renaming.

* test/lisp/net/tramp-tests.el (tramp-test21-file-links): Extend test.
(tramp-test42-delay-load, tramp-test42-remote-load-path):
Skip unless Emacs >= 26.

7 years agoFix zero-padding bug with (format "%#08x" n)
Paul Eggert [Fri, 8 Dec 2017 02:07:54 +0000 (18:07 -0800)]
Fix zero-padding bug with (format "%#08x" n)

Problem reported by Gustaf Waldemarson (Bug#29609).
* src/editfns.c (styled_format):
Put zero padding after a leading "0x", not before.
* test/src/editfns-tests.el (format-sharp-0-x): New test.

7 years ago* lisp/help-mode.el (help-function-def):
Glenn Morris [Fri, 8 Dec 2017 01:30:39 +0000 (20:30 -0500)]
* lisp/help-mode.el (help-function-def):
Allow help-make-xrefs to call with one argument.  (Bug#29611)

7 years agoFix doc-string of 'display-buffer-in-side-window'
Martin Rudalics [Thu, 7 Dec 2017 08:55:21 +0000 (09:55 +0100)]
Fix doc-string of 'display-buffer-in-side-window'

* lisp/window.el (display-buffer-in-side-window): In doc-string
clarify why the window returned gets dedicated to its buffer.

7 years agoFix Bug#29579
Michael Albinus [Wed, 6 Dec 2017 19:49:30 +0000 (20:49 +0100)]
Fix Bug#29579

* lisp/files.el (file-name-non-special):
Inhibit `file-name-handler-alist' only for some operations.
Add missing operations.  (Bug#29579)

* lisp/net/tramp-compat.el (tramp-compat-file-name-quote):
Do not quote if it is quoted already.

* lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
Use `copy-tree' but `copy-sequence'.

* lisp/net/tramp.el (tramp-handle-file-truename): Handle several
trailing slashes correctly.

* test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
(tramp-test12-rename-file, tramp-test24-file-acl)
(tramp-test25-file-selinux, tramp--test-check-files):
Handle also quoted file names.
(tramp-test21-file-links): Fix file name quoting test.
(tramp-test24-file-acl): Be more robust for "smb" method.
(tramp-test35-make-auto-save-file-name): Enable hidden test cases.

7 years agoBackport: Update Org to v9.1.4
Rasmus [Wed, 6 Dec 2017 14:02:15 +0000 (15:02 +0100)]
Backport: Update Org to v9.1.4

Please note this is a bugfix release. See etc/ORG-NEWS for details.

(cherry picked from commit 567b5efe1f338c10c574758fb968915c5c34c909)

7 years ago; NEWS: Update Org version number
Rasmus [Wed, 6 Dec 2017 14:24:22 +0000 (15:24 +0100)]
; NEWS: Update Org version number

7 years agoRevert "; Add entry for new Org version in NEWS file"
Rasmus [Wed, 6 Dec 2017 14:21:02 +0000 (15:21 +0100)]
Revert "; Add entry for new Org version in NEWS file"

This reverts commit 793ba92c50d69e1796ea2122520dea872007bca7.

7 years ago; Add entry for new Org version in NEWS file
Rasmus [Wed, 6 Dec 2017 14:05:50 +0000 (15:05 +0100)]
; Add entry for new Org version in NEWS file

7 years agoUpdate Org to v9.1.4
Rasmus [Wed, 6 Dec 2017 14:02:15 +0000 (15:02 +0100)]
Update Org to v9.1.4

Please note this is a bugfix release. See etc/ORG-NEWS for details.

7 years agoIn windows.texi mention special splitting behavior of side and atomic windows
Martin Rudalics [Wed, 6 Dec 2017 08:53:30 +0000 (09:53 +0100)]
In windows.texi mention special splitting behavior of side and atomic windows

* doc/lispref/windows.texi (Splitting Windows): Add note about
and links to side and atomic windows.

7 years ago* lisp/files.el (find-alternate-file): Use selected-window even if dedicated
Stefan Monnier [Wed, 6 Dec 2017 01:53:28 +0000 (20:53 -0500)]
* lisp/files.el (find-alternate-file): Use selected-window even if dedicated

7 years ago* lisp/gnus/gnus-group.el (gnus-group-mode-map):
Katsumi Yamaoka [Tue, 5 Dec 2017 08:22:20 +0000 (08:22 +0000)]
* lisp/gnus/gnus-group.el (gnus-group-mode-map):
Bind [follow-link] to mouse-face, not 'mouse-face (bug#29538).

7 years ago* lisp/calendar/diary-lib.el: Use lexical-binding
Stefan Monnier [Mon, 4 Dec 2017 22:03:32 +0000 (17:03 -0500)]
* lisp/calendar/diary-lib.el: Use lexical-binding

(diary-pull-attrs): Avoid let...setq.
(diary-list-entries-2, diary-mark-entries-1)
(diary-font-lock-date-forms, diary-fancy-date-pattern):
Use calendar-dlet* around uses of diary-date-forms.
(list-only, number, date, entry): Don't declare globally.
(diary-including): Declare.
(diary-saved-point, date-string): Move before first use.
(diary-list-entries): Use calendar-dlet* around
diary-nongregorian-listing-hook and 'diary-list-entries-hook.
(displayed-year, displayed-month): Move before first use.
(diary-sexp-entry): Use calendar-let* around evaluation of the sexp.
(diary-remind): Use calendar-let* around evaluation of sexp.

7 years ago* lisp/calendar/cal-dst.el: Use lexical-binding
Stefan Monnier [Mon, 4 Dec 2017 20:50:14 +0000 (15:50 -0500)]
* lisp/calendar/cal-dst.el: Use lexical-binding

(calendar-time-zone-daylight-rules, calendar-dst-starts)
(calendar-dst-ends, dst-in-effect): Bind `year' explicitly around `eval'.

7 years ago* lisp/calendar/todo-mode.el: Use calendar-dlet*
Stefan Monnier [Mon, 4 Dec 2017 20:39:32 +0000 (15:39 -0500)]
* lisp/calendar/todo-mode.el: Use calendar-dlet*

(dayname, monthname, day, month, year): Don't declare globally.
(todo-date-pattern, todo-edit-item--header)
(todo-convert-legacy-date-time, todo-read-date):
Use calendar-dlet* around uses of calendar-date-display-form.

7 years ago* lisp/calendar/solar.el: Use lexical-binding
Stefan Monnier [Mon, 4 Dec 2017 20:36:22 +0000 (15:36 -0500)]
* lisp/calendar/solar.el: Use lexical-binding

(date): Don't declare globally.
(solar-time-string): Use calendar-dlet*.

* lisp/calendar/calendar.el (calendar-dlet*): New macro.

7 years agoAvoid compilation warning in xterm.c
Eli Zaretskii [Mon, 4 Dec 2017 19:59:28 +0000 (21:59 +0200)]
Avoid compilation warning in xterm.c

* src/xterm.c (x_draw_underwave): Move the declaration of
'thickness' to the non-USE_CAIRO branch, to avoid compiler
warning.  (Bug#29567)

7 years ago* lisp/emacs-lisp/faceup.el: Don't require CL
Stefan Monnier [Mon, 4 Dec 2017 18:49:46 +0000 (13:49 -0500)]
* lisp/emacs-lisp/faceup.el: Don't require CL

(faceup-markup-start-char, faceup-markup-end-char): Use char immediates.

7 years ago* lisp/emacs-lisp/elint.el (elint-init-form): Remove outdated CL hack
Stefan Monnier [Mon, 4 Dec 2017 18:43:23 +0000 (13:43 -0500)]
* lisp/emacs-lisp/elint.el (elint-init-form): Remove outdated CL hack

7 years ago* README: Document all the top-level directories. (Bug#29558)
Eli Zaretskii [Mon, 4 Dec 2017 16:38:15 +0000 (18:38 +0200)]
* README: Document all the top-level directories.  (Bug#29558)

7 years agoFix an omission in lookup_basic_face
Eli Zaretskii [Mon, 4 Dec 2017 15:43:35 +0000 (17:43 +0200)]
Fix an omission in lookup_basic_face

* src/xfaces.c (lookup_basic_face): Handle 'vertical-border' face
as well.  (Bug#29557)

7 years agoDon't enable erc modules on simply loading erc.el
Glenn Morris [Mon, 4 Dec 2017 02:54:08 +0000 (18:54 -0800)]
Don't enable erc modules on simply loading erc.el

* lisp/erc/erc.el (erc-modules): Use default :initialize.  (Bug#29417)

7 years agoallocate_vectorlike minor cleanup
Paul Eggert [Mon, 4 Dec 2017 02:17:00 +0000 (18:17 -0800)]
allocate_vectorlike minor cleanup

* src/alloc.c (allocate_vectorlike): Move a bit of code out of the
critical section.  Although this doesn’t really help performance,
it cleans up the code a bit and should make it easier to add
pointer bounds checking.

7 years agoOmit exprintf if modules but no X
Paul Eggert [Mon, 4 Dec 2017 02:11:00 +0000 (18:11 -0800)]
Omit exprintf if modules but no X

* src/doprnt.c (exprintf): Do not define if HAVE_MODULES &&
!(have_X_WINDOWS || USE_X_TOOLKIT), as the modules code no longer
uses exprintf.

7 years agoPacify GCC on Ubuntu 17.10 x86-64
Paul Eggert [Mon, 4 Dec 2017 01:58:08 +0000 (17:58 -0800)]
Pacify GCC on Ubuntu 17.10 x86-64

* src/xfns.c (x_real_pos_and_offsets): Pull out parent frame
into a local, so that GCC doesn't warn about dereferencing
a possibly-null pointer.

7 years agoAllow shr to use data: URLs without encoding
Lars Ingebrigtsen [Sun, 3 Dec 2017 22:46:52 +0000 (23:46 +0100)]
Allow shr to use data: URLs without encoding

* lisp/net/shr.el (shr-image-from-data): Don't bug out on
image data: URLs that have no base64 encoding like
(shr-image-from-data
"text/html,%3Ch1%3EHello%2C%20World!%3C%2Fh1%3E").

7 years agoAllow shr to use data: URLs without encoding
Lars Ingebrigtsen [Sun, 3 Dec 2017 22:46:52 +0000 (23:46 +0100)]
Allow shr to use data: URLs without encoding

* lisp/net/shr.el (shr-image-from-data): Don't bug out on
image data: URLs that have no base64 encoding like
(shr-image-from-data
"text/html,%3Ch1%3EHello%2C%20World!%3C%2Fh1%3E").

7 years agoAdd image resizing and rotation to NS port
Alan Third [Sun, 3 Dec 2017 17:39:03 +0000 (17:39 +0000)]
Add image resizing and rotation to NS port

* lisp/image.el (image--get-imagemagick-and-warn): Bypass imagemagick
check when using NS.
* src/nsimage.m (ns_load_image): Add rotation and resizing
functionality. Move the getMetaData call to before the resize/rotation
so it returns correct metadata.
(EmacsImage::setSizeFromSpec, EmacsImage::rotate): New functions.
* src/nsterm.h (EmacsImage): Add new function prototypes.
(NSCompositingOperationCopy): Add define to older equivalent for
GNUstep and pre-10.12 macOS.
* configure.ac: Don't use libjpeg on Cocoa.

7 years agoDisable history expansion in eshell (Bug#29157)
Noam Postavsky [Thu, 23 Nov 2017 02:59:35 +0000 (21:59 -0500)]
Disable history expansion in eshell (Bug#29157)

History expansion is not so useful since interactive history commands
are already provided.  It can produce surprising errors when the user
is not aware of the history designator syntax.
* lisp/eshell/em-hist.el (eshell-hist-initialize): Don't add
eshell-expand-history-references to eshell-expand-input-functions.
* etc/NEWS: Announce it.

7 years ago; Tracing for eieio-test random failure (Bug#24503)
Noam Postavsky [Fri, 1 Dec 2017 01:51:07 +0000 (20:51 -0500)]
; Tracing for eieio-test random failure (Bug#24503)

* test/Makefile.in [EMACS_HYDRA_CI]: Always show log for eieio-tests.
* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el (top-level): Trace
cl-generic functions.
(eieio-test-dump-trace): New function.
(eieio-test-37-obsolete-name-in-constructor): Use it.

7 years ago* lisp/emacs-lisp/package.el (package-read-from-string): Simplify.
Noam Postavsky [Sun, 3 Dec 2017 00:38:36 +0000 (19:38 -0500)]
* lisp/emacs-lisp/package.el (package-read-from-string): Simplify.

7 years agoFix faceup tests when run from elc
Noam Postavsky [Fri, 1 Dec 2017 13:20:29 +0000 (08:20 -0500)]
Fix faceup tests when run from elc

String literals may be shared by the compiler, so the test string
needs to be copied before adding properties to it.  For single
properties, just use a string literal with properties.
* test/lisp/emacs-lisp/faceup-tests/faceup-test-basics.el
(faceup-markup): Split into...
(faceup-markup-basics, faceup-markup-escaping, faceup-markup-plain)
(faceup-markup-plain-full-text, faceup-markup-anonymous-face)
(faceup-markup-anonymous-face-2keys, faceup-markup-anonymous-nested)
(faceup-markup-nested, faceup-markup-overlapping)
(faceup-markup-multi-face, faceup-markup-multi-property): New tests.