Commit graph

135979 commits

Author SHA1 Message Date
Paul Eggert
7d84056df4 Fix dump_map_file on unusual platforms
* src/pdumper.c (dump_map_file): Fix recently-introduced typo
on platforms that support neither POSIX nor MS-Windows VM.
2019-04-19 12:57:30 -07:00
Paul Eggert
5e3e14f6e9 Minor lread.c tweaks
* src/lread.c (load_warn_unescaped_character_literals):
Use AUTO_STRING to help the GC.
(Fload): Use bool for boolean.
2019-04-19 12:08:54 -07:00
Eric Abrahamsen
a33308a297 Clear gnus-group-list when the newsrc-hashtb is recreated
* lisp/gnus/gnus-start.el (gnus-make-hashtable-from-newsrc-alist):
  This routine also happens when re-sorting groups; make sure we're
  clearing the group list.
2019-04-19 11:21:55 -07:00
Philipp Stephani
0b4b380ce4 Make warning about unescaped character literals more helpful.
See Bug#31676.

* lisp/emacs-lisp/byte-run.el
(byte-run--unescaped-character-literals-warning): New defun.

* src/lread.c (load_warn_unescaped_character_literals): Use new defun.
(syms_of_lread): Define symbol for new defun.

* lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Use new
defun.

* test/src/lread-tests.el (lread-tests--unescaped-char-literals):
test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-tests--unescaped-char-literals): Adapt unit tests.
2019-04-19 19:19:35 +02:00
Philipp Stephani
8aadf6e415 Refactoring: simplify definition of some internal variables.
In some cases, we never specbind internal objects, so they don't have
to be symbols.  Rather than using DEFSYM/DEFVAR and then uninterning
the symbols, use plain static variables.  Call staticpro for all of
them, to protect them from the garbage collector.

* src/eval.c (syms_of_eval): Use a static variable for
Qcatch_all_memory_full.

* src/emacs-module.c (syms_of_module): Use static variables for
Vmodule_refs_hash, Vmodule_runtimes, and Vmodule_environments.
2019-04-19 18:41:15 +02:00
Eric Abrahamsen
bd93bcb078 Don't check for group existence in gnus-group-goto-group
* lisp/gnus/gnus-group.el (gnus-group-goto-group): Just look for the
  string.
