1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-15 10:30:25 -08:00
Commit graph

123424 commits

Author SHA1 Message Date
Johan Bockgård
c4b20fc936 pcase.el: Fix edebugging of backquoted cons patterns
* lisp/emacs-lisp/pcase.el (pcase-QPAT): Fix edebugging of backquoted
cons patterns. (Bug#21920)
2015-11-16 23:48:25 +01:00
Paul Eggert
8ff888a07d Improve fix for regex reentrancy abort
Suggested by Stefan Monnier (Bug#21688).
* src/syntax.c (update_syntax_table_forward):
Remove recently-added PROPERTIZE arg, and assume it is true.
All callers changed.
* src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST):
Invoke update_syntax_table directly.
2015-11-16 13:10:17 -08:00
Dmitry Gutov
1f07a61ee3 ; Fix breakage in elisp-mode-tests.el 2015-11-16 19:15:58 +02:00
Artur Malabarba
26b6952277 * lisp/faces.el (faces--attribute-at-point): Use `face-list-p' 2015-11-16 14:35:31 +00:00
Artur Malabarba
31fc056791 * lisp/emacs-lisp/package.el (package--with-response-buffer): Missing require 2015-11-16 13:53:45 +00:00
Artur Malabarba
63acb2e868 * lisp/emacs-lisp/nadvice.el (add-function): Escape quote 2015-11-16 09:49:00 +00:00
Vasily Korytov
dbc090aeab Recognize .rbw and .pyw files (bug#18753)
* lisp/progmodes/python.el (auto-mode-alist):
Recognize .pyw files.

* lisp/progmodes/ruby-mode.el (auto-mode-alist):
Recognize .rbw files.
2015-11-16 01:32:35 +02:00
Dmitry Gutov
2edfc40a72 Fix ruby-mode auto-mode-alist entry
* lisp/progmodes/ruby-mode.el (auto-mode-alist): Add grouping
around the extensions (bug#21257).
2015-11-16 01:14:54 +02:00
Dmitry Gutov
f60a3b086c Fix etags completion near eob
* lisp/progmodes/etags.el (tags-completion-at-point-function):
Use `goto-char', to avoid the end-of-buffer error (bug#20061).
2015-11-16 00:30:30 +02:00
Alan Mackenzie
4765d24e18 De-pessimize detection of C++ member initialization lists.
list/progmodes/cc-engine.el (c-back-over-list-of-member-inits): New macro.
(c-back-over-member-initializers): Reformulate such that c-at-toplevel-p
is only called when a construct "looks right" rather than continually.
(c-guess-basic-syntax, CASE 5R): Add a check for the mode being C++ Mode.
2015-11-15 21:59:40 +00:00
Artur Malabarba
d99ccd6dd1 Backport: * lisp/emacs-lisp/package.el: Fix a decoding issue.
* lisp/url/url-handlers.el (url-insert-file-contents): Move some code to
`url-insert-buffer-contents'.
(url-insert-buffer-contents): New function

(package--with-response-buffer): Use `url-insert-buffer-contents'.
The previous code had some issues with decoding. Refactoring that
function allows us to use the decoding from url-handlers while still
treating both sync and async requests the same.
2015-11-15 21:32:47 +00:00
Stephen Leake
a6843cce90 Improve a few doc strings, comments
* lisp/cedet/cedet-global.el (cedet-gnu-global-expand-filename):
* lisp/cedet/ede/locate.el (ede-locate-base):
* lisp/cedet/semantic/symref.el (semantic-symref-calculate-rootdir):
* src/fns.c (Fdelq): Improve doc string.

* lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): Add FIXME.
2015-11-15 13:44:41 -06:00
Anders Lindgren
ae16894d1e Enhance NSTRACE (trace output for NextStep).
Trace can be disabled for groups of functions. By default, event
functions and functions that generate lots of output are disabled.

Trace output of Objective-C functions now use the "[ClassName
parameter:]" form.

* src/nsterm.h (NSTRACE_ALL_GROUPS, NSTRACE_GROUP_EVENTS)
(NSTRACE_GROUP_UPDATES, NSTRACE_GROUP_FRINGE, NSTRACE_GROUP_COLOR)
(NSTRACE_GROUP_GLYPHS, NSTRACE_GROUP_FOCUS): New macros,
controlling in which function groups trace should be active.
(NSTRACE_WHEN): Support for silencing a function, this also
silencing all called functions.
(NSTRACE_UNSILENCE): New macro, used to re-enable trace.
(NSTRACE_FMT_FSTYPE, NSTRACE_ARG_FSTYPE): New macros, used to
print the full screen state in NSTRACE functions.

