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

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

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

7 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

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

7 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.