]> git.eshelyaron.com Git - emacs.git/log
emacs.git
7 years agoMerge with remote rep test-concurrency
Tino Calancha [Sat, 10 Dec 2016 14:04:12 +0000 (23:04 +0900)]
Merge with remote rep

7 years agoFix error messages in thread.c
Eli Zaretskii [Sat, 10 Dec 2016 09:42:48 +0000 (11:42 +0200)]
Fix error messages in thread.c

* src/thread.c (lisp_mutex_unlock, Fcondition_wait)
(Fcondition_notify, Fthread_join): Fix error messages.

7 years agoImprove doc strings in thread.c
Eli Zaretskii [Sat, 10 Dec 2016 09:31:11 +0000 (11:31 +0200)]
Improve doc strings in thread.c

* src/thread.c (Fmake_condition_variable, Fcondition_wait)
(Fcondition_notify, Fcondition_mutex, Fcondition_name, Fmake_thread)
(Fthread_join, Fall_threads): Doc fixes.

7 years agoFix building with check-lisp-object-type
Eli Zaretskii [Sat, 10 Dec 2016 09:06:23 +0000 (11:06 +0200)]
Fix building with check-lisp-object-type

* src/thread.c (mark_one_thread): Use NILP to compare with
m_saved_last_thing_searched, which is a Lisp object.  Reported by
Andreas Politz <politza@hochschule-trier.de>.

7 years agoDocumentation and commentary improvements
Eli Zaretskii [Sat, 10 Dec 2016 08:49:39 +0000 (10:49 +0200)]
Documentation and commentary improvements

* src/lisp.h:
* src/regex.c:
* src/xgselect.c (xg_select): Improve commentary and formatting.

* doc/lispref/objects.texi (Thread Type, Mutex Type)
(Condition Variable Type): New subsections.
(Type Predicates): Add thread-related predicates.
* doc/lispref/objects.texi (Editing Types):
* doc/lispref/elisp.texi (Top): Update higher-level menus.

7 years agoFix typo in dired-omit-case-fold-p
Tino Calancha [Sat, 10 Dec 2016 00:48:43 +0000 (09:48 +0900)]
Fix typo in dired-omit-case-fold-p

* lisp/dired-x.el (dired-omit-case-fold-p):
Write 'file-name-case-insensitive-p' instead of
'file-name-case-sensitive-p'.
Add declaration of 'file-name-case-insensitive-p'.

7 years ago*src/sysdep.c: Fix a comment.
Eli Zaretskii [Fri, 9 Dec 2016 17:04:36 +0000 (19:04 +0200)]
*src/sysdep.c: Fix a comment.

7 years agoFix compilation error on Fedora 24
Eli Zaretskii [Fri, 9 Dec 2016 16:51:59 +0000 (18:51 +0200)]
Fix compilation error on Fedora 24

* src/sysdep.c [HAVE_H_ERRNO]: Remove declaration of h_errno.
Reported by Paul Eggert <eggert@cs.ucla.edu>.

7 years agoFix compilation warnings due to prototype of thread_select
Eli Zaretskii [Fri, 9 Dec 2016 16:23:04 +0000 (18:23 +0200)]
Fix compilation warnings due to prototype of thread_select

* src/thread.h <int select_func>: Make the 5th and 6th arguments
be 'const'.
* src/process.c [WINDOWSNT]:
* src/w32proc.c: Make the 5th and 6th argument to sys_select be
'const'.

7 years agoFix compilation on Debian GNU/Linux
Eli Zaretskii [Fri, 9 Dec 2016 16:04:27 +0000 (18:04 +0200)]
Fix compilation on Debian GNU/Linux

* src/thread.h: Include sys/types.h, for ssize_t that regex.h
uses.  Reported by Robert Marshall <robert.marshall@codethink.co.uk>.

7 years agoFix subtle errors with let-binding of localized variables
Eli Zaretskii [Fri, 9 Dec 2016 14:03:08 +0000 (16:03 +0200)]
Fix subtle errors with let-binding of localized variables

* src/eval.c (do_specbind): Don't require a "symbol" that is
actually a cons cell, in order to call set-default, as there are
no longer such bindings.  This makes do_specbind work like the
pre-concurrency implementation in specbind for bindings of
forwarded symbols.  Use specpdl_kind to access the type of the
binding.
(specpdl_kind): New function.

7 years agoFix compilation warnings
Eli Zaretskii [Thu, 8 Dec 2016 18:47:27 +0000 (20:47 +0200)]
Fix compilation warnings

* src/thread.c (Fmake_thread): Call emacs_abort, to avoid
compilation warning.

7 years agoAdd a NEWS entry.
Eli Zaretskii [Thu, 8 Dec 2016 16:35:40 +0000 (18:35 +0200)]
Add a NEWS entry.

7 years agoFix network streams.
Eli Zaretskii [Wed, 7 Dec 2016 19:01:40 +0000 (21:01 +0200)]
Fix network streams.

The original code messed up flags in fd_callback_data[], and also
didn't call add_process_read_fd for process-related file descriptors.

7 years agoMinimize spurious diffs from master.
Eli Zaretskii [Wed, 7 Dec 2016 17:08:24 +0000 (19:08 +0200)]
Minimize spurious diffs from master.

7 years agoFix the test suite
Eli Zaretskii [Tue, 6 Dec 2016 18:23:37 +0000 (20:23 +0200)]
Fix the test suite

* test/automated/bindings.el: Contents moved to
test/src/data-tests.el.
* test/automated/threads.el: Moved to test/src/thread-tests.el.

7 years agoFix a typo in bytecode.c.
Eli Zaretskii [Tue, 6 Dec 2016 18:11:47 +0000 (20:11 +0200)]
Fix a typo in bytecode.c.

