1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-17 08:31:09 -08:00
Commit graph

126495 commits

Author SHA1 Message Date
Michal Nazarewicz
dcefd2bbc0 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.
2016-07-04 23:44:06 +02:00
Michal Nazarewicz
7c6317a049 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.
2016-07-04 23:44:06 +02:00
Michal Nazarewicz
dc294483af 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".
2016-07-04 23:44:06 +02:00
Dmitry Antipov
e3ae3c4488 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.
2016-07-04 20:05:06 +03:00
Michael Albinus
f24fe30cb8 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.
2016-07-04 15:36:30 +02:00
Tino Calancha
05d76dba66 Calc: Update mode line after change mode
* lisp/calc/calc-ext.el (calc-change-mode): Call 'calc-set-mode-line'.
2016-07-04 16:08:55 +09:00
Mark Oteiza
ca1b9b38dc * lisp/simple.el (save-mark-and-excursion): Add declare forms. 2016-07-03 18:54:43 -04:00
Paul Eggert
838f122873 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
2016-07-04 00:47:41 +02:00
Alan Mackenzie
9e54c5250d 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.
2016-07-03 18:13:51 +00:00
Alan Mackenzie
4b9ac23960 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.
2016-07-03 13:15:44 +00:00
Tino Calancha
b56a8bcd0e 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.
2016-07-03 21:42:02 +09:00
Paul Eggert
1e97ecb964 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.
2016-07-03 10:50:31 +02:00
Tino Calancha
08974112ae 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.
2016-07-03 14:51:18 +09:00
Tino Calancha
0d06e94309 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.
2016-07-03 14:11:49 +09:00
Eli Zaretskii
da2512f24c 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.
2016-07-02 16:56:36 +03:00
Eli Zaretskii
3a1e3b41a5 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)
2016-07-02 15:39:26 +03:00
Eli Zaretskii
55d38fc89f 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'.
2016-07-02 12:39:47 +03:00
Mark Oteiza
a5ec5c073a * lisp/gnus/gnus-art.el (gnus-article-send-map): Remove extra quote. 2016-07-01 18:50:00 -04:00
Stefan Monnier
af0d0b8cfc * lisp/auth-source.el (auth-source--symbol-keyword): Fix namespace
i.e. rename from auto-source--symbol-keyword.
2016-07-01 11:59:37 -04:00
Dmitry Antipov
d942c39c44 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.
2016-07-01 18:45:24 +03:00
Glenn Morris
55e4e83cf4 ; Auto-commit of loaddefs files. 2016-07-01 06:18:09 -04:00
Alan Mackenzie
455700d69a 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.
2016-06-30 12:58:30 +00:00
Dmitry Antipov
fd6a133fdc Minor tweaks to openp
* src/lread.c (openp): Move invariant code out of the loop
and thus avoid redundant calls to memcpy.  Adjust comments.
2016-06-30 09:30:41 +03:00
Dmitry Antipov
3aeb7c35ed Simplify handling of frame parameters
* src/frame.c (x_set_frame_parameters): Avoid extra loop processing
foreground color, background color and font parameters.  Adjust
comments.
2016-06-30 09:21:07 +03:00
Dmitry Antipov
4bd3503991 Cleanup around mature character manipulation functions
* lisp/international/mule-diag.el (decode-codepage-char): Remove.

* lisp/ldefs-boot.el (toplevel): Adjust accordingly.

* lisp/subr.el (toplevel): Do not advertise calling conventions
for 'decode-char' and 'encode-char'.

* src/charset.c (Fdecode_char, Fencode_char): Remove unused 3rd arg.
2016-06-30 08:37:46 +03:00
Alan Mackenzie
681d3f1f58 Fix C-M-a in a C function finding the start of a macro preceding it.
Also amend some pertinent documentation.  This fixes bug #23818.

* lisp/progmodes/cc-engine.el (c-beginning-of-decl-1): Also check for a
virtual semicolon at a place where we check for other types of statement ends.

* lisp/progmodes/cc-vars.el (c-macro-nacmes-with-semicolon): Remove from the
doc string the bit saying that the variable is a prototype and liable to
change.

