]> git.eshelyaron.com Git - emacs.git/log
emacs.git
7 years agoSupport standard input, output and error streams feature/stdout-stderr-stream
Phillip Lord [Mon, 18 Jul 2016 22:28:05 +0000 (23:28 +0100)]
Support standard input, output and error streams

* doc/lispref/streams.texi: Update doc
* lisp/simple.el (external-standard-input): New function
* src/fns.c (external-standard-input-read-char,
  external-standard-input-read-line): New functions
* src/print.c: (external-standard-output,
  external-standard-input): New functions

8 years agoStop worrying about Alliant in bytecode.c
Paul Eggert [Fri, 15 Jul 2016 20:15:43 +0000 (22:15 +0200)]
Stop worrying about Alliant in bytecode.c

* src/bytecode.c (PUSH): Remove workaround for long-obsolete compiler.

8 years agoRemove BYTE_MAINTAIN_TOP
Paul Eggert [Fri, 15 Jul 2016 20:15:42 +0000 (22:15 +0200)]
Remove BYTE_MAINTAIN_TOP

It is no longer needed now that we assume GC_MARK_STACK ==
GC_MAKE_GCPROS_NOOPS.
* src/bytecode.c (BYTE_MAINTAIN_TOP): Remove.
All uses removed, and code simplified accordingly.
(BEFORE_POTENTIAL_GC, AFTER_POTENTIAL_GC): Remove, since they
are always no-ops now.  All uses removed.
(MAYBE_GC): Remove.  All uses replaced by maybe_gc,
since it is now equivalent.

8 years agoRemove now-inaccurate bytecode comments
Paul Eggert [Fri, 15 Jul 2016 20:15:42 +0000 (22:15 +0200)]
Remove now-inaccurate bytecode comments

* src/bytecode.c: Remove comments that are no longer accurate.
Most of these are actually old ChangeLog entries.

8 years agoPort to glibc 2.24 (pre-release) + ppc64
Paul Eggert [Fri, 15 Jul 2016 11:07:09 +0000 (13:07 +0200)]
Port to glibc 2.24 (pre-release) + ppc64

Inspired by a suggestion by Florian Weimer in:
https://sourceware.org/ml/libc-alpha/2016-07/msg00425.html
* configure.ac (HAVE_PERSONALITY_ADDR_NO_RANDOMIZE):
Rename from HAVE_PERSONALITY_LINUX32, and check for
ADDR_NO_RANDOMIZE (the crucial thing) instead of for LINUX32.
All uses changed.
* src/emacs.c (main) [HAVE_PERSONALITY_ADDR_NO_RANDOMIZE]:
Use ADDR_NO_RANDOMIZE from personality.h rather than inventing the
flag ourselves.  Just set that flag, rather than also setting the
persona.  When doing it, avoid functions like putenv that may
allocate memory.

8 years agoRevert "Add a couple cells to lisp-prettify-symbols-alist"
Mark Oteiza [Thu, 14 Jul 2016 22:23:40 +0000 (18:23 -0400)]
Revert "Add a couple cells to lisp-prettify-symbols-alist"

This reverts commit bdda4855c635ecf4135e23321bdba023e9ae65c9.

8 years ago* lisp/simple.el (shell-command): Add save-match-data comment
Stefan Monnier [Thu, 14 Jul 2016 13:45:05 +0000 (09:45 -0400)]
* lisp/simple.el (shell-command): Add save-match-data comment

8 years agoCC Mode: correct incorrect invocation of parse-partial-sexp.
Alan Mackenzie [Thu, 14 Jul 2016 12:42:17 +0000 (12:42 +0000)]
CC Mode: correct incorrect invocation of parse-partial-sexp.

Fixes bug #23944.

* lisp/progmodes/cc-engine.el (c-literal-limits): make the sixth argument of
an invocation of parse-partial-sexp 'syntax-table, not the fourth.

8 years agoFix configure summary for hybrid malloc configurations
Andreas Schwab [Thu, 14 Jul 2016 08:26:24 +0000 (10:26 +0200)]
Fix configure summary for hybrid malloc configurations

* configure.ac ("$hybrid_malloc" = yes): Set GNU_MALLOC to no,
parenthesize value of GNU_MALLOC_reason.

8 years agoFix delete-duplicate-lines
Stephen Berman [Thu, 14 Jul 2016 07:55:28 +0000 (09:55 +0200)]
Fix delete-duplicate-lines