2019-04-19 09:09:15 -07:00
Paul Eggert
9e4bb0d221 Fix regexp branches that subsume other branches
Problems reported by Mattias Engdegård in:
https://lists.gnu.org/r/emacs-devel/2019-04/msg00803.html
* lisp/arc-mode.el (archive-rar-summarize):
* lisp/eshell/em-hist.el (eshell-hist-word-designator):
* lisp/info.el (Info-dir-remove-duplicates):
* lisp/international/ja-dic-cnv.el (skkdic-convert-postfix)
(skkdic-convert-prefix, skkdic-collect-okuri-nasi):
* lisp/progmodes/cc-awk.el (c-awk-esc-pair-re):
* lisp/xml.el (xml-att-type-re):
Omit regexp branches that subsume other branches.
* lisp/progmodes/cperl-mode.el (cperl-beautify-regexp-piece):
$ and ^ aren’t simple-codes.
2019-04-19 09:02:25 -07:00
Paul Eggert
e6a9785f82 Fix mail-extr regexp typo with ".".
Problem reported by Mattias Engdegård in:
https://lists.gnu.org/r/emacs-devel/2019-04/msg00543.html
* lisp/mail/mail-extr.el (mail-extr-telephone-extension-pattern):
Escape the trailing optional period after an abbreviation.
2019-04-19 08:23:52 -07:00
Michael Albinus
85b4441472 * lisp/net/tramp-adb.el (tramp-adb-prompt): Remove repetition of expression
matching an empty string.
2019-04-19 16:29:44 +02:00
Michael Albinus
d3385c911f Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs 2019-04-19 16:29:11 +02:00
Eli Zaretskii
280dd6c49d ; Minor improvement in documentation from recent commit
* doc/lispref/processes.texi (Asynchronous Processes): Say
explicitly that it's an error to pass non-nil value for
:stopped when starting a process.  (Bug#30460)
2019-04-19 15:59:49 +03:00
Michael Albinus
06bbd6dfd1 Do not handle :stop in tramp-*-handle-make-process
* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
* lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Do not
handle :stop anymore.
2019-04-19 14:28:20 +02:00
Michael Albinus
0eb47c2537 ; Remove instrumentation in tramp-tests 2019-04-19 14:18:59 +02:00
Philipp Stephani
5c5e309527 Remove :stop key from make-process.
This has never worked and caused issues such as Bug#30460.

* src/process.c (Fmake_process): Don't accept :stop key any more.
(syms_of_process): Define needed symbol 'null'.

* test/src/process-tests.el (make-process/stop): New unit test.

* doc/lispref/processes.texi (Asynchronous Processes): Remove :stop
key from manual.
2019-04-19 14:03:16 +02:00
Michael Albinus
3ff7d7321a Adapt tramp-test32-shell-command
* test/lisp/net/tramp-tests.el (tramp-test32-shell-command):
Check "tput" before running `shell-command-width' test.
2019-04-19 11:30:22 +02:00
Philipp Stephani
f5e3c2cc98 Add a new user option 'ido-big-directories'.
This provides an alternative to 'ido-max-directory-size', for
directories that are statically known to be too big for Ido
completion.

* lisp/ido.el (ido-big-directories): New user option.
(ido-directory-too-big-p): Use it.

* test/lisp/ido-tests.el (ido-directory-too-big-p): New unit test.
2019-04-19 10:31:02 +02:00
Philipp Stephani
74f54af2b9 Use eassume (false) for branch that's never taken.
* src/json.c (json_handle_nonlocal_exit): Use eassume (false) since
this branch is never taken.
2019-04-19 10:26:32 +02:00
Eli Zaretskii
d9d9c32329 Fix compilation warning due to a recent change
* src/json.c (json_handle_nonlocal_exit): Always return a
value.
2019-04-19 11:04:17 +03:00
YAMAMOTO Mitsuharu
5ada97cfcd * src/ftcrfont.c (ftcrfont_glyph_extents): Activate ft_size_draw. 2019-04-19 09:55:53 +09:00
YAMAMOTO Mitsuharu
0a453ee7e4 * src/ftcrfont.c (ftcrfont_open): Avoid returning while blocking input. 2019-04-19 09:54:59 +09:00
Philipp Stephani
23a82cba12 Refactoring: have CATCHER_ALL also catch signals.
In all cases where we use a CATCHER_ALL handler we also want to catch
signals.  Therefore have 'signal' respect CATCHER_ALL.  Adapt internal
interfaces so that handlers can distinguish among the two types of
nonlocal exits in CATCHER_ALL handlers.

* src/lisp.h (enum nonlocal_exit): New enum.
(struct handler): Add member 'nonlocal_exit' to hold the type of
nonlocal exit during stack unwinding.

* src/eval.c (signal_or_quit): Also respect CATCHER_ALL handlers.
(unwind_to_catch): Store nonlocal exit type in catch structure.
(Fthrow, signal_or_quit): Adapt callers.
(internal_catch_all): Install only one handler.  Give handler a
nonlocal exit type argument.
(internal_catch_all_1): Remove, no longer needed.

* src/emacs-module.c (MODULE_SETJMP): Install only one handler.
(module_handle_nonlocal_exit): New function to handle all nonlocal
exits.
(MODULE_SETJMP_1): Pass nonlocal exit type to handler function.
(module_handle_signal, module_handle_throw): Remove, no longer needed.

* src/json.c (json_handle_nonlocal_exit): New helper function.
(json_insert_callback): Adapt to change in 'internal_catch_all'.
2019-04-19 01:04:55 +02:00
Philipp Stephani
e712a8fe09 Update module documentation for bignum support.
* doc/lispref/internals.texi (Module Values): Update documentation for
'make_integer' and 'extract_integer' for bignum support.
2019-04-18 23:31:00 +02:00
Philipp Stephani
ee4ba5c8fe ; * src/lisp.h (integer_to_intmax): Fix typo. 2019-04-18 23:29:20 +02:00
Philipp Stephani
856806d30f * lib-src/make-fingerprint.c (main): Properly initialize 'prog' 2019-04-18 23:19:05 +02:00
Philipp Stephani
e7caf9c744 * src/emacs-module.c: Add instructions how to change the module API 2019-04-18 23:18:06 +02:00
Paul Eggert
df5ca4f7e6 Fix make-fingerprint off-by-one bug
Problem reported by Alex Gramiak in:
https://lists.gnu.org/r/emacs-devel/2019-04/msg00784.html
* lib-src/make-fingerprint.c (main): Fix recently-introduced
off-by-one bug when accessing args after -r.
2019-04-18 12:57:47 -07:00
Michael Albinus
a99a3542f3 ; Instrument `tramp--test-shell-command-to-string-asynchronously' 2019-04-18 21:47:21 +02:00
Eric Abrahamsen
a18336a8dc Only encode Gnus group names if they come from symbol-name
* lisp/gnus/gnus-start.el (gnus-active-to-gnus-format): Names that
  were strings to begin with should already be properly encoded.
2019-04-18 09:06:09 -07:00
Paul Eggert
6d6c55db2c Mark _Noreturn error functions as cold
On my platform this made ‘make compile-always’ 1.3% faster.
Suggested by Alex Gramiak in:
https://lists.gnu.org/r/emacs-devel/2019-04/msg00684.html
* configure.ac (nw): Don’t use -Wsuggest-attribute=cold.
* lib-src/make-docfile.c (write_globals):
Mark noreturn functions as cold.
* src/callproc.c (exec_failed):
* src/data.c (wrong_length_argument, wrong_type_argument):
* src/emacs-module.c (module_abort):
* src/emacs.c (terminate_due_to_signal):
* src/eval.c (unwind_to_catch):
* src/image.c (my_png_error, my_error_exit):
* src/json.c (json_out_of_memory, json_parse_error):
* src/keyboard.c (quit_throw_to_read_char, user_error):
* src/lisp.h (die, wrong_type_argument, wrong_choice)
(args_out_of_range, args_out_of_range_3, circular_list)
(buffer_overflow, memory_full, buffer_memory_full)
(string_overflow, xsignal, xsignal0, xsignal1, xsignal2)
(xsignal3, signal_error, overflow_error, error, verror)
(nsberror, report_file_errno, report_file_error)
(report_file_notify_error, terminate_due_to_signal)
(emacs_abort, fatal):
* src/lread.c (load_error_old_style_backquotes)
(end_of_file_error, invalid_syntax):
* src/pdumper.c (error_unsupported_dump_object):
* src/puresize.h (pure_write_error):
* src/search.c (matcher_overflow):
* src/sound.c (sound_perror, alsa_sound_perror):
* src/sysdep.c (handle_arith_signal):
* src/systime.h (time_overflow):
* src/term.c (maybe_fatal, vfatal):
* src/textprop.c (text_read_only):
* src/timefns.c (invalid_time_zone_specification)
(time_error, invalid_hz):
* src/xterm.c (x_connection_closed):
Use AVOID instead of _Noreturn void, so that it’s marked cold.
* src/conf_post.h (__has_attribute_cold) [!__has_attribute]:
New macro.
(ATTRIBUTE_COLD): New macro.
* src/frame.h (WINDOW_SYSTEM_RETURN): Add ATTRIBUTE_COLD.
* src/lisp.h (AVOID): New macro.
* src/xterm.c: Omit unnecessary static decls, so that we needn’t
worry about which functions should be marked cold.
(x_io_error_quitter): Mark as cold.
2019-04-18 00:35:18 -07:00
YAMAMOTO Mitsuharu
dded2c4cf3 * src/ftcrfont.c (ftcrfont_glyph_extents): Fix last change. 2019-04-18 11:30:17 +09:00
Philipp Stephani
774da19789 Add ERT explainer for 'tramp--test-file-attributes-equal-p'
* test/lisp/net/tramp-tests.el (tramp--test-file-attributes-equal-p):
Use ERT explainer for 'equal' to improve failure messages.
2019-04-17 21:28:21 +02:00
Michael Albinus
2116dfffce Fix tramp-test32-shell-command
* test/lisp/net/tramp-tests.el (tramp-test32-shell-command):
Run only if "tput" exist.
2019-04-17 21:23:41 +02:00
Glenn Morris
0797897f34 Merge from origin/emacs-26
a1c53d4 (origin/emacs-26) * admin/admin.el (make-manuals-dist--1): Up...
d0f745f Document some compilation-mode faces
23ccba0 Mention the assignment form in "Copyright Assignment"
0f5568e Fix confusing wording in the user manual
70ec392 Fix the MSDOS build when running under CWSDPMI
7a608fc * lisp/progmodes/python.el: Be more careful about temp file r...
2019-04-17 09:32:40 -07:00
Glenn Morris
41d9004e1c ; Merge from origin/emacs-26
The following commits were skipped:

b3cab41 Backport: Plug memory leak in GTK x-display-monitor-attribute...
e40f39b Backport: * lisp/frame.el (frame--size-history): Fix infloop....
2019-04-17 09:32:40 -07:00
Glenn Morris
632f489f7d Merge from origin/emacs-26
266c622 Downcase charset
92f3459 Update for Emacs-26
beb4eac * doc/lispref/display.texi (Showing Images): Fix a typo.  (Bu...
2019-04-17 09:32:39 -07:00
Noam Postavsky
63a190a640 ; Fix files-tests-executable-find on w32 (Bug#35241)
* test/lisp/files-tests.el (files-tests-executable-find): Make the
tmpfile end with one of exec-suffixes, so that it will be executable
on w32.
2019-04-17 10:27:02 -04:00
Michael Albinus
314c2aa7c4 ; Instrument tramp-test32-shell-command for EMBA 2019-04-17 14:19:42 +02:00
Michael Albinus
2c06731dca Fix Bug#35241
* lisp/files.el (executable-find): Quote default-directory.  (Bug#35241)

* test/lisp/files-tests.el (files-tests-executable-find): New test.
2019-04-17 14:04:37 +02:00
Michael Albinus
48a6a3ac02 * test/lisp/files-tests.el: Unify test names
* test/lisp/files-tests.el (files-tests-local-variables)
(files-tests-bug-18141, files-tests-make-temp-file-empty-prefix)
(files-tests-bug-21454)
(files-tests-save-buffers-kill-emacs--confirm-kill-processes)
(files-tests-read-file-in-~)
(files-tests-file-name-non-special--subprocess)
(files-tests-file-name-non-special--buffers)
(files-tests-insert-directory-wildcard-in-dir-p)
(files-tests-make-directory, files-tests-no-file-write-contents)
(files-tests-copy-directory, files-tests-abbreviated-home-dir):
Unify test names.
2019-04-17 11:54:17 +02:00
Michael Albinus
7e07bb2d29 Test `shell-command-width' in Tramp
* test/lisp/net/tramp-tests.el
(tramp--test-shell-command-to-string-asynchronously): Move up.
(tramp-test32-shell-command): Test `shell-command-width'.
2019-04-17 11:42:06 +02:00
YAMAMOTO Mitsuharu
acec59c9f9 Use cairo_scaled_font_t object for text drawing and metrics calculation
* src/ftfont.h (struct font_info): Replace member cr_font_face of type
cairo_font_face_t * with cr_scaled_font of type cairo_scaled_font_t *.
* src/ftcrfont.c: Include math.h for floor, ceiling, and lround.
(ftcrfont_glyph_extents): Use cairo_scaled_font_glyph_extents.
(ftcrfont_open): Create cairo_scaled_font_t object and set it to
cr_scaled_font member of struct font_info.
(ftcrfont_close): Use cairo_scaled_font_destroy.
(ftcrfont_draw): Use cairo_set_scaled_font.
2019-04-17 09:46:34 +09:00
Andrii Kolomoiets
6f8fe0d5ac Make python-shell-prompt-block-regexp match IPython prompt
* lisp/progmodes/python.el (python-shell-prompt-block-regexp): Match
also IPython's multiline prompt.  It allows to correctly disable
non-native completions during multiline statement in
inferior-python-mode that runs IPython interpreter (Bug#34582).

Copyright-paperwork-exempt: yes
2019-04-16 20:09:34 -04:00
Glenn Morris
a1c53d4294 * admin/admin.el (make-manuals-dist--1):
Update for incompatible copy-file change re "directories".
2019-04-16 14:33:24 -07:00
Juri Linkov
6fe81676f3 * etc/NEWS: Mention new xref faces (bug#23179) 2019-04-17 00:04:30 +03:00
Juri Linkov
292e817aad * lisp/vc/diff-mode.el (diff-syntax-fontify-hunk): Erase buffer
before inserting file contents to *diff-syntax-file*.
Use absolute file names.
2019-04-16 23:51:51 +03:00
Paul Eggert
d0da7ee82e * GNUmakefile: Update comment. 2019-04-16 11:04:43 -07:00
Robert Pluim
d0f745f67a Document some compilation-mode faces
* doc/emacs/building.texi (Compilation Mode): Describe faces
available to affect appearance of compilation-mode buffers.
2019-04-16 18:07:31 +02:00
Eli Zaretskii
23ccba0cf9 Mention the assignment form in "Copyright Assignment"
* doc/emacs/trouble.texi (Copyright Assignment): Mention the
copyright assignment form explicitly.  Suggested by Konstantin
Kharlamov <hi-angel@yandex.ru>.
2019-04-16 18:32:18 +03:00
Eli Zaretskii
0f5568ea7c Fix confusing wording in the user manual
* doc/emacs/maintaining.texi (VC Undo): Remove a potentially
inaccurate, outdated, and/or confusing sentence.  (Bug#35290)
2019-04-16 18:27:37 +03:00
Glenn Morris
d07863fd6e * make-dist (possibly_non_vc_files): Remove recently deleted file. 2019-04-16 08:09:47 -07:00