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

123353 commits

Author SHA1 Message Date
Eli Zaretskii
82f3dc0ea2 Another fix for MinGW64 and Cygwin builds due to notifications
* src/w32fns.c: Ifdef away tray notification code if D-Bus is
being compiled into Emacs.
(syms_of_w32fns) [WINDOWSNT && !HAVE_DBUS]: Don't defsubr
Sw32_notification_notify and Sw32_notification_close if the code
is not compiled.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.

Backport.
2015-11-13 21:57:33 +02:00
YAMAMOTO Mitsuharu
071b2e16a0 Remove intern calls and XXX comments from Fx_export_frames
* src/xfns.c (Fx_export_frames): Use Qpdf, Qpng, Qpostscript, and
Qsvg instead of intern calls.  Use "postscript" instead of "ps"
for consistency with image types.  Remove XXX comments.
(syms_of_xfns) <Qpdf>: DEFSYM it.

Backport.
2015-11-13 21:57:06 +02:00
Eric Hanchrow
9463abf4cc shr: don't invoke unbound function (Bug#21895)
* lisp/net/shr.el (have-fringes-p): New function.
  (shr-insert-document, shr-fill-text): Use it.
2015-11-12 17:38:06 -08:00
Juanma Barranquero
6e5186e8a7 * test/automated/keymaps-test.el: Fix test to make it repeatable
(keymap-store_in_keymap-FASTINT-on-nonchars): Reset Buffer-menu-mode-map
entry to its initial value to make the test repeatable in interactive
sessions (assuming it doesn't fail and crashes Emacs, of course).
2015-11-12 23:42:23 +01:00
Artur Malabarba
0c92826611 * test/automated/cl-lib-tests.el (cl-lib-struct-constructors): Small fix 2015-11-12 23:32:40 +00:00
Phillip Lord
39dbd1cd0f : Tests for undo-auto functionality. 2015-11-12 22:18:59 +00:00
Phillip Lord
20aa42e820 ; Merge branch 'fix/no-undo-boundary-on-secondary-buffer-change'
Conflicts:
	src/cmds.c
	src/keyboard.c
2015-11-12 22:01:22 +00:00
Phillip Lord
44dfa86b7d The heuristic that Emacs uses to add an `undo-boundary' has been
reworked, as it interacts poorly with functions on `post-command-hook'
or `after-change-functions'.

* lisp/simple.el: New section added.
* src/cmds.c (remove_excessive_undo_boundaries): Now in lisp.
(self_insert_command): Calls simple.el to amalgamate.
(delete_char): Calls simple.el to amalgamate.
* src/keyboard.c (last_undo_boundary): Removed.
* src/undo.c (run_undoable_change): New function.
2015-11-12 21:06:05 +00:00
Juri Linkov
d2f73db50b Bind [?\S-\ ] to previous line command in Dired-like modes.
* lisp/arc-mode.el (archive-mode-map):
* lisp/dired.el (dired-mode-map):
* lisp/proced.el (proced-mode-map):
* lisp/vc/vc-dir.el (vc-dir-mode-map):
Bind [?\S-\ ] to previous line command.
(Bug#20790)
2015-11-12 22:54:01 +02:00
Eli Zaretskii
c1bc6e5d99 Fix the MinGW64 and Cygwin-w32 builds
* src/w32fns.c (MYNOTIFYICONDATAW_V1_SIZE)
(MYNOTIFYICONDATAW_V2_SIZE, MYNOTIFYICONDATAW_V3_SIZE): Define and
use instead of the corresponding NOTIFYICONDATAW_Vn_SIZE macros,
which cause trouble with MinGW42 headers.  Ifdef away tray
notifications code for Cygwin.  Reported by Andy Moreton
<andrewjmoreton@gmail.com>.
2015-11-12 22:40:31 +02:00
Simen Heggestøyl
1e363a8ea5 Enable sorting of JSON object keys when encoding
* lisp/json.el (json-encoding-object-sort-predicate): New variable for
specifying a sorting predicate for JSON objects during encoding.
(json--plist-to-alist): New utility function.
(json-encode-hash-table): Re-use `json-encode-alist' when object keys
are to be sorted.
(json-encode-alist): Sort output by
`json-encoding-object-sort-predicate, when set.
(json-encode-plist): Re-use `json-encode-alist' when object keys are
to be sorted.
(json-pretty-print-buffer-ordered): New command to pretty print the
buffer with object keys sorted alphabetically.
(json-pretty-print-ordered): New command to pretty print the region with
object keys sorted alphabetically.

* test/automated/json-tests.el (test-json-plist-to-alist)
(test-json-encode-plist, test-json-encode-hash-table)
(test-json-encode-alist-with-sort-predicate)
(test-json-encode-plist-with-sort-predicate): New tests.

* etc/NEWS: Add an entry for the new commands.
2015-11-12 18:30:37 +01:00
Juanma Barranquero
9dd7da9945 * test/automated/keymap-tests.el: New test file 2015-11-12 17:54:48 +01:00
Ken Raeburn
aa17de9056 Speed up x_real_pos_and_offsets using XCB
* src/xfns.c (x_real_pos_and_offsets) [USE_XCB]: Add XCB flavors of
all X calls, and pipeline requests when possible, collecting results
later.  Eliminate use of x_catch_errors (and thus XSync) in XCB case.
2015-11-12 03:58:10 -05:00
Ken Raeburn
a838c8331c Enable use of XCB for checking window manager state
* src/xterm.c (get_current_wm_state) [USE_XCB]: Use XCB calls instead
of XGetWindowProperty plus error-catching, since we can explicitly
check for errors in the XCB version.  This eliminates 3 XSync calls on
top of the round-trip actually fetching the information.
2015-11-12 03:58:09 -05:00
Ken Raeburn
c7f2b6ad89 Detect XCB and save a connection handle
* configure.ac: If using X11, check for XCB libraries and header.
* src/Makefile.in (XCB_LIBS): Define.
(LIBX_EXTRA): Include it.

* src/xterm.h [USE_XCB]: Include X11/Xlib-xcb.h.
(struct x_display_info) [USE_XCB]: Add an XCB connection handle field.
* src/xterm.c (x_term_init) [USE_XCB]: Initialize the new field.
2015-11-12 03:58:09 -05:00
Ken Raeburn
e1c27dbd25 Reduce some data dependencies between X calls
Gains nothing in the traditional-Xlib code, but more closely aligns
with how the XCB version will work.

* src/xfns.c (x_real_pos_and_offsets): When translating coordinates,
send coordinates (0,0) to the X server and add in the real coordinates
after getting the response.  Move XGetGeometry for outer window inside
error-trapping block.  Use DPY variable more, since it's available.
2015-11-12 03:58:08 -05:00
Ken Raeburn
25e32bd861 Use color cache for creating bitmap
* src/image.c (x_create_bitmap_from_xpm_data) [ALLOC_XPM_COLORS]: Set
attributes to use the caching color allocator.  Initialize and free
the cache.
2015-11-12 03:58:08 -05:00
Eli Barzilay
851be0f607 Add "^" to the interactive specs of `dired-next/previous-line'
* lisp/dired.el (dired-next-line, dired-previous-line): It makes sense
to bind these commands to the arrow keys, and that means that they work
better with a "^" in the `interactive' declaration so selection works
as expected.
2015-11-12 09:35:10 +01:00
Thomas Fitzsimmons
055ca3a57e Sync with soap-client repository, version 3.0.2
* soap-client.el: Bump version to 3.0.2.

* soap-client.el (soap-warning): Use format, not format-message.

* soap-client.el: Add cl-lib to Package-Requires.  Require cl-lib.
(soap-validate-xs-simple-type): Use cl-labels instead of cl-flet.

* soap-client.el: Support Emacs versions that do not have
define-error.

* soap-inspect.el: Remove version header.

* soap-client.el, soap-inspect.el, jira2.el: Fix first line header
format.
2015-11-11 23:43:50 -05:00
Alan Mackenzie
e0f64e7b4f CC Mode: Respect users' settings of open-paren-in-column-0-is-defun-start.
lisp/progmodes/cc-engine.el (c-backward-single-comment, c-backward-comments)
(c-invalidate-state-cache-1, c-parse-state-1, c-guess-basic-syntax):
remove bindings of open-paren-in-column-0-is-defun-start to nil.
(c-get-fallback-scan-pos): "New" function (existed several years ago).
(c-parse-state-get-strategy): Reintroduce the 'BOD strategy, using
c-get-fallback-scan-pos.
(c-parse-state-1): Handle 'BOD strategy.

lisp/progmodes/cc-mode.el (c-before-change, c-after-change)
c-font-lock-fontify-region): remove bindings of
open-paren-in-column-0-is-defun-start to nil.