* lisp/sort.el (delete-duplicate-lines): Delete duplicate
first line when operating backward (bug#23863).

8 years agoRemove unused SHEAP_OBJ
Andreas Schwab [Thu, 14 Jul 2016 07:29:17 +0000 (09:29 +0200)]
Remove unused SHEAP_OBJ

* Makefile.in (base_obj): Remove $(SHEAP_OBJ).

8 years ago* lisp/gnus/mm-decode.el (mm-convert-shr-links):
Katsumi Yamaoka [Thu, 14 Jul 2016 02:19:24 +0000 (02:19 +0000)]
* lisp/gnus/mm-decode.el (mm-convert-shr-links):
Use shr-image-map instead of shr-map (bug#23964).

8 years ago* lisp/mouse.el (mouse): Consolidate group definition here
Stefan Monnier [Wed, 13 Jul 2016 15:08:21 +0000 (11:08 -0400)]
* lisp/mouse.el (mouse): Consolidate group definition here

* lisp/cus-edit.el (mouse): Remove both group definitions.

8 years agoInclude versioned preloaded libraries in `package--builtin-versions'
Chris Feng [Wed, 13 Jul 2016 11:52:10 +0000 (19:52 +0800)]
Include versioned preloaded libraries in `package--builtin-versions'

* lisp/emacs-lisp/autoload.el (update-directory-autoloads): Do not
exclude preloaded libraries or remove entries generated for them.
(autoload-generate-file-autoloads): Do not generate autoload
statements for preloaded libraries.

8 years agoOmit unnecessary #includes from xwidget.c
Paul Eggert [Wed, 13 Jul 2016 08:15:42 +0000 (10:15 +0200)]
Omit unnecessary #includes from xwidget.c

* src/xwidget.c: Remove #include directives that are not needed.
Also, don’t conditionalize #includes on HAVE_X_WINDOWS, since this
file is compiled only if the X interface is available.

8 years agoPort xwidget.c to GCC 6 with --enable-gcc-warnings
Paul Eggert [Wed, 13 Jul 2016 07:56:50 +0000 (09:56 +0200)]
Port xwidget.c to GCC 6 with --enable-gcc-warnings

* src/xwidget.c (x_draw_xwidget_glyph_string, xwidget_end_redisplay):
Adjust to pacify GCC.  Add a couple of FIXME comments, suggesting
possible bugs found by GCC.

8 years agoEscape meta chars in commands processed by shell
Tino Calancha [Wed, 13 Jul 2016 04:27:33 +0000 (13:27 +0900)]
Escape meta chars in commands processed by shell

* lisp/progmodes/grep.el (grep-compute-defaults): Quote braces
in all commands to be passed to a shell (Bug#23959).

8 years agoRevert "Cleanup tooltips"
John Wiegley [Tue, 12 Jul 2016 22:27:25 +0000 (15:27 -0700)]
Revert "Cleanup tooltips"

This reverts commit 20038f8ab75dd1551412a43cd58520c483c22921.

I am reverting this change because it was applied without prior discussion
on emacs-devel, and has been found to break the NS port.  It needs more
testing and review before it should be applied here.

8 years ago* lisp/emacs-lisp/cl-macs.el (cl--prog): New function
Stefan Monnier [Tue, 12 Jul 2016 16:05:01 +0000 (12:05 -0400)]
* lisp/emacs-lisp/cl-macs.el (cl--prog): New function

(cl-prog, cl-prog*): New macros.

8 years ago* cl-generic.el (cl-defmethod): Make docstring dynamic
Stefan Monnier [Tue, 12 Jul 2016 16:04:01 +0000 (12:04 -0400)]
* cl-generic.el (cl-defmethod): Make docstring dynamic

* lisp/emacs-lisp/cl-generic.el (cl-defmethod): Make docstring dynamic.
(cl--generic-make-defmethod-docstring): New function for that.
(cl-defmethod, cl-generic-generalizers): Tweak docstrings accordingly.
(cl-generic-define-method, cl--generic-describe): Change `load-history'
format of cl-defmethods, so as not to confused methods with equal
specializers but different qualifiers.
* lisp/emacs-lisp/eieio-core.el (cl-generic-generalizers): Provide docstrings.

8 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Tue, 12 Jul 2016 13:19:18 +0000 (16:19 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

8 years agoDon't install keyboard hook when debugged on MS-Windows
Eli Zaretskii [Tue, 12 Jul 2016 13:18:06 +0000 (16:18 +0300)]
Don't install keyboard hook when debugged on MS-Windows

* src/w32fns.c (setup_w32_kbdhook): Don't install the keyboard
hook if we are being debugged.  This avoids hosing the debugger,
because the hook is global, and is called in the context of the
thread which installed it, and that thread is stopped when GDB has
control.  Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.

8 years agoAmend CC Mode to handle big C++ raw strings correctly.
Alan Mackenzie [Tue, 12 Jul 2016 13:16:02 +0000 (13:16 +0000)]
Amend CC Mode to handle big C++ raw strings correctly.

Problems were caused by such a string spanning jit-lock chunks, and by a flaw
in the +-500 bytes boundaries imposed for macros.

* lisp/progmodes/cc-mode.el (c-extend-region-for-CPP): Check the +-500 byte
macro boundaries here.
(c-extend-font-lock-region-for-macros): Remove the check on the +-500 byte
lower boundary.  Fix the check on the upper boundary.

* lisp/progmodes/cc-fonts.el (c-font-lock-raw-strings): Handle the starting
point already being within a raw string.

* lisp/progmodes/cc-engine.el (c-raw-string-pos)
(c-depropertize-raw-strings-in-region, c-after-change-re-mark-raw-strings):
Modify regexp element "\\{,16\\}" to "\\{0,16\\}" for greater compatibility
with other Emacsen.

8 years ago* lisp/mouse.el (mouse-select-region-move-to-beginning): Add :group.
Stephen Berman [Tue, 12 Jul 2016 08:43:24 +0000 (10:43 +0200)]
* lisp/mouse.el (mouse-select-region-move-to-beginning): Add :group.

8 years agoCleanup tooltips
Dmitry Antipov [Tue, 12 Jul 2016 06:16:26 +0000 (09:16 +0300)]
Cleanup tooltips

* src/dispextern.h (toplevel): Remove 'tip_frame' and 'tip_window' decls.
* src/frame.h (struct frame): New bitfield to indicate tooltip frame.
(FRAME_TOOLTIP_P): New macro.
* src/frame.c (make_frame): Mark new frame as regular frame by default.
(Fframe_list, delete_frame): Redesign to use FRAME_TOOLTIP_P.
(syms_of_frame): Don't DEFSYM 'Qtooltip' but use 'Qtooltip_timer'
and 'Qtooltip_parameters' instead.
* src/gtkutil.h (toplevel): Add 'xg_hide_tip' decl.
* src/gtkutil.c (xg_hide_tip): New function.
(xg_hide_tooltip): Adjust to cancel GTK event loop timeout if needed.
* src/menu.c (Fx_popup_menu): Adjust call to Fx_hide_tip.
* src/nsfns.c (toplevel): Remove 'tip_frame' leftover.
* src/w32fns.c (unwind_create_tip_frame): Remove.
(w32_display_monitor_attributes_list)
(w32_display_monitor_attributes_list_fallback): Use FRAME_TOOLTIP_P.
(toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'.
(x_create_tip_frame): Use do_unwind_create_frame.  Mark new frame
as a tooltip frame and record it using appropriate display info.
(x_hide_tooltip): Add frame arg.
(Fx_show_tip): Adjust to avoid globals, store tooltip parameters among
base frame parameters, store tooltip hide timer among tooltip frame
parameters.
(Fx_hide_tip): Add frame arg, hide tooltips on all displays by default.
(syms_of_w32fns): Don't DEFSYM 'Qtip_frame', don't initialize
and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'.
* src/w32term.c (w32_read_socket): Extract tooltip window id from
per-display data.  Use FRAME_TOOLTIP_P where appropriate.
(x_new_font): Use FRAME_TOOLTIP_P.
(x_free_frame_resources): Reset pointer to tooltip frame.
* src/w32term.h (struct w32_display_info): New member 'w32_tooltip_frame'.
* src/xdisp.c (init_iterator, x_consider_frame_title, prepare_menu_bars):
Use FRAME_TOOLTIP_P.
* src/xfns.c (x_make_monitor_attribute_list)
(Fx_display_monitor_attributes_list): Likewise.
(unwind_create_tip_frame): Remove.
(toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'.
(x_create_tip_frame): Use do_unwind_create_frame.  Mark new frame
as a tooltip frame and record it using appropriate display info.
(x_hide_tooltip): Add frame arg.
(Fx_show_tip): Adjust to avoid globals, store tooltip parameters among
base frame parameters, store tooltip hide timer among tooltip frame
parameters.  To hide GTK system tooltip, use timeout hooked into GTK
event loop.
(Fx_hide_tip): Add frame arg, hide tooltips on all displays by default.
(syms_of_xfns): Don't DEFSYM 'Qtip_frame', don't initialize
and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'.
* src/xterm.c (handle_one_xevent): Extract tooltip window id from
per-display data.  Use FRAME_TOOLTIP_P where appropriate.
(x_new_font, x_set_window_size): Use FRAME_TOOLTIP_P.
(x_free_frame_resources): Reset pointer to tooltip frame.
* src/xterm.h (struct x_display_info): New member 'x_tooltip_frame'.
(struct x_output) [USE_GTK_TOOLTIP]: New member 'ttip_timeout'.

8 years ago* src/fns.c (syms_of_fns): Leave `features' lexically scoped
Stefan Monnier [Tue, 12 Jul 2016 01:33:43 +0000 (21:33 -0400)]
* src/fns.c (syms_of_fns): Leave `features' lexically scoped

8 years agoTest mapcan
Mario Lang [Mon, 11 Jul 2016 19:43:48 +0000 (21:43 +0200)]
Test mapcan

* test/src/fns-tests.el (fns-tests-mapcan): New test.

8 years ago; Remove parens from sentence in docstring.
Mark Oteiza [Mon, 11 Jul 2016 18:37:54 +0000 (14:37 -0400)]
; Remove parens from sentence in docstring.

8 years agoPrevent to apply funcall on t
Stefan Monnier [Mon, 11 Jul 2016 15:55:04 +0000 (00:55 +0900)]
Prevent to apply funcall on t

* lisp/vc/ediff-util.el (ediff-really-quit): Ignore the global part of
'ediff-after-quit-hook-internal' hook (Bug#23933).

8 years agoIgnore angle mode while simplifying units
Tino Calancha [Mon, 11 Jul 2016 15:38:14 +0000 (00:38 +0900)]
Ignore angle mode while simplifying units

* lisp/calc/calc-forms.el (math-to-hms, math-from-hms):
Ignore value of 'calc-angle-mode' when 'math-simplifying-units'
is non-nil (Bug#23889).
* lisp/calc/calc-math.el (math-to-radians, math-from-radians)
(math-from-radians-2, math-to-radians-2): Idem.

8 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Mon, 11 Jul 2016 14:19:40 +0000 (17:19 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

8 years agoFix display of composed characters
Eli Zaretskii [Mon, 11 Jul 2016 14:18:11 +0000 (17:18 +0300)]
Fix display of composed characters

* src/xdisp.c (x_produce_glyphs): Fix off-by-one error in
iteration through composition glyphs.  (Bug#23938)

8 years agoFix composition bug caused by off-by-1 typo
Paul Eggert [Mon, 11 Jul 2016 14:14:33 +0000 (16:14 +0200)]
Fix composition bug caused by off-by-1 typo

* src/xdisp.c (x_produce_glyphs): Fix off-by-one typo when
computing composition glyph (Bug#23938).

8 years agoDired always read file system
Tino Calancha [Mon, 11 Jul 2016 05:34:49 +0000 (14:34 +0900)]
Dired always read file system

* dired.el (dired-always-read-filesystem): Add new option.
(dired-mark-files-containing-regexp): Use it (Bug#22694).
* doc/emacs/dired.texi: Mention it in the manual.
* test/lisp/dired-tests.el (dired-test-bug22694): Add test.
;* etc/NEWS: Add entry for this change.

8 years ago* src/macfont.m (mac_font_shape): Make sure that total_advance is increasing.
YAMAMOTO Mitsuharu [Mon, 11 Jul 2016 04:35:57 +0000 (13:35 +0900)]
* src/macfont.m (mac_font_shape): Make sure that total_advance is increasing.

8 years agoAvoid 'unused var' 'not left unused var' warnings
Tino Calancha [Mon, 11 Jul 2016 02:30:48 +0000 (11:30 +0900)]
Avoid 'unused var' 'not left unused var' warnings

* lisp/ibuffer.el (ibuffer-locked-buffer-p): Remove unused var 'char'.
Rename used var '_buffer' to 'cbuffer'.

* lisp/ibuf-ext.el (ibuffer-unmark-all): Rename used var '_mark'
to cmark'.

8 years ago* lisp/simple.el (shell-command, shell-command-on-region): Fix doc strings
Tino Calancha [Sun, 10 Jul 2016 17:47:28 +0000 (02:47 +0900)]
* lisp/simple.el (shell-command, shell-command-on-region): Fix doc strings

8 years agoAdd a note how to use `tramp-own-remote-path'
Michael Albinus [Sun, 10 Jul 2016 15:03:48 +0000 (17:03 +0200)]
Add a note how to use `tramp-own-remote-path'

* doc/misc/tramp.texi (Inline methods, External methods)
(Remote shell setup, Android shell setup)
(Frequently Asked Questions, Frequently Asked Questions):
Use @command and @samp consequently.
(Remote programs): The remote shell must support the -l
argument, in order to use `tramp-own-remote-path'.  (Bug#23914)

8 years agoRemove App Nap setting from Info.plist (bug#22993)
Alan Third [Sun, 10 Jul 2016 09:18:40 +0000 (10:18 +0100)]
Remove App Nap setting from Info.plist (bug#22993)

* nextstep/templates/Info.plist.in: Remove LSAppNapIsDisabled key since
it doesn't actually disable app nap.

8 years agoAn efficient built-in mapcan
Mario Lang [Sat, 9 Jul 2016 23:18:47 +0000 (01:18 +0200)]
An efficient built-in mapcan

A built-in version of `mapcan' avoids consing up (and GC'ing) the
intermediate list.

* src/fns.c (Fmapcan): New built-in.
(syms_of_fns): Define.

* lisp/emacs-lisp/cl.el (mapcan): Remove defalias.

* lisp/emacs-lisp/cl-extra.el (cl-mapcan): Use built-in `mapcan'
if only one sequence is provided.

* lisp/progmodes/hideif.el (hif-delimit):
* lisp/dired-aux.el (dired-do-find-regexp):
* lisp/woman.el (woman-parse-colon-path): Use `mapcan' instead of
`cl-mapcan'.

* lisp/woman.el (eval-when-compile): Require 'cl-lib only when
compiling.

* lisp/mouse.el (mouse-buffer-menu-map):
* lisp/net/pop3.el (pop3-uidl-dele):
* lisp/progmodes/gud.el (gud-jdb-build-source-files-list):
* lisp/cedet/semantic/db-find.el (semanticdb-fast-strip-find-results):
* lisp/cedet/semantic/symref/grep.el (semantic-symref-derive-find-filepatterns):
* lisp/gnus/nnmail.el (nnmail-split-it):
* lisp/gnus/gnus-sum.el (gnus-articles-in-thread):
* lisp/gnus/gnus-registry.el (gnus-registry-sort-addresses):
* lisp/gnus/gnus-util.el (gnus-mapcar): Use `mapcan'.

8 years agoDetect aliases to built-in functions
Tino Calancha [Sat, 9 Jul 2016 13:56:25 +0000 (22:56 +0900)]
Detect aliases to built-in functions

* lisp/help-fns.el (describe-function-1): Check for aliases
defined with (defalias alias (symbol-function built-in)) (Bug#23887).

* test/lisp/help-fns-tests.el (help-fns-test-bug23887): Untag as
failing this test.

8 years agoAvoid recursive detection of remote uid and gid in tramp-gvfs.el
Michael Albinus [Sat, 9 Jul 2016 12:20:07 +0000 (14:20 +0200)]
Avoid recursive detection of remote uid and gid in tramp-gvfs.el

* lisp/net/tramp-gvfs.el (tramp-gvfs-get-remote-uid-gid-in-progress):
New variable.
(tramp-gvfs-maybe-open-connection): Use it.

* test/lisp/net/tramp-tests.el (tramp-test18-file-attributes):
Reorder test.

8 years agoWrap around error in coreutil's ls
Jürgen Hötzel [Sat, 9 Jul 2016 12:19:12 +0000 (14:19 +0200)]
Wrap around error in coreutil's ls

* lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): Add switch
"--quoting-style=literal" if remote host supports quoting style.
Recent versions of coreutils changed default quoting style to
"--quoting=shell-escape".

8 years agoMinor tweaks of copying text properties when padding strings
Eli Zaretskii [Sat, 9 Jul 2016 08:01:17 +0000 (11:01 +0300)]
Minor tweaks of copying text properties when padding strings

* src/editfns.c (styled_format): Don't include padding on the left
in the properties at the beginning of the string.  (Bug#23897)

* test/src/editfns-tests.el (format-properties): Add tests for
faces when the string is padded on the left or on the right.

8 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Mario Lang [Sat, 9 Jul 2016 05:06:53 +0000 (07:06 +0200)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

8 years agoNo need to require the same feature twice.
Mario Lang [Sat, 9 Jul 2016 05:05:50 +0000 (07:05 +0200)]
No need to require the same feature twice.

* lisp/dired-aux.el (require 'cl-lib): Remove.

8 years agoTurn on lexical binding
Mark Oteiza [Sat, 9 Jul 2016 01:49:52 +0000 (21:49 -0400)]
Turn on lexical binding

* lisp/net/secrets.el (secrets-collection-handler): Use cl-pushnew.
(secrets-search-items, secrets-create-item): Use append.
(secrets-show-secrets): Remove unused binding.
(secrets-expand-item, secrets-tree-widget-after-toggle-function):
Ignore unused arguments.

8 years agoDerive secrets-mode from special-mode
Mark Oteiza [Sat, 9 Jul 2016 01:10:32 +0000 (21:10 -0400)]
Derive secrets-mode from special-mode

* lisp/net/secrets.el: Remove top-level secrets-mode hack.
(secrets-mode-map): New variable.  Add key bindings to n and p for
navigating lines.
(secrets-mode): Derive from special-mode.  Remove keymap code and
initialization code.  Do not record undo information.  Make
secrets-show-collections the local revert-buffer-function.
(secrets-show-collections): Change signature to satisfy revert-buffer.

8 years agoAdd a couple cells to lisp-prettify-symbols-alist
Mark Oteiza [Fri, 8 Jul 2016 21:12:54 +0000 (17:12 -0400)]
Add a couple cells to lisp-prettify-symbols-alist

* lisp/emacs-lisp/lisp-mode.el (lisp-prettify-symbols-alist): Add
"sqrt" and "not".

8 years agoDetect remote uid and gid in tramp-gvfs.el
Michael Albinus [Fri, 8 Jul 2016 20:44:11 +0000 (22:44 +0200)]
Detect remote uid and gid in tramp-gvfs.el

* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
(tramp-gvfs-handler-mounted-unmounted)
(tramp-gvfs-connection-mounted-p):
Make "default-location" a connection property.
(tramp-gvfs-get-remote-uid, tramp-gvfs-get-remote-gid): New defuns.
(tramp-gvfs-maybe-open-connection): Use them.

8 years agoYet another fix for copying properties by 'format'
Eli Zaretskii [Fri, 8 Jul 2016 19:34:34 +0000 (22:34 +0300)]
Yet another fix for copying properties by 'format'

* src/textprop.c (extend_property_ranges): Accept an additional
argument OLD_END, and only extend the end of a property range if
its original end is at OLD_END; all the other ranges are left
intact.  (Bug#23897)
* src/editfns.c (styled_format): Pass the original length of the
string to 'extend_property_ranges'.
* src/intervals.h (extend_property_ranges): Adjust prototype.

* test/src/editfns-tests.el (format-properties): Add tests for
bug#23897.

8 years agoAllow selecting region with mouse to move point to beginning
Stephen Berman [Fri, 8 Jul 2016 15:36:55 +0000 (17:36 +0200)]
Allow selecting region with mouse to move point to beginning

* etc/NEWS: Mention new user option
`mouse-select-region-move-to-beginning'.

* doc/emacs/frames.texi (Mouse Commands): Add cross-reference
to the following.
(Word and Line Mouse): Describe how double-clicking mouse-1 to
activate region and `mouse-select-region-move-to-beginning'
affect point.

* lisp/mouse.el (mouse-select-region-move-to-beginning): New defcustom.
(mouse-set-point): Use it.  (Bug#23478)

8 years agoFix menu bar breakage
Stephen Berman [Fri, 8 Jul 2016 15:22:14 +0000 (17:22 +0200)]
Fix menu bar breakage

* lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu): Use backquoting
to prevent void variable errors, and fix typo (bug#23918).

8 years agoCopy buffer names to kill ring
Tino Calancha [Fri, 8 Jul 2016 08:22:56 +0000 (17:22 +0900)]
Copy buffer names to kill ring

* ibuf-ext.el (ibuffer-copy-buffername-as-kill): New command.
* lisp/ibuffer (ibuffer-mode-map): Bound it to 'B'.
;* etc/NEWS: Add entry for this new feature.

8 years agoRemove just input mark
Tino Calancha [Fri, 8 Jul 2016 02:22:34 +0000 (11:22 +0900)]
Remove just input mark

* lisp/ibuffer.el (ibuffer-unmark-all): When MARK is not ?\r remove
just MARK.

8 years agoIbuffer change marks
Tino Calancha [Fri, 8 Jul 2016 01:55:22 +0000 (10:55 +0900)]
Ibuffer change marks

* lisp/ibuffer.el (ibuffer-change-marks): New command.
(ibuffer-mode-map): Bind it to '* c'.
(ibuffer-mode-groups-popup): Update menus.
(ibuffer-mode): Update mode doc.
; * etc/NEWS: Add entry for this new feature.

8 years agoPrevent NS event loop being re-entered (bug#11049)
Alan Third [Sat, 25 Jun 2016 23:10:50 +0000 (00:10 +0100)]
Prevent NS event loop being re-entered (bug#11049)

* nsterm.m (ns_read_socket, ns_select): Return -1 if already in event
loop instead of aborting.

8 years agoFix some deprecated functions
Alan Third [Thu, 7 Jul 2016 19:42:11 +0000 (20:42 +0100)]
Fix some deprecated functions

* src/nsterm.m (firstRectForCharacterRange): In OS X >10.6 replace
convertBaseToScreen with convertRectToScreen.
* src/nsmenu.m (ns_update_menubar): Remove attachedMenu, deprecated in
OS X 10.2, and always seems to return nil.

8 years agoDisable App Nap (bug#22993)
Aaron Jensen [Thu, 7 Jul 2016 18:46:57 +0000 (19:46 +0100)]
Disable App Nap (bug#22993)

* nextstep/templates/Info.plist.in: Insert AppNap disable code.

Copyright-paperwork-exempt: yes

8 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Michael Albinus [Thu, 7 Jul 2016 16:51:00 +0000 (18:51 +0200)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

8 years agoFix an error in Tramp for rsync
Michael Albinus [Thu, 7 Jul 2016 16:50:24 +0000 (18:50 +0200)]
Fix an error in Tramp for rsync

* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
Make it work for "rsync".
(tramp-make-copy-program-file-name): Apply `directory-file-name'.

8 years agoIbuffer: Mark locked buffers
Tino Calancha [Thu, 7 Jul 2016 16:34:35 +0000 (01:34 +0900)]
Ibuffer: Mark locked buffers

* lisp/ibuf-ext.el (ibuffer-locked-buffer-p): New defun.
(ibuffer-mark-by-locked): New command.
(ibuffer-mode-map): Bind it to '% L'; update menus.
(ibuffer-mode): Update mode doc.
;* etc/NEWS: Add NEWS entry for these changes and previous two commits.

8 years ago* lisp/ibuffer.el: Add face for locked buffers
Tino Calancha [Thu, 7 Jul 2016 16:15:54 +0000 (01:15 +0900)]
* lisp/ibuffer.el: Add face for locked buffers

8 years ago* lisp/ibuffer.el: Add mark for locked buffers
Tino Calancha [Thu, 7 Jul 2016 16:13:55 +0000 (01:13 +0900)]
* lisp/ibuffer.el: Add mark for locked buffers

8 years ago;* etc/NEWS (Ibuffer): Update entry according with last commit
Tino Calancha [Thu, 7 Jul 2016 15:57:40 +0000 (00:57 +0900)]
;* etc/NEWS (Ibuffer): Update entry according with last commit

8 years agoRemove duplicate binding
Tino Calancha [Thu, 7 Jul 2016 14:59:45 +0000 (23:59 +0900)]
Remove duplicate binding

* lisp/ibuffer.el (ibuffer-mode-map): 'ibuffer-mark-by-content-regexp'
just bound to '% g'.
As suggested in:
http://lists.gnu.org/archive/html/emacs-devel/2016-07/msg00165.html

8 years agoIbuffer: Drop needless binding
Tino Calancha [Thu, 7 Jul 2016 08:49:02 +0000 (17:49 +0900)]
Ibuffer: Drop needless binding

* lisp/ibuffer.el (ibuffer-mark-interactive): 'inhibit-read-only'
already bound to 't' inside 'ibuffer-set-mark'.

8 years agoRun tests from non-byte compiled files
Phillip Lord [Mon, 27 Jun 2016 20:36:44 +0000 (21:36 +0100)]
Run tests from non-byte compiled files

* test/Makefile.in: Eval non-byte-compiled files for tests.

8 years agoReplace eldoc-documentation-function with a hook
Mark Oteiza [Thu, 7 Jul 2016 03:16:32 +0000 (23:16 -0400)]
Replace eldoc-documentation-function with a hook

* lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions): New hook.
(eldoc-documentation-function): Make into obsolete alias.
(eldoc-echo-area-use-multiline-p, eldoc-highlight-function-argument):
(eldoc-argument-case, global-eldoc-mode): Update docstrings.
(eldoc-print-current-symbol-info): Use run-hook-with-args-until-success
on eldoc-documentation-functions.
(eldoc-supported-p): New function.
(eldoc-mode, global-eldoc-mode, eldoc-schedule-timer): Use eldoc-supported-p.
* etc/NEWS: Mention eldoc-documentation-functions.
* doc/lispref/modes.texi: Update reference.

8 years agoComplete "initial" and "unset" in CSS mode
Simen Heggestøyl [Wed, 6 Jul 2016 17:25:10 +0000 (19:25 +0200)]
Complete "initial" and "unset" in CSS mode

* lisp/textmodes/css-mode.el (css--complete-property-value): Make
"initial" and "unset" completion candidates for all CSS properties,
just like "inherit".

* test/lisp/textmodes/css-mode-tests.el
(css-test-complete-property-value): Update test to reflect the above
change.

8 years ago* lisp/net/tramp-gvfs.el (tramp-gvfs-mount-spec): Fix typo.
Michael Albinus [Wed, 6 Jul 2016 15:33:00 +0000 (17:33 +0200)]
* lisp/net/tramp-gvfs.el (tramp-gvfs-mount-spec): Fix typo.

8 years agoSimplify rfc1345.el a bit
Paul Eggert [Wed, 6 Jul 2016 14:10:13 +0000 (16:10 +0200)]
Simplify rfc1345.el a bit

* lisp/leim/quail/rfc1345.el: Omit commented-out codes for ASCII
that would no longer parse.  Replace control characters with
escapes in character constants.  Omit unnecessary \ after ?.
This does not change behavior.

8 years agoPrefer 'frame-parameter' where it is expected to be a bit faster
Dmitry Antipov [Tue, 5 Jul 2016 05:33:29 +0000 (08:33 +0300)]
Prefer 'frame-parameter' where it is expected to be a bit faster

* lisp/international/mule-diag.el (mule-diag):
* lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu):
* lisp/mouse.el (mouse-drag-line, font-menu-add-default):
* lisp/scroll-bar.el (toggle-scroll-bar, toggle-horizontal-scroll-bar):
* lisp/faces.el (x-resolve-font-name): Use 'frame-parameter'.

8 years agoReduce consing caused by vertical motion commands
Dmitry Antipov [Wed, 6 Jul 2016 03:03:12 +0000 (06:03 +0300)]
Reduce consing caused by vertical motion commands

* src/frame.c (Fframe_parameter): Avoid call to Fframe_parameters for the
parameters frequently requested by calls to 'next-line' and 'previous-line'.

8 years agoMake all Tramp tests pass for "gdrive" method
Michael Albinus [Tue, 5 Jul 2016 19:16:25 +0000 (21:16 +0200)]
Make all Tramp tests pass for "gdrive" method

* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory)
* lisp/net/tramp-compat.el (tramp-compat-copy-directory)
(tramp-compat-delete-directory):
* lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
Use `directory-files-no-dot-files-regexp'.

* lisp/net/tramp-gvfs.el (tramp-gvfs-handler-mounted-unmounted)
(tramp-gvfs-send-command): Call `tramp-flush-file-property' in
case of problems.

* test/lisp/net/tramp-tests.el (tramp--instrument-test-case):
Adapt docstring.
(tramp-test14-delete-directory): Make further tests.

8 years agoFix redisplay with window-start on continuation lines
Eli Zaretskii [Tue, 5 Jul 2016 16:33:01 +0000 (19:33 +0300)]
Fix redisplay with window-start on continuation lines

* src/xdisp.c (pos_visible_p): Return false if the window starts
after CHARPOS.
(compute_window_start_on_continuation_line): Don't return
window-start position that is after point in the buffer, as the
callers don't expect this to happen, and will generally display an
empty window with the cursor in its middle.  (Bug#23871)

8 years agoAdd :expected-result :failed for unfixed bug test
Tino Calancha [Tue, 5 Jul 2016 16:10:22 +0000 (01:10 +0900)]
Add :expected-result :failed for unfixed bug test

* test/lisp/help-fns-tests.el (help-fns-test-bug23887):

8 years ago* test/lisp/help-fns-tests.el: Add several tests for 'describe-function'.
Tino Calancha [Tue, 5 Jul 2016 07:16:11 +0000 (16:16 +0900)]
* test/lisp/help-fns-tests.el: Add several tests for 'describe-function'.

8 years agoDon’t create unnecessary marker in ‘delete-trailing-whitespace’
Michal Nazarewicz [Wed, 22 Jun 2016 17:06:57 +0000 (19:06 +0200)]
Don’t create unnecessary marker in ‘delete-trailing-whitespace’

* lisp/simple.el (delete-trailing-whitespace): If END argument is nil,
there is no need for the end-marker to be created.

8 years agoSimplify ‘delete-trailing-whitespace’ by not treating \n as whitespace
Michal Nazarewicz [Tue, 21 Jun 2016 14:46:52 +0000 (16:46 +0200)]
Simplify ‘delete-trailing-whitespace’ by not treating \n as whitespace

* lisp/simple.el (delete-trailing-whitespace): Set newline’s character
syntax to non-whitespace so that ‘\s-’ regular expression does not match
it.

This simplifies the loop slightly since a simple ‘\s-+$’ can be used and
as a consequence ‘line-beginning-position’ function does not need to be
called any longer.

Furthermore, when newline has whitespace syntax, ‘\s-$’ regular
expression ends up matching empty lins since ‘\s-’ matches newline
characetr of proceeding line.  This leads to needless loop iterations.

Since previous change to ‘delete-trailing-whitespace’ already introduced
‘with-syntax-table’, take advantage of it and also overwrite newline’s
character syntax.

8 years agoMake ‘delete-trailing-whitespace’ delete spaces after form feed
Michal Nazarewicz [Tue, 21 Jun 2016 14:52:52 +0000 (16:52 +0200)]
Make ‘delete-trailing-whitespace’ delete spaces after form feed

* lisp/simple.el (delete-trailing-whitespace): Treat form fead as
a non-whitespace character (regradless of whether it’s character syntax
is whitespace) and delete any whitespace following it instead of leaving
lines with form feeds completely unchanged.  I.e. a line like "\f " will
now became "\f".

8 years agoCleanup XEditRes hack
Dmitry Antipov [Mon, 4 Jul 2016 17:05:06 +0000 (20:05 +0300)]
Cleanup XEditRes hack

* configure.ac [USE_X_TOOLKIT]: Define X_TOOLKIT_EDITRES if
_XEditResCheckMessages is declared in X11/Xmu/Editres.h and may be
linked with -lXmu.  This should work with any non-ancient Xmu library.
* xfns.c (toplevel): Remove old cruft.
(x_window) [USE_X_TOOLKIT]: Use X_TOOLKIT_EDITRES.
* xterm.c (toplevel): Remove old cruft.
(handle_one_xevent): Use X_TOOLKIT_EDITRES.
* xterm.h (toplevel): Include X11/Xmu/Editres.h if X_TOOLKIT_EDITRES.

8 years agoAdd Google Drive support to Tramp
Michael Albinus [Mon, 4 Jul 2016 13:36:30 +0000 (15:36 +0200)]
Add Google Drive support to Tramp

* doc/misc/tramp.texi: Add `gdrive' method.

* doc/misc/trampver.texi:
* lisp/net/trampver.el: Change version to "2.3.1-pre".

* etc/NEWS: Add Tramp connection method "gdrive".

* lisp/net/tramp-gvfs.el (tramp-gvfs-methods) <gdrive>: Add.
(tramp-default-user-alist, tramp-default-host-alist): Add rule
for "gdrive".
(tramp-gvfs-file-attributes): Add "name", remove "standard::icon".
(tramp-gvfs-file-attributes-with-gvfs-ls-regexp): Simplify regexp.
(tramp-gvfs-get-directory-attributes): Improve loop.  Use
"standard::display-name" as file name, if available.
(tramp-gvfs-handle-file-name-all-completions): Simplify.
(tramp-gvfs-url-file-name, tramp-gvfs-handler-mounted-unmounted)
(tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
Map between "gdrive" and "google-drive".

* lisp/net/tramp.el (tramp-call-process): Do not signal error.

* test/lisp/net/tramp-tests.el (tramp--instrument-test-case):
Do not enable `tramp-message-show-message'.
(tramp-test13-make-directory, tramp-test14-delete-directory):
Do not specify error type.

8 years agoCalc: Update mode line after change mode
Tino Calancha [Mon, 4 Jul 2016 07:08:55 +0000 (16:08 +0900)]
Calc: Update mode line after change mode

* lisp/calc/calc-ext.el (calc-change-mode): Call 'calc-set-mode-line'.

8 years ago* lisp/simple.el (save-mark-and-excursion): Add declare forms.
Mark Oteiza [Sun, 3 Jul 2016 22:53:39 +0000 (18:53 -0400)]
* lisp/simple.el (save-mark-and-excursion): Add declare forms.

8 years agoRe-fix open-network-stream responsiveness
Paul Eggert [Sun, 3 Jul 2016 22:46:57 +0000 (00:46 +0200)]
Re-fix open-network-stream responsiveness

Problem reported by Christer Ekholm (Bug#23864).
* src/process.c (wait_reading_process_output): Further fix for
typo introduced in 2015-07-06T02:19:13Z!eggert@cs.ucla.edu when
wait == INFINITY and got_output_end_time is invalid.  See:
http://bugs.gnu.org/23864#20

8 years agoRemove redundant forms from CC Mode for faster fontification
Alan Mackenzie [Sun, 3 Jul 2016 18:13:51 +0000 (18:13 +0000)]
Remove redundant forms from CC Mode for faster fontification

* lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove four arms of
the "main" cond form in the function, which have been redundant since the
extraction of c-font-lock-cut-off-declarators from the function on
2016-06-15/16.

8 years agoSpeed up CC Mode fontification with less accurate functions extending region
Alan Mackenzie [Sun, 3 Jul 2016 13:11:28 +0000 (13:11 +0000)]
Speed up CC Mode fontification with less accurate functions extending region

* lisp/progmodes/cc-fonts.el (c-font-lock-cut-off-declarators)
(c-font-lock-enclosing-decls)
* lisp/progmodes/cc-mode.el (c-fl-decl-start): Replace invocations of
c-beginning-of-decl-1 with less accurate invocations of
c-syntactic-skip-backwards to speed up fontification.

8 years agoIbuffer: unmark all buffers without confirmation
Tino Calancha [Sun, 3 Jul 2016 12:42:02 +0000 (21:42 +0900)]
Ibuffer: unmark all buffers without confirmation

* lisp/ibuffer.el (ibuffer-unmark-all-marks): New command (Bug#23680).
(ibuffer-mouse-popup-menu): Use it.
(ibuffer-mode): Update mode doc.
(ibuffer-mode-map): Bind 'ibuffer-unmark-all-marks' to 'U'.
Rebind 'ibuffer-do-replace-regexp' to 'r'.
; * etc/NEWS: Add entry for this change.

8 years agoFix open-network-stream responsiveness
Paul Eggert [Sun, 3 Jul 2016 08:49:21 +0000 (10:49 +0200)]
Fix open-network-stream responsiveness

Problem reported by Constantin Kulikov (Bug#23684).
* src/process.c (wait_reading_process_output):
Fix typo introduced in 2015-07-06T02:19:13Z!eggert@cs.ucla.edu
when wait == INFINITY and got_output_end_time is invalid.
In this case the code should break, not continue.

8 years agoIbuffer: Mark buffers by content
Tino Calancha [Sun, 3 Jul 2016 05:51:18 +0000 (14:51 +0900)]
Ibuffer: Mark buffers by content

* lisp/ibuf-ext.el (ibuffer-mark-by-content-regexp): New command.
(ibuffer-never-search-content-name): New option.
(ibuffer-never-search-content-mode): Idem.
(ibuffer-mark-by-content-regexp): Use them (Bug#23734).

* lisp/ibuffer.el (ibuffer-mode-map): Bind new command to '% c' and '% g'.
(ibuffer-mode): Update mode documentation.
; * etc/NEWS: Add NEWS entry for these changes.

8 years agoibuffer-copy-filename-as-kill verbosity increase
Tino Calancha [Sun, 3 Jul 2016 05:11:49 +0000 (14:11 +0900)]
ibuffer-copy-filename-as-kill verbosity increase

* lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill):
Use shorter name, result, for a local bound var.
Show the string result in the echo area.

8 years agoFix cursor positioning on TTY frames after stretch glyph
Eli Zaretskii [Sat, 2 Jul 2016 13:56:36 +0000 (16:56 +0300)]
Fix cursor positioning on TTY frames after stretch glyph

* src/term.c (append_glyph, append_composite_glyph)
(append_glyphless_glyph): Set the avoid_cursor_p and multibyte_p
members of the produced 'struct glyph'.  Fixes cursor positioning
on the first character after a stretch glyph produced from
line-prefix, wrap-prefix, etc. on TTY frames.

8 years agoFix vertical-movement in buffers with wrap-prefix
Eli Zaretskii [Sat, 2 Jul 2016 12:39:26 +0000 (15:39 +0300)]
Fix vertical-movement in buffers with wrap-prefix

* src/indent.c (Fvertical_motion): Zero the current_y coordinate
whenever we zero the vpos vertical position of the iterator.
* src/xdisp.c (move_it_in_display_line_to): Handle line-prefix and
wrap-prefix regardless of whether the current Y coordinate is
inside the window dimensions.  (Bug#23879)

8 years agoRename FACE_OPT_FROM_ID to FACE_FROM_ID_OR_NULL
Eli Zaretskii [Sat, 2 Jul 2016 09:39:47 +0000 (12:39 +0300)]
Rename FACE_OPT_FROM_ID to FACE_FROM_ID_OR_NULL

* src/dispextern.h (FACE_FROM_ID_OR_NULL): Renamed from
FACE_OPT_FROM_ID; all callers changed.
* src/xdisp.c (extend_face_to_end_of_line): Call FACE_FROM_ID, not
FACE_FROM_ID_OR_NULL, as the resulting face is immediately
dereferenced.
(fill_gstring_glyph_string): Call FACE_FROM_ID, not
FACE_FROM_ID_OR_NULL, as the resulting face will be dereferenced
when the glyph string is drawn.
(BUILD_COMPOSITE_GLYPH_STRING): Call FACE_FROM_ID, not
FACE_FROM_ID_OR_NULL, as the resulting face will be dereferenced
in fill_composite_glyph_string.
(calc_line_height_property): Call FACE_FROM_ID_OR_NULL rather that
FACE_FROM_ID, since the function and its caller can cope with that
situation.  Conflate 3 tests of missing face or font into just
one.
* src/xfaces.c (Fx_list_fonts, Fface_font, lookup_face): Call
FACE_FROM_ID_OR_NULL rather that FACE_FROM_ID, since these
functions can cope with that situation.
(lookup_derived_face): Don't call FACE_FROM_ID if the result will
not be used.
* src/w32console.c (w32_face_attributes): Remove redundant 'eassert'.

8 years ago* lisp/gnus/gnus-art.el (gnus-article-send-map): Remove extra quote.
Mark Oteiza [Fri, 1 Jul 2016 22:50:00 +0000 (18:50 -0400)]
* lisp/gnus/gnus-art.el (gnus-article-send-map): Remove extra quote.

8 years ago* lisp/auth-source.el (auth-source--symbol-keyword): Fix namespace
Stefan Monnier [Fri, 1 Jul 2016 15:59:37 +0000 (11:59 -0400)]
* lisp/auth-source.el (auth-source--symbol-keyword): Fix namespace

i.e. rename from auto-source--symbol-keyword.

8 years agoAvoid yet another possible NULL pointer dereference found by GCC 6.1.1
Dmitry Antipov [Fri, 1 Jul 2016 15:45:24 +0000 (18:45 +0300)]
Avoid yet another possible NULL pointer dereference found by GCC 6.1.1

* lwlib/lwlib.c (lw_get_all_values): Always check the value returned by
get_widget_info.

8 years ago; Auto-commit of loaddefs files.
Glenn Morris [Fri, 1 Jul 2016 10:18:09 +0000 (06:18 -0400)]
; Auto-commit of loaddefs files.

8 years agoCC Mode: truncate the semi-nonlit cache when applying syntax-table to a quote
Alan Mackenzie [Thu, 30 Jun 2016 12:58:30 +0000 (12:58 +0000)]
CC Mode: truncate the semi-nonlit cache when applying syntax-table to a quote

This applies to applying or removing syntax-table text properties in raw
strings which affect the stringiness of a piece of text.  This fixes the
bug
reported in
http://lists.gnu.org/archive/html/emacs-devel/2016-06/msg00695.html.

* lisp/progmodes/cc-engine.el (c-truncate-semi-nonlit-pos-cache): new
defsubst.
(c-invalidate-state-cache-1): Call new function in place of inline
manipulation.
(c-depropertize-raw-string, c-propertize-raw-string-opener): truncate the
semi-nonlit cache when pertinent syntax-table text properties get applied to
the text.