emacs/lisp
Keith Amidon 0a580c187d
Minimize entry parsing in auth-source-pass
Prior to this commit, while searching for the most applicable entry
password-store entries were decrypted and parsed to ensure they were
valid.  The entries were parsed in the order they were found on the
filesystem and all applicable entries would be decrypted and parsed,
which varied based on the contents of the password-store and the entry
to be found.

This is fine when the GPG key is cached and each entry can be
decrypted without user interaction.  However, for security some people
have their GPG on a hardware token like a Yubikey setup so that they
have to touch a sensor on the toke for every cryptographic operation,
in which case it becomes inconvenient as each attempt to find an entry
requires a variable number of touches of the hardware token.

The implementation already assumes that names which contain more of
the information in the search key should be preferred so there is an
ordering of preference of applicable entries.  If the decrypt and
parsing is removed from the initial identification of applicable
entries in the store then in most cases a single decrypt and parse of
the most preferred entry will suffice, improving the experience for
hardware token users that require interaction with the token.

This commit implements that strategy.  It is in spirit a refactor of
the existing code.

* lisp/auth-source-pass.el (auth-source-pass--matching-entries): New
function, generate an ordered list of regular expression matchers for
all possible names that could be in the password-store for the entry
to be found and then makes a pass over the password-store entry names
accumulating the matching entries in a list after the regexp that
matched.  This implementation ensures the password-store entry list
still only has to be scanned once.
(auth-source-pass--find-match-unambiguous): Use it to obtain candidate
entries and then parse them one by one until an entry containing the
desired information is located.  When complete, return the parsed data
of the entry instead of the entry name so that the information can be
used directly to construct the auth-source response.
(auth-source-pass--build-result): Update accordingly.
(auth-source-pass--find-match): Update docstring accordingly.
(auth-source-pass--select-one-entry)
(auth-source-pass--entry-valid-p)
(auth-source-pass--find-all-by-entry-name)
(auth-source-pass--find-one-by-entry-name): Remove.
(auth-source-pass--select-from-entries)
(auth-source-pass--accumulate-matches)
(auth-source-pass--entry-reducer)
(auth-source-pass--generate-entry-suffixes)
(auth-source-pass--domains)
(auth-source-pass--name-port-user-suffixes): New functions.

