1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-20 15:10:37 -08:00
Commit graph

135987 commits

Author SHA1 Message Date
Philipp Stephani
992fd76ce9 Remove some ineffective #ifdefs.
Since DEFSYM doesn't by itself do anything and make-docfile ignores
preprocessor statements, conditional compilation of DEFSYMs is
ineffective.

* src/data.c (syms_of_data): Remove ineffective #ifdefs.
2019-04-19 23:17:19 +02:00
Philipp Stephani
f5776e0eac ; * src/alloc.c (HAVE_MODULES): remove unused constant 2019-04-19 23:11:14 +02:00
Philipp Stephani
e7cb6eea99 Remove some #ifdefs for user pointers.
Even if Emacs is compiled without module support, we don't have to
comment out every bit of user pointer support.  Defining the basic
structures and functions and detecting user pointers in switch
statements is harmless, and we're already doing the same for module
functions.  Removing these #ifdefs makes the code a bit easier to
read.

* src/lisp.h (PVEC_USER_PTR, struct Lisp_User_Ptr, USER_PTRP)
(XUSER_PTR): Define unconditionally.

* src/data.c (Ftype_of):
* src/alloc.c (cleanup_vector):
* src/print.c (print_vectorlike):
* src/pdumper.c (dump_vectorlike): Remove #ifdef for user pointers.
2019-04-19 23:07:58 +02:00
Philipp Stephani
7e7d62ea5e Remove special-casing of tagged pointers.
This partially reverts commit
09b2b8a5ce.

* src/alloc.c (mark_maybe_pointer): Remove special-casing of tagged
pointers.  After commit 09d746dad3,
modules no longer rely on tagged pointers.
2019-04-19 22:51:16 +02:00
Philipp Stephani
ba2e3a8abb Refactoring: Reduce code duplication
* src/emacs-module.c (value_storage_contains_p): New function.
(module_free_global_ref, value_to_lisp): Use it.
2019-04-19 22:33:40 +02:00
Mattias Engdegård
a59c41ee81 Remove subsumed regexp branches
* lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings)
(c-after-change-mark-abnormal-strings): Remove `\r' subsumed by `.'.
2019-04-19 22:24:35 +02:00
Paul Eggert
0f8628490e Fix Fload dangling pointer
* src/lread.c (Fload): Expand decl’s lifetime to match its use.
Bug found by gcc -fsanitize=address.
2019-04-19 12:57:30 -07:00
Paul Eggert
bc4ed68314 Fix comment and tweak eval_sub
* src/eval.c (eval_sub): Check whether Fassq returns Qnil,
not whether it returns a cons, as NILP is faster than CONSP
nowadays.  Remove incorrect comment “only original_fun and
original_args have values that will be used below”; instead,
move declarations around so that the set of variables with
useful values is obvious.
2019-04-19 12:57:30 -07:00
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