cc-mode.texi (Performance Issues, Limitations and Known Bugs): Fix mix up
between @chapter and @appendix.
2015-11-11 22:22:35 +00:00
Artur Malabarba
952395d3eb * lisp/obarray.el: Fix shadowed variables
(obarray-map, obarray-remove, obarray-put, obarray-get):
Change OBARRAY arg to OB to avoid shadowing ‘obarray’.
2015-11-11 22:30:22 +00:00
Eli Zaretskii
436d330721 Avoid error in submitting a form with EWW
* lisp/gnus/mm-url.el (mm-url-form-encode-xwfu): Allow argument
CHUNK to be nil.  (Bug#21881)
2015-11-11 22:01:39 +02:00
Juanma Barranquero
e887f6e33b ; * doc/lispref/os.texi: Fix indentation of sample code. 2015-11-11 18:43:48 +01:00
Nicolas Petton
51d840a8a1 Rename seq-p and map-p to seqp and mapp
* lisp/emacs-lisp/seq.el (seqp): New name.
* lisp/emacs-lisp/map.el (mapp): New name.
* doc/lispref/sequences.texi: Update the documentation for seqp.
* test/automated/map-tests.el: Update the tests for mapp.
2015-11-11 18:20:03 +01:00
Nicolas Petton
23036bac7d Rename obarray-p to obarrayp
* lisp/obarray.el (obarrayp): New name.
* test/automated/obarray-tests.el: Update the tests.
2015-11-11 18:09:42 +01:00
Nicolas Petton
20aea42934 Rename obarray-foreach to obarray-map
* lisp/obarray.el (obarray-map): New name.
* test/automated/obarray-tests.el: Update the corresponding tests.
2015-11-11 17:53:41 +01:00
Przemysław Wojnowski
a3b210129c New file with obarray functions.
* lisp/obarray.el: basic obarray functions extracted from abbrev.el
* test/automated/obarray-tests.el: new file
2015-11-11 17:53:00 +01:00
Eli Zaretskii
9d43941569 Implement tray notifications for MS-Windows
* src/w32fns.c (MY_NOTIFYICONDATAW): New typedef.
(NOTIFYICONDATAW_V1_SIZE, NOTIFYICONDATAW_V2_SIZE)
(NOTIFYICONDATAW_V3_SIZE, NIF_INFO, NIIF_NONE, NIIF_INFO)
(NIIF_WARNING, NIIF_ERROR, EMACS_TRAY_NOTIFICATION_ID)
(EMACS_NOTIFICATION_MSG): New macros.
(NI_Severity): New enumeration.
(get_dll_version, utf8_mbslen_lim, add_tray_notification)
(delete_tray_notification, Fw32_notification_notify)
(Fw32_notification_close): New functions.
(syms_of_w32fns): Defsubr functions exposed to Lisp.  DEFSYM
keywords used by w32-notification-notify.

* doc/lispref/os.texi (Desktop Notifications): Describe the native
w32 tray notifications.
2015-11-11 18:29:36 +02:00
Michael Albinus
ef75c3b56b Optimize file-equal-p' and file-in-directory-p' in Tramp
* lisp/net/tramp.el (tramp-handle-file-equal-p)
(tramp-handle-file-in-directory-p): New defuns.  Suggested by
Harvey Chapman <hchapman@3gfp.com>

* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
* lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist): Use them.
2015-11-11 11:47:26 +01:00
Karl Fogel
25775a12c5 * CONTRIBUTE: Encourage adding tests.
Based on this post from John Wiegley:

  From: "John Wiegley" <johnw@newartisans.com>
  Subject: Re: [Emacs-diffs] master 1f02cbe: Fix bug#21766 and add test
  To: Juanma Barranquero <lekktu@gmail.com>
  Cc: emacs-diffs@gnu.org, bruce.connor.am@gmail.com,
      emacs-devel <emacs-devel@gnu.org>
  Date: Wed, 28 Oct 2015 18:45:29 -0700
  Message-ID: <m2y4emqwg6.fsf@newartisans.com>

  https://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02372.html
