summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/derived.el
Commit message (Collapse)AuthorAgeFilesLines
* Prefer HTTPS to FTP and HTTP in documentationPaul Eggert2017-09-131-1/+1
| | | | | | | | | | | | | Most of this change is to boilerplate commentary such as license URLs. This change was prompted by ftp://ftp.gnu.org's going-away party, planned for November. Change these FTP URLs to https://ftp.gnu.org instead. Make similar changes for URLs to other organizations moving away from FTP. Also, change HTTP to HTTPS for URLs to gnu.org and fsf.org when this works, as this will further help defend against man-in-the-middle attacks (for this part I omitted the MS-DOS and MS-Windows sources and the test tarballs to keep the workload down). HTTPS is not fully working to lists.gnu.org so I left those URLs alone for now.
* Fix free var FOO-mode-{syntax,abbrev}-table warningsNoam Postavsky2017-01-191-0/+2
| | | | | | * lisp/emacs-lisp/derived.el (define-derived-mode): Unconditionally defvar the syntax and abbrev tables so that the compiler will know that they are dynamically bound variables (Bug#25446).
* Merge from origin/emacs-25Paul Eggert2017-01-011-1/+1
|\ | | | | | | | | 2e2a806 Fix copyright years by hand 5badc81 Update copyright year to 2017
| * Update copyright year to 2017Paul Eggert2016-12-311-1/+1
| | | | | | | | Run admin/update-copyright.
* | Minor fix for define-derived-modeGlenn Morris2016-12-121-5/+6
| | | | | | | | | | | | * lisp/emacs-lisp/derived.el (define-derived-mode): Do not let eg eval-defun reset the values of syntax or abbrev tables, since they might have been defined externally. (Bug#16160)
* | Add :after-hook facility to define-derived-mode.Alan Mackenzie2016-05-081-3/+12
|/ | | | | | | | | | | | | | | | | | | This allow a form to be evaluated _after_ a major mode's hooks have been run. It is needed to solve some problems in CC Mode, including bug #16759 and bug #23476. * lisp/emacs-lisp/derived.el (define-derived-mode): introduce the new argument `:after-hook', and generate the requisite code for it. (derived-mode-make-docstring): Take account of the possibility of :after-hook. * lisp/subr.el (delayed-after-hook-forms): New variable. (run-mode-hooks): As the last thing evaluate the forms in delayed-after-hook-forms. * doc/lispref/modes.texi (Derived Modes): Document :after-hook. (Mode Hooks): Document the new feature in run-mode-hooks. * etc/NEWS: Note the new feature.
* Comment on last change to define-derived-modeLeo Liu2016-03-011-1/+7
| | | | * lisp/emacs-lisp/derived.el (define-derived-mode): Add comment.
* * lisp/emacs-lisp/derived.el (define-derived-mode): Revert indent change.Leo Liu2016-02-271-2/+1
|
* Update copyright year to 2016Paul Eggert2016-01-011-1/+1
| | | | Run admin/update-copyright.
* Revert "Extend ‘format’ to translate curved quotes"Andreas Schwab2015-08-231-3/+2
| | | | This reverts commit 244c801689d2f7a80480d83cd7d092d4762ebe08.
* Extend ‘format’ to translate curved quotesPaul Eggert2015-08-141-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a followup to the recent doc string change, and deals with diagnostics and the like. This patch is more conservative than the doc string change, in that the behavior of ‘format’ changes only if its first arg contains curved quotes and the user prefers straight or grave quotes. (Come to think of it, perhaps we should be similarly conservative with doc strings too, but that can wait.) The upside of this conservatism is that existing usage is almost surely unaffected. The downside is that we'll eventually have to change Emacs's format strings to use curved quotes in places where the user might want curved quotes, but that's a simple and mechanical translation that I'm willing to do later. (Bug#21222) * doc/lispref/help.texi (Keys in Documentation): Move description of text-quoting-style from here ... * doc/lispref/strings.texi (Formatting Strings): ... to here, and describe new behavior of ‘format’. * etc/NEWS: Describe new behavior. * lisp/calc/calc-help.el (calc-describe-thing): * lisp/emacs-lisp/derived.el (derived-mode-make-docstring): * lisp/info.el (Info-find-index-name): Use ‘concat’ rather than ‘format’ to avoid misinterpretation of recently-added curved quotes. * src/doc.c (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2): Move from here ... * src/lisp.h: ... to here. * src/doc.c (text_quoting_style): New function. (Fsubstitute_command_keys): Use it. * src/editfns.c (Fformat): Implement new behavior. * src/lisp.h (enum text_quoting_style): New enum.
* ; * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):Glenn Morris2015-06-151-1/+2
| | | | Fix recent change.
* Fix quoting when making derived mode docstringPaul Eggert2015-06-151-3/+4
| | | | | | | * lisp/emacs-lisp/derived.el (derived-mode-make-docstring): Nest regexp-quote inside format, not the reverse. Problem reported by Artur Malabarba in: http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html
* Fix curved quotes in a few placesPaul Eggert2015-06-041-1/+2
| | | | | | | | | | | * lisp/calc/calc-misc.el (calc-help): Fix quoting. The strings in question are not doc strings, so this partially undoes the recent change that assumed they were doc strings. * lisp/cedet/srecode/srt-mode.el (srecode-macro-help): * lisp/info.el (Info-finder-find-node): Use curved quotes. * lisp/emacs-lisp/derived.el (derived-mode-make-docstring): Also allow curved quotes in doc strings.
* lisp/emacs-lisp/derived.el (define-derived-mode): Declare indent 3.Oleh Krehel2015-01-271-1/+2
| | | | | | | | | | | | Now, e.g. `indent-sexp' will produce: (define-derived-mode outline-mode text-mode "Outline" "Set ...") instead of: (define-derived-mode outline-mode text-mode "Outline" "Set ...")
* Update copyright year to 2015Paul Eggert2015-01-011-1/+1
| | | | Run admin/update-copyright.
* Replace "Maintainer: FSF" with the emacs-devel mailing addressGlenn Morris2014-02-091-1/+1
|
* Update copyright year to 2014 by running admin/update-copyright.Paul Eggert2014-01-011-1/+1
|
* Always defvar a mode's hook and provide a docstring.Stefan Monnier2013-05-271-4/+3
| | | | | | * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): * lisp/emacs-lisp/derived.el (define-derived-mode): Always defvar the mode hook and provide a docstring.
* Merge from emacs-24; up to 2012-12-06T01:39:03Z!monnier@iro.umontreal.caPaul Eggert2013-01-021-1/+2
|\
| * Update copyright notices for 2013.Paul Eggert2013-01-011-1/+2
| |
* | derived-mode-make-docstring tweak for bug#11277Glenn Morris2012-11-271-9/+25
|/ | | | | * lisp/emacs-lisp/derived.el (derived-mode-make-docstring): Don't mention "abbrev" or "syntax" if nil.
* Use declare forms, where possible, to mark obsolete functions.Chong Yidong2012-09-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/allout.el (allout-passphrase-hint-string): Likewise. (allout-init): Use a declare form to mark obsolete. * lisp/calendar/calendar.el (calendar-version): * lisp/calendar/icalendar.el (icalendar-extract-ical-from-buffer) (icalendar-convert-diary-to-ical): * lisp/cus-edit.el (custom-mode): * lisp/ansi-color.el (ansi-color-unfontify-region): * lisp/international/latin1-disp.el (latin1-char-displayable-p): * lisp/progmodes/cwarn.el (turn-on-cwarn-mode): * lisp/progmodes/which-func.el (which-func-update-1): Use define-obsolete-function-alias. * lisp/bookmark.el (bookmark-jump-noselect): Use a declare form to mark this function obsolete. * lisp/calendar/cal-x.el (calendar-two-frame-setup) (calendar-only-one-frame-setup, calendar-one-frame-setup): * lisp/calendar/calendar.el (american-calendar, european-calendar) (calendar-for-loop): * lisp/comint.el (comint-dynamic-simple-complete) (comint-dynamic-complete-as-filename, comint-unquote-filename): * lisp/desktop.el (desktop-load-default): * lisp/dired-x.el (dired-omit-here-always) (dired-hack-local-variables, dired-default-directory): * lisp/emacs-lisp/derived.el (derived-mode-class): * lisp/emacs-lisp/timer.el (timer-set-time-with-usecs): * lisp/emacs-lock.el (toggle-emacs-lock): * lisp/epa.el (epa-display-verify-result): * lisp/epg.el (epg-sign-keys, epg-start-sign-keys) (epg-passphrase-callback-function): * lisp/eshell/esh-util.el (eshell-for): * lisp/eshell/eshell.el (eshell-remove-from-window-buffer-names) (eshell-add-to-window-buffer-names): * lisp/files.el (locate-file-completion): * lisp/imenu.el (imenu-example--create-c-index) (imenu-example--create-lisp-index) (imenu-example--lisp-extract-index-name) (imenu-example--name-and-position): * lisp/international/mule-cmds.el (princ-list): * lisp/international/mule-diag.el (decode-codepage-char): * lisp/international/mule-util.el (detect-coding-with-priority): * lisp/iswitchb.el (iswitchb-read-buffer): * lisp/mail/mailalias.el (mail-complete): * lisp/mail/sendmail.el (mail-sent-via): * lisp/mouse.el (mouse-popup-menubar-stuff, mouse-popup-menubar) (mouse-major-mode-menu): * lisp/password-cache.el (password-read-and-add): * lisp/pcomplete.el (pcomplete-parse-comint-arguments): * lisp/progmodes/sh-script.el (sh-maybe-here-document): * lisp/replace.el (query-replace-regexp-eval): * lisp/savehist.el (savehist-load): * lisp/simple.el (choose-completion-delete-max-match): * lisp/term.el (term-dynamic-simple-complete): * lisp/vc/ediff-init.el (ediff-check-version): * lisp/vc/ediff-wind.el (ediff-choose-window-setup-function-automatically): * lisp/vc/vc.el (vc-diff-switches-list): * lisp/view.el (view-return-to-alist-update): Likewise. * lisp/iswitchb.el (iswitchb-read-buffer): Move code of iswitchb-define-mode-map here, and delete that obsolete function. * lisp/subr.el (eval-next-after-load, makehash, insert-string) (assoc-ignore-representation, assoc-ignore-case): Use declare to mark obsolete. (mode-line-inverse-video): Variable deleted. * lisp/emacs-lisp/byte-run.el (make-obsolete): Doc fix; emphasize that this applies to functions. * lisp/erc/erc.el (erc-send-command): Use define-obsolete-function-alias. * lisp/international/mule-util.el (string-to-sequence): Remove. * lisp/net/newst-backend.el (newsticker-cache-filename): * lisp/net/newst-treeview.el (newsticker-groups-filename): Fix incorrect obsolescence declaration. * lisp/net/snmp-mode.el (snmp-font-lock-keywords-3): Don't use obsolete font-lock-reference-face. * lisp/url/url-parse.el (url-recreate-url-attributes): * lisp/url/url-util.el (url-generate-unique-filename): Use declare to mark obsolete. * src/xdisp.c (mode_line_inverse_video): Delete obsolete variable.
* Reduce use of cl in lisp/emacs-lisp/.Stefan Monnier2012-06-101-7/+5
| | | | | | | | | * 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.
* Add 2012 to FSF copyright years for Emacs filesGlenn Morris2012-01-051-1/+1
|
* Replace fundamental-mode-hook with change-major-mode-after-body-hook.Chong Yidong2011-10-271-1/+1
| | | | | | | | | | | | * lisp/simple.el (fundamental-mode): * lisp/emacs-lisp/derived.el (define-derived-mode): Revert 2010-04-28 change introducing fundamental-mode-hook. * lisp/subr.el (change-major-mode-after-body-hook): New hook. (run-mode-hooks): Run it. * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): Use change-major-mode-before-body-hook.
* * lisp/emacs-lisp/derived.el (define-derived-mode): Doc fix.Glenn Morris2011-08-241-2/+2
|
* * lisp/emacs-lisp/lisp-mode.el (lisp-interaction-mode-abbrev-table):Stefan Monnier2011-07-051-1/+4
| | | | | | | | 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
* * lisp/emacs-lisp/derived.el (define-derived-mode): Make abbrev-tableStefan Monnier2011-07-011-2/+5
| | | | inherit from parent.
* lisp/emacs-lisp/derived.el: Don't warn about keymaps already `defconst'ed.Juanma Barranquero2011-03-221-1/+1
|
* Convert consecutive FSF copyright years to ranges.Glenn Morris2011-01-241-2/+1
|
* Nuke arch-tags.Glenn Morris2011-01-151-1/+0
|
* Merge from emacs-23Stefan Monnier2011-01-141-1/+1
|\
| * Add 2011 to FSF/AIST copyright years.Glenn Morris2011-01-021-1/+1
| |
* | Add "Package:" file headers to denote built-in packages.Chong Yidong2010-08-291-0/+1
| |
* | Make it possible to locally disable a globally enabled mode.Stefan Monnier2010-04-281-1/+1
|/ | | | | | | | | * simple.el (fundamental-mode): Run fundamental-mode-hook. * emacs-lisp/derived.el (define-derived-mode): Use fundamental-mode rather than kill-all-local-variables so it runs fundamental-mode-hook. * emacs-lisp/easy-mmode.el (define-globalized-minor-mode): Use fundamental-mode-hook to run MODE-enable-in-buffers earlier, so that subsequent hooks get a chance to disable it.
* Add 2010 to copyright years.Glenn Morris2010-01-131-1/+1
|
* * textmodes/tex-mode.el (tex-dvi-view-command)Dan Nicolaescu2009-10-261-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (tex-show-queue-command, tex-open-quote): * progmodes/ruby-mode.el (auto-mode-alist) (interpreter-mode-alist): Purecopy strings. * emacs-lisp/lisp-mode.el (emacs-lisp-mode-map): Purecopy item names. * emacs-lisp/derived.el (define-derived-mode): Purecopy the doc string for the hook, keymap and abbrev table. * emacs-lisp/byte-run.el (make-obsolete): Purecopy the current name. * x-dnd.el (x-dnd-xdnd-to-action): * startup.el (fancy-startup-text, fancy-about-text): Change to defconst from defvar. * ps-print.el (ps-page-dimensions-database): Purecopy initial value. * mouse.el (mouse-buffer-menu-mode-groups, x-fixed-font-alist): Purecopy initialization strings. * mail/sendmail.el (mail-header-separator) (mail-personal-alias-file): * mail/rmail.el (rmail-default-dont-reply-to-names) (rmail-ignored-headers, rmail-retry-ignored-headers) (rmail-highlighted-headers, rmail-secondary-file-directory) (rmail-secondary-file-regexp): * files.el (null-device, file-name-invalid-regexp) (locate-dominating-stop-dir-regexp) (inhibit-first-line-modes-regexps): Purecopy initialization strings. (interpreter-mode-alist): Use mapcar instead of mapc. * buff-menu.el (Buffer-menu-mode-map): Purecopy name. * bindings.el (mode-line-major-mode-keymap): Purecopy name. (completion-ignored-extensions): (debug-ignored-errors): Purecopy strings.
* (define-derived-mode): Fix paren typo in definition of abbrev table.Glenn Morris2009-09-181-4/+4
|
* (define-derived-mode): Give the mode's map, and syntax and abbrevGlenn Morris2009-09-101-5/+14
| | | | tables basic docs, if they don't have any.
* Add 2009 to copyright years.Glenn Morris2009-01-051-1/+1
|
* (define-derived-mode): Add `doc-string' declaration.John Paul Wallington2008-06-211-1/+2
|
* Switch to recommended form of GPLv3 permissions notice.Glenn Morris2008-05-061-6/+4
|
* Merge from emacs--rel--22Miles Bader2008-01-081-1/+1
|\ | | | | | | Revision: emacs@sv.gnu.org/emacs--devo--0--patch-987
| * Add 2008 to copyright years.Glenn Morris2008-01-071-1/+1
| |
* | Merge from emacs--rel--22Miles Bader2007-07-261-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | Patches applied: * emacs--rel--22 (patch 70-73) - Update from CVS 2007-07-25 Glenn Morris <rgm@gnu.org> * Relicense all FSF files to GPLv3 or later. Revision: emacs@sv.gnu.org/emacs--devo--0--patch-828
| * Switch license to GPLv3 or later.Glenn Morris2007-07-251-1/+1
| |
* | (define-derived-mode): Remove bogus compatibiity code.Stefan Monnier2007-05-251-5/+1
|/
* Add 2007 to copyright years.Glenn Morris2007-01-211-1/+1
|
* Update copyright years.Glenn Morris2006-12-071-1/+1
|