summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
Commit message (Collapse)AuthorAgeFilesLines
* * lisp/progmodes/python.el (python-mode): Remove incorrect text from docstring.Bozhidar Batsov2013-11-051-10/+3
| | | | | | | * lisp/progmodes/scheme.el (scheme-mode): Remove incorrect text from docstring. * lisp/progmodes/prolog.el (prolog-mode): Remove incorrect text from docstring. * lisp/emacs-lisp/lisp-mode.el (lisp-mode, lisp-interaction-mode, emacs-lisp-mode): Remove incorrect text from docstring.
* Spelling fixes.Paul Eggert2013-11-041-1/+1
|
* * lisp/rect.el (rectangle--highlight-for-redisplay):Stefan Monnier2013-11-041-2/+2
| | | | | * lisp/emacs-lisp/smie.el (smie--next-indent-change): Use buffer-chars-modified-tick.
* * lisp/emacs-lisp/byte-run.el (defmacro, defun): Set their `indent' property.Stefan Monnier2013-11-041-1/+2
|
* * lisp/emacs-lisp/cl-indent.el (with-compilation-unit): Add rule.Helmut Eller2013-11-041-0/+1
| | | | Fixes: debbugs:15782
* * lisp/emacs-lisp/cconv.el (cconv-convert): Check form of let binding.Nathan Trapuzzano2013-11-041-6/+9
| | | | Fixes: debbugs:15786
* * lisp/emacs-lisp/helpers.el: Move from helpers.el. Use lexical-binding.Stefan Monnier2013-11-041-0/+42
|
* Add Archive column to package list.Ted Zlatanov2013-11-041-0/+7
| | | | | | * emacs-lisp/package.el (package-menu-mode) (package-menu--print-info, package-menu--archive-predicate): Add Archive column to package list.
* * lisp/emacs-lisp/smie.el (smie-rule-parent): Always callStefan Monnier2013-11-031-9/+10
| | | | | | | smie-indent-virtual rather than only for hanging tokens. (smie--next-indent-change): New helper command. * lisp/progmodes/ruby-mode.el (ruby-smie--rule-parent-skip-assign): Remove. (ruby-smie-rules): Use smie-rule-parent instead.
* * lisp/emacs-lisp/package.el (package-version-join): Recognize snapshot ↵Bozhidar Batsov2013-11-021-2/+3
| | | | versions.
* * lisp/Makefile.in (autoloads): Do not use abs_lisp.Glenn Morris2013-10-301-0/+3
| | | | | | | This should stop recent weirdness, eg: http://lists.gnu.org/archive/html/emacs-diffs/2013-10/msg00381.html * lisp/emacs-lisp/autoload.el: Comment.
* * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):Glenn Morris2013-10-301-1/+1
| | | | | | | `newline' does not respect `standard-output', so use `princ'. Otherwise you can get \n inserted in the wrong buffer, eg http://lists.gnu.org/archive/html/emacs-diffs/2013-10/msg00379.html
* * lisp/emacs-lisp/package.el (lm-homepage): Declare.Glenn Morris2013-10-291-0/+2
|
* Cleanup namespace of dos-w32.el.Stefan Monnier2013-10-291-5/+16
| | | | | | | | | | | | | | | | | | | | | | | * lisp/dos-w32.el (minibuffer-history-case-insensitive-variables) (path-separator, null-device, buffer-file-coding-system) (lpr-headers-switches): Check system-type before modifying them. (find-buffer-file-type-coding-system): Mark obsolete. (w32-find-file-not-found-set-buffer-file-coding-system): Rename from find-file-not-found-set-buffer-file-coding-system. (w32-untranslated-filesystem-list, w32-untranslated-canonical-name): (w32-add-untranslated-filesystem, w32-remove-untranslated-filesystem) (w32-direct-print-region-use-command-dot-com, w32-untranslated-file-p): (w32-direct-print-region-helper, w32-direct-print-region-function) (w32-direct-ps-print-region-function): Rename by adding a "w32-" prefix. * lisp/startup.el (normal-top-level-add-subdirs-to-load-path): * lisp/ps-print.el (ps-print-region-function): * lisp/lpr.el (print-region-function): Use new name. * lisp/simple.el (copy-region-as-kill): Fix call to region-extract-function. * lisp/emacs-lisp/bytecomp.el (byte-defop-compiler): Add new `2-and' handler. (byte-compile-and-folded): New function. (=, <, >, <=, >=): Use it.
* * lisp/emacs-lisp/package.el (package--download-one-archive)Stefan Monnier2013-10-291-10/+13
| | | | (describe-package-1): Don't query the user about final newline.
* * emacs-lisp/ert.el (ert-run-tests-interactively):Michael Albinus2013-10-251-5/+5
| | | | Use `completing-read'. (Bug#9756)
* * lisp/emacs-lisp/smie.el: New smie-config system.Stefan Monnier2013-10-241-4/+350
| | | | | | | | | | | | | | | | | | | | | | (smie-config): New defcustom. (smie-edebug, smie-config-show-indent, smie-config-set-indent) (smie-config-guess, smie-config-save): New commands. (smie-config--mode-local, smie-config--buffer-local) (smie-config--trace, smie-config--modefuns): New vars. (smie-config--advice, smie-config--mode-hook) (smie-config--setter, smie-config-local, smie-config--get-trace) (smie-config--guess-value, smie-config--guess): New functions. (smie-indent-forward-token, smie-indent-backward-token): Don't copy text properties. Treat "string fence" syntax like string syntax. * lisp/progmodes/sh-script.el (sh-use-smie): Change default. (sh-smie-sh-rules, sh-smie-rc-rules): Obey legacy sh-indent-* vars. (sh-var-value): Simplify by CSE. (sh-show-indent, sh-set-indent, sh-learn-line-indent) (sh-learn-buffer-indent): Redirect to their SMIE equivalent when SMIE is used. (sh-guess-basic-offset): Use cl-incf. (sh-guess-basic-offset): Use push+nreverse to avoid O(n^2).
* * lisp/emacs-lisp/lisp-mode.el (lisp-cl-font-lock-keywords-2): Fix cut&paste.Helmut Eller2013-10-241-4/+2
| | | | Fixes: debbugs:15699
* * emacs-lisp/ert.el (ert-deftest): Bind macro `skip-unless'.Michael Albinus2013-10-241-21/+80
| | | | | | | | | | | | | (ert-test-skipped): New error. (ert-skip, ert-stats-skipped): New defuns. (ert--skip-unless): New macro. (ert-test-skipped): New struct. (ert--run-test-debugger, ert-test-result-type-p) (ert-test-result-expected-p, ert--stats, ert-stats-completed) (ert--stats-set-test-and-result, ert-char-for-test-result) (ert-string-for-test-result, ert-run-tests-batch) (ert--results-update-ewoc-hf, ert-run-tests-interactively): Handle skipped tests.
* * lisp/emacs-lisp/smie.el (smie-rule-parent): Fix opener-test.Stefan Monnier2013-10-221-1/+2
| | | | | | * lisp/progmodes/ruby-mode.el (ruby-smie-rules): Remove corresponding workaround. Fix indentation rule of ";" so it also applies when ";" is the parent.
* * lisp/emacs-lisp/lisp.el (lisp-completion-at-point): Complete var names forStefan Monnier2013-10-171-0/+11
| | | | let-bindings.
* * configure.ac [alpha]: Explicit error in non-ELF case. Glenn Morris2013-10-131-2/+2
| | | | | | | | | * doc/emacs/ack.texi (Acknowledgments): Comment out old alpha stuff. * lisp/emacs-lisp/authors.el (authors-fixed-entries): Comment out old alpha stuff. Fixes: debbugs:15601
* Use accented form of some namesGlenn Morris2013-10-122-3/+20
| | | | | | | | | | * doc/emacs/ack.texi (Acknowledgments): * doc/emacs/emacs.texi (Acknowledgments): * doc/lispref/intro.texi (Acknowledgments): Use accented form of some names. * lisp/emacs-lisp/authors.el (authors-aliases, authors-ignored-files): Add some entries. (authors-fixed-entries): Use accented form of name.
* * lisp/emacs-lisp/smie.el (smie--matching-block-data): Invalidate theDmitry Gutov2013-10-111-3/+5
| | | | | cache also after commands that modify the buffer but don't move point.
* authors.el triviaGlenn Morris2013-10-091-4/+8
| | | | | | * lisp/emacs-lisp/authors.el (authors-aliases, authors-fixed-case): Add some entries. (authors): Remove unused local variables.
* * lisp/emacs-lisp/lisp-mode.el: Font-lock cl-lib constructs.Stefan Monnier2013-10-081-5/+245
| | | | | | | | | | (lisp-el-font-lock-keywords, lisp-el-font-lock-keywords-1) (lisp-el-font-lock-keywords-2, lisp-cl-font-lock-keywords) (lisp-cl-font-lock-keywords-1, lisp-cl-font-lock-keywords-2): New constants. (lisp-mode-variables): New `elisp' argument. (emacs-lisp-mode): Use it. * lisp/font-lock.el (lisp-font-lock-keywords, lisp-font-lock-keywords-1) (lisp-font-lock-keywords-2): Move to lisp-mode.el.
* * lisp/emacs-lisp/backquote.el (backquote-process): Catch uses of , and ,@Stefan Monnier2013-10-081-2/+9
| | | | | | with more than one argument. Fixes: debbugs:15538
* * lisp/emacs-lisp/smie.el (smie-next-sexp): Refine last fix.Stefan Monnier2013-10-071-3/+5
| | | | | * lisp/progmodes/ruby-mode.el (ruby-smie-rules): Tweak handling of open braces.
* * lisp/emacs-lisp/easymenu.el (easy-menu-create-menu): Use closures.Stefan Monnier2013-10-071-13/+14
|
* * lisp/emacs-lisp/lisp-mode.el (eval-defun-2): Simplify, using lexical-binding.Stefan Monnier2013-10-071-22/+20
|
* * lisp/emacs-lisp/tq.el (tq-create): Use a closure instead of `(lambda...).Stefan Monnier2013-10-071-3/+2
|
* Get Ruby's SMIE code to pass the test suite.Stefan Monnier2013-10-051-1/+1
| | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/ruby-mode.el (ruby-use-smie): Change default. (ruby-comment-column): Follow the global default, by default. (ruby-smie-grammar): Add assignment syntax. (ruby-smie--implicit-semi-p): No implicit semi-colon after an open-paren, a comma, or a \. (ruby-smie--forward-token, ruby-smie--backward-token): Handle heredocs, and line continuations. (ruby-smie-rules): Adjust handling of open-paren, now that it's never followed by implicit semi-colons. Add rule for string concatenation and for indentation at BOB. (ruby-forward-sexp, ruby-backward-sexp): Adjust for when smie is in use. * lisp/emacs-lisp/smie.el (smie-next-sexp): Don't go back to pos before calling next-sexp, since next-token may have skipped chars which next-sexp doesn't know should be skipped! * test/indent/ruby.rb: Port a few cases from automated/ruby-mode-tests.el. Adjust indentation of continued line to the new SMIE behavior.
* * lisp/emacs-lisp/syntax.el (syntax-ppss): Doc fix.Xue Fuqiao2013-10-041-2/+7
|
* Add support for package signature checking.Daiki Ueno2013-10-031-20/+176
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/package.el (url-http-file-exists-p) (epg-make-context, epg-context-set-home-directory) (epg-verify-string, epg-context-result-for) (epg-signature-status, epg-signature-to-string) (epg-check-configuration, epg-configuration) (epg-import-keys-from-file): Declare. (package-check-signature): New user option. (package-unsigned-archives): New user option. (package-desc): Add `signed' field. (package-load-descriptor): Set `signed' field if .signed file exists. (package--archive-file-exists-p): New function. (package--check-signature): New function. (package-install-from-archive): Check package signature. (package--download-one-archive): Check archive signature. (package-delete): Remove .signed file. (package-import-keyring): New command. (package-refresh-contents): Import default keyring. (package-desc-status): Add "unsigned" status. (describe-package-1, package-menu--print-info) (package-menu-mark-delete, package-menu--find-upgrades) (package-menu--status-predicate): Support "unsigned" status. * test/automated/data/package/signed/archive-contents: * test/automated/data/package/signed/archive-contents.sig: * test/automated/data/package/signed/signed-good-1.0.el: * test/automated/data/package/signed/signed-good-1.0.el.sig: * test/automated/data/package/signed/signed-bad-1.0.el: * test/automated/data/package/signed/signed-bad-1.0.el.sig: * test/automated/data/package/key.pub: * test/automated/data/package/key.sec: New files. * test/automated/package-test.el (package-test-update-listing) (package-test-update-archives, package-test-describe-package): Adjust to package.el change. (package-test-signed): New test.
* Introduce new bytecodes for efficient catch/condition-case in lexbind.Stefan Monnier2013-10-033-33/+166
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Optimize under `condition-case' and `catch' if byte-compile--use-old-handlers is nil. (disassemble-offset): Handle new bytecodes. * lisp/emacs-lisp/bytecomp.el (byte-pushcatch, byte-pushconditioncase) (byte-pophandler): New byte codes. (byte-goto-ops): Adjust accordingly. (byte-compile--use-old-handlers): New var. (byte-compile-catch): Use new byte codes depending on byte-compile--use-old-handlers. (byte-compile-condition-case--old): Rename from byte-compile-condition-case. (byte-compile-condition-case--new): New function. (byte-compile-condition-case): New function that dispatches depending on byte-compile--use-old-handlers. (byte-compile-unwind-protect): Pass a function to byte-unwind-protect when we can. * lisp/emacs-lisp/cconv.el (cconv-convert, cconv-analyse-form): Adjust for the new compilation scheme using the new byte-codes. * src/alloc.c (Fgarbage_collect): Merge scans of handlerlist and catchlist, and make them unconditional now that they're heap-allocated. * src/bytecode.c (BYTE_CODES): Add Bpushcatch, Bpushconditioncase and Bpophandler. (bcall0): New function. (exec_byte_code): Add corresponding cases. Improve error message when encountering an invalid byte-code. Let Bunwind_protect accept a function (rather than a list of expressions) as argument. * src/eval.c (catchlist): Remove (merge with handlerlist). (handlerlist, lisp_eval_depth): Not static any more. (internal_catch, internal_condition_case, internal_condition_case_1) (internal_condition_case_2, internal_condition_case_n): Use PUSH_HANDLER. (unwind_to_catch, Fthrow, Fsignal): Adjust to merged handlerlist/catchlist. (internal_lisp_condition_case): Use PUSH_HANDLER. Adjust to new handlerlist which can only handle a single condition-case handler at a time. (find_handler_clause): Simplify since we only a single branch here any more. * src/lisp.h (struct handler): Merge struct handler and struct catchtag. (PUSH_HANDLER): New macro. (catchlist): Remove. (handlerlist): Always declare.
* * lisp/emacs-lisp/package.el (package-desc): Simplify.Stefan Monnier2013-10-011-6/+5
| | | | Fixes: debbugs:15495
* * lisp/emacs-lisp/package.el (package-buffer-info, describe-package-1):Dmitry Gutov2013-10-011-3/+2
| | | | | | | | | | | Use :url instead of :homepage, as per http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00622.html * test/automated/package-test.el: Update all cases to use :url instead of :homepage. * test/automated/package-x-test.el (package-x-test--single-archive-entry-1-3): Same.
* * lisp/emacs-lisp/package-x.el (package-upload-buffer-internal): PassDmitry Gutov2013-09-292-23/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `extras' slot from `package-desc' to `package-make-ac-desc'. * lisp/emacs-lisp/package.el (package-desc-from-define): Accept additional arguments as plist, convert it to an alist and store it in the `extras' slot. (package-generate-description-file): Convert extras alist back to plist and append to the `define-package' form arguments. (package--alist-to-plist): New function. (package--ac-desc): Add `extras' slot. (package--add-to-archive-contents): Check if the archive-contents vector is long enough, and if it is, pass its `extras' slot value to `package-desc-create'. (package-buffer-info): Call `lm-homepage', pass the returned value to `package-desc-from-define'. (describe-package-1): Render the homepage button. * test/automated/package-test.el (simple-single-desc-1-4): Remove, it was unused. (simple-single-desc): Expect :homepage property. (multi-file-desc): Same. (with-package-test): Do not save previous `default-directory' value, let-bind the var instead. (package-test-install-single): Expect :homepage property in the generated pkg file. (package-test-describe-package): Expect Homepage button. (package-test-describe-non-installed-package) (package-test-describe-non-installed-multi-file-package): Same. (package-test-describe-not-installed-package): Remove, it was a duplicate. * test/automated/package-x-test.el (package-x-test--single-archive-entry-1-3): Expect :homepage property. (package-x-test--single-archive-entry-1-4): Expect nil extras slot. * test/automated/data/package/archive-contents: Add :homepage properties to `simple-single' and `multi-file'. * test/automated/data/package/simple-single-1.3.el: Add URL header. Fixes: debbugs:13291
* * lisp/emacs-lisp/cl-macs.el:Stefan Monnier2013-09-271-68/+115
| | | | | | | | | | | | | | | (cl--loop-destr-temps): Remove. (cl--loop-iterator-function): Rename from cl--loop-map-form and change its convention. (cl--loop-set-iterator-function): New function. (cl-loop): Adjust accordingly, so as not to use cl-subst. (cl--parse-loop-clause): Adjust all uses of cl--loop-map-form. Bind `it' with `let' instead of substituting it with `cl-subst'. (cl--unused-var-p): New function. (cl--loop-let): Don't use the cl--loop-destr-temps hack any more. Eliminate some unused variable warnings. Fixes: debbugs:15326
* * emacs-lisp/cl-macs.el (cl-type-spec): Tell edebug what typeDaniel Colascione2013-09-251-0/+2
| | | | specs are and that they're not evaluated.
* * lisp/emacs-lisp/cl-macs.el (cl-defsubst): Remove unused local `pbody'.Glenn Morris2013-09-191-2/+4
|
* * lisp/emacs-lisp/eieio.el (class-parent): Undo previous change.Glenn Morris2013-09-191-4/+1
| | | | Ref: http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00354.html
* * emacs-lisp/eieio.el (class-parent): Don't use defalias with macros.Glenn Morris2013-09-191-1/+4
|
* * emacs-lisp/chart.el (x-display-color-cells): Declare.Glenn Morris2013-09-171-5/+5
| | | | (chart-face-list): Drop Emacsen without display-color-p.
* * lisp/emacs-lisp/package.el (package-generate-autoloads): Remove `require'Stefan Monnier2013-09-171-3/+2
| | | | | which should not be needed any more. (package-menu-refresh, package-menu-describe-package): Use user-error.
* Add a major-mode for the *Messages* bufferGlenn Morris2013-09-171-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | Ref: http://lists.gnu.org/archive/html/emacs-devel/2010-02/msg00135.html * lisp/simple.el (messages-buffer-mode): New major mode. (messages-buffer): New function. * lisp/startup.el (normal-top-level): Switch mode of *Messages* buffer. * src/xdisp.c (message_dolog): If we create *Messages*, switch it to messages-buffer-mode. * lisp/emacs-lisp/ert.el (ert--force-message-log-buffer-truncation) (ert-run-test): Use `message-buffer' function. (ert--force-message-log-buffer-truncation): Ignore read-only. * lisp/help.el (view-echo-area-messages): Use `message-buffer' function. * lisp/mail/emacsbug.el (report-emacs-bug): Use `message-buffer' function. * lisp/gnus/gnus-util.el (gnus-message-with-timestamp-1): Use `message-buffer' function if available. Ignore read-only. * etc/NEWS: Mention this.
* Use with-demoted-errors now that it can format any error messagesGlenn Morris2013-09-112-35/+32
| | | | | | | | | | | | | | | | * dframe.el (dframe-timer-fn): * files.el (dir-locals-read-from-file): * mpc.el (mpc--status-timer-run, mpc--status-idle-timer-run, mpc-format): * reveal.el (reveal-post-command): * saveplace.el (load-save-place-alist-from-file): * shell.el (shell-resync-dirs): * w32-common-fns.el (x-get-selection-value): * emacs-lisp/copyright.el (copyright-find-copyright): * emacs-lisp/eldoc.el (eldoc-print-current-symbol-info): * emulation/tpu-edt.el (tpu-copy-keyfile): * play/bubbles.el (bubbles--mark-neighbourhood): * progmodes/executable.el (executable-make-buffer-file-executable-if-script-p): * term/pc-win.el (x-get-selection-value): Use with-demoted-errors.
* Use define-derived-mode (and derived-mode-p).Stefan Monnier2013-09-101-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/play/snake.el (snake-mode): * lisp/play/mpuz.el (mpuz-mode): * lisp/play/landmark.el (lm-mode): * lisp/play/blackbox.el (blackbox-mode): * lisp/play/5x5.el (5x5-mode): * lisp/obsolete/options.el (Edit-options-mode): * lisp/net/quickurl.el (quickurl-list-mode): * lisp/net/newst-treeview.el (newsticker-treeview-mode): * lisp/mail/rmailsum.el (rmail-summary-mode): * lisp/mail/mspools.el (mspools-mode): * lisp/locate.el (locate-mode): * lisp/ibuffer.el (ibuffer-mode): * lisp/emulation/ws-mode.el (wordstar-mode): * lisp/emacs-lisp/debug.el (debugger-mode): * lisp/array.el (array-mode): * lisp/net/eudc.el (eudc-mode): Use define-derived-mode. * lisp/net/mairix.el (mairix-searches-mode-font-lock-keywords): Move initialization into declaration. (mairix-searches-mode): Use define-derived-mode. * lisp/net/eudc-hotlist.el (eudc-hotlist-mode): Use define-derived-mode. (eudc-edit-hotlist): Use dolist. * lisp/man.el (Man-mode-syntax-table): Rename from man-mode-syntax-table. (Man-mode): Use define-derived-mode. * lisp/info.el (Info-edit-mode-map): Rename from Info-edit-map. (Info-edit-mode): Use define-derived-mode. (Info-cease-edit): Use Info-mode. * lisp/eshell/esh-mode.el (eshell-mode-syntax-table): Move initialization into declaration. (eshell-mode): Use define-derived-mode. * lisp/chistory.el (command-history-mode-map): Rename from command-history-map. (command-history-mode): Use define-derived-mode. * lisp/calc/calc.el (calc-trail-mode-map): New var. (calc-trail-mode): Use define-derived-mode. (calc-trail-buffer): Set calc-main-buffer manually. * lisp/bookmark.el (bookmark-insert-annotation): New function. (bookmark-edit-annotation): Use it. (bookmark-edit-annotation-mode): Make it a proper major mode. (bookmark-send-edited-annotation): Use derived-mode-p. * lisp/arc-mode.el (archive-mode): Move kill-all-local-variables a tiny bit closer to its ideal place. Use \' to match EOS. * lisp/cedet/semantic/grammar.el (semantic-grammar-mode): Use define-derived-mode. (semantic-grammar-mode-syntax-table): Rename from semantic-grammar-syntax-table. (semantic-grammar-mode-map): Rename from semantic-grammar-map. * lisp/cedet/data-debug.el (data-debug-mode-map): Rename from data-debug-map. (data-debug-mode): Use define-derived-mode. * lisp/gnus/score-mode.el (gnus-score-mode-map): Move initialization into declaration. (gnus-score-mode): Use define-derived-mode. * lisp/gnus/gnus-srvr.el (gnus-browse-mode): Use define-derived-mode. * lisp/gnus/gnus-kill.el (gnus-kill-file-mode-map): Move initialization into declaration. (gnus-kill-file-mode): Use define-derived-mode. (gnus-kill-file-edit-file, gnus-kill-file-enter-kill, gnus-kill): Use derived-mode-p. * lisp/gnus/gnus-group.el (gnus-group-mode): Use define-derived-mode. (gnus-group-setup-buffer, gnus-group-name-at-point) (gnus-group-make-web-group, gnus-group-enter-directory) (gnus-group-suspend): Use derived-mode-p. * lisp/gnus/gnus-cus.el (gnus-custom-mode): Use define-derived-mode. * lisp/gnus/gnus-bookmark.el (gnus-bookmark-bmenu-mode): Use define-derived-mode. * lisp/gnus/gnus-art.el (gnus-article-mode): Use define-derived-mode. (gnus-article-setup-buffer, gnus-article-prepare) (gnus-article-prepare-display, gnus-sticky-article) (gnus-kill-sticky-article-buffer, gnus-kill-sticky-article-buffers) (gnus-bind-safe-url-regexp, gnus-article-check-buffer) (gnus-article-read-summary-keys): Use derived-mode-p.
* * lisp/minibuffer.el: Make minibuffer-complete call completion-in-regionStefan Monnier2013-09-061-30/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rather than other way around. (completion--some, completion-pcm--find-all-completions): Don't delay signals when debugging. (minibuffer-completion-contents): Beware fields within the minibuffer contents. (completion-all-sorted-completions): Use defvar-local. (completion--do-completion, completion--cache-all-sorted-completions) (completion-all-sorted-completions, minibuffer-force-complete): Add args `beg' and `end'. (completion--in-region-1): New fun, extracted from minibuffer-complete. (minibuffer-complete): Use completion-in-region. (completion-complete-and-exit): New fun, extracted from minibuffer-complete-and-exit. (minibuffer-complete-and-exit): Use it. (completion--complete-and-exit): Rename from minibuffer--complete-and-exit. (completion-in-region--single-word): New function, extracted from minibuffer-complete-word. (minibuffer-complete-word): Use it. (display-completion-list): Make `common-substring' argument obsolete. (completion--in-region): Call completion--in-region-1 instead of minibuffer-complete. (completion-help-at-point): Pass boundaries to minibuffer-completion-help as args rather than via an overlay. (completion-pcm--string->pattern): Use `any-delim'. (completion-pcm--optimize-pattern): New function. (completion-pcm--pattern->regex): Handle `any-delim'. * lisp/icomplete.el (icomplete-forward-completions) (icomplete-backward-completions, icomplete-completions): Adjust calls to completion-all-sorted-completions and completion--cache-all-sorted-completions. (icomplete-with-completion-tables): Default to t. * lisp/emacs-lisp/crm.el (crm--current-element): Rename from crm--select-current-element. Don't put an overlay but return the boundaries instead. (crm--completion-command): Take two new args to bind to the boundaries. (crm-completion-help): Adjust accordingly. (crm-complete): Use completion-in-region. (crm-complete-word): Use completion-in-region--single-word. (crm-complete-and-exit): Use completion-complete-and-exit.
* * lisp/subr.el (pop): Use `car-safe'.Stefan Monnier2013-09-042-13/+1
| | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Remove hack to detect unused `pop' return value. * lisp/emacs-lisp/advice.el (defadvice): Add indent rule. * lisp/international/mule-cmds.el: Require CL. (find-coding-systems-for-charsets): Avoid add-to-list. (sanitize-coding-system-list): New function, extracted from select-safe-coding-system-interactively. (select-safe-coding-system-interactively): Use it. (read-input-method-name): Accept symbols for `default'. * lisp/progmodes/python.el (python-nav-beginning-of-block): Remove unused var `block-regexp'. (python-nav--forward-sexp): Remove unused var `re-search-fn'. (python-fill-string): Remove unused var `marker'. (python-skeleton-add-menu-items): Remove unused var `items'.