Commit graph

3452 commits

Author SHA1 Message Date
Andreas Schwab
7f5b319886 Fixes: debbugs:11938
* emacs-lisp/cl.el (labels): Remove spurious quote.
2012-07-13 20:15:22 +02:00
Chong Yidong
b68b33375c Don't warn on toggle-read-only calls.
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.
2012-07-13 15:06:09 +08:00
Eli Zaretskii
56bc1586ea Fix byte-recompile-directory.
lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Use cl-incf,
 not incf.
2012-07-12 14:33:55 +03:00
Glenn Morris
222fbb8bc9 Auto-commit of loaddefs files. 2012-07-12 06:20:34 -04:00
Stefan Monnier
a464a6c73a More CL cleanups and reduction of use of cl.el.
* 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.
2012-07-11 19:13:41 -04:00
Stefan Monnier
f58e0fd503 Reduce use of (require 'cl).
* 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.
2012-07-10 07:51:54 -04:00
Stefan Monnier
2519d43af2 * lisp/emacs-lisp/gv.el (cond): Make it a valid place.
(if): Simplify slightly.
2012-07-10 07:27:27 -04:00
Stefan Monnier
19faa8e853 * lisp/emacs-lisp/pcase.el (pcase): Accept self-quoting exps as "upatterns".
(pcase--self-quoting-p): New function.
(pcase--u1): Use it.
2012-07-10 05:26:04 -04:00
Glenn Morris
c4907a5e00 authors.el update for configure.ac renaming
* lisp/emacs-lisp/authors.el (authors-fixed-entries):
(authors-renamed-files-alist): Update for configure.in -> configure.ac.
2012-07-09 21:11:08 -04:00
Paul Eggert
c4444d16dc Rename configure.in to configure.ac.
Fixes: debbugs:11603
2012-07-08 21:52:49 -07:00
Stefan Monnier
b5771c0d82 * lisp/emacs-lisp/bytecomp.el (byte-compile): Don't signal an error if the
function is already compiled.
2012-07-04 10:42:59 -04:00
Paul Eggert
e3ac128172 Spelling fixes. 2012-07-02 01:00:05 -07:00
Eli Zaretskii
c9240d7a6e Adapt the MS-DOS build to the latest changes.
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.
2012-06-30 18:55:27 +03:00
Eli Zaretskii
0d23c240ea Adapt the MS-DOS build to the latest changes.
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.
2012-06-30 18:32:51 +03:00
Stefan Monnier
40c2a14362 * lisp/emacs-lisp/cl-lib.el: Require macroexp. 2012-06-30 08:52:08 -04:00
Stefan Monnier
ac10fe06c9 * lisp/emacs-lisp/cl-lib.el: Require macroexp for its macros. 2012-06-30 08:05:22 -04:00
Stefan Monnier
3cfbebba71 * lisp/emacs-lisp/cl-lib.el (cl-pushnew): Use macroexp-let2. 2012-06-29 22:00:08 -04:00
Juanma Barranquero
2badeec4f4 lisp/emacs-lisp/cl-lib.el (cl-pushnew): Don't capture X (bug#11811). 2012-06-29 01:04:27 +02:00
Stefan Monnier
c207708c86 Make inlining of other-mode interpreted functions work.
* 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
2012-06-27 23:31:27 -04:00
Stefan Monnier
0490178694 * lisp/help-mode.el (help-make-xrefs): Don't just withstand
cyclic-variable-indirection but any error in documentation-property.
2012-06-27 17:16:32 -04:00
Stefan Monnier
1ec4b7b259 Get rid of all the manual purecopy calls in menu-bar definitions.
* 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.
2012-06-27 17:15:13 -04:00
Stefan Monnier
d5c6faf921 * lisp/emacs-lisp/cl.el (flet): Mark obsolete.
* 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
2012-06-27 11:11:28 -04:00
Stefan Monnier
6e9590e26c * lisp/emacs-lisp/cl.el: Use lexical-binding. Fix flet.
(cl--symbol-function): New macro.
(cl--letf, cl--letf*): Use it.

Fixes: debbugs:11780
2012-06-27 10:39:30 -04:00
Stefan Monnier
3fd56834d9 * lisp/emacs-lisp/easy-mmode.el (easy-mmode-pretty-mode-name):
Strip "toggle-" if any.
2012-06-27 10:05:24 -04:00
Stefan Monnier
dc5d230cac Miscellaneous minor cleanups and simplifications.
* 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.
2012-06-23 11:38:23 -04:00
Stefan Monnier
b68581e26c * lisp/emacs-lisp/cl-macs.el (cl--make-usage-args): Handle improper lists.
Fixes: debbugs:11719
2012-06-23 00:24:06 -04:00
Stefan Monnier
36cec983d4 Further GV/CL cleanups.
* 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.
2012-06-22 17:24:54 -04:00
Paul Eggert
d35af63cd6 Support higher-resolution time stamps.
Fixes: debbugs:9000
2012-06-22 14:17:42 -07:00
Stefan Monnier
2ee3d7f0aa Provide generalized variables in core Elisp.
* 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
2012-06-22 09:42:38 -04:00
Stefan Monnier
ee4b13300e * lisp/emacs-lisp/pcase.el (pcase--expand): Warn for unused pattern.
(pcase--u1, pcase--q1): Don't use apply-partially.
2012-06-18 15:23:35 -04:00
Stefan Monnier
1053a8716b Fix return value of `defun' and un-define it.
* 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
2012-06-18 11:57:41 -04:00
Stefan Monnier
a64a94eddd * macroexp.el (macroexp--compiler-macro): Fix paren typo. 2012-06-14 23:20:42 -04:00
Stefan Monnier
f38ea36d3d * lisp/emacs-lisp/cl-lib.el (cl--defsubst-expand): Autoload inliner.
* lisp/emacs-lisp/macroexp.el (macroexp--compiler-macro): New function.
(macroexp--expand-all): Use it.

Fixes: debbugs:11649
2012-06-14 23:18:14 -04:00
Stefan Monnier
4302f5ba6e * lisp/emacs-lisp/cl-macs.el (cl--transform-function-property): Remove.
(cl-define-setf-expander, cl-deftype, cl-define-compiler-macro):
Use `cl-function' instead.
2012-06-14 21:07:03 -04:00
Glenn Morris
8782fa2c35 Auto-commit of loaddefs files. 2012-06-14 06:20:32 -04:00
Stefan Monnier
5a315f9ce9 * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Don't add print-func.
* lisp/files.el: Require cl-lib.
(file-name-non-special): Replace case -> cl-case.
2012-06-13 16:52:25 -04:00
Stefan Monnier
a81068ba96 * lisp/emacs-lisp/edebug.el (edebug-read-function): Remove old incorrect
mapping from #' to function*.
2012-06-13 11:46:29 -04:00
Stefan Monnier
c4c8444a78 * lisp/emacs-lisp/byte-opt.el (featurep): Move compiler-macro...
* lisp/emacs-lisp/bytecomp.el (featurep): ...here.

Fixes: debbugs:11692
2012-06-13 09:16:34 -04:00
Stefan Monnier
a12ac9d795 * lisp/emacs-lisp/autoload.el (make-autoload): Accept nil doc-string-elt.
Add cl-defun and cl-defmacro.

Fixes: debbugs:11649
2012-06-13 08:46:33 -04:00
Glenn Morris
5039aa2c8f Auto-commit of loaddefs files. 2012-06-13 06:20:28 -04:00
Chong Yidong
6005792624 In the Package Menu, indicate packages that are newly-available.
* lisp/emacs-lisp/package.el (list-packages): Compute a list of
packages that are newly-available since the last list-packages
invocation.
(package-menu--new-package-list): New var.
(package-menu--generate, package-menu--print-info)
(package-menu--status-predicate, package-menu-mark-install):
Handle new status label "new".
2012-06-13 15:33:38 +08:00
Stefan Monnier
ad4d226cb8 * lisp/emacs-lisp/cl-macs.el (cl-remf): Fix error in recent
conversion to backquotes.
2012-06-12 14:10:34 -04:00
Chong Yidong
f1a4e679f3 Various minor variable/hook cleanups.
* lisp/emacs-lisp/edebug.el (edebug-inhibit-emacs-lisp-mode-bindings):
Rename from gud-inhibit-global-bindings.

* lisp/emacs-lisp/eieio.el (eieio-pre-method-execution-hooks): Doc fix.

* lisp/erc/erc-dcc.el (erc-dcc-chat-filter-functions): Rename from
erc-dcc-chat-filter-hook, since this is an abnormal hook.

* lisp/nxml/nxml-glyph.el (nxml-glyph-set-functions): Rename abnormal
hook from nxml-glyph-set-hook.

* lisp/progmodes/cwarn.el (cwarn-mode): Remove redundant variable
declaration.

* lisp/progmodes/pascal.el (pascal-toggle-completions): Doc fix.

* lisp/textmodes/bibtex.el (bibtex-string-file-path, bibtex-file-path):
Convert to defcustom.

* lisp/url/url-handlers.el (url-handler-regexp):
* lisp/url/url-nfs.el (url-nfs-automounter-directory-spec):
* lisp/url/url-vars.el (url-load-hook): Convert to defcustom.
2012-06-12 13:47:14 +08:00
Nguyen Thai Ngoc Duy
6b79ce7e18 New input method vietnamese-vni.
* leim/quail/vnvi.el: New file.

Fixes: debbugs:11660
2012-06-12 12:35:14 +08:00
Stefan Monnier
2eb8792296 * lisp/emacs-lisp/cl-macs.el (cl-parse-loop-clause): Fix error in recent
conversion to backquotes.

Fixes: debbugs:11652
2012-06-11 16:47:33 -04:00
Stefan Monnier
71adb94b71 Fix compiler-expansion of CL's cXXr functions.
* emacs-lisp/cl-lib.el (cl--defalias): New function.
(cl-values, cl-values-list, cl-copy-seq, cl-svref, cl-first)
(cl-second, cl-rest, cl-endp, cl-third, cl-fourth): Use it.
(cl-plusp, cl-minusp, cl-fifth, cl-sixth, cl-seventh, cl-eighth)
(cl-ninth, cl-tenth): Mark them as inlinable.
(cl-caaar, cl-caadr, cl-cadar, cl-caddr, cl-cdaar, cl-cdadr)
(cl-cddar, cl-cdddr, cl-caaaar, cl-caaadr, cl-caadar, cl-caaddr)
(cl-cadaar, cl-cadadr, cl-caddar, cl-cadddr, cl-cdaaar, cl-cdaadr)
(cl-cdadar, cl-cdaddr, cl-cddaar, cl-cddadr, cl-cdddar, cl-cddddr):
Add a compiler-macro declaration to use cl--compiler-macro-cXXr.
(cl-list*, cl-adjoin): Don't put an autoload manually.
* emacs-lisp/cl-macs.el (cl--compiler-macro-adjoin)
(cl--compiler-macro-list*): Add autoload cookie.
(cl--compiler-macro-cXXr): New function.
* help-fns.el (help-fns--compiler-macro): New function extracted from
describe-function-1; follow aliases and use `compiler-macro' property.
(describe-function-1): Use it.

Fixes: debbugs:11673
2012-06-11 16:35:00 -04:00
Stefan Monnier
bb3faf5b98 Use lexical-binding for all of CL, and clean up its namespace.
* lisp/emacs-lisp/cl-lib.el: Use lexical-binding.
(cl-map-extents, cl-maclisp-member): Remove.
(cl--set-elt, cl--set-nthcdr, cl--set-buffer-substring)
(cl--set-substring, cl--block-wrapper, cl--block-throw)
(cl--compiling-file, cl--mapcar-many, cl--do-subst): Use "cl--" prefix.
* lisp/emacs-lisp/cl-extra.el: Use lexical-binding.
(cl--mapcar-many, cl--map-keymap-recursively, cl--map-intervals)
(cl--map-overlays, cl--set-frame-visible-p, cl--progv-save)
(cl--progv-before, cl--progv-after, cl--finite-do, cl--set-getf)
(cl--do-remf, cl--do-prettyprint): Use "cl--" prefix.
* lisp/emacs-lisp/cl-seq.el: Use lexical-binding.
(cl--parsing-keywords, cl--check-key, cl--check-test-nokey)
(cl--check-test, cl--check-match): Use "cl--" prefix and backquotes.
(cl--alist, cl--sublis-rec, cl--nsublis-rec, cl--tree-equal-rec):
* lisp/emacs-lisp/cl-macs.el (cl--lambda-list-keywords): Use "cl--" prefix.
* lisp/edmacro.el (edmacro-mismatch): Simplify to remove dependence on
CL's internals.
2012-06-11 11:52:50 -04:00
Johan Bockgård
a4712e11fe * lisp/emacs-lisp/pcase.el (pcase-UPAT, pcase-QPAT): New edebug specs.
(pcase, pcase-let*, pcase-dolist): Use them.
2012-06-10 20:46:21 -04:00
Stefan Monnier
82ad98e37d * lisp/emacs-lisp/pcase.el (pcase--let*): New function.
(pcase-let*): Use it.  Use pcase--memoize to avoid repeated expansions.
(pcase--expand): Use macroexp-let².
2012-06-10 20:33:33 -04:00
Stefan Monnier
f80efb8695 Reduce use of cl in lisp/emacs-lisp/.
* lisp/emacs-lisp/timer.el, lisp/emacs-lisp/syntax.el, lisp/emacs-lisp/smie.el:
* lisp/emacs-lisp/ewoc.el, lisp/emacs-lisp/cconv.el,lisp/emacs-lisp/derived.el:
* lisp/emacs-lisp/byte-opt.el, lisp/emacs-lisp/autoload.el: Convert to cl-lib.
* lisp/emacs-lisp/easymenu.el, lisp/emacs-lisp/easy-mmode.el:
* lisp/emacs-lisp/bytecomp.el: Use pcase instead of `cl'.
* lisp/emacs-lisp/cl-lib.el: Get rid of special cl-macs auto load.
2012-06-10 09:28:26 -04:00