summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
Commit message (Collapse)AuthorAgeFilesLines
...
* Don't autoload functions too eagerly during macroexpansion.Stefan Monnier2012-06-087-56/+56
| | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Only autoload a function if there's a clear indication that it has a compiler-macro. * lisp/emacs-lisp/byte-run.el (defun-declarations-alist, defmacro, defun) (macro-declarations-alist): Add arglist to declaration functions. (defun-declarations-alist): Add `obsolete' and `compiler-macro'. * lisp/emacs-lisp/cl-seq.el (cl-member, cl-assoc): * lisp/emacs-lisp/cl-lib.el (cl-list*, cl-adjoin): * lisp/emacs-lisp/cl-extra.el (cl-get): Use the new `declare' statement. Also add autoload to find the compiler macro. * lisp/emacs-lisp/cl-macs.el (eql) [compiler-macro]: Remove. (cl--compiler-macro-member, cl--compiler-macro-assoc) (cl--compiler-macro-adjoin, cl--compiler-macro-list*) (cl--compiler-macro-get): New functions, replacing calls to cl-define-compiler-macro. (cl-typep) [compiler-macro]: Use macroexp-let².
* Clean up scoping rule of predefined single-word vars.Stefan Monnier2012-06-085-58/+56
| | | | | | | | | | | | * lisp/startup.el (argv, argi): Make lexically scoped. * lisp/emacs-lisp/float-sup.el (pi): Use internal-make-var-non-special. * lisp/emacs-lisp/cl-macs.el: Use lexical-binding. Rename cl-bind-* to cl--bind-*. * lisp/files.el: Don't require `cl' since it doesn't use it. * lisp/emacs-lisp/pcase.el, lisp/emacs-lisp/macroexp.el: Add coding cookie. * src/eval.c (Fmake_var_non_special): New primitive. (syms_of_eval): Defsubr it. * src/lread.c (syms_of_lread): Mark `values' as lexically scoped.
* Mention in "C-u C-x =" display how to insert the character w/o input methods.Eli Zaretskii2012-06-081-1/+1
| | | | | | | lisp/descr-text.el (describe-char): Mention how to insert the character, if the current input method doesn't support it. See the discussion in this thread for the details: http://lists.gnu.org/archive/html/emacs-devel/2012-05/msg00533.html.
* Get rid of cl-lexical-let, keeping only lexical-let for compatibility.Stefan Monnier2012-06-074-202/+249
| | | | | | | | | | | | | | * lisp/emacs-lisp/cl-macs.el: Provide itself. (cl--labels-convert-cache): New var. (cl--labels-convert): New function. (cl-flet, cl-labels): New implementation with new semantics, relying on lexical-binding. * lisp/emacs-lisp/cl.el: Mark compatibility aliases as obsolete. (cl-closure-vars, cl--function-convert-cache) (cl--function-convert): Move from cl-macs.el. (lexical-let, lexical-let*, flet, labels): Move from cl-macs.el and rename by removing the "cl-" prefix. * lisp/emacs-lisp/macroexp.el (macroexp-unprogn): New function.
* Move old compatiblity to cl.el. Remove cl-macroexpand-all.Stefan Monnier2012-06-075-210/+159
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * emacs-lisp/cl-extra.el (cl-map-keymap, cl-copy-tree) (cl-not-hash-table, cl-builtin-gethash, cl-builtin-remhash) (cl-builtin-clrhash, cl-builtin-maphash, cl-gethash, cl-puthash) (cl-remhash, cl-clrhash, cl-maphash, cl-make-hash-table) (cl-hash-table-p, cl-hash-table-count): Move to cl.el. (cl-macroexpand-cmacs): Remove var. (cl-macroexpand-all, cl-macroexpand-body): Remove funs. Use macroexpand-all instead. * emacs-lisp/cl-lib.el (cl-macro-environment): Remove decl. (cl-macroexpand): Move to cl-macs.el and rename to cl--sm-macroexpand. (cl-member): Remove old alias. * emacs-lisp/cl-macs.el (cl-macro-environment): Remove var. Use macroexpand-all-environment instead. (cl--old-macroexpand): New var. (cl--sm-macroexpand): New function. (cl-symbol-macrolet): Use it during macro expansion. (cl--function-convert-cache): New var. (cl--function-convert): New function, extracted from cl-macroexpand-all. (cl-lexical-let): Use it. * emacs-lisp/cl.el (cl-macroexpand, cl-macro-environment) (cl-macroexpand-all, cl-not-hash-table, cl-builtin-gethash) (cl-builtin-remhash, cl-builtin-clrhash, cl-builtin-maphash) (cl-map-keymap, cl-copy-tree, cl-gethash, cl-puthash, cl-remhash) (cl-clrhash, cl-maphash, cl-make-hash-table, cl-hash-table-p) (cl-hash-table-count): Add old compatibility aliases.
* Cleanup cl-macs namespace. Add macro helpers in macroexp.el.Stefan Monnier2012-06-079-495/+507
| | | | | | | | | | | | | | | | | | | | | | | | | | | * emacs-lisp/macroexp.el (macroexp-progn, macroexp-let*, macroexp-if) (macroexp-let², macroexp--const-symbol-p, macroexp-const-p) (macroexp-copyable-p): New functions and macros. * emacs-lisp/edebug.el (edebug-unwrap): * emacs-lisp/disass.el (disassemble-internal): Use macroexp-progn. * emacs-lisp/pcase.el: Use macroexp-let*, macroexp-if, ... (pcase--let*): Remove. * emacs-lisp/bytecomp.el (byte-compile-const-symbol-p) (byte-compile-constp): Remove. Use macroexp--const-symbol-p and macroexp-const-p instead. * emacs-lisp/byte-opt.el: Use macroexp-const-p and macroexp-progn. * emacs-lisp/cl-macs.el: Clean up the name space by using "cl--" instead of "cl-" for internal definitions. Use macroexp-const-p. (cl-old-bc-file-form): Remove var. (cl-const-exprs-p): Remove fun. (cl-labels, cl-macrolet): Use backquote. (cl-lexical-let): Use cl-symbol-macrolet. Don't use cl-defun-expander. (cl-defun-expander, cl-byte-compile-compiler-macro): Remove fun. (cl-define-setf-expander): Rename from cl-define-setf-method. * emacs-lisp/cl.el: Adjust alias for define-setf-method. * international/mule-cmds.el: Don't require CL. (view-hello-file): Don't use `letf'.
* * lisp/emacs-lisp/macroexp.el: Don't require CL since we don't use it.Stefan Monnier2012-06-061-38/+36
| | | | | | | | (macroexp--cons): Rename from maybe-cons. (macroexp--accumulate): Rename from macroexp-accumulate. (macroexp--all-forms): Rename from macroexpand-all-forms. (macroexp--all-clauses): Rename from macroexpand-all-clauses. (macroexp--expand-all): Rename from macroexpand-all-1.
* * lisp/emacs-lisp/macroexp.el (macroexpand-all-1): Don't spam the outputStefan Monnier2012-06-061-1/+2
| | | | | | with "loading" messages. Fixes: debbugs:11635
* Remove lib-src/vcdiffGlenn Morris2012-06-051-1/+1
| | | | | | | | | | * lib-src/vcdiff: Remove file. * lib-src/Makefile.in (SCRIPTS, STAMP_SCRIPTS): Remove vcdiff. (stamp-vcdiff): Remove. * INSTALL, make-dist: Remove vcdiff. * lisp/emacs-lisp/authors.el (authors-fixed-entries): Remove vcdiff
* * emacs-list/cust-print.el: Move to obsolete.Stefan Monnier2012-06-051-683/+0
|
* * lisp/emacs-lisp/macroexp.el (macroexpand-all-1): Tolerate errors duringStefan Monnier2012-06-052-5/+12
| | | | compiler-macro expansion.
* Add native compiler-macro support.Stefan Monnier2012-06-056-56/+64
| | | | | | | | | | | | * lisp/emacs-lisp/macroexp.el (macroexpand-all-1): Support compiler-macros directly. Properly follow aliases and apply the compiler macros more thoroughly. * lisp/emacs-lisp/cl.el: Don't copy compiler-macro properties any more since macroexpand now properly follows aliases. * lisp/emacs-lisp/cl-macs.el (toplevel, cl-define-compiler-macro) (cl-compiler-macroexpand): Use new prop. * lisp/emacs-lisp/byte-opt.el (featurep): Optimize earlier. * lisp/emacs-lisp/cl-lib.el (custom-print-functions): Add compatibility alias.
* * lisp/emacs-lisp/cl-lib.el (cl-values, cl-values-list): Fix up last change.Stefan Monnier2012-06-041-0/+2
|
* Update autogenerated bootstrap file.Stefan Monnier2012-06-041-264/+269
|
* * lisp/emacs-lisp/cl-lib.el: Rename from cl.el.Stefan Monnier2012-06-036-1565/+1889
| | | | | | | | * lisp/emacs-lisp/cl.el: New compatibility file. * emacs-lisp/cl-lib.el, lisp/emacs-lisp/cl-seq.el, lisp/emacs-lisp/cl-macs.el: * lisp/emacs-lisp/cl-extra.el: Rename all top-level functions and variables to obey the "cl-" prefix. * lisp/emacs-lisp/macroexp.el (macroexpand-all-1): Adjust to new name.
* * lisp/emacs-lisp/authors.el (authors-aliases): Addition.Glenn Morris2012-06-031-0/+1
|
* Remove incorrect uses of "modeline".Chong Yidong2012-06-022-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ansi-color.el (ansi-color-faces-vector): Change default faces. * cus-edit.el (mode-line): * dframe.el (dframe-mouse-hscroll): * emacs-lisp/re-builder.el: * emacs-lisp/easy-mmode.el (define-minor-mode): * frame.el (set-frame-name): * help.el (lookup-minor-mode-from-indicator): * net/rcirc.el (rcirc-activity-string, rcirc-short-buffer-name): * progmodes/cc-cmds.el (c-toggle-auto-newline) (c-toggle-hungry-state): * progmodes/antlr-mode.el (antlr-language-alist): * progmodes/idlw-shell.el (idlwave-shell-electric-stop-line-face): * progmodes/vhdl-mode.el (vhdl-mode): * progmodes/which-func.el (which-func, which-func-cleanup-function): * term/ns-win.el (ns-face-at-pos): * term/sup-mouse.el (sup-mouse-report): * textmodes/flyspell.el (flyspell-mode-line-string): * textmodes/ispell.el (ispell-highlight-face): * textmodes/reftex-global.el: * vc/vc-arch.el (vc-arch-mode-line-string): * vc/vc-cvs.el (vc-cvs-mode-line-string): * vc/vc-git.el (vc-git-mode-line-string): * vc/vc-hooks.el (vc-display-status) (vc-default-mode-line-string): * vc/vc-mtn.el (vc-mtn-mode-line-string): Doc fixes. * dired.el (dired-sort-set-mode-line): Rename from dired-sort-set-modeline. All callers changed. * foldout.el (foldout-mode-line-string): Rename from foldout-modeline-string. All callers changed. (foldout-update-mode-line): Rename from foldout-update-modeline. * strokes.el (strokes-lighter): Rename from strokes-modeline-string. * subr.el (redraw-modeline): Make into obsolete alias. * calendar/timeclock.el (timeclock-mode-line-display): Rename from timeclock-modeline-display. Make old name an alias. (timeclock-update-mode-line): Likewise. All callers changed. (timeclock-mode-line-display): No need to check before using add-hook. (timeclock-relative, timeclock-day-over-hook) (timeclock-use-elapsed, timeclock-mode-string) (timeclock-mode-line-display): Doc fix, "modeline" -> "mode line". * emulation/crisp.el (crisp-mode-mode-line-string): Rename from crisp-mode-modeline-string. * erc-track.el (erc-track, erc-track-faces-priority-list) (erc-track-faces-normal-list, erc-track-find-face) (erc-track-modified-channels): Fix modeline -> mode line in docs. * eshell/esh-mode.el (eshell-status-in-mode-line): Rename from eshell-status-in-modeline. * org-clock.el (org-clock-string-limit) (org-clock-modeline-total, org-clock-task-overrun-text) (org-clock-mode-line-entry): Doc fix, "modeline" -> "mode line". * play/solitaire.el (solitaire-build-mode-line): Rename from solitaire-build-modeline. All callers changed. * play/zone.el (zone-hiding-mode-line): Rename from zone-hiding-modeline. All callers changed. (zone): Remove unusued `modeline-hidden-level' property. * progmodes/xscheme.el (xscheme-mode-line-initialize): Rename from xscheme-modeline-initialize. All callers changed. * textmodes/sgml-mode.el (html-face-tag-alist) (html-tag-face-alist): Use mode-line face instead of obsolete alias modeline. Fixes: debbugs:10329
* Auto-commit of loaddefs files.Glenn Morris2012-06-021-1/+1
|
* * lisp/emacs-lisp/cl-macs.el: Use backquotes.Stefan Monnier2012-06-012-641/+591
| | | | | | (cl-transform-function-property): Use eval-and-compile rather than abusing `require'. (defstruct): Use declare-function instead of with-no-warnings.
* * lisp/emacs-lisp/bytecomp.el: Fix last change.Stefan Monnier2012-06-011-5/+14
| | | | | | | | (byte-compile-output-docform): Re-add the print-circle bindings. (byte-compile-fix-header): Use #$ just because it's shorter. (byte-compile-output-file-form): Remove defun/defmacro. Fixes: debbugs:11594
* Merge from emacs-24; up to 2012-04-24T21:47:24Z!michael.albinus@gmx.deChong Yidong2012-05-311-7/+5
|\
| * Fix long filename handling of byte-compile-fix-header.Stefan Monnier2012-05-311-7/+5
| | | | | | | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile-fix-header): Handle arbitrary file name lengths (Bug#11585).
| * Auto-commit of loaddefs files.Glenn Morris2012-05-181-1/+1
| |
| * * lisp/emacs-lisp/cl-macs.el (cl-transform-lambda): Don't add spuriousStefan Monnier2012-05-171-2/+3
| | | | | | | | | | | | parens around the arg list. Silly backport. Fixes: debbugs:11499
* | Add `declare' for `defun'. Align `defmacro's with it.Stefan Monnier2012-05-303-106/+201
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/easy-mmode.el (define-minor-mode) (define-globalized-minor-mode): Don't autoload the var definitions. * lisp/emacs-lisp/byte-run.el: Use lexical-binding. (defun-declarations-alist, macro-declarations-alist): New vars. (defmacro, defun): Use them. (make-obsolete, define-obsolete-function-alias) (make-obsolete-variable, define-obsolete-variable-alias): Use `declare'. (macro-declaration-function): Mark obsolete. * lisp/emacs-lisp/autoload.el: Use lexical-binding. (make-autoload): Add `expansion' arg. Rely more on macro expansion.
* | * lisp/emacs-lisp/byte-run.el (defmacro, defun): Move from C.Stefan Monnier2012-05-297-328/+322
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (macro-declaration-function): Move var from C code. (macro-declaration-function): Define function with defalias. * lisp/emacs-lisp/macroexp.el (macroexpand-all-1): * lisp/emacs-lisp/cconv.el (cconv-convert, cconv-analyse-form): * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Don't handle defun/defmacro any more. * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-signature): Provide fallback for unknown arglist. (byte-compile-arglist-warn): Change calling convention. (byte-compile-output-file-form): Move print-vars binding. (byte-compile-output-docform): Simplify accordingly. (byte-compile-file-form-defun, byte-compile-file-form-defmacro) (byte-compile-defmacro-declaration): Remove. (byte-compile-file-form-defmumble): Generalize to defalias. (byte-compile-output-as-comment): Return byte-positions. Simplify callers accordingly. (byte-compile-lambda): Use `assert'. (byte-compile-defun, byte-compile-defmacro): Remove. (byte-compile-file-form-defalias): Use byte-compile-file-form-defmumble. (byte-compile-defalias-warn): Remove. * src/eval.c (Fdefun, Fdefmacro, Vmacro_declaration_function): Move to byte-run.el. (Fautoload): Do the hash-doc more carefully. * src/data.c (Fdefalias): Purify definition, except for keymaps. (Qdefun): Move from eval.c. * src/lisp.h (Qdefun): Remove. * src/lread.c (read1): Tiny simplification. * lib-src/make-docfile.c: Improve comment style. (search_lisp_doc_at_eol): New function. (scan_lisp_file): Use it.
* | Fix minor corner case bugs in byte compilation and pcase.Stefan Monnier2012-05-293-45/+57
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Don't re-preprocess functions from byte-compile-function-environment. * lisp/emacs-lisp/bytecomp.el (byte-compile-constp): Treat #'v as a constant. (byte-compile-close-variables): Bind byte-compile--outbuffer here... (byte-compile-from-buffer): ...rather than here. * lisp/emacs-lisp/pcase.el (pcase--expand): Accept different sets of vars in different alternative patterns. (pcase-codegen): Be more careful to preserve identity. (pcase--u1): Don't forget to mark vars as used.
* | * lisp/emacs-lisp/lisp-mode.el (eval-defun-2): Use `eval-sexp-add-defvars'Juri Linkov2012-05-272-2/+3
| | | | | | | | | | | | | | | | | | | | after the `eval-defun-1' specialcaseing like in `edebug-eval-defun'. * lisp/emacs-lisp/edebug.el (edebug-eval-defun): Set `face-documentation' like in `eval-defun-1'. Fixes: debbugs:10181
* | Use `declare' in `lambda' and mis minor changes.Stefan Monnier2012-05-263-10/+5
| | | | | | | | | | | | | | | | * lisp/subr.el (lambda): Use declare. * lisp/emacs-lisp/lisp-mode.el (lambda): * lisp/emacs-lisp/edebug.el (lambda): Move properties to its definition. * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unhook-expire-days): * lisp/gnus/gnus-demon.el (gnus-demon-init): Don't bother with type-of.
* | lisp/emacs-lisp/edebug.el: Do not load cl-specs.el.Juanma Barranquero2012-05-221-8/+0
| |
* | * lisp/emacs-lisp/bytecomp.el (byte-compile-root-dir): New var.Stefan Monnier2012-05-191-24/+27
| | | | | | | | (byte-compile-warning-prefix, batch-byte-compile-file): Use it.
* | * lisp/emacs-lisp/lisp-mode.el (doc-string-elt): Move those properties toStefan Monnier2012-05-177-27/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | their respective macro declarations. * lisp/skeleton.el (define-skeleton): * lisp/progmodes/compile.el (define-compilation-mode): * lisp/ibuf-macs.el (define-ibuffer-sorter, define-ibuffer-op) (define-ibuffer-filter): * lisp/emacs-lisp/generic.el (define-generic-mode): * lisp/emacs-lisp/easy-mmode.el (define-minor-mode) (define-globalized-minor-mode): * lisp/emacs-lisp/cl-macs.el (defun*, defmacro*, defstruct, deftype): * lisp/emacs-lisp/byte-run.el (defsubst): * lisp/custom.el (deftheme): Add doc-string metadata.
* | * lisp/emacs-lisp/cl-macs.el, lisp/emacs-lisp/cl.el: Move indent info.Stefan Monnier2012-05-172-64/+35
| |
* | * lisp/emacs-lisp/pcase.el (pcase--u1): Avoid ((lambda ...) ...).Stefan Monnier2012-05-171-1/+2
| |
* | * lisp/emacs-lisp/cl.el: Add edebug specs from cl-specs.el.Stefan Monnier2012-05-174-474/+327
| | | | | | | | | | * lisp/emacs-lisp/cl-macs.el: Idem. * lisp/emacs-lisp/cl-specs.el: Remove.
* | Minor renaming of internal CL functions and variables.Stefan Monnier2012-05-175-37/+37
| | | | | | | | | | | | | | | | * lisp/emacs-lisp/cl-seq.el (cl--adjoin): Rename from cl-adjoin. (cl--position): Rename from cl-position. (cl--delete-duplicates): Rename from cl-delete-duplicates. * lisp/emacs-lisp/cl.el (cl--gensym-counter): Rename from *gensym-counter*. (cl--random-state): Rename from *random-state*.
* | * lisp/emacs-lisp/cl-macs.el (cl-transform-lambda): Don't add spuriousStefan Monnier2012-05-171-2/+3
| | | | | | | | | | | | parens around the arg list. Fixes: debbugs:11499
* | * lisp/emacs-lisp/pcase.el (pcase-let*, pcase-let): Fix edebug spec.Stefan Monnier2012-05-151-2/+3
| |
* | * lisp/emacs-lisp/smie.el (smie-indent--bolp-1): New function.Stefan Monnier2012-05-151-2/+24
| | | | | | | | (smie-indent-keyword): Use it.
* | *** empty log message ***Stefan Monnier2012-05-131-2/+4
| |
* | Adapt Electric Buffer Menu to recent Buffer Menu changes.Chong Yidong2012-05-131-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/ebuff-menu.el (electric-buffer-list): Put electric buffer menu command descriptions in this docstring, instead of the docstring of electric-buffer-menu-mode. Code cleanups. (electric-buffer-menu-mode): Use define-derived-mode. Rename from Electric-buffer-menu-mode. (electric-buffer-update-highlight): Minor code cleanup. * lisp/emacs-lisp/tabulated-list.el (tabulated-list-format) (tabulated-list-entries, tabulated-list-padding) (tabulated-list-sort-key): Make permanent-local. Fixes: debbugs:11455
* | Move define-obsolete-variable-alias before the var's definition.Stefan Monnier2012-05-122-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/vc/log-edit.el (vc-comment-ring, vc-comment-ring-index): * lisp/tooltip.el (tooltip-hook): * lisp/textmodes/reftex-toc.el (reftex-toc-map): * lisp/textmodes/reftex-sel.el (reftex-select-label-map) (reftex-select-bib-map): * lisp/textmodes/reftex-index.el (reftex-index-map) (reftex-index-phrases-map): * lisp/speedbar.el (speedbar-syntax-table, speedbar-key-map): * lisp/progmodes/meta-mode.el (meta-mode-map): * lisp/novice.el (disabled-command-hook): * lisp/loadhist.el (unload-hook-features-list): * lisp/frame.el (blink-cursor): * lisp/files.el (find-file-not-found-hooks, write-file-hooks) (write-contents-hooks): * lisp/emulation/tpu-edt.el (GOLD-map): * lisp/emacs-lock.el (emacs-lock-from-exiting): * lisp/emacs-lisp/generic.el (generic-font-lock-defaults): * lisp/emacs-lisp/chart.el (chart-map): * lisp/dos-fns.el (register-name-alist): * lisp/dired-x.el (dired-omit-files-p): * lisp/desktop.el (desktop-enable): * lisp/cus-edit.el (custom-mode-hook): * lisp/buff-menu.el (buffer-menu-mode-hook): * lisp/bookmark.el (bookmark-read-annotation-text-func) (bookmark-exit-hooks): * lisp/allout.el (allout-mode-deactivate-hook) (allout-exposure-change-hook, allout-structure-added-hook) (allout-structure-deleted-hook, allout-structure-shifted-hook): * lisp/dirtrack.el (dirtrack-toggle, dirtrackp, dirtrack-debug-toggle) (dirtrack-debug): Move call to define-obsolete-variable-alias so it comes before the corresponding variable's definition.
* | Merge from emacs-24; up to 2012-04-21T14:12:27Z!sdl.web@gmail.comGlenn Morris2012-05-081-3/+6
|\|
| * * emacs-lisp/package.el (package-built-in-p): Handle `emacs' package.Chong Yidong2012-05-061-2/+5
| | | | | | | | Fixes: debbugs:11410
| * Fix package.el handling of local variables on first line.Chong Yidong2012-05-051-1/+1
| | | | | | | | | | * lisp/emacs-lisp/package.el (package-buffer-info): Avoid putting local variables into description.
* | * lisp/buff-menu.el (list-buffers--refresh): Mark `size' as right-align.Stefan Monnier2012-05-071-17/+43
| | | | | | | | | | | | | | * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header): Handle new :right-align column property. (tabulated-list-print-col): Idem, plus use `display' text-property to try and preserve alignment for variable pitch fonts.
* | Restore Buffer-menu-use-header-line functionality.Chong Yidong2012-05-071-10/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/tabulated-list.el: Add no-header-line alternative. (tabulated-list-use-header-line): New var. (tabulated-list-init-header): Use it. (tabulated-list-print-fake-header): New function. (tabulated-list-print): Use it. (tabulated-list-sort-button-map): Add non-header-line commands. (tabulated-list-init-header): Add column name property to basic labels as well. (tabulated-list-col-sort): Handle non-header-line button case. (tabulated-list--sort-by-column-name): Fix a corner case. * lisp/buff-menu.el (list-buffers--refresh): Handle Buffer-menu-use-header-line.
* | * lisp/buff-menu.el: Convert to Tabulated List mode.Chong Yidong2012-05-072-9/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (Buffer-menu-buffer+size-width): Make obsolete. (Buffer-menu-name-width, Buffer-menu-size-width): New variables. (Buffer-menu-mode-map): Inherit from tabulated-list-mode-map. (Buffer-menu-mode): Derive from tabulated-list-mode. Move command documentation into docstring of buffer-menu. (Buffer-menu-toggle-files-only): Add an informative message. (Buffer-menu-sort): Convert to alias for tabulated-list-sort. (Buffer-menu-buffer, Buffer-menu-beginning, Buffer-menu-mark) (Buffer-menu-unmark, Buffer-menu-backup-unmark) (Buffer-menu-delete, Buffer-menu-save, Buffer-menu-not-modified) (Buffer-menu-execute, Buffer-menu-select) (Buffer-menu-marked-buffers, Buffer-menu-toggle-read-only) (Buffer-menu-bury): Use Tabulated List machinery. (Buffer-menu-mouse-select, Buffer-menu-sort-by-column) (Buffer-menu-sort-button-map, Buffer-menu-make-sort-button): Deleted. (list-buffers--refresh): New function. (list-buffers-noselect): Use it. (tabulated-list-entry-size->, Buffer-menu--pretty-name) (Buffer-menu--pretty-file-name): New helper functions. * lisp/loadup.el: Preload tabulated-list. * lisp/emacs-lisp/tabulated-list.el (tabulated-list-sort): Rename from tabulated-list-sort-column. (tabulated-list-init-header): Add the initial aligning space even if tabulated-list-padding is zero. * src/lisp.mk (lisp): Update.
* | * lisp/emacs-lisp/cl-macs.el (cl-expr-contains): Handle cons cellsChristopher Schmidt2012-05-061-1/+6
| | | | | | | | | | | | whose cdr is not a cons cell correctly. Fixes: debbugs:11038
* | Improvements for Tabulated List mode.Chong Yidong2012-05-061-67/+178
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/tabulated-list.el (tabulated-list-format): Accept additional plist in column descriptors. (tabulated-list-init-header): Obey it. (tabulated-list-get-entry): New function. (tabulated-list-put-tag): Use it. Use string-width instead of length. (tabulated-list--column-number): New function. (tabulated-list-print): Use it. (tabulated-list-print-col): New function. Set `tabulated-list-column-name' property on each column's text. (tabulated-list-print-entry): Use it. (tabulated-list-delete-entry, tabulated-list-set-col): New functions. (tabulated-list-sort-column): New command. Fixes: debbugs:11337