aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | Fix drain_reloc_list alignment bugPaul Eggert2019-04-211-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/pdumper.c (dump_charset): Use alignof (struct charset), not alignof (int), since struct charset might be more strictly aligned than int. I think this is just a minor performance issue, but we might as well use the correct alignment. (drain_reloc_list): Use an alignment instead of a size for the output alignment. This prevents undefined behavior when alignof (struct emacs_reloc) == 8 and sizeof (dump_off) == 4 when building on x86-64 with gcc -fsanitize=undefined.
* | | | Port dump_bitset_clear to -fsanitize=undefinedPaul Eggert2019-04-211-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/pdumper.c (dump_bitset_clear): Pacify -fsanitize=undefined by avoiding memset (NULL, x, 0), which strictly speaking has undefined behavior although it works on all production platforms I know.
* | | | Port to recent gcc -fsanitize=undefinedPaul Eggert2019-04-212-26/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/alloc.c (XPNTR): Add ATTRIBUTE_NO_SANITIZE_UNDEFINED and remove ATTRIBUTE_UNUSED. Do not define as a macro, so that ATTRIBUTE_NO_SANITIZE_UNDEFINED works. * src/lisp.h (lisp_h_XSYMBOL): Remove. All uses removed. With recent GCC the macro does not work with -fsanitize=undefined, and the macro can be omitted as its only function is to optimize -O0.
* | | | Fix double-free in pdumperPaul Eggert2019-04-211-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert the double-free bug that I introduced in 2019-03-11T15:20:54Z!eggert@cs.ucla.edu. * src/pdumper.c (dump_mmap_reset): Do not free the private member; that’s the release function’s job. (dump_mm_heap_cb_release): Free cb if its refcount goes to zero. (dump_mmap_contiguous_heap): Mention memory leak in comment.
* | | | Merge from origin/emacs-26Glenn Morris2019-04-211-1/+1
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | 037970f Document insert-image-file's return value (Bug#32978) 598b45a Autoload cua-toggle-rectangle-mark (Bug#34947) 95bd56d Tell xclip not to expect job-control under eshell (Bug#35257) 9997bbb ; * src/emacs.c: Fix typo in comment (Bug#35320). a4ad7be Fix off-by-one-link error in image--set-property
| * | | ; * src/emacs.c: Fix typo in comment (Bug#35320).Noam Postavsky2019-04-191-1/+1
| | | |
* | | | * src/ftcrfont.c (ftcrfont_shape): Fix last change.YAMAMOTO Mitsuharu2019-04-201-0/+2
| | | |
* | | | Use bitmap strikes as fallbacks for ftcr font backendYAMAMOTO Mitsuharu2019-04-203-11/+137
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/ftfont.h (struct font_info): New member bitmap_strike_index. * src/ftfont.c (ftfont_open2): Try bitmap strikes as fallbacks. (ftfont_open): Discard bitmap strikes. * src/ftcrfont.c (ftcrfont_open): Recalculate metrics for bitmap strikes. (ftcrfont_get_bitmap, ftcrfont_anchor_point, ftcrfont_shape): New functions. (struct font_driver): Use them.
* | | | Fix GC_CHECK_STRING_BYTES false alarm with pdumperPaul Eggert2019-04-191-1/+1
| | | | | | | | | | | | | | | | | | | | * src/alloc.c (string_bytes): Don’t abort on strings taken from the dumped file.
* | | | Fix another hash false alarmPaul Eggert2019-04-191-1/+1
| | | | | | | | | | | | | | | | * src/pdumper.c (dump_vectorlike): Fix hash.
* | | | ; * src/alloc.c (xrealloc): Fix typo.Philipp Stephani2019-04-201-1/+1
| | | |
* | | | * src/emacs-module.c (value_storage_contains_p): Fix typo.Paul Eggert2019-04-191-1/+1
| | | |
* | | | Remove some ineffective #ifdefs.Philipp Stephani2019-04-191-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | ; * src/alloc.c (HAVE_MODULES): remove unused constantPhilipp Stephani2019-04-191-4/+0
| | | |
* | | | Remove some #ifdefs for user pointers.Philipp Stephani2019-04-195-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Remove special-casing of tagged pointers.Philipp Stephani2019-04-191-11/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This partially reverts commit 09b2b8a5ce5b542856f93b645db51eb11cf9855a. * src/alloc.c (mark_maybe_pointer): Remove special-casing of tagged pointers. After commit 09d746dad36e4780d379f975a84b1b076da78c50, modules no longer rely on tagged pointers.
* | | | Refactoring: Reduce code duplicationPhilipp Stephani2019-04-191-30/+28
| | | | | | | | | | | | | | | | | | | | * src/emacs-module.c (value_storage_contains_p): New function. (module_free_global_ref, value_to_lisp): Use it.
* | | | Fix Fload dangling pointerPaul Eggert2019-04-191-1/+4
| | | | | | | | | | | | | | | | | | | | * src/lread.c (Fload): Expand decl’s lifetime to match its use. Bug found by gcc -fsanitize=address.
* | | | Fix comment and tweak eval_subPaul Eggert2019-04-191-17/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | | | Fix dump_map_file on unusual platformsPaul Eggert2019-04-191-1/+1
| | | | | | | | | | | | | | | | | | | | * src/pdumper.c (dump_map_file): Fix recently-introduced typo on platforms that support neither POSIX nor MS-Windows VM.
* | | | Minor lread.c tweaksPaul Eggert2019-04-191-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | * src/lread.c (load_warn_unescaped_character_literals): Use AUTO_STRING to help the GC. (Fload): Use bool for boolean.
* | | | Make warning about unescaped character literals more helpful.Philipp Stephani2019-04-191-15/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Refactoring: simplify definition of some internal variables.Philipp Stephani2019-04-192-23/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Remove :stop key from make-process.Philipp Stephani2019-04-191-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Use eassume (false) for branch that's never taken.Philipp Stephani2019-04-191-1/+1
| | | | | | | | | | | | | | | | | | | | * src/json.c (json_handle_nonlocal_exit): Use eassume (false) since this branch is never taken.
* | | | Fix compilation warning due to a recent changeEli Zaretskii2019-04-191-0/+2
| | | | | | | | | | | | | | | | | | | | * src/json.c (json_handle_nonlocal_exit): Always return a value.
* | | | * src/ftcrfont.c (ftcrfont_glyph_extents): Activate ft_size_draw.YAMAMOTO Mitsuharu2019-04-191-0/+1
| | | |
* | | | * src/ftcrfont.c (ftcrfont_open): Avoid returning while blocking input.YAMAMOTO Mitsuharu2019-04-191-27/+25
| | | |
* | | | Refactoring: have CATCHER_ALL also catch signals.Philipp Stephani2019-04-194-55/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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'.
* | | | ; * src/lisp.h (integer_to_intmax): Fix typo.Philipp Stephani2019-04-181-1/+1
| | | |
* | | | * src/emacs-module.c: Add instructions how to change the module APIPhilipp Stephani2019-04-181-0/+48
| | | |
* | | | Mark _Noreturn error functions as coldPaul Eggert2019-04-1822-98/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | * src/ftcrfont.c (ftcrfont_glyph_extents): Fix last change.YAMAMOTO Mitsuharu2019-04-181-3/+3
| | | |
* | | | Merge from origin/emacs-26Glenn Morris2019-04-174-0/+6
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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...
| * | | Fix the MSDOS build when running under CWSDPMIEli Zaretskii2019-04-154-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/msdos.c (the_only_tty_output): Define. * src/msdos.h (the_only_tty_output): Declare. * src/frame.c (make_terminal_frame) [MSDOS]: * src/dispnew.c (init_display) [MSDOS]: Set up f->output_data.tty pointer using the_only_tty_output, before dereferencing the pointer. This prevents crashes with DPMI servers that provide NULL pointer protection.
| * | | Backport: Plug memory leak in GTK x-display-monitor-attributes-listAlexander Gramiak2019-04-142-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/frame.c (free_monitors) [USE_GTK]: Define in the GTK case as well. * src/xfns.c (x-display-monitor-attributes-list) [USE_GTK]: Plug memory leak. Use dupstring over xstrdup as gdk_monitor_get_model may return NULL.
* | | | Use cairo_scaled_font_t object for text drawing and metrics calculationYAMAMOTO Mitsuharu2019-04-172-8/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | | | Fix uninit var in widget.cPaul Eggert2019-04-151-11/+10
| | | | | | | | | | | | | | | | | | | | * src/widget.c (EmacsFrameQueryGeometry): Avoid use of uninitialized variables ok_width, ok_height (Bug#35277).
* | | | Remove Vparam_value_alistPaul Eggert2019-04-151-12/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/xfaces.c (Vparam_value_alist): Remove. All uses removed. (Finternal_set_lisp_face_attribute): Simplify by using AUTO_FRAME_ARG.
* | | | Remove static var system_eol_typePaul Eggert2019-04-141-24/+14
| | | | | | | | | | | | | | | | | | | | | | | | * src/coding.c (system_eol_type): Remove. (coding_inherit_eol_type, syms_of_coding): Simplify to avoid the need for system_eol_type.
* | | | Avoid compiler warnings on cairo buildYAMAMOTO Mitsuharu2019-04-152-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/image.c (jpeg_load_body) [USE_CAIRO]: #ifdef out USE_SAFE_ALLOCA and SAFE_FREE. * src/xterm.c (x_composite_image) [USE_CAIRO]: #ifdef out unused function. (x_draw_image_glyph_string) [USE_CAIRO]: #ifdef out unused variable pixmap.
* | | | Let debugger handle process spawn errors on w32 (Bug#33016)Noam Postavsky2019-04-144-19/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since child_setup() is called between block_input()...unblock_input(), when an error is signaled the Lisp debugger is prevented from starting. Therefore, let the callers signal the error instead (which they already do for non-w32 platforms, just the error message needs an update). * src/callproc.c (child_setup) [WINDOWSNT]: Don't call report_file_error here. (call_process) [WINDOWNT]: * src/process.c (create_process) [WINDOWSNT]: Call report_file_errno here instead, after the unblock_input() call, same as for !WINDOWSNT. * src/lisp.h (CHILD_SETUP_ERROR_DESC): New preprocessor define. Flip the containing ifndef DOS_NT branches so that it's ifdef DOS_NT. * src/eval.c (when_entered_debugger): Remove. (syms_of_eval) <internal-when-entered-debugger>: Define it as a Lisp integer variable instead. (maybe_call_debugger): Update comment. * test/src/process-tests.el (make-process-w32-debug-spawn-error): * test/src/callproc-tests.el (call-process-w32-debug-spawn-error): New tests.
* | | | Bump minimum GTK versions to 2.24 and 3.10Alexander Gramiak2019-04-144-174/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac: Bump required GTK 2 and GTK 3 versions and the associated GLib versions. Remove obsolete AC_CHECK_FUNCS calls. These check for functions available in later GTK 2 versions. These checks and can safely be removed with the exception of gtk_window_set_has_resize_grip, which according to a comment in gtkutil.c causes an issue in Ubuntu's GTK 2. * src/gtkutil.c: * src/xfns.c: * src/xterm.c: * src/xterm.h: Remove now unused conditional blocks. Use HAVE_GTK3 instead of GTK_CHECK_VERSION where now applicable. Remove checks of now always true USE_GTK_TOOLTIP.
* | | | Replace executable’s fingerprint in placePaul Eggert2019-04-142-41/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * admin/merge-gnulib (GNULIB_MODULES): Add memmem-simple. (AVOIDED_MODULES): Add memchr. * configure.ac (HAVE_PDUMPER): AC_SUBST it, too, for use in makefiles. * lib/Makefile.in (libgnu_a_OBJECTS): Add fingerprint.o. * lib/fingerprint.c: New file. * lib/memmem.c, lib/str-two-way.h, m4/memmem.m4: New files, copied from Gnulib. * lib/fingerprint.h: Rename from src/fingerprint.h. * lib-src/make-fingerprint.c: Include limits.h, sys/stat.h, fingerprint.h, intprops.h, min-max.h. (SSIZE_MAX): New macro, if not already defined. (main): Without -r, Replace the fingerprint in the input file instead of generating a fingerprint.c. * lib/Makefile.in (libgnu_a_OBJECTS): Add fingerprint.o. * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate. * src/Makefile.in (HAVE_PDUMPER, MAKE_PDUMPER_FINGERPRINT): New macros. (temacs$(EXEEXT)): Use them to replace the fingerprint instead of precalculating it. (mostlyclean, ctagsfiles1): Do not worry about fingerprint.c.
* | | | Simplify gdk_monitor_get_model string duplicationAlexander Gramiak2019-04-142-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/xfns.c (x-display-monitor-attributes-list): Use dupstring over explicit if/xstrdup. * src/frame.c (free_monitors): Remove redundant check for NULL.
* | | | Fix segmentation fault with gdk_monitor_get_model (Bug#35259)Alexander Gramiak2019-04-132-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/frame.c (free_monitors): Check if NULL before freeing. * src/xfns.c: (x-display-monitor-attributes-list): Check if NULL before copying.
* | | | Minor cleanup in 'x_set_frame_alpha'Eli Zaretskii2019-04-131-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | * src/xterm.c (x_set_frame_alpha): Remove redundant parts of testing of value of 'alpha'. Suggested by Konstantin Kharlamov <Hi-Angel@yandex.ru>. (Bug#35062)
* | | | Improve documentation changes of a recent commitEli Zaretskii2019-04-131-10/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/text.texi (Parsing JSON): Improve wording of the documentation of 'json-parse-string' and 'json-parse-buffer'. * src/json.c (Fjson_parse_string, Fjson_parse_buffer): Doc fix. (Bug#34763)
* | | | Add :array-type option to json-parse-stringDmitry Gutov2019-04-131-13/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/json.c (enum json_array_type): New type. (struct json_configuration): New field array_type. (json_parse_args): Rename the last argument. Handle the :array-type keyword argument (bug#32793). (Fjson_parse_string): Update the docstring accordingly. (json_to_lisp): Handle the case of :array-type being `list'. Add a call to 'rarely_quit' inside the loop. (syms_of_json): Define new symbols. (Fjson_serialize, Fjson_insert, Fjson_parse_string) (Fjson_parse_buffer): Update the config struct initializers.
* | | | Merge from origin/emacs-26Glenn Morris2019-04-122-3/+9
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | 818a68b * etc/HISTORY: Update for Emacs 26.2 release. e04aa5a ; ChangeLog.3 update 8297e97 * etc/AUTHORS: Update. 8582936 Improve documentation of 'read-command' dc81c05 ; * CONTRIBUTE: Mention where to ask for the copyright assign... b77723a Fix an outdated URL in a comment