7 years agoFix compilation problems.
Eli Zaretskii [Mon, 5 Dec 2016 20:50:44 +0000 (22:50 +0200)]
Fix compilation problems.

7 years agoFix merged code in process.c and eval.c.
Eli Zaretskii [Mon, 5 Dec 2016 18:59:11 +0000 (20:59 +0200)]
Fix merged code in process.c and eval.c.

7 years agoMerge branch 'concurrency'
Eli Zaretskii [Sun, 4 Dec 2016 17:59:17 +0000 (19:59 +0200)]
Merge branch 'concurrency'

Conflicts (resolved):
configure.ac
src/Makefile.in
src/alloc.c
src/bytecode.c
src/emacs.c
src/eval.c
src/lisp.h
src/process.c
src/regex.c
src/regex.h

7 years agoAvoid compilation warnings in nt/*.c files
Eli Zaretskii [Sat, 3 Dec 2016 09:54:24 +0000 (11:54 +0200)]
Avoid compilation warnings in nt/*.c files

* nt/cmdproxy.c (fail, vfprintf, fprintf, printf, warn)
(console_event_handler): Add prototypes.
(canon_filename, skip_space, skip_nonspace, get_next_token)
(batch_file_p, search_dir, make_absolute, try_dequote_cmdline)
(spawn, get_env_size): Now static.
* nt/ddeclient.c (DdeCallback): Provide prototype.
* nt/addpm.c (DdeCallback): Provide prototype.
(add_registry): Now static.

7 years agoDisplay window before calculating width
Mark Oteiza [Fri, 2 Dec 2016 21:53:02 +0000 (16:53 -0500)]
Display window before calculating width

* lisp/image-dired.el (image-dired-display-thumbs): Display the buffer
before calling image-dired-line-up and friends, which in turn calculate
the window width. Otherwise, the thumbnail layout will be wrong in
a side-by-side split.

7 years agoUse pop-to-buffer-same-window
Mark Oteiza [Fri, 2 Dec 2016 21:50:25 +0000 (16:50 -0500)]
Use pop-to-buffer-same-window

* lisp/image-dired.el (image-dired-dired-with-window-configuration):
(image-dired-dired-edit-comment-and-tags): Instead of switch-to-buffer,
use pop-to-buffer-same-window cf. Bug#22244.
(image-dired-forward-image, image-dired-backward-image): Ignore unused.

7 years ago; Merge: Lisp watchpoints (Bug#24923)
Noam Postavsky [Sat, 3 Dec 2016 01:39:10 +0000 (20:39 -0500)]
; Merge: Lisp watchpoints (Bug#24923)

7 years agoDocument watchpoints
Noam Postavsky [Sun, 13 Dec 2015 19:47:58 +0000 (14:47 -0500)]
Document watchpoints

* doc/lispref/debugging.texi (Variable Debugging):
* doc/lispref/variables.texi (Watching Variables): New section.
* etc/NEWS: Add entry for watchpoints

7 years agoAdd tests for watchpoints
Noam Postavsky [Sun, 13 Dec 2015 04:10:15 +0000 (23:10 -0500)]
Add tests for watchpoints

* test/src/data-tests.el (data-tests-variable-watchers):
(data-tests-local-variable-watchers): New tests.

7 years agoEnsure redisplay using variable watcher
Noam Postavsky [Sat, 21 Nov 2015 22:02:42 +0000 (17:02 -0500)]
Ensure redisplay using variable watcher

This replaces looking up the variable name in redisplay--variables when
setting it.

* lisp/frame.el: Replace redisplay--variables with add-variable-watcher
calls.
* src/xdisp.c (Fset_buffer_redisplay): Rename from maybe_set_redisplay,
set the redisplay flag unconditionally.
(Vredisplay__variables): Remove it.
* src/data.c (set_internal): Remove maybe_set_redisplay call.

7 years agoAdd function to trigger debugger on variable write
Noam Postavsky [Sat, 21 Nov 2015 21:03:06 +0000 (16:03 -0500)]
Add function to trigger debugger on variable write

* lisp/emacs-lisp/debug.el (debug-on-variable-change):
(debug--variable-list):
(cancel-debug-on-variable-change): New functions.
(debugger-setup-buffer): Add watchpoint clause.

7 years agoShow watchpoints when describing variables
Noam Postavsky [Sat, 19 Nov 2016 21:50:34 +0000 (16:50 -0500)]
Show watchpoints when describing variables

* src/data.c (Fget_variable_watchers): New function.
* lisp/help-fns.el (describe-variable): Use it to detect watching
functions.

7 years agoAdd lisp watchpoints
Noam Postavsky [Fri, 20 Nov 2015 00:50:06 +0000 (19:50 -0500)]
Add lisp watchpoints

This allows calling a function whenever a symbol-value is changed.

* src/lisp.h (lisp_h_SYMBOL_TRAPPED_WRITE_P):
(SYMBOL_TRAPPED_WRITE_P): New function/macro.
(lisp_h_SYMBOL_CONSTANT_P): Check for SYMBOL_NOWRITE specifically.
(enum symbol_trapped_write): New enumeration.
(struct Lisp_Symbol): Rename field constant to trapped_write.
(make_symbol_constant): New function.

* src/data.c (Fadd_variable_watcher, Fremove_variable_watcher):
(set_symbol_trapped_write, restore_symbol_trapped_write):
(harmonize_variable_watchers, notify_variable_watchers): New functions.

* src/data.c (Fset_default): Call `notify_variable_watchers' for trapped
symbols.
(set_internal): Change bool argument BIND to 3-value enum and call
`notify_variable_watchers' for trapped symbols.

* src/data.c (syms_of_data):
* src/data.c (syms_of_data):
* src/font.c (syms_of_font):
* src/lread.c (intern_sym, init_obarray):
* src/buffer.c (syms_of_buffer): Use make_symbol_constant.

* src/alloc.c (init_symbol):
* src/bytecode.c (exec_byte_code): Use SYMBOL_TRAPPED_WRITE_P.
* src/data.c (Fmake_variable_buffer_local, Fmake_local_variable):
(Fmake_variable_frame_local):
* src/eval.c (Fdefvaralias, specbind): Refer to Lisp_Symbol's
trapped_write instead of constant.
(Ffuncall): Move subr calling code into separate function.
(funcall_subr): New function.

7 years ago; * lisp/dired-x.el (dired-omit-case-fold): Fix last change.
Eli Zaretskii [Fri, 2 Dec 2016 18:37:44 +0000 (20:37 +0200)]
; * lisp/dired-x.el (dired-omit-case-fold): Fix last change.

7 years agoStarting doc of user options with "*" is long obsolete
Glenn Morris [Fri, 2 Dec 2016 18:11:53 +0000 (13:11 -0500)]
Starting doc of user options with "*" is long obsolete

* lisp/battery.el (battery-upower-device): Doc fix.

7 years agoFix docstrings to have a complete sentence in first line
Reuben Thomas [Fri, 2 Dec 2016 16:36:43 +0000 (16:36 +0000)]
Fix docstrings to have a complete sentence in first line

* lisp/dired-x.el (dired-omit-case-fold, dired-omit-case-fold-p): Fix
docstrings.

7 years agoRemove obsolete comments and commented code from dired-x.el
Reuben Thomas [Tue, 8 Nov 2016 22:04:52 +0000 (22:04 +0000)]
Remove obsolete comments and commented code from dired-x.el

* lisp/dired-x.el (dired-mark-sexp): Remove a query from 1993 and its
1997 answer about whether dired-mark-sexp is used.
* lisp/dired-x.el (dired-buffers-for-dir-exact): Remove this function
commented out since before dired-x.el was added to RCS in 1994.

7 years agoRemove pre-customize dired-x.el documentation
Reuben Thomas [Tue, 8 Nov 2016 22:01:59 +0000 (22:01 +0000)]
Remove pre-customize dired-x.el documentation

* lisp/dired-x.el (Commentary): Remove USAGE section explaining how to
use dired-x from .emacs.  It is now fully customizable.
* lisp/dired-x.el (dired-guess-shell-alist-user): Remove explanation of
how to set this custom variable in .emacs.  It should be customized.

7 years agoAllow files to be matched case-sensitively in dired-x
Reuben Thomas [Tue, 8 Nov 2016 17:42:24 +0000 (17:42 +0000)]
Allow files to be matched case-sensitively in dired-x

* lisp/dired-x.el (dired-mark-unmarked-files): Add an argument which
controls case folding for matching the regex (Bug#18716).
(dired-omit-case-fold): New variable.  Defaults to `t' on case-sensitive
systems, `nil' otherwise.
(dired-mark-omitted, dired-omit-expunge): Use dired-omit-case-fold.
* doc/misc/dired-x.texi, etc/NEWS: Document dired-omit-case-fold.

7 years agoAdd support for curly quotation marks to electric-pair-mode
Reuben Thomas [Tue, 8 Nov 2016 11:53:20 +0000 (11:53 +0000)]
Add support for curly quotation marks to electric-pair-mode

* lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs): Add
entries for left/right single/double quotation marks, from
electric-quote-chars. Note that this is safe for single quotation marks,
unlike with the ASCII apostrophe, since, although the right quotation
mark can be used as an apostrophe, it is the left quotation mark that is
typed to get a pair (Bug#24901).

7 years agoFix bug#25087
Nicolas Petton [Fri, 2 Dec 2016 13:07:41 +0000 (14:07 +0100)]
Fix bug#25087

* etc/themes/manoj-dark-theme.el: Fix two typos.

7 years agoHandle quoted file names in Tramp
Michael Albinus [Fri, 2 Dec 2016 10:38:19 +0000 (11:38 +0100)]
Handle quoted file names in Tramp

* lisp/net/tramp.el (tramp-file-name-handler): Handle also the
case the file name is quoted.  This is not trapped by the
reassigned `tramp-file-name-regexp' anymore.

7 years ago* lisp/battery.el: Add 'battery-upower' -- very fast battery status.
Evgeny Zajcev [Fri, 2 Dec 2016 10:17:38 +0000 (12:17 +0200)]
* lisp/battery.el: Add 'battery-upower' -- very fast battery status.

7 years agoSupport for rawrgb images using imagemagick
Evgeny Zajcev [Fri, 2 Dec 2016 10:09:31 +0000 (12:09 +0200)]
Support for rawrgb images using imagemagick

* src/image.c (imagemagick_load_image): Set wand size before loading
blob when ':width' and ':height' are provided.

* lisp/image.el (image-format-suffixes): Add 'image/x-rgb'.

7 years agoFix 'sql-connect' on first invocation
Nikolay Kudryavtsev [Fri, 2 Dec 2016 09:53:33 +0000 (11:53 +0200)]
Fix 'sql-connect' on first invocation

* lisp/progmodes/sql.el (sql-connect): Reorder code which sets
param-var.  (Bug#19452)

7 years agoFix type typo on Solaris
Paul Eggert [Fri, 2 Dec 2016 06:45:07 +0000 (22:45 -0800)]
Fix type typo on Solaris

* src/sysdep.c (system_process_attributes) [SOLARIS2 && HAVE_PROCFS]:
Fix type mismatch, caught by --enable-check-lisp-object-type.

7 years agoMerge from gnulib
Paul Eggert [Fri, 2 Dec 2016 05:56:49 +0000 (21:56 -0800)]
Merge from gnulib

This incorporates:
2016-11-27 md4,md5,sha*: tune for recent glibc _STRING_INLINE_unaligned
2016-11-21 snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
* build-aux/snippet/c++defs.h:
* lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
Copy from gnulib.

7 years agoMake struct font_drivers read-only
Paul Eggert [Fri, 2 Dec 2016 05:47:12 +0000 (21:47 -0800)]
Make struct font_drivers read-only

This simplifies the code a bit, and makes the structs more
shareable and less likely to become corrupt.
* src/alloc.c (cleanup_vector):
* src/font.c (valid_font_driver, font_prepare_cache)
(font_finish_cache, font_get_cache, font_clear_cache)
(register_font_driver, font_update_drivers):
* src/font.h (struct font, struct font_driver_list)
(valid_font_driver):
struct font_drivers are now const.
* src/font.c, src/ftcrfont.c, src/ftfont.c, src/nsfont.m, src/xfont.c:
Omit no-longer-necessary decls.
* src/ftcrfont.c (syms_of_ftcrfont):
* src/ftxfont.c (syms_of_ftxfont):
* src/xftfont.c (syms_of_xftfont):
Omit no-longer-necessary initialization code.
* src/ftcrfont.c (ftcrfont_driver):
* src/ftfont.c (ftfont_driver):
* src/ftxfont.c (ftxfont_driver):
* src/macfont.m (macfont_driver):
* src/nsfont.m (nsfont_driver):
* src/xfont.c (xfont_driver):
* src/xftfont.c (xftfont_driver):
Use C99-style initializer for ease of maintenance, and make it const.
* src/ftcrfont.c, src/ftxfont.c, src/xftfont.c:
Refer to functions like ftfont_text_extents directly.
* src/ftfont.c (ftfont_get_cache, ftfont_list, ftfont_list_family)
(ftfont_has_char, ftfont_encode_char, ftfont_text_extents)
(ftfont_get_bitmap, ftfont_anchor_point, ftfont_otf_capability)
(ftfont_variation_glyphs, ftfont_filter_properties)
(ftfont_combining_capability):
* src/xfont.c (xfont_get_cache):
Now extern, so that other modules’ struct font_drivers can use
them directly.
* src/macfont.m (macfont_descriptor_entity):
* src/nsfont.m (nsfont_open):
Use constant directly; this is clearer.

7 years ago; * test/lisp/progmodes/compile-tests.el: Fix a typo in a comment.
Eli Zaretskii [Thu, 1 Dec 2016 18:26:54 +0000 (20:26 +0200)]
; * test/lisp/progmodes/compile-tests.el: Fix a typo in a comment.

7 years agoForth related improvements for etags
Helmut Eller [Thu, 1 Dec 2016 16:58:08 +0000 (18:58 +0200)]
Forth related improvements for etags

Generate correct tags names for things like "(foo)".
Previously "(foo" created.

Fix a bug where a tag for "-bar" was created when encountering things
like "create-bar".

Recognize more words from the Forth-2012 Standard.

* lib-src/etags.c (Forth_words): Check for whitespace after defining
words.  Create tag with make_tag instead of get_tag to avoid notiname
which isn't appropriate for Forth.

* test/manual/etags/forth-src/test-forth.fth: Add some test cases.
* test/manual/etags/ETAGS.good_1:
* test/manual/etags/ETAGS.good_2:
* test/manual/etags/ETAGS.good_3:
* test/manual/etags/ETAGS.good_4:
* test/manual/etags/ETAGS.good_5:
* test/manual/etags/ETAGS.good_6:
* test/manual/etags/CTAGS.good: Adapt to the changes in etags.c and
new test cases.

7 years agoFix bugs with buffer-local tags tables
Eli Zaretskii [Thu, 1 Dec 2016 16:49:51 +0000 (18:49 +0200)]
Fix bugs with buffer-local tags tables

* lisp/progmodes/etags.el (visit-tags-table): After
'visit-tags-table-buffer' returns, retrieve the value of
'tags-file-name' from the buffer we started in.  Force
recomputation of 'tags-completion-table' next time it is used,
since the list of tags table has changed.
(visit-tags-table-buffer): Accept an additional optional argument
CBUF, the buffer in which to start processing, and switch to that
buffer if CBUF is non-nil.  All callers changed to supply a
non-nil CBUF when they call 'visit-tags-table-buffer' in a loop.
Doc fix.
(tags-completion-table): Accept an optional argument, the buffer
for which to build 'tags-completion-table', and build that
buffer's completion table.
(tags-lazy-completion-table): Pass the current buffer to
'tags-completion-table'.
(tags-file-name): Don't say in the doc string that setting this
variable directly is enough; say that 'visit-tags-table' should be
used for that.  (Bug#158)  (Bug#17326)  (Bug#23164)

* doc/emacs/maintaining.texi (Select Tags Table): Delete the
advice to set 'tags-file-name' directly.

* test/lisp/progmodes/etags-tests.el: New tests.

7 years ago; Auto-commit of loaddefs files.
Glenn Morris [Thu, 1 Dec 2016 11:20:43 +0000 (06:20 -0500)]
; Auto-commit of loaddefs files.

7 years ago* src/lisp.h (LISP_INITIALLY_ZERO): Remove.
Paul Eggert [Thu, 1 Dec 2016 08:32:54 +0000 (00:32 -0800)]
* src/lisp.h (LISP_INITIALLY_ZERO): Remove.

All uses replaced by LISPSYM_INITIALLY.

7 years agoMake Cairo safer for --enable-gcc-warnings
Paul Eggert [Thu, 1 Dec 2016 08:17:20 +0000 (00:17 -0800)]
Make Cairo safer for --enable-gcc-warnings

* src/image.c (xcolor_to_argb32, pbm_load, jpeg_load_body, gif_load):
Avoid overflow warnings about ‘0xff << 24’.
(xpm_load, gif_load): Avoid unnecessary casts.
(gif_load): Fewer ifdefs.

7 years agoFix Condition in kbd_buffer_store_buffered_event (bug#19547).
Thierry Volpiatto [Wed, 30 Nov 2016 20:22:04 +0000 (21:22 +0100)]
Fix Condition in kbd_buffer_store_buffered_event (bug#19547).

* src/keyboard.c (kbd_buffer_store_buffered_event): Should be NILP and not
!NILP.

7 years agoFix previous commit
Noam Postavsky [Tue, 29 Nov 2016 23:56:08 +0000 (18:56 -0500)]
Fix previous commit

* lisp/vc/diff-mode.el (diff-refine-hunk): Make sure to go to beginning
of hunk before calling `diff-hunk-style'.

7 years ago* lisp/vc/diff-mode.el (diff-refine-hunk): Remove redundant variable.
Noam Postavsky [Tue, 29 Nov 2016 23:52:41 +0000 (18:52 -0500)]
* lisp/vc/diff-mode.el (diff-refine-hunk): Remove redundant variable.

7 years agoUse archive-mode for .cbr files
Glenn Morris [Tue, 29 Nov 2016 21:57:05 +0000 (16:57 -0500)]
Use archive-mode for .cbr files

* lisp/files.el (auto-mode-alist): Add cbr.  (Bug#24994)

7 years agoPacify Sun C 5.14
Paul Eggert [Tue, 29 Nov 2016 21:12:24 +0000 (13:12 -0800)]
Pacify Sun C 5.14

* src/lisp.h (enum Lisp_Save_Type): Put SAVE_UNUSED,
SAVED_INTEGER, SAVE_FUNCPOINTER, SAVE_POINTER, and SAVE_OBJECT
into this enum rather than into an anonymous enum.  This avoids
diagnostics from Sun C 5.14 and is a bit clearer anyway.

7 years agoAdjust lwlib to recent config.h change
Paul Eggert [Tue, 29 Nov 2016 17:19:42 +0000 (09:19 -0800)]
Adjust lwlib to recent config.h change

* lwlib/lwlib-Xaw.c: Include <stdlib.h> for 'abort' (Bug#24506).

7 years ago* src/eval.c (clobbered_eassert): Check E's syntax.
Paul Eggert [Tue, 29 Nov 2016 16:38:17 +0000 (08:38 -0800)]
* src/eval.c (clobbered_eassert): Check E's syntax.

7 years agoImprove user retrieval from auth-source in Tramp
Michael Albinus [Tue, 29 Nov 2016 14:51:38 +0000 (15:51 +0100)]
Improve user retrieval from auth-source in Tramp

* lisp/net/tramp.el (tramp-read-passwd, tramp-clear-passwd):
Use user for auth-source request only in case it exists.

7 years agoshr.el: Don't render a normal table twice
Katsumi Yamaoka [Tue, 29 Nov 2016 10:20:51 +0000 (10:20 +0000)]
shr.el: Don't render a normal table twice

* lisp/net/shr.el (shr-collect-extra-strings-in-table):
Don't render a table if it is called for the first time,
IOW, recognize it to never be invalid (bug#25051).

7 years agoImprove diff-mode navigation/manipulation
Dima Kogan [Wed, 14 Sep 2016 22:25:06 +0000 (15:25 -0700)]
Improve diff-mode navigation/manipulation

This is Bug #17544.

Navigation and use of diff buffers had several annoying corner cases
that this patch fixes.  These corner cases were largely due to
inconsistent treatment of file headers.  Say you have a diff such as
this:

 --- aaa
 +++ bbb
 @@ -52,7 +52,7 @@
 hunk1
 @@ -74,7 +74,7 @@
 hunk2
 --- ccc
 +++ ddd
 @@ -608,6 +608,6 @@
 hunk3
 @@ -654,7 +654,7 @@
 hunk4

The file headers here are the '---' and '+++' lines.  With the point on
such a line, hunk operations would sometimes refer to the next hunk and
sometimes to the previous hunk.  Most of the time it would be the
previous hunk, which is not what the user would expect.  This patch
consistently treats such headers as the next hunk.  So with this patch,
if the point is on the '--- ccc' line, the point is seen as referring to
hunk3.

Specific behaviors this fixes are:

1. It should be possible to place the point in the middle of a diff
buffer, and press M-k repeatedly to kill hunks in the order they appear
in the buffer.  With the point on hunk1, M-k M-k would kill hunk1 then
hunk2.  With the point on hunk3, it would kill hunk3 then hunk4; this is
fine.  However, with the point on hunk2, it'd kill hunk2 then hunk1.
This is fixed by this patch.

2. Similarly, it should be possible to apply hunks in order.  Previously
with the point at the start, C-c C-a would apply the hunk1, then move
the point to the first @@ header, and thus C-c C-a would try to apply
the same hunk again.

* lisp/vc/diff-mode.el (diff--wrap-navigation): New function to add better
navigation logic to diff-{hunk,file}-{next,prev}.
(diff-hunk-next, diff-hunk-prev):
(diff-file-next, diff-file-prev): Better navigation logic if
skip-hunk-start is true, which happens when called interactively.
(diff-bounds-of-hunk, diff-find-source-location):
(diff-apply-hunk, diff-current-defun, diff-refine-hunk): Small tweaks to
improve hunk navigation.

7 years agoUpcase Path and ComSpec in process-environment
Noam Postavsky [Fri, 18 Nov 2016 21:26:53 +0000 (16:26 -0500)]
Upcase Path and ComSpec in process-environment

Since 2016-07-18 "Keep w32 environment settings internal only", the
upcasing of environment variables "Path" and "ComSpec" occured after
initializing process-environment.  This meant that Lisp code trying to
override "PATH" environment had no effect (Bug #24956).

* src/w32.c (init_environment): Upcase the "Path" and "ComSpec" entries
in Vprocess_environment.

7 years agoGuard terminal parameter in XTerm mouse mode
Philipp Stephani [Tue, 22 Nov 2016 20:32:11 +0000 (21:32 +0100)]
Guard terminal parameter in XTerm mouse mode

It has been observed (in the HTerm terminal emulator) that the
event stored in the 'xterm-mouse-last-down' terminal parameter gets
overwritten during a mouse drag operation, causing Emacs to attempt to
synthesize the non-existing <drag-mouse-0> event.  Copy the event into
the terminal parameter to protect against such modifications.

* lisp/xt-mouse.el (xterm-mouse-translate-1): Guard against modification
of input event list.

7 years agoFix template for module functions
Paul Eggert [Mon, 28 Nov 2016 15:48:50 +0000 (07:48 -0800)]
Fix template for module functions

Reported by Syohei YOSHIDA (Bug#24932).
* modules/modhelp.py (TEMPLATES):
c_func’s 2nd arg is ptrdiff_t, not int.

7 years agoPacify gcc -Wswitch.
Paul Eggert [Mon, 28 Nov 2016 07:15:12 +0000 (23:15 -0800)]
Pacify gcc -Wswitch.

* src/keyboard.c (kbd_buffer_store_buffered_event):
Move initialization into default case.

7 years agoReuse already existing lisp symbols for ignore_event (bug#19547).
Thierry Volpiatto [Mon, 28 Nov 2016 05:55:14 +0000 (06:55 +0100)]
Reuse already existing lisp symbols for ignore_event (bug#19547).

* lisp/subr.el (while-no-input-ignore-events): Use them instead.
* src/keyboard.c (kbd_buffer_store_buffered_event):
Use help-echo for HELP_EVENT, iconify-frame for ICONIFY_EVENT,
and make-frame-visible for DEICONIFY_EVENT.
(syms_of_keyboard): Remove unneeded symbols.

7 years agoAllow configuring which event throw-on-input should ignore (bug#19547).
Thierry Volpiatto [Sun, 27 Nov 2016 08:31:58 +0000 (09:31 +0100)]
Allow configuring which event throw-on-input should ignore (bug#19547).

* src/keyboard.c (kbd_buffer_store_buffered_event):
Translate event to corresponding symbol from `while-no-input-ignore-events`
and check them with Fmemq.
(syms_of_keyboard): Declare new lisp variable `while-no-input-ignore-events`
and its symbols.

* lisp/subr.el (while-no-input-ignore-events): Add default values.

* doc/lispref/commands.texi (Event Input Misc):
Document while-no-input-ignore-events.
* etc/NEWS: Same.

7 years agoash, lsh avoid code duplication
Tino Calancha [Sun, 27 Nov 2016 03:22:25 +0000 (12:22 +0900)]
ash, lsh avoid code duplication

See discussion in:
https://lists.gnu.org/archive/html/emacs-devel/2016-11/msg00469.html
* src/data.c (ash_lsh_impl): New function.
(ash, lsh): Use it.

7 years agoAdd will change module to CSS property list
Simen Heggestøyl [Tue, 15 Nov 2016 19:54:55 +0000 (20:54 +0100)]
Add will change module to CSS property list

* lisp/textmodes/css-mode.el (css-property-alist)
(css-value-class-alist): Add new property and value class from CSS
Will Change Module.

7 years agoDon't access pointers to freed storage in regex.c
Paul Eggert [Sat, 26 Nov 2016 08:19:08 +0000 (00:19 -0800)]
Don't access pointers to freed storage in regex.c

Remove __BOUNDED_POINTERS__ code, which does not work with
-fcheck-pointer-bound and which has undefined behavior anyway.
Problem found when trying to port to gcc -fcheck-pointer-bounds.
(This code was removed from glibc and gnulib regex.c many years ago.)
* src/regex.c (ELSE_EXTEND_BUFFER_HIGH_BOUND): Remove.
(EXTEND_BUFFER): Use a more-portable approach that avoids
undefined behavior due to inspecting pointers to freed storage.

7 years ago; Fix last change in cpp.el
Eli Zaretskii [Sat, 26 Nov 2016 07:30:59 +0000 (09:30 +0200)]
; Fix last change in cpp.el

* lisp/progmodes/cpp.el (cpp-message-min-time-interval): Fix the
':type' attribute.

7 years agoPort build to gcc -fcheck-pointer-bounds
Paul Eggert [Sat, 26 Nov 2016 05:24:28 +0000 (21:24 -0800)]
Port build to gcc -fcheck-pointer-bounds

This does not let Emacs run, just build.
* lib-src/etags.c (main):
* lib-src/profile.c (main):
Use return, not exit.
* src/bytecode.c (BYTE_CODE_THREADED) [__CHKP__]:
Do not define, as -fcheck-pointer-bounds is incompatible with taking
addresses of labels.
* src/menu.c (Fx_popup_dialog): Use eassume, not eassert,
to pacify gcc -fcheck-pointer-bounds -Wnull-dereference.

7 years ago* lisp/emacs-lisp/subr-x.el (hash-table-keys, hash-table-values): Use cl-loop.
Tino Calancha [Sat, 26 Nov 2016 03:03:25 +0000 (12:03 +0900)]
* lisp/emacs-lisp/subr-x.el (hash-table-keys, hash-table-values): Use cl-loop.

7 years ago* lisp/rot13.el: Use lexical-binding
Simen Heggestøyl [Fri, 25 Nov 2016 20:08:32 +0000 (21:08 +0100)]
* lisp/rot13.el: Use lexical-binding

7 years agoAdd "using" to cl-loop debug spec (Bug#24750)
Mark Oteiza [Fri, 25 Nov 2016 19:14:41 +0000 (14:14 -0500)]
Add "using" to cl-loop debug spec (Bug#24750)

* lisp/emacs-lisp/cl-macs.el (cl-loop): Add element to account for
"using" hash table clause.

7 years agoAllow user control of progress messages in cpp.el
Hong Xu [Fri, 25 Nov 2016 10:51:22 +0000 (12:51 +0200)]
Allow user control of progress messages in cpp.el

* progmodes/cpp.el (cpp-message-min-time-interval): New defcustom.
(cpp-progress-time): Use 'cpp-message-min-time-interval'.  Improve
the doc string.
(cpp-highlight-buffer): Use 'cpp-progress-message' instead of
'message' to print messages.  (Bug#24861)

Copyright-paperwork-exempt: yes

7 years agoNew input method 'polish-prefix'
Wojciech Gac [Fri, 25 Nov 2016 10:41:20 +0000 (12:41 +0200)]
New input method 'polish-prefix'

* lisp/leim/quail/latin-pre.el ("polish-prefix"): New input
method.  (Bug#24967)

* etc/NEWS: Mention the new input method.

Copyright-paperwork-exempt: yes

7 years ago* lisp/isearch.el: Add 'provide'. (Bug#25026)
Damien Cassou [Fri, 25 Nov 2016 10:29:44 +0000 (12:29 +0200)]
* lisp/isearch.el: Add 'provide'.  (Bug#25026)

7 years agoAdd missing 'provide's in preloaded packages
Philippe Vaucher [Fri, 25 Nov 2016 10:24:22 +0000 (12:24 +0200)]
Add missing 'provide's in preloaded packages

* lisp/composite.el:
* lisp/replace.el:
* lisp/textmodes/text-mode.el: Add provide statement.  (Bug#24985)

7 years agoHandle correctly an (undocumented) bare mode in hack-local-variables.
Alan Mackenzie [Thu, 24 Nov 2016 20:34:42 +0000 (20:34 +0000)]
Handle correctly an (undocumented) bare mode in hack-local-variables.

lisp/files.el (hack-local-variables-prop-line): When a file's first line
contains only a mode specification without the string "mode:", return the mode
symbol only when `handle-mode' is t.

7 years agoClarify ediff-directories prompt
Dima Kogan [Thu, 24 Nov 2016 02:04:21 +0000 (18:04 -0800)]
Clarify ediff-directories prompt

* lisp/vc/ediff-mult.el (ediff-filegroup-action):
* lisp/vc/ediff.el (ediff-directories,ediff-directory-revisions,
ediff-directories3, ediff-merge-directories,
ediff-merge-directories-with-ancestor, ediff-merge-directory-revisions,
ediff-merge-directory-revisions-with-ancestor): Clarify prompt message for
filename filter in interactive ediff. The new message makes it clear what is
being filtered

7 years ago* test/lisp/ibuffer-tests.el (ibuffer-test-Bug24997): Add test for Bug#24997.
Tino Calancha [Thu, 24 Nov 2016 01:39:33 +0000 (10:39 +0900)]
* test/lisp/ibuffer-tests.el (ibuffer-test-Bug24997): Add test for Bug#24997.

7 years agoFix Bug#24199.
Ulf Jasper [Wed, 23 Nov 2016 17:09:34 +0000 (18:09 +0100)]
Fix Bug#24199.

* lisp/calendar/icalendar.el (icalendar--do-create-ical-alarm): Quote
  bracket in doc string (make checkdoc happy).
  (icalendar-import-buffer),
  (icalendar-import-buffer),
  (icalendar--convert-ical-to-diary),
  (icalendar--add-diary-entry): Rename argument diary-file to
  diary-filename (make checkdoc happy).
  (icalendar--convert-recurring-to-diary): Take care of byday-clause
  in monthly recurring events.  Actually fix Bug#24199.

* test/lisp/calendar/icalendar-tests.el (icalendar-import-bug-24199): New.

7 years ago* test/lisp/ibuffer-tests.el (ibuffer-test-Bug25000): Add test for Bug25000.
Tino Calancha [Wed, 23 Nov 2016 12:19:16 +0000 (21:19 +0900)]
* test/lisp/ibuffer-tests.el (ibuffer-test-Bug25000): Add test for Bug25000.

7 years ago; Fix previous change
Mark Oteiza [Tue, 22 Nov 2016 16:09:15 +0000 (11:09 -0500)]
; Fix previous change

strlen is already computed, just use the symbol.
* lisp/ibuffer.el (ibuffer-compile-make-eliding-form): Use strlen.

7 years agoComint: new user option for C-c M-r and C-c M-s
Philipp Stephani [Wed, 26 Oct 2016 22:28:34 +0000 (00:28 +0200)]
Comint: new user option for C-c M-r and C-c M-s

This option allows the user to specify where to place point after these
commands.

* comint.el (comint-move-point-for-matching-input): New user option.
(comint-previous-matching-input-from-input): Use user option.

7 years agoAdd tramp-eshell-directory-change to eshell-first-time-mode-hook
Michael Albinus [Tue, 22 Nov 2016 09:16:54 +0000 (10:16 +0100)]
Add tramp-eshell-directory-change to eshell-first-time-mode-hook

* lisp/net/tramp.el (tramp-eshell-directory-change): Add it also to
`eshell-first-time-mode-hook'.

7 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Michael Albinus [Tue, 22 Nov 2016 08:21:03 +0000 (09:21 +0100)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

7 years agoDump also connection local variables in Tramp bug reports
Michael Albinus [Tue, 22 Nov 2016 08:20:21 +0000 (09:20 +0100)]
Dump also connection local variables in Tramp bug reports

* lisp/net/tramp-cmds.el (tramp-bug, tramp-append-tramp-buffers):
Dump also connection local variables.

7 years agoMake sure elided long buffer names have ellipses added (Bug#24972)
Mark Oteiza [Tue, 22 Nov 2016 07:42:47 +0000 (02:42 -0500)]
Make sure elided long buffer names have ellipses added (Bug#24972)

* lisp/ibuffer.el (ibuffer-compile-make-eliding-form): Restore the
string concat, and chop "strvar" less the width of the ellipsis.
(ibuffer-compile-make-substring-form): Add space as padding, to fix
off-by-one in alignment.

7 years agoBuffer-menu-no-header: Detect a fake header
Tino Calancha [Tue, 22 Nov 2016 06:51:57 +0000 (15:51 +0900)]
Buffer-menu-no-header: Detect a fake header

* lisp/buff-menu.el (Buffer-menu-no-header): Use
'tabulated-list-header-overlay-p' (Bug#24855).

7 years agobuff-menu: Add command to unmark all buffers
Tino Calancha [Tue, 22 Nov 2016 06:23:50 +0000 (15:23 +0900)]
buff-menu: Add command to unmark all buffers

Bind 'U' in buff-menu, bs and electric-buff-menu to commands
to unmark all buffers (Bug#24880).
* lisp/emacs-lisp/tabulated-list.el (tabulated-list-header-overlay-p):
New predicate; return non-nil if tabulated-list has a fake header.
* lisp/buff-menu.el (Buffer-menu-unmark-all-buffers):
New command; remove all flags that use a particular mark from all the lines.
Bind it to 'M-DEL'.
(Buffer-menu-unmark-all):
New command; remove all flags from all the lines.  Bind it to 'U'.
(Buffer-menu-marker-char, Buffer-menu-del-char): New variables.
(Buffer-menu-delete, Buffer-menu-mark): Use them.
(Buffer-menu-mode-map): Update menus.
(Buffer-menu-mode): Update mode doc.
* lisp/bs.el (bs-unmark-all, bs-unmark-previous): New commands.
(bs-mode-map): Bind them to 'U' and '<backspace>' respectively.
(bs-mode): Update mode doc.
* lisp/ebuff-menu.el (electric-buffer-menu-mode-map):
Bind Buffer-menu-unmark-all to 'U' and Buffer-menu-unmark-all-buffers
to 'M-DEL'.
(bs--down, bs-down, bs--up, bs-up, bs-unmark-current, bs-mark-current):
Use point instead of cursor in doc string.
(electric-buffer-list): Update mode doc.
* doc/emacs/buffers.texi (Several Buffers): Mention Buffer-menu-unmark-all
and Buffer-menu-unmark-all-buffers.
; * etc/NEWS: Add an entry per each new feature.

7 years agoRevert "* lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure."
Mark Oteiza [Tue, 22 Nov 2016 04:05:47 +0000 (23:05 -0500)]
Revert "* lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure."

This reverts commit 10efaf718c5258af0ba62077cf4e2aaf9fb90227.

7 years agoPort htmlfontify to cl-lib
Mark Oteiza [Mon, 21 Nov 2016 19:50:15 +0000 (14:50 -0500)]
Port htmlfontify to cl-lib

* lisp/htmlfontify.el: (hfy-box-to-border-assoc, hfy-box-to-style):
(hfy-decor, hfy-face-to-style-i, hfy-face-at, hfy-merge-adjacent-spans):
(hfy-fontify-buffer, htmlfontify-string, hfy-mark-tag-names): Replace
instances of cl aliases with their cl-lib counterparts.

7 years ago* lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure.
Mark Oteiza [Mon, 21 Nov 2016 17:56:15 +0000 (12:56 -0500)]
* lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure.

7 years agoFix another CANNOT_DUMP problem
Paul Eggert [Mon, 21 Nov 2016 16:42:12 +0000 (08:42 -0800)]
Fix another CANNOT_DUMP problem

Reported by Robert Pluim in:
http://lists.gnu.org/archive/html/emacs-devel/2016-11/msg00468.html
* src/emacs.c (might_dump) [CANNOT_DUMP]: Move enum decl from here ...
* src/lisp.h: ... to here.

7 years agoAdd further consideration to string-width (Bug#24972)
Mark Oteiza [Mon, 21 Nov 2016 09:19:51 +0000 (04:19 -0500)]
Add further consideration to string-width (Bug#24972)

* lisp/ibuffer.el (ibuffer-compile-make-eliding-form):
(ibuffer-compile-make-substring-form): Use truncate-string-to-width.

7 years agoDon't collect strings existing out of <tr>...</tr>
Katsumi Yamaoka [Mon, 21 Nov 2016 08:21:27 +0000 (08:21 +0000)]
Don't collect strings existing out of <tr>...</tr>

* lisp/net/shr.el (shr-collect-extra-strings-in-table):
Don't collect strings existing out of <tr>...</tr> to avoid
duplication with what `shr-tag-table' renders.

7 years ago* lisp/gnus/gnus-mh.el (gnus-summary-save-in-folder): Slightly change
Katsumi Yamaoka [Mon, 21 Nov 2016 06:40:01 +0000 (06:40 +0000)]
* lisp/gnus/gnus-mh.el (gnus-summary-save-in-folder): Slightly change
the last commit.

7 years agoAdd a variable to pass additional options to rcvstore
Mike Kupfer [Mon, 21 Nov 2016 06:10:13 +0000 (06:10 +0000)]
Add a variable to pass additional options to rcvstore

* lisp/gnus/gnus-mh.el (gnus-rcvstore-options): New variable.
(gnus-summary-save-in-folder): Include gnus-rcvstore-options in
the arguments that are passed to rcvstore.

cf. <nntp://news.gmane.org/gmane.emacs.gnus.general/87263>
and followups, i.e., ding mailing list.