unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
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 --]

  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).