* src/nsterm.m (nstrace_depth, nstrace_num): Made volatile as they
can be accessed from multiple threads.
(nstrace_enabled_global): New variable, when FALSE, trace is
silenced.
(nstrace_restore_global_trace_state): New function, used to
restore `nstrace_enabled_global' at end of block.
([EmacsView setFrame:], [EmacsWindow setFrame:display:])
([EmacsWindow setFrame:display:animation:])
([EmacsWindow setFrameTopLeftPoint:]): New functions, print trace
and call corresponding super function.
(Many functions): Add or enhance trace output.

* src/nsimage.m (ns_image_from_file): Enhanced trace output.

* src/nsfns.m (x_set_tool_bar_lines): Add trace output.

* src/nsmenu.m ([EmacsToolbar setVisible:]): New function, print trace
and call corresponding super function.
2015-11-15 20:19:34 +01:00
Anders Lindgren
6d109c051c ; Cleanup of change log. Removed obsolete email addresses. 2015-11-15 19:28:32 +01:00
Anders Lindgren
b36ba568a9 Fixed a toolbar related issue on OS X.
Earlier, when toggling the tool-bar in a maximized frame, the
frame size didn't match the number of text lines, leaving an
unused area at the bottom of the frame.

* nsfns.m (x_set_tool_bar_lines): Exit maximized and full height
fullscreen modes when tool bar is disabled.
2015-11-15 19:17:53 +01:00
Anders Lindgren
63e6f4c820 Fixed OS X 10.6.8 build issue (bug#21862).
* src/nsterm.h (EmacsView): Add missing declarations.
* src/nsterm.m ([EmacsView windowDidBecomeKey]): New method, like
the standard method but without the notification parameter.
Intended to be used for direct calls.
([EmacsView windowDidEnterFullScreen]): Call the non-notification
version of `windowDidBecomeKey'. Made the notification method call
the non-notification method instead of the vice versa.
(NSWindowDidEnterFullScreenNotification): Deleted, no longer
needed.
2015-11-15 18:51:50 +01:00
Artur Malabarba
4f19767dfa * lisp/faces.el (faces--attribute-at-point): Fix an issue
Previous code would signal an error when the face at point was
a manually built list of attributes such as '(:foregroud "white").