2015-11-10 15:28:46 -06:00
David Reitter
0bba304045 Avoid creating notification objects when possible
* src/nsterm.m (windowWillEnterFullScreen, windowWillExitFullScreen:,
windowDidEnterFullScreen, windowDidExitFullScreen): provide
convenience functions that do not require a notification object.  When
needed, define NSWindowDidEnterFullScreenNotification to allow for
compilation on OS X 10.6.8.
2015-11-10 15:53:20 -05:00
Paul Eggert
0e0ea300ff Move INTEGER_TO_CONS body out of .h file
* src/data.c (INTBIG_TO_LISP): New macro, with most
of the contents of the old INTEGER_TO_CONS.
(intbig_to_lisp, uintbig_to_lisp): New functions.
* src/lisp.h (INTEGER_TO_CONS):
Simplify by using EXPR_SIGNED and the new functions.
This shrinks code size a bit, and makes it easier to
put a breakpoint on handling of large integers.
2015-11-10 12:52:26 -08:00
Paul Eggert
6c16c9a649 Merge from gnulib
This incorporates:
2015-11-10 intprops: new public macro EXPR_SIGNED
2015-11-10 intprops: fix typo in clang port
* lib/intprops.h: Copy from gnulib.
2015-11-10 12:42:32 -08:00
Paul Eggert
c92dbd6d0c Spelling fixes
* lisp/net/soap-inspect.el (soap-inspect-xs-simple-type):
Fix misspelling in output.
2015-11-10 10:23:00 -08:00
Artur Malabarba
d149ca81c3 * doc/lispref/variables.texi (Directory Local Variables):
Document dir-locals wildcards