* doc/misc/cc-mode.texi (Macros with ;): Enhance, stating that configuring
macros with semicolon can prevent C-M-a missing the beginning of defun.
2016-06-29 20:17:39 +00:00
Dmitry Antipov
4a2a1eba09 Avoid possible NULL pointer dereference found by GCC 6.1.1
* src/xfns.c (x_get_monitor_attributes_xrandr): Always check
the value returned by XRRGetOutputInfo.
2016-06-29 07:46:59 +03:00
Tino Calancha
1a5d0c1518 Dired recognize dirs when file size in human units
* lisp/dired.el (dired-re-inode-size): Update 'dired-re-inode-size'
to match when Dired displays the allocated file size column
in human readable units (Bug#22255).
2016-06-29 11:47:16 +09:00
Mark Oteiza
ff64fa75a8 Fix breakage from previous change
* lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1):
* lisp/vc/log-view.el (log-view-font-lock-keywords): Quote face.
2016-06-28 21:52:48 -04:00
Mark Oteiza
652b638b0f Fix breakage from previous change.
* lisp/textmodes/texinfo.el (texinfo-font-lock-keywords): Quote face.
2016-06-28 15:49:48 -04:00
Eli Zaretskii
2adc4ccd03 Add tests for copying properties by 'format'
* test/src/editfns-tests.el (format-properties): New test.
2016-06-28 19:59:46 +03:00
Eli Zaretskii
0644e6f56d Fix copying properties in 'format' when it produces padding
* src/textprop.c (extend_property_ranges): Correct range extension
when the new end is beyond the old end.  (Bug#23859)
2016-06-28 19:03:43 +03:00
Alan Third
cfb3c61f1f Enable dividers in NS (bug#22973)
src/nsfns.m: Add colour settings functions to ns_frame_park_handlers.
src/nsterm.m (ns_draw_window_divider): ns_focus has to go before the
attempt to set the colour.
src/nsterm.m (ns_draw_vertical_window_border): This had the same bug as
above, although I didn't see any errors.
2016-06-27 23:07:37 +01:00
Stephen Berman
1f55925728 ; Fix breakage from previous commit 2016-06-27 16:50:09 -04:00
Lars Magne Ingebrigtsen
1bd7455497 Fix the prefix action of shr-copy-url
* lisp/net/shr.el (shr-copy-url): Make the command really copy
the image url if given a prefix.
2016-06-27 22:26:02 +02:00
Lars Magne Ingebrigtsen
f7ea7aa11f New functions svg-text and svg-remove
* doc/lispref/display.texi (SVG Images): Document svg-remove.

* doc/lispref/display.texi (SVG Images): Document svg-text.

* lisp/svg.el (svg-remove): New function.
(svg-text): New function.
2016-06-27 22:25:10 +02:00
Lars Magne Ingebrigtsen
54fe3b6ec0 Add new function dom-remove-node
* doc/lispref/text.texi (Document Object Model): Document
dom-remove-node.

* lisp/dom.el (dom-remove-node): New function.
2016-06-27 22:20:29 +02:00
Lars Magne Ingebrigtsen
44caa96dc5 Add a new function `svg-embed'
* doc/lispref/display.texi (SVG Images): Document `svg-embed'.

* lisp/svg.el (svg-embed): New function.
(svg--image-data): Ditto.
2016-06-27 18:20:57 +02:00
Eli Zaretskii
058e856277 * lisp/descr-text.el (describe-char-unicode-data): Fix copy/paste errors. 2016-06-27 19:13:48 +03:00
Eli Zaretskii
defdee72c4 Fix 'move-to-window-line' when EOB is on last screen line
* src/window.c (displayed_window_lines): Fix an off-by-one error
when the bottom of the last display line is exactly at window's
last pixel.  Remove kludgey fix for TTY frames that is no longer
needed.  (Bug#15760)
(Fmove_to_window_line): Doc fix.

* doc/lispref/positions.texi (Screen Lines): Clarify and make more
accurate the documentation of 'move-to-window-line'.
2016-06-27 18:27:58 +03:00
Alan Mackenzie
8040d99b62 Amend a cache so that typing into C++ raw strings has no undue delay.
Also amend the code so that low-level searches to the end of literals are done
only when these positions get used.

* lisp/progmodes/cc-engine.el (c-crosses-statement-barrier-p): Use the new
c-literal-start instead of c-literal-limit.
(c-state-semi-nonlit-pos-cache): Change the structure of this cache, such that
it stores details of the literal at a point, rather than merely points outside
of literals.
(c-state-semi-pp-to-literal, c-state-full-pp-to-literal)
(c-cache-to-parse-ps-state, c-parse-ps-state-to-cache, c-ps-state-cache-pos)
(c-parse-ps-state-below, c-literal-start): New functions.
(c-state-semi-safe-place): Removed.
(c-in-literal): Use c-state-semi-pp-to-literal, so as not to scan to its end.
(c-literal-limits, c-determine-limit-get-base): consequential amendments.
(c-find-decl-spots, c-before-change-check-<>-operators, c-raw-string-pos)
(c-guess-basic-syntax (CASE 2)): Avoid needless scans to end of literals.

* lisp/progmodes/cc-fonts.el (c-font-lock-doc-comments): Avoid needless scans
to end of literals.

* lisp/progmodes/cc-mode.el (c-fl-decl-start): Avoid needless scans to end of
literals.

* lisp/progmodes/cc-cmds.el (c-beginning-of-defun, c-end-of-defun)
(c-defun-name, c-declaration-limits): Avoid needless scans to end of literals.
2016-06-27 11:34:02 +00:00
Dmitry Gutov
15c307417f Also handle escaping when string begins with a quote
* lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
Handle quoting of the first character in the string.

* test/lisp/progmodes/ruby-mode-tests.el
(ruby-toggle-string-quotes-quotes-correctly): Update.
2016-06-27 07:31:52 +03:00
Sriram Thaiyar
7f02dedfca Fix quote escaping in ruby-toggle-string-quotes
* lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
Change logic to quote based on the current quote of the string.

* test/lisp/progmodes/ruby-mode-tests.el
(ruby-toggle-string-quotes-quotes-correctly): Add test.

Copyright-paperwork-exempt: yes
2016-06-27 07:31:39 +03:00
Noam Postavsky
dd98ee8992 Fix test-completion with completion-regexp-list
* src/minibuf.c (Ftest_completion): Handle alist COLLECTION with non-nil
completion-regexp-list (Bug #23533).
2016-06-26 21:12:33 -04:00
Paul Eggert
2989ad9060 Try other addresses when connecting to multihomed
Problem reported by Juliusz Chroboczek (Bug#17976)
and by Artur Malabarba (Bug#23620).
Patch from a suggestion by Andreas Schwab in:
http://bugs.gnu.org/17976#39
This patch is for non-MS-Windows platforms.
I don't know the situation on MS-Windows.
* src/process.c (connecting_status):
New function, for (connect . ADDRINFOS).
(connect_network_socket, check_for_dns, wait_for_socket_fds)
(wait_while_connecting, wait_reading_process_output, status_notify):
Use it.
(decode_status, Fmake_network_process):
Support (connect . ADDRINFOS) status.
(connect_network_socket) [!WINDOWSNT]:
If the connection failed and there are other addresses to try, do not
signal an error; instead, loop around to try the next address.
(wait_reading_process_output): Advance to the next address
if there are multiple addresses and the first remaining address
failed.
* src/process.h (struct Lisp_Process.status): Adjust comment
to describe (connect . ADDRINFOS).
2016-06-26 23:37:03 +02:00
Paul Eggert
d267aea242 Fix GNUC_PREREQ for GCC 2.8.1 etc.
Problem reported by Eli Zaretskii in:
http://lists.gnu.org/archive/html/emacs-devel/2016-06/msg00608.html
* src/conf_post.h (GNUC_PREREQ): Port to GCC versions like GCC
2.8.1 (1998), which come before GCC 3.0 and which have nonzero
patchlevel numbers.
2016-06-26 22:22:40 +02:00
Eli Zaretskii
e26931cba8 Don't set 'bidi-paragraph-direction' in 'ansi-term'
* lisp/term.el (ansi-term): Remove unnecessary setting of
'bidi-paragraph-direction'.  The underlying problem is solved in
bidi.c by changing the regexps that define the paragraph beginning
and end.  (Bug#20611)
2016-06-26 19:51:22 +03:00
Paul Eggert
8419f0d166 ; Spelling fixes 2016-06-26 13:38:48 +02:00
Michael Albinus
e68fe57c52 Sync with Tramp 2.3.0
* doc/misc/trampver.texi:
* lisp/net/trampver.el: Change version to "2.3.0".
2016-06-26 13:02:38 +02:00
Paul Eggert
094aaf226f Fix GNUC_PREREQ off-by-1 typo
Problem reported by Martin Rudalics in:
http://lists.gnu.org/archive/html/emacs-devel/2016-06/msg00587.html
* src/conf_post.h (GNUC_PREREQ) [__GNUC_PATCHLEVEL__]:
Fix < vs <= typo.
2016-06-26 12:45:34 +02:00