* test/automated/faces-tests.el (faces--test-color-at-point): Add a test
2015-11-15 18:43:28 +00:00
Paul Eggert
8121757b3a Fix regex abort when it tries to reenter itself
Problem reported by Ken Raeburn.
Solution suggested by Stefan Monnier (Bug#21688).
* src/regex.c (re_match_2_internal):
Use new _FAST functions to avoid regex code reentering itself.
* src/syntax.c (update_syntax_table_forward): New arg PROPERTIZE.
All callers changed.
* src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST)
(UPDATE_SYNTAX_TABLE_FAST): New inline functions.
2015-11-15 01:15:42 -08:00
Dmitry Gutov
3a1a220b02 Improve Ruby 1.9-style keyword keys highlighting
* lisp/progmodes/ruby-mode.el (ruby-font-lock-keywords):
Handle required keyword arguments (bug#21367).
And highlight the colon together with the name.
2015-11-15 07:25:19 +02:00
Dmitry Gutov
a4c6f55b9a Unify the absolutely equal xref-backend-references implementations
* lisp/progmodes/elisp-mode.el (xref-backend-references):
Remove.

* lisp/progmodes/etags.el (xref-backend-references):
Remove.

* lisp/progmodes/xref.el (xref-backend-references):
Define the default implementation.
2015-11-15 07:00:45 +02:00
Dmitry Gutov
1a3c4541c3 Update project-find-regexp for the new xref API
* lisp/progmodes/project.el (project--read-regexp):
Update to use the new xref API methods.

* lisp/progmodes/xref.el (xref-find-backend): Autoload.
2015-11-15 06:32:13 +02:00
Dmitry Gutov
bc2cec6b20 Fix replacing a match with a shorter string
In effect, partially reverting fe973fc.

* lisp/progmodes/xref.el (xref-query-replace): Store the end
of each match as a marker again, instead of length.
(xref--query-replace-1): Update accordingly.
2015-11-15 06:32:13 +02:00
Artur Malabarba
d24e7833e5 * lisp/progmodes/xref.el (xref-pop-marker-stack): Downgrade errors
Signal user-errors instead.
2015-11-14 21:13:33 +00:00
Eli Zaretskii
278d8c8e6c Document 'describe-symbol'
* doc/emacs/help.texi (Help Summary): Mention "C-h o".
(Name Help): Document "C-h o" and describe-symbol.

* lisp/help-fns.el (describe-symbol): Doc fix.
2015-11-14 22:02:26 +02:00
Paul Eggert
478262d6cc Change test name to avoid spellcheck issue. 2015-11-14 11:51:20 -08:00
Eli Zaretskii
33249be645 ; * etc/NEWS: Minor improvements in wording. 2015-11-14 21:38:47 +02:00
Eli Zaretskii
7ad01cb68a Avoid signaling an error in 'describe-symbol'
* lisp/help-fns.el (describe-symbol): Avoid errors when the symbol
exists as a function/variable/face/etc., but is undocumented.

* test/automated/help-fns.el (help-fns-test-describe-symbol): New
test.
2015-11-14 19:27:52 +02:00
Eli Zaretskii
855c6e8cdb ; * etc/NEWS: Fix formatting 2015-11-14 18:25:24 +02:00
Eli Zaretskii
c0cbecf3e8 ; * etc/NEWS: Some easily fixed documentation marks 2015-11-14 18:22:45 +02:00
Eli Zaretskii
abef71f38a * INSTALL (--with-cairo): Document this new configure option. 2015-11-14 18:20:36 +02:00
Eli Zaretskii
07742820e4 Document that GNU Make >= 3.81 is required to build Emacs
* doc/lispref/internals.texi (Building Emacs): Document that GNU
Make 3.81 or later is now required.
2015-11-14 18:12:25 +02:00
Artur Malabarba
e7f2c91bd1 Backport: * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async.
(package--with-work-buffer-async): Reimplement as
`package--with-response-buffer'.
(package--with-work-buffer): Mark obsolete.
(package--with-response-buffer): New macro. This is a more self
contained and less contrived version of
`package--with-work-buffer-async'.  It uses keyword arguments,
doesn't have async on the name, doesn't fallback on
`package--with-work-buffer', and has _much_ simpler error
handling.  On master, this macro will soon be part of another
library (either standalone or inside url.el), which is why this
commit is not to be merged back.

(package--check-signature, package--download-one-archive)
(package-install-from-archive, describe-package-1): Use it.

(package--download-and-read-archives): Let
`package--download-one-archive' take care of calling
`package--update-downloads-in-progress'.
2015-11-14 16:06:01 +00:00
Eli Zaretskii
ca947054e2 * CONTRIBUTE (Branches): Improve wording for back-ported commits. 2015-11-14 13:52:34 +02:00
Dmitry Gutov
f234fc2cb3 Merge branch 'master' into emacs-25 2015-11-14 13:02:35 +02:00
Dmitry Gutov
138ad3d93b ; Fix warnings
* lisp/vc/diff-mode.el (diff-kill-applied-hunks):
Fix unused variable warnings.
2015-11-14 03:03:58 +02:00
Dmitry Gutov
7126e9a40b ; Update xref-etags-mode for the latest change 2015-11-14 02:41:38 +02:00
Dmitry Gutov
246d6605f7 Use generic dispatch for xref backends
* lisp/progmodes/xref.el (xref-backend-functions):
New variable.
(xref-find-function): Remove.
(xref-find-backend)
(xref--etags-backend): New functions.
(xref-identifier-at-point-function)
(xref-identifier-completion-table-function): Remove.
(xref-backend-definitions, xref-backend-references)
(xref-backend-apropos, xref-backend-identifier-at-point)
(xref-backend-identifier-completion-table):
New generic functions.

* lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add
`elisp--xref-backend' to the beginning of
`xref-backend-functions', locally.  Delete references to
removed functions and vars.
(elisp-xref-find): Remove.
(elisp--xref-backend): New function.
(elisp--xref-find-references, elisp--xref-find-apropos)
(elisp--xref-identifier-completion-table):
Turn into appropriately named generic methods.

* lisp/progmodes/etags.el (etags-xref-find): Remove.
(xref-backend-identifier-completion-table)
(xref-backend-references, xref-backend-definitions)
(xref-backend-apropos): New generic methods.
2015-11-14 02:41:38 +02:00
Juri Linkov
31f6e93933 Support rectangular regions for more commands
* lisp/simple.el (region-extract-function): Handle the arg value ‘bounds’.
(region-insert-function): New function.
(shell-command-on-region): Add arg ‘region-noncontiguous-p’.
If non-nil, operate on multiple chunks.
(region-noncontiguous-p): New function.

* lisp/rect.el: Add function rectangle--insert-region
around region-insert-function.
(extract-rectangle-bounds): New function.
(rectangle--extract-region): Handle the arg value ‘bounds’.
(rectangle--insert-region): New function.

* lisp/emulation/cua-rect.el: Add function cua--insert-rectangle
around region-insert-function.
(cua--extract-rectangle-bounds): New function.
(cua--rectangle-region-extract): Handle the arg value ‘bounds’.

* lisp/replace.el (query-replace, query-replace-regexp): Add arg
‘region-noncontiguous-p’.  Use ‘use-region-p’.
(query-replace-regexp-eval, map-query-replace-regexp)
(replace-string, replace-regexp): Use ‘use-region-p’.
(keep-lines, flush-lines, how-many): Use ‘use-region-p’.
(perform-replace): Add arg ‘region-noncontiguous-p’.
If non-nil, operate on multiple chunks.

* src/casefiddle.c (Fdowncase_region): Add arg ‘region-noncontiguous-p’.
If non-nil, operate on multiple chunks. (Bug#19829)
2015-11-14 01:28:03 +02:00
Dmitry Gutov
f103a2771b Handle multiple matches on the same line; add highlighting
* lisp/progmodes/xref.el (xref-location-marker): Interpret the
column value in characters.
(xref--collect-matches): Rename from `xref--collect-match'.
Search for all matches in the hit line.  Add `highlight' face to
the matched region in the summary.  Update both callers.
2015-11-14 01:11:52 +02:00
Dmitry Gutov
fe973fc270 Replace xref-match-bounds with xref-match-length
Relying on xref-location-marker to point to the beginning of the match

* lisp/progmodes/xref.el (xref-match-bounds): Remove.
(xref-match-length): Add.
(xref-make-match): Change the arguments.
(xref--match-buffer-bounds): Remove.
(xref-match-item): Store length, instead of end-column.
(xref-pulse-momentarily)
(xref--collect-match)
(xref--query-replace-1): Update accordingly.
(xref-query-replace): Ditto.  And check that the search results
are up-to-date.
2015-11-14 01:01:58 +02:00
John Wiegley
4d71d2471a Merge remote-tracking branch 'origin/master' into emacs-25 2015-11-13 14:41:41 -08:00
l3thal
51644c33d2 Merge branch 'erc-async-reconnect' into emacs-25 2015-11-13 16:37:26 -05:00
l3thal
68cdc4bd7a Reconnect asynchronously. 2015-11-13 16:34:32 -05:00
Paul Eggert
92a501022e Merge from gnulib
This incorporates:
2015-11-13 xalloc-oversized: improve performance with GCC 5
* lib/xalloc-oversized.h: Copy from gnulib.
2015-11-13 12:40:52 -08:00
Paul Eggert
04ac097f34 Spruce up ftfont.c memory allocation
* src/ftfont.c (setup_otf_gstring):
Avoid O(N**2) behavior when reallocating.
(ftfont_shape_by_flt): Prefer xpalloc to xrealloc when
reallocating buffers; this simplifies the code.  Do not trust
mflt_run to leave the output areas unchanged on failure, as
this isn’t part of its interface spec.
2015-11-13 12:04:15 -08:00
Eli Zaretskii
84c7b3879c Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25 2015-11-13 22:03:12 +02:00
Paul Eggert
da05685d0b Port recent XCB changes to 64-bit ‘long int’
For historical reasons, libX11 represents 32-bit values like Atoms as
‘long int’ even on platforms where ‘long int’ is 64 bits.  XCB doesn’t
do that, so adapt the recent XCB code to behave properly on 64-bit
platforms.  Also, fix what appears to be a bug in the interpretation
of xcb_get_property_value_length, at least on my Fedora platform
which is running libxcb-1.11-5.fc21.
* src/xfns.c (x_real_pos_and_offsets):
* src/xterm.c (get_current_wm_state):
xcb_get_property_value_length returns a byte count, not a word count.
For 32-bit quantities, xcb_get_property_value returns a vector
of 32-bit words, not of (possibly 64-bit) long int.

Backport.
2015-11-13 22:02:13 +02:00
Paul Eggert
97226341ec * src/undo.c (run_undoable_change): Now static.
Backport.
2015-11-13 22:01:52 +02:00
Eli Zaretskii
34530571fc Remove support for ':timeout' from w32 tray notifications
* src/w32fns.c (Fw32_notification_notify): Delete the code that
supports ':timeout'.
(syms_of_w32fns): Don't DEFSYM ':timeout'.  This avoids clashes
with dbusbind.c when D-Bus is compiled in.

* doc/lispref/os.texi (Desktop Notifications): Don't mention
':timeout'.

Backport.
2015-11-13 22:01:26 +02:00
Juanma Barranquero
93e7db13d6 * test/automated/simple-test.el: Add test for bug#20698 (bug#21885)
(simple-test--transpositions): New macro.
(simple-transpose-subr): New test.

Backport.
2015-11-13 22:00:59 +02:00