* test/lisp/auth-source-pass-tests.el: One test case was added to the
test suite to verify that only the minimal number of entries are
parsed in common cases.  The
auth-source-pass-only-return-entries-that-can-be-open test case had to
be re-implemented because the function it was used eliminated as the
functionality is provided elsewhere.  All the other fairly substantial
changes to the test suite are the result of mechanical changes that
were required to adapt to auth-source-pass--find-match returning the
data from a parsed password-store entry instead of the entry name.
2019-06-24 09:15:40 +02:00
..
calc Remove XEmacs compat code from calc 2019-06-19 22:56:26 +02:00
calendar * lisp/emacs-lisp/bytecomp.el (byte-compile-dynamic): Mark obsolete 2019-06-21 10:30:50 -04:00
cedet Declare semantic-*overlay* aliases obsolete 2019-06-20 12:51:39 +02:00
emacs-lisp Document syntax-ppss-context 2019-06-24 00:04:04 +02:00
emulation Fix compilation warning in viper-exp involving tags 2019-06-20 14:02:22 +02:00
erc Autojoin channels with same name on different servers in erc 2019-06-23 23:53:02 +02:00
eshell Fix compilation warning in esh-mode 2019-06-20 14:05:53 +02:00
gnus New command gnus-summary-browse-url 2019-06-23 10:05:39 -07:00
image Remove XEmacs compat code from gravatar.el 2019-06-20 12:51:39 +02:00
international Correct and update the mapping of LaTeX encodings 2019-06-22 11:51:50 +03:00
language Rename symbols in ind-util.el to have indian- prefixes 2019-06-18 15:35:16 +02:00
leim/quail Silence spurious load message in latin-ltx.el 2019-06-18 11:33:40 +02:00
mail Add tests for mail/flow-fill.el 2019-06-22 12:15:40 +03:00
mh-e Remove Maintainer: when it duplicates Author: 2019-05-26 01:00:15 -07:00
net Handle 'code' tag in shr.el 2019-06-23 19:07:43 +02:00
nxml Keep nxml prolog updated via syntax-propertize 2019-06-05 20:30:23 -04:00
obsolete Move mantemp.el to obsolete/ 2019-06-22 12:05:28 +03:00
org Remove Maintainer: when it duplicates Author: 2019-05-26 01:00:15 -07:00
play Remove XEmacs and old Emacs compat code from gamegrid.el 2019-06-20 12:51:38 +02:00
progmodes Fix python docstring auto-fill (Bug#36056) 2019-06-22 19:25:44 -04:00
term Make mouse-wheel-scroll-amount consistent among platforms 2019-06-07 19:26:42 +01:00
textmodes Split up and add tests for two page.el functions 2019-06-23 07:27:19 +02:00
url Optional space and unit in `file-size-human-readable' (bug#35756) 2019-06-23 20:30:50 +02:00
vc * lisp/emacs-lisp/bytecomp.el (byte-compile-dynamic): Mark obsolete 2019-06-21 10:30:50 -04:00
abbrev.el Fix defining inverse abbrevs on previous words (Bug#36243) 2019-06-22 19:25:44 -04:00
align.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
allout-widgets.el Remove Maintainer: when it duplicates Author: 2019-05-26 01:00:15 -07:00
allout.el Remove Maintainer: when it duplicates Author: 2019-05-26 01:00:15 -07:00
ansi-color.el Remove XEmacs compat code from ansi-color.el 2019-06-19 22:08:19 +02:00
apropos.el Be more defensive regarding elements of 'load-history' 2019-03-01 11:44:52 +02:00
arc-mode.el arc-mode.el: Remove XEmacs compat code 2019-05-19 20:37:54 +02:00
array.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
auth-source-pass.el Minimize entry parsing in auth-source-pass 2019-06-24 09:15:40 +02:00
auth-source.el Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
autoarg.el Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
autoinsert.el Use lexical-binding in autoinsert.el and add tests 2019-05-31 19:07:48 +02:00
autorevert.el Keep auto-revert-mode working when changing buffer file name (bug#36159) 2019-06-11 22:15:38 +02:00
avoid.el Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
battery.el Update author/maintainer info 2019-05-26 01:00:16 -07:00
bindings.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
bookmark.el * bookmark.el (bookmark-set-internal): Fix format string. 2019-06-19 21:52:03 -05:00
bs.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
buff-menu.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
button.el Distinguish buttons from widgets (bug#34506) 2019-04-07 03:56:27 +01:00
calculator.el Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
case-table.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
cdl.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
ChangeLog.1 Update copyright year to 2019 2019-01-01 01:01:13 +00:00
ChangeLog.2 Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
ChangeLog.3 Update copyright year to 2019 2019-01-01 01:01:13 +00:00
ChangeLog.4 Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
ChangeLog.5 Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
ChangeLog.6 Update copyright year to 2019 2019-01-01 01:01:13 +00:00
ChangeLog.7 Update author/maintainer info 2019-05-26 01:00:16 -07:00
ChangeLog.8 Update copyright year to 2019 2019-01-01 01:01:13 +00:00
ChangeLog.9 Update copyright year to 2019 2019-01-01 01:01:13 +00:00
ChangeLog.10 Update copyright year to 2019 2019-01-01 01:01:13 +00:00
ChangeLog.11 Update copyright year to 2019 2019-01-01 01:01:13 +00:00
ChangeLog.12 Update author/maintainer info 2019-05-26 01:00:16 -07:00
ChangeLog.13 Update copyright year to 2019 2019-01-01 01:01:13 +00:00
ChangeLog.14 Update copyright year to 2019 2019-01-01 01:01:13 +00:00
ChangeLog.15 Update author/maintainer info 2019-05-26 01:00:16 -07:00
ChangeLog.16 Update copyright year to 2019 2019-01-01 01:01:13 +00:00
ChangeLog.17 Update copyright year to 2019 2019-01-01 01:01:13 +00:00
char-fold.el * lisp/char-fold.el (char-fold-make-table): New function 2019-06-03 23:18:31 +03:00
chistory.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
cmuscheme.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
color.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
comint.el Update author/maintainer info 2019-05-26 01:00:16 -07:00
completion.el Rename function in completion.el to use completion- prefixes 2019-06-19 16:04:02 +02:00
composite.el Merge branch 'master' into harfbuzz 2019-05-23 10:53:23 +09:00
COPYING
cus-dep.el Report progress during custom-make-dependencies instead of file count 2019-06-18 15:24:10 +02:00
cus-edit.el Suppress warning about obsolete function custom-show 2019-06-12 16:33:00 +02:00
cus-face.el Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
cus-start.el ;Corrected display-fill-column-indicator mode. 2019-05-05 16:27:37 +02:00
cus-theme.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
custom.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
dabbrev.el Update author/maintainer info 2019-05-26 01:00:16 -07:00
delim-col.el Remove Maintainer: when it duplicates Author: 2019-05-26 01:00:15 -07:00
delsel.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
descr-text.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
desktop.el Fix TODO to convert defvar with leading '*' to defcustom 2019-06-09 10:08:33 +03:00
dframe.el Remove XEmacs compat code from dframe.el 2019-06-19 22:08:19 +02:00
dired-aux.el * lisp/emacs-lisp/bytecomp.el (byte-compile-dynamic): Mark obsolete 2019-06-21 10:30:50 -04:00
dired-x.el * lisp/emacs-lisp/bytecomp.el (byte-compile-dynamic): Mark obsolete 2019-06-21 10:30:50 -04:00
dired.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
dirtrack.el (dirtrack-toggle, dirtrackp): Remove obsolete aliases 2019-05-18 07:25:19 +02:00
disp-table.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
display-fill-column-indicator.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
display-line-numbers.el Resurrect display-line-number-mode in client frames 2019-06-07 17:32:17 +03:00
dnd.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
doc-view.el Remove Maintainer: when it duplicates Author: 2019-05-26 01:00:15 -07:00
dom.el Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
dos-fns.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
dos-vars.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
dos-w32.el Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
double.el Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
dynamic-setting.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
ebuff-menu.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
echistory.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
ecomplete.el Avoid some double-rounding of Lisp timestamps 2019-02-22 18:33:57 -08:00
edmacro.el Remove Maintainer: when it duplicates Author: 2019-05-26 01:00:15 -07:00
ehelp.el ehelp.el: Suppress warning 2019-06-12 16:15:30 +02:00
elec-pair.el * lisp/subr.el (add-hook): Turn append into depth (bug#35508) 2019-05-29 15:56:14 -04:00
electric.el * lisp/subr.el (add-hook): Turn append into depth (bug#35508) 2019-05-29 15:56:14 -04:00
elide-head.el Small elide-head.el update 2019-04-05 20:33:07 -04:00
emacs-lock.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
env.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
epa-dired.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
epa-file.el (epa-file-decode-and-insert): Byte compilation warning fix 2019-05-18 11:18:53 +02:00
epa-hook.el Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
epa-mail.el Suppress interactive-only warnings in epa*.el 2019-06-12 16:17:25 +02:00
epa.el Remove more XEmacs compat code from epa.el 2019-06-19 23:02:39 +02:00
epg-config.el Cleanup of TODO to prefer report-emacs-bug 2019-05-28 08:12:17 -04:00
epg.el epg: Use unibyte string to decode percent escapes 2019-06-22 12:25:19 +03:00
expand.el Cleanup of TODO to prefer report-emacs-bug 2019-05-28 08:12:17 -04:00
ezimage.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
face-remap.el Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
facemenu.el Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
faces.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
ffap.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
filecache.el Update author/maintainer info 2019-05-26 01:00:16 -07:00
fileloop.el Rename multifile.el to fileloop.el 2019-02-07 12:23:09 +03:00
filenotify.el Comment out inexplicable condition in filenotify 2019-05-19 22:47:31 +02:00
files-x.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
files.el Optional space and unit in `file-size-human-readable' (bug#35756) 2019-06-23 20:30:50 +02:00
filesets.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
find-cmd.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
find-dired.el Add file sorting options to find-dired and grep-find (bug#36110) 2019-06-20 00:55:07 +03:00
find-file.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
find-lisp.el Don’t assume CURRENT_TIME_LIST 2019-02-10 23:54:35 -08:00
finder.el Tweak progess reporting in finder-compile-keywords 2019-06-19 14:06:29 +02:00
flow-ctrl.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
foldout.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
follow.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
font-core.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
font-lock.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
format-spec.el Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
format.el Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
forms.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
frame.el Fix mouse cursor movement in 'select-frame-set-input-focus' (Bug#36165) 2019-06-11 10:13:36 +02:00
frameset.el * lisp/frameset.el: Stop using obsolete registerv objects 2019-05-28 09:05:25 -04:00
fringe.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
generic-x.el Update author/maintainer info 2019-05-26 01:00:16 -07:00
help-at-pt.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
help-fns.el * help-fns.el (help-fns--first-release): Do not fail if no release is found. 2019-06-03 02:13:57 +02:00
help-macro.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
help-mode.el * lisp/help-fns.el: Make hyperlink for the "first release" info 2019-06-02 11:52:41 -04:00
help.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
hex-util.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
hexl.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
hfy-cmap.el Remove Maintainer: when it duplicates Author: 2019-05-26 01:00:15 -07:00
hi-lock.el Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
hilit-chg.el Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
hippie-exp.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
hl-line.el Update author/maintainer info 2019-05-26 01:00:16 -07:00
htmlfontify.el (hfy-fontify-buffer): Inhibit read only 2019-06-23 20:11:33 +02:00
ibuf-ext.el Avoid some double-rounding of Lisp timestamps 2019-02-22 18:33:57 -08:00
ibuf-macs.el Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
ibuffer.el Fix TODO to remove leading '*' from defcustom 2019-06-09 10:07:17 +03:00
icomplete.el Remove Maintainer: when it duplicates Author: 2019-05-26 01:00:15 -07:00
ido.el Remove XEmacs support from ido.el 2019-06-12 23:38:55 +02:00
ielm.el Add doc strings to the ielm * variables 2019-06-20 14:13:18 +02:00
iimage.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
image-dired.el Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
image-file.el Replace use of obsolete string-make-unibyte 2019-04-28 16:45:13 -04:00
image-mode.el Fix auto-revert resizing in image mode 2019-06-23 22:50:46 +02:00
image.el Add native image rotation and cropping 2019-06-05 22:28:46 +01:00
imenu.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
indent.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
info-look.el Update author/maintainer info 2019-05-26 01:00:16 -07:00
info-xref.el Fix regular-expression glitches and typos 2019-03-04 18:00:58 -08:00
info.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
informat.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
isearch.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
isearchb.el Suppress warning in isearchb about iswitchb being obsolete 2019-06-17 12:37:02 +02:00
jit-lock.el Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
jka-cmpr-hook.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
jka-compr.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
json.el Improve replace-buffer-contents/replace-region-contents 2019-02-23 21:31:15 +01:00
jsonrpc.el Remove Maintainer: when it duplicates Author: 2019-05-26 01:00:15 -07:00
kermit.el Fix TODO to convert defvar with leading '*' to defcustom 2019-06-09 10:08:33 +03:00
kmacro.el Rewrite the kmacro register function to avoid using obsolete functions 2019-06-12 18:21:35 +02:00
ldefs-boot.el ; * lisp/ldefs-boot.el: Update. 2019-06-12 13:56:27 +02:00
linum.el Merge from origin/emacs-26 2019-06-07 07:50:49 -07:00
loadhist.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
loadup.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
locate.el * lisp/locate.el (locate-mode): Setup invisibility for Dired commands 2019-03-18 14:25:49 -04:00
lpr.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
ls-lisp.el Make ls-lisp--dired ape dired-noselect more closely 2019-06-23 19:24:20 +02:00
macros.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
Makefile.in Make extraclean return tree to pristine state by deleting more 2019-06-20 17:04:04 +02:00
makesum.el Use lexical-binding in makesum.el and add tests 2019-05-29 20:47:16 +02:00
man.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
master.el Remove Maintainer: when it duplicates Author: 2019-05-26 01:00:15 -07:00
mb-depth.el Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
md4.el Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
menu-bar.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
midnight.el Remove Maintainer: when it duplicates Author: 2019-05-26 01:00:15 -07:00
minibuf-eldef.el Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
minibuffer.el Suppress warning in display-completion-list about itself 2019-06-12 16:18:34 +02:00
misc.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
misearch.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
mouse-copy.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
mouse-drag.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
mouse.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
mpc.el Avoid some double-rounding of Lisp timestamps 2019-02-22 18:33:57 -08:00
msb.el Update author/maintainer info 2019-05-26 01:00:16 -07:00
mwheel.el Remove retired maintainers from comments 2019-06-04 12:42:47 -07:00
newcomment.el Fixes for "Maintainer:" and related lines 2019-05-19 21:34:27 -07:00
notifications.el Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
novice.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
obarray.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
outline.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
paren.el Use lexical-binding in paren.el and add tests 2019-05-26 11:22:27 +02:00
password-cache.el Use lexical-binding in password-cache.el and add tests 2019-06-09 10:08:36 -07:00
pcmpl-cvs.el Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
pcmpl-gnu.el Fix compilation warning in pcmpl-gnu.el 2019-06-19 15:30:22 +02:00
pcmpl-linux.el Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
pcmpl-rpm.el Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
pcmpl-unix.el Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
pcmpl-x.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
pcomplete.el Remove compat code for XEmacs and pre-Emacs 20 Emacs in pcomplete.el 2019-06-12 23:26:56 +02:00
pixel-scroll.el Avoid some double-rounding of Lisp timestamps 2019-02-22 18:33:57 -08:00
plstore.el Update author/maintainer info 2019-05-26 01:00:16 -07:00
printing.el Remove Maintainer: when it duplicates Author: 2019-05-26 01:00:15 -07:00
proced.el * lisp/wid-edit.el (widget-choose): Use display-buffer-in-direction 2019-06-05 23:57:07 +03:00
profiler.el Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
ps-bdf.el Fixes for "Maintainer:" and related lines 2019-05-19 21:34:27 -07:00
ps-def.el Remove XEmacs compat code from ps-print 2019-06-19 22:30:10 +02:00
ps-mule.el Remove Maintainer: when it duplicates Author: 2019-05-26 01:00:15 -07:00
ps-print.el Remove XEmacs compat code from ps-print 2019-06-19 22:30:10 +02:00
ps-samp.el Remove retired maintainers from comments 2019-06-04 12:42:47 -07:00
README
recentf.el Merge from origin/emacs-26 2019-06-01 12:04:41 -07:00
rect.el Update author/maintainer info 2019-05-26 01:00:16 -07:00
register.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
registry.el Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
repeat.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
replace.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
reposition.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
reveal.el Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
rfn-eshadow.el Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
rot13.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
rtree.el Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
ruler-mode.el Remove Maintainer: when it duplicates Author: 2019-05-26 01:00:15 -07:00
savehist.el Remove XEmacs compat code from savehist.el (reworked) 2019-06-22 11:36:55 +02:00
saveplace.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
sb-image.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
scroll-all.el Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
scroll-bar.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
scroll-lock.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
select.el ; * lisp/select.el (xselect--encode-string): Fix a thinko. 2019-06-22 12:38:05 +03:00
server.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
ses.el Fixes for "Maintainer:" and related lines 2019-05-19 21:34:27 -07:00
shadowfile.el Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
shell.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
simple.el Fix list-processes typo with thread-name 2019-06-11 08:25:21 -07:00
skeleton.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
sort.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
soundex.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
speedbar.el Update author/maintainer info 2019-05-26 01:00:16 -07:00
startup.el Allow trailing whitespace in --eval argument (Bug#36219) 2019-06-15 17:05:56 -04:00
strokes.el Update author/maintainer info 2019-05-26 01:00:16 -07:00
subr.el Add a Code: tag to subr.el 2019-06-23 19:07:43 +02:00
svg.el Merge from origin/emacs-26 2019-06-11 08:38:34 -07:00
t-mouse.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
tabify.el Use lexical-binding in tabify.el and add tests 2019-05-25 18:37:33 -07:00
talk.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
tar-mode.el Let untarring (and hence package installation) go faster (Bug#35909) 2019-06-03 20:18:19 -04:00
tempo.el Remove XEmacs compat code from tempo.el 2019-06-12 23:26:56 +02:00
term.el Consider line spacing and font height when deriving proc window size 2019-06-07 11:53:17 +03:00
thingatpt.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
thread.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
thumbs.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
time-stamp.el Update author/maintainer info 2019-05-26 01:00:16 -07:00
time.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
timezone.el Use lexical-binding in timezone.el and add tests 2019-06-01 01:44:31 -07:00
tmm.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
tool-bar.el Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
tooltip.el Avoid some double-rounding of Lisp timestamps 2019-02-22 18:33:57 -08:00
tree-widget.el Always try to display tree-widget with images (Bug#36147) 2019-06-15 17:06:31 -04:00
tutorial.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
type-break.el Remove Maintainer: when it duplicates Author: 2019-05-26 01:00:15 -07:00
uniquify.el Update author/maintainer info 2019-05-26 01:00:16 -07:00
userlock.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
vcursor.el Update author/maintainer info 2019-05-26 01:00:16 -07:00
version.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
view.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
vt-control.el Remove Maintainer: when it duplicates Author: 2019-05-26 01:00:15 -07:00
vt100-led.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
w32-fns.el w32--os-description: Fix previous change 2019-05-20 14:34:36 +02:00
w32-vars.el Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
wdired.el * lisp/emacs-lisp/bytecomp.el (byte-compile-dynamic): Mark obsolete 2019-06-21 10:30:50 -04:00
whitespace.el Remove Maintainer: when it duplicates Author: 2019-05-26 01:00:15 -07:00
wid-browse.el Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
wid-edit.el * lisp/emacs-lisp/bytecomp.el (byte-compile-dynamic): Mark obsolete 2019-06-21 10:30:50 -04:00
widget.el * lisp/widget.el (define-widget-keywords): Use declare. 2019-06-13 17:42:58 -04:00
windmove.el * lisp/windmove.el (windmove-display-in-direction): Support consecutive calls 2019-04-25 00:40:27 +03:00
window.el Merge from origin/emacs-26 2019-06-15 09:50:32 -07:00
winner.el Merge from origin/emacs-26 2018-12-31 17:57:29 -08:00
woman.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
x-dnd.el Go back to "Maintainer: emacs-devel@gnu.org" 2019-05-25 14:25:18 -07:00
xdg.el Fix regular-expression glitches and typos 2019-03-04 18:00:58 -08:00
xml.el Update author/maintainer info 2019-05-26 01:00:16 -07:00
xt-mouse.el Avoid some double-rounding of Lisp timestamps 2019-02-22 18:33:57 -08:00
xwidget.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00

This directory contains source code for the parts of Emacs that are
written in Emacs Lisp.  *.el files are Emacs Lisp source, and the
corresponding *.elc files are byte-compiled versions.  Byte-compiled
files are architecture-independent.

The term subdirectory contains Lisp files that customize Emacs for
certain terminal types.  When Emacs starts, it checks the TERM
environment variable to get the terminal type and loads
'term/${TERM}.el' if it exists.

The other subdirectories hold Lisp packages grouped by their general
purpose.