]> git.eshelyaron.com Git - emacs.git/log
emacs.git
6 years agoPrevent name clashes between CL structures and builtin types
Philipp Stephani [Thu, 21 Dec 2017 17:25:49 +0000 (18:25 +0100)]
Prevent name clashes between CL structures and builtin types

* lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Don't allow
structures with the same names as builtin types.
(cl--typeof-types, cl--all-builtin-types): Move from cl-generic.el and
rename.
(cl--struct-name-p): New helper function.

* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Don't allow structures
with the same names as builtin types.

* lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-generalizer)
(cl-generic-generalizers): Adapt to name change.

* test/lisp/emacs-lisp/cl-macs-tests.el (cl-defstruct/builtin-type):
* test/lisp/emacs-lisp/cl-preloaded-tests.el
(cl-struct-define/builtin-type): New unit tests.

* etc/NEWS: Document changed behavior.

6 years agoFix some errors in c-display-defun-name when the type is "struct {..}", etc.
Alan Mackenzie [Sun, 28 Jan 2018 17:53:07 +0000 (17:53 +0000)]
Fix some errors in c-display-defun-name when the type is "struct {..}", etc.

Also fix some errors with c-display-defun-name when there are nested classes.

* lisp/progmodes/cc-cmds.el (c-in-function-trailer-p): Deal with a struct {..}
being merely the type of a function.
(c-where-wrt-brace-construct): Deal with a struct {..} being merely the type
of a function.  Rearrange the order of some Lisp forms.  Insert a check for
c-protection-key ("private", etc.) alongside the checking for a label.
(c-defun-name-1): New function extracted form c-defun-name, which works within
the existing restriction.  Don't regard 'at-function-end as being within the
defun any more.  Recognize "struct", etc., with the new
c-defun-type-name-decl-key rather than c-type-prefix-key.  Make the
recognition of a normal function more accurate.
(c-defun-name): Part left after extracting the above function.  It now just
widens and calls c-defun-name-1.
(c-declaration-limits-1): New function extracted from c-declaration-limits,
which works within the existing restriction.  Move LIM back one block to
account for the possibility of struct {..} as a function type.  Check we're
not inside a declaration without braces.
(c-declaration-limits): Part left after extracting the above function.  It now
just narrows to an enclosing decl block and calls c-declaration-limits-1.
(c-defun-name-and-limits): New function which identifies the name and limits
of the most nested enclosing declaration or macro.
(c-display-defun-name): Use c-defun-name-and-limits rather than two separate
functions (which didn't always agree on which function).

* lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): If we have struct
{..} as the type of a function, go back over this, too.

* lisp/progmodes/cc-langs.el (c-defun-type-name-decl-kwds)
(c-defun-type-name-decl-key): New lang const/var.

6 years agoFix round tripping of read->print for symbols with strange quotes
Noam Postavsky [Tue, 23 Jan 2018 23:50:23 +0000 (18:50 -0500)]
Fix round tripping of read->print for symbols with strange quotes

