emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: On removing some obsolete code from subr and core


From: Clément Pit--Claudel
Subject: Re: On removing some obsolete code from subr and core
Date: Sat, 5 Nov 2016 11:51:15 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0

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
>  
>  ;;;; 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
>  
>  ;;;; 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: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]