summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
Commit message (Collapse)AuthorAgeFilesLines
...
* | * 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.
* | Rename configure.in to configure.ac.Paul Eggert2012-07-081-1/+1
| | | | | | | | Fixes: debbugs:11603
* | * lisp/emacs-lisp/bytecomp.el (byte-compile): Don't signal an error if theStefan Monnier2012-07-041-15/+25
| | | | | | | | function is already compiled.
* | Spelling fixes.Paul Eggert2012-07-022-4/+4
| |
* | Adapt the MS-DOS build to the latest changes.Eli Zaretskii2012-06-301-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | msdos/mainmake.v2 (bootstrap-clean): Do a maintainer-clean in lib, not bootstrap-clean (which doesn't exist). msdos/inttypes.h (PRIuMAX) [__DJGPP__ < 2.04]: Define to "llu". msdos/sedleim.inp (MKDIR_P): Edit to DOS "md" command. msdos/sed1v2.inp: (LIB_CLOCK_GETTIME): Edit to empty. Remove lines that invoke PAXCTL. (clean): Fix recipe not to run Unixy shell commands. msdos/sed2v2.inp (GETTIMEOFDAY_TIMEZONE): Edit to 'struct timezone'. (HAVE_STRNCASECMP): Edit to 1. msdos/sed3v2.inp (LIB_CLOCK_GETTIME): Edit to empty. (C_SWITCH_SYSTEM): Add "-I../msdos". msdos/sedlibmk.inp (GNULIB_GETTIMEOFDAY, GNULIB_PSELECT) (GNULIB_SELECT, HAVE_STRUCT_TIMEVAL, HAVE_SYS_SELECT_H) (HAVE_SYS_TIME_H, NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H) (NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H, NEXT_SYS_SELECT_H) (NEXT_SYS_TIME_H, REPLACE_GETTIMEOFDAY, REPLACE_PSELECT) (REPLACE_STRUCT_TIMEVAL): Edit to appropriate values. (BUILT_SOURCES): Edit out sys/select.h and sys/time.h. (mostlyclean-local, distclean-generic): Fix recipe not to run Unixy shell commands. src/sysselect.h [DOS_NT]: Don't include sys/select.h. src/sysselect.h (pselect) [!HAVE_PSELECT]: Redirect to sys_select. src/sysdep.c: Don't include dos.h and dosfns.h. src/process.c (sys_select): src/msdos.c (sys_select): Accept one more argument and ignore it. src/msdos.c (event_timestamp, sys_select): Use gnulib's gettime; adapt data types and code to that. src/dosfns.c: src/msdos.c (gettime, settime): Define away the prototypes in dos.h, which clashes with the gnulib function of the same name. src/ w32proc.c (sys_select): Accept and ignore one more argument. src/w32.c (emacs_gnutls_pull): Call select with one more argument. lisp/emacs-lisp/timer.el (timer-until): Subtract results of float-time, instead of taking float-time of the result of time-subtract, since float-time signals an error for negative time arguments.
| * | Adapt the MS-DOS build to the latest changes.Eli Zaretskii2012-06-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | msdos/mainmake.v2 (bootstrap-clean): Do a maintainer-clean in lib, not bootstrap-clean (which doesn't exist). msdos/inttypes.h (PRIuMAX) [__DJGPP__ < 2.04]: Define to "llu". msdos/sedleim.inp (MKDIR_P): Edit to DOS "md" command. msdos/sed1v2.inp: (LIB_CLOCK_GETTIME): Edit to empty. Remove lines that invoke PAXCTL. (clean): Fix recipe not to run Unixy shell commands. msdos/sed2v2.inp (GETTIMEOFDAY_TIMEZONE): Edit to 'struct timezone'. (HAVE_STRNCASECMP): Edit to 1. msdos/sed3v2.inp (LIB_CLOCK_GETTIME): Edit to empty. (C_SWITCH_SYSTEM): Add "-I../msdos". msdos/sedlibmk.inp (GNULIB_GETTIMEOFDAY, GNULIB_PSELECT) (GNULIB_SELECT, HAVE_STRUCT_TIMEVAL, HAVE_SYS_SELECT_H) (HAVE_SYS_TIME_H, NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H) (NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H, NEXT_SYS_SELECT_H) (NEXT_SYS_TIME_H, REPLACE_GETTIMEOFDAY, REPLACE_PSELECT) (REPLACE_STRUCT_TIMEVAL): Edit to appropriate values. (BUILT_SOURCES): Edit out sys/select.h and sys/time.h. (mostlyclean-local, distclean-generic): Fix recipe not to run Unixy shell commands. src/sysselect.h [DOS_NT]: Don't include sys/select.h. src/s/ms-w32.h (select, pselect): Don't define here, they are defined in sysselect.h src/sysselect.h (pselect) [!HAVE_PSELECT]: Redirect to sys_select. src/sysdep.c: Don't include dos.h and dosfns.h. src/process.c (sys_select): src/msdos.c (sys_select): Accept one more argument and ignore it. src/msdos.c (event_timestamp, sys_select): Use gnulib's gettime; adapt data types and code to that. src/dosfns.c: src/msdos.c (gettime, settime): Define away the prototypes in dos.h, which clashes with the gnulib function of the same name. lisp/emacs-lisp/timer.el (timer-until): Subtract results of float-time, instead of taking float-time of the result of time-subtract, since float-time signals an error for negative time arguments.
* | | * lisp/emacs-lisp/cl-lib.el: Require macroexp.Stefan Monnier2012-06-301-1/+1
| | |
* | | * lisp/emacs-lisp/cl-lib.el: Require macroexp for its macros.Stefan Monnier2012-06-301-0/+2
|/ /
* | * lisp/emacs-lisp/cl-lib.el (cl-pushnew): Use macroexp-let2.Stefan Monnier2012-06-291-10/+9
| |
* | lisp/emacs-lisp/cl-lib.el (cl-pushnew): Don't capture X (bug#11811).Juanma Barranquero2012-06-291-9/+10
| |
* | Make inlining of other-mode interpreted functions work.Stefan Monnier2012-06-272-39/+52
| | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile--refiy-function): New fun. (byte-compile): Use it to fix compilation of lexical-binding closures. * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Compile the function, if needed. Fixes: debbugs:11799
* | * lisp/help-mode.el (help-make-xrefs): Don't just withstandStefan Monnier2012-06-271-1/+1
| | | | | | | | cyclic-variable-indirection but any error in documentation-property.
* | Get rid of all the manual purecopy calls in menu-bar definitions.Stefan Monnier2012-06-271-127/+129
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/loadup.el (purify-flag): Pre-grow the hash-table to reduce the memory use. * lisp/bindings.el (bindings--define-key): New function. * lisp/vc/vc-hooks.el, lisp/replace.el, lisp/menu-bar.el: * lisp/international/mule-cmds.el, lisp/emacs-lisp/lisp-mode.el: * lisp/buff-menu.el, lisp/bookmark.el: * bindings.el: Use it to purecopy define-key bindings. * src/fns.c (maybe_resize_hash_table): Output message when growing the purify-hashtable.
* | * lisp/emacs-lisp/cl.el (flet): Mark obsolete.Stefan Monnier2012-06-273-8/+31
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/cl-macs.el (cl-flet*): New macro. * lisp/vc/vc-rcs.el (vc-rcs-annotate-command, vc-rcs-parse): * lisp/progmodes/js.el (js-c-fill-paragraph): * lisp/progmodes/ebrowse.el (ebrowse-switch-member-buffer-to-sibling-class) (ebrowse-switch-member-buffer-to-derived-class): * test/automated/ert-x-tests.el (ert-test-run-tests-interactively-2): * lisp/play/5x5.el (5x5-solver): Use cl-flet. Fixes: debbugs:11780
* | * lisp/emacs-lisp/cl.el: Use lexical-binding. Fix flet.Stefan Monnier2012-06-271-4/+17
| | | | | | | | | | | | | | (cl--symbol-function): New macro. (cl--letf, cl--letf*): Use it. Fixes: debbugs:11780
* | * lisp/emacs-lisp/easy-mmode.el (easy-mmode-pretty-mode-name):Stefan Monnier2012-06-271-1/+2
| | | | | | | | Strip "toggle-" if any.
* | Miscellaneous minor cleanups and simplifications.Stefan Monnier2012-06-234-15/+14
| | | | | | | | | | | | | | | | | | | | | | * lisp/help-fns.el (describe-variable): Don't croak when doc is not found. * lisp/vc/pcvs.el (cvs-retrieve-revision): Avoid toggle-read-only. * lisp/menu-bar.el (menu-bar-line-wrapping-menu): Purecopy a tiny bit more. * lisp/emacs-lisp/syntax.el (syntax-ppss): Simplify with new `if' place. * lisp/emacs-lisp/smie.el (smie-next-sexp): CSE. * lisp/emacs-lisp/macroexp.el (macroexp-let2): Fix edebug spec and avoid ((lambda ..) ..). * lisp/emacs-lisp/eieio.el (eieio-oref, slot-value): Use simpler defsetf.
* | * lisp/emacs-lisp/cl-macs.el (cl--make-usage-args): Handle improper lists.Stefan Monnier2012-06-232-24/+32
| | | | | | | | Fixes: debbugs:11719
* | Further GV/CL cleanups.Stefan Monnier2012-06-226-259/+204
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/gv.el (gv-get): Autoload functions to find their gv-expander. (gv--defun-declaration): New function. (defun-declarations-alist): Use it. (gv-define-modify-macro, gv-pushnew!, gv-inc!, gv-dec!): Remove. (gv-place): Autoload. * lisp/emacs-lisp/cl.el (cl--dotimes, cl--dolist): Remember subr.el's original definition of dotimes and dolist. * lisp/emacs-lisp/cl-macs.el (cl-expr-access-order): Remove unused. (cl-dolist, cl-dotimes): Use `dolist' and `dotimes'. * lisp/emacs-lisp/cl-lib.el: Move gv handlers from cl-macs to here. (cl-fifth, cl-sixth, cl-seventh, cl-eighth) (cl-ninth, cl-tenth): Move gv handler to the function's definition. * lisp/emacs-lisp/cl-extra.el (cl-subseq, cl-get, cl-getf): Move gv handler to the function's definition. * lisp/Makefile.in (COMPILE_FIRST): Re-order to speed it up by about 50%. * lisp/window.el: * lisp/files.el: * lisp/faces.el: * lisp/env.el: Don't use CL.
* | Support higher-resolution time stamps.Paul Eggert2012-06-221-36/+51
| | | | | | | | Fixes: debbugs:9000
* | Provide generalized variables in core Elisp.Stefan Monnier2012-06-2214-802/+970
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/gv.el: New file. * lisp/subr.el (push, pop): Extend to generalized variables. * lisp/loadup.el (macroexp): Unload if preloaded and uncompiled. * lisp/emacs-lisp/cl-lib.el (cl-pop, cl-push, cl--set-nthcdr): Remove. * lisp/emacs-lisp/cl-macs.el: Require gv. Use gv-define-setter, gv-define-simple-setter, and gv-define-expander. Remove setf-methods defined in gv. Rename cl-setf -> setf. (cl-setf, cl-do-pop, cl-get-setf-method): Remove. (cl-letf, cl-letf*, cl-define-modify-macro, cl-defsetf) (cl-define-setf-expander, cl-struct-setf-expander): Move to cl.el. (cl-remf, cl-shiftf, cl-rotatef, cl-callf, cl-callf2): Rewrite with gv-letplace. (cl-defstruct): Don't define setf-method any more. * lisp/emacs-lisp/cl.el (flet): Don't autoload. (cl--letf, letf, cl--letf*, letf*, cl--gv-adapt) (define-setf-expander, defsetf, define-modify-macro) (cl-struct-setf-expander): Move from cl-lib.el. * lisp/emacs-lisp/syntax.el: * lisp/emacs-lisp/ewoc.el: * lisp/emacs-lisp/smie.el: * lisp/emacs-lisp/cconv.el: * lisp/emacs-lisp/timer.el: Rename cl-setf -> setf, cl-push -> push. (timer--time): Use gv-define-simple-setter. * lisp/emacs-lisp/macroexp.el (macroexp-let2): Rename from macroexp-let² to avoid coding-system problems in subr.el. Adjust all users. (macroexp--maxsize, macroexp-small-p): New functions. * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Don't use cl-letf. * lisp/scroll-bar.el (scroll-bar-mode): * lisp/simple.el (auto-fill-mode, overwrite-mode, binary-overwrite-mode) (normal-erase-is-backspace-mode): Don't use the `eq' place. * lisp/winner.el (winner-configuration, winner-make-point-alist) (winner-set-conf, winner-get-point, winner-set): Don't abuse letf. * lisp/files.el (locate-file-completion-table): Avoid list*. Fixes: debbugs:11657
* | * lisp/emacs-lisp/pcase.el (pcase--expand): Warn for unused pattern.Stefan Monnier2012-06-181-11/+21
| | | | | | | | (pcase--u1, pcase--q1): Don't use apply-partially.
* | Fix return value of `defun' and un-define it.Stefan Monnier2012-06-181-1/+3
| | | | | | | | | | | | | | | | | | * src/data.c (Fdefalias): Return `symbol'. * doc/lispref/functions.texi (Defining Functions): * doc/lispref/macros.texi (Defining Macros): Un-define the return value of `defun', `defmacro' and `defalias'. Fixes: debbugs:11686