summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/lisp-mode.el
Commit message (Collapse)AuthorAgeFilesLines
...
* lisp/*.el: Silence lexical-binding warnings.Juanma Barranquero2013-08-091-7/+7
|
* lisp/emacs-lisp/lisp-mode.el: Support cl-def* expressions in imenu.Juanma Barranquero2013-08-021-2/+5
|
* Convert symbol prettification into minor mode and global minor mode.Juanma Barranquero2013-06-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | * etc/NEWS: Document new Prettify Symbols mode. * lisp/progmodes/prog-mode.el (prettify-symbols-alist): Rename from `prog-prettify-symbols', and make a local defvar instead of defcustom. (prettify-symbols--keywords): Rename from `prog-prettify-symbols-alist' and make a local defvar. (prettify-symbols--compose-symbol): Rename from `prog--prettify-font-lock-compose-symbol'. (prettify-symbols--make-keywords): Rename from `prog-prettify-font-lock-symbols-keywords' and simplify. (prog-prettify-install): Remove. (prettify-symbols-mode): New minor mode, based on `prog-prettify-install'. (turn-on-prettify-symbols-mode): New function. (global-prettify-symbols-mode): New globalized minor mode. * lisp/emacs-lisp/lisp-mode.el (lisp-mode-variables): * lisp/progmodes/cfengine.el (cfengine3-mode): * lisp/progmodes/perl-mode.el (perl-mode): Don't call `prog-prettify-install'; set `prettify-symbols-alist' instead.
* Add coding cookie to lisp/emacs-lisp/lisp-mode.el.Eli Zaretskii2013-06-151-1/+1
|
* lisp-mode font-lock fox for bug#14574Glenn Morris2013-06-111-2/+2
| | | | | * lisp/emacs-lisp/lisp-mode.el (lisp-mode-variables): Prettify after setting font-lock-defaults.
* Introduce and use prog-prettify-install.Ted Zlatanov2013-06-051-18/+4
|
* Symbol prettify in prog-mode; added to perl-mode, cfengine3-mode, and ↵Ted Zlatanov2013-06-051-2/+21
| | | | emacs-lisp-mode.
* * lisp/emacs-lisp/lisp-mode.el (eval-sexp-add-defvars): Expand macrosStefan Monnier2013-06-031-0/+1
| | | | | | eagerly. Fixes: debbugs:14422
* * lisp/emacs-lisp/lisp-mode.el (lisp-mode-shared-map): Inherit fromStefan Monnier2013-05-291-0/+1
| | | | prog-mode-map.
* * lisp/emacs-lisp/lisp-mode.el (eval-defun-2): Doc fix. Juri Linkov2013-05-061-7/+6
| | | | | | | | (eval-defun-2, eval-defun, eval-last-sexp, eval-last-sexp-1): Doc fix. (emacs-lisp-mode-map): Replace "minibuffer" with "echo area" in the help string. (Bug#12985) Fixes: debbugs:14344
* * lisp/emacs-lisp/lisp-mode.el (emacs-lisp-docstring-fill-column): MakeDmitry Gutov2013-03-241-0/+2
| | | | it safe-local.
* Don't use font-lock-syntax-table in lisp modes.Stefan Monnier2013-02-171-8/+4
| | | | | | | | * lisp/font-lock.el (lisp-font-lock-keywords-1, lisp-font-lock-keywords-2): Don't assume all identifier chars have syntax word. * lisp/emacs-lisp/lisp-mode.el (lisp-mode-variables): Remove bar-not-symbol. Adjust callers. (lisp-mode-variables): Don't set a font-lock-syntax-table.
* Fixes: debbugs:13556Andreas Schwab2013-01-261-4/+8
| | | | | | * emacs-lisp/lisp-mode.el (lisp-mode-variables): Add optional parameter BAR-NOT-SYMBOL to control syntax of | for font-lock. (lisp-mode): Pass t for it.
* * lisp-mode.el (emacs-lisp-mode-map): Add native profiler menu entries.Glenn Morris2013-01-191-0/+16
|
* Merge from emacs-24; up to 2012-12-11T09:51:12Z!dmantipov@yandex.ruGlenn Morris2013-01-191-1/+1
|\
| * Doc fixes related to "(declare (indent symbol))" (bug#13450)Glenn Morris2013-01-151-1/+1
| | | | | | | | | | | | | | * doc/lispref/macros.texi (Indenting Macros): Fix order of an indent symbol's arguments. * lisp/emacs-lisp/lisp-mode.el (lisp-indent-function): Doc fix.
* | Merge from emacs-24; up to 2012-12-06T01:39:03Z!monnier@iro.umontreal.caPaul Eggert2013-01-021-1/+1
|\|
| * Update copyright notices for 2013.Paul Eggert2013-01-011-1/+1
| |
* | Make eval-defun on a pre-defined defcustom call any :set functionGlenn Morris2012-12-081-13/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/lisp-mode.el (eval-defun-1): Doc fix. Respect a defcustom's :set function, if appropriate. (eval-defun): Doc fix. * doc/lispref/customize.texi (Variable Definitions): Mention eval-defun on a defcustom calls the :set function when appropriate. * etc/NEWS: Mention this. Fixes: debbugs:109
* | Fix last change.Chong Yidong2012-12-011-22/+23
| | | | | | | | | | | | | | | | * emacs-lisp/lisp-mode.el (lisp-current-defun-name): * progmodes/m4-mode.el (m4-current-defun-name): * progmodes/perl-mode.el (perl-current-defun-name): * textmodes/tex-mode.el (tex-current-defun-name): * textmodes/texinfo.el (texinfo-current-defun-name): Use save-excursion.
* | Modularize add-log-current-defun.Chong Yidong2012-12-011-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Suggested by Jari Aalto. * lisp/emacs-lisp/lisp-mode.el (lisp-current-defun-name): New. (lisp-mode-variables): Use it. * lisp/progmodes/cc-mode.el (c-common-init): * lisp/progmodes/cperl-mode.el (cperl-mode): Set a value for add-log-current-defun-function. * lisp/progmodes/m4-mode.el (m4-current-defun-name): New function. (m4-mode): Use it. * lisp/progmodes/perl-mode.el (perl-current-defun-name): New. (perl-mode): Use it. * lisp/progmodes/scheme.el (scheme-mode-variables, dsssl-mode): Use lisp-current-defun-name. * lisp/textmodes/tex-mode.el (tex-current-defun-name): New. (tex-common-initialization): Use it. * lisp/textmodes/texinfo.el (texinfo-current-defun-name): New. (texinfo-mode): Use it. * lisp/vc/add-log.el (add-log-current-defun-function): Doc fix. (add-log-current-defun): Move mode-specific code to other files. (add-log-lisp-like-modes, add-log-c-like-modes) (add-log-tex-like-modes): Variables deleted. Fixes: debbugs:2224
* | Convert several major modes to setq-local.Chong Yidong2012-12-011-32/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * emacs-lisp/lisp-mode.el (lisp-mode-variables, lisp-mode): * progmodes/autoconf.el (autoconf-mode): * progmodes/js.el (js-mode): * progmodes/make-mode.el (makefile-mode, makefile-makepp-mode) (makefile-bsdmake-mode, makefile-imake-mode, makefile-browse): * progmodes/perl-mode.el (perl-mode): * progmodes/sh-script.el (sh-mode, sh-set-shell): * textmodes/css-mode.el (css-mode): * textmodes/sgml-mode.el (html-mode, sgml-mode) (sgml-tags-invisible, sgml-guess-indent): * textmodes/tex-mode.el (tex-common-initialization) (latex-complete-bibtex-keys, tex-shell, tex-main-file) (doctex-mode, plain-tex-mode, latex-mode): * textmodes/texinfo.el (texinfo-mode): Use setq-local.
* | Revamp face-spec-set to be more analogous to setq for faces.Chong Yidong2012-11-251-15/+2
|/ | | | | | | | | | | | | | | | | | | | | | | * lisp/faces.el (face-spec-set): Change the third arg to specify whether this function is being called via defface, customize, or a third party. Set the appropriate symbol properties. Clear the override spec if setting via Custom. Initialize face if necessary. (face-spec-recalc): Allow theme faces to completely replace the defface spec, in the same way as custom faces (Bug#8454). * lisp/cus-edit.el (custom-face-set, custom-face-mark-to-save) (custom-face-reset-saved, custom-face-mark-to-reset-standard): Simplify by using the new arg to face-spec-set. * lisp/cus-face.el (custom-declare-face): Move face initialization to face-spec-set. (custom-theme-set-faces): Don't initialize the face name here, as that is now done in face-spec-set. * lisp/emacs-lisp/lisp-mode.el (eval-defun-1): When evaluating defface, reset face-override-spec too, and use custom-declare-face. Fixes: debbugs:4988
* New emacs-lisp-byte-code-mode; misc minor changes.Stefan Monnier2012-09-091-16/+61
| | | | | | | | | | | | | | | | * 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.
* * lisp/emacs-lisp/cl.el (cl-map-keymap-recursively, cl-map-intervals)Stefan Monnier2012-08-081-3/+6
| | | | | | (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.
* 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
* Autoload more carefully from Lisp. Follow aliases for function properties.Stefan Monnier2012-07-251-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* 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/byte-run.el (defmacro, defun): Move from C.Stefan Monnier2012-05-291-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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.
* * lisp/emacs-lisp/lisp-mode.el (eval-defun-2): Use `eval-sexp-add-defvars'Juri Linkov2012-05-271-2/+2
| | | | | | | | | | 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-261-2/+0
| | | | | | | | * 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/lisp-mode.el (doc-string-elt): Move those properties toStefan Monnier2012-05-171-20/+0
| | | | | | | | | | | | | | 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.
* Make Emacs Lisp mode use emacs-lisp-mode-abbrev-table.Chong Yidong2012-01-291-3/+9
| | | | | | | | | | * lisp/emacs-lisp/lisp-mode.el (emacs-lisp-mode-abbrev-table): Define and use in Emacs Lisp mode. (lisp-mode-abbrev-table): Add doc. (lisp-mode-variables): Don't set local-abbrev-table. (lisp-interaction-mode): Use emacs-lisp-mode-abbrev-table. Fixes: debbugs:9360
* Add 2012 to FSF copyright years for Emacs filesGlenn Morris2012-01-051-1/+1
|
* * lisp/emacs-lisp/lisp-mode.el (defmethod): Add doc-string-elt.Stefan Monnier2011-12-081-0/+1
| | | | Fixes: debbugs:10244
* Spelling fixes.Paul Eggert2011-11-191-1/+1
|
* Capitalize non-function content words in menu item strings.Juri Linkov2011-09-181-3/+3
| | | | | | | | | | | | | | | | | | | * lisp/buff-menu.el (Buffer-menu-mode-map): * lisp/dired.el (dired-mode-map): * lisp/emacs-lisp/lisp-mode.el (emacs-lisp-mode-map) (lisp-interaction-mode-map): * lisp/emacs-lisp/package.el (package-menu-mode-map): * lisp/epa.el (epa-key-list-mode-map): * lisp/menu-bar.el (menu-bar-showhide-tool-bar-menu) (menu-bar-options-menu): * lisp/outline.el (outline-mode-menu-bar-map): * lisp/vc/vc-bzr.el (vc-bzr-shelve-menu-map, vc-bzr-extra-menu-map): * lisp/vc/vc-dir.el (vc-dir-menu-map): * lisp/vc/vc-git.el (vc-git-stash-menu-map, vc-git-extra-menu-map): Capitalize non-function content words in menu item strings. * lisp/dired.el (dired-mode-map): Add menu item for `image-dired-dired-toggle-marked-thumbs'.
* Doc fixes related to lisp-indent-function (bug#9484)Glenn Morris2011-09-121-11/+17
| | | | | | | | * lisp/emacs-lisp/lisp-mode.el (lisp-indent-function): Doc fix. * lisp/progmodes/scheme.el (scheme-indent-function): Give it a doc string. * lisp/emacs-lisp/cl-indent.el (common-lisp-indent-function): Comment.
* * emacs-lisp/lisp-mode.el (eval-defun-1): Update the documentationLars Magne Ingebrigtsen2011-07-061-19/+19
| | | | | | | of faces when `M-C-x'-ing their definitions. Also clean up the code slightly. Fixes: debbugs:8378
* * lisp/emacs-lisp/lisp-mode.el (lisp-interaction-mode-abbrev-table):Stefan Monnier2011-07-051-1/+0
| | | | | | | | Let define-derived-mode define it. * lisp/emacs-lisp/derived.el (define-derived-mode): Try to avoid creating cycles of abbrev-table inheritance. Fixes: debbugs:8998
* * emacs-lisp/lisp-mode.el (emacs-lisp-mode-syntax-table): Unnest `let'.Deniz Dogan2011-06-281-40/+40
|
* * lisp/emacs-lisp/lisp-mode.el (eval-defun-2): Use eval-sexp-add-defvars.Stefan Monnier2011-04-151-1/+1
|
* Miscellanous cleanups in preparation for the merge.Stefan Monnier2011-04-011-1/+1
| | | | | | | | | | * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Remove debug statement. * lisp/emacs-lisp/bytecomp.el (byte-compile-single-version) (byte-compile-version-cond, byte-compile-delay-out) (byte-compile-delayed-out): Remove, unused. * src/bytecode.c (Fbyte_code): Revert to old calling convention. * src/lisp.h (COMPILED_PUSH_ARGS): Remove, unused.
* Fix C-M-x in lexbind mode. Misc tweaks.Stefan Monnier2011-03-241-1/+19
| | | | | | | | | | | | * lisp/startup.el: Convert to lexical-binding. Mark unused arguments. (command-line-1): Get rid of the "cl1-" prefix now that we use lexical scoping instead. * lisp/emacs-lisp/float-sup.el (pi): Leave it lexically scoped. * lisp/emacs-lisp/lisp-mode.el (eval-sexp-add-defvars): New fun. (eval-last-sexp-1): Use eval-sexp-add-defvars. * lisp/emacs-lisp/edebug.el (edebug-eval-defun): Use eval-sexp-add-defvars. * lisp/emacs-lisp/cconv.el (cconv--analyse-function): Fix `report-error/log-warning' mixup.
* * lisp/subr.el (save-window-excursion): New macro, moved from C.Stefan Monnier2011-02-191-1/+0
| | | | | | | | | | | | | | | | | * lisp/emacs-lisp/lisp-mode.el (save-window-excursion): Don't touch. * lisp/emacs-lisp/cconv.el (cconv-closure-convert-rec, cconv-analyse-form): Don't handle save-window-excursion any more. * lisp/emacs-lisp/bytecomp.el (interactive-p, save-window-excursion): Don't use the byte-code any more. (byte-compile-form): Check macro expansion was done. (byte-compile-save-window-excursion): Remove. * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Ignore save-window-excursion. Don't macroepand any more. * src/window.c (Fsave_window_excursion): Remove. Moved to Lisp. (syms_of_window): Don't defsubr it. * src/window.h (Fsave_window_excursion): Don't declare it. * src/bytecode.c (exec_byte_code): Inline Fsave_window_excursion.
* Merge from trunkStefan Monnier2011-02-011-2/+1
|\
| * Convert consecutive FSF copyright years to ranges.Glenn Morris2011-01-241-2/+1
| |
| * Merge from emacs-23Stefan Monnier2011-01-141-1/+1
| |\
| | * Add 2011 to FSF/AIST copyright years.Glenn Morris2011-01-021-1/+1
| | |