From 124c48619e2c68c497d9075e6e940142c174c77b Mon Sep 17 00:00:00 2001 From: Dmitry Gutov Date: Mon, 28 Mar 2016 03:51:21 +0300 Subject: Remove prog-indentation-context * lisp/progmodes/prog-mode.el: (prog-indentation-context) (prog-first-column, prog-widen): Remove, as discussed in http://lists.gnu.org/archive/html/emacs-devel/2016-03/msg01425.html. * doc/lispref/text.texi (Mode-Specific Indent): Remove references to them. * etc/NEWS: Ditto. * lisp/progmodes/python.el: (prog-widen, prog-first-column): Remove the compatibility aliases and all uses. Do not merge to master. --- lisp/progmodes/prog-mode.el | 68 --------------------------------------------- 1 file changed, 68 deletions(-) (limited to 'lisp/progmodes/prog-mode.el') diff --git a/lisp/progmodes/prog-mode.el b/lisp/progmodes/prog-mode.el index 718b33932ed..3f25a0c0647 100644 --- a/lisp/progmodes/prog-mode.el +++ b/lisp/progmodes/prog-mode.el @@ -49,53 +49,6 @@ map) "Keymap used for programming modes.") -(defvar prog-indentation-context nil - "When non-nil, provides context for indenting embedded code chunks. - -There are languages where part of the code is actually written in -a sub language, e.g., a Yacc/Bison or ANTLR grammar also consists -of plain C code. This variable enables the major mode of the -main language to use the indentation engine of the sub-mode for -lines in code chunks written in the sub-mode's language. - -When a major mode of such a main language decides to delegate the -indentation of a line/region to the indentation engine of the sub -mode, it should bind this variable to non-nil around the call. - -The non-nil value should be a list of the form: - - (FIRST-COLUMN (START . END) PREVIOUS-CHUNKS) - -FIRST-COLUMN is the column the indentation engine of the sub-mode -should use for top-level language constructs inside the code -chunk (instead of 0). - -START and END specify the region of the code chunk. END can be -nil, which stands for the value of `point-max'. The function -`prog-widen' uses this to restore restrictions imposed by the -sub-mode's indentation engine. - -PREVIOUS-CHUNKS, if non-nil, provides the indentation engine of -the sub-mode with the virtual context of the code chunk. Valid -values are: - - - A string containing text which the indentation engine can - consider as standing in front of the code chunk. To cache the - string's calculated syntactic information for repeated calls - with the same string, the sub-mode can add text-properties to - the string. - - A typical use case is for grammars with code chunks which are - to be indented like function bodies -- the string would contain - the corresponding function preamble. - - - A function, to be called with the start position of the current - chunk. It should return either the region of the previous chunk - as (PREV-START . PREV-END), or nil if there is no previous chunk. - - A typical use case are literate programming sources -- the - function would successively return the previous code chunks.") - (defun prog-indent-sexp (&optional defun) "Indent the expression after point. When interactively called with prefix, indent the enclosing defun @@ -109,27 +62,6 @@ instead." (end (progn (forward-sexp 1) (point)))) (indent-region start end nil)))) -(defun prog-first-column () - "Return the indentation column normally used for top-level constructs." - (or (car prog-indentation-context) 0)) - -(defun prog-widen () - "Remove restrictions (narrowing) from current code chunk or buffer. -This function should be used instead of `widen' in any function used -by the indentation engine to make it respect the value of -`prog-indentation-context'. - -This function (like `widen') is useful inside a -`save-restriction' to make the indentation correctly work when -narrowing is in effect." - (let ((chunk (cadr prog-indentation-context))) - (if chunk - ;; No call to `widen' is necessary here, as narrow-to-region - ;; changes (not just narrows) the existing restrictions - (narrow-to-region (car chunk) (or (cdr chunk) (point-max))) - (widen)))) - - (defvar-local prettify-symbols-alist nil "Alist of symbol prettifications. Each element looks like (SYMBOL . CHARACTER), where the symbol -- cgit v1.2.3