* lisp/files.el (dir-locals-file): Point to Info node.

* doc/emacs/custom.texi (Directory Variables):
Document dir-locals wildcards.

* etc/NEWS: Document new functionality.
2015-11-10 14:45:50 +00:00
Artur Malabarba
9145e79dc2 * lisp/files.el: Don't allow customization of dir-locals sorting
In retrospect, this is not a good idea for the same reason that
`dir-locals-file' is a defconst, because it is important that this
behaviour be "uniform across different environments and users".
Sure, the user can still change the sorting with a hack, but we
shouldn't encourage them to change it.

(dir-locals--all-files): Return list in the order returned by
`file-expand-wildcards'.
(file-expand-wildcards): Document the sorting predicate used.
(dir-locals-sort-predicate): Delete variable.
2015-11-10 13:26:00 +00:00
Artur Malabarba
77cebbc1e7 * lisp/files.el (dir-locals-read-from-file): Better handle errors 2015-11-10 13:14:49 +00:00
Artur Malabarba
4d82aa3abd * lisp/isearch.el (search-default-regexp-mode): change default value 2015-11-10 13:04:31 +00:00
Artur Malabarba
1e98f041ac * lisp/files.el (dir-locals-find-file): Don't stop at unreadable files
`locate-dominating-file' will now keep looking if the files it finds in
a given directory are unreadable (or not files).
2015-11-10 13:04:31 +00:00
Artur Malabarba
2e8488858c * lisp/files.el (dir-locals-file): Allow wildcards
(dir-locals-find-file, dir-locals-collect-variables)
(dir-locals-read-from-file): Update accordingly.
(hack-dir-local-variables): Rename a local variable.

* lisp/files-x.el (modify-dir-local-variable): Update accordingly

* lisp/help-fns.el (describe-variable): Update accordingly

* .gitignore: Add .dir-locals?.el
2015-11-10 13:04:31 +00:00
Artur Malabarba
cbaa04014e * lisp/emacs-lisp/map.el (map-merge-with): New function
* test/automated/map-tests.el (test-map-merge-with): New test
2015-11-10 13:04:30 +00:00
Dmitry Gutov
cbc51211f9 ; project-library-roots-function: Update the FIXME 2015-11-10 13:31:20 +02:00
Karl Fogel
0f50e5163c Fix some recently-perturbed bookmark autoloads
* lisp/bookmark.el (bookmark-set-internal): Remove unnecessary autoload.
  (bookmark-set): Restore autoload.
  (bookmark-set-no-overwrite): Add autoload.

Thanks to Juanma Barranquero for noticing the autoload problems
introduced by my recent commit adding/changing the above functions
(Sun Nov 8 14:16:43 2015 -0500, git commit 3812e17978).
2015-11-09 22:14:54 -06:00
Noah Friedman
f5eac7baef (ydump-buffer): Handle case where gap is at the start of buffer.
I don't recall if older versions of gdb were less strict but you
cannot dump a 0-length range in gdb 7.9.1.
2015-11-09 17:34:40 -08:00
Dmitry Gutov
82d59f1b3b * lisp/progmodes/project.el: Update Commentary. 2015-11-10 02:56:55 +02:00
Dmitry Gutov
0be6fb8e17 Merge branch 'project-next' 2015-11-10 02:47:46 +02:00
Dmitry Gutov
1c72afb7aa Fold project-ask-user' into project-current'
* lisp/progmodes/project.el (project-find-functions): Remove
`project-ask-user'.
(project-ask-user): Remove function and the corresponding
`project-roots' implementation.
(project-current): Add a new argument, MAYBE-PROMPT.  Prompt the
user in case there's no project in the current directory.  Update
all callers.
2015-11-10 02:41:06 +02:00
Karl Fogel
3c3aad7335 When VC detects a conflict, specify which file
* lisp/vc/vc.el (vc-message-unresolved-conflicts): New function.
* lisp/vc/vc-svn.el (vc-svn-find-file-hook):
* lisp/vc/vc-hg.el (vc-hg-find-file-hook):
* lisp/vc/vc-bzr.el (vc-bzr-find-file-hook):
* lisp/vc/vc-git.el (vc-git-find-file-hook): Use above new function
  to display a standard message that specifies the conflicted file.

Before this change, the message VC used for indicating a conflicted
file was just "There are unresolved conflicts in this file" without
naming the file (and this language was duplicated in several places).
After this change, it's "There are unresolved conflicts in file FOO"
(and this language is now centralized in one function in vc.el).

Justification: It's important for the message to name the conflicted
file because the moment when VC realizes a file is conflicted does not
always come interactively.  For example, some people automatically
find a set of Org Mode files on startup, and may keep those .org files
under version control.  If any of the files are conflicted, the user
just sees some messages fly by, and might later check the "*Messages*"
buffer to find out what files were conflicted.  I'm not saying this
happened to me or anything; it's a purely hypothetical example.
2015-11-09 15:57:29 -06:00
Eli Zaretskii
86c19714b0 Fix assertion violation in define-key
* src/keymap.c (store_in_keymap): Don't use XFASTINT on non-character
objects.  Reported by Drew Adams <drew.adams@oracle.com>
and Juanma Barranquero <lekktu@gmail.com>.
2015-11-09 20:31:45 +02:00
Dima Kogan
c6c16fb3f8 Fix a memory leak in GC of font cache
* src/alloc.c (compact_font_cache_entry): Don't GC unmarked font
entities if some of the fonts it references are marked.  This
plugs a memory leak.  (Bug#21556)
2015-11-09 18:36:05 +02:00