summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
Commit message (Collapse)AuthorAgeFilesLines
* New emacs-lisp-byte-code-mode; misc minor changes.Stefan Monnier2012-09-094-21/+72
| | | | | | | | | | | | | | | | * lisp/emacs-lisp/lisp-mode.el (emacs-list-byte-code-comment-re): New var. (emacs-lisp-byte-code-comment) (emacs-lisp-byte-code-syntax-propertize, emacs-lisp-byte-code-mode): New functions. (eval-sexp-add-defvars): Don't skip defvars in column >0. (eval-defun-2): Remove bogus interactive spec. (lisp-indent-line): Remove redundant whole-exp code, now done in indent-according-to-mode. (save-match-data): Remove redundant indent data. * lisp/emacs-lisp/benchmark.el (benchmark-run, benchmark-run-compiled): Use `declare'. * lisp/gnus/qp.el (quoted-printable-decode-region): Inline+CSE+strength-reduction.
* Allow scrolling in y-or-n-p.Chong Yidong2012-09-091-10/+0
| | | | | | | | | | | | | | | | | | | | | | | * lisp/replace.el (query-replace-map): Bind four new symbols for requesting window scrolling. * lisp/subr.el (y-or-n-p): Handle the window-scrolling bindings in query-replace-map. * lisp/custom.el (custom-theme-load-confirm): Use y-or-n-p. * lisp/window.el (scroll-other-window-down): Make the arg optional. * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Don't bind scrolling keys since they are now in query-replace-map. * doc/lispref/minibuf.texi (Yes-or-No Queries): Document recentering and scrolling in y-or-n-p. Remove gratuitous example. * doc/lispref/searching.texi (Search and Replace): Document window scrolling entries in query-replace-map. Fixes: debbugs:8948
* Fix handling of debugger window. (Bug#8789)Martin Rudalics2012-09-081-71/+92
| | | | | | | | | | * window.el (display-buffer-in-previous-window): New buffer display action function. * emacs-lisp/debug.el (debugger-bury-or-kill): New option. (debugger-previous-window): New variable. (debug): Rewrite using display-buffer-in-previous-window, quit-restore-window and debugger-bury-or-kill. (Bug#8789)
* * lisp/emacs-lisp/byte-run.el (defun): Tweak message. Simplify code.Stefan Monnier2012-09-071-4/+3
|
* Add a utility function buffer-narrowed-p, and use it.Chong Yidong2012-09-071-1/+1
| | | | | | | | | | | | | * lisp/subr.el (buffer-narrowed-p): New function. * lisp/ses.el (ses-widen): * lisp/simple.el (count-words--buffer-message): * lisp/net/browse-url.el (browse-url-of-buffer): Use it * lisp/simple.el (count-words-region): Don't signal an error if there is a non-nil prefix arg and the mark is not set. * doc/lispref/positions.texi (Narrowing): Document buffer-narrowed-p.
* * lisp/emacs-lisp/cl-macs.el (cl--do-arglist): Understand _ on &key args.Stefan Monnier2012-09-061-4/+15
| | | | | | (cl--make-usage-args): Strip _ from argument names. Fixes: debbugs:12367
* Macro-expand interpreted code during load.Stefan Monnier2012-09-044-48/+148
| | | | | | | | | | | | | | | | | * src/lread.c (readevalloop): Call internal-macroexpand-for-load to perform eager (load-time) macro-expansion. * src/lisp.mk (lisp): Add macroexp. * lisp/loadup.el: Load macroexp. Remove hack. * lisp/emacs-lisp/macroexp.el (macroexp--eval-if-compile): New function. (macroexp--expand-all): Use it to get better warnings. (macroexp--backtrace, macroexp--trim-backtrace-frame) (internal-macroexpand-for-load): New functions. (macroexp--pending-eager-loads): New var. (emacs-startup-hook): New hack to replace one in loadup.el. * lisp/emacs-lisp/cl-macs.el (cl--compiler-macro-list*) (cl--compiler-macro-cXXr): Move to top, before they can be used. (cl-psetf): Simplify. (cl-defstruct): Add indent rule.
* * lisp/files.el (read-only-mode): New minor mode.Stefan Monnier2012-08-291-2/+3
| | | | | | | | | (toggle-read-only): Use it and mark obsolete. (find-file--read-only): * lisp/vc/vc.el (vc-next-action, vc-checkout): * lisp/vc/vc-cvs.el (vc-cvs-checkout): * lisp/obsolete/vc-mcvs.el (vc-mcvs-update): * lisp/ffap.el (ffap--toggle-read-only): Update callers.
* * cl-lib.el (buffer-string): Simplify last change.Stefan Monnier2012-08-281-2/+1
| | | | Fixes: debbugs:12293
* * lisp/emacs-lisp/cl-lib.el (buffer-string): Fix setter macro.Stefan Monnier2012-08-281-1/+2
| | | | Fixes: debbugs:12293
* Replace version 24.2 with 24.3 where appropriate (hopefully)Glenn Morris2012-08-155-33/+33
|
* byte-compile-setq-default fix for bug#12195Glenn Morris2012-08-141-14/+16
| | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile-setq-default): Optimize away setq-default with no args, as is done for setq.
* Doc fixes.Chong Yidong2012-08-151-1/+2
| | | | | | | | | | * lisp/emacs-lisp/regexp-opt.el (regexp-opt-charset): Doc fix. * src/chartab.c (Fmap_char_table): Doc fix. * src/editfns.c (Fformat): Doc fix. Fixes: debbugs:12059 debbugs:12085 debbugs:12061
* * lisp/emacs-lisp/bytecomp.el (byte-recompile-file): Doc fix.Glenn Morris2012-08-141-12/+11
|
* Fixes: debbugs:12197Andreas Schwab2012-08-141-2/+3
| | | | | * emacs-lisp/bytecomp.el (byte-recompile-file): When LOAD is non-nil always load the compiled file if it exists.
* * lisp/subr.el (function-get): Refine `autoload' arg so it can alsoStefan Monnier2012-08-131-1/+1
| | | | | | | | autoload functions for gv.el. * lisp/emacs-lisp/edebug.el (get-edebug-spec): Adjust so it only autoloads macros. Fixes: debbugs:12191
* Merge from emacs-24; up to 2012-05-02T11:38:01Z!lekktu@gmail.comChong Yidong2012-08-112-6/+9
|\
| * * lisp/emacs-lisp/copyright.el (copyright-update-directory): Logic fix.Glenn Morris2012-08-091-5/+5
| |
| * Disable local eval: in some placesGlenn Morris2012-08-092-2/+5
| | | | | | | | | | | | | | * tutorial.el (help-with-tutorial): * emacs-lisp/copyright.el (copyright-update-directory): * emacs-lisp/autoload.el (autoload-find-generated-file) (autoload-find-file): Disable local eval: (for insurance).
* | * lisp/emacs-lisp/rx.el (rx-constituents): Don't define as constant.Stefan Monnier2012-08-101-22/+25
| | | | | | | | (rx-form): Simplify.
* | * lisp/emacs-lisp/cl-macs.el (cl-loop): Improve debug spec.Stefan Monnier2012-08-102-2/+16
| |
* | * lisp/emacs-lisp/cl.el (cl-map-keymap-recursively, cl-map-intervals)Stefan Monnier2012-08-082-3/+11
| | | | | | | | | | | | (cl-map-extents): Add compatibility aliases. Fixes: debbugs:12135
* | * emacs-lisp/lisp-mode.el (eval-defun-1): Handle standard value ofAndreas Schwab2012-08-071-1/+3
| | | | | | | | a defcustom that is quoted with backquote.
* | Update cl-loaddefs.el.Chong Yidong2012-08-071-1/+1
| |
* | * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Fix handling ofStefan Monnier2012-08-061-19/+74
| | | | | | | | | | | | re-binding a symbol that has a symbol-macro. Fixes: debbugs:12119
* | In Imenu, don't show defvars with no second argument.Chong Yidong2012-08-051-1/+6
| | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression): Don't show defvars which have no second argument. * lisp/imenu.el (imenu-generic-expression): Move documentation here from imenu--generic-function. (imenu--generic-function): Refer to imenu-generic-expression. Fixes: debbugs:8638
* | lisp/emacs-lisp/rx.el: Remove dead URL from commentary.Chong Yidong2012-08-021-3/+2
| |
* | Move NT-specific include file to the NT include directoryGlenn Morris2012-08-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * nt/inc/ms-w32.h: Move here from ../src/s. * nt/config.nt (config_opsysfile): Change to <ms-w32.h>. * s/ms-w32.h: Move to ../nt/inc. * src/makefile.w32-in (TAGS, TAGS-gmake, MS_W32_H): Update for new ms-w32.h location. * lib-src/makefile.w32-in (MS_W32_H): Update for new ms-w32.h location. * lib/makefile.w32-in (MS_W32_H): Update for new ms-w32.h location. * lisp/emacs-lisp/authors.el (authors-renamed-files-alist): Add ms-w32.h.
* | * lisp/mouse.el (popup-menu): Fix last change.Stefan Monnier2012-07-251-1/+1
| |
* | Autoload more carefully from Lisp. Follow aliases for function properties.Stefan Monnier2012-07-2515-72/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/subr.el (autoloadp): New function. (symbol-file): Use it. (function-get): New function. * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Use function-get and autoload-do-load. * lisp/emacs-lisp/lisp-mode.el (lisp-font-lock-syntactic-face-function) (lisp-indent-function): * lisp/emacs-lisp/gv.el (gv-get): * lisp/emacs-lisp/edebug.el (get-edebug-spec, edebug-basic-spec): * lisp/emacs-lisp/byte-opt.el (byte-optimize-form): * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn): * lisp/emacs-lisp/autoload.el (make-autoload, autoload-print-form): Use function-get. * lisp/emacs-lisp/cl.el: Don't propagate function properties any more. * src/eval.c (Fautoload_do_load): Rename from do_autoload, export to Lisp, add argument, tune behavior, and adjust all callers. * lisp/speedbar.el (speedbar-add-localized-speedbar-support): * lisp/emacs-lisp/disass.el (disassemble-internal): * lisp/desktop.el (desktop-load-file): * lisp/help-fns.el (help-function-arglist, find-lisp-object-file-name) (describe-function-1): * lisp/emacs-lisp/find-func.el (find-function-noselect): * lisp/emacs-lisp/elp.el (elp-instrument-function): * lisp/emacs-lisp/advice.el (ad-has-proper-definition): * lisp/apropos.el (apropos-safe-documentation, apropos-macrop): * lisp/emacs-lisp/debug.el (debug-on-entry): * lisp/emacs-lisp/cl-macs.el (cl-compiler-macroexpand): * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): * lisp/calc/calc.el (name): Use autoloadp & autoload-do-load.
* | In pp-display-expression select old selected window only if it is still live ↵Christopher Schmidt2012-07-251-1/+2
| | | | | | | | | | | | | | (Bug#12034). * emacs-lisp/pp.el (pp-display-expression): Select old selected window only if it is still live (Bug#12034).
* | Merge from emacs-24 branch; up to 2012-05-01T10:20:43Z!rgm@gnu.orgChong Yidong2012-07-211-0/+1
|\|
| * * lisp/userlock.el, emacs-lisp/map-ynp.el: Declare part of `emacs' package.Stefan Monnier2012-07-181-0/+1
| | | | | | | | | | | | * lisp/progmodes/bug-reference.el, lisp/misearch.el: Provide themselves. Fixes: debbugs:11915
* | * lisp/emacs-lisp/chart.el: Use lexical-binding.Stefan Monnier2012-07-191-28/+10
| | | | | | | | | | (chart-emacs-storage): Don't hardcode the list of entries. * src/alloc.c (Fgarbage_collect): Tweak docstring.
* | Tweak the value returned from Fgarbage_collect again.Dmitry Antipov2012-07-191-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | * src/alloc.c (Fgarbage_collect): New return value, as confirmed in http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00418.html. Adjust documentation. (total_vector_bytes): Rename to total_vector_slots, adjust accounting. (total_free_vector_bytes): Rename to total_free_vector_slots, adjust accounting. (Qstring_bytes, Qvector_slots): New symbols. (syms_of_alloc): DEFSYM them. * lisp/emacs-lisp/chart.el (chart-emacs-storage): Adjust again.
* | * lisp/emacs-lisp/eieio.el: Adapt further to gv.el.Stefan Monnier2012-07-181-25/+36
| | | | | | | | | | | | (eieio-defclass): Use gv-define-setter when possible. Fixes: debbugs:11970
* | Return more descriptive data from Fgarbage_collect.Dmitry Antipov2012-07-181-17/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Suggested by Stefan Monnier in http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00369.html. * src/alloc.c (bounded_number): New function. (total_buffers, total_vectors): New variable. (total_string_size): Rename to total_string_bytes, adjust users. (total_vector_size): Rename to total_vector_bytes, adjust users. (sweep_vectors): Account total_vectors and total_vector_bytes. (Fgarbage_collect): New return value. Adjust documentation. (gc_sweep): Account total_buffers. (Fmemory_free, Fmemory_use_counts): Use bounded_number. (VECTOR_SIZE): Remove. * src/data.c (Qfloat, Qvector, Qsymbol, Qstring, Qcons): Make global. (Qinterval, Qmisc): New symbols. (syms_of_data): Initialize them. * src/lisp.h (Qinterval, Qsymbol, Qstring, Qmisc, Qvector, Qfloat) (Qcons, Qbuffer): New declarations. * lisp/emacs-lisp/chart.el (chart-emacs-storage): Change to reflect new format of data returned by Fgarbage_collect.
* | * lisp/emacs-lisp/cl-macs.el (cl-progv): Use a properly prefixed var name.Stefan Monnier2012-07-172-2/+2
| |
* | * lisp/emacs-lisp/elint.el (elint-find-args-in-code):Stefan Monnier2012-07-171-8/+4
| | | | | | | | Use help-function-arglist, so as to handle lexical byte-code.
* | * lisp/progmodes/sh-script.el (sh-syntax-propertize-function): Mark "${#VAR"Stefan Monnier2012-07-171-1/+1
| | | | | | | | | | | | | | as not-a-comment. * test/indent/shell.sh: Add test case for ${#VAR}. Fixes: debbugs:11946
* | Misc minor changes.Stefan Monnier2012-07-171-1/+1
| | | | | | | | | | | | | | * lisp/xt-mouse.el (xterm-mouse-translate-1, xterm-mouse-event-read): Use read-event since we don't really want to read chars but bytes. * lisp/emacs-lisp/macroexp.el (macroexp-let2): Use more informative names for uninterned vars.
* | Fixes: debbugs:11938Andreas Schwab2012-07-131-1/+1
| | | | | | | | * emacs-lisp/cl.el (labels): Remove spurious quote.
* | Don't warn on toggle-read-only calls.Chong Yidong2012-07-133-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clarify the documentation of toggle-read-only, and audit the code tree for uses of toggle-read-only; where appropriate, switch to setting the variable buffer-read-only or calling toggle-read-only with a (new) second arg. * lisp/files.el (toggle-read-only): Doc fix and code cleanup. New arg to allow printing the message when called from Lisp. * lisp/emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions): Remove toggle-read-only. * lisp/bindings.el (mode-line-toggle-read-only): * lisp/dired.el (dired-toggle-read-only): * lisp/ibuffer.el (ibuffer-do-toggle-read-only): Call toggle-read-only with non-nil second arg. * lisp/bs.el (bs-toggle-readonly): * lisp/buff-menu.el (Buffer-menu-toggle-read-only): Remove with-no-warnings around toggle-read-only. * lisp/ffap.el (ffap--toggle-read-only): Accept a list of buffers. Remove with-no-warnings around toggle-read-only. (ffap-read-only, ffap-read-only-other-window) (ffap-read-only-other-frame): Callers changed. * lisp/help-mode.el: Don't require view package. (help-mode-finish): Set buffer-read-only instead of calling toggle-read-only. * lisp/emacs-lisp/eieio-custom.el (eieio-customize-object): * lisp/vc/ediff.el (ediff-set-read-only-in-buf-A): Set buffer-read-only directly. * lisp/gnus/smime.el (smime-certificate-info): Set buffer-read-only directly, instead of calling toggle-read-only with a (bogus) argument. * doc/emacs/buffers.texi (Misc Buffer): Document view-read-only. * doc/lispref/buffers.texi (Read Only Buffers): Document toggle-read-only changes. Reword to account for the fact that read-only is currently not supported in overlay properties.
* | Fix byte-recompile-directory.Eli Zaretskii2012-07-121-1/+1
| | | | | | | | | | lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Use cl-incf, not incf.
* | Auto-commit of loaddefs files.Glenn Morris2012-07-121-21/+44
| |
* | More CL cleanups and reduction of use of cl.el.Stefan Monnier2012-07-116-162/+158
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * woman.el, winner.el, vc/vc-rcs.el, vc/vc-hooks.el, vc/vc-hg.el: * vc/vc-git.el, vc/vc-dir.el, vc/vc-bzr.el, vc/vc-annotate.el: * textmodes/tex-mode.el, textmodes/sgml-mode.el, tar-mode.el: * strokes.el, ses.el, server.el, progmodes/js.el, progmodes/gdb-mi.el: * progmodes/flymake.el, progmodes/ebrowse.el, progmodes/compile.el: * play/tetris.el, play/snake.el, play/pong.el, play/landmark.el: * play/hanoi.el, play/decipher.el, play/5x5.el, nxml/nxml-mode.el: * net/secrets.el, net/quickurl.el, midnight.el, mail/footnote.el: * image-dired.el, ibuffer.el, ibuf-macs.el, ibuf-ext.el, hexl.el: * eshell/eshell.el, eshell/esh-io.el, eshell/esh-ext.el: * eshell/esh-cmd.el, eshell/em-ls.el, eshell/em-hist.el: * eshell/em-cmpl.el, eshell/em-banner.el: * url/url.el, url/url-queue.el, url/url-parse.el, url/url-http.el: * url/url-future.el, url/url-dav.el, url/url-cookie.el: * calendar/parse-time.el, test/eshell.el: Use cl-lib. * wid-browse.el, wdired.el, vc/vc.el, vc/vc-mtn.el, vc/vc-cvs.el: * vc/vc-arch.el, tree-widget.el, textmodes/texinfo.el: * textmodes/refill.el, textmodes/css-mode.el, term/tvi970.el: * term/ns-win.el, term.el, shell.el, ps-samp.el: * progmodes/perl-mode.el, progmodes/pascal.el, progmodes/gud.el: * progmodes/glasses.el, progmodes/etags.el, progmodes/cwarn.el: * play/gamegrid.el, play/bubbles.el, novice.el, notifications.el: * net/zeroconf.el, net/xesam.el, net/snmp-mode.el, net/mairix.el: * net/ldap.el, net/eudc.el, net/browse-url.el, man.el: * mail/mailheader.el, mail/feedmail.el: * url/url-util.el, url/url-privacy.el, url/url-nfs.el, url/url-misc.el: * url/url-methods.el, url/url-gw.el, url/url-file.el, url/url-expand.el: Dont use CL. * ibuf-ext.el (ibuffer-mark-old-buffers): Use float-time. * eshell/esh-opt.el (eshell-eval-using-options): Quote code with `lambda' rather than with `quote'. (eshell-do-opt): Adjust accordingly. (eshell-process-option): Simplify. * eshell/esh-var.el: * eshell/em-script.el: Require `esh-opt' for eshell-eval-using-options. * emacs-pcase.el (pcase--dontcare-upats, pcase--let*) (pcase--expand, pcase--u1): Rename pcase's internal `dontcare' pattern to `pcase--dontcare'. * emacs-cl.el (labels): Mark obsolete. (cl--letf, letf): Move to cl-lib. (cl--letf*, letf*): Remove. * emacs-cl-lib.el (cl-nth-value): Use defalias. * emacs-cl-macs.el (cl-dolist, cl-dotimes): Add indent rule. (cl-progv): Rewrite. (cl--letf, cl-letf): Move from cl.el. (cl-letf*): New macro. * emacs-cl-extra.el (cl--progv-before, cl--progv-after): Remove.
* | Reduce use of (require 'cl).Stefan Monnier2012-07-103-31/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * admin/bzrmerge.el: Use cl-lib. * leim/quail/hangul.el: Don't require CL. * leim/quail/ipa.el: Use cl-lib. * vc/smerge-mode.el, vc/pcvs.el, vc/pcvs-util.el, vc/pcvs-info.el: * vc/diff-mode.el, vc/cvs-status.el, uniquify.el, scroll-bar.el: * register.el, progmodes/sh-script.el, net/gnutls.el, net/dbus.el: * msb.el, mpc.el, minibuffer.el, international/ucs-normalize.el: * international/quail.el, info-xref.el, imenu.el, image-mode.el: * font-lock.el, filesets.el, edmacro.el, doc-view.el, bookmark.el: * battery.el, avoid.el, abbrev.el: Use cl-lib. * vc/pcvs-parse.el, vc/pcvs-defs.el, vc/log-view.el, vc/log-edit.el: * vc/diff.el, simple.el, pcomplete.el, lpr.el, comint.el, loadhist.el: * jit-lock.el, international/iso-ascii.el, info.el, frame.el, bs.el: * emulation/crisp.el, electric.el, dired.el, cus-dep.el, composite.el: * calculator.el, autorevert.el, apropos.el: Don't require CL. * emacs-bytecomp.el (byte-recompile-directory, display-call-tree) (byte-compile-unfold-bcf, byte-compile-check-variable): * emacs-byte-opt.el (byte-compile-trueconstp) (byte-compile-nilconstp): * emacs-autoload.el (make-autoload): Use pcase. * face-remap.el (text-scale-adjust): Simplify pcase patterns.
* | * lisp/emacs-lisp/gv.el (cond): Make it a valid place.Stefan Monnier2012-07-101-16/+48
| | | | | | | | (if): Simplify slightly.
* | * lisp/emacs-lisp/pcase.el (pcase): Accept self-quoting exps as "upatterns".Stefan Monnier2012-07-101-5/+14
| | | | | | | | | | (pcase--self-quoting-p): New function. (pcase--u1): Use it.
* | authors.el update for configure.ac renamingGlenn Morris2012-07-091-1/+2
| | | | | | | | | | * lisp/emacs-lisp/authors.el (authors-fixed-entries): (authors-renamed-files-alist): Update for configure.in -> configure.ac.