Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs into feature/pgtk

This commit is contained in:
Yuuki Harano 2021-02-06 19:11:51 +09:00
commit afcd13783e
356 changed files with 7021 additions and 5419 deletions

File diff suppressed because it is too large Load diff

View file

@ -1,4 +1,4 @@
;;; admin.el --- utilities for Emacs administration
;;; admin.el --- utilities for Emacs administration -*- lexical-binding: t; -*-
;; Copyright (C) 2001-2021 Free Software Foundation, Inc.
@ -254,7 +254,7 @@ ROOT should be the root of an Emacs source tree."
(search-forward "INFO_COMMON = ")
(let ((start (point)))
(end-of-line)
(while (and (looking-back "\\\\")
(while (and (looking-back "\\\\" (- (point) 2))
(zerop (forward-line 1)))
(end-of-line))
(append (split-string (replace-regexp-in-string
@ -930,13 +930,19 @@ changes (in a non-trivial way). This function does not check for that."
(interactive
(list (progn
(require 'debbugs-gnu)
(defvar debbugs-gnu-emacs-blocking-reports)
(defvar debbugs-gnu-emacs-current-release)
(completing-read
"Emacs release: "
(mapcar #'identity debbugs-gnu-emacs-blocking-reports)
nil t debbugs-gnu-emacs-current-release))))
(require 'debbugs-gnu)
(declare-function debbugs-get-status "debbugs" (&rest bug-numbers))
(declare-function debbugs-get-attribute "debbugs" (bug-or-message attribute))
(require 'reporter)
(declare-function mail-position-on-field "sendmail" (field &optional soft))
(declare-function mail-text "sendmail" ())
(when-let ((id (alist-get version debbugs-gnu-emacs-blocking-reports
nil nil #'string-equal))
@ -958,11 +964,11 @@ changes (in a non-trivial way). This function does not check for that."
(insert "
The following bugs are regarded as release-blocking for Emacs " version ".
People are encouraged to work on them with priority.\n\n")
(dolist (_ blockedby-status)
(unless (equal (debbugs-get-attribute _ 'pending) "done")
(dolist (i blockedby-status)
(unless (equal (debbugs-get-attribute i 'pending) "done")
(insert (format "bug#%d %s\n"
(debbugs-get-attribute _ 'id)
(debbugs-get-attribute _ 'subject)))))
(debbugs-get-attribute i 'id)
(debbugs-get-attribute i 'subject)))))
(insert "
If you use the debbugs package from GNU ELPA, you can apply the
following form to see all bugs which block a given release:

View file

@ -1,4 +1,4 @@
;;; authors.el --- utility for maintaining Emacs's AUTHORS file
;;; authors.el --- utility for maintaining Emacs's AUTHORS file -*- lexical-binding: t; -*-
;; Copyright (C) 2000-2021 Free Software Foundation, Inc.
@ -1254,7 +1254,7 @@ Additionally, for these logs we apply the `lax' elements of
(defun authors-disambiguate-file-name (fullname)
"Convert FULLNAME to an unambiguous relative-name."
(let ((relname (file-name-nondirectory fullname))
dir parent)
dir)
(if (and (member relname authors-ambiguous-files)
;; Try to identify the top-level directory.
;; FIXME should really use ROOT from M-x authors.
@ -1266,8 +1266,8 @@ Additionally, for these logs we apply the `lax' elements of
;; I think it looks weird to see eg "lisp/simple.el".
;; But for eg Makefile.in, we do want to say "lisp/Makefile.in".
(if (and (string-equal "lisp"
(setq parent (file-name-nondirectory
(directory-file-name dir))))
(file-name-nondirectory
(directory-file-name dir)))
;; TODO better to simply have hard-coded list?
;; Only really Makefile.in where this applies.
(not (file-exists-p
@ -1569,9 +1569,9 @@ and changed by AUTHOR."
(cons (cons file (cdr (assq :changed actions)))
changed-list))))))
(if wrote-list
(setq wrote-list (sort wrote-list 'string-lessp)))
(setq wrote-list (sort wrote-list #'string-lessp)))
(if cowrote-list
(setq cowrote-list (sort cowrote-list 'string-lessp)))
(setq cowrote-list (sort cowrote-list #'string-lessp)))
(when changed-list
(setq changed-list (sort changed-list
(lambda (a b)
@ -1579,7 +1579,7 @@ and changed by AUTHOR."
(string-lessp (car a) (car b))
(> (cdr a) (cdr b))))))
(setq nchanged (length changed-list))
(setq changed-list (mapcar 'car changed-list)))
(setq changed-list (mapcar #'car changed-list)))
(if (> (- nchanged authors-many-files) 2)
(setcdr (nthcdr authors-many-files changed-list)
(list (format "and %d other files" (- nchanged authors-many-files)))))
@ -1688,12 +1688,12 @@ list of their contributions.\n")
(when authors-invalid-file-names
(insert "Unrecognized file entries found:\n\n")
(mapc (lambda (f) (if (not (string-match "^[A-Za-z]+$" f)) (insert f "\n")))
(sort authors-invalid-file-names 'string-lessp)))
(sort authors-invalid-file-names #'string-lessp)))
(when authors-ignored-names
(insert "\n\nThese authors were ignored:\n\n"
(mapconcat
'identity
(sort authors-ignored-names 'string-lessp) "\n")))
#'identity
(sort authors-ignored-names #'string-lessp) "\n")))
(goto-char (point-min))
(compilation-mode)
(message "Errors were found. See buffer %s" (buffer-name))))

View file

@ -1,4 +1,4 @@
;;; cus-test.el --- tests for custom types and load problems
;;; cus-test.el --- tests for custom types and load problems -*- lexical-binding: t; -*-
;; Copyright (C) 1998, 2000, 2002-2021 Free Software Foundation, Inc.
@ -112,6 +112,7 @@ Names should be as they appear in loaddefs.el.")
;; This avoids a hang of `cus-test-apropos' in 21.2.
;; (add-to-list 'cus-test-skip-list 'sh-alias-alist)
(defvar viper-mode)
(or noninteractive
;; Never Viperize.
(setq viper-mode nil))
@ -196,7 +197,7 @@ The detected problematic options are stored in `cus-test-errors'."
mismatch)
(when (default-boundp symbol)
(push (funcall get symbol) values)
(push (eval (car (get symbol 'standard-value))) values))
(push (eval (car (get symbol 'standard-value)) t) values))
(if (boundp symbol)
(push (symbol-value symbol) values))
;; That does not work.
@ -222,7 +223,7 @@ The detected problematic options are stored in `cus-test-errors'."
(get symbol 'standard-value))))
(and (consp c-value)
(boundp symbol)
(not (equal (eval (car c-value)) (symbol-value symbol)))
(not (equal (eval (car c-value) t) (symbol-value symbol)))
(add-to-list 'cus-test-vars-with-changed-state symbol)))
(if mismatch
@ -239,7 +240,7 @@ The detected problematic options are stored in `cus-test-errors'."
(defun cus-test-cus-load-groups (&optional cus-load)
"Return a list of current custom groups.
If CUS-LOAD is non-nil, include groups from cus-load.el."
(append (mapcar 'cdr custom-current-group-alist)
(append (mapcar #'cdr custom-current-group-alist)
(if cus-load
(with-temp-buffer
(insert-file-contents (locate-library "cus-load.el"))
@ -290,7 +291,7 @@ currently defined groups."
"Call `custom-load-symbol' on all atoms."
(interactive)
(if noninteractive (let (noninteractive) (require 'dunnet)))
(mapatoms 'custom-load-symbol)
(mapatoms #'custom-load-symbol)
(run-hooks 'cus-test-after-load-libs-hook))
(defmacro cus-test-load-1 (&rest body)
@ -346,7 +347,7 @@ Optional argument ALL non-nil means list all (non-obsolete) Lisp files."
(prog1
;; Hack to remove leading "./".
(mapcar (lambda (e) (substring e 2))
(apply 'process-lines find-program
(apply #'process-lines find-program
"." "-name" "obsolete" "-prune" "-o"
"-name" "[^.]*.el" ; ignore .dir-locals.el
(if all
@ -542,7 +543,7 @@ in the Emacs source directory."
(message "No options not loaded by custom-load-symbol found")
(message "The following options were not loaded by custom-load-symbol:")
(cus-test-message
(sort cus-test-vars-not-cus-loaded 'string<)))
(sort cus-test-vars-not-cus-loaded #'string<)))
(dolist (o groups-loaded)
(setq groups-not-loaded (delete o groups-not-loaded)))
@ -550,7 +551,7 @@ in the Emacs source directory."
(if (not groups-not-loaded)
(message "No groups not in cus-load.el found")
(message "The following groups are not in cus-load.el:")
(cus-test-message (sort groups-not-loaded 'string<)))))
(cus-test-message (sort groups-not-loaded #'string<)))))
(provide 'cus-test)

View file

@ -1,4 +1,4 @@
;;; find-gc.el --- detect functions that call the garbage collector
;;; find-gc.el --- detect functions that call the garbage collector -*- lexical-binding: t; -*-
;; Copyright (C) 1992, 2001-2021 Free Software Foundation, Inc.
@ -42,14 +42,14 @@ Each entry has the form (FUNCTION . FUNCTIONS-THAT-CALL-IT).")
Each entry has the form (FUNCTION . FUNCTIONS-IT-CALLS).")
;;; Functions on this list are safe, even if they appear to be able
;;; to call the target.
;; Functions on this list are safe, even if they appear to be able
;; to call the target.
(defvar find-gc-noreturn-list '(Fsignal Fthrow wrong_type_argument))
;;; This was originally generated directory-files, but there were
;;; too many files there that were not actually compiled. The
;;; list below was created for a HP-UX 7.0 system.
;; This was originally generated directory-files, but there were
;; too many files there that were not actually compiled. The
;; list below was created for a HP-UX 7.0 system.
(defvar find-gc-source-files
'("dispnew.c" "scroll.c" "xdisp.c" "window.c"
@ -76,11 +76,11 @@ Also store it in `find-gc-unsafe-list'."
(lambda (x y)
(string-lessp (car x) (car y))))))
;;; This does a depth-first search to find all functions that can
;;; ultimately call the function "target". The result is an a-list
;;; in find-gc-unsafe-list; the cars are the unsafe functions, and the cdrs
;;; are (one of) the unsafe functions that these functions directly
;;; call.
;; This does a depth-first search to find all functions that can
;; ultimately call the function "target". The result is an a-list
;; in find-gc-unsafe-list; the cars are the unsafe functions, and the cdrs
;; are (one of) the unsafe functions that these functions directly
;; call.
(defun find-unsafe-funcs (target)
(setq find-gc-unsafe-list (list (list target)))
@ -134,7 +134,8 @@ Also store it in `find-gc-unsafe-list'."
(setcdr entry (cons name (cdr entry)))))))))))))
(defun trace-use-tree ()
(setq find-gc-subrs-callers (mapcar 'list (mapcar 'car find-gc-subrs-called)))
(setq find-gc-subrs-callers
(mapcar #'list (mapcar #'car find-gc-subrs-called)))
(let ((ptr find-gc-subrs-called)
p2 found)
(while ptr

View file

@ -1,4 +1,4 @@
;;; gitmerge.el --- help merge one Emacs branch into another
;;; gitmerge.el --- help merge one Emacs branch into another -*- lexical-binding: t; -*-
;; Copyright (C) 2010-2021 Free Software Foundation, Inc.
@ -390,7 +390,7 @@ is nil, only the single commit BEG is merged."
(if end "s were " " was ")
"skipped:\n\n")
""))
(apply 'call-process "git" nil t nil "log" "--oneline"
(apply #'call-process "git" nil t nil "log" "--oneline"
(if end (list (concat beg "~.." end))
`("-1" ,beg)))
(insert "\n")
@ -422,7 +422,7 @@ MISSING must be a list of SHA1 strings."
(unless end
(setq end beg))
(unless (zerop
(apply 'call-process "git" nil t nil "merge" "--no-ff"
(apply #'call-process "git" nil t nil "merge" "--no-ff"
(append (when skip '("-s" "ours"))
`("-m" ,commitmessage ,end))))
(gitmerge-write-missing missing from)

View file

@ -927,9 +927,9 @@ Manual}). For customizations, see the Custom group @code{time-stamp}.
If you have made extensive changes to a file-visiting buffer and
then change your mind, you can @dfn{revert} the changes and go back to
the saved version of the file. To do this, type @kbd{M-x
revert-buffer}. Since reverting unintentionally could lose a lot of
work, Emacs asks for confirmation first.
the saved version of the file. To do this, type @kbd{C-x g}. Since
reverting unintentionally could lose a lot of work, Emacs asks for
confirmation first.
The @code{revert-buffer} command tries to position point in such a
way that, if the file was edited only slightly, you will be at

View file

@ -2027,6 +2027,13 @@ highlighting:
@item lazy-highlight-initial-delay
@vindex lazy-highlight-initial-delay
Time in seconds to wait before highlighting visible matches.
Applies only if the search string is less than
@code{lazy-highlight-no-delay-length} characters long.
@item lazy-highlight-no-delay-length
@vindex lazy-highlight-no-delay-length
For search strings at least as long as the value of this variable,
lazy highlighting of matches starts immediately.
@item lazy-highlight-interval
@vindex lazy-highlight-interval

View file

@ -1799,15 +1799,19 @@ pairs. The following properties are supported:
The value should be a function to add annotations in the completions
buffer. This function must accept one argument, a completion, and
should either return @code{nil} or a string to be displayed next to
the completion.
the completion. Unless this function puts own face on the annotation
suffix string, the @code{completions-annotations} face is added by
default to that string.
@item :affixation-function
The value should be a function to add prefixes and suffixes to
completions. This function must accept one argument, a list of
completions, and should return such a list of completions where
each element contains a list of three elements: a completion,
a prefix string, and a suffix string. This function takes priority
over @code{:annotation-function}.
a prefix string, and a suffix string. When this function
returns a list of two elements, it is interpreted as a list
of a completion and a suffix string like in @code{:annotation-function}.
This function takes priority over @code{:annotation-function}.
@item :exit-function
The value should be a function to run after performing completion.
@ -1907,6 +1911,9 @@ The value should be a function for @dfn{annotating} completions. The
function should take one argument, @var{string}, which is a possible
completion. It should return a string, which is displayed after the
completion @var{string} in the @file{*Completions*} buffer.
Unless this function puts own face on the annotation suffix string,
the @code{completions-annotations} face is added by default to
that string.
@item affixation-function
The value should be a function for adding prefixes and suffixes to
@ -1915,8 +1922,10 @@ completions. The function should take one argument,
return such a list of @var{completions} where each element contains a list
of three elements: a completion, a prefix which is displayed before
the completion string in the @file{*Completions*} buffer, and
a suffix displayed after the completion string. This function
takes priority over @code{annotation-function}.
a suffix displayed after the completion string. When this function
returns a list of two elements, it is interpreted as a list of
a completion and a suffix string like in @code{annotation-function}.
This function takes priority over @code{annotation-function}.
@item display-sort-function
The value should be a function for sorting completions. The function

View file

@ -1826,6 +1826,11 @@ starts, for example by providing a @code{:require} keyword.
Use @code{:group @var{group}} in @var{keyword-args} to specify the
custom group for the mode variable of the global minor mode.
By default, the buffer-local minor mode variable that says whether the
mode is switched on or off is the same as the name of the mode itself.
Use @code{:variable @var{variable}} if that's not the case--some minor
modes use a different variable to store this state information.
Generally speaking, when you define a globalized minor mode, you should
also define a non-globalized version, so that people can use (or
disable) it in individual buffers. This also allows them to disable a

View file

@ -2017,7 +2017,8 @@ describing the type of event.
default sentinel function, which inserts a message in the process's
buffer with the process name and the string describing the event.
The string describing the event looks like one of the following:
The string describing the event looks like one of the following (but
this is not an exhaustive list of event strings):
@itemize @bullet
@item
@ -2047,6 +2048,9 @@ core.
@item
@code{"open\n"}.
@item
@code{"run\n"}.
@item
@code{"connection broken by remote peer\n"}.
@end itemize

View file

@ -573,10 +573,10 @@ and by Font Lock mode during syntactic fontification (@pxref{Syntactic
Font Lock}). It is called with two arguments, @var{start} and
@var{end}, which are the starting and ending positions of the text on
which it should act. It is allowed to call @code{syntax-ppss} on any
position before @var{end}. However, it should not call
@code{syntax-ppss-flush-cache}; so, it is not allowed to call
@code{syntax-ppss} on some position and later modify the buffer at an
earlier position.
position before @var{end}, but if it calls @code{syntax-ppss} on some
position and later modifies the buffer on some earlier position,
then it is its responsibility to call @code{syntax-ppss-flush-cache}
to flush the now obsolete info from the cache.
@strong{Caution:} When this variable is non-@code{nil}, Emacs removes
@code{syntax-table} text properties arbitrarily and relies on

View file

@ -2151,6 +2151,11 @@ And this form restricts the monitoring on D-Bus errors:
@end lisp
@end defun
@deffn Command dbus-monitor &optional bus
This command invokes @code{dbus-register-monitor} interactively, and
switches to the monitor buffer.
@end deffn
@node Index
@unnumbered Index

View file

@ -2792,9 +2792,10 @@ visiting a file will show its encrypted contents. However, it is
highly discouraged to mix encrypted and not encrypted files in the
same directory.
@deffn Command tramp-crypt-add-directory name
If a remote directory shall not include encrypted files anymore, it
must be indicated by this command.
@deffn Command tramp-crypt-remove-directory name
This command should be used to indicate that files in @code{name}
should no longer be encrypted. Existing encrypted files and
subdirectories will remain encrypted.
@end deffn

View file

@ -66,8 +66,9 @@ the list at the end of this file.
** macOS
Mac OS X 10.6 or newer. PowerPC is not supported.
For installation instructions see the file nextstep/INSTALL.
Mac OS X 10.6 or newer. Both AArch64 (Arm) and x86-64 systems are
supported, but PowerPC is not supported. For installation
instructions see the file nextstep/INSTALL.
** Microsoft Windows

106
etc/NEWS
View file

@ -85,7 +85,7 @@ useful on systems such as FreeBSD which ships only with "etc/termcap".
* Changes in Emacs 28.1
** The new NonGNU ELPA archive is enabled by default alongside GNU ELPA
** The new NonGNU ELPA archive is enabled by default alongside GNU ELPA.
** Minibuffer scrolling is now conservative by default.
This is controlled by the new variable 'scroll-minibuffer-conservatively'.
@ -221,10 +221,20 @@ It is not enabled by default.
+++
** Modifiers now go outside angle brackets in pretty-printed key bindings.
For example, <return> with Control and Meta modifiers is now shown as
C-M-<return> instead of <C-M-return>. Either variant can be used as
input; functions such as 'kbd' and 'read-kbd-macro' accept both styles
as equivalent (they have done so for a long time).
For example, 'RET' with Control and Meta modifiers is now shown as
'C-M-<return>' instead of '<C-M-return>'. Either variant can be used
as input; functions such as 'kbd' and 'read-kbd-macro' accept both
styles as equivalent (they have done so for a long time).
+++
** New user option 'lazy-highlight-no-delay-length'.
Lazy highlighting of matches in Isearch now starts immediately if the
search string is at least this long. 'lazy-highlight-initial-delay'
still applies for shorter search strings, which avoids flicker in the
search buffer due to too many matches being highlighted.
+++
** 'revert-buffer' is now bound to 'C-x g' globally.
* Editing Changes in Emacs 28.1
@ -247,7 +257,7 @@ forms, but this command has now been changed to work more like
When 'M-y' is typed not after a yank command, it activates the minibuffer
where you can browse previous kills using the minibuffer history or
completion. In Isearch, you can bind 'C-s M-y' to the command
`isearch-yank-pop' that uses the minibuffer with completion on
'isearch-yank-pop' that uses the minibuffer with completion on
previous kills to read a string and append it to the search string.
---
@ -331,9 +341,10 @@ It used to be enabled when Emacs is started in GUI mode but not when started
in text mode. The cursor still only actually blinks in GUI frames.
** pcase
+++
*** The `pred` pattern can now take the form (pred (not FUN)).
This is like (pred (lambda (x) (not (FUN x)))) but results
*** The 'pred' pattern can now take the form '(pred (not FUN))'.
This is like '(pred (lambda (x) (not (FUN x))))' but results
in better code.
+++
@ -393,7 +404,7 @@ disabled entirely.
** Windows
+++
*** New 'display-buffer' function 'display-buffer-use-least-recent-window'
*** New 'display-buffer' function 'display-buffer-use-least-recent-window'.
This is like 'display-buffer-use-some-window', but won't reuse the
current window, and when called repeatedly will try not to reuse a
previously selected window.
@ -726,7 +737,7 @@ not.
---
*** Respect 'message-forward-ignored-headers' more.
Previously, this variable would not be consulted if
Previously, this user option would not be consulted if
'message-forward-show-mml' was nil and forwarding as MIME.
+++
@ -847,7 +858,7 @@ deprecated. Errors in the Inscript method were corrected.
---
*** New input method 'cham'.
There's also a Cham greeting in 'etc/HELLO'.
There's also a Cham greeting in "etc/HELLO".
** Ispell
@ -948,6 +959,9 @@ command line under point (and any following output).
** Eshell
---
*** 'eshell-hist-ignoredups' can now also be used to mimic "erasedups" in bash.
---
*** Environment variable 'INSIDE_EMACS' is now copied to subprocesses.
Its value equals the result of evaluating '(format "%s,eshell" emacs-version)'.
@ -1382,13 +1396,13 @@ have been renamed to have "proper" public names and documented
'xref-show-definitions-buffer-at-bottom').
*** New command 'xref-quit-and-pop-marker-stack' and a binding for it
in Xref buffers ('M-,'). This combination is easy to press
in "*xref*" buffers ('M-,'). This combination is easy to press
semi-accidentally if the user wants to go back in the middle of
choosing the exact definition to go to, and this should do TRT.
---
*** New value 'project-relative' for 'xref-file-name-display'
If chosen, file names in *xref* buffers will be displayed relative
*** New value 'project-relative' for 'xref-file-name-display'.
If chosen, file names in "*xref*" buffers will be displayed relative
to the 'project-root' of the current project, when available.
** json.el
@ -1411,9 +1425,9 @@ https://www.w3.org/TR/xml/#charsets). Now it rejects such strings.
---
*** erc-services.el now supports NickServ passwords from auth-source.
The 'erc-use-auth-source-for-nickserv-password' variable enables querying
auth-source for NickServ passwords. To enable this, add the following
to your init file:
The 'erc-use-auth-source-for-nickserv-password' user option enables
querying auth-source for NickServ passwords. To enable this, add the
following to your init file:
(setq erc-prompt-for-nickserv-password nil
erc-use-auth-source-for-nickserv-password t)
@ -1578,18 +1592,18 @@ that makes it a valid button.
'string-clean-whitespace', 'string-fill', 'string-limit',
'string-lines', 'string-pad' and 'string-chop-newline'.
*** New macro `named-let` that provides Scheme's "named let" looping construct
*** New macro 'named-let' that provides Scheme's "named let" looping construct.
** thingatpt
+++
*** New variable 'thing-at-point-provider-alist'.
This allows mode-specific alterations to how `thing-at-point' works.
This allows mode-specific alterations to how 'thing-at-point' works.
** Miscellaneous
+++
*** New command `C-x C-k Q' to force redisplay in keyboard macros.
*** New command 'C-x C-k Q' to force redisplay in keyboard macros.
---
*** New user option 'remember-diary-regexp'.
@ -1603,8 +1617,8 @@ This function returns some statistics about the line lengths in a buffer.
+++
*** New variable 'inhibit-interaction' to make user prompts signal an error.
If this is bound to something non-nil, functions like
`read-from-minibuffer', `read-char' (and related) will signal an
`inhibited-interaction' error.
'read-from-minibuffer', 'read-char' (and related) will signal an
'inhibited-interaction' error.
---
*** 'process-attributes' now works under OpenBSD, too.
@ -1875,14 +1889,12 @@ Otherwise, it will use 'xwidget-webkit-last-session'.
+++
*** New user options to customize Flymake's mode-line.
The new customization variable 'flymake-mode-line-format' is a mix of
strings and symbols like 'flymake-mode-line-title' ,
'flymake-mode-line-exception' and 'flymake-mode-line-counters'. The
new customization variable 'flymake-mode-line-counter-format' is a mix
of strings and symbols like 'flymake-mode-line-error-counter',
'flymake-mode-line-warning-counter' and
'flymake-mode-line-note-counter'.
The new user option 'flymake-mode-line-format' is a mix of strings and
symbols like 'flymake-mode-line-title', 'flymake-mode-line-exception'
and 'flymake-mode-line-counters'. The new user option
'flymake-mode-line-counter-format' is a mix of strings and symbols
like 'flymake-mode-line-error-counter',
'flymake-mode-line-warning-counter' and 'flymake-mode-line-note-counter'.
** Flyspell mode
@ -1941,7 +1953,7 @@ type symbols. Both functions propagate D-Bus errors.
messages, contain the error name of that message now.
+++
*** D-Bus messages can be monitored with new function 'dbus-register-monitor'.
*** D-Bus messages can be monitored with the new command 'dbus-monitor'.
+++
*** D-Bus events have changed their internal structure.
@ -2000,6 +2012,13 @@ first).
* Incompatible Editing Changes in Emacs 28.1
** In 'f90-mode', the backslash character ('\') no longer escapes.
For about a decade, the backslash character has no longer had a
special escape syntax in Fortran F90. To get the old behaviour back,
say something like:
(modify-syntax-entry ?\\ "\\" f90-mode-syntax-table)
** In 'nroff-mode', 'center-line' is now bound to 'M-o M-s'.
The original key binding was 'M-s', which interfered with I-search,
since the latter uses 'M-s' as a prefix key of the search prefix map.
@ -2010,6 +2029,9 @@ directory instead of the default directory.
* Incompatible Lisp Changes in Emacs 28.1
** 'completions-annotations' face is not used when the caller puts own face.
This affects the suffix specified by completion 'annotation-function'.
** 'set-process-buffer' now updates the process mark.
The mark will be set to point to the end of the new buffer.
@ -2098,8 +2120,9 @@ ledit.el, lmenu.el, lucid.el and old-whitespace.el.
'completion-base-size', 'completion-common-substring',
'crm-minibuffer-complete', 'crm-minibuffer-complete-and-exit',
'crm-minibuffer-completion-help', 'custom-mode', 'custom-mode-hook',
'define-mode-overload-implementation', 'detect-coding-with-priority',
'dirtrack-debug', 'dirtrack-debug-toggle', 'dynamic-completion-table',
'define-key-rebound-commands', 'define-mode-overload-implementation',
'detect-coding-with-priority', 'dirtrack-debug',
'dirtrack-debug-toggle', 'dynamic-completion-table',
'easy-menu-precalculate-equivalent-keybindings',
'epa-display-verify-result', 'epg-passphrase-callback-function',
'eshell-report-bug', 'eval-next-after-load', 'exchange-dot-and-mark',
@ -2154,17 +2177,22 @@ ledit.el, lmenu.el, lucid.el and old-whitespace.el.
'vcursor-toggle-vcursor-map', 'w32-focus-frame', 'w32-select-font',
'wisent-lex-make-token-table'.
** The 'when' argument of `make-obsolete` and related functions is mandatory.
The use of those functions without a 'when' argument was marked
obsolete back in Emacs-23.1. The affected functions are:
make-obsolete, define-obsolete-function-alias, make-obsolete-variable,
define-obsolete-variable-alias.
** The WHEN argument of 'make-obsolete' and related functions is mandatory.
The use of those functions without a WHEN argument was marked obsolete
back in Emacs 23.1. The affected functions are: 'make-obsolete',
'define-obsolete-function-alias', 'make-obsolete-variable',
'define-obsolete-variable-alias'.
** The variable 'keyboard-type' is obsolete and not dynamically scoped any more
** The variable 'keyboard-type' is obsolete and not dynamically scoped any more.
* Lisp Changes in Emacs 28.1
---
** New variable 'indent-line-ignored-functions'.
This allows modes to cycle through a set of indentation functions
appropriate for those modes.
** New function 'garbage-collect-maybe' to trigger GC early.
---

Binary file not shown.

View file

@ -516,9 +516,8 @@ It is nil if the abbrev has already been unexpanded.")
(defvar last-abbrev-location 0
"The location of the start of the last abbrev expanded.")
;; (defvar local-abbrev-table fundamental-mode-abbrev-table
;; (defvar-local local-abbrev-table fundamental-mode-abbrev-table
;; "Local (mode-specific) abbrev table of current buffer.")
;; (make-variable-buffer-local 'local-abbrev-table)
(defun clear-abbrev-table (table)
"Undefine all abbrevs in abbrev table TABLE, leaving it empty."

View file

@ -424,7 +424,7 @@ The possible settings for `align-region-separate' are:
(backward-word 1)
(looking-at
"\\(goto\\|return\\|new\\|delete\\|throw\\)"))
(if (and (boundp 'font-lock-mode) font-lock-mode)
(if font-lock-mode
(eq (get-text-property (point) 'face)
'font-lock-comment-face)
(eq (caar (c-guess-basic-syntax)) 'c)))))))
@ -775,18 +775,14 @@ See the documentation for `align-rules-list' for more info."
;;; Internal Variables:
(defvar align-mode-rules-list nil
(defvar-local align-mode-rules-list nil
"Alignment rules specific to the current major mode.
See the variable `align-rules-list' for more details.")
(make-variable-buffer-local 'align-mode-rules-list)
(defvar align-mode-exclude-rules-list nil
(defvar-local align-mode-exclude-rules-list nil
"Alignment exclusion rules specific to the current major mode.
See the variable `align-exclude-rules-list' for more details.")
(make-variable-buffer-local 'align-mode-exclude-rules-list)
(defvar align-highlight-overlays nil
"The current overlays highlighting the text matched by a rule.")

View file

@ -78,9 +78,8 @@
;;; during file load, so the involved code must reside above that
;;; definition in the file.
;;;_ = allout-widgets-mode
(defvar allout-widgets-mode nil
(defvar-local allout-widgets-mode nil
"Allout mode enhanced with graphical widgets.")
(make-variable-buffer-local 'allout-widgets-mode)
;;;_ : USER CUSTOMIZATION VARIABLES and incidental functions:
;;;_ > defgroup allout-widgets
@ -243,14 +242,13 @@ decreases as obsolete widgets are garbage collected."
:version "24.1"
:type 'boolean
:group 'allout-widgets-developer)
(defvar allout-widgets-tally nil
(defvar-local allout-widgets-tally nil
"Hash-table of existing allout widgets, for debugging.
Table is maintained only if `allout-widgets-maintain-tally' is non-nil.
The table contents will be out of sync if any widgets are created
or deleted while this variable is nil.")
(make-variable-buffer-local 'allout-widgets-tally)
(defvar allout-widgets-mode-inhibit) ; defined below
;;;_ > allout-widgets-tally-string
(defun allout-widgets-tally-string ()
@ -295,7 +293,7 @@ to publicize it by making it a customization variable)."
(message "%s" msg)
msg))
;;;_ = allout-widgets-mode-inhibit
(defvar allout-widgets-mode-inhibit nil
(defvar-local allout-widgets-mode-inhibit nil
"Inhibit `allout-widgets-mode' from activating widgets.
This also inhibits automatic adjustment of widgets to track allout outline
@ -310,15 +308,13 @@ buffers where this is set to enable and disable widget
enhancements, directly.")
;;;###autoload
(put 'allout-widgets-mode-inhibit 'safe-local-variable 'booleanp)
(make-variable-buffer-local 'allout-widgets-mode-inhibit)
;;;_ = allout-inhibit-body-modification-hook
(defvar allout-inhibit-body-modification-hook nil
(defvar-local allout-inhibit-body-modification-hook nil
"Override de-escaping of text-prefixes in item bodies during specific changes.
This is used by `allout-buffer-modification-handler' to signal such changes
to `allout-body-modification-handler', and is always reset by
`allout-post-command-business'.")
(make-variable-buffer-local 'allout-inhibit-body-modification-hook)
;;;_ = allout-widgets-icons-cache
(defvar allout-widgets-icons-cache nil
"Cache allout icon images, as an association list.
@ -358,7 +354,7 @@ See \\[describe-mode] for many more options."
The structure includes the guides lines, bullet, and bullet cue.")
;;;_ = allout-widgets-changes-record
(defvar allout-widgets-changes-record nil
(defvar-local allout-widgets-changes-record nil
"Record outline changes for processing by post-command hook.
Entries on the list are lists whose first element is a symbol indicating
@ -369,14 +365,12 @@ type. For example:
The changes are recorded in reverse order, with new values pushed
onto the front.")
(make-variable-buffer-local 'allout-widgets-changes-record)
;;;_ = allout-widgets-undo-exposure-record
(defvar allout-widgets-undo-exposure-record nil
(defvar-local allout-widgets-undo-exposure-record nil
"Record outline undo traces for processing by post-command hook.
The changes are recorded in reverse order, with new values pushed
onto the front.")
(make-variable-buffer-local 'allout-widgets-undo-exposure-record)
;;;_ = allout-widgets-last-hook-error
(defvar allout-widgets-last-hook-error nil
"String holding last error string, for debugging purposes.")
@ -393,13 +387,12 @@ onto the front.")
"Maintained true during `allout-widgets-exposure-undo-processor'")
;;;_ , Widget-specific outline text format
;;;_ = allout-escaped-prefix-regexp
(defvar allout-escaped-prefix-regexp ""
(defvar-local allout-escaped-prefix-regexp ""
"Regular expression for body text that would look like an item prefix if
not altered with an escape sequence.")
(make-variable-buffer-local 'allout-escaped-prefix-regexp)
;;;_ , Widget element formatting
;;;_ = allout-item-icon-keymap
(defvar allout-item-icon-keymap
(defvar-local allout-item-icon-keymap
(let ((km (make-sparse-keymap))
(as-parent (if (current-local-map)
(make-composed-keymap (current-local-map)
@ -420,9 +413,8 @@ not altered with an escape sequence.")
km)
"General tree-node key bindings.")
(make-variable-buffer-local 'allout-item-icon-keymap)
;;;_ = allout-item-body-keymap
(defvar allout-item-body-keymap
(defvar-local allout-item-body-keymap
(let ((km (make-sparse-keymap))
(as-parent (if (current-local-map)
(make-composed-keymap (current-local-map)
@ -432,17 +424,15 @@ not altered with an escape sequence.")
(set-keymap-parent km as-parent)
km)
"General key bindings for the text content of outline items.")
(make-variable-buffer-local 'allout-item-body-keymap)
;;;_ = allout-body-span-category
(defvar allout-body-span-category nil
"Symbol carrying allout body-text overlay properties.")
;;;_ = allout-cue-span-keymap
(defvar allout-cue-span-keymap
(defvar-local allout-cue-span-keymap
(let ((km (make-sparse-keymap)))
(set-keymap-parent km allout-item-icon-keymap)
km)
"Keymap used in the item cue area - the space between the icon and headline.")
(make-variable-buffer-local 'allout-cue-span-keymap)
;;;_ = allout-escapes-category
(defvar allout-escapes-category nil
"Symbol for category of text property used to hide escapes of prefix-like
@ -477,7 +467,7 @@ including things like:
(defvar allout-trailing-category nil
"Symbol carrying common properties of an overlay's trailing newline.")
;;;_ , Developer
(defvar allout-widgets-last-decoration-timing nil
(defvar-local allout-widgets-last-decoration-timing nil
"Timing details for the last cooperative decoration action.
This is maintained when `allout-widgets-time-decoration-activity' is set.
@ -488,7 +478,6 @@ The value is a list containing two elements:
When active, the value is revised each time automatic decoration activity
happens in the buffer.")
(make-variable-buffer-local 'allout-widgets-last-decoration-timing)
;;;_ . mode hookup
;;;_ > define-minor-mode allout-widgets-mode (arg)
;;;###autoload
@ -693,12 +682,11 @@ outline hot-spot navigation (see `allout-mode')."
(allout-get-or-create-item-widget))))))
;;;_ . settings context
;;;_ = allout-container-item
(defvar allout-container-item-widget nil
(defvar-local allout-container-item-widget nil
"A widget for the current outline's overarching container as an item.
The item has settings (of the file/connection) and maybe a body, but no
icon/bullet.")
(make-variable-buffer-local 'allout-container-item-widget)
;;;_ . Hooks and hook helpers
;;;_ , major command-loop business:
;;;_ > allout-widgets-pre-command-business (&optional recursing)
@ -2243,7 +2231,7 @@ interactive command."
We use a caching strategy, so the caller doesn't need to do so."
(let* ((types allout-widgets-icon-types)
(use-dir (if (equal (allout-frame-property nil 'background-mode)
(use-dir (if (equal (frame-parameter nil 'background-mode)
'light)
allout-widgets-icons-light-subdir
allout-widgets-icons-dark-subdir))
@ -2274,13 +2262,6 @@ We use a caching strategy, so the caller doesn't need to do so."
"Return seconds between START/END time values."
(let ((elapsed (time-subtract end start)))
(float-time elapsed)))
;;;_ > allout-frame-property (frame property)
(defalias 'allout-frame-property
(cond ((fboundp 'frame-parameter)
'frame-parameter)
((fboundp 'frame-property)
'frame-property)
(t nil)))
;;;_ > allout-find-image (specs)
(define-obsolete-function-alias 'allout-find-image #'find-image "28.1")
;;;_ > allout-widgets-copy-list (list)
@ -2307,6 +2288,8 @@ The elements of LIST are not copied, just the list structure itself."
(overlays-in start end)))))
(length button-overlays)))
(define-obsolete-function-alias 'allout-frame-property #'frame-parameter "28.1")
;;;_ : provide
(provide 'allout-widgets)

View file

@ -830,9 +830,8 @@ such topics are encrypted.)"
The value of `buffer-saved-size' at the time of decryption is used,
for restoring when all encryptions are established.")
(defvar allout-just-did-undo nil
(defvar-local allout-just-did-undo nil
"True just after undo commands, until allout-post-command-business.")
(make-variable-buffer-local 'allout-just-did-undo)
;;;_ + Developer
;;;_ = allout-developer group
@ -874,10 +873,10 @@ For details, see `allout-toggle-current-subtree-encryption's docstring."
msg))
;;;_ : Mode activation (defined here because it's referenced early)
;;;_ = allout-mode
(defvar allout-mode nil "Allout outline mode minor-mode flag.")
(make-variable-buffer-local 'allout-mode)
(defvar-local allout-mode nil
"Allout outline mode minor-mode flag.")
;;;_ = allout-layout nil
(defvar allout-layout nil ; LEAVE GLOBAL VALUE NIL -- see docstring.
(defvar-local allout-layout nil ; LEAVE GLOBAL VALUE NIL -- see docstring.
"Buffer-specific setting for allout layout.
In buffers where this is non-nil (and if `allout-auto-activation'
@ -903,34 +902,30 @@ followed by the equivalent of `(allout-expose-topic 0 : -1 -1 0)'.
`allout-default-layout' describes the specification format.
`allout-layout' can additionally have the value t, in which
case the value of `allout-default-layout' is used.")
(make-variable-buffer-local 'allout-layout)
;;;###autoload
(put 'allout-layout 'safe-local-variable
(lambda (x) (or (numberp x) (listp x) (memq x '(: * + -)))))
;;;_ : Topic header format
;;;_ = allout-regexp
(defvar allout-regexp ""
(defvar-local allout-regexp ""
"Regular expression to match the beginning of a heading line.
Any line whose beginning matches this regexp is considered a
heading. This var is set according to the user configuration vars
by `allout-set-regexp'.")
(make-variable-buffer-local 'allout-regexp)
;;;_ = allout-bullets-string
(defvar allout-bullets-string ""
(defvar-local allout-bullets-string ""
"A string dictating the valid set of outline topic bullets.
This var should *not* be set by the user -- it is set by `allout-set-regexp',
and is produced from the elements of `allout-plain-bullets-string'
and `allout-distinctive-bullets-string'.")
(make-variable-buffer-local 'allout-bullets-string)
;;;_ = allout-bullets-string-len
(defvar allout-bullets-string-len 0
(defvar-local allout-bullets-string-len 0
"Length of current buffers' `allout-plain-bullets-string'.")
(make-variable-buffer-local 'allout-bullets-string-len)
;;;_ = allout-depth-specific-regexp
(defvar allout-depth-specific-regexp ""
(defvar-local allout-depth-specific-regexp ""
"Regular expression to match a heading line prefix for a particular depth.
This expression is used to search for depth-specific topic
@ -941,34 +936,28 @@ This var is set according to the user configuration vars by
`allout-set-regexp'. It is prepared with format strings for two
decimal numbers, which should each be one less than the depth of the
topic prefix to be matched.")
(make-variable-buffer-local 'allout-depth-specific-regexp)
;;;_ = allout-depth-one-regexp
(defvar allout-depth-one-regexp ""
(defvar-local allout-depth-one-regexp ""
"Regular expression to match a heading line prefix for depth one.
This var is set according to the user configuration vars by
`allout-set-regexp'. It is prepared with format strings for two
decimal numbers, which should each be one less than the depth of the
topic prefix to be matched.")
(make-variable-buffer-local 'allout-depth-one-regexp)
;;;_ = allout-line-boundary-regexp
(defvar allout-line-boundary-regexp ()
(defvar-local allout-line-boundary-regexp ()
"`allout-regexp' prepended with a newline for the search target.
This is properly set by `allout-set-regexp'.")
(make-variable-buffer-local 'allout-line-boundary-regexp)
;;;_ = allout-bob-regexp
(defvar allout-bob-regexp ()
(defvar-local allout-bob-regexp ()
"Like `allout-line-boundary-regexp', for headers at beginning of buffer.")
(make-variable-buffer-local 'allout-bob-regexp)
;;;_ = allout-header-subtraction
(defvar allout-header-subtraction (1- (length allout-header-prefix))
(defvar-local allout-header-subtraction (1- (length allout-header-prefix))
"Allout-header prefix length to subtract when computing topic depth.")
(make-variable-buffer-local 'allout-header-subtraction)
;;;_ = allout-plain-bullets-string-len
(defvar allout-plain-bullets-string-len (length allout-plain-bullets-string)
(defvar-local allout-plain-bullets-string-len (length allout-plain-bullets-string)
"Length of `allout-plain-bullets-string', updated by `allout-set-regexp'.")
(make-variable-buffer-local 'allout-plain-bullets-string-len)
;;;_ = allout-doublecheck-at-and-shallower
(defconst allout-doublecheck-at-and-shallower 3
@ -1279,11 +1268,10 @@ Also refresh various data structures that hinge on the regexp."
["Set New Exposure" allout-expose-topic t])))
;;;_ : Allout Modal-Variables Utilities
;;;_ = allout-mode-prior-settings
(defvar allout-mode-prior-settings nil
(defvar-local allout-mode-prior-settings nil
"Internal `allout-mode' use; settings to be resumed on mode deactivation.
See `allout-add-resumptions' and `allout-do-resumptions'.")
(make-variable-buffer-local 'allout-mode-prior-settings)
;;;_ > allout-add-resumptions (&rest pairs)
(defun allout-add-resumptions (&rest pairs)
"Set name/value PAIRS.
@ -1466,16 +1454,15 @@ that was affected by the undo.."
:version "24.3")
;;;_ = allout-outside-normal-auto-fill-function
(defvar allout-outside-normal-auto-fill-function nil
(defvar-local allout-outside-normal-auto-fill-function nil
"Value of `normal-auto-fill-function' outside of allout mode.
Used by `allout-auto-fill' to do the mandated `normal-auto-fill-function'
wrapped within allout's automatic `fill-prefix' setting.")
(make-variable-buffer-local 'allout-outside-normal-auto-fill-function)
;;;_ = prevent redundant activation by desktop mode:
(add-to-list 'desktop-minor-mode-handlers '(allout-mode . nil))
;;;_ = allout-after-save-decrypt
(defvar allout-after-save-decrypt nil
(defvar-local allout-after-save-decrypt nil
"Internal variable, is nil or has the value of two points:
- the location of a topic to be decrypted after saving is done
@ -1483,9 +1470,8 @@ wrapped within allout's automatic `fill-prefix' setting.")
This is used to decrypt the topic that was currently being edited, if it
was encrypted automatically as part of a file write or autosave.")
(make-variable-buffer-local 'allout-after-save-decrypt)
;;;_ = allout-encryption-plaintext-sanitization-regexps
(defvar allout-encryption-plaintext-sanitization-regexps nil
(defvar-local allout-encryption-plaintext-sanitization-regexps nil
"List of regexps whose matches are removed from plaintext before encryption.
This is for the sake of removing artifacts, like escapes, that are added on
@ -1498,9 +1484,8 @@ Each value can be a regexp or a list with a regexp followed by a
substitution string. If it's just a regexp, all its matches are removed
before the text is encrypted. If it's a regexp and a substitution, the
substitution is used against the regexp matches, a la `replace-match'.")
(make-variable-buffer-local 'allout-encryption-plaintext-sanitization-regexps)
;;;_ = allout-encryption-ciphertext-rejection-regexps
(defvar allout-encryption-ciphertext-rejection-regexps nil
(defvar-local allout-encryption-ciphertext-rejection-regexps nil
"Variable for regexps matching plaintext to remove before encryption.
This is used to detect strings in encryption results that would
@ -1513,13 +1498,11 @@ Encryptions that result in matches will be retried, up to
`allout-encryption-ciphertext-rejection-ceiling' times, after which
an error is raised.")
(make-variable-buffer-local 'allout-encryption-ciphertext-rejection-regexps)
;;;_ = allout-encryption-ciphertext-rejection-ceiling
(defvar allout-encryption-ciphertext-rejection-ceiling 5
(defvar-local allout-encryption-ciphertext-rejection-ceiling 5
"Limit on number of times encryption ciphertext is rejected.
See `allout-encryption-ciphertext-rejection-regexps' for rejection reasons.")
(make-variable-buffer-local 'allout-encryption-ciphertext-rejection-ceiling)
;;;_ > allout-mode-p ()
;; Must define this macro above any uses, or byte compilation will lack
;; proper def, if file isn't loaded -- eg, during emacs build!
@ -1607,10 +1590,9 @@ non-nil in a lasting way.")
;;;_ #2 Mode environment and activation
;;;_ = allout-explicitly-deactivated
(defvar allout-explicitly-deactivated nil
(defvar-local allout-explicitly-deactivated nil
"If t, `allout-mode's last deactivation was deliberate.
So `allout-post-command-business' should not reactivate it...")
(make-variable-buffer-local 'allout-explicitly-deactivated)
;;;_ > allout-setup-menubar ()
(defun allout-setup-menubar ()
"Populate the current buffer's menubar with `allout-mode' stuff."
@ -2119,21 +2101,17 @@ function can also be used as an `isearch-mode-end-hook'."
;; for just-established data. This optimization can provide
;; significant speed improvement, but it must be employed carefully.
;;;_ = allout-recent-prefix-beginning
(defvar allout-recent-prefix-beginning 0
(defvar-local allout-recent-prefix-beginning 0
"Buffer point of the start of the last topic prefix encountered.")
(make-variable-buffer-local 'allout-recent-prefix-beginning)
;;;_ = allout-recent-prefix-end
(defvar allout-recent-prefix-end 0
(defvar-local allout-recent-prefix-end 0
"Buffer point of the end of the last topic prefix encountered.")
(make-variable-buffer-local 'allout-recent-prefix-end)
;;;_ = allout-recent-depth
(defvar allout-recent-depth 0
(defvar-local allout-recent-depth 0
"Depth of the last topic prefix encountered.")
(make-variable-buffer-local 'allout-recent-depth)
;;;_ = allout-recent-end-of-subtree
(defvar allout-recent-end-of-subtree 0
(defvar-local allout-recent-end-of-subtree 0
"Buffer point last returned by `allout-end-of-current-subtree'.")
(make-variable-buffer-local 'allout-recent-end-of-subtree)
;;;_ > allout-prefix-data ()
(defsubst allout-prefix-data ()
"Register allout-prefix state data.
@ -3213,7 +3191,7 @@ Returns resulting position, else nil if none found."
;;;_ - Fundamental
;;;_ = allout-post-goto-bullet
(defvar allout-post-goto-bullet nil
(defvar-local allout-post-goto-bullet nil
"Outline internal var, for `allout-pre-command-business' hot-spot operation.
When set, tells post-processing to reposition on topic bullet, and
@ -3221,18 +3199,15 @@ then unset it. Set by `allout-pre-command-business' when implementing
hot-spot operation, where literal characters typed over a topic bullet
are mapped to the command of the corresponding control-key on the
`allout-mode-map-value'.")
(make-variable-buffer-local 'allout-post-goto-bullet)
;;;_ = allout-command-counter
(defvar allout-command-counter 0
(defvar-local allout-command-counter 0
"Counter that monotonically increases in allout-mode buffers.
Set by `allout-pre-command-business', to support allout addons in
coordinating with allout activity.")
(make-variable-buffer-local 'allout-command-counter)
;;;_ = allout-this-command-hid-text
(defvar allout-this-command-hid-text nil
(defvar-local allout-this-command-hid-text nil
"True if the most recent allout-mode command hid any text.")
(make-variable-buffer-local 'allout-this-command-hid-text)
;;;_ > allout-post-command-business ()
(defun allout-post-command-business ()
"Outline `post-command-hook' function.

View file

@ -199,7 +199,7 @@ mouse-3: Set coding system"
(symbol-name buffer-file-coding-system))
"Buffer coding system: none specified")))
(defvar mode-line-mule-info
(defvar-local mode-line-mule-info
`(""
(current-input-method
(:propertize ("" current-input-method-title)
@ -225,7 +225,6 @@ mnemonics of the following coding systems:
coding system for terminal output (on a text terminal)")
;;;###autoload
(put 'mode-line-mule-info 'risky-local-variable t)
(make-variable-buffer-local 'mode-line-mule-info)
(defvar mode-line-client
`(""
@ -247,7 +246,7 @@ mnemonics of the following coding systems:
(format "Buffer is %smodified\nmouse-1: Toggle modification state"
(if (buffer-modified-p (window-buffer window)) "" "not ")))
(defvar mode-line-modified
(defvar-local mode-line-modified
(list (propertize
"%1*"
'help-echo 'mode-line-read-only-help-echo
@ -264,9 +263,8 @@ mnemonics of the following coding systems:
"Mode line construct for displaying whether current buffer is modified.")
;;;###autoload
(put 'mode-line-modified 'risky-local-variable t)
(make-variable-buffer-local 'mode-line-modified)
(defvar mode-line-remote
(defvar-local mode-line-remote
(list (propertize
"%1@"
'mouse-face 'mode-line-highlight
@ -283,7 +281,6 @@ mnemonics of the following coding systems:
"Mode line construct to indicate a remote buffer.")
;;;###autoload
(put 'mode-line-remote 'risky-local-variable t)
(make-variable-buffer-local 'mode-line-remote)
;; MSDOS frames have window-system, but want the Fn identification.
(defun mode-line-frame-control ()
@ -301,12 +298,11 @@ Value is used for `mode-line-frame-identification', which see."
;;;###autoload
(put 'mode-line-frame-identification 'risky-local-variable t)
(defvar mode-line-process nil
(defvar-local mode-line-process nil
"Mode line construct for displaying info on process status.
Normally nil in most modes, since there is no process to display.")
;;;###autoload
(put 'mode-line-process 'risky-local-variable t)
(make-variable-buffer-local 'mode-line-process)
(defun bindings--define-key (map key item)
"Define KEY in keymap MAP according to ITEM from a menu.
@ -543,7 +539,7 @@ mouse-1: Previous buffer\nmouse-3: Next buffer")
'mouse-face 'mode-line-highlight
'local-map mode-line-buffer-identification-keymap)))
(defvar mode-line-buffer-identification
(defvar-local mode-line-buffer-identification
(propertized-buffer-identification "%12b")
"Mode line construct for identifying the buffer being displayed.
Its default value is (\"%12b\") with some text properties added.
@ -551,7 +547,6 @@ Major modes that edit things other than ordinary files may change this
\(e.g. Info, Dired,...)")
;;;###autoload
(put 'mode-line-buffer-identification 'risky-local-variable t)
(make-variable-buffer-local 'mode-line-buffer-identification)
(defvar mode-line-misc-info
'((global-mode-string ("" global-mode-string " ")))
@ -1418,6 +1413,8 @@ if `inhibit-field-text-motion' is non-nil."
(define-key ctl-x-map "z" 'repeat)
(define-key ctl-x-map "g" #'revert-buffer)
(define-key esc-map "\C-l" 'reposition-window)
(define-key ctl-x-4-map "a" 'add-change-log-entry-other-window)

View file

@ -271,13 +271,11 @@ defaults to `bookmark-default-file' and MODTIME is its modification time.")
(defvar bookmark-file-coding-system nil
"The coding-system of the last loaded or saved bookmark file.")
(defvar bookmark-current-bookmark nil
(defvar-local bookmark-current-bookmark nil
"Name of bookmark most recently used in the current file.
It is buffer local, used to make moving a bookmark forward
through a file easier.")
(make-variable-buffer-local 'bookmark-current-bookmark)
(defvar bookmark-alist-modification-count 0
"Number of modifications to bookmark list since it was last saved.")
@ -903,13 +901,11 @@ Does not affect the kill ring."
(when (and newline-too (= (following-char) ?\n))
(delete-char 1))))
(defvar bookmark-annotation-name nil
(defvar-local bookmark-annotation-name nil
"Name of bookmark under edit in `bookmark-edit-annotation-mode'.")
(make-variable-buffer-local 'bookmark-annotation-name)
(defvar bookmark--annotation-from-bookmark-list nil
(defvar-local bookmark--annotation-from-bookmark-list nil
"If non-nil, `bookmark-edit-annotation-mode' should return to bookmark list.")
(make-variable-buffer-local 'bookmark--annotation-from-bookmark-list)
(defun bookmark-default-annotation-text (bookmark-name)
"Return default annotation text for BOOKMARK-NAME.

View file

@ -111,11 +111,10 @@ as it is by default."
:group 'Buffer-menu
:version "22.1")
(defvar Buffer-menu-files-only nil
(defvar-local Buffer-menu-files-only nil
"Non-nil if the current Buffer Menu lists only file buffers.
This is set by the prefix argument to `buffer-menu' and related
commands.")
(make-variable-buffer-local 'Buffer-menu-files-only)
(defvar Buffer-menu-mode-map
(let ((map (make-sparse-keymap))

View file

@ -46,10 +46,8 @@
(defvar calc-embedded-modes nil)
(defvar calc-embedded-globals nil)
(defvar calc-embedded-active nil)
(defvar calc-embedded-all-active nil)
(make-variable-buffer-local 'calc-embedded-all-active)
(defvar calc-embedded-some-active nil)
(make-variable-buffer-local 'calc-embedded-some-active)
(defvar-local calc-embedded-all-active nil)
(defvar-local calc-embedded-some-active nil)
;; The following variables are customizable and defined in calc.el.
(defvar calc-embedded-announce-formula)

View file

@ -140,22 +140,19 @@ specified by `ede-project-directories'."
(defvar ede-projects nil
"A list of all active projects currently loaded in Emacs.")
(defvar ede-object-root-project nil
(defvar-local ede-object-root-project nil
"The current buffer's current root project.
If a file is under a project, this specifies the project that is at
the root of a project tree.")
(make-variable-buffer-local 'ede-object-root-project)
(defvar ede-object-project nil
(defvar-local ede-object-project nil
"The current buffer's current project at that level.
If a file is under a project, this specifies the project that contains the
current target.")
(make-variable-buffer-local 'ede-object-project)
(defvar ede-object nil
(defvar-local ede-object nil
"The current buffer's target object.
This object's class determines how to compile and debug from a buffer.")
(make-variable-buffer-local 'ede-object)
(defvar ede-selected-object nil
"The currently user-selected project or target.

View file

@ -170,11 +170,10 @@ definition."
;;; Core bindings API
;;
(defvar mode-local-symbol-table nil
(defvar-local mode-local-symbol-table nil
"Buffer local mode bindings.
These symbols provide a hook for a `major-mode' to specify specific
behaviors. Use the function `mode-local-bind' to define new bindings.")
(make-variable-buffer-local 'mode-local-symbol-table)
(defvar mode-local-active-mode nil
"Major mode in which bindings are active.")

View file

@ -77,13 +77,12 @@ introduced."
;;; Variables and Configuration
;;
(defvar semantic--parse-table nil
(defvar-local semantic--parse-table nil
"Variable that defines how to parse top level items in a buffer.
This variable is for internal use only, and its content depends on the
external parser used.")
(make-variable-buffer-local 'semantic--parse-table)
(defvar semantic-symbol->name-assoc-list
(defvar-local semantic-symbol->name-assoc-list
'((type . "Types")
(variable . "Variables")
(function . "Functions")
@ -95,22 +94,19 @@ It is sometimes useful for a language to use a different string
in place of the default, even though that language will still
return a symbol. For example, Java return's includes, but the
string can be replaced with `Imports'.")
(make-variable-buffer-local 'semantic-symbol->name-assoc-list)
(defvar semantic-symbol->name-assoc-list-for-type-parts nil
(defvar-local semantic-symbol->name-assoc-list-for-type-parts nil
"Like `semantic-symbol->name-assoc-list' for type parts.
Some tags that have children (see `semantic-tag-children-compatibility')
will want to define the names of classes of tags differently than at
the top level. For example, in C++, a Function may be called a
Method. In addition, there may be new types of tags that exist only
in classes, such as protection labels.")
(make-variable-buffer-local 'semantic-symbol->name-assoc-list-for-type-parts)
(defvar semantic-case-fold nil
(defvar-local semantic-case-fold nil
"Value for `case-fold-search' when parsing.")
(make-variable-buffer-local 'semantic-case-fold)
(defvar semantic--buffer-cache nil
(defvar-local semantic--buffer-cache nil
"A cache of the fully parsed buffer.
If no significant changes have been made (based on the state) then
this is returned instead of re-parsing the buffer.
@ -120,16 +116,13 @@ this is returned instead of re-parsing the buffer.
If you need a tag list, use `semantic-fetch-tags'. If you need the
cached values for some reason, chances are you can add a hook to
`semantic-after-toplevel-cache-change-hook'.")
(make-variable-buffer-local 'semantic--buffer-cache)
(defvar semantic-unmatched-syntax-cache nil
(defvar-local semantic-unmatched-syntax-cache nil
"A cached copy of unmatched syntax tokens.")
(make-variable-buffer-local 'semantic-unmatched-syntax-cache)
(defvar semantic-unmatched-syntax-cache-check nil
(defvar-local semantic-unmatched-syntax-cache-check nil
"Non-nil if the unmatched syntax cache is out of date.
This is tracked with `semantic-change-function'.")
(make-variable-buffer-local 'semantic-unmatched-syntax-cache-check)
(defvar semantic-edits-are-safe nil
"When non-nil, modifications do not require a reparse.
@ -180,19 +173,16 @@ during a flush when the cache is given a new value of nil.")
:group 'semantic
:type 'boolean)
(defvar semantic-parser-name "LL"
(defvar-local semantic-parser-name "LL"
"Optional name of the parser used to parse input stream.")
(make-variable-buffer-local 'semantic-parser-name)
(defvar semantic--completion-cache nil
(defvar-local semantic--completion-cache nil
"Internal variable used by `semantic-complete-symbol'.")
(make-variable-buffer-local 'semantic--completion-cache)
;;; Parse tree state management API
;;
(defvar semantic-parse-tree-state 'needs-rebuild
(defvar-local semantic-parse-tree-state 'needs-rebuild
"State of the current parse tree.")
(make-variable-buffer-local 'semantic-parse-tree-state)
(defmacro semantic-parse-tree-unparseable ()
"Indicate that the current buffer is unparseable.
@ -268,9 +258,8 @@ These functions are called by `semantic-new-buffer-fcn', before
(defvar semantic-init-hook nil
"Hook run when a buffer is initialized with a parsing table.")
(defvar semantic-init-mode-hook nil
(defvar-local semantic-init-mode-hook nil
"Hook run when a buffer of a particular mode is initialized.")
(make-variable-buffer-local 'semantic-init-mode-hook)
(defvar semantic-init-db-hook nil
"Hook run when a buffer is initialized with a parsing table for DBs.
@ -729,9 +718,8 @@ This function returns semantic tags without overlays."
;;
;; Any parser can use this API to provide a list of warnings during a
;; parse which a user may want to investigate.
(defvar semantic-parser-warnings nil
(defvar-local semantic-parser-warnings nil
"A list of parser warnings since the last full reparse.")
(make-variable-buffer-local 'semantic-parser-warnings)
(defun semantic-clear-parser-warnings ()
"Clear the current list of parser warnings for this buffer."

View file

@ -41,10 +41,9 @@
;;; Variables
;;
(defvar semantic-bovinate-nonterminal-check-obarray nil
(defvar-local semantic-bovinate-nonterminal-check-obarray nil
"Obarray of streams already parsed for nonterminal symbols.
Use this to detect infinite recursion during a parse.")
(make-variable-buffer-local 'semantic-bovinate-nonterminal-check-obarray)

View file

@ -867,9 +867,8 @@ Expected return values are:
;; * semantic-collector-try-completion
;; * semantic-collector-all-completions
(defvar semantic-collector-per-buffer-list nil
(defvar-local semantic-collector-per-buffer-list nil
"List of collectors active in this buffer.")
(make-variable-buffer-local 'semantic-collector-per-buffer-list)
(defvar semantic-collector-list nil
"List of global collectors active this session.")

View file

@ -32,17 +32,15 @@
(require 'semantic)
;;; Code:
(defvar semantic-command-separation-character
(defvar-local semantic-command-separation-character
";"
"String which indicates the end of a command.
Used for identifying the end of a single command.")
(make-variable-buffer-local 'semantic-command-separation-character)
(defvar semantic-function-argument-separation-character
(defvar-local semantic-function-argument-separation-character
","
"String which indicates the end of an argument.
Used for identifying arguments to functions.")
(make-variable-buffer-local 'semantic-function-argument-separation-character)
;;; Local Contexts
;;

View file

@ -426,17 +426,15 @@ Default action as described in `semanticdb-find-translate-path'."
;; searchable item, then instead do the regular thing without caching.
(semanticdb-find-translate-path-includes--internal path))))
(defvar semanticdb-find-lost-includes nil
(defvar-local semanticdb-find-lost-includes nil
"Include files that we cannot find associated with this buffer.")
(make-variable-buffer-local 'semanticdb-find-lost-includes)
(defvar semanticdb-find-scanned-include-tags nil
(defvar-local semanticdb-find-scanned-include-tags nil
"All include tags scanned, plus action taken on the tag.
Each entry is an alist:
(ACTION . TAG)
where ACTION is one of `scanned', `duplicate', `lost'
and TAG is a clone of the include tag that was found.")
(make-variable-buffer-local 'semanticdb-find-scanned-include-tags)
(defvar semanticdb-implied-include-tags nil
"Include tags implied for all files of a given mode.

View file

@ -50,27 +50,23 @@
(defvar semanticdb-database-list nil
"List of all active databases.")
(defvar semanticdb-new-database-class 'semanticdb-project-database-file
(defvar-local semanticdb-new-database-class 'semanticdb-project-database-file
"The default type of database created for new files.
This can be changed on a per file basis, so that some directories
are saved using one mechanism, and some directories via a different
mechanism.")
(make-variable-buffer-local 'semanticdb-new-database-class)
(defvar semanticdb-default-find-index-class 'semanticdb-find-search-index
(defvar-local semanticdb-default-find-index-class 'semanticdb-find-search-index
"The default type of search index to use for a `semanticdb-table's.
This can be changed to try out new types of search indices.")
(make-variable-buffer-local 'semanticdb-default-find=index-class)
;;;###autoload
(defvar semanticdb-current-database nil
(defvar-local semanticdb-current-database nil
"For a given buffer, this is the currently active database.")
(make-variable-buffer-local 'semanticdb-current-database)
;;;###autoload
(defvar semanticdb-current-table nil
(defvar-local semanticdb-current-table nil
"For a given buffer, this is the currently active database table.")
(make-variable-buffer-local 'semanticdb-current-table)
;;; ABSTRACT CLASSES
;;
@ -825,13 +821,12 @@ must return a string, (the root directory) or a list of strings (multiple
root directories in a more complex system). This variable should be used
by project management programs like EDE or JDE.")
(defvar semanticdb-project-system-databases nil
(defvar-local semanticdb-project-system-databases nil
"List of databases containing system library information.
Mode authors can create their own system databases which know
detailed information about the system libraries for querying purposes.
Put those into this variable as a buffer-local, or mode-local
value.")
(make-variable-buffer-local 'semanticdb-project-system-databases)
(defvar semanticdb-search-system-databases t
"Non-nil if search routines are to include a system database.")
@ -1016,10 +1011,9 @@ DONTLOAD does not affect the creation of new database objects."
)
)))
(defvar semanticdb-out-of-buffer-create-table-fcn nil
(defvar-local semanticdb-out-of-buffer-create-table-fcn nil
"When non-nil, a function for creating a semanticdb table.
This should take a filename to be parsed.")
(make-variable-buffer-local 'semanticdb-out-of-buffer-create-table-fcn)
(defun semanticdb-create-table-for-file-not-in-buffer (filename)
"Create a table for the file FILENAME.

View file

@ -44,24 +44,18 @@
;;; Code:
;;;###autoload
(defvar semantic-debug-parser-source nil
(defvar-local semantic-debug-parser-source nil
"For any buffer, the file name (no path) of the parser.
This would be a parser for a specific language, not the source
to one of the parser generators.")
;;;###autoload
(make-variable-buffer-local 'semantic-debug-parser-source)
;;;###autoload
(defvar semantic-debug-parser-class nil
(defvar-local semantic-debug-parser-class nil
"Class to create when building a debug parser object.")
;;;###autoload
(make-variable-buffer-local 'semantic-debug-parser-class)
;;;###autoload
(defvar semantic-debug-parser-debugger-source nil
(defvar-local semantic-debug-parser-debugger-source nil
"Location of the debug parser class.")
;;;###autoload
(make-variable-buffer-local 'semantic-debug-parser-source)
(defvar semantic-debug-enabled nil
"Non-nil when debugging a parser.")

View file

@ -39,7 +39,7 @@
;;; Code:
(defvar semantic-dependency-include-path nil
(defvar-local semantic-dependency-include-path nil
"Defines the include path used when searching for files.
This should be a list of directories to search which is specific
to the file being included.
@ -56,9 +56,8 @@ reparsed, the cache will be reset.
TODO: use ffap.el to locate such items?
NOTE: Obsolete this, or use as special user")
(make-variable-buffer-local 'semantic-dependency-include-path)
(defvar semantic-dependency-system-include-path nil
(defvar-local semantic-dependency-system-include-path nil
"Defines the system include path.
This should be set with either `defvar-mode-local', or with
`semantic-add-system-include'.
@ -71,7 +70,6 @@ When searching for a file associated with a name found in a tag of
class include, this path will be inspected for includes of type
`system'. Some include tags are agnostic to this setting and will
check both the project and system directories.")
(make-variable-buffer-local 'semantic-dependency-system-include-path)
(defmacro defcustom-mode-local-semantic-dependency-system-include-path
(mode name value &optional docstring)

View file

@ -78,13 +78,11 @@ Images can be used as icons instead of some types of text strings."
:group 'semantic
:type 'boolean)
(defvar semantic-function-argument-separator ","
(defvar-local semantic-function-argument-separator ","
"Text used to separate arguments when creating text from tags.")
(make-variable-buffer-local 'semantic-function-argument-separator)
(defvar semantic-format-parent-separator "::"
(defvar-local semantic-format-parent-separator "::"
"Text used to separate names when between namespaces/classes and functions.")
(make-variable-buffer-local 'semantic-format-parent-separator)
(defvar semantic-format-face-alist
`( (function . font-lock-function-name-face)

View file

@ -243,9 +243,8 @@ Avoid using a large BODY since it is duplicated."
;;; Misc utilities
;;
(defvar semantic-new-buffer-fcn-was-run nil
(defvar-local semantic-new-buffer-fcn-was-run nil
"Non-nil after `semantic-new-buffer-fcn' has been executed.")
(make-variable-buffer-local 'semantic-new-buffer-fcn-was-run)
(defsubst semantic-active-p ()
"Return non-nil if the current buffer was set up for parsing."

View file

@ -432,9 +432,8 @@ Also load the specified macro libraries."
defs)))
(nreverse defs)))
(defvar semantic-grammar-macros nil
(defvar-local semantic-grammar-macros nil
"List of associations (MACRO-NAME . EXPANDER).")
(make-variable-buffer-local 'semantic-grammar-macros)
(defun semantic-grammar-macros ()
"Build and return the alist of defined macros."
@ -1054,8 +1053,7 @@ See also the variable `semantic-grammar-file-regexp'."
;;;; Macros highlighting
;;;;
(defvar semantic--grammar-macros-regexp-1 nil)
(make-variable-buffer-local 'semantic--grammar-macros-regexp-1)
(defvar-local semantic--grammar-macros-regexp-1 nil)
(defun semantic--grammar-macros-regexp-1 ()
"Return font-lock keyword regexp for pre-installed macro names."
@ -1076,8 +1074,7 @@ See also the variable `semantic-grammar-file-regexp'."
"\\<%use-macros\\>[ \t\r\n]+\\(\\sw\\|\\s_\\)+[ \t\r\n]+{"
"Regexp that matches a macro declaration statement.")
(defvar semantic--grammar-macros-regexp-2 nil)
(make-variable-buffer-local 'semantic--grammar-macros-regexp-2)
(defvar-local semantic--grammar-macros-regexp-2 nil)
(defun semantic--grammar-clear-macros-regexp-2 (&rest _)
"Clear the cached regexp that match macros local in this grammar.

View file

@ -135,10 +135,9 @@ it is unlikely the user would be ready to type again right away."
:group 'semantic
:type 'hook)
(defvar semantic-idle-scheduler-mode nil
(defvar-local semantic-idle-scheduler-mode nil
"Non-nil if idle-scheduler minor mode is enabled.
Use the command `semantic-idle-scheduler-mode' to change this variable.")
(make-variable-buffer-local 'semantic-idle-scheduler-mode)
(defcustom semantic-idle-scheduler-max-buffer-size 0
"Maximum size in bytes of buffers where idle-scheduler is enabled.
@ -717,8 +716,7 @@ specific to a major mode. For example, in jde mode:
(defun semantic-idle-summary-useful-context-p ()
"Non-nil if we should show a summary based on context."
(if (and (boundp 'font-lock-mode)
font-lock-mode
(if (and font-lock-mode
(memq (get-text-property (point) 'face)
semantic-idle-summary-out-of-context-faces))
;; The best I can think of at the moment is to disable

View file

@ -136,12 +136,11 @@ other buffer local ones based on the same semanticdb."
"Non-nil if `semantic-imenu-rebuild-directory-indexes' is running.")
;;;###autoload
(defvar semantic-imenu-expandable-tag-classes '(type)
(defvar-local semantic-imenu-expandable-tag-classes '(type)
"List of expandable tag classes.
Tags of those classes will be given submenu with children.
By default, a `type' has interesting children. In Texinfo, however, a
`section' has interesting children.")
(make-variable-buffer-local 'semantic-imenu-expandable-tag-classes)
;;; Code:
(defun semantic-imenu-tag-overlay (tag)

View file

@ -73,28 +73,24 @@
(declare-function c-end-of-macro "cc-engine")
;;; Code:
(defvar semantic-lex-spp-macro-symbol-obarray nil
(defvar-local semantic-lex-spp-macro-symbol-obarray nil
"Table of macro keywords used by the Semantic Preprocessor.
These symbols will be used in addition to those in
`semantic-lex-spp-dynamic-macro-symbol-obarray'.")
(make-variable-buffer-local 'semantic-lex-spp-macro-symbol-obarray)
(defvar semantic-lex-spp-project-macro-symbol-obarray nil
(defvar-local semantic-lex-spp-project-macro-symbol-obarray nil
"Table of macro keywords for this project.
These symbols will be used in addition to those in
`semantic-lex-spp-dynamic-macro-symbol-obarray'.")
(make-variable-buffer-local 'semantic-lex-spp-project-macro-symbol-obarray)
(defvar semantic-lex-spp-dynamic-macro-symbol-obarray nil
(defvar-local semantic-lex-spp-dynamic-macro-symbol-obarray nil
"Table of macro keywords used during lexical analysis.
Macros are lexical symbols which are replaced by other lexical
tokens during lexical analysis. During analysis symbols can be
added and removed from this symbol table.")
(make-variable-buffer-local 'semantic-lex-spp-dynamic-macro-symbol-obarray)
(defvar semantic-lex-spp-dynamic-macro-symbol-obarray-stack nil
(defvar-local semantic-lex-spp-dynamic-macro-symbol-obarray-stack nil
"A stack of obarrays for temporarily scoped macro values.")
(make-variable-buffer-local 'semantic-lex-spp-dynamic-macro-symbol-obarray-stack)
(defvar semantic-lex-spp-expanded-macro-stack nil
"The stack of lexical SPP macros we have expanded.")

View file

@ -202,10 +202,9 @@ as a PROPERTY value. FUN receives a symbol as argument."
;; These keywords are keywords defined for using in a grammar with the
;; %keyword declaration, and are not keywords used in Emacs Lisp.
(defvar semantic-flex-keywords-obarray nil
(defvar-local semantic-flex-keywords-obarray nil
"Buffer local keyword obarray for the lexical analyzer.
These keywords are matched explicitly, and converted into special symbols.")
(make-variable-buffer-local 'semantic-flex-keywords-obarray)
(defmacro semantic-lex-keyword-invalid (name)
"Signal that NAME is an invalid keyword name."
@ -333,9 +332,8 @@ so that analysis can continue, if possible."
;; with the %type declaration. Types represent different syntaxes.
;; See code for `semantic-lex-preset-default-types' for the classic
;; types of syntax.
(defvar semantic-lex-types-obarray nil
(defvar-local semantic-lex-types-obarray nil
"Buffer local types obarray for the lexical analyzer.")
(make-variable-buffer-local 'semantic-lex-types-obarray)
(defun semantic-lex-type-invalid (type)
"Signal that TYPE is an invalid lexical type name."
@ -472,11 +470,10 @@ PROPERTY set."
;;
;; FIXME change to non-obsolete default.
(defvar semantic-lex-analyzer 'semantic-flex
(defvar-local semantic-lex-analyzer 'semantic-flex
"The lexical analyzer used for a given buffer.
See `semantic-lex' for documentation.
For compatibility with Semantic 1.x it defaults to `semantic-flex'.")
(make-variable-buffer-local 'semantic-lex-analyzer)
(defvar semantic-lex-tokens
'(
@ -558,7 +555,7 @@ The key to this alist is the symbol representing token type that
- whitespace: Characters that match `\\s-+' regexp.
This token is produced with `semantic-lex-whitespace'.")
(defvar semantic-lex-syntax-modifications nil
(defvar-local semantic-lex-syntax-modifications nil
"Changes to the syntax table for this buffer.
These changes are active only while the buffer is being flexed.
This is a list where each element has the form:
@ -566,20 +563,17 @@ This is a list where each element has the form:
CHAR is the char passed to `modify-syntax-entry',
and CLASS is the string also passed to `modify-syntax-entry' to define
what syntax class CHAR has.")
(make-variable-buffer-local 'semantic-lex-syntax-modifications)
(defvar semantic-lex-syntax-table nil
(defvar-local semantic-lex-syntax-table nil
"Syntax table used by lexical analysis.
See also `semantic-lex-syntax-modifications'.")
(make-variable-buffer-local 'semantic-lex-syntax-table)
(defvar semantic-lex-comment-regex nil
(defvar-local semantic-lex-comment-regex nil
"Regular expression for identifying comment start during lexical analysis.
This may be automatically set when semantic initializes in a mode, but
may need to be overridden for some special languages.")
(make-variable-buffer-local 'semantic-lex-comment-regex)
(defvar semantic-lex-number-expression
(defvar-local semantic-lex-number-expression
;; This expression was written by David Ponce for Java, and copied
;; here for C and any other similar language.
(eval-when-compile
@ -628,12 +622,10 @@ FLOATING_POINT_LITERAL:
| [0-9]+<EXPONENT>[fFdD]?
| [0-9]+<EXPONENT>?[fFdD]
;")
(make-variable-buffer-local 'semantic-lex-number-expression)
(defvar semantic-lex-depth 0
(defvar-local semantic-lex-depth 0
"Default lexing depth.
This specifies how many lists to create tokens in.")
(make-variable-buffer-local 'semantic-lex-depth)
(defvar semantic-lex-unterminated-syntax-end-function
(lambda (_syntax _syntax-start lex-end) lex-end)
@ -1768,7 +1760,7 @@ when finding unterminated syntax.")
(make-obsolete-variable 'semantic-flex-unterminated-syntax-end-function
nil "28.1")
(defvar semantic-flex-extensions nil
(defvar-local semantic-flex-extensions nil
"Buffer local extensions to the lexical analyzer.
This should contain an alist with a key of a regex and a data element of
a function. The function should both move point, and return a lexical
@ -1777,10 +1769,9 @@ token of the form:
nil is also a valid return value.
TYPE can be any type of symbol, as long as it doesn't occur as a
nonterminal in the language definition.")
(make-variable-buffer-local 'semantic-flex-extensions)
(make-obsolete-variable 'semantic-flex-extensions nil "28.1")
(defvar semantic-flex-syntax-modifications nil
(defvar-local semantic-flex-syntax-modifications nil
"Changes to the syntax table for this buffer.
These changes are active only while the buffer is being flexed.
This is a list where each element has the form:
@ -1788,47 +1779,40 @@ This is a list where each element has the form:
CHAR is the char passed to `modify-syntax-entry',
and CLASS is the string also passed to `modify-syntax-entry' to define
what syntax class CHAR has.")
(make-variable-buffer-local 'semantic-flex-syntax-modifications)
(make-obsolete-variable 'semantic-flex-syntax-modifications nil "28.1")
(defvar semantic-ignore-comments t
(defvar-local semantic-ignore-comments t
"Default comment handling.
The value t means to strip comments when flexing; nil means
to keep comments as part of the token stream.")
(make-variable-buffer-local 'semantic-ignore-comments)
(make-obsolete-variable 'semantic-ignore-comments nil "28.1")
(defvar semantic-flex-enable-newlines nil
(defvar-local semantic-flex-enable-newlines nil
"When flexing, report newlines as syntactic elements.
Useful for languages where the newline is a special case terminator.
Only set this on a per mode basis, not globally.")
(make-variable-buffer-local 'semantic-flex-enable-newlines)
(make-obsolete-variable 'semantic-flex-enable-newlines nil "28.1")
(defvar semantic-flex-enable-whitespace nil
(defvar-local semantic-flex-enable-whitespace nil
"When flexing, report whitespace as syntactic elements.
Useful for languages where the syntax is whitespace dependent.
Only set this on a per mode basis, not globally.")
(make-variable-buffer-local 'semantic-flex-enable-whitespace)
(make-obsolete-variable 'semantic-flex-enable-whitespace nil "28.1")
(defvar semantic-flex-enable-bol nil
(defvar-local semantic-flex-enable-bol nil
"When flexing, report beginning of lines as syntactic elements.
Useful for languages like python which are indentation sensitive.
Only set this on a per mode basis, not globally.")
(make-variable-buffer-local 'semantic-flex-enable-bol)
(make-obsolete-variable 'semantic-flex-enable-bol nil "28.1")
(defvar semantic-number-expression semantic-lex-number-expression
(defvar-local semantic-number-expression semantic-lex-number-expression
"See variable `semantic-lex-number-expression'.")
(make-variable-buffer-local 'semantic-number-expression)
(make-obsolete-variable 'semantic-number-expression
'semantic-lex-number-expression "28.1")
(defvar semantic-flex-depth 0
(defvar-local semantic-flex-depth 0
"Default flexing depth.
This specifies how many lists to create tokens in.")
(make-variable-buffer-local 'semantic-flex-depth)
(make-obsolete-variable 'semantic-flex-depth nil "28.1")
(provide 'semantic/lex)

View file

@ -601,10 +601,9 @@ Makes C/C++ language like assumptions."
)
(t nil)))
(defvar senator-isearch-semantic-mode nil
(defvar-local senator-isearch-semantic-mode nil
"Non-nil if isearch does semantic search.
This is a buffer local variable.")
(make-variable-buffer-local 'senator-isearch-semantic-mode)
(defun senator-beginning-of-defun (&optional arg)
"Move backward to the beginning of a defun.

View file

@ -310,11 +310,10 @@ may re-organize the list with side-effects."
;; external members, and bring them together in a cloned copy of the
;; class tag.
;;
(defvar semantic-orphaned-member-metaparent-type "class"
(defvar-local semantic-orphaned-member-metaparent-type "class"
"In `semantic-adopt-external-members', the type of 'type for metaparents.
A metaparent is a made-up type semantic token used to hold the child list
of orphaned members of a named type.")
(make-variable-buffer-local 'semantic-orphaned-member-metaparent-type)
(defvar semantic-mark-external-member-function nil
"Function called when an externally defined orphan is found.

View file

@ -1194,7 +1194,7 @@ See also the function `semantic--expand-tag'."
(setq tag (cdr tag)))
(null tag)))
(defvar semantic-tag-expand-function nil
(defvar-local semantic-tag-expand-function nil
"Function used to expand a tag.
It is passed each tag production, and must return a list of tags
derived from it, or nil if it does not need to be expanded.
@ -1207,7 +1207,6 @@ following definition is easily parsed into one tag:
This function should take this compound tag and turn it into two tags,
one for A, and the other for B.")
(make-variable-buffer-local 'semantic-tag-expand-function)
(defun semantic--tag-expand (tag)
"Convert TAG from a raw state to a cooked state, and expand it.

View file

@ -498,10 +498,9 @@ non-nil if the minor mode is enabled."
(semantic-add-minor-mode 'semantic-show-parser-state-mode
"")
(defvar semantic-show-parser-state-string nil
(defvar-local semantic-show-parser-state-string nil
"String showing the parser state for this buffer.
See `semantic-show-parser-state-marker' for details.")
(make-variable-buffer-local 'semantic-show-parser-state-string)
(defun semantic-show-parser-state-marker (&rest ignore)
"Set `semantic-show-parser-state-string' to indicate parser state.
@ -692,10 +691,6 @@ non-nil if the minor mode is enabled."
;; Disable minor mode if semantic stuff not available
(setq semantic-stickyfunc-mode nil)
(error "Buffer %s was not set up for parsing" (buffer-name)))
(unless (boundp 'header-line-format)
;; Disable if there are no header lines to use.
(setq semantic-stickyfunc-mode nil)
(error "Sticky Function mode requires Emacs"))
;; Enable the mode
;; Save previous buffer local value of header line format.
(when (and (local-variable-p 'header-line-format (current-buffer))
@ -713,10 +708,9 @@ non-nil if the minor mode is enabled."
(setq header-line-format semantic-stickyfunc-old-hlf)
(kill-local-variable 'semantic-stickyfunc-old-hlf)))))
(defvar semantic-stickyfunc-sticky-classes
(defvar-local semantic-stickyfunc-sticky-classes
'(function type)
"List of tag classes which stickyfunc will display in the header line.")
(make-variable-buffer-local 'semantic-stickyfunc-sticky-classes)
(defcustom semantic-stickyfunc-show-only-functions-p nil
"Non-nil means don't show lines that aren't part of a tag.
@ -886,9 +880,8 @@ Argument EVENT describes the event that caused this function to be called."
)
(select-window startwin)))
(defvar semantic-highlight-func-ct-overlay nil
(defvar-local semantic-highlight-func-ct-overlay nil
"Overlay used to highlight the tag the cursor is in.")
(make-variable-buffer-local 'semantic-highlight-func-ct-overlay)
(defface semantic-highlight-func-current-tag-face
'((((class color) (background dark))

View file

@ -39,20 +39,18 @@
;;; Code:
(defvar semantic-type-relation-separator-character '(".")
(defvar-local semantic-type-relation-separator-character '(".")
"Character strings used to separate a parent/child relationship.
This list of strings are used for displaying or finding separators
in variable field dereferencing. The first character will be used for
display. In C, a type field is separated like this: \"type.field\"
thus, the character is a \".\". In C, and additional value of \"->\"
would be in the list, so that \"type->field\" could be found.")
(make-variable-buffer-local 'semantic-type-relation-separator-character)
(defvar semantic-equivalent-major-modes nil
(defvar-local semantic-equivalent-major-modes nil
"List of major modes which are considered equivalent.
Equivalent modes share a parser, and a set of override methods.
A value of nil means that the current major mode is the only one.")
(make-variable-buffer-local 'semantic-equivalent-major-modes)
(declare-function semanticdb-file-stream "semantic/db" (file))

View file

@ -93,15 +93,13 @@ it to a form suitable for the Wisent's parser."
;;; Syntax analysis
;;
(defvar wisent-error-function nil
(defvar-local wisent-error-function nil
"Function used to report parse error.
By default use the function `wisent-message'.")
(make-variable-buffer-local 'wisent-error-function)
(defvar wisent-lexer-function 'wisent-lex
(defvar-local wisent-lexer-function 'wisent-lex
"Function used to obtain the next lexical token in input.
Should be a lexical analyzer created with `define-wisent-lexer'.")
(make-variable-buffer-local 'wisent-lexer-function)
;; Tag production
;;

View file

@ -33,11 +33,6 @@
;;; Code:
;; Emacs < 23.3
(eval-and-compile
(unless (boundp 'float-pi)
(defconst float-pi (* 4 (atan 1)) "The value of Pi (3.1415926...).")))
;;;###autoload
(defun color-name-to-rgb (color &optional frame)
"Convert COLOR string to a list of normalized RGB components.

View file

@ -2253,15 +2253,23 @@ This function could be on `comint-output-filter-functions' or bound to a key."
"Strip trailing `^M' characters from the current output group.
This function could be on `comint-output-filter-functions' or bound to a key."
(interactive)
(let ((pmark (process-mark (get-buffer-process (current-buffer)))))
(save-excursion
(condition-case nil
(goto-char
(if (called-interactively-p 'interactive)
comint-last-input-end comint-last-output-start))
(error nil))
(while (re-search-forward "\r+$" pmark t)
(replace-match "" t t)))))
(let ((process (get-buffer-process (current-buffer))))
(if (not process)
;; This function may be used in
;; `comint-output-filter-functions', and in that case, if
;; there's no process, then we should do nothing. If
;; interactive, report an error.
(when (called-interactively-p 'interactive)
(error "No process in the current buffer"))
(let ((pmark (process-mark process)))
(save-excursion
(condition-case nil
(goto-char
(if (called-interactively-p 'interactive)
comint-last-input-end comint-last-output-start))
(error nil))
(while (re-search-forward "\r+$" pmark t)
(replace-match "" t t)))))))
(define-obsolete-function-alias 'shell-strip-ctrl-m #'comint-strip-ctrl-m "27.1")
(defun comint-show-maximum-output ()
@ -2375,12 +2383,11 @@ a buffer local variable."
;; saved -- typically passwords to ftp, telnet, or somesuch.
;; Just enter m-x comint-send-invisible and type in your line.
(defvar comint-password-function nil
(defvar-local comint-password-function nil
"Abnormal hook run when prompted for a password.
This function gets one argument, a string containing the prompt.
It may return a string containing the password, or nil if normal
password prompting should occur.")
(make-variable-buffer-local 'comint-password-function)
(defun comint-send-invisible (&optional prompt)
"Read a string without echoing.

View file

@ -505,9 +505,8 @@ Used to decide whether to save completions.")
;; Old name, non-namespace-clean.
(defvaralias 'cmpl-syntax-table 'completion-syntax-table)
(defvar completion-syntax-table completion-standard-syntax-table
(defvar-local completion-syntax-table completion-standard-syntax-table
"This variable holds the current completion syntax table.")
(make-variable-buffer-local 'completion-syntax-table)
;;-----------------------------------------------
;; Symbol functions

View file

@ -350,7 +350,7 @@ for more information."
;; if you need to recompile all the Lisp files using interpreted code.
`(custom-declare-variable
',symbol
,(if lexical-binding ;FIXME: This is not reliable, but is all we have.
,(if lexical-binding
;; The STANDARD arg should be an expression that evaluates to
;; the standard value. The use of `eval' for it is spread
;; over many different places and hence difficult to
@ -627,6 +627,10 @@ property, or (ii) an alias for another customizable variable."
(or (get variable 'standard-value)
(get variable 'custom-autoload))))
(defun custom--standard-value (variable)
"Return the standard value of VARIABLE."
(eval (car (get variable 'standard-value)) t))
(define-obsolete-function-alias 'user-variable-p 'custom-variable-p "24.3")
(defun custom-note-var-changed (variable)

View file

@ -5,10 +5,6 @@
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Keywords: file, tags, tools
(defvar dframe-version "1.3"
"The current version of the dedicated frame library.")
(make-obsolete-variable 'dframe-version nil "28.1")
;; This file is part of GNU Emacs.
;; GNU Emacs is free software: you can redistribute it and/or modify
@ -150,42 +146,35 @@ selected frame and the focus will change to that frame."
:group 'dframe
:type 'hook)
(defvar dframe-track-mouse-function nil
(defvar-local dframe-track-mouse-function nil
"A function to call when the mouse is moved in the given frame.
Typically used to display info about the line under the mouse.")
(make-variable-buffer-local 'dframe-track-mouse-function)
(defvar dframe-help-echo-function nil
(defvar-local dframe-help-echo-function nil
"A function to call when help-echo is used in newer versions of Emacs.
Typically used to display info about the line under the mouse.")
(make-variable-buffer-local 'dframe-help-echo-function)
(defvar dframe-mouse-click-function nil
(defvar-local dframe-mouse-click-function nil
"A function to call when the mouse is clicked.
Valid clicks are mouse 2, our double mouse 1.")
(make-variable-buffer-local 'dframe-mouse-click-function)
(defvar dframe-mouse-position-function nil
(defvar-local dframe-mouse-position-function nil
"A function to call to position the cursor for a mouse click.")
(make-variable-buffer-local 'dframe-mouse-position-function)
(defvar dframe-power-click nil
"Never set this by hand. Value is t when S-mouse activity occurs.")
(defvar dframe-timer nil
(defvar-local dframe-timer nil
"The dframe timer used for updating the buffer.")
(make-variable-buffer-local 'dframe-timer)
(defvar dframe-attached-frame nil
(defvar-local dframe-attached-frame nil
"The frame which started a frame mode.
This is the frame from which all interesting activities will go
for the mode using dframe.")
(make-variable-buffer-local 'dframe-attached-frame)
(defvar dframe-controlled nil
(defvar-local dframe-controlled nil
"Is this buffer controlled by a dedicated frame.
Local to those buffers, as a function called that created it.")
(make-variable-buffer-local 'dframe-controlled)
(defun dframe-update-keymap (map)
"Update the keymap MAP for dframe default bindings."
@ -686,28 +675,26 @@ Evaluates all cached timer functions in sequence."
(funcall (car l)))
(setq l (cdr l)))))
(defalias 'dframe-popup-kludge
(lambda (e)
"Pop up a menu related to the clicked on item.
(defun dframe-popup-kludge (e)
"Pop up a menu related to the clicked on item.
Must be bound to event E."
(interactive "e")
(save-excursion
(mouse-set-point e)
;; This gets the cursor where the user can see it.
(if (not (bolp)) (forward-char -1))
(sit-for 0)
(popup-menu (mouse-menu-major-mode-map) e))))
(interactive "e")
(save-excursion
(mouse-set-point e)
;; This gets the cursor where the user can see it.
(if (not (bolp)) (forward-char -1))
(sit-for 0)
(popup-menu (mouse-menu-major-mode-map) e)))
;;; Interactive user functions for the mouse
;;
(defalias 'dframe-mouse-event-p
(lambda (event)
"Return t if the event is a mouse related event."
(if (and (listp event)
(member (event-basic-type event)
'(mouse-1 mouse-2 mouse-3)))
t
nil)))
(defun dframe-mouse-event-p (event)
"Return t if the event is a mouse related event."
(if (and (listp event)
(member (event-basic-type event)
'(mouse-1 mouse-2 mouse-3)))
t
nil))
(defun dframe-track-mouse (event)
"For motion EVENT, display info about the current line."
@ -836,6 +823,13 @@ the mode-line."
(t (dframe-message
"Click on the edge of the mode line to scroll left/right")))))
;;; Obsolete
(defvar dframe-version "1.3"
"The current version of the dedicated frame library.")
(make-obsolete-variable 'dframe-version nil "28.1")
(provide 'dframe)
;;; dframe.el ends here

View file

@ -3148,7 +3148,7 @@ REGEXP should use constructs supported by your local `grep' command."
(with-current-buffer
(let ((xref-show-xrefs-function
;; Some future-proofing (bug#44905).
(eval (car (get 'xref-show-xrefs-function 'standard-value)))))
(custom--standard-value 'xref-show-xrefs-function)))
(dired-do-find-regexp from))
(xref-query-replace-in-results from to)))

View file

@ -2332,19 +2332,9 @@ to relist the file at point or the marked files or a
subdirectory, or type \\[dired-build-subdir-alist] to parse the buffer
again for the directory tree.
Customization variables (rename this buffer and type \\[describe-variable] on each line
for more info):
See the `dired' customization group for a list of user options.
`dired-listing-switches'
`dired-trivial-filenames'
`dired-marker-char'
`dired-del-marker'
`dired-keep-marker-rename'
`dired-keep-marker-copy'
`dired-keep-marker-hardlink'
`dired-keep-marker-symlink'
Hooks (use \\[describe-variable] to see their documentation):
This mode runs the following hooks:
`dired-before-readin-hook'
`dired-after-readin-hook'

View file

@ -95,8 +95,7 @@ but not `C-u X' or `ESC X' since the X is not the prefix key."
(global-set-key [ignore] 'ignore)
(or (boundp 'isearch-mode-map)
(load-library "isearch"))
(require 'isearch)
(define-key isearch-mode-map [ignore]
(lambda () (interactive) (isearch-update)))
@ -141,12 +140,6 @@ but not `C-u X' or `ESC X' since the X is not the prefix key."
;;; Mode
;; This feature seemed useless and it confused describe-mode,
;; so I deleted it.
;; (defvar double-mode-name "Double")
;; ;; Name of current double mode.
;; (make-variable-buffer-local 'double-mode-name)
;;;###autoload
(define-minor-mode double-mode
"Toggle special insertion on double keypresses (Double mode).

View file

@ -95,8 +95,7 @@
map)
"Keymap defining commands available in `electric-help-mode'.")
(defvar electric-help-orig-major-mode nil)
(make-variable-buffer-local 'electric-help-orig-major-mode)
(defvar-local electric-help-orig-major-mode nil)
(defun electric-help-mode ()
"`with-electric-help' temporarily places its buffer in this mode.

View file

@ -67,9 +67,8 @@
(define-obsolete-variable-alias 'chart-map 'chart-mode-map "24.1")
(defvar chart-mode-map (make-sparse-keymap) "Keymap used in chart mode.")
(defvar chart-local-object nil
(defvar-local chart-local-object nil
"Local variable containing the locally displayed chart object.")
(make-variable-buffer-local 'chart-local-object)
(defvar chart-face-color-list '("red" "green" "blue"
"cyan" "yellow" "purple")

View file

@ -147,13 +147,6 @@
;;
;; See the above section "Checking Parameters" for details about
;; parameter checking.
;;
;; Dependencies:
;;
;; This file requires lisp-mnt (Lisp maintenance routines) for the
;; comment checkers.
;;
;; Requires custom for Emacs v20.
;;; TO DO:
;; Hook into the byte compiler on a defun/defvar level to generate

View file

@ -278,11 +278,10 @@ For example, you could write
((not globalp)
`(progn
:autoload-end
(defvar ,mode ,init-value
(defvar-local ,mode ,init-value
,(concat (format "Non-nil if %s is enabled.\n" pretty-name)
(internal--format-docstring-line
"Use the command `%s' to change this variable." mode)))
(make-variable-buffer-local ',mode)))
"Use the command `%s' to change this variable." mode)))))
(t
(let ((base-doc-string
(concat "Non-nil if %s is enabled.
@ -419,6 +418,7 @@ on if the hook has explicitly disabled it.
(pretty-global-name (easy-mmode-pretty-mode-name global-mode))
(group nil)
(extra-keywords nil)
(MODE-variable mode)
(MODE-buffers (intern (concat global-mode-name "-buffers")))
(MODE-enable-in-buffers
(intern (concat global-mode-name "-enable-in-buffers")))
@ -440,6 +440,7 @@ on if the hook has explicitly disabled it.
(pcase keyw
(:group (setq group (nconc group (list :group (pop body)))))
(:global (pop body))
(:variable (setq MODE-variable (pop body)))
(:predicate
(setq predicate (list (pop body)))
(setq turn-on-function
@ -453,8 +454,7 @@ on if the hook has explicitly disabled it.
(progn
(put ',global-mode 'globalized-minor-mode t)
:autoload-end
(defvar ,MODE-major-mode nil)
(make-variable-buffer-local ',MODE-major-mode))
(defvar-local ,MODE-major-mode nil))
;; The actual global minor-mode
(define-minor-mode ,global-mode
,(concat (format "Toggle %s in all buffers.\n" pretty-name)
@ -543,7 +543,7 @@ list."
(with-current-buffer buf
(unless ,MODE-set-explicitly
(unless (eq ,MODE-major-mode major-mode)
(if ,mode
(if ,MODE-variable
(progn
(,mode -1)
(funcall ,turn-on-function))

View file

@ -341,7 +341,7 @@ Return the result of the last expression in BODY."
;; FIXME: We should probably just be using `pop-to-buffer'.
(setq window
(cond
((and (edebug-window-live-p window)
((and (window-live-p window)
(eq (window-buffer window) buffer))
window)
((eq (window-buffer) buffer)
@ -392,7 +392,7 @@ Return the result of the last expression in BODY."
;; Get either a full window configuration or some window information.
(if (listp which-windows)
(mapcar (lambda (window)
(if (edebug-window-live-p window)
(if (window-live-p window)
(list window
(window-buffer window)
(window-point window)
@ -407,7 +407,7 @@ Return the result of the last expression in BODY."
(mapcar (lambda (one-window-info)
(if one-window-info
(apply (lambda (window buffer point start hscroll)
(if (edebug-window-live-p window)
(if (window-live-p window)
(progn
(set-window-buffer window buffer)
(set-window-point window point)
@ -2641,12 +2641,11 @@ See `edebug-behavior-alist' for implementations.")
;; window-start now stored with each function.
;;(defvar edebug-window-start nil)
;;(defvar-local edebug-window-start nil)
;; Remember where each buffers' window starts between edebug calls.
;; This is to avoid spurious recentering.
;; Does this still need to be buffer-local??
;;(setq-default edebug-window-start nil)
;;(make-variable-buffer-local 'edebug-window-start)
;; Dynamically declared unbound vars
@ -2689,7 +2688,7 @@ See `edebug-behavior-alist' for implementations.")
(edebug-outside-window (selected-window))
(edebug-outside-buffer (current-buffer))
(edebug-outside-point (point))
(edebug-outside-mark (edebug-mark))
(edebug-outside-mark (mark t))
edebug-outside-windows ; Window or screen configuration.
edebug-buffer-points
@ -2858,7 +2857,7 @@ See `edebug-behavior-alist' for implementations.")
;; Unrestore edebug-buffer's window-start, if displayed.
(let ((window (car edebug-window-data)))
(if (and (edebug-window-live-p window)
(if (and (window-live-p window)
(eq (window-buffer) edebug-buffer))
(progn
(set-window-start window (cdr edebug-window-data)
@ -2877,7 +2876,7 @@ See `edebug-behavior-alist' for implementations.")
;; Since we may be in a save-excursion, in case of quit,
;; reselect the outside window only.
;; Only needed if we are not recovering windows??
(if (edebug-window-live-p edebug-outside-window)
(if (window-live-p edebug-outside-window)
(select-window edebug-outside-window))
) ; if edebug-save-windows
@ -4541,11 +4540,6 @@ It is removed when you hit any char."
;;; Emacs version specific code
(defalias 'edebug-window-live-p 'window-live-p)
(defun edebug-mark ()
(mark t))
(defun edebug-set-conditional-breakpoint (arg condition)
"Set a conditional breakpoint at nearest sexp.
The condition is evaluated in the outside context.
@ -4661,7 +4655,15 @@ instrumentation for, defaulting to all functions."
(message "Removed edebug instrumentation from %s"
(mapconcat #'symbol-name functions ", ")))
;;; Obsolete.
(defun edebug-mark ()
(declare (obsolete mark "28.1"))
(mark t))
(define-obsolete-function-alias 'edebug-mark-marker #'mark-marker "28.1")
(define-obsolete-function-alias 'edebug-window-live-p #'window-live-p "28.1")
(provide 'edebug)
;;; edebug.el ends here

View file

@ -110,8 +110,7 @@
;; Boy Jim's profiler.el. Both were written for Emacs 18 and both were
;; pretty good first shots at profiling, but I found that they didn't
;; provide the functionality or interface that I wanted, so I wrote
;; this. I've tested elp in XEmacs 19 and Emacs 19. There's no point
;; in even trying to make this work with Emacs 18.
;; this.
;; Unlike previous profilers, elp uses Emacs 19's built-in function
;; current-time to return interval times. This obviates the need for

View file

@ -96,9 +96,8 @@
;; Internal Variables
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defvar generic-font-lock-keywords nil
(defvar-local generic-font-lock-keywords nil
"Keywords for `font-lock-defaults' in a generic mode.")
(make-variable-buffer-local 'generic-font-lock-keywords)
;;;###autoload
(defvar generic-mode-list nil

View file

@ -775,7 +775,8 @@ or to switch back to an existing one."
(setq-local find-tag-default-function 'lisp-find-tag-default)
(setq-local comment-start-skip
"\\(\\(^\\|[^\\\n]\\)\\(\\\\\\\\\\)*\\)\\(;+\\|#|\\) *")
(setq-local comment-end "|#")
(setq-local comment-end-skip "[ \t]*\\(\\s>\\||#\\)")
(setq-local font-lock-comment-end-skip "|#")
(setq imenu-case-fold-search t))
(defun lisp-find-tag-default ()
@ -1372,7 +1373,24 @@ and initial semicolons."
(derived-mode-p 'emacs-lisp-mode))
emacs-lisp-docstring-fill-column
fill-column)))
(fill-paragraph justify))
(save-restriction
(save-excursion
(let ((ppss (syntax-ppss)))
;; If we're in a string, then narrow (roughly) to that
;; string before filling. This avoids filling Lisp
;; statements that follow the string.
(when (ppss-string-terminator ppss)
(goto-char (ppss-comment-or-string-start ppss))
(beginning-of-line)
;; The string may be unterminated -- in that case, don't
;; narrow.
(when (ignore-errors
(progn
(forward-sexp 1)
t))
(narrow-to-region (ppss-comment-or-string-start ppss)
(point))))
(fill-paragraph justify)))))
;; Never return nil.
t))

View file

@ -182,8 +182,7 @@ if it exists."
;; Check if `package-archive-upload-base' is valid.
(when (or (not (stringp package-archive-upload-base))
(equal package-archive-upload-base
(car-safe
(get 'package-archive-upload-base 'standard-value))))
(custom--standard-value 'package-archive-upload-base)))
(setq package-archive-upload-base
(read-directory-name
"Base directory for package archive: ")))

View file

@ -135,7 +135,6 @@ PATTERN matches. PATTERN can take one of the forms:
(pred (not FUN)) matches if FUN called on EXPVAL returns nil.
(app FUN PAT) matches if FUN called on EXPVAL matches PAT.
(guard BOOLEXP) matches if BOOLEXP evaluates to non-nil.
(let PAT EXPR) matches if EXPR matches PAT.
(and PAT...) matches if all the patterns match.
(or PAT...) matches if any of the patterns matches.
@ -145,7 +144,7 @@ FUN in `pred' and `app' can take one of the forms:
(F ARG1 .. ARGn)
call F with ARG1..ARGn and EXPVAL as n+1'th argument
FUN, BOOLEXP, EXPR, and subsequent PAT can refer to variables
FUN, BOOLEXP, and subsequent PAT can refer to variables
bound earlier in the pattern by a SYMBOL pattern.
Additional patterns can be defined using `pcase-defmacro'.
@ -426,7 +425,6 @@ of the elements of LIST is performed as if by `pcase-let'.
(if (pcase--self-quoting-p pat) `',pat pat))
((memq head '(pred guard quote)) pat)
((memq head '(or and)) `(,head ,@(mapcar #'pcase--macroexpand (cdr pat))))
((eq head 'let) `(let ,(pcase--macroexpand (cadr pat)) ,@(cddr pat)))
((eq head 'app) `(app ,(nth 1 pat) ,(pcase--macroexpand (nth 2 pat))))
(t
(let* ((expander (pcase--get-macroexpander head))
@ -888,18 +886,9 @@ Otherwise, it defers to REST which is a list of branches of the form
(if (not (assq upat vars))
(pcase--u1 matches code (cons (cons upat sym) vars) rest)
;; Non-linear pattern. Turn it into an `eq' test.
(pcase--u1 (cons `(match ,sym . (pred (eq ,(cdr (assq upat vars)))))
(pcase--u1 (cons `(match ,sym . (pred (eql ,(cdr (assq upat vars)))))
matches)
code vars rest)))
((eq (car-safe upat) 'let)
;; A upat of the form (let VAR EXP).
;; (pcase--u1 matches code
;; (cons (cons (nth 1 upat) (nth 2 upat)) vars) rest)
(macroexp-let2
macroexp-copyable-p sym
(pcase--eval (nth 2 upat) vars)
(pcase--u1 (cons (pcase--match sym (nth 1 upat)) matches)
code vars rest)))
((eq (car-safe upat) 'app)
;; A upat of the form (app FUN PAT)
(pcase--mark-used sym)
@ -1011,5 +1000,9 @@ The predicate is the logical-AND of:
;; compounded values that are not `consp'
(t (error "Unknown QPAT: %S" qpat))))
(pcase-defmacro let (pat expr)
"Matches if EXPR matches PAT."
`(app (lambda (_) ,expr) ,pat))
(provide 'pcase)
;;; pcase.el ends here

View file

@ -187,14 +187,14 @@ Set it to nil if you don't want limits here."
(defvar reb-target-window nil
"Window to which the RE is applied to.")
(defvar reb-regexp nil
(defvar-local reb-regexp nil
"Last regexp used by RE Builder.")
(defvar reb-regexp-src nil
(defvar-local reb-regexp-src nil
"Last regexp used by RE Builder before processing it.
Except for Lisp syntax this is the same as `reb-regexp'.")
(defvar reb-overlays nil
(defvar-local reb-overlays nil
"List of overlays of the RE Builder.")
(defvar reb-window-config nil
@ -212,10 +212,6 @@ Except for Lisp syntax this is the same as `reb-regexp'.")
(defvar reb-valid-string ""
"String in mode line showing validity of RE.")
(make-variable-buffer-local 'reb-overlays)
(make-variable-buffer-local 'reb-regexp)
(make-variable-buffer-local 'reb-regexp-src)
(defconst reb-buffer "*RE-Builder*"
"Buffer to use for the RE Builder.")

View file

@ -75,7 +75,7 @@ properties won't work properly.")
(defvar syntax-propertize-chunk-size 500)
(defvar syntax-propertize-extend-region-functions
(defvar-local syntax-propertize-extend-region-functions
'(syntax-propertize-wholelines)
"Special hook run just before proceeding to propertize a region.
This is used to allow major modes to help `syntax-propertize' find safe buffer
@ -89,7 +89,6 @@ These functions are run in turn repeatedly until they all return nil.
Put first the functions more likely to cause a change and cheaper to compute.")
;; Mark it as a special hook which doesn't use any global setting
;; (i.e. doesn't obey the element t in the buffer-local value).
(make-variable-buffer-local 'syntax-propertize-extend-region-functions)
(cl-defstruct (ppss
(:constructor make-ppss)

View file

@ -634,9 +634,8 @@ a cons (TYPE . COLOR), then both properties are affected."
;;; Low-level Interface
(defvar cua-inhibit-cua-keys nil
(defvar-local cua-inhibit-cua-keys nil
"Buffer-local variable that may disable the CUA keymappings.")
(make-variable-buffer-local 'cua-inhibit-cua-keys)
;;; Aux. variables
@ -644,9 +643,8 @@ a cons (TYPE . COLOR), then both properties are affected."
;; checked in post-command hook to see if point was moved
(defvar cua--buffer-and-point-before-command nil)
;; status string for mode line indications
(defvar cua--status-string nil)
(make-variable-buffer-local 'cua--status-string)
(defvar-local cua--status-string nil
"Status string for mode line indications.")
(defvar cua--debug nil)

View file

@ -37,7 +37,7 @@
(require 'rect)
(defvar cua--rectangle nil
(defvar-local cua--rectangle nil
"If non-nil, restrict current region to this rectangle.
A cua-rectangle definition is a vector used for all actions in
`cua-rectangle-mark-mode', of the form:
@ -59,7 +59,6 @@ If VIRT is non-nil, virtual straight edges are enabled.
If SELECT is a regexp, only lines starting with that regexp are
affected.")
(make-variable-buffer-local 'cua--rectangle)
(defvar cua--last-rectangle nil
"Most recent rectangle geometry.
@ -85,9 +84,8 @@ See `cua--rectangle'.")
;; "active " "sert on" " straig" " lines ")
(defvar cua--last-killed-rectangle nil)
(defvar cua--rectangle-overlays nil
(defvar-local cua--rectangle-overlays nil
"List of overlays used to display current rectangle.")
(make-variable-buffer-local 'cua--rectangle-overlays)
(put 'cua--rectangle-overlays 'permanent-local t)
(defvar cua--overlay-keymap

View file

@ -1624,7 +1624,7 @@ invokes the command before that, etc."
;; The following two functions are used to set up undo properly.
;; In VI, unlike Emacs, if you open a line, say, and add a bunch of lines,
;; they are undone all at once.
(viper-deflocalvar viper--undo-change-group-handle nil)
(defvar-local viper--undo-change-group-handle nil)
(put 'viper--undo-change-group-handle 'permanent-local t)
(defun viper-adjust-undo ()

View file

@ -91,11 +91,9 @@ In all likelihood, you don't need to bother with this setting."
"Define VAR as a buffer-local variable.
DEFAULT-VALUE is the default value, and DOCUMENTATION is the
docstring. The variable becomes buffer-local whenever set."
(declare (indent defun))
`(progn
(defvar ,var ,default-value
,(format "%s\n(buffer local)" documentation))
(make-variable-buffer-local ',var)))
(declare (indent defun)
(obsolete defvar-local "28.1"))
`(defvar-local ,var ,default-value ,documentation))
;; (viper-loop COUNT BODY) Execute BODY COUNT times.
(defmacro viper-loop (count &rest body)
@ -161,87 +159,87 @@ docstring. The variable becomes buffer-local whenever set."
;;; Viper minor modes
;; Mode for vital things like \e, C-z.
(viper-deflocalvar viper-vi-intercept-minor-mode nil)
(defvar-local viper-vi-intercept-minor-mode nil)
(viper-deflocalvar viper-vi-basic-minor-mode nil
(defvar-local viper-vi-basic-minor-mode nil
"Viper's minor mode for Vi bindings.")
(viper-deflocalvar viper-vi-local-user-minor-mode nil
(defvar-local viper-vi-local-user-minor-mode nil
"Auxiliary minor mode for user-defined local bindings in Vi state.")
(viper-deflocalvar viper-vi-global-user-minor-mode nil
(defvar-local viper-vi-global-user-minor-mode nil
"Auxiliary minor mode for user-defined global bindings in Vi state.")
(viper-deflocalvar viper-vi-state-modifier-minor-mode nil
(defvar-local viper-vi-state-modifier-minor-mode nil
"Minor mode used to make major-mode-specific modification to Vi state.")
(viper-deflocalvar viper-vi-diehard-minor-mode nil
(defvar-local viper-vi-diehard-minor-mode nil
"This minor mode is in effect when the user wants Viper to be Vi.")
(viper-deflocalvar viper-vi-kbd-minor-mode nil
(defvar-local viper-vi-kbd-minor-mode nil
"Minor mode for Ex command macros in Vi state.
The corresponding keymap stores key bindings of Vi macros defined with
the Ex command :map.")
;; Mode for vital things like \e, C-z.
(viper-deflocalvar viper-insert-intercept-minor-mode nil)
(defvar-local viper-insert-intercept-minor-mode nil)
(viper-deflocalvar viper-insert-basic-minor-mode nil
(defvar-local viper-insert-basic-minor-mode nil
"Viper's minor mode for bindings in Insert mode.")
(viper-deflocalvar viper-insert-local-user-minor-mode nil
(defvar-local viper-insert-local-user-minor-mode nil
"Auxiliary minor mode for buffer-local user-defined bindings in Insert state.
This is a way to overshadow normal Insert mode bindings locally to certain
designated buffers.")
(viper-deflocalvar viper-insert-global-user-minor-mode nil
(defvar-local viper-insert-global-user-minor-mode nil
"Auxiliary minor mode for global user-defined bindings in Insert state.")
(viper-deflocalvar viper-insert-state-modifier-minor-mode nil
(defvar-local viper-insert-state-modifier-minor-mode nil
"Minor mode used to make major-mode-specific modification to Insert state.")
(viper-deflocalvar viper-insert-diehard-minor-mode nil
(defvar-local viper-insert-diehard-minor-mode nil
"Minor mode that simulates Vi very closely.
Not recommended, except for the novice user.")
(viper-deflocalvar viper-insert-kbd-minor-mode nil
(defvar-local viper-insert-kbd-minor-mode nil
"Minor mode for Ex command macros Insert state.
The corresponding keymap stores key bindings of Vi macros defined with
the Ex command :map!.")
(viper-deflocalvar viper-replace-minor-mode nil
(defvar-local viper-replace-minor-mode nil
"Minor mode in effect in replace state (cw, C, and the like commands).")
;; Mode for vital things like \C-z and \C-x) This is set to t, when viper-mode
;; is invoked. So, any new buffer will have C-z defined as switch to Vi,
;; unless we switched states in this buffer
(viper-deflocalvar viper-emacs-intercept-minor-mode nil)
(defvar-local viper-emacs-intercept-minor-mode nil)
(viper-deflocalvar viper-emacs-local-user-minor-mode nil
(defvar-local viper-emacs-local-user-minor-mode nil
"Minor mode for local user bindings effective in Emacs state.
Users can use it to override Emacs bindings when Viper is in its Emacs
state.")
(viper-deflocalvar viper-emacs-global-user-minor-mode nil
(defvar-local viper-emacs-global-user-minor-mode nil
"Minor mode for global user bindings in effect in Emacs state.
Users can use it to override Emacs bindings when Viper is in its Emacs
state.")
(viper-deflocalvar viper-emacs-kbd-minor-mode nil
(defvar-local viper-emacs-kbd-minor-mode nil
"Minor mode for Vi style macros in Emacs state.
The corresponding keymap stores key bindings of Vi macros defined with
`viper-record-kbd-macro' command. There is no Ex-level command to do this
interactively.")
(viper-deflocalvar viper-emacs-state-modifier-minor-mode nil
(defvar-local viper-emacs-state-modifier-minor-mode nil
"Minor mode used to make major-mode-specific modification to Emacs state.
For instance, a Vi purist may want to bind `dd' in Dired mode to a function
that deletes a file.")
(viper-deflocalvar viper-vi-minibuffer-minor-mode nil
(defvar-local viper-vi-minibuffer-minor-mode nil
"Minor mode that forces Vi-style when the Minibuffer is in Vi state.")
(viper-deflocalvar viper-insert-minibuffer-minor-mode nil
(defvar-local viper-insert-minibuffer-minor-mode nil
"Minor mode that forces Vi-style when the Minibuffer is in Insert state.")
@ -284,7 +282,7 @@ Use `\\[viper-set-expert-level]' to change this.")
;; If non-nil, ISO accents will be turned on in insert/replace emacs states and
;; turned off in vi-state. For some users, this behavior may be too
;; primitive. In this case, use insert/emacs/vi state hooks.
(viper-deflocalvar viper-automatic-iso-accents nil "")
(defvar-local viper-automatic-iso-accents nil "")
;; Set iso-accents-mode to ARG. Check if it is bound first
(defsubst viper-set-iso-accents-mode (arg)
(if (boundp 'iso-accents-mode)
@ -294,7 +292,7 @@ Use `\\[viper-set-expert-level]' to change this.")
;; Don't change this!
(defvar viper-mule-hook-flag t)
;; If non-nil, the default intl. input method is turned on.
(viper-deflocalvar viper-special-input-method nil "")
(defvar-local viper-special-input-method nil "")
;; viper hook to run on input-method activation
(defun viper-activate-input-method-action ()
@ -357,7 +355,7 @@ it better fits your working style."
;; Replace mode and changing text
;; Hack used to pass global states around for short period of time
(viper-deflocalvar viper-intermediate-command nil "")
(defvar-local viper-intermediate-command nil "")
;; This is used to pass the right Vi command key sequence to
;; viper-set-destructive-command whenever (this-command-keys) doesn't give the
@ -367,7 +365,7 @@ it better fits your working style."
(defconst viper-this-command-keys nil)
;; Indicates that the current destructive command has started in replace mode.
(viper-deflocalvar viper-began-as-replace nil "")
(defvar-local viper-began-as-replace nil "")
(defcustom viper-allow-multiline-replace-regions t
"If non-nil, Viper will allow multi-line replace regions.
@ -398,7 +396,7 @@ delete the text being replaced, as in standard Vi."
;; internal var, used to remember the default cursor color of emacs frames
(defvar viper-vi-state-cursor-color nil)
(viper-deflocalvar viper-replace-overlay nil "")
(defvar-local viper-replace-overlay nil "")
(put 'viper-replace-overlay 'permanent-local t)
(defcustom viper-replace-region-end-delimiter "$"
@ -430,24 +428,24 @@ color displays. By default, the delimiters are used only on TTYs."
;; `viper-move-marker-locally'
;;
;; Remember the last position inside the replace region.
(viper-deflocalvar viper-last-posn-in-replace-region nil)
(defvar-local viper-last-posn-in-replace-region nil)
;; Remember the last position while inserting
(viper-deflocalvar viper-last-posn-while-in-insert-state nil)
(defvar-local viper-last-posn-while-in-insert-state nil)
(put 'viper-last-posn-in-replace-region 'permanent-local t)
(put 'viper-last-posn-while-in-insert-state 'permanent-local t)
(viper-deflocalvar viper-sitting-in-replace nil "")
(defvar-local viper-sitting-in-replace nil "")
(put 'viper-sitting-in-replace 'permanent-local t)
;; Remember the number of characters that have to be deleted in replace
;; mode to compensate for the inserted characters.
(viper-deflocalvar viper-replace-chars-to-delete 0 "")
(defvar-local viper-replace-chars-to-delete 0 "")
;; This variable is used internally by the before/after changed functions to
;; determine how many chars were deleted by the change. This can't be
;; determined inside after-change-functions because those get the length of the
;; deleted region, not the number of chars deleted (which are two different
;; things under MULE).
(viper-deflocalvar viper-replace-region-chars-deleted 0 "")
(defvar-local viper-replace-region-chars-deleted 0 "")
;; Insertion ring and command ring
(defcustom viper-insertion-ring-size 14
@ -490,28 +488,28 @@ will make it hard to use Vi-style timeout macros."
;; Modes and related variables
;; Current mode. One of: `emacs-state', `vi-state', `insert-state'
(viper-deflocalvar viper-current-state 'emacs-state)
(defvar-local viper-current-state 'emacs-state)
;; Autoindent in insert
;; Variable that keeps track of whether C-t has been pressed.
(viper-deflocalvar viper-cted nil "")
(defvar-local viper-cted nil "")
;; Preserve the indent value, used by C-d in insert mode.
(viper-deflocalvar viper-current-indent 0)
(defvar-local viper-current-indent 0)
;; Whether to preserve the indent, used by C-d in insert mode.
(viper-deflocalvar viper-preserve-indent nil)
(defvar-local viper-preserve-indent nil)
(viper-deflocalvar viper-auto-indent nil "")
(defvar-local viper-auto-indent nil "")
(defcustom viper-auto-indent nil
"Enable autoindent, if t.
This is a buffer-local variable."
:type 'boolean
:group 'viper)
(viper-deflocalvar viper-electric-mode t "")
(defvar-local viper-electric-mode t "")
(defcustom viper-electric-mode t
"If t, electrify Viper.
Currently, this only electrifies auto-indentation, making it appropriate to the
@ -541,7 +539,7 @@ to a new place after repeating previous Vi command."
;; Remember insert point as a marker. This is a local marker that must be
;; initialized to nil and moved with `viper-move-marker-locally'.
(viper-deflocalvar viper-insert-point nil)
(defvar-local viper-insert-point nil)
(put 'viper-insert-point 'permanent-local t)
;; This remembers the point before dabbrev-expand was called.
@ -562,7 +560,7 @@ to a new place after repeating previous Vi command."
;; problem. However, the same trick can be used if such a command is
;; discovered later.
;;
(viper-deflocalvar viper-pre-command-point nil)
(defvar-local viper-pre-command-point nil)
(put 'viper-pre-command-point 'permanent-local t) ; this is probably an overkill
;; This is used for saving inserted text.
@ -573,7 +571,7 @@ to a new place after repeating previous Vi command."
;; Remember com point as a marker.
;; This is a local marker. Should be moved with `viper-move-marker-locally'
(viper-deflocalvar viper-com-point nil)
(defvar-local viper-com-point nil)
;; If non-nil, the value is a list (M-COM VAL COM REG inserted-text cmd-keys)
;; It is used to re-execute last destructive command.
@ -660,14 +658,14 @@ negative number."
:type 'boolean
:group 'viper)
(viper-deflocalvar viper-ex-style-motion t "")
(defvar-local viper-ex-style-motion t "")
(defcustom viper-ex-style-motion t
"If t, the commands l,h do not cross lines, etc (Ex-style).
If nil, these commands cross line boundaries."
:type 'boolean
:group 'viper)
(viper-deflocalvar viper-ex-style-editing t "")
(defvar-local viper-ex-style-editing t "")
(defcustom viper-ex-style-editing t
"If t, Ex-style behavior while editing in Vi command and insert states.
`Backspace' and `Delete' don't cross line boundaries in insert.
@ -679,14 +677,14 @@ If nil, the above commands can work across lines."
:type 'boolean
:group 'viper)
(viper-deflocalvar viper-ESC-moves-cursor-back viper-ex-style-editing "")
(defvar-local viper-ESC-moves-cursor-back viper-ex-style-editing "")
(defcustom viper-ESC-moves-cursor-back nil
"If t, ESC moves cursor back when changing from insert to vi state.
If nil, the cursor stays where it was when ESC was hit."
:type 'boolean
:group 'viper)
(viper-deflocalvar viper-delete-backwards-in-replace nil "")
(defvar-local viper-delete-backwards-in-replace nil "")
(defcustom viper-delete-backwards-in-replace nil
"If t, DEL key will delete characters while moving the cursor backwards.
If nil, the cursor will move backwards without deleting anything."
@ -704,7 +702,7 @@ If nil, the cursor will move backwards without deleting anything."
:tag "Search Wraps Around"
:group 'viper-search)
(viper-deflocalvar viper-related-files-and-buffers-ring nil "")
(defvar-local viper-related-files-and-buffers-ring nil "")
(defcustom viper-related-files-and-buffers-ring nil
"List of file and buffer names to consider related to the current buffer.
Related buffers can be cycled through via :R and :P commands."
@ -713,12 +711,12 @@ Related buffers can be cycled through via :R and :P commands."
(put 'viper-related-files-and-buffers-ring 'permanent-local t)
;; Used to find out if we are done with searching the current buffer.
(viper-deflocalvar viper-local-search-start-marker nil)
(defvar-local viper-local-search-start-marker nil)
;; As above, but global
(defvar viper-search-start-marker (make-marker))
;; the search overlay
(viper-deflocalvar viper-search-overlay nil)
(defvar-local viper-search-overlay nil)
(defvar viper-heading-start
@ -745,9 +743,9 @@ Related buffers can be cycled through via :R and :P commands."
;; inside the lines.
;; Remembers position of the last jump done using ``'.
(viper-deflocalvar viper-last-jump nil)
(defvar-local viper-last-jump nil)
;; Remembers position of the last jump done using `''.
(viper-deflocalvar viper-last-jump-ignore 0)
(defvar-local viper-last-jump-ignore 0)
;; History variables
@ -841,7 +839,7 @@ to customize the actual face object `viper-minibuffer-vi'
this variable represents.")
;; the current face to be used in the minibuffer
(viper-deflocalvar
(defvar-local
viper-minibuffer-current-face viper-minibuffer-emacs-face "")
@ -877,7 +875,7 @@ Should be set in `viper-custom-file-name'."
:group 'viper)
;; overlay used in the minibuffer to indicate which state it is in
(viper-deflocalvar viper-minibuffer-overlay nil)
(defvar-local viper-minibuffer-overlay nil)
(put 'viper-minibuffer-overlay 'permanent-local t)
;; Hook, specific to Viper, which is run just *before* exiting the minibuffer.
@ -946,9 +944,4 @@ on a dumb terminal."
(provide 'viper-init)
;; Local Variables:
;; eval: (put 'viper-deflocalvar 'lisp-indent-hook 'defun)
;; End:
;;; viper-init.el ends here

View file

@ -82,7 +82,7 @@ major mode in effect."
(defvar viper-insert-intercept-map (make-sparse-keymap))
(defvar viper-emacs-intercept-map (make-sparse-keymap))
(viper-deflocalvar viper-vi-local-user-map (make-sparse-keymap)
(defvar-local viper-vi-local-user-map (make-sparse-keymap)
"Keymap for user-defined local bindings.
Useful for changing bindings such as ZZ in certain major modes.
For instance, in letter-mode, one may want to bind ZZ to
@ -106,7 +106,7 @@ This map is global, shared by all buffers.")
This happens when viper-expert-level is 1 or 2. See viper-set-expert-level.")
(viper-deflocalvar viper-insert-local-user-map (make-sparse-keymap)
(defvar-local viper-insert-local-user-map (make-sparse-keymap)
"Auxiliary map for per-buffer user-defined keybindings in Insert state.")
(put 'viper-insert-local-user-map 'permanent-local t)
@ -133,7 +133,7 @@ viper-insert-basic-map. Not recommended, except for novice users.")
(defvar viper-emacs-kbd-map (make-sparse-keymap)
"This keymap keeps Vi-style kbd macros for Emacs mode.")
(viper-deflocalvar viper-emacs-local-user-map (make-sparse-keymap)
(defvar-local viper-emacs-local-user-map (make-sparse-keymap)
"Auxiliary map for local user-defined bindings in Emacs state.")
(put 'viper-emacs-local-user-map 'permanent-local t)
@ -209,22 +209,22 @@ In insert mode, this key also functions as Meta."
(defvar viper-emacs-state-modifier-alist nil)
;; The list of viper keymaps. Set by viper-normalize-minor-mode-map-alist
(viper-deflocalvar viper--key-maps nil)
(viper-deflocalvar viper--intercept-key-maps nil)
(defvar-local viper--key-maps nil)
(defvar-local viper--intercept-key-maps nil)
;; Tells viper-add-local-keys to create a new viper-vi-local-user-map for new
;; buffers. Not a user option.
(viper-deflocalvar viper-need-new-vi-local-map t "")
(defvar-local viper-need-new-vi-local-map t "")
(put 'viper-need-new-vi-local-map 'permanent-local t)
;; Tells viper-add-local-keys to create a new viper-insert-local-user-map for
;; new buffers. Not a user option.
(viper-deflocalvar viper-need-new-insert-local-map t "")
(defvar-local viper-need-new-insert-local-map t "")
(put 'viper-need-new-insert-local-map 'permanent-local t)
;; Tells viper-add-local-keys to create a new viper-emacs-local-user-map for
;; new buffers. Not a user option.
(viper-deflocalvar viper-need-new-emacs-local-map t "")
(defvar-local viper-need-new-emacs-local-map t "")
(put 'viper-need-new-emacs-local-map 'permanent-local t)
@ -654,10 +654,4 @@ form ((key . function) (key . function) ... )."
(provide 'viper-keym)
;; Local Variables:
;; eval: (put 'viper-deflocalvar 'lisp-indent-hook 'defun)
;; End:
;;; viper-keym.el ends here

View file

@ -74,10 +74,10 @@ considered related."
:group 'viper-mouse)
;; Local variable used to toggle wraparound search on click.
(viper-deflocalvar viper-mouse-click-search-noerror t)
(defvar-local viper-mouse-click-search-noerror t)
;; Local variable used to delimit search after wraparound.
(viper-deflocalvar viper-mouse-click-search-limit nil)
(defvar-local viper-mouse-click-search-limit nil)
;; remembers prefix argument to pass along to commands invoked by second
;; click.
@ -592,11 +592,4 @@ This buffer may be different from the one where the click occurred."
:set 'viper-reset-mouse-insert-key
:group 'viper-mouse)
;; Local Variables:
;; eval: (put 'viper-deflocalvar 'lisp-indent-hook 'defun)
;; End:
;;; viper-mous.el ends here

View file

@ -1085,10 +1085,10 @@ the `Local variables' section of a file."
;; These are characters that are not to be considered as parts of a word in
;; Viper.
;; Set each time state changes and at loading time
(viper-deflocalvar viper-non-word-characters nil)
(defvar-local viper-non-word-characters nil)
;; must be buffer-local
(viper-deflocalvar viper-ALPHA-char-class "w"
(defvar-local viper-ALPHA-char-class "w"
"String of syntax classes characterizing Viper's alphanumeric symbols.
In addition, the symbol `_' may be considered alphanumeric if
`viper-syntax-preference' is `strict-vi' or `reformed-vi'.")
@ -1375,10 +1375,4 @@ This option is appropriate if you like Emacs-style words."
(setq i (1+ i) start (1+ start)))
res))))))
;; Local Variables:
;; eval: (put 'viper-deflocalvar 'lisp-indent-hook 'defun)
;; End:
;;; viper-util.el ends here

View file

@ -1256,9 +1256,4 @@ These two lines must come in the order given."))
(provide 'viper)
;; Local Variables:
;; eval: (put 'viper-deflocalvar 'lisp-indent-hook 'defun)
;; End:
;;; viper.el ends here

View file

@ -332,7 +332,6 @@ callback data (if any)."
(cl-defstruct (epg-key
(:constructor nil)
(:constructor epg-make-key (owner-trust))
(:copier nil)
(:predicate nil))
(owner-trust nil :read-only t)
sub-key-list user-id-list)
@ -1383,11 +1382,22 @@ NAME is either a string or a list of strings."
keys))
(defun epg--filter-revoked-keys (keys)
(seq-remove (lambda (key)
(seq-find (lambda (user)
(eq (epg-user-id-validity user) 'revoked))
(epg-key-user-id-list key)))
keys))
(mapcar
(lambda (key)
;; We have something revoked, so copy the key and remove the
;; revoked bits.
(if (seq-find (lambda (user)
(eq (epg-user-id-validity user) 'revoked))
(epg-key-user-id-list key))
(let ((copy (copy-epg-key key)))
(setf (epg-key-user-id-list copy)
(seq-remove (lambda (user)
(eq (epg-user-id-validity user) 'revoked))
(epg-key-user-id-list copy)))
copy)
;; Nothing to delete; return the key.
key))
keys))
(defun epg--args-from-sig-notations (notations)
(apply #'nconc

View file

@ -120,38 +120,31 @@
;;; User data
(defvar erc-server-current-nick nil
(defvar-local erc-server-current-nick nil
"Nickname on the current server.
Use `erc-current-nick' to access this.")
(make-variable-buffer-local 'erc-server-current-nick)
;;; Server attributes
(defvar erc-server-process nil
(defvar-local erc-server-process nil
"The process object of the corresponding server connection.")
(make-variable-buffer-local 'erc-server-process)
(defvar erc-session-server nil
(defvar-local erc-session-server nil
"The server name used to connect to for this session.")
(make-variable-buffer-local 'erc-session-server)
(defvar erc-session-connector nil
(defvar-local erc-session-connector nil
"The function used to connect to this session (nil for the default).")
(make-variable-buffer-local 'erc-session-connector)
(defvar erc-session-port nil
(defvar-local erc-session-port nil
"The port used to connect to.")
(make-variable-buffer-local 'erc-session-port)
(defvar erc-server-announced-name nil
(defvar-local erc-server-announced-name nil
"The name the server announced to use.")
(make-variable-buffer-local 'erc-server-announced-name)
(defvar erc-server-version nil
(defvar-local erc-server-version nil
"The name and version of the server's ircd.")
(make-variable-buffer-local 'erc-server-version)
(defvar erc-server-parameters nil
(defvar-local erc-server-parameters nil
"Alist listing the supported server parameters.
This is only set if the server sends 005 messages saying what is
@ -177,86 +170,70 @@ RFC2812 - server supports RFC 2812 features
SILENCE=10 - supports the SILENCE command, maximum allowed number of entries
TOPICLEN=160 - maximum allowed topic length
WALLCHOPS - supports sending messages to all operators in a channel")
(make-variable-buffer-local 'erc-server-parameters)
;;; Server and connection state
(defvar erc-server-ping-timer-alist nil
"Mapping of server buffers to their specific ping timer.")
(defvar erc-server-connected nil
(defvar-local erc-server-connected nil
"Non-nil if the current buffer has been used by ERC to establish
an IRC connection.
If you wish to determine whether an IRC connection is currently
active, use the `erc-server-process-alive' function instead.")
(make-variable-buffer-local 'erc-server-connected)
(defvar erc-server-reconnect-count 0
(defvar-local erc-server-reconnect-count 0
"Number of times we have failed to reconnect to the current server.")
(make-variable-buffer-local 'erc-server-reconnect-count)
(defvar erc-server-quitting nil
(defvar-local erc-server-quitting nil
"Non-nil if the user requests a quit.")
(make-variable-buffer-local 'erc-server-quitting)
(defvar erc-server-reconnecting nil
(defvar-local erc-server-reconnecting nil
"Non-nil if the user requests an explicit reconnect, and the
current IRC process is still alive.")
(make-variable-buffer-local 'erc-server-reconnecting)
(defvar erc-server-timed-out nil
(defvar-local erc-server-timed-out nil
"Non-nil if the IRC server failed to respond to a ping.")
(make-variable-buffer-local 'erc-server-timed-out)
(defvar erc-server-banned nil
(defvar-local erc-server-banned nil
"Non-nil if the user is denied access because of a server ban.")
(make-variable-buffer-local 'erc-server-banned)
(defvar erc-server-error-occurred nil
(defvar-local erc-server-error-occurred nil
"Non-nil if the user triggers some server error.")
(make-variable-buffer-local 'erc-server-error-occurred)
(defvar erc-server-lines-sent nil
(defvar-local erc-server-lines-sent nil
"Line counter.")
(make-variable-buffer-local 'erc-server-lines-sent)
(defvar erc-server-last-peers '(nil . nil)
(defvar-local erc-server-last-peers '(nil . nil)
"Last peers used, both sender and receiver.
Those are used for /MSG destination shortcuts.")
(make-variable-buffer-local 'erc-server-last-peers)
(defvar erc-server-last-sent-time nil
(defvar-local erc-server-last-sent-time nil
"Time the message was sent.
This is useful for flood protection.")
(make-variable-buffer-local 'erc-server-last-sent-time)
(defvar erc-server-last-ping-time nil
(defvar-local erc-server-last-ping-time nil
"Time the last ping was sent.
This is useful for flood protection.")
(make-variable-buffer-local 'erc-server-last-ping-time)
(defvar erc-server-last-received-time nil
(defvar-local erc-server-last-received-time nil
"Time the last message was received from the server.
This is useful for detecting hung connections.")
(make-variable-buffer-local 'erc-server-last-received-time)
(defvar erc-server-lag nil
(defvar-local erc-server-lag nil
"Calculated server lag time in seconds.
This variable is only set in a server buffer.")
(make-variable-buffer-local 'erc-server-lag)
(defvar erc-server-filter-data nil
(defvar-local erc-server-filter-data nil
"The data that arrived from the server
but has not been processed yet.")
(make-variable-buffer-local 'erc-server-filter-data)
(defvar erc-server-duplicates (make-hash-table :test 'equal)
(defvar-local erc-server-duplicates (make-hash-table :test 'equal)
"Internal variable used to track duplicate messages.")
(make-variable-buffer-local 'erc-server-duplicates)
;; From Circe
(defvar erc-server-processing-p nil
(defvar-local erc-server-processing-p nil
"Non-nil when we're currently processing a message.
When ERC receives a private message, it sets up a new buffer for
@ -267,23 +244,19 @@ network exceptions. So, if someone sends you two messages
quickly after each other, ispell is started for the first, but
might take long enough for the second message to be processed
first.")
(make-variable-buffer-local 'erc-server-processing-p)
(defvar erc-server-flood-last-message 0
(defvar-local erc-server-flood-last-message 0
"When we sent the last message.
See `erc-server-flood-margin' for an explanation of the flood
protection algorithm.")
(make-variable-buffer-local 'erc-server-flood-last-message)
(defvar erc-server-flood-queue nil
(defvar-local erc-server-flood-queue nil
"The queue of messages waiting to be sent to the server.
See `erc-server-flood-margin' for an explanation of the flood
protection algorithm.")
(make-variable-buffer-local 'erc-server-flood-queue)
(defvar erc-server-flood-timer nil
(defvar-local erc-server-flood-timer nil
"The timer to resume sending.")
(make-variable-buffer-local 'erc-server-flood-timer)
;;; IRC protocol and misc options
@ -453,9 +426,8 @@ If this is set to nil, never try to reconnect."
:type '(choice (const :tag "Disabled" nil)
(integer :tag "Seconds")))
(defvar erc-server-ping-handler nil
(defvar-local erc-server-ping-handler nil
"This variable holds the periodic ping timer.")
(make-variable-buffer-local 'erc-server-ping-handler)
;;;; Helper functions

View file

@ -113,13 +113,11 @@ character not found in IRC nicknames to avoid confusion."
;;; Variables:
(defvar erc-capab-identify-activated nil
(defvar-local erc-capab-identify-activated nil
"CAPAB IDENTIFY-MSG has been activated.")
(make-variable-buffer-local 'erc-capab-identify-activated)
(defvar erc-capab-identify-sent nil
(defvar-local erc-capab-identify-sent nil
"CAPAB IDENTIFY-MSG and IDENTIFY-CTCP messages have been sent.")
(make-variable-buffer-local 'erc-capab-identify-sent)
;;; Functions:

View file

@ -538,8 +538,7 @@ PROC is the server process."
nil '(notice error) 'active
'dcc-get-notfound ?n nick ?f filename))))
(defvar erc-dcc-byte-count nil)
(make-variable-buffer-local 'erc-dcc-byte-count)
(defvar-local erc-dcc-byte-count nil)
(defun erc-dcc-do-LIST-command (proc)
"This is the handler for the /dcc list command.
@ -751,9 +750,8 @@ the matching regexp, or nil if none found."
'dcc-malformed ?n nick ?u login ?h host ?q query)))))
(defvar erc-dcc-entry-data nil
(defvar-local erc-dcc-entry-data nil
"Holds the `erc-dcc-list' entry for this DCC connection.")
(make-variable-buffer-local 'erc-dcc-entry-data)
;;; SEND handling
@ -905,8 +903,7 @@ other client."
:group 'erc-dcc
:type 'integer)
(defvar erc-dcc-file-name nil)
(make-variable-buffer-local 'erc-dcc-file-name)
(defvar-local erc-dcc-file-name nil)
(defun erc-dcc-get-file (entry file parent-proc)
"Set up a transfer from the remote client to the local over a TCP connection.

View file

@ -61,9 +61,8 @@ The alist's format is as follows:
"Alist of actions to take on NOTICEs from EZBounce.")
(defvar erc-ezb-session-list '()
(defvar-local erc-ezb-session-list '()
"List of detached EZBounce sessions.")
(make-variable-buffer-local 'erc-ezb-session-list)
(defvar erc-ezb-inside-session-listing nil
"Indicate whether current notices are expected to be EZB session listings.")

View file

@ -105,8 +105,7 @@ servers, presumably in the same domain."
:group 'erc-autojoin
:type 'boolean)
(defvar erc--autojoin-timer nil)
(make-variable-buffer-local 'erc--autojoin-timer)
(defvar-local erc--autojoin-timer nil)
(defun erc-autojoin-channels-delayed (server nick buffer)
"Attempt to autojoin channels.

View file

@ -82,12 +82,11 @@ Args: PROC is the process the netjoin originated from and
:group 'erc-hooks
:type 'hook)
(defvar erc-netsplit-list nil
(defvar-local erc-netsplit-list nil
"This is a list of the form
\((\"a.b.c.d e.f.g\" TIMESTAMP FIRST-JOIN \"nick1\" ... \"nickn\") ...)
where FIRST-JOIN is t or nil, depending on whether or not the first
join from that split has been detected or not.")
(make-variable-buffer-local 'erc-netsplit-list)
(defun erc-netsplit-install-message-catalogs ()
(erc-define-catalog

View file

@ -722,9 +722,8 @@ MATCHER is used to find a corresponding network to a server while
(regexp)
(const :tag "Network has no common server ending" nil)))))
(defvar erc-network nil
(defvar-local erc-network nil
"The name of the network you are connected to (a symbol).")
(make-variable-buffer-local 'erc-network)
;; Functions:

View file

@ -75,13 +75,11 @@ strings."
;;;; Internal variables
(defvar erc-last-ison nil
(defvar-local erc-last-ison nil
"Last ISON information received through `erc-notify-timer'.")
(make-variable-buffer-local 'erc-last-ison)
(defvar erc-last-ison-time 0
(defvar-local erc-last-ison-time 0
"Last time ISON was sent to the server in `erc-notify-timer'.")
(make-variable-buffer-local 'erc-last-ison-time)
;;;; Setup

View file

@ -53,16 +53,14 @@ be recalled using M-p and M-n."
(define-key erc-mode-map "\M-p" 'undefined)
(define-key erc-mode-map "\M-n" 'undefined)))
(defvar erc-input-ring nil "Input ring for erc.")
(make-variable-buffer-local 'erc-input-ring)
(defvar-local erc-input-ring nil "Input ring for erc.")
(defvar erc-input-ring-index nil
(defvar-local erc-input-ring-index nil
"Position in the input ring for erc.
If nil, the input line is blank and the user is conceptually after
the most recently added item in the ring. If an integer, the input
line is non-blank and displays the item from the ring indexed by this
variable.")
(make-variable-buffer-local 'erc-input-ring-index)
(defun erc-input-ring-setup ()
"Do the setup required so that we can use comint style input rings.

View file

@ -191,21 +191,18 @@ or `erc-send-modify-hook'."
(list (lambda (_window _before dir)
(erc-echo-timestamp dir ct))))))))
(defvar erc-timestamp-last-inserted nil
(defvar-local erc-timestamp-last-inserted nil
"Last timestamp inserted into the buffer.")
(make-variable-buffer-local 'erc-timestamp-last-inserted)
(defvar erc-timestamp-last-inserted-left nil
(defvar-local erc-timestamp-last-inserted-left nil
"Last timestamp inserted into the left side of the buffer.
This is used when `erc-insert-timestamp-function' is set to
`erc-timestamp-left-and-right'")
(make-variable-buffer-local 'erc-timestamp-last-inserted-left)
(defvar erc-timestamp-last-inserted-right nil
(defvar-local erc-timestamp-last-inserted-right nil
"Last timestamp inserted into the right side of the buffer.
This is used when `erc-insert-timestamp-function' is set to
`erc-timestamp-left-and-right'")
(make-variable-buffer-local 'erc-timestamp-last-inserted-right)
(defcustom erc-timestamp-only-if-changed-flag t
"Insert timestamp only if its value changed since last insertion.

View file

@ -270,9 +270,8 @@ A typical value would be \((\"#emacs\" \"QUIT\" \"JOIN\")
:group 'erc-ignore
:type 'erc-message-type)
(defvar erc-session-password nil
(defvar-local erc-session-password nil
"The password used for the current session.")
(make-variable-buffer-local 'erc-session-password)
(defcustom erc-disconnected-hook nil
"Run this hook with arguments (NICK IP REASON) when disconnected.
@ -337,18 +336,16 @@ Functions are passed a buffer as the first argument."
:type 'hook)
(defvar erc-channel-users nil
(defvar-local erc-channel-users nil
"A hash table of members in the current channel, which
associates nicknames with cons cells of the form:
\(USER . MEMBER-DATA) where USER is a pointer to an
erc-server-user struct, and MEMBER-DATA is a pointer to an
erc-channel-user struct.")
(make-variable-buffer-local 'erc-channel-users)
(defvar erc-server-users nil
(defvar-local erc-server-users nil
"A hash table of users on the current server, which associates
nicknames with erc-server-user struct instances.")
(make-variable-buffer-local 'erc-server-users)
(defun erc-downcase (string)
"Convert STRING to IRC standard conforming downcase."
@ -632,23 +629,19 @@ See also: `erc-get-channel-user-list'."
(or (not nicky)
(string-lessp nickx nicky))))))))
(defvar erc-channel-topic nil
(defvar-local erc-channel-topic nil
"A topic string for the channel. Should only be used in channel-buffers.")
(make-variable-buffer-local 'erc-channel-topic)
(defvar erc-channel-modes nil
(defvar-local erc-channel-modes nil
"List of strings representing channel modes.
E.g. (\"i\" \"m\" \"s\" \"b Quake!*@*\")
\(not sure the ban list will be here, but why not)")
(make-variable-buffer-local 'erc-channel-modes)
(defvar erc-insert-marker nil
(defvar-local erc-insert-marker nil
"The place where insertion of new text in erc buffers should happen.")
(make-variable-buffer-local 'erc-insert-marker)
(defvar erc-input-marker nil
(defvar-local erc-input-marker nil
"The marker where input should be inserted.")
(make-variable-buffer-local 'erc-input-marker)
(defun erc-string-no-properties (string)
"Return a copy of STRING will all text-properties removed."
@ -900,9 +893,8 @@ directory in the list."
:group 'erc-scripts
:type 'boolean)
(defvar erc-last-saved-position nil
(defvar-local erc-last-saved-position nil
"A marker containing the position the current buffer was last saved at.")
(make-variable-buffer-local 'erc-last-saved-position)
(defcustom erc-kill-buffer-on-part nil
"Kill the channel buffer on PART.
@ -1271,8 +1263,7 @@ See also `erc-show-my-nick'."
(defvar erc-debug-log-file (expand-file-name "ERC.debug")
"Debug log file name.")
(defvar erc-dbuf nil)
(make-variable-buffer-local 'erc-dbuf)
(defvar-local erc-dbuf nil)
(defmacro define-erc-module (name alias doc enable-body disable-body
&optional local-p)
@ -1462,11 +1453,10 @@ If BUFFER is nil, the current buffer is used."
;; Last active buffer, to print server messages in the right place
(defvar erc-active-buffer nil
(defvar-local erc-active-buffer nil
"The current active buffer, the one where the user typed the last command.
Defaults to the server buffer, and should only be set in the
server buffer.")
(make-variable-buffer-local 'erc-active-buffer)
(defun erc-active-buffer ()
"Return the value of `erc-active-buffer' for the current server.
@ -1820,52 +1810,41 @@ all channel buffers on all servers."
;; Some local variables
(defvar erc-default-recipients nil
(defvar-local erc-default-recipients nil
"List of default recipients of the current buffer.")
(make-variable-buffer-local 'erc-default-recipients)
(defvar erc-session-user-full-name nil
(defvar-local erc-session-user-full-name nil
"Full name of the user on the current server.")
(make-variable-buffer-local 'erc-session-user-full-name)
(defvar erc-channel-user-limit nil
(defvar-local erc-channel-user-limit nil
"Limit of users per channel.")
(make-variable-buffer-local 'erc-channel-user-limit)
(defvar erc-channel-key nil
(defvar-local erc-channel-key nil
"Key needed to join channel.")
(make-variable-buffer-local 'erc-channel-key)
(defvar erc-invitation nil
(defvar-local erc-invitation nil
"Last invitation channel.")
(make-variable-buffer-local 'erc-invitation)
(defvar erc-away nil
(defvar-local erc-away nil
"Non-nil indicates that we are away.
Use `erc-away-time' to access this if you might be in a channel
buffer rather than a server buffer.")
(make-variable-buffer-local 'erc-away)
(defvar erc-channel-list nil
(defvar-local erc-channel-list nil
"Server channel list.")
(make-variable-buffer-local 'erc-channel-list)
(defvar erc-bad-nick nil
(defvar-local erc-bad-nick nil
"Non-nil indicates that we got a `nick in use' error while connecting.")
(make-variable-buffer-local 'erc-bad-nick)
(defvar erc-logged-in nil
(defvar-local erc-logged-in nil
"Non-nil indicates that we are logged in.")
(make-variable-buffer-local 'erc-logged-in)
(defvar erc-default-nicks nil
(defvar-local erc-default-nicks nil
"The local copy of `erc-nick' - the list of nicks to choose from.")
(make-variable-buffer-local 'erc-default-nicks)
(defvar erc-nick-change-attempt-count 0
(defvar-local erc-nick-change-attempt-count 0
"Used to keep track of how many times an attempt at changing nick is made.")
(make-variable-buffer-local 'erc-nick-change-attempt-count)
(defun erc-migrate-modules (mods)
"Migrate old names of ERC modules to new ones."
@ -2764,8 +2743,7 @@ present."
(let ((prop-val (erc-get-parsed-vector position)))
(and prop-val (member (erc-response.command prop-val) list))))
(defvar erc-send-input-line-function 'erc-send-input-line)
(make-variable-buffer-local 'erc-send-input-line-function)
(defvar-local erc-send-input-line-function 'erc-send-input-line)
(defun erc-send-input-line (target line &optional force)
"Send LINE to TARGET.
@ -3181,12 +3159,11 @@ were most recently invited. See also `invitation'."
(defalias 'erc-cmd-CHANNEL 'erc-cmd-JOIN)
(defalias 'erc-cmd-J 'erc-cmd-JOIN)
(defvar erc-channel-new-member-names nil
(defvar-local erc-channel-new-member-names nil
"If non-nil, a names list is currently being received.
If non-nil, this variable is a hash-table that associates
received nicks with t.")
(make-variable-buffer-local 'erc-channel-new-member-names)
(defun erc-cmd-NAMES (&optional channel)
"Display the users in CHANNEL.
@ -3833,7 +3810,7 @@ If CHANNEL is not specified, clear the topic for the default channel."
;;; Banlists
(defvar erc-channel-banlist nil
(defvar-local erc-channel-banlist nil
"A list of bans seen for the current channel.
Each ban is an alist of the form:
@ -3841,7 +3818,6 @@ Each ban is an alist of the form:
The property `received-from-server' indicates whether
or not the ban list has been requested from the server.")
(make-variable-buffer-local 'erc-channel-banlist)
(put 'erc-channel-banlist 'received-from-server nil)
(defun erc-cmd-BANLIST ()
@ -6488,32 +6464,31 @@ if `erc-away' is non-nil."
(setq mode-line-buffer-identification
(list (format-spec erc-mode-line-format spec)))
(setq mode-line-process (list process-status))
(when (boundp 'header-line-format)
(let ((header (if erc-header-line-format
(format-spec erc-header-line-format spec)
nil)))
(cond (erc-header-line-uses-tabbar-p
(setq-local tabbar--local-hlf header-line-format)
(kill-local-variable 'header-line-format))
((null header)
(setq header-line-format nil))
(erc-header-line-uses-help-echo-p
(let ((help-echo (with-temp-buffer
(insert header)
(fill-region (point-min) (point-max))
(buffer-string))))
(setq header-line-format
(replace-regexp-in-string
"%"
"%%"
(if face
(propertize header 'help-echo help-echo
'face face)
(propertize header 'help-echo help-echo))))))
(t (setq header-line-format
(if face
(propertize header 'face face)
header)))))))
(let ((header (if erc-header-line-format
(format-spec erc-header-line-format spec)
nil)))
(cond (erc-header-line-uses-tabbar-p
(setq-local tabbar--local-hlf header-line-format)
(kill-local-variable 'header-line-format))
((null header)
(setq header-line-format nil))
(erc-header-line-uses-help-echo-p
(let ((help-echo (with-temp-buffer
(insert header)
(fill-region (point-min) (point-max))
(buffer-string))))
(setq header-line-format
(replace-regexp-in-string
"%"
"%%"
(if face
(propertize header 'help-echo help-echo
'face face)
(propertize header 'help-echo help-echo))))))
(t (setq header-line-format
(if face
(propertize header 'face face)
header))))))
(force-mode-line-update)))
(defun erc-update-mode-line (&optional buffer)
@ -6783,8 +6758,7 @@ functions."
"")))))
(defvar erc-current-message-catalog 'english)
(make-variable-buffer-local 'erc-current-message-catalog)
(defvar-local erc-current-message-catalog 'english)
(defun erc-retrieve-catalog-entry (entry &optional catalog)
"Retrieve ENTRY from CATALOG.

View file

@ -91,27 +91,23 @@ variable names, arguments, etc."
(defcustom eshell-cmpl-load-hook nil
"A list of functions to run when `eshell-cmpl' is loaded."
:version "24.1" ; removed eshell-cmpl-initialize
:type 'hook
:group 'eshell-cmpl)
:type 'hook)
(defcustom eshell-show-lisp-completions nil
"If non-nil, include Lisp functions in the command completion list.
If this variable is nil, Lisp completion can still be done in command
position by using M-TAB instead of TAB."
:type 'boolean
:group 'eshell-cmpl)
:type 'boolean)
(defcustom eshell-show-lisp-alternatives t
"If non-nil, and no other completions found, show Lisp functions.
Setting this variable means nothing if `eshell-show-lisp-completions'
is non-nil."
:type 'boolean
:group 'eshell-cmpl)
:type 'boolean)
(defcustom eshell-no-completion-during-jobs t
"If non-nil, don't allow completion while a process is running."
:type 'boolean
:group 'eshell-cmpl)
:type 'boolean)
(defcustom eshell-command-completions-alist
'(("acroread" . "\\.pdf\\'")
@ -136,8 +132,7 @@ is non-nil."
"An alist that defines simple argument type correlations.
This is provided for common commands, as a simplistic alternative
to writing a completion function."
:type '(repeat (cons string regexp))
:group 'eshell-cmpl)
:type '(repeat (cons string regexp)))
(defun eshell-cmpl--custom-variable-docstring (pcomplete-var)
"Generate the docstring of a variable derived from a pcomplete-* variable."
@ -148,23 +143,19 @@ to writing a completion function."
(defcustom eshell-cmpl-file-ignore "~\\'"
(eshell-cmpl--custom-variable-docstring 'pcomplete-file-ignore)
:type (get 'pcomplete-file-ignore 'custom-type)
:group 'eshell-cmpl)
:type (get 'pcomplete-file-ignore 'custom-type))
(defcustom eshell-cmpl-dir-ignore "\\`\\(\\.\\.?\\|CVS\\)/\\'"
(eshell-cmpl--custom-variable-docstring 'pcomplete-dir-ignore)
:type (get 'pcomplete-dir-ignore 'custom-type)
:group 'eshell-cmpl)
:type (get 'pcomplete-dir-ignore 'custom-type))
(defcustom eshell-cmpl-ignore-case (eshell-under-windows-p)
(eshell-cmpl--custom-variable-docstring 'pcomplete-ignore-case)
:type (get 'pcomplete-ignore-case 'custom-type)
:group 'eshell-cmpl)
:type (get 'pcomplete-ignore-case 'custom-type))
(defcustom eshell-cmpl-autolist nil
(eshell-cmpl--custom-variable-docstring 'pcomplete-autolist)
:type (get 'pcomplete-autolist 'custom-type)
:group 'eshell-cmpl)
:type (get 'pcomplete-autolist 'custom-type))
(defcustom eshell-cmpl-suffix-list (list ?/ ?:)
(eshell-cmpl--custom-variable-docstring 'pcomplete-suffix-list)
@ -176,51 +167,42 @@ to writing a completion function."
(defcustom eshell-cmpl-recexact nil
(eshell-cmpl--custom-variable-docstring 'pcomplete-recexact)
:type (get 'pcomplete-recexact 'custom-type)
:group 'eshell-cmpl)
:type (get 'pcomplete-recexact 'custom-type))
(defcustom eshell-cmpl-man-function 'man
(defcustom eshell-cmpl-man-function #'man
(eshell-cmpl--custom-variable-docstring 'pcomplete-man-function)
:type (get 'pcomplete-man-function 'custom-type)
:group 'eshell-cmpl)
:type (get 'pcomplete-man-function 'custom-type))
(defcustom eshell-cmpl-compare-entry-function 'file-newer-than-file-p
(defcustom eshell-cmpl-compare-entry-function #'file-newer-than-file-p
(eshell-cmpl--custom-variable-docstring 'pcomplete-compare-entry-function)
:type (get 'pcomplete-compare-entry-function 'custom-type)
:group 'eshell-cmpl)
:type (get 'pcomplete-compare-entry-function 'custom-type))
(defcustom eshell-cmpl-expand-before-complete nil
(eshell-cmpl--custom-variable-docstring 'pcomplete-expand-before-complete)
:type (get 'pcomplete-expand-before-complete 'custom-type)
:group 'eshell-cmpl)
:type (get 'pcomplete-expand-before-complete 'custom-type))
(defcustom eshell-cmpl-cycle-completions t
(eshell-cmpl--custom-variable-docstring 'pcomplete-cycle-completions)
:type (get 'pcomplete-cycle-completions 'custom-type)
:group 'eshell-cmpl)
:type (get 'pcomplete-cycle-completions 'custom-type))
(defcustom eshell-cmpl-cycle-cutoff-length 5
(eshell-cmpl--custom-variable-docstring 'pcomplete-cycle-cutoff-length)
:type (get 'pcomplete-cycle-cutoff-length 'custom-type)
:group 'eshell-cmpl)
:type (get 'pcomplete-cycle-cutoff-length 'custom-type))
(defcustom eshell-cmpl-restore-window-delay 1
(eshell-cmpl--custom-variable-docstring 'pcomplete-restore-window-delay)
:type (get 'pcomplete-restore-window-delay 'custom-type)
:group 'eshell-cmpl)
:type (get 'pcomplete-restore-window-delay 'custom-type))
(defcustom eshell-command-completion-function
(lambda ()
(pcomplete-here (eshell-complete-commands-list)))
(pcomplete-here (eshell--complete-commands-list)))
(eshell-cmpl--custom-variable-docstring 'pcomplete-command-completion-function)
:type (get 'pcomplete-command-completion-function 'custom-type)
:group 'eshell-cmpl)
:type (get 'pcomplete-command-completion-function 'custom-type))
(defcustom eshell-cmpl-command-name-function
'eshell-completion-command-name
#'eshell-completion-command-name
(eshell-cmpl--custom-variable-docstring 'pcomplete-command-name-function)
:type (get 'pcomplete-command-name-function 'custom-type)
:group 'eshell-cmpl)
:type (get 'pcomplete-command-name-function 'custom-type))
(defcustom eshell-default-completion-function
(lambda ()
@ -229,13 +211,11 @@ to writing a completion function."
(cdr (assoc (funcall eshell-cmpl-command-name-function)
eshell-command-completions-alist))))))
(eshell-cmpl--custom-variable-docstring 'pcomplete-default-completion-function)
:type (get 'pcomplete-default-completion-function 'custom-type)
:group 'eshell-cmpl)
:type (get 'pcomplete-default-completion-function 'custom-type))
(defcustom eshell-cmpl-use-paring t
(eshell-cmpl--custom-variable-docstring 'pcomplete-use-paring)
:type (get 'pcomplete-use-paring 'custom-type)
:group 'eshell-cmpl)
:type (get 'pcomplete-use-paring 'custom-type))
;;; Functions:
@ -274,7 +254,7 @@ to writing a completion function."
(setq-local pcomplete-default-completion-function
eshell-default-completion-function)
(setq-local pcomplete-parse-arguments-function
'eshell-complete-parse-arguments)
#'eshell-complete-parse-arguments)
(setq-local pcomplete-file-ignore
eshell-cmpl-file-ignore)
(setq-local pcomplete-dir-ignore
@ -403,64 +383,65 @@ to writing a completion function."
args)
posns)))
(defun eshell-complete-commands-list ()
(defun eshell--complete-commands-list ()
"Generate list of applicable, visible commands."
(let ((filename (pcomplete-arg)) glob-name)
(if (file-name-directory filename)
(if eshell-force-execution
(pcomplete-dirs-or-entries nil #'file-readable-p)
(pcomplete-executables))
(if (and (> (length filename) 0)
(eq (aref filename 0) eshell-explicit-command-char))
(setq filename (substring filename 1)
pcomplete-stub filename
glob-name t))
(let* ((paths (eshell-get-path))
(cwd (file-name-as-directory
(expand-file-name default-directory)))
(path "") (comps-in-path ())
(file "") (filepath "") (completions ()))
;; Go thru each path in the search path, finding completions.
(while paths
(setq path (file-name-as-directory
(expand-file-name (or (car paths) ".")))
comps-in-path
(and (file-accessible-directory-p path)
(file-name-all-completions filename path)))
;; Go thru each completion found, to see whether it should
;; be used.
(while comps-in-path
(setq file (car comps-in-path)
filepath (concat path file))
(if (and (not (member file completions)) ;
(or (string-equal path cwd)
(not (file-directory-p filepath)))
(if eshell-force-execution
(file-readable-p filepath)
(file-executable-p filepath)))
(setq completions (cons file completions)))
(setq comps-in-path (cdr comps-in-path)))
(setq paths (cdr paths)))
;; Add aliases which are currently visible, and Lisp functions.
(pcomplete-uniquify-list
(if glob-name
completions
(setq completions
(append (if (fboundp 'eshell-alias-completions)
(eshell-alias-completions filename))
(eshell-winnow-list
(mapcar
(lambda (name)
(substring name 7))
(all-completions (concat "eshell/" filename)
obarray #'functionp))
nil '(eshell-find-alias-function))
completions))
(append (and (or eshell-show-lisp-completions
(and eshell-show-lisp-alternatives
(null completions)))
(all-completions filename obarray #'functionp))
completions)))))))
;; Building the commands list can take quite a while, especially over Tramp
;; (bug#41423), so do it lazily.
(let ((glob-name
;; When a command is specified using `eshell-explicit-command-char',
;; that char is not part of the command and hence not part of what
;; we complete. Adjust `pcomplete-stub' accordingly!
(if (and (> (length pcomplete-stub) 0)
(eq (aref pcomplete-stub 0) eshell-explicit-command-char))
(setq pcomplete-stub (substring pcomplete-stub 1)))))
(completion-table-dynamic
(lambda (filename)
(if (file-name-directory filename)
(if eshell-force-execution
(pcomplete-dirs-or-entries nil #'file-readable-p)
(pcomplete-executables))
(let* ((paths (eshell-get-path))
(cwd (file-name-as-directory
(expand-file-name default-directory)))
(filepath "") (completions ()))
;; Go thru each path in the search path, finding completions.
(dolist (path paths)
(setq path (file-name-as-directory
(expand-file-name (or path "."))))
;; Go thru each completion found, to see whether it should
;; be used.
(dolist (file (and (file-accessible-directory-p path)
(file-name-all-completions filename path)))
(setq filepath (concat path file))
(if (and (not (member file completions)) ;
(or (string-equal path cwd)
(not (file-directory-p filepath)))
;; FIXME: Those repeated file tests end up
;; very costly over Tramp, we should cache the result.
(if eshell-force-execution
(file-readable-p filepath)
(file-executable-p filepath)))
(push file completions))))
;; Add aliases which are currently visible, and Lisp functions.
(pcomplete-uniquify-list
(if glob-name
completions
(setq completions
(append (if (fboundp 'eshell-alias-completions)
(eshell-alias-completions filename))
(eshell-winnow-list
(mapcar
(lambda (name)
(substring name 7))
(all-completions (concat "eshell/" filename)
obarray #'functionp))
nil '(eshell-find-alias-function))
completions))
(append (and (or eshell-show-lisp-completions
(and eshell-show-lisp-alternatives
(null completions)))
(all-completions filename obarray #'functionp))
completions)))))))))
(define-obsolete-function-alias 'eshell-pcomplete #'completion-at-point "27.1")

View file

@ -99,8 +99,12 @@ If it is nil, Eshell will use the value of HISTFILE."
(defcustom eshell-hist-ignoredups nil
"If non-nil, don't add input matching the last on the input ring.
This mirrors the optional behavior of bash."
:type 'boolean)
The value `erase' mirrors the \"erasedups\" value of HISTCONTROL
in bash, and any other non-nil value mirrors the \"ignoredups\"
value."
:type '(choice (const :tag "Don't ignore anything" nil)
(const :tag "Ignore consecutive duplicates" t)
(const :tag "Only keep last duplicate" 'erase)))
(defcustom eshell-save-history-on-exit t
"Determine if history should be automatically saved.
@ -371,12 +375,22 @@ unless a different file is specified on the command line.")
Input is entered into the input history ring, if the value of
variable `eshell-input-filter' returns non-nil when called on the
input."
(if (and (funcall eshell-input-filter input)
(or (null eshell-hist-ignoredups)
(not (ring-p eshell-history-ring))
(ring-empty-p eshell-history-ring)
(not (string-equal (eshell-get-history 0) input))))
(eshell-put-history input))
(when (and (funcall eshell-input-filter input)
(if (eq eshell-hist-ignoredups 'erase)
;; Remove any old occurrences of the input, and put
;; the new one at the end.
(progn
(ring-remove eshell-history-ring
(ring-member eshell-history-ring input))
t)
;; Always add...
(or (null eshell-hist-ignoredups)
;; ... or add if it's not already present at the
;; end.
(not (ring-p eshell-history-ring))
(ring-empty-p eshell-history-ring)
(not (string-equal (eshell-get-history 0) input)))))
(eshell-put-history input))
(setq eshell-save-history-index eshell-history-index)
(setq eshell-history-index nil))

View file

@ -1001,7 +1001,7 @@ be finished later after the completion of an asynchronous subprocess."
;; expand any macros directly into the form. This is done so that
;; we can modify any `let' forms to evaluate only once.
(if (macrop (car form))
(let ((exp (eshell-copy-tree (macroexpand form))))
(let ((exp (copy-tree (macroexpand form))))
(eshell-manipulate (format-message "expanding macro `%s'"
(symbol-name (car form)))
(setcar form (car exp))
@ -1009,7 +1009,7 @@ be finished later after the completion of an asynchronous subprocess."
(let ((args (cdr form)))
(cond
((eq (car form) 'while)
;; `eshell-copy-tree' is needed here so that the test argument
;; `copy-tree' is needed here so that the test argument
;; doesn't get modified and thus always yield the same result.
(when (car eshell-command-body)
(cl-assert (not synchronous-p))
@ -1017,27 +1017,27 @@ be finished later after the completion of an asynchronous subprocess."
(setcar eshell-command-body nil)
(setcar eshell-test-body nil))
(unless (car eshell-test-body)
(setcar eshell-test-body (eshell-copy-tree (car args))))
(setcar eshell-test-body (copy-tree (car args))))
(while (cadr (eshell-do-eval (car eshell-test-body)))
(setcar eshell-command-body
(if (cddr args)
`(progn ,@(eshell-copy-tree (cdr args)))
(eshell-copy-tree (cadr args))))
`(progn ,@(copy-tree (cdr args)))
(copy-tree (cadr args))))
(eshell-do-eval (car eshell-command-body) synchronous-p)
(setcar eshell-command-body nil)
(setcar eshell-test-body (eshell-copy-tree (car args))))
(setcar eshell-test-body (copy-tree (car args))))
(setcar eshell-command-body nil))
((eq (car form) 'if)
;; `eshell-copy-tree' is needed here so that the test argument
;; `copy-tree' is needed here so that the test argument
;; doesn't get modified and thus always yield the same result.
(if (car eshell-command-body)
(progn
(cl-assert (not synchronous-p))
(eshell-do-eval (car eshell-command-body)))
(unless (car eshell-test-body)
(setcar eshell-test-body (eshell-copy-tree (car args))))
(setcar eshell-test-body (copy-tree (car args))))
(setcar eshell-command-body
(eshell-copy-tree
(copy-tree
(if (cadr (eshell-do-eval (car eshell-test-body)))
(cadr args)
(car (cddr args)))))

View file

@ -235,11 +235,10 @@ If N or M is nil, it means the end of the list."
a (last a)))
a))
(defvar eshell-path-env (getenv "PATH")
(defvar-local eshell-path-env (getenv "PATH")
"Content of $PATH.
It might be different from \(getenv \"PATH\"), when
`default-directory' points to a remote host.")
(make-variable-buffer-local 'eshell-path-env)
(defun eshell-get-path ()
"Return $PATH as a list.
@ -486,8 +485,6 @@ list."
"Return the user id for user NAME."
(car (rassoc name (eshell-read-user-names))))
(defalias 'eshell-user-name 'user-login-name)
(autoload 'pcomplete-read-hosts-file "pcomplete")
(autoload 'pcomplete-read-hosts "pcomplete")
(autoload 'pcomplete-read-host-names "pcomplete")
@ -644,8 +641,6 @@ gid format. Valid values are `string' and `integer', defaulting to
entry)
(file-attributes file id-format))))
(defalias 'eshell-copy-tree 'copy-tree)
(defsubst eshell-processp (proc)
"If the `processp' function does not exist, PROC is not a process."
(and (fboundp 'processp) (processp proc)))
@ -715,6 +710,9 @@ gid format. Valid values are `string' and `integer', defaulting to
; (or result
; (file-attributes filename))))
(define-obsolete-function-alias 'eshell-copy-tree #'copy-tree "28.1")
(define-obsolete-function-alias 'eshell-user-name #'user-login-name "28.1")
(provide 'esh-util)
;;; esh-util.el ends here

View file

@ -289,17 +289,14 @@ If ARG is omitted, point is placed at the end of the expanded text."
(defvar expand-list nil "Temporary variable used by the Expand package.")
(defvar expand-pos nil
(defvar-local expand-pos nil
"If non-nil, store a vector with position markers defined by the last expansion.")
(make-variable-buffer-local 'expand-pos)
(defvar expand-index 0
(defvar-local expand-index 0
"Index of the last marker used in `expand-pos'.")
(make-variable-buffer-local 'expand-index)
(defvar expand-point nil
(defvar-local expand-point nil
"End of the expanded region.")
(make-variable-buffer-local 'expand-point)
(defun expand-add-abbrev (table abbrev expansion arg)
"Add one abbreviation and provide the hook to move to the specified positions."

View file

@ -217,21 +217,17 @@ Each positive or negative step scales the default face height by this amount."
:type 'number
:version "23.1")
;; current remapping cookie for text-scale-mode
(defvar text-scale-mode-remapping nil)
(make-variable-buffer-local 'text-scale-mode-remapping)
(defvar-local text-scale-mode-remapping nil
"Current remapping cookie for text-scale-mode.")
;; Lighter displayed for text-scale-mode in mode-line minor-mode list
(defvar text-scale-mode-lighter "+0")
(make-variable-buffer-local 'text-scale-mode-lighter)
(defvar-local text-scale-mode-lighter "+0"
"Lighter displayed for text-scale-mode in mode-line minor-mode list.")
;; Number of steps that text-scale-mode will increase/decrease text height
(defvar text-scale-mode-amount 0)
(make-variable-buffer-local 'text-scale-mode-amount)
(defvar-local text-scale-mode-amount 0
"Number of steps that text-scale-mode will increase/decrease text height.")
(defvar text-scale-remap-header-line nil
(defvar-local text-scale-remap-header-line nil
"If non-nil, text scaling may change font size of header lines too.")
(make-variable-buffer-local 'text-scale-header-line)
(defun face-remap--clear-remappings ()
(dolist (remapping
@ -413,8 +409,7 @@ plist, etc."
:version "23.1")
;; current remapping cookie for buffer-face-mode
(defvar buffer-face-mode-remapping nil)
(make-variable-buffer-local 'buffer-face-mode-remapping)
(defvar-local buffer-face-mode-remapping nil)
;;;###autoload
(define-minor-mode buffer-face-mode

View file

@ -1675,9 +1675,8 @@ For example, try \":/\" for URL (and some FTP) references."
:type '(choice (const nil) regexp)
:group 'ffap)
(defvar ffap-menu-alist nil
(defvar-local ffap-menu-alist nil
"Buffer local cache of menu presented by `ffap-menu'.")
(make-variable-buffer-local 'ffap-menu-alist)
(defvar ffap-menu-text-plist
(cond

View file

@ -570,13 +570,12 @@ from the MODE alist ignoring the input argument VALUE."
(defvar enable-connection-local-variables t
"Non-nil means enable use of connection-local variables.")
(defvar connection-local-variables-alist nil
(defvar-local connection-local-variables-alist nil
"Alist of connection-local variable settings in the current buffer.
Each element in this list has the form (VAR . VALUE), where VAR
is a connection-local variable (a symbol) and VALUE is its value.
The actual value in the buffer may differ from VALUE, if it is
changed by the user.")
(make-variable-buffer-local 'connection-local-variables-alist)
(setq ignored-local-variables
(cons 'connection-local-variables-alist ignored-local-variables))

View file

@ -191,20 +191,18 @@ if the file has changed on disk and you have not edited the buffer."
:type '(repeat regexp)
:group 'find-file)
(defvar buffer-file-number nil
(defvar-local buffer-file-number nil
"The device number and file number of the file visited in the current buffer.
The value is a list of the form (FILENUM DEVNUM).
This pair of numbers uniquely identifies the file.
If the buffer is visiting a new file, the value is nil.")
(make-variable-buffer-local 'buffer-file-number)
(put 'buffer-file-number 'permanent-local t)
(defvar buffer-file-numbers-unique (not (memq system-type '(windows-nt)))
"Non-nil means that `buffer-file-number' uniquely identifies files.")
(defvar buffer-file-read-only nil
(defvar-local buffer-file-read-only nil
"Non-nil if visited file was read-only when visited.")
(make-variable-buffer-local 'buffer-file-read-only)
(defcustom small-temporary-file-directory
(if (eq system-type 'ms-dos) (getenv "TMPDIR"))
@ -529,15 +527,14 @@ updates before the buffer is saved, use `before-save-hook'.")
(put 'write-file-functions 'permanent-local t)
;; I found some files still using the obsolete form in 2018.
(defvar local-write-file-hooks nil)
(make-variable-buffer-local 'local-write-file-hooks)
(defvar-local local-write-file-hooks nil)
(put 'local-write-file-hooks 'permanent-local t)
(make-obsolete-variable 'local-write-file-hooks 'write-file-functions "22.1")
;; I found some files still using the obsolete form in 2018.
(define-obsolete-variable-alias 'write-contents-hooks
'write-contents-functions "22.1")
(defvar write-contents-functions nil
(defvar-local write-contents-functions nil
"List of functions to be called before writing out a buffer to a file.
Used only by `save-buffer'. If one of them returns non-nil, the
@ -556,7 +553,6 @@ For hooks that _do_ pertain to the particular visited file, use
`write-file-functions' relate to how a buffer is saved to file.
To perform various checks or updates before the buffer is saved,
use `before-save-hook'.")
(make-variable-buffer-local 'write-contents-functions)
(defcustom enable-local-variables t
"Control use of local variables in files you visit.
@ -3443,23 +3439,21 @@ asking you for confirmation."
(put 'c-set-style 'safe-local-eval-function t)
(defvar file-local-variables-alist nil
(defvar-local file-local-variables-alist nil
"Alist of file-local variable settings in the current buffer.
Each element in this list has the form (VAR . VALUE), where VAR
is a file-local variable (a symbol) and VALUE is the value
specified. The actual value in the buffer may differ from VALUE,
if it is changed by the major or minor modes, or by the user.")
(make-variable-buffer-local 'file-local-variables-alist)
(put 'file-local-variables-alist 'permanent-local t)
(defvar dir-local-variables-alist nil
(defvar-local dir-local-variables-alist nil
"Alist of directory-local variable settings in the current buffer.
Each element in this list has the form (VAR . VALUE), where VAR
is a directory-local variable (a symbol) and VALUE is the value
specified in .dir-locals.el. The actual value in the buffer
may differ from VALUE, if it is changed by the major or minor modes,
or by the user.")
(make-variable-buffer-local 'dir-local-variables-alist)
(defvar before-hack-local-variables-hook nil
"Normal hook run before setting file-local variables.
@ -5233,7 +5227,7 @@ Used only by `save-buffer'."
:type 'hook
:group 'files)
(defvar save-buffer-coding-system nil
(defvar-local save-buffer-coding-system nil
"If non-nil, use this coding system for saving the buffer.
More precisely, use this coding system in place of the
value of `buffer-file-coding-system', when saving the buffer.
@ -5241,7 +5235,6 @@ Calling `write-region' for any purpose other than saving the buffer
will still use `buffer-file-coding-system'; this variable has no effect
in such cases.")
(make-variable-buffer-local 'save-buffer-coding-system)
(put 'save-buffer-coding-system 'permanent-local t)
(defun basic-save-buffer (&optional called-interactively)
@ -5510,9 +5503,8 @@ Before and after saving the buffer, this function runs
"ACTION-ALIST argument used in call to `map-y-or-n-p'.")
(put 'save-some-buffers-action-alist 'risky-local-variable t)
(defvar buffer-save-without-query nil
(defvar-local buffer-save-without-query nil
"Non-nil means `save-some-buffers' should save this buffer without asking.")
(make-variable-buffer-local 'buffer-save-without-query)
(defcustom save-some-buffers-default-predicate nil
"Default predicate for `save-some-buffers'.

View file

@ -209,14 +209,12 @@
(require 'outline)
(defvar foldout-fold-list nil
(defvar-local foldout-fold-list nil
"List of start and end markers for the folds currently entered.
An end marker of nil means the fold ends after (point-max).")
(make-variable-buffer-local 'foldout-fold-list)
(defvar foldout-mode-line-string nil
(defvar-local foldout-mode-line-string nil
"Mode line string announcing that we are in an outline fold.")
(make-variable-buffer-local 'foldout-mode-line-string)
;; put our minor mode string immediately following outline-minor-mode's
(or (assq 'foldout-mode-line-string minor-mode-alist)

View file

@ -1140,9 +1140,8 @@ Otherwise, return nil."
;; is nil. Start every window directly after the end of the previous
;; window, to make sure long lines are displayed correctly.
(defvar follow-start-end-invalid t
(defvar-local follow-start-end-invalid t
"When non-nil, indicates `follow-windows-start-end-cache' is invalid.")
(make-variable-buffer-local 'follow-start-end-invalid)
(defun follow-redisplay (&optional windows win preserve-win)
"Reposition the WINDOWS around WIN.

View file

@ -26,7 +26,7 @@
;; This variable is used by mode packages that support Font Lock mode by
;; defining their own keywords to use for `font-lock-keywords'. (The mode
;; command should make it buffer-local and set it to provide the set up.)
(defvar font-lock-defaults nil
(defvar-local font-lock-defaults nil
"Defaults for Font Lock mode specified by the major mode.
Defaults should be of the form:
@ -66,7 +66,6 @@ functions, `font-lock-fontify-buffer-function',
`font-lock-unfontify-region-function', and `font-lock-inhibit-thing-lock'.")
;;;###autoload
(put 'font-lock-defaults 'risky-local-variable t)
(make-variable-buffer-local 'font-lock-defaults)
(defvar font-lock-function 'font-lock-default-function
"A function which is called when `font-lock-mode' is toggled.

Some files were not shown because too many files have changed in this diff Show more