From: "Clément Pit--Claudel" <clement.pit@gmail.com>
To: emacs-devel@gnu.org
Subject: Re: On removing some obsolete code from subr and core
Date: Sat, 5 Nov 2016 11:51:15 -0400 [thread overview]
Message-ID: <4193b655-b9e7-50bf-aefb-8c3bf73d496b@gmail.com> (raw)
In-Reply-To: <878tsznpuq.fsf@udel.edu>
[-- Attachment #1.1: Type: text/plain, Size: 14176 bytes --]
It would be nice if we could set up completion to stop offering obsolete functions; this might help prevent them from getting added to new code.
On 2016-11-04 12:59, Mark Oteiza wrote:
>
> Hi,
>
> I was eyeing some code in subr.el that deprecated in 22, and was
> wondering if there is any concern with ripping it out. In particular,
> the bits included in the following patch.
>
> The parts for buffer_defaults is incomplete of course, there are many
> references to this structure. Just searching through, uses of
> buffer_defaults look very easy to remove, but I may be missing something
> subtle.
>
> I removed references/uses of these functions/aliases/default-variables
> in documentation and lisp in commit 2c6920a
>
> diff --git a/lisp/subr.el b/lisp/subr.el
> index fba43be..6a8911f 100644
> --- a/lisp/subr.el
> +++ b/lisp/subr.el
> @@ -1290,13 +1290,6 @@ posn-object-width-height
> \f
> ;;;; Obsolescent names for functions.
>
> -(define-obsolete-function-alias 'window-dot 'window-point "22.1")
> -(define-obsolete-function-alias 'set-window-dot 'set-window-point "22.1")
> -(define-obsolete-function-alias 'read-input 'read-string "22.1")
> -(define-obsolete-function-alias 'show-buffer 'set-window-buffer "22.1")
> -(define-obsolete-function-alias 'eval-current-buffer 'eval-buffer "22.1")
> -(define-obsolete-function-alias 'string-to-int 'string-to-number "22.1")
> -
> (make-obsolete 'forward-point "use (+ (point) N) instead." "23.1")
> (make-obsolete 'buffer-has-markers-at nil "24.3")
>
> @@ -1306,18 +1299,6 @@ 'string-to-int
> (make-obsolete 'string-to-multibyte "use `decode-coding-string'." "25.2")
> (make-obsolete 'string-as-multibyte "use `decode-coding-string'." "25.2")
>
> -(defun insert-string (&rest args)
> - "Mocklisp-compatibility insert function.
> -Like the function `insert' except that any argument that is a number
> -is converted into a string by expressing it in decimal."
> - (declare (obsolete insert "22.1"))
> - (dolist (el args)
> - (insert (if (integerp el) (number-to-string el) el))))
> -
> -(defun makehash (&optional test)
> - (declare (obsolete make-hash-table "22.1"))
> - (make-hash-table :test (or test 'eql)))
> -
> (defun log10 (x)
> "Return (log X 10), the log base 10 of X."
> (declare (obsolete log "24.4"))
> @@ -1319,45 +1319,6 @@ 'unfocus-frame
> \f
> ;;;; Obsolescence declarations for variables, and aliases.
>
> -;; Special "default-FOO" variables which contain the default value of
> -;; the "FOO" variable are nasty. Their implementation is brittle, and
> -;; slows down several unrelated variable operations; furthermore, they
> -;; can lead to really odd behavior if you decide to make them
> -;; buffer-local.
> -
> -;; Not used at all in Emacs, last time I checked:
> -(make-obsolete-variable 'default-mode-line-format
> - "use (setq-default mode-line-format) or (default-value mode-line-format) instead"
> - "23.2")
> -(make-obsolete-variable 'default-header-line-format 'header-line-format "23.2")
> -(make-obsolete-variable 'default-line-spacing 'line-spacing "23.2")
> -(make-obsolete-variable 'default-abbrev-mode 'abbrev-mode "23.2")
> -(make-obsolete-variable 'default-ctl-arrow 'ctl-arrow "23.2")
> -(make-obsolete-variable 'default-truncate-lines 'truncate-lines "23.2")
> -(make-obsolete-variable 'default-left-margin 'left-margin "23.2")
> -(make-obsolete-variable 'default-tab-width 'tab-width "23.2")
> -(make-obsolete-variable 'default-case-fold-search 'case-fold-search "23.2")
> -(make-obsolete-variable 'default-left-margin-width 'left-margin-width "23.2")
> -(make-obsolete-variable 'default-right-margin-width 'right-margin-width "23.2")
> -(make-obsolete-variable 'default-left-fringe-width 'left-fringe-width "23.2")
> -(make-obsolete-variable 'default-right-fringe-width 'right-fringe-width "23.2")
> -(make-obsolete-variable 'default-fringes-outside-margins 'fringes-outside-margins "23.2")
> -(make-obsolete-variable 'default-scroll-bar-width 'scroll-bar-width "23.2")
> -(make-obsolete-variable 'default-vertical-scroll-bar 'vertical-scroll-bar "23.2")
> -(make-obsolete-variable 'default-indicate-empty-lines 'indicate-empty-lines "23.2")
> -(make-obsolete-variable 'default-indicate-buffer-boundaries 'indicate-buffer-boundaries "23.2")
> -(make-obsolete-variable 'default-fringe-indicator-alist 'fringe-indicator-alist "23.2")
> -(make-obsolete-variable 'default-fringe-cursor-alist 'fringe-cursor-alist "23.2")
> -(make-obsolete-variable 'default-scroll-up-aggressively 'scroll-up-aggressively "23.2")
> -(make-obsolete-variable 'default-scroll-down-aggressively 'scroll-down-aggressively "23.2")
> -(make-obsolete-variable 'default-fill-column 'fill-column "23.2")
> -(make-obsolete-variable 'default-cursor-type 'cursor-type "23.2")
> -(make-obsolete-variable 'default-cursor-in-non-selected-windows 'cursor-in-non-selected-windows "23.2")
> -(make-obsolete-variable 'default-buffer-file-coding-system 'buffer-file-coding-system "23.2")
> -(make-obsolete-variable 'default-major-mode 'major-mode "23.2")
> -(make-obsolete-variable 'default-enable-multibyte-characters
> - "use enable-multibyte-characters or set-buffer-multibyte instead" "23.2")
> -
> (make-obsolete-variable 'define-key-rebound-commands nil "23.2")
> (make-obsolete-variable 'redisplay-end-trigger-functions 'jit-lock-register "23.1")
> (make-obsolete-variable 'deferred-action-list 'post-command-hook "24.1")
> diff --git a/src/buffer.c b/src/buffer.c
> index 3d205bb..aa556b7 100644
> --- a/src/buffer.c
> +++ b/src/buffer.c
> @@ -5413,144 +5413,6 @@ syms_of_buffer (void)
> Fput (Qprotected_field, Qerror_message,
> build_pure_c_string ("Attempt to modify a protected field"));
>
> - DEFVAR_BUFFER_DEFAULTS ("default-mode-line-format",
> - mode_line_format,
> - doc: /* Default value of `mode-line-format' for buffers that don't override it.
> -This is the same as (default-value \\='mode-line-format). */);
> -
> - DEFVAR_BUFFER_DEFAULTS ("default-header-line-format",
> - header_line_format,
> - doc: /* Default value of `header-line-format' for buffers that don't override it.
> -This is the same as (default-value \\='header-line-format). */);
> -
> - DEFVAR_BUFFER_DEFAULTS ("default-cursor-type", cursor_type,
> - doc: /* Default value of `cursor-type' for buffers that don't override it.
> -This is the same as (default-value \\='cursor-type). */);
> -
> - DEFVAR_BUFFER_DEFAULTS ("default-line-spacing",
> - extra_line_spacing,
> - doc: /* Default value of `line-spacing' for buffers that don't override it.
> -This is the same as (default-value \\='line-spacing). */);
> -
> - DEFVAR_BUFFER_DEFAULTS ("default-cursor-in-non-selected-windows",
> - cursor_in_non_selected_windows,
> - doc: /* Default value of `cursor-in-non-selected-windows'.
> -This is the same as (default-value \\='cursor-in-non-selected-windows). */);
> -
> - DEFVAR_BUFFER_DEFAULTS ("default-abbrev-mode",
> - abbrev_mode,
> - doc: /* Default value of `abbrev-mode' for buffers that do not override it.
> -This is the same as (default-value \\='abbrev-mode). */);
> -
> - DEFVAR_BUFFER_DEFAULTS ("default-ctl-arrow",
> - ctl_arrow,
> - doc: /* Default value of `ctl-arrow' for buffers that do not override it.
> -This is the same as (default-value \\='ctl-arrow). */);
> -
> - DEFVAR_BUFFER_DEFAULTS ("default-enable-multibyte-characters",
> - enable_multibyte_characters,
> - doc: /* Default value of `enable-multibyte-characters' for buffers not overriding it.
> -This is the same as (default-value \\='enable-multibyte-characters). */);
> -
> - DEFVAR_BUFFER_DEFAULTS ("default-buffer-file-coding-system",
> - buffer_file_coding_system,
> - doc: /* Default value of `buffer-file-coding-system' for buffers not overriding it.
> -This is the same as (default-value \\='buffer-file-coding-system). */);
> -
> - DEFVAR_BUFFER_DEFAULTS ("default-truncate-lines",
> - truncate_lines,
> - doc: /* Default value of `truncate-lines' for buffers that do not override it.
> -This is the same as (default-value \\='truncate-lines). */);
> -
> - DEFVAR_BUFFER_DEFAULTS ("default-fill-column",
> - fill_column,
> - doc: /* Default value of `fill-column' for buffers that do not override it.
> -This is the same as (default-value \\='fill-column). */);
> -
> - DEFVAR_BUFFER_DEFAULTS ("default-left-margin",
> - left_margin,
> - doc: /* Default value of `left-margin' for buffers that do not override it.
> -This is the same as (default-value \\='left-margin). */);
> -
> - DEFVAR_BUFFER_DEFAULTS ("default-tab-width",
> - tab_width,
> - doc: /* Default value of `tab-width' for buffers that do not override it.
> -NOTE: This controls the display width of a TAB character, and not
> -the size of an indentation step.
> -This is the same as (default-value \\='tab-width). */);
> -
> - DEFVAR_BUFFER_DEFAULTS ("default-case-fold-search",
> - case_fold_search,
> - doc: /* Default value of `case-fold-search' for buffers that don't override it.
> -This is the same as (default-value \\='case-fold-search). */);
> -
> - DEFVAR_BUFFER_DEFAULTS ("default-left-margin-width",
> - left_margin_cols,
> - doc: /* Default value of `left-margin-width' for buffers that don't override it.
> -This is the same as (default-value \\='left-margin-width). */);
> -
> - DEFVAR_BUFFER_DEFAULTS ("default-right-margin-width",
> - right_margin_cols,
> - doc: /* Default value of `right-margin-width' for buffers that don't override it.
> -This is the same as (default-value \\='right-margin-width). */);
> -
> - DEFVAR_BUFFER_DEFAULTS ("default-left-fringe-width",
> - left_fringe_width,
> - doc: /* Default value of `left-fringe-width' for buffers that don't override it.
> -This is the same as (default-value \\='left-fringe-width). */);
> -
> - DEFVAR_BUFFER_DEFAULTS ("default-right-fringe-width",
> - right_fringe_width,
> - doc: /* Default value of `right-fringe-width' for buffers that don't override it.
> -This is the same as (default-value \\='right-fringe-width). */);
> -
> - DEFVAR_BUFFER_DEFAULTS ("default-fringes-outside-margins",
> - fringes_outside_margins,
> - doc: /* Default value of `fringes-outside-margins' for buffers that don't override it.
> -This is the same as (default-value \\='fringes-outside-margins). */);
> -
> - DEFVAR_BUFFER_DEFAULTS ("default-scroll-bar-width",
> - scroll_bar_width,
> - doc: /* Default value of `scroll-bar-width' for buffers that don't override it.
> -This is the same as (default-value \\='scroll-bar-width). */);
> -
> - DEFVAR_BUFFER_DEFAULTS ("default-vertical-scroll-bar",
> - vertical_scroll_bar_type,
> - doc: /* Default value of `vertical-scroll-bar' for buffers that don't override it.
> -This is the same as (default-value \\='vertical-scroll-bar). */);
> -
> - DEFVAR_BUFFER_DEFAULTS ("default-indicate-empty-lines",
> - indicate_empty_lines,
> - doc: /* Default value of `indicate-empty-lines' for buffers that don't override it.
> -This is the same as (default-value \\='indicate-empty-lines). */);
> -
> - DEFVAR_BUFFER_DEFAULTS ("default-indicate-buffer-boundaries",
> - indicate_buffer_boundaries,
> - doc: /* Default value of `indicate-buffer-boundaries' for buffers that don't override it.
> -This is the same as (default-value \\='indicate-buffer-boundaries). */);
> -
> - DEFVAR_BUFFER_DEFAULTS ("default-fringe-indicator-alist",
> - fringe_indicator_alist,
> - doc: /* Default value of `fringe-indicator-alist' for buffers that don't override it.
> -This is the same as (default-value \\='fringe-indicator-alist). */);
> -
> - DEFVAR_BUFFER_DEFAULTS ("default-fringe-cursor-alist",
> - fringe_cursor_alist,
> - doc: /* Default value of `fringe-cursor-alist' for buffers that don't override it.
> -This is the same as (default-value \\='fringe-cursor-alist). */);
> -
> - DEFVAR_BUFFER_DEFAULTS ("default-scroll-up-aggressively",
> - scroll_up_aggressively,
> - doc: /* Default value of `scroll-up-aggressively'.
> -This value applies in buffers that don't have their own local values.
> -This is the same as (default-value \\='scroll-up-aggressively). */);
> -
> - DEFVAR_BUFFER_DEFAULTS ("default-scroll-down-aggressively",
> - scroll_down_aggressively,
> - doc: /* Default value of `scroll-down-aggressively'.
> -This value applies in buffers that don't have their own local values.
> -This is the same as (default-value \\='scroll-down-aggressively). */);
> -
> DEFVAR_PER_BUFFER ("header-line-format",
> &BVAR (current_buffer, header_line_format),
> Qnil,
> @@ -5621,9 +5483,6 @@ A string is printed verbatim in the mode line except for %-constructs:
> %% -- print %. %- -- print infinitely many dashes.
> Decimal digits after the % specify field width to which to pad. */);
>
> - DEFVAR_BUFFER_DEFAULTS ("default-major-mode", major_mode,
> - doc: /* Value of `major-mode' for new buffers. */);
> -
> DEFVAR_PER_BUFFER ("major-mode", &BVAR (current_buffer, major_mode),
> Qsymbolp,
> doc: /* Symbol for current buffer's major mode.
> diff --git a/src/lisp.h b/src/lisp.h
> index 2e46592..aaa4423 100644
> --- a/src/lisp.h
> +++ b/src/lisp.h
> @@ -3035,12 +3035,6 @@ extern void defvar_kboard (struct Lisp_Kboard_Objfwd *, const char *, int);
> defvar_int (&i_fwd, lname, &globals.f_ ## vname); \
> } while (false)
>
> -#define DEFVAR_BUFFER_DEFAULTS(lname, vname, doc) \
> - do { \
> - static struct Lisp_Objfwd o_fwd; \
> - defvar_lisp_nopro (&o_fwd, lname, &BVAR (&buffer_defaults, vname)); \
> - } while (false)
> -
> #define DEFVAR_KBOARD(lname, vname, doc) \
> do { \
> static struct Lisp_Kboard_Objfwd ko_fwd; \
>
>
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2016-11-05 15:51 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-04 16:59 On removing some obsolete code from subr and core Mark Oteiza
2016-11-05 8:24 ` John Wiegley
2016-11-05 8:34 ` Eli Zaretskii
2016-11-05 13:50 ` Mark Oteiza
2016-11-05 17:59 ` Eli Zaretskii
2016-11-06 16:58 ` Mark Oteiza
2016-11-05 17:50 ` Stefan Monnier
2016-11-06 17:05 ` Mark Oteiza
2016-11-06 22:32 ` Stefan Monnier
2016-11-07 0:32 ` Mark Oteiza
2016-11-07 3:35 ` Eli Zaretskii
2016-11-07 4:24 ` Mark Oteiza
2016-11-07 15:11 ` Eli Zaretskii
2016-11-07 20:08 ` Mark Oteiza
2016-11-07 20:13 ` Eli Zaretskii
2016-11-07 20:25 ` Mark Oteiza
2016-11-08 6:51 ` Noam Postavsky
2016-11-07 20:31 ` Stefan Monnier
2016-11-07 21:32 ` Johan Bockgård
2016-11-08 13:00 ` Stefan Monnier
2016-11-08 19:49 ` John Wiegley
2016-11-05 15:51 ` Clément Pit--Claudel [this message]
2016-11-05 15:52 ` Clément Pit--Claudel
2016-11-05 16:42 ` Dmitry Gutov
2016-11-05 17:23 ` Clément Pit--Claudel
2016-11-05 17:31 ` Dmitry Gutov
2016-11-05 18:03 ` Clément Pit--Claudel
2016-11-05 15:57 ` Clément Pit--Claudel
2016-11-05 17:56 ` Stefan Monnier
2016-11-05 19:14 ` Clément Pit--Claudel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4193b655-b9e7-50bf-aefb-8c3bf73d496b@gmail.com \
--to=clement.pit@gmail.com \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).