]> git.eshelyaron.com Git - emacs.git/log
emacs.git
5 years agoTemporarily comment out CC Mode from tests which are incompatible with it.
Alan Mackenzie [Thu, 17 Jan 2019 12:51:40 +0000 (12:51 +0000)]
Temporarily comment out CC Mode from tests which are incompatible with it.

* tests/electric-tests (electric-pair-test-for): comment out c++-mode from the
list of modes to be used in tests.
(electric-pair-whitespace-chomping-2-at-point-4-in-c++-mode-in-strings)
(ert-deftest electric-layout-int-main-kernel-style)
(ert-deftest electric-layout-int-main-allman-style): Comment out.

5 years agoFix --enable-profiling builds (bug#34099)
Glenn Morris [Thu, 17 Jan 2019 12:19:45 +0000 (07:19 -0500)]
Fix --enable-profiling builds (bug#34099)

* src/profiler.c (syms_of_profiler_for_pdumper):
Only set cpu_log if CPU profiling is enabled.

5 years agoExpand spectrum of window change functions
Martin Rudalics [Thu, 17 Jan 2019 09:21:07 +0000 (10:21 +0100)]
Expand spectrum of window change functions

* src/window.c (run_window_change_functions): Run window
change functions for Qwindow_state_change_functions.
(resize_frame_windows): Set frame's window_change slot when
single-window frames change size.
(Qwindow_state_change_functions): New symbol.
(Vwindow_state_change_functions): New Lisp variable.
* doc/lispref/windows.texi (Selecting Windows): Mention
'window-selection/state-change-functions' and add reference to
Window Hooks.
(Window Hooks): Document 'window-state-change-functions'.
* etc/NEWS: Mention new hook 'window-state-change-functions'.

5 years agoPort pdumper to older GNU/Linux
Paul Eggert [Thu, 17 Jan 2019 01:34:45 +0000 (17:34 -0800)]
Port pdumper to older GNU/Linux

Problem reported by Colin Baxter in:
https://lists.gnu.org/r/emacs-devel/2019-01/msg00321.html
* src/alloc.c (my_heap_start): Also define if
GNU_LINUX && CANNOT_DUMP && DOUG_LEA_MALLOC.

5 years agoFix segfault in profiler after pdump load
Daniel Colascione [Thu, 17 Jan 2019 01:26:19 +0000 (20:26 -0500)]
Fix segfault in profiler after pdump load

Move initialization of the profiler's hash test to static
initialization from the syms function so that pdumper doesn't need to
bother capturing it in any special way.

* src/profiler.c (cmpfn_profiler, hashfn_profiler):
forward declare.
(hashtest_profiler): statically initialize.
(syms_of_profiler): remove dynamic initialization of
hashtest_profiler.

5 years ago* doc/lispref/processes.texi (Accepting Output): Simplify.
Paul Eggert [Wed, 16 Jan 2019 18:31:21 +0000 (10:31 -0800)]
* doc/lispref/processes.texi (Accepting Output): Simplify.

5 years agoFix previous change: use correct pdumper function
Daniel Colascione [Wed, 16 Jan 2019 19:44:45 +0000 (14:44 -0500)]
Fix previous change: use correct pdumper function

5 years agoFix crash in charset detection after pdumper load
Daniel Colascione [Wed, 16 Jan 2019 19:37:21 +0000 (14:37 -0500)]
Fix crash in charset detection after pdumper load

* src/coding.c:
(reset_coding_after_pdumper_load): new function re-init character
classes after pdumper load.
(syms_of_coding): Call it.

5 years agoAvoid compilation warnings in MS-Windows build
Andy Moreton [Wed, 16 Jan 2019 17:44:10 +0000 (17:44 +0000)]
Avoid compilation warnings in MS-Windows build

* src/pdumper.c (dump_cold_bignum):
* src/emacs.c(load_pdump) [WINDOWSNT]: Avoid compiler warnings
due to 64-bit vs 32-bit data type mismatches.

5 years agoImprove documentation of pdumper; minor code cleanup
Eli Zaretskii [Wed, 16 Jan 2019 15:55:53 +0000 (17:55 +0200)]
Improve documentation of pdumper; minor code cleanup

* src/emacs.c (usage_message): Add the --dump-file option.
(string_starts_with_p, find_argument): Functions removed; use
'argmatch' instead.
(PDUMP_FILE_ARG): Macro removed; use literal strings instead,
as with other command-line options.  Use HAVE_PDUMPER for cpp
conditionals which used PDUMP_FILE_ARG.
(load_pdump, main): Use 'argmatch' for "--dump-file" and
"--temacs" arguments, thus supporting the "-dump-file" and
"-temacs" variants, for consistency with other options.
(main): Remove the extra fatal error for using --dump-file in
unexec'ed Emacs: load_pdump does that anyway.
(standard_args): Add --dump-file and --temacs, with
appropriate priorities.

* etc/NEWS: Expand on the pdumper support.

* doc/emacs/cmdargs.texi (Initial Options): Document the
'--dump-file' command-line option.

5 years agoFix minor glitch with producing 'emacs' executable
Eli Zaretskii [Wed, 16 Jan 2019 15:26:15 +0000 (17:26 +0200)]
Fix minor glitch with producing 'emacs' executable

* src/Makefile.in (LC_ALL) [!DUMPING]: Don't overwrite
previous emacs-X.Y.Z executables with new ones.

5 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Michael Albinus [Wed, 16 Jan 2019 12:57:00 +0000 (13:57 +0100)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

5 years agoSome accept-process-output cleanups in Tramp
Michael Albinus [Wed, 16 Jan 2019 12:56:38 +0000 (13:56 +0100)]
Some accept-process-output cleanups in Tramp

* lisp/net/tramp.el (tramp-action-out-of-band): Read process
output in a loop.
(tramp-accept-process-output): Return result.
(tramp-interrupt-process):
* lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
* lisp/net/tramp-rclone.el (tramp-rclone-parse-device-names):
Remove FIXME.

* lisp/net/tramp-sh.el (tramp-local-coding-commands): Fix docstring.

* lisp/net/tramp-smb.el (tramp-smb-wait-for-output): Adapt docstring.
Simplify code.

* lisp/net/tramp-sudoedit.el (tramp-sudoedit-action-sudo):
Adapt docstring.  Read process output in a loop.

* test/lisp/net/tramp-tests.el (tramp-test43-asynchronous-requests):
Remove :unstable tag on emba.

5 years ago; Copyright fixes for pdumper files
Glenn Morris [Wed, 16 Jan 2019 09:39:50 +0000 (04:39 -0500)]
; Copyright fixes for pdumper files

I wonder if the copyright years for lib-src/make-fingerprint.c are correct.

5 years ago* make-dist: Include src/dmpstruct.awk.
Glenn Morris [Wed, 16 Jan 2019 09:33:04 +0000 (04:33 -0500)]
* make-dist: Include src/dmpstruct.awk.

5 years agoFix unlikely races with GnuTLS, datagrams
Paul Eggert [Wed, 16 Jan 2019 07:51:45 +0000 (23:51 -0800)]
Fix unlikely races with GnuTLS, datagrams

Retry some calls if interrupted at inopportune times.
These were found by code inspection.
* src/gnutls.c (gnutls_try_handshake): Simplify by using
new emacs_gnutls_handle_error API.
(emacs_gnutls_write): Remove GNUTLS_E_AGAIN hack since
emacs_gnutls_handle_error now does that.
Use emacs_gnutls_handle_error only on errors.
(emacs_gnutls_read): Retry if gnutls_record_recv returns
GNUTLS_E_INTERRUPTED, to be consistent with emacs_read.
(emacs_gnutls_handle_error): Return 0 on fatal errors,
-1 (setting errno) on ordinary errors, to simplify callers.
Assume that ERR is negative, since it always is now.
Map non-fatal GnuTLS errors to errno values as best we can.
* src/process.c (read_process_output) [DATAGRAM_SOCKETS]:
Retry recvfrom if it is interrupted, to be consistent with
how things are handled when not a datagram channel.
(send_process) [DATAGRAM_SOCEKTS]: If sendto is interrupted,
process pending signals and retry it, to be consistent with
how things are handled when not a datagram channel.

5 years agoMake sure dump-mode is nil after dump
Daniel Colascione [Tue, 15 Jan 2019 23:42:39 +0000 (18:42 -0500)]
Make sure dump-mode is nil after dump

* lisp/loadup.el (dump-mode): Bind dump-mode to nil before dumping

5 years agoAdd NEWS for pdumper
Daniel Colascione [Tue, 15 Jan 2019 22:39:23 +0000 (17:39 -0500)]
Add NEWS for pdumper

5 years agoAdd portable dumper
Daniel Colascione [Tue, 15 Jan 2019 22:36:54 +0000 (17:36 -0500)]
Add portable dumper

Add a new portable dumper as an alternative to unexec.  Use it by default.

* src/dmpstruct.awk: New file.
* src/doc.c (get_doc_string): use will_dump_p().
* src/editfns.c (styled_format): silence compiler warning
with UNINIT.
* src/emacs-module.c (syms_of_module): staticpro ltv_mark.
* src/emacs.c (gflags): new variable.
(init_cmdargs): unwrap
(string_starts_with_p, find_argument, dump_error_to_string)
(load_pdump): new functions.
(main): detect pdumper and --temacs invocation; actually load
portable dump when detected; set gflags as appropriate; changes to
init functions throughout to avoid passing explicit
'initialized' argument.
* src/eval.c (inhibit_lisp_code): remove unused variable.
(init_eval_once_for_pdumper): new function.
(init_eval_once): call it.
* src/filelock.c: CANNOT_DUMP -> will_dump_p()
* src/fingerprint-dummy.c: new file
* src/fingerprint.h: new file
* src/fns.c: CANNOT_DUMP -> will_dump_p(), etc.
(weak_hash_tables): remove
(hashfn_equal, hashfn_eql): un-staticify
(make_hash_table): set new 'next_weak' hash table field; drop
global weak_hash_tables logic.
(copy_hash_table): drop global weak_hash_tables logic.
(hash_table_rehash): new function.
(hash_lookup, hash_put, hash_remove_from_table, hash_clear):
rehash if needed.
(sweep_weak_table): un-staticify; explain logic; bool-ify.
(sweep_weak_hash_tables): remove function.
* src/font.c (syms_of_font): remember pdumper stuff.
* src/fontset.c (syms_of_fontset): remember pdumper stuff.
* src/frame.c (make_initial_frame): don't reset Vframe_list.
(init_frame_once_for_pdumper, init_frame_once): new functions.
(syms_of_frame): remove redundant staticpro.
* src/fringe.c (init_fringe_once_for_pdumper): new functin.
(init_fringe_once): call it.
* src/ftcrfont.c (syms_of_ftcrfont_for_pdumper): new function.
(syms_of_ftcrfont): call it.
* src/ftfont.c (syms_of_ftfont_for_pdumper): new function.
(syms_of_ftfont): call it.
* src/ftxont.c (syms_of_ftxfont_for_pdumper): new function.
(syms_of_ftxfont): call it.
* src/gmalloc.c: adjust for pdumper througout
(DUMPED): remove weird custom dumped indicator.
* src/gnutls.c (syms_of_gnutls): pdumper note for
gnutls_global_initialized.
* src/image.c (syms_of_image): add pdumper comment,
initializer note.
* src/insdel.c (prepare_to_modify_buffer_1): account
for buffer contents possibly being in dump image.
* src/keyboard.c (syms_of_keyboard_for_pdumper): new function.
(syms_of_keyboard): staticpro more; call pdumper syms function.
* src/lisp.h: add comments throughout
(gflags): declare.
(will_dump_p, will_bootstrap_p, will_dump_with_pdumper_p)
(dumped_with_pdumper_p, will_dump_with_unexec_p)
(dumped_with_unexec_p, definitely_will_not_unexec_p): new
functions.
(POWER_OF_2, ROUNDUP): move macros.
(PSEUDOVECTOR_TYPE, PSEUDOVECTOR_TYPEP): take vectorlike header
pointer instead of vector; constify.
(Lisp_Hash_Table): add comment about need to rehash on access; add
comment for next_weak.
(HASH_KEY, HASH_VALUE, HASH_HASH, HASH_TABLE_SIZE): const-ify.
(hash_table_rehash): declare.
(hash_rehash_needed_p, hash_rehash_if_needed): new functions.
(finalizers, doomed_finalizers): declare extern.
(SUBR_SECTION_ATTRIBUTE): new macro.
(staticvec, staticidx): un-static-ify.
(sweep_weak_hash_tables): remove declaration.
(sweep_weak_table): declare.
(hashfn_eql, hashfn_equal): declare.
(number_finalizers_run): new variable.
(Vdead): externify when ENABLE_CHECKING.
(gc_root_type): new enumeration.
(gc_root_visitor): new struct.
(visit_static_gc_roots): declare.
(vectorlike_nbytes): declare.
(vector_nbytes): define as trivial inline function wrapper for
vectorlike_nbytes.
(init_obarray_once): change signature.
(primary_thread): extern-ify.
(init_buffer): change signature.
(init_frame_once): declare.
* src/lread.c (readevalloop): adjust for new dumped predicates.
(init_obarray_once): new function.
(ndefsubr): new variable.
(defsubr): increment it.
(load_path_check): adjust for pdumper.
(load_path_default): use pdumper functions; adjust for
dump search.
* src/macfont.m (macfont_init_font_change_handler): avoid
shadowing global.
(syms_of_macfont_for_pdumper): new function.
(syms_of_macfont): call it.
* src/menu.c (syms_of_menu): staticpro more stuff.
* src/minibuf.c (Ftry_completion): rehash if needed.
(init_minibuf_once_for_pdumper): new function.
(init_minibuf_once): call it.
* src/nsfont.m (syms_of_nsfns): staticpro more.
* src/nsfont.m (syms_of_nsfont_for_pdumper): new function.
(syms_of_nsfont): call it.
* src/nsterm.m (syms_of_nsfont): remember pdumper stuff.
* src/pdumper.c: new file.
* src/pdumper.h: new file.
* src/process.c (init_process_emacs): use new pdumper functions
instead of CANNOT_DUMP.
* src/profiler.c (syms_of_profiler_for_pdumper): new function.
(syms_of_profiler_for_pdumper): call it.
* src/search.c (syms_of_search_for_pdumper): new function.
(syms_of_search_for_pdumper): call it.
* src/sheap.c (bss_sbrk_did_unexec): remove.
* src/sheap.h (bss_sbrk_did_unexec): remove.
* src/syntax.c (syms_of_syntax): don't redundantly staticpro
re_match_object.
* src/sysdep.c: use will_dump_with_unexec_p() instead of bss
hack thing.
* src/syssignals.h (init_sigsegv): declare.
* src/systime.h (init_timefns): remove bool from signature.
* src/textprop.c (syms_of_textprop): move staticpro.
* src/thread.c (main_thread_p): constify.
* src/thread.h (main_thread_p): constify.
* src/timefns.c (init_timefns): remove bool from signature.
(syms_of_timefns_for_pdumper): new function.
(syms_of_timefns): call it.
* src/w32.c: rearrange code.
* src/w32.h (w32_relocate): declare.
* src/w32fns.c (syms_of_w32fns): add pdumper note.
* src/w32font.c (syms_of_w32font_for_pdumper): new function.
(syms_of_w32font): call it.
* src/w32heap.c (using_dynamic_heap): new variable.
(init_heap): use it.
* src/w32menu.c (syms_of_w32menu): add pdumper note.
* src/w32proc.c
(ctrl_c_handler, mainCRTStartup, _start, open_input_file)
(rva_to_section, close_file_data): move here.
* src/w32uniscribe.c (syms_of_w32uniscribe_for_pdumper):
new function.
(syms_of_w32uniscribe): call it.
* src/window.c (init_window_once_for_pdumper): new function.
(init_window_once): call it; staticpro more stuff.
* src/xfont.c (syms_of_xfont_for_pdumper): new function.
(syms_of_xfont): call it.
* src/xftfont.c (syms_of_xftfont_for_pdumper): new function.
(syms_of_xftfont): call it.
* src/xmenu.c (syms_of_xmenu_for_pdumper): new function.
(syms_of_xmenu): call it.
* src/xselect.c (syms_of_xselect_for_pdumper): new function.
(syms_of_xselect): call it.
* src/xsettings.c (syms_of_xsettings): add more pdumper notes.
* src/term.c (syms_of_xterm): add pdumper note.

* src/dispnew.c (init_faces_initial): new function.
(init_display_interactive): rename from init_display; use
will_dump_p instead of !initialized.  Initialize faces early for
pdumper if needed.
(init_display): new function.
(syms_of_display_for_pdumper): new function.
(syms_of_display): call it.

* src/dbusbind.c (syms_of_dbusbind): Add TODO for bus reset
on pdumper load.

* src/data.c (Fdefalias): Use will_dump_p
instead of Vpurify_flag.
(Fmake_variable_buffer_local): silence compiler warning with -Og
by making valcontents UNINIT.
(arith_driver): silence compiler warning with UNINIT.

* src/conf_post.h (ATTRIBUTE_SECTION): new macro.

* src/composite.c (composition_gstring_put_cache): rehash hash
table if needed.

* src/coding.c (init_coding_once, syms_of_coding): remember
pdumper stuff.

* src/charset.h (charset_table_size, charset_table_user): declare.

* src/charset.c (charset_table_used, charset_table_size): un-static.
(init_charset_oncem, syms_of_charset): remember pdumper stuff.

* src/category.c (category_table_version): remove obsolete
variable.

* src/callint.c (syms_of_callint): staticpro 'preserved_fns'
(init_callproc): use will_dump_p instead of !CANNOT_DUMP.

* src/bytecode.c (exec_byte_code): rehash table tables if needed

* src/buffer.c (alloc_buffer_text, free_buffer_text): account for
pdumper
(init_buffer_once): add TODO; remember stuff for pdumper.
(init_buffer): don't take initialized argument; adjust
for pdumper.

* src/atimer.c (init_atimer): initialize subr only if
!initialized.

* src/alloc.c: (vector_marked_p, set_vector_marked)
(vectorlike_marked_p, set_vectorlike_marked, cons_marked_p)
(set_cons_marked, string_marked_p, set_string_marked)
(symbol_marked_p, set_symbol_marked, interval_marked_p)
(set_interval_marked): new accessor routines.  Use them
instead of raw GC access throughout.
(Vdead): make non-static when ENABLE_CHECKING.
(vectorlike_nbytes): rename of 'vector_nbytes'; take a vectorlike
header as input instead of a vector.
(number_finalizers_run): new internal C variable.
(mark_maybe_object): check for pdumper objects.
(valid_pointer_p): don't be gratuitously inefficient under rr(1).
(make_pure_c_string): add support for size_byte = -2 mode
indicating that string data points into Emacs image rodata.
(visit_vectorlike_root): visits GC roots embedded in
vectorlike objects.
(visit_buffer_root): visits GC roots embedded in
our totally-not-a-buffer buffer global objects.
(visit_static_gc_roots): visit GC roots in the Emacs data section.
(mark_object_root_visitor): root callback used for conventional GC
marking
(weak_hash_tables): new internal variable for tracking found weak
hash tables during GC.
(mark_and_sweep_weak_table_contents): new weak hash table marking.
(garbage_collect_1): use new GC root visitor machinery.
(mark_vectorlike): accept a vectorlike_header instead of a
Lisp_Vector.
(mark_frame, mark_window, mark_hash_table): new functions.
(mark_object): initialize 'm'; check for pdumper objects and use
new mark-bit accessors throughout.  Remove some object-specific
marking code and move to helper functions above.
(survives_gc_p): check for pdumper objects.
(gc-sweep): clear pdumper mark bits.
(init_alloc_once_for_pdumper): new helper function for early init
called both during normal init and pdumper load.
(init_alloc_once): pdumper integration.

* src/Makefile.in: Rewrite dumping for pdumper; add pdumper.o;
invoke temacs with --temacs command line option; build dmpstruct.h
from dmpstruct.awk; stop relying on CANNOT_DUMP; clean up pdumper
intermediate files during build.

* nextstep/Makefile.in: build emacs.pdmp into NS packages

* lisp/startup.el: account for new '--temacs' and '--dump-file'
command line option.

* lisp/loadup.el: rewrite early init to account for pdumper; use
injected 'dump-mode' variable (set via the new '--temacs' option)
instead of parsing command line.

* lisp/cus-start.el: Check 'dump-mode' instead of 'purify-flag',
since the new 'dump-mode'

* lib-src/make-fingerprint.c: new program

* lib-src/Makefile.in: built make-fingerprint utility program

* configure.ac: Add --with-pdumper toggle to control pdumper
support; add --with-unexec toggle to control unexec support.
Add --with-dumping option to control which dumping strategy we use
by default.  Adjust for pdumper throughout.  Check for
posix_madvise.

* Makefile.in: Add @DUMPING@ substitution; add pdumper mode.

* .gitignore: Add make-fingerprint, temacs.in, fingerprint.c,
dmpstruct.h, and pdumper dump files.

5 years agoAvoid using obsolete accept-process-output arg
Paul Eggert [Tue, 15 Jan 2019 22:08:41 +0000 (14:08 -0800)]
Avoid using obsolete accept-process-output arg

* lisp/gnus/nnheader.el (nnheader-accept-process-output):
* lisp/net/dns.el (dns-query):
* lisp/net/imap.el (imap-wait-for-tag):
* lisp/net/network-stream.el (network-stream-get-response):
* lisp/net/pop3.el (pop3-accept-process-output):
* lisp/obsolete/starttls.el (starttls-negotiate-gnutls)
(starttls-open-stream-gnutls):
* lisp/server.el (server-eval-at):
* lisp/textmodes/ispell.el (ispell-accept-output):
Do not depend on the obsolete milliseconds argument of
accept-process-output.

5 years agoFix accept-process-output/process-live-p confusion
Paul Eggert [Tue, 15 Jan 2019 18:18:45 +0000 (10:18 -0800)]
Fix accept-process-output/process-live-p confusion

* doc/lispref/processes.texi (Accepting Output):
Document the issue.
* lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
* lisp/net/tramp-rclone.el (tramp-rclone-parse-device-names):
* lisp/net/tramp-smb.el (tramp-smb-wait-for-output):
* lisp/net/tramp.el (tramp-interrupt-process):
* test/src/process-tests.el (make-process/mix-stderr):
Fix code that uses accept-process-output and process-live-p.
Add FIXME comments as necessary.
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-action-sudo):
* lisp/net/tramp.el (tramp-action-out-of-band):
Add FIXME comments as necessary.

5 years agoMake CC Mode and electric-pair-mode work together. This fixes bug #33794
Alan Mackenzie [Tue, 15 Jan 2019 15:54:02 +0000 (15:54 +0000)]
Make CC Mode and electric-pair-mode work together.  This fixes bug #33794

* lisp/progmodes/cc-cmds.el (c-electric-pound, c-electric-slash)
(c-electric-star, c-electric-semi&comma, c-electric-colon, c-electric-lt-gt):
Bind post-self-insert-hook to nil around calls to self-insert-command to
protect against arbitrary functionality confusing CC Mode.
(c-do-brace-electrics): New function, extracted from c-electric-brace and
enhanced.
(c-electric-brace): Bind post-self-insert-hook to nil around the call to
self-insert-command.  When electric-pair-mode is configured, call
electric-pair-post-self-insert-function.  Handle any deletion done by this
function.  Call c-do-brace-electrics for the inserted brace, and perhaps for a
brace inserted by electric-pair-self-insert-function.
(c-electric-paren): Bind post-self-insert-hook to nil around the call to
self-insert-command.  When electric-pair-mode is configured, call
electric-pair-post-self-insert-function.

5 years agoDisable electric quotes for most files in the Emacs codebase.
Philipp Stephani [Wed, 2 Jan 2019 21:01:54 +0000 (22:01 +0100)]
Disable electric quotes for most files in the Emacs codebase.

* .dir-locals.el: Disable electric quotes in comments and strings for
C, Emacs Lisp, and Texinfo, as the Emacs codebase doesn't use them.

5 years ago* lisp/emacs-lisp/package.el (package-activate-all): Fix last change
Stefan Monnier [Mon, 14 Jan 2019 20:11:45 +0000 (15:11 -0500)]
* lisp/emacs-lisp/package.el (package-activate-all): Fix last change

5 years ago* lisp/emacs-lisp/package.el (package-activate-all): Silence load msg
Stefan Monnier [Mon, 14 Jan 2019 20:10:14 +0000 (15:10 -0500)]
* lisp/emacs-lisp/package.el (package-activate-all): Silence load msg

5 years agoFix icomplete's cycling when filename filtering kicks in
João Távora [Mon, 14 Jan 2019 12:46:34 +0000 (12:46 +0000)]
Fix icomplete's cycling when filename filtering kicks in

Fixes: bug#34070
* lisp/icomplete.el (icomplete--filtered-completions): New variable.
(icomplete-forward-completions, icomplete-backward-completions):
Use it.
(icomplete-completions): Set it.

5 years agoImprove some of the breve/caron/cedilla mappings
Robert Pluim [Fri, 11 Jan 2019 16:45:25 +0000 (17:45 +0100)]
Improve some of the breve/caron/cedilla mappings

* lisp/leim/quail/latin-pre.el ("latin-prefix"): Describe new 'c with
cedilla mapping'.  Extend caron description.  Correct dot above
description.  Add new mappings for 'a with breve' and 'c with caron'.
Add additional mapping for 'c with cedilla'.  Delete ~o mapping for 'g
with dot above'.

5 years agoFix some breve and dot above related doc strings
Robert Pluim [Fri, 11 Jan 2019 16:34:33 +0000 (17:34 +0100)]
Fix some breve and dot above related doc strings

* lisp/leim/quail/latin-pre.el ("romanian-prefix"): Correct
description of 'a with breve'.
("romanian-alt-prefix"): Correct description of 'a
with breve'.  Reformat other entries for consistency.
("latin-3-prefix"): Correct 'dot above' description.

5 years agoFix translation-region bug with MAX_CHAR
Paul Eggert [Sun, 13 Jan 2019 23:45:14 +0000 (15:45 -0800)]
Fix translation-region bug with MAX_CHAR

Also, clean up the code a bit.
Actually I discovered the bug while cleaning up the code.
* src/editfns.c (Fsubst_char_in_region)
(Ftranslate_region_internal): Use bool for booleans.
(Ftranslate_region_internal): Fix off-by-1 bug when a
translation table translates the maximum char.  Assume C99
decl-after-statement, similar minor cleanups.
* test/src/editfns-tests.el (test-translate-region-internal):
New test.

5 years agoMinor overflow fix in translate-region-internal
Paul Eggert [Sun, 13 Jan 2019 22:34:01 +0000 (14:34 -0800)]
Minor overflow fix in translate-region-internal

* src/editfns.c (Ftranslate_region_internal):
Use ptrdiff_t, not int, for a count that might exceed INT_MAX.

5 years agoCheck that feature exist in `sql-set-product-feature' (Bug#30494).
Pierre Téchoueyres [Sat, 1 Dec 2018 00:20:45 +0000 (01:20 +0100)]
Check that feature exist in `sql-set-product-feature' (Bug#30494).

* lisp/progmodes/sql.el (sql-set-product-feature): Add test for
feature existence.

5 years agoRemove some obsolete stub files from etc/
Glenn Morris [Fri, 11 Jan 2019 23:53:10 +0000 (18:53 -0500)]
Remove some obsolete stub files from etc/

* etc/CENSORSHIP, etc/FTP, etc/GNU, etc/LINUX-GNU, etc/MORE.STUFF:
* etc/ORDERS, etc/THE-GNU-PROJECT, etc/WHY-FREE:
Remove stub files that were marked obsolete 5 years ago.

5 years agoRun window change functions during redisplay
Martin Rudalics [Fri, 11 Jan 2019 09:02:47 +0000 (10:02 +0100)]
Run window change functions during redisplay

* doc/lispref/windows.texi (Window Sizes): Move (and rename)
descriptions of 'window-pixel-height-before-size-change' and
'window-pixel-width-before-size-change' to Window Hooks
section.
(Window Configurations): Remove warning against use of
'save-window-excursion' in 'window-size-change-functions'.
(Window Hooks): Rewrite section according to redesign of
window change functions.
* lisp/erc/erc-track.el (erc-window-configuration-change)
(erc-modified-channels-update): Call latter directly from
'window-configuration-change-hook' instead via
'post-command-hook'.
* lisp/frame.el (frame-size-changed-p): Change nomenclature
in let bindings.
* lisp/net/rcirc.el (rcirc-window-configuration-change)
(rcirc-window-configuration-change-1): Call latter directly
from 'window-configuration-change-hook' instead via
'post-command-hook'.
* lisp/window.el (window-pixel-width-before-size-change)
(window-pixel-height-before-size-change): Defalias.
(window--resize-mini-window, window-resize)
(adjust-window-trailing-edge, delete-window)
(delete-other-windows, balance-windows): Don't run
'window-configuration-change-hook' any more from here.
(split-window): Don't run 'window-configuration-change-hook'
from here.  'run-window-scroll-functions' from here.
(window--adjust-process-windows): Run from
'window-configuration-change-hook' only.
* src/frame.c (old_selected_frame): New Lisp variable.
(make_frame): Initialize frame's change_stamp slot.
(Fold_selected_frame): New function.
* src/frame.h (struct frame): New slots old_selected_window,
window_change, change_stamp and number_of_windows.
(fset_old_selected_window): New inlined function.
(FRAME_WINDOW_CHANGE, FRAME_OLD_SELECTED_WINDOW): New macros.
* src/window.c (old_selected_window): New Lisp variable.
(wset_old_buffer): New inlined function.
(Fframe_old_selected_window, Fold_selected_window)
(Fwindow_old_buffer): New functions.
(Fwindow_old_pixel_width, Fwindow_old_pixel_height): Rename
from Fwindow_pixel_width_before_size_change and
Fwindow_pixel_height_before_size_change.  Update doc-strings.
(Fwindow_old_body_pixel_width, Fwindow_old_body_pixel_height):
New functions.
(Fdelete_other_windows_internal): Set frame's window_change
slot instead of running 'window-configuration-change-hook'.
(Frun_window_configuration_change_hook): In doc-string tell
that this function is no more needed.
(Frun_window_scroll_functions): Amend doc-string.  Run with
window's buffer current.
(window_sub_list, window_change_record_windows)
(window_change_record_frame, window_change_record)
(run_window_change_functions_1, run_window_change_functions):
New functions.
(set_window_buffer): Set frame's window_change slot instead of
running 'window-configuration-change-hook'.
(make_window): Don't initialize pixel_width_before_size_change
and pixel_height_before_size_change slots.
(window_resize_apply, Fdelete_window_internal): Set frame's
window_change slot.
(Fsplit_window_internal): Set frame's window_change slot.
Don't run 'window-scroll-functions' from here.
* src/window.h (struct window): New slots old_buffer,
change_stamp, old_pixel_width (renamed from
pixel_width_before_size_change), old_pixel_height (renamed
from pixel_height_before_size_change), old_body_pixel_width
and old_body_pixel_height.
* src/xdisp.c (init_iterator): Set frame's window_change slot
when the body height or width changes.
(prepare_menu_bars): Don't run_window_size_change_functions.
(redisplay_internal): Don't run_window_size_change_functions,
run_window_change_functions instead.

5 years agoList lengths are always fixnums now
Paul Eggert [Fri, 11 Jan 2019 05:35:31 +0000 (21:35 -0800)]
List lengths are always fixnums now

Without this patch, it was theoretically possible for a list
length to be a bignum, which means that safe-length could
signal an error (due to generating a too-large bignum) contrary
to its documentation.  Fix things to remove the theoretical
possibility, so that list lengths are always fixnums (and so
that list lenghts are always ptrdiff_t values too, since that
is assumed internally anyway).
* src/alloc.c (Fcons): Do not allocate so many conses that
a list length won’t fit into ptrdiff_t or into fixnum.
This matters only on weird platforms; on typical platforms,
list lengths always fit anyway.
* src/fns.c (list_length, Fsafe_length, proper-list-p):
Remove integer overflow checks that are no longer needed.

5 years agoMinor tweaks to HAVE_NATIVE_SCALING code
Paul Eggert [Thu, 10 Jan 2019 23:29:21 +0000 (15:29 -0800)]
Minor tweaks to HAVE_NATIVE_SCALING code

This mostly just reindents.
* src/image.c (x_set_image_size): Always define, but to a no-op
if !HAVE_NATIVE_SCALING, to avoid an #ifdef elsewhere.
(x_create_x_image_and_pixmap): Move decl to avoid an #ifdef.
(image_create_x_image_and_pixmap): Move #ifdef outside of call.
* src/xterm.c (x_composite_image): Avoid ‘else #endif’.

5 years agoAdd native image scaling (bug#33587)
Alan Third [Wed, 2 Jan 2019 21:00:09 +0000 (21:00 +0000)]
Add native image scaling (bug#33587)

* configure.ac: Test for XRender outside of xft checks.
* src/Makefile.in (XRENDER_LIBS): List XRender libs separately from
xft libs.
* lisp/image.el (image--get-imagemagick-and-warn): Allow resizing if
native scaling is available.
* src/dispextern.h: Add XRender and image scaling stuff.
(struct image): Add XRender Pictures.
* src/image.c (x_create_bitmap_mask):
(image_create_x_image_and_pixmap): Handle XRender Picture.
(scale_image_size):
(compute_image_size): Make available when any form of scaling is
enabled.
(x_set_image_size): New function.
(lookup_image): Set image size.
(x_create_x_image_and_pixmap): Create XRender Picture when necessary.
(x_put_x_image): Handle the case where desired size != actual size.
(free_image): Free XRender Pictures.
(Fimage_scaling_p): New function.
(syms_of_image): Add image-scaling-p.
* src/nsimage.m (ns_load_image): Remove NS specific resizing.
([EmacsImage setSizeFromSpec:]): Remove method.
(ns_image_set_size): New function.
* src/nsterm.m (ns_draw_fringe_bitmap): Cocoa and GNUstep both have
the same compositing functions, so remove unnecessary difference.
* src/xterm.c (x_composite_image): New function.
(x_draw_image_foreground): Use new x_composite_image function.
* doc/lispref/display.texi (Image Descriptors): Document
image-scaling-p and add resizing descriptors.
(ImageMagick Images): Remove resizing descriptors.

5 years agoFix drag and drop behaviour on NS (bug#30929)
Alan Third [Sat, 5 Jan 2019 16:11:37 +0000 (16:11 +0000)]
Fix drag and drop behaviour on NS (bug#30929)

* doc/emacs/macos.texi (Mac / GNUstep Events): Describe the new drag
and drop behaviour.
* lisp/term/ns-win.el (ns-drag-n-drop): Handle the new event format.
(ns-drag-n-drop-other-frame):
(ns-drag-n-drop-as-text):
(ns-drag-n-drop-as-text-other-frame): Remove functions and key
bindings.
* src/nsterm.m ([EmacsView performDragOperation:]): Send Emacs event
in new format without setting any modifiers.

5 years agoNew test custom--test-theme-variables
Michael Albinus [Thu, 10 Jan 2019 12:27:34 +0000 (13:27 +0100)]
New test custom--test-theme-variables

* test/lisp/custom-tests.el (custom--test-user-option)
(custom--test-variable): New variables.
(custom--test-theme-variables): New test.

* test/lisp/custom-resources/custom--test-theme.el (custom--test):
New file.

5 years agoHandle dedicated status in 'window--display-buffer' (Bug#33870)
Martin Rudalics [Thu, 10 Jan 2019 10:02:17 +0000 (11:02 +0100)]
Handle dedicated status in 'window--display-buffer' (Bug#33870)

* lisp/window.el (display-buffer-record-window): Rewrite
doc-string.
(window--display-buffer): Remove fifth argument DEDICATED and
either directly use a 'dedicated' entry in ALIST or the value
of 'display-buffer-mark-dedicated' instead.
(display-buffer-in-atom-window, display-buffer-use-some-frame)
(display-buffer-pop-up-frame, display-buffer-pop-up-window)
(display-buffer-below-selected, display-buffer-at-bottom):
Adjust callers of 'window--display-buffer'.
(window--make-major-side-window)
(display-buffer-in-side-window): Handle dedicated status of
the chosen side window via a 'dedicated' alist entry and
adjust 'window--display-buffer' call.
(display-buffer-in-child-frame): Set up TYPE correctly for and
adjust 'window--display-buffer' call.
(display-buffer-in-previous-window): Handle dedicated status
of a previous window already showing BUFFER.
* doc/lispref/windows.texi (Buffer Display Action Alists): New
action alist entry 'dedicated'.
(Dedicated Windows): Mention new buffer display action alist
entry 'dedicated'.
* etc/NEWS: Mention new buffer display action alist entry
'dedicated'.

5 years agoMention Japanese change in documentation
Paul Eggert [Thu, 10 Jan 2019 00:16:46 +0000 (16:16 -0800)]
Mention Japanese change in documentation

5 years agoChange preferred Japanese coding system to UTF-8
Yasuhiro KIMURA [Wed, 9 Jan 2019 23:44:10 +0000 (15:44 -0800)]
Change preferred Japanese coding system to UTF-8

* lisp/language/japan-util.el (setup-japanese-environment-internal):
Use utf-8 as preferred coding system instead of japanese-iso-8bit when
system is not MS-Windows. And while I'm at it, fix comment to fit current
implementation.  (Bug#28705)
Copyright-paperwork-exempt: yes.

5 years agoUse shortcuts for Flength
Paul Eggert [Wed, 9 Jan 2019 17:52:38 +0000 (09:52 -0800)]
Use shortcuts for Flength

When calculating the length of a Lisp object whose type is
known, use a specialized length operation on it to save a bit
of runtime overhead.
* src/callint.c (Fcall_interactively):
* src/minibuf.c (read_minibuf_unwind):
Use ASIZE rather than Flength on values that must be vectors.
* src/charset.c (Fsort_charsets):
* src/coding.c (detect_coding_sjis):
(Fdefine_coding_system_internal):
* src/data.c (wrong_choice):
* src/eval.c (Flet, eval_sub, Fapply, apply_lambda):
* src/fns.c (sort_list):
* src/font.c (font_vconcat_entity_vectors)
(font_find_for_lface):
* src/frame.c (Fmodify_frame_parameters):
* src/fringe.c (get_logical_fringe_bitmap):
* src/ftfont.c (ftfont_get_open_type_spec):
* src/gtkutil.c (xg_print_frames_dialog):
* src/lread.c (read1, read_vector):
* src/keymap.c (Fkey_description):
* src/kqueue.c (Fkqueue_add_watch):
* src/macfont.m (macfont_get_open_type_spec):
* src/menu.c (parse_single_submenu, x_popup_menu_1):
* src/minibuf.c (Finternal_complete_buffer):
* src/nsfont.m (ns_findfonts, nsfont_list_family):
* src/process.c (Fmake_process):
* src/search.c (Fset_match_data):
* src/xfaces.c (Fx_family_fonts):
Use list_length rather than Flength on values that must be lists.
* src/fns.c (list_length): New function.
(Flength): Use it.
* src/nsfont.m (ns_findfonts):
Use !NILP (x) rather than XFIXNUM (Flength (x)) != 0.
* src/xdisp.c (store_mode_line_string):
Use SCHARS rather than Flength on values that must be strings.

5 years ago* src/window.c (save_window_save): Revert part of d82e73f
Stefan Monnier [Tue, 8 Jan 2019 18:38:17 +0000 (13:38 -0500)]
* src/window.c (save_window_save): Revert part of d82e73f

...made unnecessary by a058edae.

5 years ago* admin/notes/unicode: Update to match recent changes.
Paul Eggert [Tue, 8 Jan 2019 18:25:50 +0000 (10:25 -0800)]
* admin/notes/unicode: Update to match recent changes.

5 years ago* lisp/emacs-lisp/map.el: Prepare for addition to GNU ELPA
Stefan Monnier [Tue, 8 Jan 2019 16:49:17 +0000 (11:49 -0500)]
* lisp/emacs-lisp/map.el: Prepare for addition to GNU ELPA

5 years ago* lisp/help-fns.el (help--load-prefixes): Demote errors from files.
Stefan Monnier [Tue, 8 Jan 2019 16:28:00 +0000 (11:28 -0500)]
* lisp/help-fns.el (help--load-prefixes): Demote errors from files.

5 years agoFix nasty cut'n'waste error in Tramp
Michael Albinus [Tue, 8 Jan 2019 14:03:57 +0000 (15:03 +0100)]
Fix nasty cut'n'waste error in Tramp

* lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file):
Remove weird code, resulting from cut'n'waste.

5 years agoAdapt .gitlab-ci.yml
Michael Albinus [Tue, 8 Jan 2019 08:21:07 +0000 (09:21 +0100)]
Adapt .gitlab-ci.yml

* .gitlab-ci.yml (variables): Move outside jobs.  Use
"GIT_STRATEGY: fetch".
(before_script): Install git.
(test-all): Rename from test.  Install inotify-tools.  Run "make
check-expensive".
(test-filenotify-gio): New job.

5 years ago* lisp/progmodes/js.el: Remove unused (require 'thingatpt).
Leo Liu [Tue, 8 Jan 2019 04:37:22 +0000 (12:37 +0800)]
* lisp/progmodes/js.el: Remove unused (require 'thingatpt).

5 years agoUse utf-8 coding system for all our Elisp files
Stefan Monnier [Tue, 8 Jan 2019 02:18:40 +0000 (21:18 -0500)]
Use utf-8 coding system for all our Elisp files

* lisp/international/ja-dic-cnv.el:
* lisp/international/ja-dic-utl.el:
* lisp/international/kinsoku.el:
* lisp/international/kkc.el:
* lisp/language/japan-util.el:
* lisp/language/japanese.el:
* lisp/leim/quail/cyril-jis.el:
* lisp/leim/quail/hanja-jis.el:
* lisp/leim/quail/japanese.el:
* lisp/leim/quail/py-punct.el:
* lisp/leim/quail/pypunct-b5.el: Use utf-8 coding system.
* lisp/international/titdic-cnv.el: Use utf-8-emacs coding system.

5 years ago* lisp/international/titdic-cnv.el: Save generated files with utf-8
Stefan Monnier [Tue, 8 Jan 2019 01:49:26 +0000 (20:49 -0500)]
* lisp/international/titdic-cnv.el: Save generated files with utf-8

(titdic-convert, miscdic-convert): Use utf-8 when writing and don't
bother putting a `coding:` tag since utf-8 is the default anyway.

5 years ago; ChangeLog fix
Glenn Morris [Mon, 7 Jan 2019 20:03:13 +0000 (15:03 -0500)]
; ChangeLog fix

ref http://lists.gnu.org/r/emacs-devel/2019-01/msg00076.html

5 years ago; Merge from origin/emacs-26
Glenn Morris [Mon, 7 Jan 2019 19:51:38 +0000 (11:51 -0800)]
; Merge from origin/emacs-26

The following commits were skipped:

13b586d (origin/emacs-26) Adapt filenotify-tests for emba
d8525ae (tag: emacs-26.1.91) Bump Emacs version to 26.1.91

5 years agoMerge from origin/emacs-26
Glenn Morris [Mon, 7 Jan 2019 19:51:38 +0000 (11:51 -0800)]
Merge from origin/emacs-26

f1ce72b ; ChangeLog.3 update
5b59cf0 * etc/AUTHORS: Update.
2cf20b6 * lisp/textmodes/mhtml-mode.el: Avoid loading flyspell.  (Bug...

# Conflicts:
# ChangeLog.3
# lisp/textmodes/mhtml-mode.el

5 years ago; Merge from origin/emacs-26
Glenn Morris [Mon, 7 Jan 2019 19:51:23 +0000 (11:51 -0800)]
; Merge from origin/emacs-26

The following commits were skipped:

99e2ad9 Improve GC+Cairo workaround
e0862ed Work around GC+Cairo bug

5 years agoMerge from origin/emacs-26
Glenn Morris [Mon, 7 Jan 2019 19:51:23 +0000 (11:51 -0800)]
Merge from origin/emacs-26

0ecff00 Improve commentary in font.h
a058eda Fix definition of Qwindow_point_insertion_type (Bug#33871)

5 years ago; Merge from origin/emacs-26
Glenn Morris [Mon, 7 Jan 2019 19:51:23 +0000 (11:51 -0800)]
; Merge from origin/emacs-26

The following commit was skipped:

7755173 Improve documentation of 'server-name'

5 years agoMerge from origin/emacs-26
Glenn Morris [Mon, 7 Jan 2019 19:51:23 +0000 (11:51 -0800)]
Merge from origin/emacs-26

5f2aa32 Update Unicode copyright notice

5 years ago; Merge from origin/emacs-26
Glenn Morris [Mon, 7 Jan 2019 19:51:23 +0000 (11:51 -0800)]
; Merge from origin/emacs-26

The following commits were skipped:

08840f2 Handle quoted file names in filenotify.el
e0870c3 ; Auto-commit of loaddefs files.

5 years agoAdapt filenotify-tests for emba
Michael Albinus [Mon, 7 Jan 2019 16:07:19 +0000 (17:07 +0100)]
Adapt filenotify-tests for emba

* .gitlab-ci.yml (test): Add EMACS_EMBA_CI variable.

* test/lisp/filenotify-tests.el (file-notify-test03-events)
(file-notify-test05-file-validity)
(file-notify-test06-dir-validity)
(file-notify-test07-many-events)
(file-notify-test09-watched-file-in-watched-dir): Adapt tests for emba.

5 years ago; Format filenotify-tests.el
Michael Albinus [Mon, 7 Jan 2019 15:59:43 +0000 (16:59 +0100)]
; Format filenotify-tests.el

5 years agoBump Emacs version to 26.1.91 emacs-26.1.91
Nicolas Petton [Mon, 7 Jan 2019 14:37:10 +0000 (15:37 +0100)]
Bump Emacs version to 26.1.91

* README:
* configure.ac:
* msdos/sed2v2.inp:
* nt/README.W32: Bump Emacs version to 26.1.91.

5 years ago; ChangeLog.3 update
Nicolas Petton [Mon, 7 Jan 2019 14:36:57 +0000 (15:36 +0100)]
; ChangeLog.3 update

5 years ago* etc/AUTHORS: Update.
Nicolas Petton [Mon, 7 Jan 2019 14:35:02 +0000 (15:35 +0100)]
* etc/AUTHORS: Update.

5 years agoAdapt tests for emba
Michael Albinus [Mon, 7 Jan 2019 13:04:17 +0000 (14:04 +0100)]
Adapt tests for emba

* test/lisp/filenotify-tests.el (file-notify-test03-events)
(file-notify-test05-file-validity)
(file-notify-test06-dir-validity)
(file-notify-test07-many-events)
(file-notify-test09-watched-file-in-watched-dir): Adapt tests for emba.

5 years agoMinor INFINITY/NAN cleanup
Paul Eggert [Mon, 7 Jan 2019 05:59:03 +0000 (21:59 -0800)]
Minor INFINITY/NAN cleanup

* src/lread.c (INFINITY): Use a more-portable way to specify
this macro on non-C99 platforms that lack it.
(NAN): Remove; unused.

5 years agoFix logb on zero, infinite, NaN args
Paul Eggert [Mon, 7 Jan 2019 00:23:41 +0000 (16:23 -0800)]
Fix logb on zero, infinite, NaN args

Change logb to return -infinity, +infinity, and NaN respectively.
Formerly logb returned an extreme fixnum to represent
infinity, but this is no longer the right thing to do now that
we have bignums and there is no extreme integer.
* doc/lispref/numbers.texi (Float Basics), etc/NEWS: Document.
* src/floatfns.c (Flogb): Implement this.

5 years ago* lisp/textmodes/mhtml-mode.el: Avoid loading flyspell. (Bug#33939)
Leo Liu [Sun, 6 Jan 2019 23:22:45 +0000 (07:22 +0800)]
* lisp/textmodes/mhtml-mode.el: Avoid loading flyspell.  (Bug#33939)

5 years agoUse integers for syntax-pps-stats
Paul Eggert [Sun, 6 Jan 2019 19:14:59 +0000 (11:14 -0800)]
Use integers for syntax-pps-stats

* lisp/emacs-lisp/syntax.el (syntax-ppss-stats):
Use integers, not floating-point, for stats, now that integers are
unbounded.  Almost always these should be fixnums.  Add 1 to last
slot’s car so that this addition need not be done at runtime.
(syntax-pps-stats, syntax-ppss): Use integers for calculations.
(syntax-ppss--update-stats): New convenience function.
(syntax-ppss): Use it.

5 years agoAdapt filenotify-tests for emba
Michael Albinus [Sun, 6 Jan 2019 14:42:57 +0000 (15:42 +0100)]
Adapt filenotify-tests for emba

* test/lisp/filenotify-tests.el (file-notify-test03-events)
(file-notify-test05-file-validity)
(file-notify-test06-dir-validity)
(file-notify-test07-many-events)
(file-notify-test09-watched-file-in-watched-dir): Adapt tests for emba.

5 years agoPort to platforms where tputs is in libtinfow
Paul Eggert [Sat, 5 Jan 2019 17:47:14 +0000 (09:47 -0800)]
Port to platforms where tputs is in libtinfow

* configure.ac (tputs_library): Also try tinfow, ncursesw (Bug#33977).

5 years agoNew flymake-supress-zero-counters defcustom
João Távora [Sat, 5 Jan 2019 12:12:00 +0000 (12:12 +0000)]
New flymake-supress-zero-counters defcustom

A feature suggested by Yuri Khan <yurivkhan@gmail.com>.

* lisp/progmodes/flymake.el (flymake-suppress-zero-counters): New
variable.  (flymake--mode-line-format): Use it.

5 years agoFix Flymake tests for GCC 8.2.0
João Távora [Fri, 4 Jan 2019 22:45:29 +0000 (22:45 +0000)]
Fix Flymake tests for GCC 8.2.0

Fixes: bug#33872
"Now you have two problems..."

* lisp/progmodes/flymake-cc.el (flymake-cc--make-diagnostics):
Adjust regexp.

5 years agoUnbreak Flymake's diagnostics buffer when revisiting source
John Shahid [Fri, 4 Jan 2019 21:28:35 +0000 (21:28 +0000)]
Unbreak Flymake's diagnostics buffer when revisiting source

Fixes: bug#33881
Copyright-paperwork-exempt: yes

* lisp/progmodes/flymake.el (flymake-show-diagnostics-buffer):
Set flymake--diagnostics-buffer-source before reverting.

5 years agoImprove GC+Cairo workaround
Paul Eggert [Wed, 4 Apr 2018 17:59:09 +0000 (10:59 -0700)]
Improve GC+Cairo workaround

Suggested by Eli Zaretskii (Bug#20890#31).
* src/font.h (font_data_structures_may_be_ill_formed): New function.
* src/ftfont.c (ftfont_close):
* src/ftcrfont.c (ftcrfont_close): Use it.

(cherry picked from commit d02fd482fbeaf6ed551e78223b538495cb0c3541)

5 years agoWork around GC+Cairo bug
Paul Eggert [Tue, 3 Apr 2018 15:24:10 +0000 (08:24 -0700)]
Work around GC+Cairo bug

Workaround suggested by Robert Pluim (Bug#20890#13).
* src/ftfont.c (ftfont_close) [USE_CAIRO]:
Do nothing if GC is in progress.

5 years agoDon't signal error from "C-x C-k l" about mouse events
Drew Adams [Sun, 30 Dec 2018 19:37:28 +0000 (11:37 -0800)]
Don't signal error from "C-x C-k l" about mouse events

* lisp/edmacro.el (edmacro-fix-menu-commands): Ignore mouse
events instead of signaling an error.  Display unsupported
events in the error message.  (Bug#33930)

5 years agoFix electric indent bug in python-mode after dedenting colon
Joel Rosdahl [Thu, 27 Dec 2018 15:52:07 +0000 (16:52 +0100)]
Fix electric indent bug in python-mode after dedenting colon

* list/progmodes/python.el (python-indent-post-self-insert-function):
Use markers instead of positions when reindenting statement(s) after
inserting electric colon to avoid reindenting too many
statements (bug#22663).

* test/lisp/progmodes/python-tests.el (python-indent-electric-colon-2):
Improve test case to also verify the fix of bug#22663.

Copyright-paperwork-exempt: yes

5 years agoImprove commentary in font.h
Eli Zaretskii [Sat, 5 Jan 2019 08:28:34 +0000 (10:28 +0200)]
Improve commentary in font.h

* src/font.h (struct font, struct font_driver): Fix typos and
wording in comments.  Document all driver methods.

5 years agoFix definition of Qwindow_point_insertion_type (Bug#33871)
Martin Rudalics [Fri, 4 Jan 2019 16:34:00 +0000 (17:34 +0100)]
Fix definition of Qwindow_point_insertion_type (Bug#33871)

* src/window.c (Qwindow_point_insertion_type): Fix definition
(Bug#33871).

5 years agoImprove documentation of 'server-name'
Eli Zaretskii [Fri, 4 Jan 2019 13:55:59 +0000 (15:55 +0200)]
Improve documentation of 'server-name'

* doc/emacs/misc.texi (Emacs Server, TCP Emacs server)
(emacsclient Options):
* lisp/server.el (server-name): Document the usage of
'server-name' to specify the server file as an absolute file
name.  (Bug#33934)

5 years agoImprove documentation of 'server-name'
Eli Zaretskii [Fri, 4 Jan 2019 13:40:43 +0000 (15:40 +0200)]
Improve documentation of 'server-name'

* doc/emacs/misc.texi (Emacs Server, TCP Emacs server)
(emacsclient Options):
* lisp/server.el (server-name):  Document the usage of
'server-name' to specify the server file as an absolute file
name.  Do not merge to master.  (Bug#33934)

5 years agoUpdate Unicode copyright notice
Eli Zaretskii [Fri, 4 Jan 2019 08:48:01 +0000 (10:48 +0200)]
Update Unicode copyright notice

* admin/unidata/copyright.html: Updated version from the
Unicode Consortium's site.

5 years agoMark some filenotify tests unstable on emba
Michael Albinus [Thu, 3 Jan 2019 17:55:11 +0000 (18:55 +0100)]
Mark some filenotify tests unstable on emba

* .gitlab-ci.yml (test): Add EMACS_EMBA_CI variable.

* test/lisp/filenotify-tests.el (file-notify-test03-events)
(file-notify-test05-file-validity)
(file-notify-test06-dir-validity)
(file-notify-test07-many-events)
(file-notify-test09-watched-file-in-watched-dir): Mark them as
:unstable on emba.

5 years agoAdapt test/README
Michael Albinus [Thu, 3 Jan 2019 14:37:53 +0000 (15:37 +0100)]
Adapt test/README

* test/README: Speak about continous integration tests on hydra
and emba.

5 years agoFix EBROWSE parsing of classes declared final.
Andrey Kotlarski [Thu, 3 Jan 2019 12:07:05 +0000 (14:07 +0200)]
Fix EBROWSE parsing of classes declared final.

5 years agoAvoid a compiler warning on macOS.
Philipp Stephani [Wed, 2 Jan 2019 17:56:49 +0000 (18:56 +0100)]
Avoid a compiler warning on macOS.

* src/xdisp.c (expose_window_tree): Define variable f only if used.

5 years ago; Move the section about seq.el to the correct place.
Nicolas Petton [Wed, 2 Jan 2019 17:39:57 +0000 (18:39 +0100)]
; Move the section about seq.el to the correct place.

5 years ago; Formatting fix in etc/NEWS
Nicolas Petton [Wed, 2 Jan 2019 17:37:41 +0000 (18:37 +0100)]
; Formatting fix in etc/NEWS

5 years agoDocument the new functions of seq.el
Nicolas Petton [Wed, 2 Jan 2019 17:36:27 +0000 (18:36 +0100)]
Document the new functions of seq.el

* etc/NEWS: New section documenting the addition of `seq-first' and
`seq-rest'.

5 years agoExtend electric-layout-mode to handle more complex layouts (bug#33794)
João Távora [Fri, 21 Dec 2018 18:00:08 +0000 (18:00 +0000)]
Extend electric-layout-mode to handle more complex layouts (bug#33794)

Entries in electric-layout-rules can specify multiple
newline-related actions which are executed in order of appearance.

Also, have it play nice with electric-pair-mode when inserting a
newlines, particularly with electric-pair-open-newline-between-pairs.

Entries in electric-layout-rules can also be functions.  Among other
things, the logic behind electric-pair-open-newline-between-pairs
could now be moved to electric-layout-mode, but this commit doesn't do
that yet.

This change was motivated by bug#33794 and is an alternative solution
to the problem reported in that bug.

* lisp/electric.el (electric-layout-rules): Adjust docstring.
(electric-layout-post-self-insert-function): Call
electric-layout-post-self-insert-function-1.
(electric-layout-post-self-insert-function-1): Rename from
electric-layout-post-self-insert-function.  Redesign.
(electric-layout-local-mode): New minor mode.

* test/lisp/electric-tests.el (electric-layout-int-main-kernel-style)
(electric-layout-int-main-allman-style)
(electric-modes-in-c-mode-with-self-insert-command)
(electric-pair-mode-newline-between-parens)
(electric-layout-mode-newline-between-parens-without-e-p-m)
(electric-layout-mode-newline-between-parens-without-e-p-m-2): New
tests.
(plainer-c-mode): New helper.

5 years agoHandle quoted file names in filenotify.el
Michael Albinus [Fri, 26 Jan 2018 10:57:41 +0000 (11:57 +0100)]
Handle quoted file names in filenotify.el

* lisp/filenotify.el (file-notify-add-watch): Do not save
quoted file names in `file-notify-descriptors'.

* test/lisp/files-tests.el
(files-file-name-non-special-notify-handlers): Do not expect
to fail.

5 years agoDon’t limit range error reports to fixnums
Paul Eggert [Tue, 1 Jan 2019 23:13:22 +0000 (15:13 -0800)]
Don’t limit range error reports to fixnums

* src/lisp.h (CHECK_RANGED_INTEGER): When signaling an error,
don’t arbitrarily limit the reported valid range to fixnums.

5 years agoBignums from garbage-collect, memory-use-counts
Paul Eggert [Tue, 1 Jan 2019 23:06:50 +0000 (15:06 -0800)]
Bignums from garbage-collect, memory-use-counts

Do not limit the results of garbage-collect and memory-use-counts
to fixnums, as they might be bignums now on 32-bit hosts.
* src/lisp.h (byte_ct): New type.
* src/alloc.c (object_ct): New type.
(consing_since_gc, gc_relative_threshold)
(memory_full_cons_threshold, total_string_bytes):
Now byte_ct, not EMACS_INT.
(total_conses, total_symbols, total_buffers, total_free_conses)
(total_free_symbols, total_free_floats, total_floats)
(total_free_intervals, total_intervals, total_strings)
(total_free_strings, total_vectors, total_vector_slots)
(total_free_vector_slots): Now object_ct, not EMACS_INT.
(bounded_number): Remove.  All uses removed.
(object_bytes): New function.
(total_bytes_of_live_objects, garbage_collect_1): Use byte_ct,
not size_t, to count total GC bytes where multiple objects are
involved.
(garbage_collect_1, Fmemory_use_counts):
Do not limit returned counts to fixnums.
(sweep_conses, sweep_floats, sweep_intervals, sweep_symbols):
Use object_ct, not EMACS_INT, to count GC objects.

5 years agoBe consistent about list length fixnum overflow
Paul Eggert [Tue, 1 Jan 2019 19:41:16 +0000 (11:41 -0800)]
Be consistent about list length fixnum overflow

* src/fns.c (Flength, Fproper_list_p): Use overflow_error to
report the (typically impossible) fixnum overflow.

5 years agoFix woman.el to not confuse scan-sexps
Paul Eggert [Tue, 1 Jan 2019 19:35:17 +0000 (11:35 -0800)]
Fix woman.el to not confuse scan-sexps

* lisp/woman.el (woman-unpadded-space-char):
Escape the close-bracket (Bug#33940).

5 years agodecode-time: allow bignum years
Paul Eggert [Tue, 1 Jan 2019 19:33:10 +0000 (11:33 -0800)]
decode-time: allow bignum years

* src/timefns.c (TM_YEAR_BASE):
Now a constant as it need not be a macro.
(Fdecode_time): Do not signal an overflow merely because the
Gregorian year number does not fix in a fixnum (which can
happen on hosts with 64-bit time_t and with 32-bit int and
EMACS_INT).

5 years ago; Auto-commit of loaddefs files.
Glenn Morris [Tue, 1 Jan 2019 12:24:58 +0000 (07:24 -0500)]
; Auto-commit of loaddefs files.

5 years ago; Auto-commit of loaddefs files.
Glenn Morris [Tue, 1 Jan 2019 11:25:23 +0000 (06:25 -0500)]
; Auto-commit of loaddefs files.

5 years agoFix integer overflow check in json code
Paul Eggert [Tue, 1 Jan 2019 07:07:33 +0000 (23:07 -0800)]
Fix integer overflow check in json code

* src/json.c (json_to_lisp): Check for ptrdiff_t overflow,
not fixnum overflow.