summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
Commit message (Collapse)AuthorAgeFilesLines
* * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords):Glenn Morris2015-06-101-1/+1
| | | | | Move requiring of finder from here... (checkdoc-package-keywords): ... to here.
* * lisp/emacs-lisp/checkdoc.el: Use lexical-bindingStefan Monnier2015-06-101-1/+3
| | | | (finder-known-keywords): Silence byte-compiler.
* Add new command checkdoc-package-keywordsOleh Krehel2015-06-081-0/+39
| | | | | | | | | | | | | * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag): New defcustom. (checkdoc-list-of-strings-p): Add doc. (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is non-nil, call `checkdoc-package-keywords'. (checkdoc-get-keywords): New defun. (checkdoc-package-keywords): New command. Warns if the current file has package.el-style keywords that aren't in `finder-known-keywords'. * etc/NEWS: Add entry.
* * lisp/emacs-lisp/package.el (package-delete): Make interactiveArtur Malabarba2015-06-081-2/+21
|
* checkdoc.el (checkdoc-file): New functionOleh Krehel2015-06-081-10/+17
| | | | | | | | * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `checkdoc-diagnostic-buffer' is set to "*warn*", print the warning to the standard output. (bug#20754)
* * lisp/emacs-lisp/map.el (map-let): Better docstring.Nicolas Petton2015-06-061-8/+13
|
* Better syntax for the map pcase patternNicolas Petton2015-06-061-1/+1
| | | | | * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take bindings of the form (KEY PAT) or SYMBOL. KEY is not quoted.
* * lisp/emacs-lisp/map.el (map--dispatch): Better docstring.Nicolas Petton2015-06-061-2/+2
|
* ; * lisp/emacs-lisp/map.el: Fix formatting.Nicolas Petton2015-06-061-7/+7
|
* Fix a byte-compiler error in map-put and map-deleteNicolas Petton2015-06-061-10/+16
| | | | | * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is called with a symbol.
* * lisp/emacs-lisp/map.el (map--dispatch): Move before use.Glenn Morris2015-06-051-32/+32
| | | | (map--delete-array): Fix typo.
* Fix curved quotes in a few placesPaul Eggert2015-06-041-1/+2
| | | | | | | | | | | * lisp/calc/calc-misc.el (calc-help): Fix quoting. The strings in question are not doc strings, so this partially undoes the recent change that assumed they were doc strings. * lisp/cedet/srecode/srt-mode.el (srecode-macro-help): * lisp/info.el (Info-finder-find-node): Use curved quotes. * lisp/emacs-lisp/derived.el (derived-mode-make-docstring): Also allow curved quotes in doc strings.
* Handle new-style advice in find-functDmitry Gutov2015-06-051-8/+11
| | | | | | | * lisp/emacs-lisp/find-func.el (find-function-advised-original): Handle new-style advice. Return the symbol's function definition. (Bug#20718) (find-function-library): Update accordingly.
* Merge branch 'map'Nicolas Petton2015-06-041-0/+371
|\
| * * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro.Nicolas Petton2015-06-041-1/+2
| |
| * Add a pcase pattern for maps and `map-let' based on itNicolas Petton2015-06-021-0/+35
| | | | | | | | | | | | * lisp/emacs-lisp/map.el (map-let): New macro. (map--make-pcase-bindings, map--make-pcase-patterns): New functions. * test/automated/map-tests.el: New test for `map-let'.
| * Improve the docstring of functions in map.elNicolas Petton2015-05-161-19/+58
| | | | | | | | | | | | | | | | Since a map is not a data structure but a concept, adding information about the possible types of maps can be useful information. * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to each public function.
| * Faster implementation of map-empty-pNicolas Petton2015-04-291-1/+5
| | | | | | | | | | * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using specific tests depending on the type of the map.
| * * lisp/emacs-lisp/map.el: Better docstrings.Nicolas Petton2015-04-291-9/+6
| |
| * * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambdaArtur Malabarba2015-04-251-3/+1
| |
| * * lisp/emacs-lisp/map.el (map--elt-list): Better docstring.Nicolas Petton2015-04-251-1/+1
| |
| * * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring.Nicolas Petton2015-04-251-1/+1
| |
| * Fix a false negative in `map-elt' with alists and values being nilNicolas Petton2015-04-251-2/+11
| | | | | | | | | | | | | | | | * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is found but its associated value is nil, do not return the default value. * test/automated/map-tests.el: Add a regression test.
| * * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring.Nicolas Petton2015-04-241-1/+1
| |
| * Do not signal an error when trying to delete a key from an arrayNicolas Petton2015-04-241-2/+9
| | | | | | | | | | | | | | | | * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if the key is present to avoid signaling an error. * test/automated/map-tests.el: Add a test for deleting non-existing keys from maps.
| * * lisp/emacs-lisp/map.el: Better docstring.Nicolas Petton2015-04-241-1/+2
| |
| * Minor improvement in map-elt.Nicolas Petton2015-04-241-2/+11
| | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when doing a lookup in arrays, but check the boundaries of the array instead. * test/automated/map-tests.el: Adds a test for `map-elt' with arrays and a negative integer as key.
| * * lisp/emacs-lisp/map.el (map-into): Better error message.Nicolas Petton2015-04-181-1/+1
| |
| * * lisp/emacs-lisp/map.el: Removes byte-compilation warnings.Nicolas Petton2015-04-181-4/+4
| |
| * Throw an error when converting a map into an unknown map typeNicolas Petton2015-04-181-1/+2
| | | | | | | | | | * lisp/emacs-lisp/map.el (map-into): Throw an error if type is not valid. * test/automated/map-test.el: Add a regression test.
| * New library map.el similar to seq.el but for mapping data structures.Nicolas Petton2015-04-181-0/+270
| | | | | | | | | | * test/automated/map-test.el: New file. * lisp/emacs-lisp/map.el: New file.
* | Generate curved quotes in ert docPaul Eggert2015-06-021-12/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc) (ert-results-mode-menu) (ert-results-pop-to-backtrace-for-test-at-point) (ert-results-pop-to-messages-for-test-at-point) (ert-results-pop-to-should-forms-for-test-at-point) (ert-describe-test): Quote ‘like this’, not `like this', when generating doc strings and the like. * test/automated/ert-x-tests.el (ert-test-describe-test): Allow quoting ‘like this’.
* | * lisp/emacs-lisp/package.el: Don't load from parent dirArtur Malabarba2015-05-291-3/+4
| | | | | | | | | | (package-load-all-descriptors): Don't load descriptors from directories above the package directories.
* | ; Auto-commit of loaddefs files.Glenn Morris2015-05-281-1/+1
| |
* | A few more doc string fixes (Bug#20385)Paul Eggert2015-05-282-5/+5
| |
* | Fix minor quoting problems in doc stringsPaul Eggert2015-05-281-1/+1
| | | | | | | | | | | | Most of these fixes involve escaping grave accents that are actually intended to be grave accents, not left quotes. (Bug#20385)
* | Support curved quotes in doc stringsPaul Eggert2015-05-285-28/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Emacs's traditional doc string style has been to quote symbols `like this'. This worked well on now-obsolete terminals where ` and ' were symmetric quotes, but nowadays curved quotes ‘like this’ look better. Support quoting the new way too. (Bug#20385) * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted ‘like-this’ as well as `like-this'. * etc/NEWS: Mention this. * lisp/cedet/mode-local.el (overload-docstring-extension) (mode-local-print-binding, mode-local-describe-bindings-2): * lisp/cus-theme.el (describe-theme-1): * lisp/descr-text.el (describe-text-properties-1, describe-char): * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine): * lisp/emacs-lisp/cl-generic.el (cl--generic-describe): * lisp/emacs-lisp/eieio-opt.el (eieio-help-class) (eieio-help-constructor): * lisp/emacs-lisp/package.el (describe-package-1): * lisp/faces.el (describe-face): * lisp/help-fns.el (help-fns--key-bindings) (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete): (help-fns--interactive-only, describe-function-1): (describe-variable): * lisp/help.el (describe-mode): * lisp/international/mule-cmds.el (describe-input-method) (describe-language-environment): * lisp/international/mule-diag.el (describe-character-set) (print-coding-system-briefly, list-input-methods) (list-input-methods-1): Insert curved quotes rather than grave accent and apostrophe. * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring): * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine) (checkdoc-proper-noun-region-engine): * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2) (lisp-cl-font-lock-keywords-2): * lisp/finder.el (finder-font-lock-keywords): * lisp/gnus/gnus-art.el (gnus-button-alist): * lisp/help-fns.el (help-do-arg-highlight) (describe-function-1, describe-variable): * lisp/help-mode.el (help-xref-symbol-regexp) (help-xref-info-regexp, help-xref-url-regexp): * lisp/help.el (describe-mode): * lisp/international/mule-cmds.el (help-xref-mule-regexp-template): * lisp/wid-edit.el (widget-documentation-link-regexp): Parse symbols quoted ‘like-this’ as well as `like-this'. * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add "‘" and "’" to electric-pair-text-pairs. (elisp--form-quoted-p): Also allow "‘" as a quoting char. (elisp-completion-at-point, elisp--preceding-sexp): Also treat "‘" and "’" as quoting chars.
* | * lisp/emacs-lisp/package.el: Don't erase tags on refreshArtur Malabarba2015-05-271-11/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | (package-menu--post-refresh): Call `tabulated-list-print' with the UPDATE argument. This only affects the refresh action, the revert action still erases tags. (package-menu-get-status): Change `assq' to `assoc'. (package-menu--mark-upgrades-1): New function. (package-menu--mark-upgrades-pending): New variable. (package-menu-mark-upgrades): Use them to delay marking until after refresh is done. (package-menu--post-refresh): Call mark-upgrades-1 if mark-upgrades-pending is non-nil.
* | * lisp/emacs-lisp/tabulated-list.el: Don't sort without sorterArtur Malabarba2015-05-261-1/+2
| | | | | | | | (tabulated-list-print): Don't sort if sorter is nil
* | (cl-generic-define-method): Side effects are evil (bug#20644)Stefan Monnier2015-05-251-2/+4
| | | | | | | | | | * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse cons-cells that might be used as keys in an `equal' hash-table.
* | * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alistStefan Monnier2015-05-251-1/+2
| | | | | | | | Fixes: debbugs:20639
* | * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstringStefan Monnier2015-05-241-24/+29
| | | | | | | | (pcase-let): Document the behavior in case the pattern doesn't match.
* | * lisp/emacs-lisp/tabulated-list.el: New optional print methodArtur Malabarba2015-05-241-9/+45
| | | | | | | | | | | | | | | | | | | | | | (tabulated-list-print): New optional argument, UPDATE. If non-nil, the list is printed by only adding and deleting the changed entries, instead of erasing the whole buffer. This method is much faster when few or no entries have changed. * doc/lispref/modes.texi (Tabulated List Mode): Document it. * etc/NEWS: Document it.
* | * lisp/emacs-lisp/tabulated-list.el: Improve printingArtur Malabarba2015-05-241-24/+33
| | | | | | | | | | | | (tabulated-list--get-sorter): New function. (tabulated-list-print): Restore window-line when remember-pos is passed and optimize away the `nreverse'.
* | Replace gui-method macros with cl-generic with &contextStefan Monnier2015-05-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/frame.el (gui-method--name, gui-method, gui-method-define) (gui-method-declare, gui-call): Remove. (frame-creation-function): Use cl-defgeneric. (make-frame): Adjust callers. * lisp/menu-bar.el (menu-bar-edit-menu): Use gui-backend-selection-exists-p. * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection. (gui-backend-get-selection): New cl-generic to replace gui-get-selection method. (gui-backend-set-selection): New cl-generic to replace gui-set-selection method. (gui-selection-owner-p): New cl-generic to replace gui-selection-owner-p method. (gui-backend-selection-exists-p): New cl-generic to replace gui-selection-exists-p method. Adjust all callers. * lisp/server.el (server-create-window-system-frame): Don't ignore window-system spec even when unsupported. * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions. * lisp/startup.el (handle-args-function, window-system-initialization): Use cl-defgeneric. (command-line): Adjust calls accordingly. * lisp/term/ns-win.el (ns-window-system-initialization): Turn into a window-system-initialization method. (handle-args-function, frame-creation-function): Use cl-defmethod. (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p) (gui-get-selection): Use cl-defmethod on the new functions instead. * lisp/term/pc-win.el (w16-get-selection-value): Turn into a gui-backend-get-selection method. (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection): Use cl-defmethod on the new functions instead. (msdos-window-system-initialization): Turn into a window-system-initialization method. (frame-creation-function, handle-args-function): Use cl-defmethod. * lisp/term/w32-win.el (w32-window-system-initialization): Turn into a window-system-initialization method. (handle-args-function, frame-creation-function): Use cl-defmethod. (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p) (gui-get-selection): Use cl-defmethod on the new functions instead. * lisp/term/x-win.el (x-window-system-initialization): Turn into a window-system-initialization method. (handle-args-function, frame-creation-function): Use cl-defmethod. (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p) (gui-get-selection): Use cl-defmethod on the new functions instead. * lisp/term/xterm.el (xterm--set-selection): Turn into a gui-backend-set-selection method. * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'. (Fns_selection_owner_p): Remove unused arg `terminal'. (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
* | * lisp/emacs-lisp/package.el: Always update selected-packagesArtur Malabarba2015-05-231-5/+17
| | | | | | | | | | | | | | | | (package--update-selected-packages): New function. (package-menu-execute): Use it before starting the transaction, this way the list of selected packages is updated even when the transaction fails. (package-menu--perform-transaction): Don't edit selected-packages.
* | * lisp/emacs-lisp/package.el (package-selected-packages): Fix docArtur Malabarba2015-05-221-1/+1
| |
* | Change defgeneric so it doesn't completely redefine the functionStefan Monnier2015-05-211-17/+26
| | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away previously defined methods. (cl-generic-define-method): Let-bind purify-flag instead of using `fset'. (cl--generic-prefill-dispatchers): Only define during compilation. (cl-method-qualifiers): Remove redundant alias. (help-fns-short-filename): Silence byte-compiler. * test/automated/cl-generic-tests.el: Adjust to new defgeneric semantics.
* | (package-menu-execute): Remove reference to remove-dupsArtur Malabarba2015-05-211-3/+4
| |
* | Don't quote nil and t in doc stringsPaul Eggert2015-05-218-12/+12
| | | | | | | | | | This is as per "Tips for Documentation Strings" in the elisp manual. For consistency, do the same in diagnostics and comments.