Since 2017-07-22 "Signal error for symbol names with strange
quotes (Bug#2967)", symbol names beginning with certain quote
characters require an escaping backslash.  However, the corresponding
change for printing missed, so that (eq (read (prin1-to-string SYM))
SYM) does not give `t' for such symbols.
* src/character.c (confusable_symbol_character_p): New function,
extracted from test `read1'.
* src/lread.c (read1): Use it.
* src/print.c (print_object): Use it to print a backslash for symbols
starting with characters that `read1' requires to be escaped.
* test/src/print-tests.el (print-read-roundtrip): New test.
* etc/NEWS.26:
* etc/NEWS: Clarify the announcement for the earlier reader
change (Bug#30217).

6 years agoShorten CSS hex colors when possible
Simen Heggestøyl [Sun, 28 Jan 2018 14:35:46 +0000 (15:35 +0100)]
Shorten CSS hex colors when possible

* lisp/textmodes/css-mode.el (css--format-hex): New function for
shortening CSS hex colors when possible.
(css--named-color-to-hex, css--rgb-to-named-color-or-hex): Use it.

* test/lisp/textmodes/css-mode-tests.el (css-test-format-hex): New
tests for 'css--format-hex'.
(css-test-named-color-to-hex, css-test-cycle-color-format): Adjust for
the changes to 'css--named-color-to-hex' and
'css--rgb-to-named-color-or-hex'.

6 years agoFix off-by-one error in 'css--hex-to-rgb'
Simen Heggestøyl [Sun, 28 Jan 2018 12:03:05 +0000 (13:03 +0100)]
Fix off-by-one error in 'css--hex-to-rgb'

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

* test/lisp/textmodes/css-mode-tests.el (css-test-hex-to-rgb): Add
regression tests for the above fix.

6 years agoCode refactoring assoc-delete-all assq-delete-all
tino calancha [Sun, 28 Jan 2018 04:05:54 +0000 (13:05 +0900)]
Code refactoring assoc-delete-all assq-delete-all

* lisp/subr.el (assoc-delete-all): Add optional arg TEST.
(assq-delete-all): Use assoc-delete-all.

* test/lisp/subr-tests.el (subr-tests--assoc-delete-all)
(subr-tests--assq-delete-all): New tests.

* doc/lispref/lists.texi (Association Lists): Document
assoc-delete-all in the manual.

; * etc/NEWS: Announce assoc-delete-all.

6 years agoFix indentation bug with multi-line CSS values
Simen Heggestøyl [Sat, 27 Jan 2018 17:03:49 +0000 (18:03 +0100)]
Fix indentation bug with multi-line CSS values

* lisp/textmodes/css-mode.el (css-smie-rules): Fix indentation of
multi-line CSS values that are separated by spaces.

* test/manual/indent/css-mode.css: Add a test case for the fix.

6 years agoAllow configure to find Homebrew installed imagemagick
Alan Third [Tue, 9 Jan 2018 23:47:56 +0000 (23:47 +0000)]
Allow configure to find Homebrew installed imagemagick

* configure.ac: Add the imagemagick pkgconfig dir to pkg-config's
search path.

6 years agoIn bindings.el fix check whether mode line can be dragged
Martin Rudalics [Sat, 27 Jan 2018 07:29:18 +0000 (08:29 +0100)]
In bindings.el fix check whether mode line can be dragged

* lisp/bindings.el (mode-line-default-help-echo): Use check
whether mode line can be dragged from 'mouse-drag-mode-line'.

6 years agoWorkaround a libotf crash with Kannada font (bug#30193)
Glenn Morris [Sat, 27 Jan 2018 03:53:20 +0000 (19:53 -0800)]
Workaround a libotf crash with Kannada font (bug#30193)

* configure.ac (HAVE_OTF_KANNADA_BUG): New define.
* src/xfaces.c (syms_of_xfaces) <Vface_ignored_fonts>:
Add problematic Kannada font if necessary.

6 years ago; * test/lisp/textmodes/fill-tests.el: Fix copyright years.
Glenn Morris [Sat, 27 Jan 2018 03:18:23 +0000 (19:18 -0800)]
; * test/lisp/textmodes/fill-tests.el: Fix copyright years.

6 years agoBring emacs-buffer.gdb up to date with recent lisp.h changes.
Noah Friedman [Sat, 27 Jan 2018 02:52:19 +0000 (18:52 -0800)]
Bring emacs-buffer.gdb up to date with recent lisp.h changes.

6 years agoRaise limit of regexp repetition (Bug#24914)
Noam Postavsky [Mon, 11 Dec 2017 23:53:34 +0000 (18:53 -0500)]
Raise limit of regexp repetition (Bug#24914)

* src/regex.h (RE_DUP_MAX): Raise limit to 2^16-1.
* etc/NEWS: Announce it.
* doc/lispref/searching.texi (Regexp Backslash): Document it.
* test/src/regex-tests.el (regex-repeat-limit): Test it.

* src/regex.h (reg_errcode_t): Add REG_ESIZEBR code.
* src/regex.c (re_error_msgid): Add corresponding entry.
(GET_INTERVAL_COUNT): Return it instead of the more generic REG_EBADBR
when encountering a repetition greater than RE_DUP_MAX.

* lisp/isearch.el (isearch-search): Don't convert errors starting with
"Invalid" into "incomplete".  Such errors are not incomplete, in the
sense that they cannot be corrected by appending more characters to
the end of the regexp.  The affected error messages are:

- REG_BADPAT "Invalid regular expression"
  - \\(?X:\\) where X is not a legal group number
  - \\_X where X is not < or >

- REG_ECOLLATE "Invalid collation character"
  - There is no code to throw this.

- REG_ECTYPE "Invalid character class name"
  - [[:foo:] where foo is not a valid class name

- REG_ESUBREG "Invalid back reference"
  - \N where N is referenced before matching group N

- REG_BADBR "Invalid content of \\{\\}"
  - \\{N,M\\} where N < 0, M < N, M or N larger than max
  - \\{NX where X is not a digit or backslash
  - \\{N\\X where X is not a }

- REG_ERANGE "Invalid range end"
  - There is no code to throw this.

- REG_BADRPT "Invalid preceding regular expression"
  - We never throw this.  It would usually indicate a "*" with no
    preceding regexp text, but Emacs allows that to match a literal
    "*".

6 years agoMerge from emacs-26
Noam Postavsky [Sat, 27 Jan 2018 01:45:38 +0000 (20:45 -0500)]
Merge from emacs-26

463f96b481 * doc/lispref/searching.texi: Document regexp repetition l...
08a6195571 ; test/README: Document TEST_LOAD_EL parameter.
7bbea90b1a * src/syntax.c (char-syntax): Warn about ignoring text pro...
50fcbb5f61 ; * src/process.c (Fprocess_contact): Fix docstring typo.
81ae9c8c05 Load mm-util as needed for url-file and url-data (Bug#30258)
5a1ee67ae1 Another minor copyedit in the manual's "Scroll Bars"
226a651e9e Minor fix in documentation of 'equal'
b26786c8d9 * lisp/dired-x.el (dired-guess-shell-alist-user): Doc fix....
5699a824f0 Minor rewording in Emacs manual's "Help Mode" node
f35ff0156e Fixes for Emacs manual in frames.texi
6cd4e8dcc5 * doc/misc/cl.texi (Efficiency Concerns): Fix 2012-10-27 t...
1412cf3edd Fix a few issues with latest GTK scaling changes
59db8dca03 Use scaled coordinates when calling into GTK
2892f05792 Scale monitor dimensions obtained from GTK

6 years ago* doc/lispref/searching.texi: Document regexp repetition limit.
Noam Postavsky [Mon, 11 Dec 2017 23:52:52 +0000 (18:52 -0500)]
* doc/lispref/searching.texi: Document regexp repetition limit.

6 years ago; test/README: Document TEST_LOAD_EL parameter.
Noam Postavsky [Thu, 4 Jan 2018 00:14:05 +0000 (19:14 -0500)]
; test/README: Document TEST_LOAD_EL parameter.

6 years ago* src/syntax.c (char-syntax): Warn about ignoring text properties (Bug#22765).
Noam Postavsky [Thu, 6 Apr 2017 00:16:30 +0000 (20:16 -0400)]
* src/syntax.c (char-syntax): Warn about ignoring text properties (Bug#22765).

6 years ago; * src/process.c (Fprocess_contact): Fix docstring typo.
Noam Postavsky [Thu, 14 Dec 2017 12:46:51 +0000 (07:46 -0500)]
; * src/process.c (Fprocess_contact): Fix docstring typo.

6 years agoLoad mm-util as needed for url-file and url-data (Bug#30258)
Noam Postavsky [Fri, 26 Jan 2018 14:04:47 +0000 (09:04 -0500)]
Load mm-util as needed for url-file and url-data (Bug#30258)

* lisp/url/url-file.el (url-file):
* lisp/url/url-misc.el (url-data): Require `mm-util' before calling
`mm-disable-multibyte'.
* test/lisp/url/url-file-resources/file.txt:
* test/lisp/url/url-file-tests.el:
* test/lisp/url/url-misc-tests.el: New tests.

6 years ago* lisp/emacs-lisp/cl-preloaded.el: Update cl-slot-descriptor name.
Stefan Monnier [Fri, 26 Jan 2018 21:37:29 +0000 (16:37 -0500)]
* lisp/emacs-lisp/cl-preloaded.el: Update cl-slot-descriptor name.

6 years agoFix a typo in rmail.el
Francesco Potortì [Fri, 26 Jan 2018 14:11:33 +0000 (16:11 +0200)]
Fix a typo in rmail.el

* lisp/mail/rmail.el (rmail-simplified-subject): Fix a typo in the
regexp.  (Bug#29659)

6 years agoAnother minor copyedit in the manual's "Scroll Bars"
Eli Zaretskii [Fri, 26 Jan 2018 13:48:30 +0000 (15:48 +0200)]
Another minor copyedit in the manual's "Scroll Bars"

* doc/emacs/frames.texi (Scroll Bars): Mention that up/down and
left/right buttons may be absent from the toolkit scroll bars.
Reported by Robert Pluim <rpluim@gmail.com> in
emacs-manual-bugs@gnu.org.

6 years agoMinor fix in documentation of 'equal'
Eli Zaretskii [Fri, 26 Jan 2018 10:38:07 +0000 (12:38 +0200)]
Minor fix in documentation of 'equal'

* doc/lispref/objects.texi (Equality Predicates): Correct the
conditions for equality of unibyte and multibyte strings.
(Bug#30218)

6 years agoMinor fix for "M-x pdb"
Eli Zaretskii [Fri, 26 Jan 2018 10:18:25 +0000 (12:18 +0200)]
Minor fix for "M-x pdb"

* lisp/progmodes/gud.el (gud-pdb-marker-regexp): Add @ and SPC to
the regexp.  (Bug#30208)

6 years agoFix emacs-module-tests to work out of build tree
Andy Moreton [Fri, 26 Jan 2018 10:09:42 +0000 (12:09 +0200)]
Fix emacs-module-tests to work out of build tree

* test/Makefile.in (test_module_dir): Build the test module library in
a subdirectory of the build directory (not the source tree).
(MODULE_CFLAGS): Fix location of emacs-module.h header file.
(test_module): Move built library out of the source tree.
* test/src/emacs-module-tests.el (mod-test-file): Locate the test module
library relative to the running Emacs executable.

6 years ago* lisp/dired-x.el (dired-guess-shell-alist-user): Doc fix. (Bug#30192)
Eli Zaretskii [Fri, 26 Jan 2018 09:51:50 +0000 (11:51 +0200)]
* lisp/dired-x.el (dired-guess-shell-alist-user): Doc fix.  (Bug#30192)

6 years agoMinor rewording in Emacs manual's "Help Mode" node
Eli Zaretskii [Fri, 26 Jan 2018 09:43:05 +0000 (11:43 +0200)]
Minor rewording in Emacs manual's "Help Mode" node

* doc/emacs/help.texi (Help Mode): Minor rewording of description
of 'help-follow-symbol'.  Suggested by Richard Stallman
<rms@gnu.org> in emacs-manual-bugs@gnu.org.

6 years agoFixes for Emacs manual in frames.texi
Eli Zaretskii [Fri, 26 Jan 2018 09:25:24 +0000 (11:25 +0200)]
Fixes for Emacs manual in frames.texi

* doc/emacs/frames.texi (Scroll Bars, Mouse Commands)
(Window Dividers): Minor clarifications and spelling/markup
changes.  Suggested by Robert Pluim <rpluim@gmail.com> in
emacs-manual-bugs@gnu.org.

6 years ago* lisp/emacs-lisp/gv.el (char-table-range): Add gv-setter.
Stefan Monnier [Fri, 26 Jan 2018 00:20:49 +0000 (19:20 -0500)]
* lisp/emacs-lisp/gv.el (char-table-range): Add gv-setter.

6 years ago* lisp/arc-mode.el (archive-extract): Let-bind `create-lockfiles' to nil
Juri Linkov [Thu, 25 Jan 2018 21:40:52 +0000 (23:40 +0200)]
* lisp/arc-mode.el (archive-extract): Let-bind `create-lockfiles' to nil

to prevent directory time modification by lock_file on visiting
a file from archive.  (Bug#30215)
(archive-summarize): Let-bind `create-lockfiles' to nil
instead of `buffer-file-truename'.

6 years agoReplace (default-value 'enable-multibyte-characters) with t
Stefan Monnier [Thu, 25 Jan 2018 18:35:13 +0000 (13:35 -0500)]
Replace (default-value 'enable-multibyte-characters) with t

Since Emacs-24, (default-value 'enable-multibyte-characters) can't be
changed any more, so we can remove all code which checks this value.

* lisp/x-dnd.el (x-dnd-handle-file-name):
* lisp/w32-fns.el (w32-set-default-process-coding-system):
* lisp/textmodes/ispell.el (ispell-send-string):
* lisp/term/internal.el (dos-codepage-setup):
* lisp/tar-mode.el (tar-header-block-tokenize, tar--extract):
* lisp/startup.el (command-line):
* lisp/server.el (server-process-filter):
* lisp/net/browse-url.el (browse-url-file-url):
* lisp/menu-bar.el (menu-bar-options-menu, menu-bar-describe-menu):
* lisp/mail/sendmail.el (mail-setup):
* lisp/mail/rmail.el (rmail-mode, rmail-get-new-mail):
* lisp/mail/rfc2047.el (rfc2047-encode-message-header):
* lisp/mail/emacsbug.el (report-emacs-bug):
* lisp/international/mule-diag.el (mule-diag):
* lisp/files.el (find-file-noselect-1):
* lisp/dos-fns.el (dos-set-default-process-coding-system):
* lisp/arc-mode.el (archive-mode):
* lisp/international/mule-cmds.el (mule-menu-keymap)
(set-default-coding-systems, set-language-info)
(set-language-environment, standard-display-european-internal)
(set-locale-environment): Simplify code.

6 years ago* lisp/simple.el (shell-command-to-string):
Michael Albinus [Thu, 25 Jan 2018 14:29:38 +0000 (15:29 +0100)]
* lisp/simple.el (shell-command-to-string):

Call `shell-command' in order to respect file name handlers.

6 years ago* lisp/net/trampver.el: Simplify version check.
Michael Albinus [Thu, 25 Jan 2018 11:44:29 +0000 (12:44 +0100)]
* lisp/net/trampver.el: Simplify version check.

6 years ago* doc/misc/cl.texi (Efficiency Concerns): Fix 2012-10-27 typo.
Glenn Morris [Wed, 24 Jan 2018 22:20:41 +0000 (17:20 -0500)]
* doc/misc/cl.texi (Efficiency Concerns): Fix 2012-10-27 typo.

6 years ago* lisp/dired.el (dired-internal-do-deletions): Remove nreverse
Juri Linkov [Wed, 24 Jan 2018 21:44:09 +0000 (23:44 +0200)]
* lisp/dired.el (dired-internal-do-deletions): Remove nreverse

to compensate the changes that added nreverse to dired-do-delete
and dired-do-flagged-delete in 9ecbdee (bug#30162)

6 years ago* lisp/net/tramp.el: Require trampver here instead of...
Stefan Monnier [Wed, 24 Jan 2018 19:49:39 +0000 (14:49 -0500)]
* lisp/net/tramp.el: Require trampver here instead of...

* lisp/net/tramp-compat.el: ... there.

6 years ago* admin/automerge: Disable rebasing.
Glenn Morris [Wed, 24 Jan 2018 19:44:39 +0000 (14:44 -0500)]
* admin/automerge: Disable rebasing.

6 years agoFix a few issues with latest GTK scaling changes
Robert Pluim [Wed, 24 Jan 2018 19:08:35 +0000 (20:08 +0100)]
Fix a few issues with latest GTK scaling changes

* src/xfns.c (Fx_display_monitor_attributes_list): Call
gdk_screen_get_monitor_scale_factor only for GTK versions
3.10..3.21.
* src/xterm.c (x_set_offset): Call xg_get_scale for GTK only.

6 years agoMerge branch 'fix/bug-20871-cur'
Marcin Borkowski [Wed, 24 Jan 2018 09:32:40 +0000 (10:32 +0100)]
Merge branch 'fix/bug-20871-cur'

6 years agoUse scaled coordinates when calling into GTK
Robert Pluim [Wed, 24 Jan 2018 07:55:34 +0000 (08:55 +0100)]
Use scaled coordinates when calling into GTK

This is part two of a two part fix for the GTK scaling
problems.  See the thread starting at
http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00372.html
for an explanation of why it has been added to Emacs 26.

* src/gtkutil.c (xg_set_geometry): Scale down the coordinates that we
pass to gtk_window_move and to gtk_window_parse_geometry.
* src/xterm.c (x_set_offset): Likewise.

6 years agoScale monitor dimensions obtained from GTK
Robert Pluim [Wed, 24 Jan 2018 07:53:59 +0000 (08:53 +0100)]
Scale monitor dimensions obtained from GTK

This is part one of a two part fix for the GTK scaling
problems.  See the thread starting at
http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00372.html
for an explanation of why it has been added to Emacs 26.

* src/xfns.c (Fx_display_monitor_attributes_list): Take scaling factor
into account when using GTK to query the monitor dimensions, which
allows frameset-restore to position frames correctly.

6 years agoAvoid kill-emacs-hook errors hanging batch mode
Glenn Morris [Wed, 24 Jan 2018 01:55:09 +0000 (20:55 -0500)]
Avoid kill-emacs-hook errors hanging batch mode

* src/emacs.c (Fkill_emacs): Prevent errors from kill-emacs-hook
hanging Emacs in batch mode.  (Bug#29955)

6 years agoAdd unit test for Bug#30005.
Philipp Stephani [Tue, 23 Jan 2018 22:39:18 +0000 (23:39 +0100)]
Add unit test for Bug#30005.

* test/src/callint-tests.el (call-interactively/embedded-nulls): New
unit test.

6 years agoRemove final uses of 'cl' in lisp/net
Stefan Monnier [Tue, 23 Jan 2018 19:42:43 +0000 (14:42 -0500)]
Remove final uses of 'cl' in lisp/net

* lisp/net/pop3.el: Use lexical-binding and cl-lib.
(pop3-write-to-file): Remove unused var 'start'.
(pop3-make-date): Remove unused var 'sign'.

* lisp/net/rfc2104.el: Use lexical-binding and cl-lib.

* lisp/net/shr-color.el: Use lexical-binding and cl-lib.

* lisp/net/sieve-manage.el: Use lexical-binding and cl-lib.

6 years ago* lisp/net/imap.el: Use lexical-binding and cl-lib
Stefan Monnier [Tue, 23 Jan 2018 19:13:50 +0000 (14:13 -0500)]
* lisp/net/imap.el: Use lexical-binding and cl-lib

Require packages instead of autoloading their functions.
(imap-send-command): Remove unused vars 'stream' and 'eol'.
(imap-parse-response): Use pcase.
(imap-parse-fetch): Remove unused arg 'response'.

* lisp/format-spec.el: Don't require CL.

6 years ago* lisp/gnus/message.el: Tweak header font-lock and ecomplete completion
Stefan Monnier [Tue, 23 Jan 2018 18:55:35 +0000 (13:55 -0500)]
* lisp/gnus/message.el: Tweak header font-lock and ecomplete completion

(message-font-lock-make-header-matcher): Delete.
(message-match-to-eoh): New function to replace it.
(message-font-lock-keywords): Use it.
(message-strip-forbidden-properties): Remove redundant binding.
(message-goto-body): Avoid called-interactively-p, only use
push-mark when called interactively.
(message-goto-body-1): Merge into message-goto-body.  Redefine as alias.
(message-goto-eoh): Call message-goto-body interactively.
(message--in-tocc-p): New function, extracted from message-display-abbrev.
(message-ecomplete-capf): New function.

6 years ago* lisp/ecomplete.el: Add completion-table; use lexical-binding and cl-lib
Stefan Monnier [Tue, 23 Jan 2018 17:14:48 +0000 (12:14 -0500)]
* lisp/ecomplete.el: Add completion-table; use lexical-binding and cl-lib

Also remove redundant :group args.
(ecomplete-database-file): Use locate-user-emacs-file.
(ecomplete-completion-table): New completion table.
(completion-category-defaults): Set default behavior for that table.

6 years agoSupport null characters in interactive specs
Eli Zaretskii [Tue, 23 Jan 2018 15:48:08 +0000 (17:48 +0200)]
Support null characters in interactive specs

* src/callint.c (Fcall_interactively): Support 'interactive'
specifications with embedded null characters.  (Bug#30005)

6 years ago* lisp/emacs-lisp/ert.el (describe-symbol-backends): Add ourselves
Stefan Monnier [Tue, 23 Jan 2018 03:00:55 +0000 (22:00 -0500)]
* lisp/emacs-lisp/ert.el (describe-symbol-backends): Add ourselves

(ert-describe-test): Return the description text as well.
Remove left over version check.
* lisp/help-mode.el (describe-symbol-backends): Add docstring.

6 years agoAdd a regression test for Bug#30004.
Philipp Stephani [Mon, 22 Jan 2018 22:56:21 +0000 (23:56 +0100)]
Add a regression test for Bug#30004.

* test/src/callint-tests.el
(call-interactively/incomplete-multibyte-sequence): New unit test.

6 years ago* src/nsterm.m (x_set_offset): Remove unused variable 'screens'.
Philipp Stephani [Mon, 22 Jan 2018 22:27:21 +0000 (23:27 +0100)]
* src/nsterm.m (x_set_offset): Remove unused variable 'screens'.

6 years agoRestore isearch correctly after M-e in special modes (bug#30187)
Juri Linkov [Mon, 22 Jan 2018 22:14:10 +0000 (00:14 +0200)]
Restore isearch correctly after M-e in special modes (bug#30187)

* lisp/isearch.el (isearch-suspended): New defvar.
(with-isearch-suspended): Set isearch-suspended to t
at the beginning, then set it back to nil at the end.

* lisp/comint.el (comint-history-isearch-backward)
(comint-history-isearch-backward-regexp): Set global value of
comint-history-isearch to t.
(comint-history-isearch-end): Reevaluate
comint-history-isearch when isearch-edit-string finishes.

* lisp/dired-aux.el (dired-isearch-filenames)
(dired-isearch-filenames-regexp): Set global value of
dired-isearch-filenames to t.
(dired-isearch-filenames-end): Reevaluate
dired-isearch-filenames when isearch-edit-string finishes.

6 years ago; Spelling fix
Paul Eggert [Mon, 22 Jan 2018 16:49:43 +0000 (08:49 -0800)]
; Spelling fix

6 years agoMerge from origin/emacs-26
Paul Eggert [Mon, 22 Jan 2018 16:43:54 +0000 (08:43 -0800)]
Merge from origin/emacs-26

1fc98ed073 ; Spelling fix
bb396a369c Update Org to v9.1.6
fa582153f7 Use text-pixels values only when saving framesets (Bug#30141)
6b01b9475d Minor improvement in section "Pages" of the usere manual
e8c8bd3de2 Minor improvements in user manual
26b8b92e63 Improve the "Mark" chapter of the user manual
759569fe40 Improve the "Buffers" chapter of the user manual
c2e6d121ff * lisp/term.el (term-send-input): Fix text duplication in ...
854a1c0a61 Improve "Buffers" in the user manual

# Conflicts:
# etc/NEWS

6 years ago; Spelling fix
Paul Eggert [Mon, 22 Jan 2018 16:41:49 +0000 (08:41 -0800)]
; Spelling fix

6 years agoUpdate Org to v9.1.6
Rasmus [Mon, 22 Jan 2018 14:57:42 +0000 (15:57 +0100)]
Update Org to v9.1.6

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

6 years agoFix byte-compiler warning in tramp-sh.el
Michael Albinus [Mon, 22 Jan 2018 14:07:56 +0000 (15:07 +0100)]
Fix byte-compiler warning in tramp-sh.el

* lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
Use `set-process-coding-system' rather than interactive
`set-buffer-process-coding-system'.

* lisp/net/tramp.el (tramp-default-user-alist)
(tramp-default-host-alist): Fix docstring.

6 years agoUse text-pixels values only when saving framesets (Bug#30141)
Aaron Jensen [Mon, 22 Jan 2018 09:52:32 +0000 (10:52 +0100)]
Use text-pixels values only when saving framesets (Bug#30141)

* lisp/frameset.el (frameset-persistent-filter-alist): Specify
that text-pixels values are by default only saved by framesets
so the parameter is not set when restoring (Bug#30141).

6 years agoFinish changes in autorevert from commit 530bb2dc68
Michael Albinus [Mon, 22 Jan 2018 08:12:16 +0000 (09:12 +0100)]
Finish changes in autorevert from commit 530bb2dc68

* lisp/autorevert.el (auto-revert-buffers):
Check `auto-revert-timer' being a timerp.

* test/lisp/filenotify-tests.el (file-notify-test04-autorevert):
Adapt test in order to cover changed behavior of autorevert.

6 years ago* lisp/vc/add-log.el (change-log-next-buffer): Check file for nil.
Juri Linkov [Sun, 21 Jan 2018 21:48:32 +0000 (23:48 +0200)]
* lisp/vc/add-log.el (change-log-next-buffer): Check file for nil.

6 years agoNew function read-answer (bug#30073)
Juri Linkov [Sun, 21 Jan 2018 21:45:43 +0000 (23:45 +0200)]
New function read-answer (bug#30073)

* lisp/emacs-lisp/map-ynp.el (read-answer): New function.
(read-answer-short): New defcustom.

* lisp/dired.el (dired-delete-file): Use read-answer.
(dired--yes-no-all-quit-help): Remove function.
(dired-delete-help): Remove defconst.

* lisp/subr.el (assoc-delete-all): New function.

6 years ago(archive-rar-summarize): Adjust parsing to be more permissive
Lars Ingebrigtsen [Sun, 21 Jan 2018 20:41:36 +0000 (21:41 +0100)]
(archive-rar-summarize): Adjust parsing to be more permissive

* lisp/arc-mode.el (archive-rar-summarize): Adjust parsing to
be more permissive.

The previous code would stop parsing if we had a directory entry or a
negative ratio as seen from the output of lsar on Debian jessie:

  0. D----    16221659  -----  Nr20  2005-12-24 19:30  foo/
  4. -----      466509  -0.0%  Nr20  2005-12-24 19:19  foo/bar.jpg

6 years agoHandle C99 Compound Literals in return statements and argument lists.
Alan Mackenzie [Sun, 21 Jan 2018 18:29:26 +0000 (18:29 +0000)]
Handle C99 Compound Literals in return statements and argument lists.

* lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Recognize
a brace list when preceded by "return" or inside parentheses, either
immediately after the "(" or following a comma.
(c-looking-at-inexpr-block): Test c-has-compound-literals rather than hard
coded C++ Mode.
(c-guess-basic-syntax, CASE 7B): Test additionally for not being just inside a
parenthesis or being at a Java "new" keyword.  CASE 9: Remove the simple
minded test on the contents of a block to determine a brace list.

* lisp/progmodes/cc-langs.el (c-has-compound-literals): New lang const and lang var.

6 years agoMinor improvement in section "Pages" of the usere manual
Eli Zaretskii [Sun, 21 Jan 2018 17:55:46 +0000 (19:55 +0200)]
Minor improvement in section "Pages" of the usere manual

* doc/emacs/text.texi (Pages): Improve wording.  Suggested by Will
Korteland <emacs-devel@korte.land> in emacs-manual-bugs@gnu.org.

6 years agoMinor improvements in user manual
Eli Zaretskii [Sun, 21 Jan 2018 17:45:14 +0000 (19:45 +0200)]
Minor improvements in user manual

* doc/emacs/trouble.texi (Emergency Escape, Contributing): Clarify
text.  Suggested by Jonathan Kyle Mitchell <kyle@jonathanmitchell.org>
in emacs-manual-bugs@gnu.org

6 years agoImprove the "Mark" chapter of the user manual
Eli Zaretskii [Sun, 21 Jan 2018 17:36:57 +0000 (19:36 +0200)]
Improve the "Mark" chapter of the user manual

* doc/emacs/mark.texi (Setting Mark, Marking Objects): Improve and
clarify wording.  Suggested by John Cummings <john@rootabega.net>
in emacs-manual-bugs@gnu.org.

6 years agoImprove the "Buffers" chapter of the user manual
Eli Zaretskii [Sun, 21 Jan 2018 17:27:37 +0000 (19:27 +0200)]
Improve the "Buffers" chapter of the user manual

* doc/emacs/buffers.texi (Several Buffers): Correct description of
prefix arguments.  Clarify "bury".
(Buffer Menus): Clarify wording.  Reported by John Cummings
<john@rootabega.net> in emacs-manual-bugs@gnu.org.

6 years agoParse percent values in CSS alpha components
Simen Heggestøyl [Sat, 13 Jan 2018 08:41:47 +0000 (09:41 +0100)]
Parse percent values in CSS alpha components

* lisp/textmodes/css-mode.el (css--rgb-color): Support parsing percent
values in the alpha component.

* test/lisp/textmodes/css-mode-tests.el
(css-test-rgb-to-named-color-or-hex, css-test-rgb-parser): Update for
the above changes.

6 years ago* lisp/term.el (term-send-input): Fix text duplication in docstring
tino calancha [Sun, 21 Jan 2018 04:34:55 +0000 (13:34 +0900)]
* lisp/term.el (term-send-input): Fix text duplication in docstring

6 years agoFix tempfile creation when byte compiling
Paul Eggert [Sun, 21 Jan 2018 03:12:05 +0000 (19:12 -0800)]
Fix tempfile creation when byte compiling

This improves on the recent fix for master failing to build
on FreeBSD.  Suggested by Stefan Monnier in:
https://lists.gnu.org/r/emacs-devel/2018-01/msg00600.html
* lisp/emacs-lisp/bytecomp.el (byte-compile-file):
Put tempfile next to the target file, as was the original intent.

6 years agoExtend tramp-test02-file-name-dissect* tests
Michael Albinus [Sat, 20 Jan 2018 23:14:33 +0000 (00:14 +0100)]
Extend tramp-test02-file-name-dissect* tests

* test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect)
(tramp-test02-file-name-dissect-simplified)
(tramp-test02-file-name-dissect-separate): Test also
`tramp-default-method-alist', `tramp-default-user-alist' and
`tramp-default-host-alist'.

6 years agoImprove "Buffers" in the user manual
Eli Zaretskii [Sat, 20 Jan 2018 19:37:30 +0000 (21:37 +0200)]
Improve "Buffers" in the user manual

Suggested by John Cummings <john@rootabega.net> in
emacs-manual-bugs@gnu.org:
* doc/emacs/buffers.texi (Select Buffer): Add cross-references to
"Windows" and "Frames".
(Misc Buffer, Kill Buffer): Use BUFFER consistently in commands
that accept buffer names.
(Select Buffer): Improve description of "M-g M-g".  Improve
wording.
(Misc Buffer, Kill Buffer): Improve wording.
(Kill Buffer): Fix the response required by kill-some-buffers.
Mention customizable options that control what clean-buffer-list
does.
(Several Buffers): More detail about
'Buffer-menu-unmark-all-buffers'.

6 years ago* lisp/ielm.el: Bring up the debugger when requested
Jarosław Rzeszótko [Sat, 20 Jan 2018 17:51:06 +0000 (12:51 -0500)]
* lisp/ielm.el: Bring up the debugger when requested

Copyright-paperwork-exempt: yes

(ielm-eval-input): Don't catch errors during evaluation
of the expression if debug-on-error is set.

6 years agoMerge from origin/emacs-26
Glenn Morris [Sat, 20 Jan 2018 16:23:30 +0000 (08:23 -0800)]
Merge from origin/emacs-26

cfc94fd (origin/emacs-26) Don't mention 'vc-stay-local' in the user m...
8ce430b Fix a typo in calendar.texi
bb748b3 Minor improvement in wording of the Emacs manual
b603aff Revert "Fix tempfile creation when byte compiling"
4fd446e Fix tempfile creation when byte compiling
7f48a11 Improve the Emacs manual as suggested in emacs-manual-bugs
728ded0 * lisp/emacs-lisp/bytecomp.el: Tweak last change
c6c05e2 Unbreak building Emacs on FreeBSD
a41ad3d Don't unnecessarily use non-ASCII characters in C sources
c28d4b6 Portability fixes in emacs-module-tests
1d50c18 Add tests for term.el

6 years ago; Merge from origin/emacs-26
Glenn Morris [Sat, 20 Jan 2018 16:23:30 +0000 (08:23 -0800)]
; Merge from origin/emacs-26

The following commit was skipped:

5472568 Handle split AnSiT messages for term.el (Bug#17231)

6 years agoMerge from origin/emacs-26
Glenn Morris [Sat, 20 Jan 2018 16:23:30 +0000 (08:23 -0800)]
Merge from origin/emacs-26

297dc41 * configure.ac (emacs_config_features): Add threads.

Conflicts:
configure.ac

6 years agoUse file notification in autorevert also for recreated files
Michael Albinus [Sat, 20 Jan 2018 15:26:02 +0000 (16:26 +0100)]
Use file notification in autorevert also for recreated files

* lisp/autorevert.el (auto-revert-mode)
(global-auto-revert-mode, auto-revert-notify-add-watch)
(auto-revert-notify-handler, auto-revert-handler): Do not use
buffer local `auto-revert-use-notify' anymore.

* test/lisp/autorevert-tests.el
(auto-revert-test02-auto-revert-deleted-file): Adapt test in
order to check, that file notification is reenabled when possible.

6 years agoDon't mention 'vc-stay-local' in the user manual
Eli Zaretskii [Sat, 20 Jan 2018 12:44:01 +0000 (14:44 +0200)]
Don't mention 'vc-stay-local' in the user manual

* doc/emacs/vc1-xtra.texi (CVS Options):
* doc/emacs/maintaining.texi (VC Directory Buffer): Remove
references to 'vc-stay-local', which no longer exists.
(Bug#30138)

6 years ago* doc/misc/tramp.texi: Highlight @cindex entries properly.
Michael Albinus [Sat, 20 Jan 2018 12:30:20 +0000 (13:30 +0100)]
* doc/misc/tramp.texi: Highlight @cindex entries properly.

6 years agoImprove and simplify 'map-y-or-n-p'
Basil L. Contovounesios [Sat, 20 Jan 2018 12:23:08 +0000 (14:23 +0200)]
Improve and simplify 'map-y-or-n-p'

* lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Do not follow a
definite article with an action verb in C-h help text.  Use
'with-help-window' instead of 'with-output-to-temp-buffer'.
Simplify string concatenation.  (Bug#30064)

6 years agoUse map-y-or-n-p in bibtex.el
Basil L. Contovounesios [Sat, 20 Jan 2018 12:19:34 +0000 (14:19 +0200)]
Use map-y-or-n-p in bibtex.el

* lisp/textmodes/bibtex.el (bibtex-reformat): Use map-y-or-n-p.
(Bug#30065)

6 years agoReverse bibtex-reference-keys in 'bibtex-parse-keys'
Basil L. Contovounesios [Sat, 20 Jan 2018 12:11:55 +0000 (14:11 +0200)]
Reverse bibtex-reference-keys in 'bibtex-parse-keys'

* lisp/textmodes/bibtex.el (bibtex-parse-keys): Reverse
bibtex-reference-keys.  (Bug#30048)

6 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Sat, 20 Jan 2018 09:18:31 +0000 (11:18 +0200)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

6 years agoFix a typo in calendar.texi
Eli Zaretskii [Sat, 20 Jan 2018 08:56:15 +0000 (10:56 +0200)]
Fix a typo in calendar.texi

* doc/emacs/calendar.texi (Writing Calendar Files): Capitalize
"Filofax".  Reported by Will Korteland <emacs-devel@korte.land>
in emacs-manual-bugs@gnu.org.

6 years agoMinor improvement in wording of the Emacs manual
Eli Zaretskii [Sat, 20 Jan 2018 08:52:06 +0000 (10:52 +0200)]
Minor improvement in wording of the Emacs manual

* doc/emacs/killing.texi (CUA Bindings): Improve wording.
Suggested by Will Korteland <emacs-devel@korte.land> in
emacs-manual-bugs@gnu.org.

6 years agoRevert "Fix tempfile creation when byte compiling"
Eli Zaretskii [Sat, 20 Jan 2018 07:48:22 +0000 (09:48 +0200)]
Revert "Fix tempfile creation when byte compiling"

This reverts commit 4fd446e9f65e5531b18d4a0c5e08a6eeabc292d8:
* lisp/emacs-lisp/bytecomp.el (byte-compile-file):
Put tempfile next to the target file, as was the original intent.

6 years agoFix tempfile creation when byte compiling
Paul Eggert [Fri, 19 Jan 2018 22:37:31 +0000 (14:37 -0800)]
Fix tempfile creation when byte compiling

This improves on the recent fix for master failing to build
on FreeBSD.  Suggested by Stefan Monnier in:
https://lists.gnu.org/r/emacs-devel/2018-01/msg00600.html
* lisp/emacs-lisp/bytecomp.el (byte-compile-file):
Put tempfile next to the target file, as was the original intent.

6 years agoImprove the Emacs manual as suggested in emacs-manual-bugs
Eli Zaretskii [Fri, 19 Jan 2018 19:18:03 +0000 (21:18 +0200)]
Improve the Emacs manual as suggested in emacs-manual-bugs

* doc/emacs/killing.texi (Deletion and Killing): Add
cross-reference to "Kill Ring".
* doc/emacs/help.texi (Help Mode, Package Keywords): Improve
wording.  Suggested by Will Korteland <emacs-devel@korte.land> in
emacs-manual-bugs@gnu.org.

6 years agoAdd new entry in tramp-smb-errors
Michael Albinus [Fri, 19 Jan 2018 16:55:10 +0000 (17:55 +0100)]
Add new entry in tramp-smb-errors

* lisp/net/tramp-smb.el (tramp-smb-errors):
Add "NT_STATUS_RESOURCE_NAME_NOT_FOUND".

6 years ago* lisp/emacs-lisp/bytecomp.el: Tweak last change
Stefan Monnier [Fri, 19 Jan 2018 16:29:13 +0000 (11:29 -0500)]
* lisp/emacs-lisp/bytecomp.el: Tweak last change

(byte-compile-file): Move comment closer to the code it describes.

6 years agoUnbreak building Emacs on FreeBSD
Eli Zaretskii [Fri, 19 Jan 2018 15:31:54 +0000 (17:31 +0200)]
Unbreak building Emacs on FreeBSD

* lisp/emacs-lisp/bytecomp.el (byte-compile-file): Don't create
the temporary file under temporary-file-directory if the file
being compiled is specified by an absolute file name.  This avoids
problems with ACL copying from temporary-file-directory on
FreeBSD.  For the details, see
http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00513.html.

6 years agoFix posn-at-point in Flycheck buffers
Eli Zaretskii [Fri, 19 Jan 2018 14:18:41 +0000 (16:18 +0200)]
Fix posn-at-point in Flycheck buffers

* src/dispnew.c (buffer_posn_from_coords): Improve commentary.

* src/xdisp.c (move_it_in_display_line_to): Don't exit the loop
under truncate-lines if the glyph at TO_CHARPOS was not yet
produced.  This avoids bailing out too early when we are at
TO_CHARPOS, but didn't yet produce glyphs for that buffer
position, because the last call to PRODUCE_GLYPHS at this position
was for an object other than the buffer.  For further details, see
http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00537.html.

6 years agoetags(1): fix formatting problem
Reuben Thomas [Fri, 19 Jan 2018 14:18:09 +0000 (14:18 +0000)]
etags(1): fix formatting problem

* doc/man/etags.1: Remove spurious space.

6 years ago* test/lisp/filenotify-tests.el (file-notify-test03-events): Cleanup subtests.
Michael Albinus [Fri, 19 Jan 2018 13:59:48 +0000 (14:59 +0100)]
* test/lisp/filenotify-tests.el (file-notify-test03-events): Cleanup subtests.

6 years agoDon't unnecessarily use non-ASCII characters in C sources
Eli Zaretskii [Fri, 19 Jan 2018 09:54:44 +0000 (11:54 +0200)]
Don't unnecessarily use non-ASCII characters in C sources

* src/xwidget.c (webkit_javascript_finished_cb):
* src/gtkutil.c (xg_check_special_colors):
* src/emacs-module.c (module_make_string):
* src/alloc.c (SET_STACK_TOP_ADDRESS): Don't use non-ASCII quote
characters.

6 years agoPortability fixes in emacs-module-tests
Eli Zaretskii [Fri, 19 Jan 2018 09:20:12 +0000 (11:20 +0200)]
Portability fixes in emacs-module-tests

* test/Makefile.in (abs_top_srcdir): Add variable, needed by
CPPFLAGS.
* test/data/emacs-module/mod-test.c: Include <limits.h>.
(pT, pZ, T_TYPE, Z_TYPE): Compatibility macros, for systems that
don't support %td and %zu format specs.
(emacs_module_init): Use compatibility macros to make the error
messages print meaningful values (and avoid compiler warnings).

6 years ago* lisp/calendar/calendar.el: Use lexical-binding
Stefan Monnier [Fri, 19 Jan 2018 04:01:35 +0000 (23:01 -0500)]
* lisp/calendar/calendar.el: Use lexical-binding

(calendar-generate-window): Remove unused variable `day'.
(calendar-generate-month): Use calendar-dlet* to provide the dynbind
vars promised by the respective docstrings.
(calendar-update-mode-line): Use calendar-dlet* to provide `date' to
calendar-mode-line-format.  Don't call `eval' here since it's called in
calendar-string-spread anyway!
(calendar-date-string): Use calendar-dlet* to provide the dynbind
vars promised by the docstring of calendar-date-display-form.

* lisp/calendar/diary-lib.el (diary--date-string): Rename from date-string.

6 years agoSwitch term.el to lexical binding, and clean up code a bit
Noam Postavsky [Thu, 18 Jan 2018 13:22:47 +0000 (08:22 -0500)]
Switch term.el to lexical binding, and clean up code a bit

* lisp/term.el (term-terminal-state): Remove.
(term-do-line-wrapping): New variable, equivalent to state 1.
(term-terminal-previous-parameter, term-terminal-parameter)
(term-terminal-more-parameters)
(term-terminal-previous-parameter-2)
(term-terminal-previous-parameter-3)
(term-terminal-previous-parameter-4): Remove.
(term-move-to-column): New function, for absolute column movement.
(term-control-seq-regexp, term-control-seq-prefix-regexp): New
constants.
(term-emulate-terminal, term-pager-discard): Use them via string-match
instead of implementing a state machine in elisp.  Handle all
unprocessed input via term-terminal-undecoded-bytes (this solves
Bug#17231).
(term-handle-ansi-escape): Take a list of escape sequence parameters
as an argument, rather than via dynamic variables.
(term-erase-in-display): Consult the argument, not the dynamically
bound term-terminal-parameter (which happened to be the same as the
argument up until now).

6 years agoAdd tests for term.el
Noam Postavsky [Sun, 7 Jan 2018 00:28:09 +0000 (19:28 -0500)]
Add tests for term.el

* lisp/term.el (term-mode): Add `name' attribute to
window-adjust-process-window-size-function value, so that it can be
removed easily by tests.
* test/lisp/term-tests.el: New tests.

6 years agoHandle split AnSiT messages for term.el (Bug#17231)
Callum Cameron [Wed, 9 Apr 2014 10:12:25 +0000 (11:12 +0100)]
Handle split AnSiT messages for term.el (Bug#17231)

Check to see if there is an incomplete command at the end of
term-emulate-terminal's input string, and, if so, save it so the whole
command can be processed when the next string arrives.
* lisp/term.el (term-partial-ansi-terminal-message): New variable.
(term-mode): Make it buffer local.
(term-handle-ansi-terminal-messages): Prepend it to the received
message, and set it if a partial message was received.

Copyright-paperwork-exempt: yes

Do not merge to master, it will be solved differently there, see
"Switch term.el to lexical binding, and clean up code a bit".