Commit graph

65582 commits

Author SHA1 Message Date
Artur Malabarba
08919524eb Make rest-with-response-buffer more broadly useful 2015-11-14 15:00:16 +00:00
Artur Malabarba
be74f6a7cf * lisp/emacs-lisp/rest.el: Finish renaming 2015-11-13 15:08:27 +00:00
Artur Malabarba
ea333933f2 * lisp/emacs-lisp/api.el: Rename to rest.el 2015-11-13 15:00:03 +00:00
Artur Malabarba
d341ab3e67 * lisp/emacs-lisp/api.el: Style fixes 2015-11-13 14:59:25 +00:00
Artur Malabarba
c03f882f29 * lisp/emacs-lisp/api.el: Proper authentication 2015-11-13 14:59:01 +00:00
Artur Malabarba
7534609ac9 * lisp/emacs-lisp/api.el: Some initial authentication support 2015-11-12 23:32:59 +00:00
Artur Malabarba
84cd22ec08 * lisp/emacs-lisp/api.el: New library for making HTTP requests
Wrapper around url.el that is more functional, and aims to be more
straightforward to use. Response data is returned by the function;
synchronous and asynchronous operations take the same form; no use of
dynamic variables; possibility of automatic paging of results.
2015-11-12 23:32: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
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
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
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
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
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
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
Dmitry Gutov
e4c190b28d Make sure that the ignore file exists
* lisp/vc/vc.el (vc-default-ignore-completion-table):
Make sure that the ignore file exists.
2015-11-09 04:32:36 +02:00
Michael Sperber
bcca6a2a02 * gnus-sum.el (gnus-summary-backend-map): Bind B-backspace to
`gnus-summary-delete-article` in a way that also works on XEmacs.
2015-11-09 01:59:24 +00:00
Simen Heggestøyl
29d740aac9 Add support for retrieving paths to JSON elements
Add support for retrieving the path to a JSON element. This can for
instance be useful to retrieve paths in deeply nested JSON
structures.

* lisp/json.el (json-pre-element-read-function)
(json-post-element-read-function): New variables to hold pre- and post
read callback functions for `json-read-array' and `json-read-object'.
(json--path): New variable used internally by `json-path-to-position'.
(json--record-path, json--check-position): New functions used
internally by `json-path-to-position'.
(json-path-to-position): New function for retrieving the path to a
JSON element at a given position.
(json-read-object, json-read-array): Call
`json-pre-element-read-function' and `json-post-element-read-function'
when set.

* test/automated/json-tests.el (test-json-path-to-position-with-objects)
(test-json-path-to-position-with-arrays)
(test-json-path-to-position-no-match): New tests for
`json-path-to-position'.
2015-11-08 21:44:21 +01:00
Karl Fogel
3812e17978 Offer non-overwrite bookmark setter (Bug#15746)
* lisp/bookmark.el (bookmark-set-internal): New helper function to do
  what `bookmark-set' used to do, but with more choices for overwrite
  vs push, and with minor changes to the interactive prompt format.
  (bookmark-set): Rewrite as wrapper around above.
  If overwriting, inform the user of that in the prompt.
  (bookmark-set-no-overwrite): New function, also done as wrapper.
  Bind to "M" in `ctl-x-r-map' autoloads.
  (bookmark-map): Similarly bind "M" here.
2015-11-08 14:18:53 -05:00
Michael Albinus
82c1b368a2 Fix Bug#21841
* lisp/filenotify.el (file-notify--rm-descriptor):
Use `descriptor' instead of computing its value.
(file-notify--descriptor): Additional argument FILE.  Adapt all callees.
(file-notify-rm-watch): Use `descriptor' when calling file name handler.
(Bug#21841)
2015-11-08 15:22:09 +01:00
Dmitry Gutov
cad0490b01 Remove dirs in vc project roots from the the vc project library roots
* lisp/progmodes/project.el (project-library-roots): Remove
directories inside the project roots from the result.
(http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg00536.html)
2015-11-08 14:46:22 +02:00
Dmitry Gutov
aeae5875f9 ; project-library-roots: Update docstring 2015-11-08 14:20:26 +02:00
Dmitry Gutov
3a37d99e97 Move and rename xref-find-regexp to the project package
* lisp/progmodes/project.el (project-find-regexp)
(project--read-regexp)
(project--find-regexp-in): New functions.

* lisp/progmodes/xref.el (xref--find-xrefs): Extract from
xref--show-xrefs.  Use in existing callers in place of that
function.
(xref--show-xrefs): Only do the "show" part.
(xref-find-regexp): Rename, more or less, to
project-or-libraries-find-regexp.
2015-11-08 03:07:09 +02:00
l3thal
7a187017d0 erc-pcomplete.el (pcomplete-erc-nicks): Fix bug#18771 2015-11-07 12:54:58 -05:00
Eli Zaretskii
0ea647d80d ; * lisp/abbrev.el (copy-abbrev-table): Remove forgotten debug code. 2015-11-07 15:50:40 +02:00
Eli Zaretskii
fc61ea4fd7 Speed up lookup in redisplay--variables
* lisp/frame.el (redisplay--variables): Make it a hash-table.

* src/xdisp.c (maybe_set_redisplay): Access redisplay--variables
as a hash-table.  This speeds up this function by an order of
magnitude: where previously a setq was slowed down by 100% by
introducing the maybe_set_redisplay test, it is now only 5%
slower.
(syms_of_xdisp) <redisplay--variables>: Doc fix.
2015-11-07 15:32:45 +02:00
Artur Malabarba
b74c8847e8 * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix a bug
The defsubst was being created as:
    (cl-defsubst name (args) ("DOC") ...)

* test/automated/cl-lib-tests.el (cl-lib-struct-constructors): Add test
2015-11-07 13:55:16 +00:00
Mihai Olteanu
e21e3b6ba9 Update doc string of hexl-mode
* lisp/hexl.el (hexl-mode): Doc fix.  (Bug#21800)

Copyright-paperwork-exempt: yes
2015-11-07 14:35:10 +02:00
Eli Zaretskii
bede518c38 Fix error in copy-abbrev-table
* lisp/abbrev.el (define-abbrev): Don't erase the :abbrev-table-modiff
property of the abbrev-table.  (Bug#21828)

* test/automated/abbrev-tests.el: New file.
2015-11-07 13:32:33 +02:00
Eli Zaretskii
19e09cfab6 Ensure redisplay after evaluation
* lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp): Revert
last change.
* lisp/frame.el (redisplay--variables): Populate the
redisplay--variables list.
* src/xdisp.c (maybe_set_redisplay): New function.
(syms_of_xdisp) <redisplay--variables>: New variable.
* src/window.h (maybe_set_redisplay): Declare prototype.
* src/data.c (set_internal): Call maybe_set_redisplay.  (Bug#21835)
2015-11-06 21:21:52 +02:00