Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
This commit is contained in:
commit
641a3472ef
2274 changed files with 4788 additions and 3896 deletions
4
.gitattributes
vendored
4
.gitattributes
vendored
|
@ -1,6 +1,6 @@
|
|||
# Attributes of Emacs files in the Git repository.
|
||||
|
||||
# Copyright 2015 Free Software Foundation, Inc.
|
||||
# Copyright 2015-2016 Free Software Foundation, Inc.
|
||||
|
||||
# This file is part of GNU Emacs.
|
||||
|
||||
|
@ -34,12 +34,14 @@ test/etags/html-src/algrthms.html whitespace=cr-at-eol
|
|||
doc/misc/texinfo.tex -whitespace=blank-at-eol
|
||||
|
||||
# Some files should not be treated as text when diffing or merging.
|
||||
*.cur binary
|
||||
*.gpg binary
|
||||
*.gz binary
|
||||
*.icns binary
|
||||
*.ico binary
|
||||
*.pbm binary
|
||||
*.pdf binary
|
||||
*.pif binary
|
||||
*.png binary
|
||||
*.sig binary
|
||||
*.tiff binary
|
||||
|
|
10
CONTRIBUTE
10
CONTRIBUTE
|
@ -233,7 +233,7 @@ is still reproducible.
|
|||
|
||||
The process of going through old or new bugs and acting on them is
|
||||
called bug triage. This process is described in the file
|
||||
admin/notes/triage.
|
||||
admin/notes/bug-triage.
|
||||
|
||||
** Document your changes.
|
||||
|
||||
|
@ -262,12 +262,20 @@ Emacs uses ERT, Emacs Lisp Regression Testing, for testing. See (info
|
|||
"(ert)") or https://www.gnu.org/software/emacs/manual/html_node/ert/
|
||||
for more information on writing and running tests.
|
||||
|
||||
If your test lasts longer than some few seconds, mark it in its
|
||||
`ert-deftest' definition with ":tags '(:expensive-test)".
|
||||
|
||||
To run tests on the entire Emacs tree, run "make check" from the
|
||||
top-level directory. Most tests are in the directory
|
||||
"test/". From the "test/" directory, run "make
|
||||
<filename>" to run the tests for <filename>.el(c). See
|
||||
"test/Makefile" for more information.
|
||||
|
||||
Tests which are tagged ":expensive-test" are enabled additionally, if
|
||||
you run "make check-expensive" from the top-level directory. "make
|
||||
<filename>" as mentioned above incorporates expensive tests for
|
||||
<filename>.el(c).
|
||||
|
||||
** Understanding Emacs Internals.
|
||||
|
||||
The best way to understand Emacs Internals is to read the code,
|
||||
|
|
|
@ -14700,7 +14700,7 @@
|
|||
;; coding: utf-8
|
||||
;; End:
|
||||
|
||||
Copyright (C) 1993-1999, 2001-2015 Free Software Foundation, Inc.
|
||||
Copyright (C) 1993-1999, 2001-2016 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Emacs.
|
||||
|
||||
|
|
652
ChangeLog.2
652
ChangeLog.2
|
@ -1,3 +1,114 @@
|
|||
2016-01-09 Andrew Hyatt <ahyatt@gmail.com>
|
||||
|
||||
Adding example replies to bug-triage.
|
||||
|
||||
* admin/notes/bug-triage: Added example replies. Also, as requested,
|
||||
making the process notes into more of a checklist.
|
||||
|
||||
2016-01-08 Andrew Hyatt <ahyatt@gmail.com>
|
||||
|
||||
Rename the notes/admin/triage file to bug-triage.
|
||||
|
||||
* CONTRIBUTE: Change reference to the triage file name.
|
||||
* admin/notes/triage: Rename file to admin/notes/bug-triage.
|
||||
|
||||
2016-01-07 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
Allow creation of loaddefs files without timestamps.
|
||||
|
||||
* lisp/emacs-lisp/autoload.el (autoload-timestamps): New variable.
|
||||
(autoload-generate-file-autoloads, update-directory-autoloads):
|
||||
If autoload-timestamps is nil, write "t" instead of file timestamp.
|
||||
(autoload-find-destination, update-directory-autoloads):
|
||||
If timestamp is "t", use the modtime of the output file instead.
|
||||
|
||||
2016-01-06 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
Doc tweaks.
|
||||
|
||||
* lisp/calendar/cal-hebrew.el (diary-hebrew-list-entries):
|
||||
* lisp/calendar/cal-iso.el (calendar-iso-to-absolute)
|
||||
(calendar-iso-from-absolute):
|
||||
* lisp/calendar/cal-tex.el (cal-tex-comment):
|
||||
* lisp/calendar/solar.el (calendar-time-display-form): Doc tweaks.
|
||||
|
||||
2016-01-06 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
Build tweaks related to tags files.
|
||||
|
||||
* lib-src/Makefile.in (tagsfiles): New variable.
|
||||
(TAGS): Also depend on the source files. Use our own etags program.
|
||||
* lisp/Makefile.in (ETAGS): Add EXEEXT.
|
||||
(lisptagsfiles1, lisptagsfiles2, lisptagsfiles3, lisptagsfiles4):
|
||||
Remove.
|
||||
(tagsfiles): New, replacing lisptagsfiles1 etc.
|
||||
Remove irrelevant source files here rather than in the TAGS rule.
|
||||
(${ETAGS}): New rule.
|
||||
(TAGS): Also depend on the etags executable.
|
||||
* lwlib/Makefile.in (EXEEXT): New, set by configure.
|
||||
(ETAGS): Add EXEEXT.
|
||||
(${ETAGS}): New rule.
|
||||
(ctagsfiles): Use "wildcard".
|
||||
(TAGS): Also depend on the etags executable.
|
||||
* nt/Makefile.in (ETAGS, tagsfiles): New variables.
|
||||
(${ETAGS}): New rule.
|
||||
(TAGS): Fix dependencies.
|
||||
* oldXMenu/Makefile.in (EXEEXT): New, set by configure.
|
||||
(ETAGS): New variable, replacing $TAGS. Use our own etags program.
|
||||
Remove "-t" argument.
|
||||
(${ETAGS}): New rule.
|
||||
(tagsfiles): New variable.
|
||||
(TAGS): New rule, with proper dependencies.
|
||||
* src/Makefile.in (ETAGS): Add EXEEXT. Add a build rule.
|
||||
(ctagsfiles1, ctagsfiles2): Use "wildcard".
|
||||
(ctagsfiles3): Remove.
|
||||
(TAGS): Depend on etags.
|
||||
(../lisp/TAGS, $(lwlibdir)/TAGS): Let the rules in the relevant
|
||||
directories decide if updates are needed.
|
||||
|
||||
2016-01-06 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* lisp/Makefile.in (CAL_SRC): Skip calendar.el.
|
||||
|
||||
2016-01-06 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* test/lisp/emacs-lisp/package-tests.el
|
||||
|
||||
(package-test-macro-compilation): Fixup branch merge.
|
||||
|
||||
2016-01-05 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
Fix fallout from merging emacs-25 branch in test/
|
||||
|
||||
* .gitignore: Update for the new place of biditest.txt.
|
||||
* test/automated/: Directory removed. All files moved to their
|
||||
proper places.
|
||||
* test/etags/: Directory removed. All files moved to their proper
|
||||
places.
|
||||
* test/automated/url-parse-tests.el: File removed; it was an exact
|
||||
copy of the same file in test/lisp/url/.
|
||||
* test/automated/url-expand-tests.el: Moved to test/lisp/url/.
|
||||
|
||||
2016-01-04 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Spelling fixes.
|
||||
|
||||
2016-01-04 Daniel Colascione <dancol@dancol.org>
|
||||
|
||||
Let users disable unsafe signal handling code
|
||||
|
||||
* src/keyboard.c (syms_of_keyboard): New user variables
|
||||
`attempt-stack-overflow-recovery' and
|
||||
`attempt-orderly-shutdown-on-fatal-signal'.
|
||||
* src/sysdep.c (stack_overflow): Check
|
||||
`attempt-stack-overflow-recovery'.
|
||||
* src/emacs.c (terminate_due_to_signal): Check
|
||||
`attempt-orderly-shutdown-on-fatal-signal'.
|
||||
|
||||
2016-01-03 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
* configure.ac: Add error message for gfile on Nextstep.
|
||||
|
||||
2016-01-03 John Wiegley <johnw@newartisans.com>
|
||||
|
||||
Merge branch 'emacs-25-merge'
|
||||
|
@ -254,19 +365,7 @@
|
|||
|
||||
2015-12-28 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
shr link traversal fixup
|
||||
|
||||
* shr.el (shr-next-link): Don't bug out on adjacent links.
|
||||
|
||||
Backport:
|
||||
|
||||
(cherry picked from commit 1efc5f8b09273c359683ce13be95fb5df7a84311)
|
||||
|
||||
2015-12-28 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
shr link traversal fixup
|
||||
|
||||
* shr.el (shr-next-link): Don't bug out on adjacent links.
|
||||
* lisp/net/shr.el (shr-next-link): Don't bug out on adjacent links.
|
||||
|
||||
2015-12-28 Tom Tromey <tom@tromey.com>
|
||||
|
||||
|
@ -441,18 +540,6 @@
|
|||
closed connection, this may already have been detected and
|
||||
`erc-server-last-received-time' has been set to nil (bug#13608).
|
||||
|
||||
2015-12-27 David Edmondson <dme@dme.org>
|
||||
|
||||
Proxy error in erc with multiple clients
|
||||
|
||||
* lisp/erc/erc.el (erc-channel-receive-names): Fix errors
|
||||
generated when multiple IRC clients talk to a single IRC proxy
|
||||
(bug#19034).
|
||||
|
||||
Backport:
|
||||
|
||||
(cherry picked from commit 507e98a54d1aa37823c64993d6b59257a82fe8f4)
|
||||
|
||||
2015-12-27 David Edmondson <dme@dme.org>
|
||||
|
||||
Proxy error in erc with multiple clients
|
||||
|
@ -472,44 +559,17 @@
|
|||
|
||||
2015-12-27 Jens Lechtenboerger <jens.lechtenboerger@fsfe.org>
|
||||
|
||||
Fix mml-sec build warnings
|
||||
|
||||
* lisp/gnus/mml-sec.el: Fix warnings by adding autoloads
|
||||
(bug#18718).
|
||||
|
||||
Backport:
|
||||
|
||||
(cherry picked from commit 3603097f62f5f4aa5451716e9ac380161f6829e2)
|
||||
|
||||
2015-12-27 Jens Lechtenboerger <jens.lechtenboerger@fsfe.org>
|
||||
|
||||
Fix mml-sec build warnings
|
||||
|
||||
* lisp/gnus/mml-sec.el: Fix warnings by adding autoloads
|
||||
(bug#18718).
|
||||
|
||||
2015-12-27 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
Don't insert erc logs at the end
|
||||
|
||||
* erc-log.el (erc-log-setup-logging): Insert the previous log
|
||||
* lisp/erc/erc-log.el (erc-log-setup-logging): Insert the previous log
|
||||
at the start of the buffer, not at the end (bug#20496).
|
||||
|
||||
2015-12-27 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
(eww-setup-buffer): Restore left-to-right defaults
|
||||
|
||||
* eww.el (eww-setup-buffer): Restore left-to-right defaults.
|
||||
|
||||
Backport:
|
||||
|
||||
(cherry picked from commit 96c874b96b617c124d500a94de761a61f2a08685)
|
||||
|
||||
2015-12-27 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
(eww-setup-buffer): Restore left-to-right defaults
|
||||
|
||||
* eww.el (eww-setup-buffer): Restore left-to-right defaults.
|
||||
* lisp/net/eww.el (eww-setup-buffer): Restore left-to-right defaults.
|
||||
|
||||
2015-12-27 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
|
@ -676,27 +736,6 @@
|
|||
|
||||
Include the tests for the URL parsing fixes
|
||||
|
||||
2015-12-26 Alain Schneble <a.s@realize.ch>
|
||||
|
||||
Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
|
||||
|
||||
* test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
|
||||
* test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
|
||||
* lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
|
||||
information in URL-struct.
|
||||
* lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
|
||||
path and query into nil path and query, respectively.
|
||||
* lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
|
||||
empty path into an absolute ("/") path.
|
||||
* lisp/url/url-expand.el (url-expand-file-name): Properly resolve
|
||||
fragment-only URIs. Do not just return them unchanged.
|
||||
* lisp/url/url-expand.el (url-default-expander): An empty path in the relative
|
||||
reference URI should not drop the last segment.
|
||||
|
||||
Backport:
|
||||
|
||||
(cherry picked from commit b792ecea1715e080ad8e232d3d154b8a25d2edfb)
|
||||
|
||||
2015-12-26 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
Document 'url-user-agent'.
|
||||
|
@ -751,43 +790,8 @@
|
|||
2015-12-25 Andreas Schwab <schwab@linux-m68k.org>
|
||||
|
||||
Don't treat /foo/bar:mumble as ange-ftp address
|
||||
|
||||
* lisp/net/browse-url.el (browse-url-filename-alist): Match colons
|
||||
only in the first component. (bug#5362)
|
||||
|
||||
2015-12-25 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
Follow <meta> redirects in eww
|
||||
|
||||
Merge conflict, but I think I resolved it.
|
||||
|
||||
Follow meta refresh tags in eww
|
||||
|
||||
* eww.el (eww-tag-meta): Follow meta refresh tags (bug#22234).
|
||||
|
||||
Backport:
|
||||
|
||||
2015-12-25 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
Allow http://user:pass@foo/ URLs again
|
||||
|
||||
* lisp/url/url-auth.el (url-basic-auth): Allow explicit
|
||||
user/passwords in URLs (bug#19046).
|
||||
|
||||
Backport:
|
||||
|
||||
(cherry picked from commit b563715a2db265517d5a77f165a42afa1e233fdd)
|
||||
|
||||
2015-12-25 Samer Masterson <samer@samertm.com>
|
||||
|
||||
Autoload url-insert-buffer-contents
|
||||
|
||||
* lisp/url/url-handlers.el: Add autoload cookie so that
|
||||
`package-list-packages' doesn't bug out (bug#21927) (tiny change)
|
||||
|
||||
Backport:
|
||||
|
||||
(cherry picked from commit 7a7b5b492ff9929eecd90c4564db6fbf3b192323)
|
||||
* lisp/net/browse-url.el (browse-url-filename-alist): Match colons
|
||||
only in the first component. (bug#5362)
|
||||
|
||||
2015-12-25 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
|
@ -797,157 +801,6 @@
|
|||
backslashes to forward slashes while decoding default-directory
|
||||
of the initially-created buffers.
|
||||
|
||||
2015-12-25 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
More eww file name coding fixes
|
||||
|
||||
* eww.el (eww-decode-url-file-name): Use the base coding
|
||||
system to check for encodability.
|
||||
|
||||
Backport:
|
||||
|
||||
(cherry picked from commit a8627008abe4ab339df19b417776da28b3ce0fc7)
|
||||
|
||||
2015-12-25 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
Always save eww history
|
||||
|
||||
* eww.el (eww-setup-buffer): Always save history, even when
|
||||
called from outside the eww buffer (bug#19638).
|
||||
|
||||
Backport:
|
||||
|
||||
(cherry picked from commit 2a0f18d9b6ce0ccce3d9c4a4a3b5743bae71b41e)
|
||||
|
||||
2015-12-25 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
Default web pages to right-to-left
|
||||
|
||||
* eww.el (eww-mode): Most web pages are left-to-right, so make
|
||||
that the default (bug#19801).
|
||||
|
||||
* shr.el (shr-tag-html): Respect "dir" attributes
|
||||
(left-to-right, right-to-left).
|
||||
|
||||
Backport:
|
||||
|
||||
(cherry picked from commit 9e089ec8a380ec3758fcf1564c5f86dc92c68c2a)
|
||||
|
||||
2015-12-25 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
Make toggling checkboxes work again
|
||||
|
||||
* eww.el (eww-update-field): Make toggling checkboxes work
|
||||
again (bug#21881).
|
||||
|
||||
Backport:
|
||||
|
||||
(cherry picked from commit 5e56f606952e5e81b4d3a93ea70e791b74b33041)
|
||||
|
||||
2015-12-25 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
Don't store cookies with empty names
|
||||
|
||||
* lisp/url/url-cookie.el (url-cookie-store): Refuse to store
|
||||
cookies with empty names (bug#21936).
|
||||
|
||||
Backport:
|
||||
|
||||
(cherry picked from commit 9f0fd7cb1aec3eb9e2e0f7b8854c30870286d96c)
|
||||
|
||||
2015-12-25 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
Stop rendering HTML before specdlr exhaustion
|
||||
|
||||
Fixes: 22117
|
||||
|
||||
* shr.el (shr-descend): Stop rendering before we run out of
|
||||
specpdl room (bug#22117).
|
||||
|
||||
Backport:
|
||||
|
||||
(cherry picked from commit 248da292fe46224b0b5a79b632c89cf4de2c2081)
|
||||
|
||||
2015-12-25 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
Use cl-reduce, not reduce.
|
||||
|
||||
Backport:
|
||||
|
||||
(cherry picked from commit fe4606f93b91ff3d046aee0cf21ecc277af7a786)
|
||||
|
||||
2015-12-25 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
Allow several <tbody> tags in shr
|
||||
|
||||
* shr.el (shr-table-body): New function to find the real body
|
||||
of a table.
|
||||
(shr-tag-table): Use it to render several <tbody> tags in a
|
||||
table (bug#22170).
|
||||
|
||||
Backport:
|
||||
|
||||
(cherry picked from commit cdaf33029d6620073833876d76056045ecfbc7c4)
|
||||
|
||||
2015-12-25 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
Make prettier unique file names in eww
|
||||
|
||||
(eww-make-unique-file-name): Make unique file names by making
|
||||
files like foo(2).jpg instead of foo(1)(2).jpg.
|
||||
|
||||
Backport:
|
||||
|
||||
(cherry picked from commit edfdd0a6cbdfa9e5e4bd0553e2b489401ca39266)
|
||||
|
||||
2015-12-25 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
Decode hex-encoded URLs before using them as file names
|
||||
|
||||
* eww.el (eww-decode-url-file-name): New function.
|
||||
(eww-download-callback): Use it to decode file names before
|
||||
saving them.
|
||||
|
||||
Backport:
|
||||
|
||||
(cherry picked from commit af22a010d87516c2a646572fb27512c03057784f)
|
||||
|
||||
2015-12-25 Ashish SHUKLA <ashish.is@lostca.se>
|
||||
|
||||
Add FreeBSD cert bundle
|
||||
|
||||
* doc/misc/emacs-gnutls.texi (Help For Users): Document
|
||||
FreeBSD bundle.
|
||||
|
||||
* lisp/net/gnutls.el (gnutls-trustfiles): Add FreeBSD cert bundle.
|
||||
|
||||
Backport:
|
||||
|
||||
(cherry picked from commit 60c0f1a18ad88d6dc1a8f4ee5d9d18940eaeb6f7)
|
||||
|
||||
2015-12-25 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
Ignore invalid SVG images
|
||||
|
||||
* shr.el (shr-tag-svg): Ignore SVG images that have no width
|
||||
or height, because these can't be displayed by ImageMagick,
|
||||
anyway.
|
||||
|
||||
Backport:
|
||||
|
||||
(cherry picked from commit 821107d53c2e390240d25c036b99ebbf9b4a93b6)
|
||||
|
||||
2015-12-25 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
shr table rendering fix
|
||||
|
||||
* shr.el (shr-tag-table): Allow rendering body-less tables
|
||||
that have headers.
|
||||
|
||||
Backport:
|
||||
|
||||
(cherry picked from commit b05471e42c17e02c56c87d7599ada0c124a5fe09)
|
||||
|
||||
2015-12-25 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
Restore info about the build host in bug reports
|
||||
|
@ -1292,7 +1145,7 @@
|
|||
|
||||
2015-12-18 Lele Gaifax <lele@metapensiero.it>
|
||||
|
||||
* etc/tutorials/TUTORIAL.it: Update and fix typos.
|
||||
* etc/tutorials/TUTORIAL.it: Update and fix typos. (Bug#22187)
|
||||
|
||||
2015-12-18 Alan Mackenzie <acm@muc.de>
|
||||
|
||||
|
@ -1450,7 +1303,7 @@
|
|||
* src/xfns.c (compute_tip_xy): Modify *root_x instead of *root_y
|
||||
when `right' is integer.
|
||||
|
||||
2015-12-14 foudfou <foudil.newbie+git@gmail.com>
|
||||
2015-12-14 foudfou <foudil.newbie+git@gmail.com> (tiny change)
|
||||
|
||||
* lisp/ibuffer.el: Add ability to (un-)mark or delete buffers in the region.
|
||||
|
||||
|
@ -2138,7 +1991,7 @@
|
|||
(ifconfig-program-options): Check the actual program in use.
|
||||
(arp-program): Check sbin directories.
|
||||
|
||||
2015-12-04 (tiny change) Arash Esbati <esbati@gmx.de> (tiny change)
|
||||
2015-12-04 Arash Esbati <esbati@gmx.de> (tiny change)
|
||||
|
||||
Fix wrong-type-argument integer-or-marker-p nil error
|
||||
|
||||
|
@ -2247,7 +2100,6 @@
|
|||
2015-12-04 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* lisp/emacs-lisp/cl-macs.el (character): Can't be negative
|
||||
|
||||
Fixes (bug#21701)
|
||||
|
||||
2015-12-04 Daiki Ueno <ueno@gnu.org>
|
||||
|
@ -2908,15 +2760,6 @@
|
|||
* lisp/replace.el (replace-character-fold): Clarify which commands
|
||||
are affected by this variable.
|
||||
|
||||
2015-11-27 Mark Oteiza <mvoteiza@udel.edu>
|
||||
|
||||
Backport: Add interactive seek command.
|
||||
|
||||
* lisp/mpc.el (mpc-cmd-seekcur): New function.
|
||||
(mpc-seek-current): New command.
|
||||
(mpc-mode-menu): Add entry for mpc-seek-current
|
||||
(mpc-mode-map): Bind mpc-seek-current to "g"
|
||||
|
||||
2015-11-27 Dmitry Gutov <dgutov@yandex.ru>
|
||||
|
||||
Autoload etags when using its xref backend
|
||||
|
@ -3732,12 +3575,6 @@
|
|||
w32_init_main_thread, instead of calling the requisite APIs once
|
||||
more.
|
||||
|
||||
2015-11-21 Mark Oteiza <mvoteiza@udel.edu>
|
||||
|
||||
Backport: Fix issue where a new tempfile was created every refresh
|
||||
|
||||
* lisp/mpc.el (mpc-format): Leave dir as relative path
|
||||
|
||||
2015-11-21 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
Call 'window-size-change-functions' for mini-windows
|
||||
|
@ -4268,41 +4105,6 @@
|
|||
|
||||
* admin/release-process: Improve wording.
|
||||
|
||||
2015-11-17 Xue Fuqiao <xfq.free@gmail.com>
|
||||
|
||||
Backport: * CONTRIBUTE: Remove information about feature freeze.
|
||||
|
||||
(cherry picked from commit ae0653b5ab9ee223751ec389b87011963e1cbbef)
|
||||
|
||||
2015-11-17 Xue Fuqiao <xfq.free@gmail.com>
|
||||
|
||||
Backport: Document the release process
|
||||
|
||||
* admin/notes/versioning: Add information about RC releases.
|
||||
* admin/release-process: Document the release process.
|
||||
* admin/authors.el (authors-ignored-files):
|
||||
* admin/README: Change FOR-RELEASE to release-process.
|
||||
* CONTRIBUTE:
|
||||
* admin/notes/bugtracker: Don't mention FOR-RELEASE.
|
||||
|
||||
(cherry picked from commit 9a4aa0f5945a03611ae29c516025dbd353bd26ab)
|
||||
|
||||
2015-11-17 Xue Fuqiao <xfq.free@gmail.com>
|
||||
|
||||
Backport: * admin/release-process: Rename from admin/FOR-RELEASE.
|
||||
|
||||
(cherry picked from commit f8cc14b59700e51a4e31139c0a65c8154995e055)
|
||||
|
||||
2015-11-17 Xue Fuqiao <xfq.free@gmail.com>
|
||||
|
||||
Backport: Mention CONTRIBUTE in README
|
||||
|
||||
Mention CONTRIBUTE in README, since it was moved from etc/ to root.
|
||||
* etc/TODO: Remove the reference to `etc/CONTRIBUTE'.
|
||||
* README: Mention CONTRIBUTE.
|
||||
|
||||
(cherry picked from commit ed2e7e20ae0945288c98091f308f5460c3453873)
|
||||
|
||||
2015-11-17 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Fix docstring quoting problems with ‘ '’
|
||||
|
@ -4438,19 +4240,6 @@
|
|||
is only called when a construct "looks right" rather than continually.
|
||||
(c-guess-basic-syntax, CASE 5R): Add a check for the mode being C++ Mode.
|
||||
|
||||
2015-11-15 Artur Malabarba <bruce.connor.am@gmail.com>
|
||||
|
||||
Backport: * lisp/emacs-lisp/package.el: Fix a decoding issue.
|
||||
|
||||
* lisp/url/url-handlers.el (url-insert-file-contents): Move some code to
|
||||
`url-insert-buffer-contents'.
|
||||
(url-insert-buffer-contents): New function
|
||||
|
||||
(package--with-response-buffer): Use `url-insert-buffer-contents'.
|
||||
The previous code had some issues with decoding. Refactoring that
|
||||
function allows us to use the decoding from url-handlers while still
|
||||
treating both sync and async requests the same.
|
||||
|
||||
2015-11-15 Stephen Leake <stephen_leake@stephe-leake.org>
|
||||
|
||||
Improve a few doc strings, comments
|
||||
|
@ -4628,186 +4417,16 @@
|
|||
* doc/lispref/internals.texi (Building Emacs): Document that GNU
|
||||
Make 3.81 or later is now required.
|
||||
|
||||
2015-11-14 Artur Malabarba <bruce.connor.am@gmail.com>
|
||||
|
||||
Backport: * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async.
|
||||
|
||||
(package--with-work-buffer-async): Reimplement as
|
||||
`package--with-response-buffer'.
|
||||
(package--with-work-buffer): Mark obsolete.
|
||||
(package--with-response-buffer): New macro. This is a more self
|
||||
contained and less contrived version of
|
||||
`package--with-work-buffer-async'. It uses keyword arguments,
|
||||
doesn't have async on the name, doesn't fallback on
|
||||
`package--with-work-buffer', and has _much_ simpler error
|
||||
handling. On master, this macro will soon be part of another
|
||||
library (either standalone or inside url.el), which is why this
|
||||
commit is not to be merged back.
|
||||
|
||||
(package--check-signature, package--download-one-archive)
|
||||
(package-install-from-archive, describe-package-1): Use it.
|
||||
|
||||
(package--download-and-read-archives): Let
|
||||
`package--download-one-archive' take care of calling
|
||||
`package--update-downloads-in-progress'.
|
||||
|
||||
2015-11-14 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* CONTRIBUTE (Branches): Improve wording for back-ported commits.
|
||||
|
||||
2015-11-14 Dmitry Gutov <dgutov@yandex.ru>
|
||||
|
||||
Merge branch 'master' into emacs-25
|
||||
|
||||
2015-11-13 John Wiegley <johnw@newartisans.com>
|
||||
|
||||
Merge remote-tracking branch 'origin/master' into emacs-25
|
||||
|
||||
2015-11-13 l3thal <kwhite@gnu.org>
|
||||
|
||||
Merge branch 'erc-async-reconnect' into emacs-25
|
||||
|
||||
Reconnect asynchronously.
|
||||
|
||||
2015-11-13 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25
|
||||
|
||||
2015-11-13 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Port recent XCB changes to 64-bit ‘long int’
|
||||
|
||||
For historical reasons, libX11 represents 32-bit values like Atoms as
|
||||
‘long int’ even on platforms where ‘long int’ is 64 bits. XCB doesn’t
|
||||
do that, so adapt the recent XCB code to behave properly on 64-bit
|
||||
platforms. Also, fix what appears to be a bug in the interpretation
|
||||
of xcb_get_property_value_length, at least on my Fedora platform
|
||||
which is running libxcb-1.11-5.fc21.
|
||||
* src/xfns.c (x_real_pos_and_offsets):
|
||||
* src/xterm.c (get_current_wm_state):
|
||||
xcb_get_property_value_length returns a byte count, not a word count.
|
||||
For 32-bit quantities, xcb_get_property_value returns a vector
|
||||
of 32-bit words, not of (possibly 64-bit) long int.
|
||||
|
||||
Backport.
|
||||
|
||||
2015-11-13 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
* src/undo.c (run_undoable_change): Now static.
|
||||
|
||||
Backport.
|
||||
|
||||
2015-11-13 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
Remove support for ':timeout' from w32 tray notifications
|
||||
|
||||
* src/w32fns.c (Fw32_notification_notify): Delete the code that
|
||||
supports ':timeout'.
|
||||
(syms_of_w32fns): Don't DEFSYM ':timeout'. This avoids clashes
|
||||
with dbusbind.c when D-Bus is compiled in.
|
||||
|
||||
* doc/lispref/os.texi (Desktop Notifications): Don't mention
|
||||
':timeout'.
|
||||
|
||||
Backport.
|
||||
|
||||
2015-11-13 Juanma Barranquero <lekktu@gmail.com>
|
||||
|
||||
* test/automated/simple-test.el: Add test for bug#20698 (bug#21885)
|
||||
|
||||
(simple-test--transpositions): New macro.
|
||||
(simple-transpose-subr): New test.
|
||||
|
||||
Backport.
|
||||
|
||||
2015-11-13 Juanma Barranquero <lekktu@gmail.com>
|
||||
|
||||
* lisp/progmodes/elisp-mode.el: Declare function `project-roots'
|
||||
|
||||
Backport.
|
||||
|
||||
2015-11-13 Juanma Barranquero <lekktu@gmail.com>
|
||||
|
||||
* src/undo.c: Small fixes for previous change
|
||||
|
||||
(run_undoable_change): Mark void argument list.
|
||||
(record_property_change): Remove unused variable `boundary'.
|
||||
|
||||
Backport.
|
||||
|
||||
2015-11-13 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
Add a few more variables to redisplay--variables
|
||||
|
||||
* lisp/frame.el (redisplay--variables): Add bidi-paragraph-direction
|
||||
and bidi-display-reordering to the list.
|
||||
|
||||
Backport.
|
||||
|
||||
2015-11-13 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* lisp/loadup.el: Enlarge the size of the hash table to 80000.
|
||||
|
||||
Backport.
|
||||
|
||||
2015-11-13 Eli Barzilay <eli@barzilay.org>
|
||||
|
||||
Fix point positioning after transposing with negative arg
|
||||
|
||||
* lisp/simple.el (transpose-subr): When invoked with a negative
|
||||
argument, move point to after the transposed text, like we do
|
||||
when invoked with a positive argument. (Bug#21885)
|
||||
|
||||
Backport.
|
||||
|
||||
2015-11-13 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
Fix last change in shr.el
|
||||
|
||||
* lisp/net/shr.el (shr--have-one-fringe-p): Rename from
|
||||
have-fringes-p. All callers changed. Doc fix. (Bug#21895)
|
||||
|
||||
Backport.
|
||||
|
||||
2015-11-13 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
Fix last change
|
||||
|
||||
* src/w32fns.c (syms_of_w32fns) [WINDOWSNT && !HAVE_DBUS]:
|
||||
Don't DEFSYM tray notification symbols if D-Bus is being used.
|
||||
|
||||
Backport.
|
||||
|
||||
2015-11-13 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
Another fix for MinGW64 and Cygwin builds due to notifications
|
||||
|
||||
* src/w32fns.c: Ifdef away tray notification code if D-Bus is
|
||||
being compiled into Emacs.
|
||||
(syms_of_w32fns) [WINDOWSNT && !HAVE_DBUS]: Don't defsubr
|
||||
Sw32_notification_notify and Sw32_notification_close if the code
|
||||
is not compiled. Reported by Andy Moreton <andrewjmoreton@gmail.com>.
|
||||
|
||||
Backport.
|
||||
|
||||
2015-11-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
||||
|
||||
Remove intern calls and XXX comments from Fx_export_frames
|
||||
|
||||
* src/xfns.c (Fx_export_frames): Use Qpdf, Qpng, Qpostscript, and
|
||||
Qsvg instead of intern calls. Use "postscript" instead of "ps"
|
||||
for consistency with image types. Remove XXX comments.
|
||||
(syms_of_xfns) <Qpdf>: DEFSYM it.
|
||||
|
||||
Backport.
|
||||
|
||||
2015-11-13 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
Adapt Tramp version, do not merge with master
|
||||
|
||||
* doc/misc/trampver.texi (trampver):
|
||||
* lisp/net/trampver.el (tramp-version): Set to "2.2.13-25.1".
|
||||
|
||||
2015-11-11 Alan Mackenzie <acm@muc.de>
|
||||
|
||||
First commit to scratch/follow. Make Isearch work with Follow Mode, etc.
|
||||
|
@ -4905,23 +4524,6 @@
|
|||
* lisp/url/url-expand.el (url-default-expander): An empty path in the relative
|
||||
reference URI should not drop the last segment.
|
||||
|
||||
2015-12-25 Alain Schneble <a.s@realize.ch>
|
||||
|
||||
Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
|
||||
|
||||
* test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
|
||||
* test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
|
||||
* lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
|
||||
information in URL-struct.
|
||||
* lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
|
||||
path and query into nil path and query, respectively.
|
||||
* lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
|
||||
empty path into an absolute ("/") path.
|
||||
* lisp/url/url-expand.el (url-expand-file-name): Properly resolve
|
||||
fragment-only URIs. Do not just return them unchanged.
|
||||
* lisp/url/url-expand.el (url-default-expander): An empty path in the relative
|
||||
reference URI should not drop the last segment.
|
||||
|
||||
2015-12-25 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
Let url use default file modes when copying files
|
||||
|
@ -5030,10 +4632,6 @@
|
|||
|
||||
2015-12-25 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
Stop rendering HTML before specdlr exhaustion
|
||||
|
||||
Fixes: 22117
|
||||
|
||||
* shr.el (shr-descend): Stop rendering before we run out of
|
||||
specpdl room (bug#22117).
|
||||
|
||||
|
@ -5065,13 +4663,9 @@
|
|||
(eww-download-callback): Use it to decode file names before
|
||||
saving them.
|
||||
|
||||
2015-12-24 Ashish SHUKLA <ashish.is@lostca.se>
|
||||
|
||||
Add FreeBSD cert bundle
|
||||
|
||||
* doc/misc/emacs-gnutls.texi (Help For Users): Document
|
||||
FreeBSD bundle.
|
||||
2015-12-24 Ashish SHUKLA <ashish.is@lostca.se> (tiny change)
|
||||
|
||||
* doc/misc/emacs-gnutls.texi (Help For Users): Document FreeBSD bundle.
|
||||
* lisp/net/gnutls.el (gnutls-trustfiles): Add FreeBSD cert bundle.
|
||||
|
||||
2015-12-24 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
@ -25221,14 +24815,14 @@
|
|||
|
||||
This file records repository revisions from
|
||||
commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
|
||||
commit fb6d826c69939c2d016c1b824d4e9bcb53d9e643 (inclusive).
|
||||
commit 384cf23c6ed05e1f151032958a2cc2bb8100344b (inclusive).
|
||||
See ChangeLog.1 for earlier changes.
|
||||
|
||||
;; Local Variables:
|
||||
;; coding: utf-8
|
||||
;; End:
|
||||
|
||||
Copyright (C) 2015 Free Software Foundation, Inc.
|
||||
Copyright (C) 2015-2016 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Emacs.
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Build Emacs from a fresh tarball or version-control checkout.
|
||||
|
||||
# Copyright (C) 2011-2015 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2011-2016 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is part of GNU Emacs.
|
||||
#
|
||||
|
|
2
INSTALL
2
INSTALL
|
@ -1,5 +1,5 @@
|
|||
GNU Emacs Installation Guide
|
||||
Copyright (C) 1992, 1994, 1996-1997, 2000-2015 Free Software Foundation,
|
||||
Copyright (C) 1992, 1994, 1996-1997, 2000-2016 Free Software Foundation,
|
||||
Inc.
|
||||
See the end of the file for license conditions.
|
||||
|
||||
|
|
|
@ -64,7 +64,7 @@ never platform-specific.
|
|||
|
||||
|
||||
|
||||
Copyright (C) 2002-2015 Free Software Foundation, Inc.
|
||||
Copyright (C) 2002-2016 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Emacs.
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
### @configure_input@
|
||||
|
||||
# Copyright (C) 1992-2015 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1992-2016 Free Software Foundation, Inc.
|
||||
|
||||
# This file is part of GNU Emacs.
|
||||
|
||||
|
@ -929,7 +929,7 @@ have-tests:
|
|||
exit 1; \
|
||||
fi
|
||||
|
||||
check check-maybe: have-tests all
|
||||
check check-maybe check-expensive: have-tests all
|
||||
$(MAKE) -C test $@
|
||||
|
||||
dist:
|
||||
|
@ -946,7 +946,7 @@ $(DOCS):
|
|||
$(MAKE) -C doc/$(subst -, ,$@)
|
||||
|
||||
.PHONY: $(DOCS) docs pdf ps
|
||||
.PHONY: info dvi dist check check-maybe html info-real info-dir check-info
|
||||
.PHONY: info dvi dist check check-maybe check-expensive html info-real info-dir check-info
|
||||
|
||||
## TODO add etc/refcards.
|
||||
docs: $(DOCS)
|
||||
|
|
2
README
2
README
|
@ -1,4 +1,4 @@
|
|||
Copyright (C) 2001-2015 Free Software Foundation, Inc.
|
||||
Copyright (C) 2001-2016 Free Software Foundation, Inc.
|
||||
See the end of the file for license conditions.
|
||||
|
||||
|
||||
|
|
|
@ -2577,7 +2577,7 @@
|
|||
;; coding: utf-8
|
||||
;; End:
|
||||
|
||||
Copyright (C) 2001-2015 Free Software Foundation, Inc.
|
||||
Copyright (C) 2001-2016 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Emacs.
|
||||
|
||||
|
|
|
@ -218,9 +218,6 @@ Nicolas Petton
|
|||
lisp/emacs-lisp/subr-x.el
|
||||
lisp/arc-mode.el
|
||||
|
||||
Xue Fuqiao
|
||||
doc/lispref/*
|
||||
|
||||
Tassilo Horn
|
||||
lisp/doc-view.el
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
Copyright (C) 2001-2015 Free Software Foundation, Inc.
|
||||
Copyright (C) 2001-2016 Free Software Foundation, Inc.
|
||||
See the end of the file for license conditions.
|
||||
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; admin.el --- utilities for Emacs administration
|
||||
|
||||
;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2001-2016 Free Software Foundation, Inc.
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
|
||||
|
@ -96,13 +96,74 @@ Root must be the root of an Emacs source tree."
|
|||
(submatch (1+ (in "0-9."))))))
|
||||
;; Major version only.
|
||||
(when (string-match "\\([0-9]\\{2,\\}\\)" version)
|
||||
(setq version (match-string 1 version))
|
||||
(set-version-in-file root "src/msdos.c" version
|
||||
(rx (and "Vwindow_system_version" (1+ not-newline)
|
||||
?\( (submatch (1+ (in "0-9"))) ?\))))
|
||||
(set-version-in-file root "etc/refcards/ru-refcard.tex" version
|
||||
"\\\\newcommand{\\\\versionemacs}\\[0\\]\
|
||||
{\\([0-9]\\{2,\\}\\)}.+%.+version of Emacs"))
|
||||
(let ((newmajor (match-string 1 version)))
|
||||
(set-version-in-file root "src/msdos.c" newmajor
|
||||
(rx (and "Vwindow_system_version" (1+ not-newline)
|
||||
?\( (submatch (1+ (in "0-9"))) ?\))))
|
||||
(set-version-in-file root "etc/refcards/ru-refcard.tex" newmajor
|
||||
"\\\\newcommand{\\\\versionemacs}\\[0\\]\
|
||||
{\\([0-9]\\{2,\\}\\)}.+%.+version of Emacs")))
|
||||
(let* ((oldversion
|
||||
(with-temp-buffer
|
||||
(insert-file-contents (expand-file-name "README" root))
|
||||
(if (re-search-forward "version \\([0-9.]*\\)" nil t)
|
||||
(version-to-list (match-string 1)))))
|
||||
(oldmajor (if oldversion (car oldversion)))
|
||||
(newversion (version-to-list version))
|
||||
(newmajor (car newversion))
|
||||
(newshort (format "%s.%s" newmajor
|
||||
(+ (cadr newversion)
|
||||
(if (eq 2 (length newversion)) 0 1))))
|
||||
(majorbump (and oldversion (not (equal oldmajor newmajor))))
|
||||
(minorbump (and oldversion (not majorbump)
|
||||
(not (equal (cadr oldversion) (cadr newversion)))))
|
||||
(newsfile (expand-file-name "etc/NEWS" root))
|
||||
(oldnewsfile (expand-file-name (format "etc/NEWS.%s" oldmajor) root)))
|
||||
(when (and majorbump
|
||||
(not (file-exists-p oldnewsfile)))
|
||||
(rename-file newsfile oldnewsfile)
|
||||
(find-file oldnewsfile) ; to prompt you to commit it
|
||||
(copy-file oldnewsfile newsfile)
|
||||
(with-temp-buffer
|
||||
(insert-file-contents newsfile)
|
||||
(re-search-forward "is about changes in Emacs version \\([0-9]+\\)")
|
||||
(replace-match (number-to-string newmajor) nil nil nil 1)
|
||||
(re-search-forward "^See files \\(NEWS\\)")
|
||||
(replace-match (format "NEWS.%s, NEWS" oldmajor) nil nil nil 1)
|
||||
(let ((start (line-beginning-position)))
|
||||
(search-forward "in older Emacs versions")
|
||||
(or (equal start (line-beginning-position))
|
||||
(fill-region start (line-beginning-position 2))))
|
||||
(re-search-forward "^$")
|
||||
(forward-line -1)
|
||||
(let ((start (point)))
|
||||
(goto-char (point-max))
|
||||
(re-search-backward "^$" nil nil 2)
|
||||
(delete-region start (line-beginning-position 0)))
|
||||
(write-region nil nil newsfile)))
|
||||
(when (or majorbump minorbump)
|
||||
(find-file newsfile)
|
||||
(goto-char (point-min))
|
||||
(if (re-search-forward (format "^\\* .*in Emacs %s" newshort) nil t)
|
||||
(progn
|
||||
(kill-buffer)
|
||||
(message "No need to update etc/NEWS"))
|
||||
(goto-char (point-min))
|
||||
(re-search-forward "^$")
|
||||
(forward-line -1)
|
||||
(dolist (s '("Installation Changes" "Startup Changes" "Changes"
|
||||
"Editing Changes"
|
||||
"Changes in Specialized Modes and Packages"
|
||||
"New Modes and Packages"
|
||||
"Incompatible Lisp Changes"
|
||||
"Lisp Changes"))
|
||||
(insert (format "\n\n* %s in Emacs %s\n" s newshort)))
|
||||
(insert (format "\n\n* Changes in Emacs %s on \
|
||||
Non-Free Operating Systems\n" newshort)))
|
||||
;; Because we skip "bump version" commits when merging between branches.
|
||||
;; Probably doesn't matter in practice, because NEWS changes
|
||||
;; will only happen on master anyway.
|
||||
(message "Commit any NEWS changes separately")))
|
||||
(message "Setting version numbers...done"))
|
||||
|
||||
;; Note this makes some assumptions about form of short copyright.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* Allocate X colors. Used for testing with dense colormaps.
|
||||
|
||||
Copyright (C) 2001-2015 Free Software Foundation, Inc.
|
||||
Copyright (C) 2001-2016 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Emacs.
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; authors.el --- utility for maintaining Emacs's AUTHORS file
|
||||
|
||||
;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2000-2016 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Gerd Moellmann <gerd@gnu.org>
|
||||
;; Maintainer: Kim F. Storm <storm@cua.dk>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#! /usr/bin/perl
|
||||
# Build Emacs in several different configurations.
|
||||
|
||||
# Copyright (C) 2001-2015 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2001-2016 Free Software Foundation, Inc.
|
||||
|
||||
# This file is part of GNU Emacs.
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; bzrmerge.el --- help merge one Emacs bzr branch to another
|
||||
|
||||
;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2010-2016 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
;; Keywords: maint
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
### @configure_input@
|
||||
|
||||
# Copyright (C) 2015 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2015-2016 Free Software Foundation, Inc.
|
||||
|
||||
# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
|
||||
# National Institute of Advanced Industrial Science and Technology (AIST)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Copyright (C) 2015 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2015-2016 Free Software Foundation, Inc.
|
||||
|
||||
# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
|
||||
# National Institute of Advanced Industrial Science and Technology (AIST)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
Copyright (C) 2009-2015 Free Software Foundation, Inc.
|
||||
Copyright (C) 2009-2016 Free Software Foundation, Inc.
|
||||
Copyright (C) 2009, 2010, 2011
|
||||
National Institute of Advanced Industrial Science and Technology (AIST)
|
||||
Registration Number H13PRO009
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; cus-test.el --- tests for custom types and load problems
|
||||
|
||||
;; Copyright (C) 1998, 2000, 2002-2015 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 1998, 2000, 2002-2016 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Markus Rost <markus.rost@mathematik.uni-regensburg.de>
|
||||
;; Maintainer: Markus Rost <rost@math.ohio-state.edu>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#! /bin/sh
|
||||
|
||||
# Copyright (C) 2001-2015 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2001-2016 Free Software Foundation, Inc.
|
||||
|
||||
# This file is part of GNU Emacs.
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; find-gc.el --- detect functions that call the garbage collector
|
||||
|
||||
;; Copyright (C) 1992, 2001-2015 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 1992, 2001-2016 Free Software Foundation, Inc.
|
||||
|
||||
;; Maintainer: emacs-devel@gnu.org
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; gitmerge.el --- help merge one Emacs branch into another
|
||||
|
||||
;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2010-2016 Free Software Foundation, Inc.
|
||||
|
||||
;; Authors: David Engster <deng@randomsample.de>
|
||||
;; Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
### @configure_input@
|
||||
|
||||
## Copyright (C) 2013-2015 Free Software Foundation, Inc.
|
||||
## Copyright (C) 2013-2016 Free Software Foundation, Inc.
|
||||
|
||||
## This file is part of GNU Emacs.
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; c.by -- LL grammar for C/C++ language specification
|
||||
;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 1999-2016 Free Software Foundation, Inc.
|
||||
;;
|
||||
;; Author: Eric M. Ludlam <zappo@gnu.org>
|
||||
;; David Ponce <david@dponce.com>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; semantic-grammar.wy -- LALR grammar of Semantic input grammars
|
||||
;;
|
||||
;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2002-2016 Free Software Foundation, Inc.
|
||||
;;
|
||||
;; Author: David Ponce <david@dponce.com>
|
||||
;; Maintainer: David Ponce <david@dponce.com>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; java-tags.wy -- Semantic LALR grammar for Java
|
||||
|
||||
;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2002-2016 Free Software Foundation, Inc.
|
||||
;;
|
||||
;; Author: David Ponce <david@dponce.com>
|
||||
;; Maintainer: David Ponce <david@dponce.com>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; javascript-jv.wy -- LALR grammar for Javascript
|
||||
|
||||
;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 1998-2011 Ecma International.
|
||||
|
||||
;; Author: Joakim Verona
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; make.by -- BY notation for Makefiles.
|
||||
|
||||
;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 1999-2016 Free Software Foundation, Inc.
|
||||
;;
|
||||
;; Author: Eric M. Ludlam <zappo@gnu.org>
|
||||
;; David Ponce <david@dponce.com>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; python.wy -- LALR grammar for Python
|
||||
|
||||
;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2002-2016 Free Software Foundation, Inc.
|
||||
;; Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
|
||||
;; 2009, 2010 Python Software Foundation; All Rights Reserved
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; scheme.by -- Scheme BNF language specification
|
||||
|
||||
;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2001-2016 Free Software Foundation, Inc.
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; srecode-template.wy --- Semantic Recoder Template parser
|
||||
|
||||
;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Eric Ludlam <zappo@gnu.org>
|
||||
;; Keywords: syntax
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# Build Emacs with various options for profiling, debugging,
|
||||
# with and without warnings enabled etc.
|
||||
|
||||
# Copyright (C) 2001-2015 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2001-2016 Free Software Foundation, Inc.
|
||||
|
||||
# This file is part of GNU Emacs.
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
#
|
||||
# admin/merge-gnulib
|
||||
|
||||
# Copyright 2012-2015 Free Software Foundation, Inc.
|
||||
# Copyright 2012-2016 Free Software Foundation, Inc.
|
||||
|
||||
# This file is part of GNU Emacs.
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
#
|
||||
# admin/merge-pkg-config
|
||||
|
||||
# Copyright 2014-2015 Free Software Foundation, Inc.
|
||||
# Copyright 2014-2016 Free Software Foundation, Inc.
|
||||
|
||||
# This file is part of GNU Emacs.
|
||||
|
||||
|
|
102
admin/notes/bug-triage
Normal file
102
admin/notes/bug-triage
Normal file
|
@ -0,0 +1,102 @@
|
|||
HOW TO TRIAGE EMACS BUGS -*- outline -*-
|
||||
|
||||
This document just describes the procedure of triaging bugs, for information on
|
||||
how to work with the bug tracker, see the bugtracker file in this same directory
|
||||
for the basics. You can also install the debbugs ELPA package for access to M-x
|
||||
debbugs-gnu, an emacs interface to debbugs, and M-x debbugs-org, an emacs
|
||||
interface via org-mode.
|
||||
|
||||
* Bug backlog triage procedure
|
||||
|
||||
The goal of this triage is to prune down the list of old bugs, closing
|
||||
the ones that are not reproducible on the current release.
|
||||
|
||||
1. To start, enter debbugs mode (either debbugs-gnu, debbugs-org, or via the
|
||||
web browser), and accept the default list option of bugs that have severity
|
||||
serious, important, or normal.
|
||||
2. This will also show closed bugs that have yet to be archived. You can
|
||||
filter these out in debbugs-gnu with "x" (debbugs-gnu-toggle-suppress).
|
||||
3. For each bug, we want to primarily make sure it is still
|
||||
reproducible. A bug can and should stay open as long as it is
|
||||
still a bug and no one has fixed it. The following is a
|
||||
suggested checklist to follow for handling these bugs, along with
|
||||
example replies. The various closings, taggings, etc, are done
|
||||
with debbugs control messages, which in debbugs-gnu is initiated
|
||||
with a "C".
|
||||
[ ] Read the mail thread for the bug. Find out if anyone has
|
||||
been able to reproduce this on the current release. If
|
||||
someone has been able to, then your work is finished for this
|
||||
bug.
|
||||
[ ] Make sure there's enough information to reproduce the bug.
|
||||
It should be very clear how to reproduce. If not, please ask
|
||||
for specific steps to reproduce. If you don't get them, and
|
||||
you can't reproduce without them, you can close as
|
||||
"doneunreproducible". Sometimes there is specific hardware
|
||||
involved, such as particular models of keyboards, or it may
|
||||
simply involve a platform you don't have access to. It's
|
||||
fine to ignore those, and let a future triager that is better
|
||||
equipped to reproduce it handle it.
|
||||
|
||||
An example reply asking for clear reproduction steps would be
|
||||
something like: "Hi! In the interest of seeing whether this
|
||||
is reproducible, and to aid anyone who will look at this bug
|
||||
in the future, can you please give instructions on how to
|
||||
reproduce this bug starting from an emacs without
|
||||
configuration ("emacs -Q")?
|
||||
[ ] If there is enough detail to reproduce, but no one has
|
||||
mentioned being able to reproduce on the current release,
|
||||
read the bug description and attempt to reproduce on an emacs
|
||||
started with "emacs -Q" (the goal is to not let our personal
|
||||
configs interfere with bug testing).
|
||||
|
||||
If you can reproduce, then reply on the thread (either on the
|
||||
original message, or anywhere you find appropriate) that you
|
||||
can reproduce this on the current release. If your
|
||||
reproduction gives additional info (such as a backtrace),
|
||||
then add that as well, since it will help whoever attempts to
|
||||
fix it.
|
||||
|
||||
Example reply: "I'd just like to add that I can reproduce
|
||||
this on the latest version of Emacs, Emacs 25."
|
||||
|
||||
If you can't reproduce, state that you can't reproduce it on
|
||||
the current release, ask if they can try again against the
|
||||
current release. Tag the bug as "unreproducable". Wait a
|
||||
few weeks for their reply - if they can reproduce it, then
|
||||
that's great, otherwise close as "doneunreproducible".
|
||||
|
||||
Example reply: "I've attempted to reproduce this on the
|
||||
latest version of emacs, Emacs 25, but haven't been able to.
|
||||
Can you try to reproduce this on this version, and let us
|
||||
know if you are able to? If I don't hear back in a few
|
||||
weeks, I'll just close this bug as unreproducible."
|
||||
[ ] Check that the priority is reasonable. Most bugs should be
|
||||
marked as normal, but crashers and security issues can be
|
||||
marked as "severe".
|
||||
4. Your changes will take some time to take effect. After a period of minutes
|
||||
to hours, you will get a mail telling you the control message has been
|
||||
processed. At this point, if there were no errors detected, you and
|
||||
everyone else can see your changes. If there are errors, read the error
|
||||
text - if you need help, consulting the bugtracker documentation in this
|
||||
same directory.
|
||||
|
||||
* New bug triage process
|
||||
|
||||
The goal of the new bug triage process is similar to the backlog triage process,
|
||||
except that the focus is on prioritizing the bug, and making sure it is has
|
||||
necessary information for others to act on.
|
||||
|
||||
For each new bug, ask the following questions:
|
||||
|
||||
1. Is the bug report written in a way to be easy to reproduce (starts from
|
||||
emacs -Q, etc.)? If not, ask the reporter to try and reproduce it on an
|
||||
emacs without customization.
|
||||
2. Is the bug report written against the latest emacs? If not, try to
|
||||
reproduce on the latest version, and if it can't be reproduced, ask the
|
||||
reporter to try again with the latest version.
|
||||
3. Is the bug the same as another bug? If so, merge the bugs.
|
||||
4. What is the priority of the bug? Add a priority: critical, grave, serious,
|
||||
important, normal, minor, or wishlist.
|
||||
5. Who should be the owner? This depends on what component the bug is part
|
||||
of. You can look at the admin/MAINTAINERS file (then you can just search
|
||||
emacs-devel to match the name with an email address).
|
|
@ -1,4 +1,4 @@
|
|||
Copyright (C) 2007-2015 Free Software Foundation, Inc.
|
||||
Copyright (C) 2007-2016 Free Software Foundation, Inc.
|
||||
See the end of the file for license conditions.
|
||||
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
Copyright (C) 2002-2015 Free Software Foundation, Inc.
|
||||
Copyright (C) 2002-2016 Free Software Foundation, Inc.
|
||||
See the end of the file for license conditions.
|
||||
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
-*- mode: outline; coding: utf-8 -*-
|
||||
|
||||
Copyright (C) 2013-2015 Free Software Foundation, Inc.
|
||||
Copyright (C) 2013-2016 Free Software Foundation, Inc.
|
||||
See the end of the file for license conditions.
|
||||
|
||||
NOTES FOR EMACS CONTINUOUS BUILD ON HYDRA
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
-*- coding: utf-8; mode: text; -*-
|
||||
|
||||
Copyright (C) 2007-2015 Free Software Foundation, Inc.
|
||||
Copyright (C) 2007-2016 Free Software Foundation, Inc.
|
||||
See the end of the file for license conditions.
|
||||
|
||||
From README.multi-tty in the multi-tty branch.
|
||||
|
|
|
@ -1,68 +0,0 @@
|
|||
HOW TO TRIAGE EMACS BUGS -*- outline -*-
|
||||
|
||||
This document just describes the procedure of triaging bugs, for information on
|
||||
how to work with the bug tracker, see the bugtracker file in this same directory
|
||||
for the basics. You can also install the debbugs ELPA package for access to M-x
|
||||
debbugs-gnu, an emacs interface to debbugs, and M-x debbugs-org, an emacs
|
||||
interface via org-mode.
|
||||
|
||||
* Bug backlog triage procedure
|
||||
|
||||
The goal of this triage is to prune down the list of old bugs, closing
|
||||
the ones that are not reproducible on the current release.
|
||||
|
||||
1. To start, enter debbugs mode (either debbugs-gnu, debbugs-org, or via the
|
||||
web browser), and accept the default list option of bugs that have severity
|
||||
serious, important, or normal.
|
||||
2. This will also show closed bugs that have yet to be archived. You can
|
||||
filter these out in debbugs-gnu with "x" (debbugs-gnu-toggle-suppress).
|
||||
3. For each bug, do the following:
|
||||
- Read the mail thread for the bug. Find out if anyone has been able to
|
||||
reproduce this on the current release.
|
||||
- If someone has been able to, then your work is finished for this bug.
|
||||
- Make sure there's enough information to reproduce the bug. It should be
|
||||
very clear how to reproduce. If not, please ask for specific steps to
|
||||
reproduce. If you don't get them, and you can't reproduce without them,
|
||||
you can close as "doneunreproducible".
|
||||
- If no one has mentioned being able to reproduce on the current release,
|
||||
read the bug description and attempt to reproduce on an emacs started
|
||||
with "emacs -Q" (the goal is to not let our personal configs interfere
|
||||
with bug testing).
|
||||
- If you can reproduce, then reply on the thread (either on the original
|
||||
message, or anywhere you find appropriate) that you can reproduce this on
|
||||
the current release. If your reproduction gives additional info (such as
|
||||
a backtrace), then add that as well, since it will help whoever attempts
|
||||
to fix it.
|
||||
- If you can't reproduce, state that you can't reproduce it on the current
|
||||
release, ask if they can try again against the current release. Tag the
|
||||
bug as "unreproducable". Wait a few weeks for their reply - if they can
|
||||
reproduce it, then that's great, otherwise close as "doneunreproducible".
|
||||
- If the bug ends up still open, make sure the priority and other tags
|
||||
seems reasonable.
|
||||
4. Your changes will take some time to take effect. After a period of minutes
|
||||
to hours, you will get a mail telling you the control message has been
|
||||
processed. At this point, if there were no errors detected, you and
|
||||
everyone else can see your changes. If there are errors, read the error
|
||||
text - if you need help, consulting the bugtracker documentation in this
|
||||
same directory.
|
||||
|
||||
* New bug triage process
|
||||
|
||||
The goal of the new bug triage process is similar to the backlog triage process,
|
||||
except that the focus is on prioritizing the bug, and making sure it is has
|
||||
necessary information for others to act on.
|
||||
|
||||
For each new bug, ask the following questions:
|
||||
|
||||
1. Is the bug report written in a way to be easy to reproduce (starts from
|
||||
emacs -Q, etc.)? If not, ask the reporter to try and reproduce it on an
|
||||
emacs without customization.
|
||||
2. Is the bug report written against the latest emacs? If not, try to
|
||||
reproduce on the latest version, and if it can't be reproduced, ask the
|
||||
reporter to try again with the latest version.
|
||||
3. Is the bug the same as another bug? If so, merge the bugs.
|
||||
4. What is the priority of the bug? Add a priority: critical, grave, serious,
|
||||
important, normal, minor, or wishlist.
|
||||
5. Who should be the owner? This depends on what component the bug is part
|
||||
of. You can look at the admin/MAINTAINERS file (then you can just search
|
||||
emacs-devel to match the name with an email address).
|
|
@ -1,6 +1,6 @@
|
|||
-*-mode: text; coding: utf-8;-*-
|
||||
|
||||
Copyright (C) 2002-2015 Free Software Foundation, Inc.
|
||||
Copyright (C) 2002-2016 Free Software Foundation, Inc.
|
||||
See the end of the file for license conditions.
|
||||
|
||||
Importing a new Unicode Standard version into Emacs
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
-*- outline -*-
|
||||
|
||||
Copyright (C) 2013-2015 Free Software Foundation, Inc.
|
||||
Copyright (C) 2013-2016 Free Software Foundation, Inc.
|
||||
See the end of the file for license conditions.
|
||||
|
||||
NOTES FOR EMACS WWW PAGES
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
Copyright (C) 2001-2015 Free Software Foundation, Inc.
|
||||
Copyright (C) 2001-2016 Free Software Foundation, Inc.
|
||||
See the end of the file for license conditions.
|
||||
|
||||
Emacs for Windows
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
Copyright (C) 2001-2015 Free Software Foundation, Inc.
|
||||
Copyright (C) 2001-2016 Free Software Foundation, Inc.
|
||||
See the end of the file for license conditions.
|
||||
|
||||
Precompiled Distributions of
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#!/bin/sh
|
||||
### quick-install-emacs --- do a halfway-decent job of installing emacs quickly
|
||||
|
||||
## Copyright (C) 2001-2015 Free Software Foundation, Inc.
|
||||
## Copyright (C) 2001-2016 Free Software Foundation, Inc.
|
||||
|
||||
## Author: Miles Bader <miles@gnu.org>
|
||||
|
||||
|
|
|
@ -213,26 +213,26 @@ names of the people who have checked it.
|
|||
|
||||
SECTION READERS
|
||||
----------------------------------
|
||||
TUTORIAL cyd
|
||||
TUTORIAL.bg ogi
|
||||
TUTORIAL.cn xfq
|
||||
TUTORIAL
|
||||
TUTORIAL.bg
|
||||
TUTORIAL.cn
|
||||
TUTORIAL.cs
|
||||
TUTORIAL.de wl
|
||||
TUTORIAL.de
|
||||
TUTORIAL.eo
|
||||
TUTORIAL.es
|
||||
TUTORIAL.fr
|
||||
TUTORIAL.he eliz
|
||||
TUTORIAL.he
|
||||
TUTORIAL.it
|
||||
TUTORIAL.ja
|
||||
TUTORIAL.ko
|
||||
TUTORIAL.nl Pieter Schoenmakers
|
||||
TUTORIAL.nl
|
||||
TUTORIAL.pl
|
||||
TUTORIAL.pt_BR
|
||||
TUTORIAL.ro
|
||||
TUTORIAL.ru Alex Ott
|
||||
TUTORIAL.ru
|
||||
TUTORIAL.sk
|
||||
TUTORIAL.sl Primoz PETERLIN
|
||||
TUTORIAL.sv Mats Lidell
|
||||
TUTORIAL.sl
|
||||
TUTORIAL.sv
|
||||
TUTORIAL.th
|
||||
TUTORIAL.zh
|
||||
|
||||
|
@ -326,7 +326,7 @@ markers.texi
|
|||
minibuf.texi
|
||||
modes.texi
|
||||
nonascii.texi
|
||||
numbers.texi Paul Eggert (24.4)
|
||||
numbers.texi
|
||||
objects.texi
|
||||
os.texi
|
||||
package.texi
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
### @configure_input@
|
||||
|
||||
# Copyright (C) 2012-2015 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2012-2016 Free Software Foundation, Inc.
|
||||
|
||||
# Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011
|
||||
# National Institute of Advanced Industrial Science and Technology (AIST)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/awk -f
|
||||
|
||||
## Copyright (C) 2015 Free Software Foundation, Inc.
|
||||
## Copyright (C) 2015-2016 Free Software Foundation, Inc.
|
||||
|
||||
## Author: Glenn Morris <rgm@gnu.org>
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;; unidata-gen.el -- Create files containing character property data.
|
||||
|
||||
;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2008-2016 Free Software Foundation, Inc.
|
||||
|
||||
;; Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011
|
||||
;; National Institute of Advanced Industrial Science and Technology (AIST)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; uvs.el --- utility for UVS (format 14) cmap subtables in OpenType fonts.
|
||||
|
||||
;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2014-2016 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
# By default, this script uses the local-time calendar year.
|
||||
# Set the UPDATE_COPYRIGHT_YEAR environment variable to override the default.
|
||||
|
||||
# Copyright 2013-2015 Free Software Foundation, Inc.
|
||||
# Copyright 2013-2016 Free Software Foundation, Inc.
|
||||
|
||||
# This file is part of GNU Emacs.
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#!/bin/bash
|
||||
### update_autogen - update some auto-generated files in the Emacs tree
|
||||
|
||||
## Copyright (C) 2011-2015 Free Software Foundation, Inc.
|
||||
## Copyright (C) 2011-2016 Free Software Foundation, Inc.
|
||||
|
||||
## Author: Glenn Morris <rgm@gnu.org>
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#!/bin/sh
|
||||
### autogen.sh - tool to help build Emacs from a repository checkout
|
||||
|
||||
## Copyright (C) 2011-2015 Free Software Foundation, Inc.
|
||||
## Copyright (C) 2011-2016 Free Software Foundation, Inc.
|
||||
|
||||
## Author: Glenn Morris <rgm@gnu.org>
|
||||
## Maintainer: emacs-devel@gnu.org
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#!/bin/sh
|
||||
# Check the format of GNU Emacs change log entries.
|
||||
|
||||
# Copyright 2014-2015 Free Software Foundation, Inc.
|
||||
# Copyright 2014-2016 Free Software Foundation, Inc.
|
||||
|
||||
# This file is part of GNU Emacs.
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#!/bin/sh
|
||||
# Check file names in git commits for GNU Emacs.
|
||||
|
||||
# Copyright 2014-2015 Free Software Foundation, Inc.
|
||||
# Copyright 2014-2016 Free Software Foundation, Inc.
|
||||
|
||||
# This file is part of GNU Emacs.
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
# Convert git log output to ChangeLog format for GNU Emacs.
|
||||
|
||||
# Copyright (C) 2014-2015 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2014-2016 Free Software Foundation, Inc.
|
||||
|
||||
# Author: Paul Eggert
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
### make-info-dir - create info/dir, for systems without install-info
|
||||
|
||||
## Copyright (C) 2013-2015 Free Software Foundation, Inc.
|
||||
## Copyright (C) 2013-2016 Free Software Foundation, Inc.
|
||||
|
||||
## Author: Glenn Morris <rgm@gnu.org>
|
||||
## Maintainer: emacs-devel@gnu.org
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# Convert a MSYS path list to Windows-native format.
|
||||
# Status is zero if successful, nonzero otherwise.
|
||||
|
||||
# Copyright (C) 2013-2015 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2013-2016 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#!/bin/sh
|
||||
# Write into $1/subdirs.el a list of subdirs of directory $1.
|
||||
|
||||
# Copyright (C) 1994-1995, 1997, 1999, 2001-2015 Free Software
|
||||
# Copyright (C) 1994-1995, 1997, 1999, 2001-2016 Free Software
|
||||
# Foundation, Inc.
|
||||
|
||||
# This file is part of GNU Emacs.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
@echo off
|
||||
rem ----------------------------------------------------------------------
|
||||
rem Configuration script for MSDOS
|
||||
rem Copyright (C) 1994-1999, 2001-2015 Free Software Foundation, Inc.
|
||||
rem Copyright (C) 1994-1999, 2001-2016 Free Software Foundation, Inc.
|
||||
|
||||
rem This file is part of GNU Emacs.
|
||||
|
||||
|
|
29
configure.ac
29
configure.ac
|
@ -4,7 +4,7 @@ dnl autoconf
|
|||
dnl in the directory containing this script.
|
||||
dnl If you changed any AC_DEFINES, also run autoheader.
|
||||
dnl
|
||||
dnl Copyright (C) 1994-1996, 1999-2015 Free Software Foundation, Inc.
|
||||
dnl Copyright (C) 1994-1996, 1999-2016 Free Software Foundation, Inc.
|
||||
dnl
|
||||
dnl This file is part of GNU Emacs.
|
||||
dnl
|
||||
|
@ -3638,6 +3638,14 @@ if test "${with_xml2}" != "no"; then
|
|||
# Built-in libxml2 on OS X 10.8 lacks libxml-2.0.pc.
|
||||
if test "${HAVE_LIBXML2}" != "yes" && test "$opsys" = "darwin"; then
|
||||
SAVE_CPPFLAGS="$CPPFLAGS"
|
||||
if test -z "$xcsdkdir" -a -n "$XCRUN" -a ! -d /usr/include; then
|
||||
dnl /usr/include is not found. Try Xcode SDK dir if it is sane.
|
||||
xcsdkdir=`$XCRUN --show-sdk-path 2>/dev/null`
|
||||
case $xcsdkdir in
|
||||
*[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
|
||||
xcsdkdir="" ;;
|
||||
esac
|
||||
fi
|
||||
CPPFLAGS="$CPPFLAGS -I$xcsdkdir/usr/include/libxml2"
|
||||
AC_CHECK_HEADER(libxml/HTMLparser.h,
|
||||
[AC_CHECK_DECL(HTML_PARSE_RECOVER, HAVE_LIBXML2=yes, ,
|
||||
|
@ -4433,24 +4441,11 @@ case $opsys in
|
|||
AC_DEFINE(PTY_TTY_NAME_SPRINTF, [])
|
||||
;;
|
||||
|
||||
dnl FIXME? Maybe use same as freebsd - see bug#12040.
|
||||
darwin )
|
||||
AC_DEFINE(PTY_ITERATION, [int i; for (i = 0; i < 1; i++)])
|
||||
dnl Not used, because PTY_ITERATION is defined.
|
||||
AC_DEFINE(FIRST_PTY_LETTER, ['p'])
|
||||
dnl Note that openpty may fork via grantpt on Mac OS X 10.4/Darwin 8.
|
||||
dnl But we don't have to block SIGCHLD because it is blocked in the
|
||||
dnl implementation of grantpt.
|
||||
AC_DEFINE(PTY_OPEN, [ do { int slave; if (openpty (&fd, &slave, pty_name, NULL, NULL) == -1) fd = -1; else emacs_close (slave); } while (false)])
|
||||
AC_DEFINE(PTY_NAME_SPRINTF, [])
|
||||
AC_DEFINE(PTY_TTY_NAME_SPRINTF, [])
|
||||
;;
|
||||
|
||||
gnu | openbsd )
|
||||
AC_DEFINE(FIRST_PTY_LETTER, ['p'])
|
||||
;;
|
||||
|
||||
gnu-linux | gnu-kfreebsd | dragonfly | freebsd | netbsd | nacl )
|
||||
gnu-linux | gnu-kfreebsd | dragonfly | freebsd | netbsd | darwin | nacl )
|
||||
dnl if HAVE_GRANTPT
|
||||
if test "x$ac_cv_func_grantpt" = xyes; then
|
||||
AC_DEFINE(UNIX98_PTYS, 1, [Define if the system has Unix98 PTYs.])
|
||||
|
@ -4828,7 +4823,7 @@ fi
|
|||
|
||||
version=$PACKAGE_VERSION
|
||||
|
||||
copyright="Copyright (C) 2015 Free Software Foundation, Inc."
|
||||
copyright="Copyright (C) 2016 Free Software Foundation, Inc."
|
||||
AC_DEFINE_UNQUOTED(COPYRIGHT, ["$copyright"],
|
||||
[Short copyright string for this version of Emacs.])
|
||||
AC_SUBST(copyright)
|
||||
|
@ -5174,7 +5169,7 @@ AC_SUBST(WINDOW_SYSTEM_OBJ)
|
|||
|
||||
AH_TOP([/* GNU Emacs site configuration template file.
|
||||
|
||||
Copyright (C) 1988, 1993-1994, 1999-2002, 2004-2015
|
||||
Copyright (C) 1988, 1993-1994, 1999-2002, 2004-2016
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Emacs.
|
||||
|
|
|
@ -10919,7 +10919,7 @@
|
|||
;; coding: utf-8
|
||||
;; End:
|
||||
|
||||
Copyright (C) 1993-1999, 2001-2015 Free Software Foundation, Inc.
|
||||
Copyright (C) 1993-1999, 2001-2016 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Emacs.
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
### @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1996-2015 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1994, 1996-2016 Free Software Foundation, Inc.
|
||||
|
||||
# This file is part of GNU Emacs.
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@c This is part of the Emacs manual.
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2015 Free Software
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2016 Free Software
|
||||
@c Foundation, Inc.
|
||||
@c See file emacs.texi for copying conditions.
|
||||
@node Abbrevs
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
@c -*- coding: utf-8 -*-
|
||||
@c This is part of the Emacs manual.
|
||||
@c Copyright (C) 1994-1997, 1999-2015 Free Software Foundation, Inc.
|
||||
@c Copyright (C) 1994-1997, 1999-2016 Free Software Foundation, Inc.
|
||||
@c See file emacs.texi for copying conditions.
|
||||
@c
|
||||
@node Acknowledgments
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@c This is part of the Emacs manual.
|
||||
@c Copyright (C) 2005-2015 Free Software Foundation, Inc.
|
||||
@c Copyright (C) 2005-2016 Free Software Foundation, Inc.
|
||||
@c See file emacs.texi for copying conditions.
|
||||
|
||||
@node Antinews
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@c This is part of the Emacs manual.
|
||||
@c Copyright (C) 2004-2015 Free Software Foundation, Inc.
|
||||
@c Copyright (C) 2004-2016 Free Software Foundation, Inc.
|
||||
@c See file emacs.texi for copying conditions.
|
||||
@c
|
||||
@c This file is included either in emacs-xtra.texi (when producing the
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
@c -*- coding: utf-8 -*-
|
||||
@c This is part of the Emacs manual.
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2016 Free Software
|
||||
@c Foundation, Inc.
|
||||
@c See file emacs.texi for copying conditions.
|
||||
@node Basic
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@c This is part of the Emacs manual.
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2016 Free Software
|
||||
@c Foundation, Inc.
|
||||
@c See file emacs.texi for copying conditions.
|
||||
@node Buffers
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@c This is part of the Emacs manual.
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2016 Free Software
|
||||
@c Foundation, Inc.
|
||||
@c See file emacs.texi for copying conditions.
|
||||
@node Building
|
||||
|
@ -360,8 +360,8 @@ that specifies how to run @command{grep}. Use the same arguments you
|
|||
would give @command{grep} when running it normally: a @command{grep}-style
|
||||
regexp (usually in single-quotes to quote the shell's special
|
||||
characters) followed by file names, which may use wildcards. If you
|
||||
specify a prefix argument for @kbd{M-x grep}, it finds the tag
|
||||
(@pxref{Tags}) in the buffer around point, and puts that into the
|
||||
specify a prefix argument for @kbd{M-x grep}, it finds the identifier
|
||||
(@pxref{Xref}) in the buffer around point, and puts that into the
|
||||
default @command{grep} command.
|
||||
|
||||
Your command need not simply run @command{grep}; you can use any shell
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@c This is part of the Emacs manual. -*- coding: utf-8 -*-
|
||||
@c Copyright (C) 2004-2015 Free Software Foundation, Inc.
|
||||
@c Copyright (C) 2004-2016 Free Software Foundation, Inc.
|
||||
@c See file emacs.texi for copying conditions.
|
||||
@c
|
||||
@c This file is included either in emacs-xtra.texi (when producing the
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@c This is part of the Emacs manual. -*- coding: utf-8 -*-
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2016 Free Software
|
||||
@c Foundation, Inc.
|
||||
@c See file emacs.texi for copying conditions.
|
||||
@node Calendar/Diary
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@c This is part of the Emacs manual.
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2015 Free Software
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2016 Free Software
|
||||
@c Foundation, Inc.
|
||||
@c See file emacs.texi for copying conditions.
|
||||
@node Emacs Invocation
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@c This is part of the Emacs manual.
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2015 Free Software
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2016 Free Software
|
||||
@c Foundation, Inc.
|
||||
@c See file emacs.texi for copying conditions.
|
||||
@iftex
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
@c -*- coding: utf-8 -*-
|
||||
@c This is part of the Emacs manual.
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2016 Free Software
|
||||
@c Foundation, Inc.
|
||||
@c See file emacs.texi for copying conditions.
|
||||
@node Customization
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@c This is part of the Emacs manual.
|
||||
@c Copyright (C) 2004-2015 Free Software Foundation, Inc.
|
||||
@c Copyright (C) 2004-2016 Free Software Foundation, Inc.
|
||||
@c See file emacs.texi for copying conditions.
|
||||
@c
|
||||
@c This file is included either in emacs-xtra.texi (when producing the
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@c This is part of the Emacs manual.
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2016 Free Software
|
||||
@c Foundation, Inc.
|
||||
@c See file emacs.texi for copying conditions.
|
||||
@node Dired
|
||||
|
@ -785,8 +785,8 @@ Search all the specified files for the regular expression @var{regexp}
|
|||
(@code{dired-do-search}).
|
||||
|
||||
This command is a variant of @code{tags-search}. The search stops at
|
||||
the first match it finds; use @kbd{M-,} to resume the search and find
|
||||
the next match. @xref{Tags Search}.
|
||||
the first match it finds; use @kbd{M-x tags-loop-continue} to resume
|
||||
the search and find the next match. @xref{Identifier Search}.
|
||||
|
||||
@kindex Q @r{(Dired)}
|
||||
@findex dired-do-query-replace-regexp
|
||||
|
@ -797,8 +797,8 @@ replacing matches for @var{regexp} with the string
|
|||
@var{to} (@code{dired-do-query-replace-regexp}).
|
||||
|
||||
This command is a variant of @code{tags-query-replace}. If you exit the
|
||||
query replace loop, you can use @kbd{M-,} to resume the scan and replace
|
||||
more matches. @xref{Tags Search}.
|
||||
query replace loop, you can use @kbd{M-x tags-loop-continue} to resume
|
||||
the scan and replace more matches. @xref{Identifier Search}.
|
||||
@end table
|
||||
|
||||
@node Shell Commands in Dired
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
@c -*- coding: utf-8 -*-
|
||||
@c This is part of the Emacs manual.
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2016 Free Software
|
||||
@c Foundation, Inc.
|
||||
|
||||
@c See file emacs.texi for copying conditions.
|
||||
|
@ -1164,12 +1164,15 @@ indicate-empty-lines t)}.
|
|||
@cindex mode, Whitespace
|
||||
@findex whitespace-mode
|
||||
@vindex whitespace-style
|
||||
@findex whitespace-toggle-options
|
||||
Whitespace mode is a buffer-local minor mode that lets you
|
||||
visualize many kinds of whitespace in the buffer, by either
|
||||
drawing the whitespace characters with a special face or displaying
|
||||
them as special glyphs. To toggle this mode, type @kbd{M-x
|
||||
whitespace-mode}. The kinds of whitespace visualized are determined
|
||||
by the list variable @code{whitespace-style}. Here is a partial list
|
||||
by the list variable @code{whitespace-style}. Individual elements in
|
||||
that list can be toggled on or off in the current buffer by typing
|
||||
@w{@kbd{M-x whitespace-toggle-options}}. Here is a partial list
|
||||
of possible elements (see the variable's documentation for the full
|
||||
list):
|
||||
|
||||
|
@ -1200,6 +1203,13 @@ Highlight newlines.
|
|||
@item empty
|
||||
Highlight empty lines.
|
||||
|
||||
@item big-indent
|
||||
@vindex whitespace-big-indent-regexp
|
||||
Highlight too-deep indentation. By default any sequence of at least 4
|
||||
consecutive TAB characters or 32 consecutive SPC characters is
|
||||
highlighted. To change that, customize the regular expression
|
||||
@code{whitespace-big-indent-regexp}.
|
||||
|
||||
@item space-mark
|
||||
Draw space and non-breaking characters with a special glyph.
|
||||
|
||||
|
@ -1210,6 +1220,12 @@ Draw tab characters with a special glyph.
|
|||
Draw newline characters with a special glyph.
|
||||
@end table
|
||||
|
||||
@findex global-whitespace-toggle-options
|
||||
@findex global-whitespace-mode
|
||||
Global Whitespace mode is a global minor mode that lets you visualize
|
||||
whitespace in all buffers. To toggle individual features, use
|
||||
@kbd{M-x global-whitespace-toggle-options}.
|
||||
|
||||
@node Selective Display
|
||||
@section Selective Display
|
||||
@cindex selective display
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
@copying
|
||||
This manual describes specialized features of Emacs.
|
||||
|
||||
Copyright @copyright{} 2004--2015 Free Software Foundation, Inc.
|
||||
Copyright @copyright{} 2004--2016 Free Software Foundation, Inc.
|
||||
|
||||
@quotation
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
|
|
|
@ -27,7 +27,7 @@ This is the @cite{GNU Emacs Manual},
|
|||
@end ifnottex
|
||||
updated for Emacs version @value{EMACSVER}.
|
||||
|
||||
Copyright @copyright{} 1985--1987, 1993--2015 Free Software Foundation, Inc.
|
||||
Copyright @copyright{} 1985--1987, 1993--2016 Free Software Foundation, Inc.
|
||||
|
||||
@quotation
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
|
@ -788,8 +788,8 @@ Maintaining Large Programs
|
|||
|
||||
* Version Control:: Using version control systems.
|
||||
* Change Log:: Maintaining a change history for your program.
|
||||
* Tags:: Go directly to any function in your program in one
|
||||
command. Tags remembers which file it is in.
|
||||
* Xref:: Find definitions and references of any function,
|
||||
method, struct, macro, @dots{} in your program.
|
||||
* EDE:: An integrated development environment for Emacs.
|
||||
@ifnottex
|
||||
* Emerge:: A convenient way of merging two versions of a program.
|
||||
|
@ -861,15 +861,25 @@ Change Logs
|
|||
* Change Log Commands:: Commands for editing change log files.
|
||||
* Format of ChangeLog:: What the change log file looks like.
|
||||
|
||||
Xref
|
||||
|
||||
* Find Identifiers:: Commands to find where an identifier is defined
|
||||
or referenced, to list identifiers, etc.
|
||||
* Tags Tables:: Tags table records which file defines a symbol.
|
||||
* Select Tags Table:: How to visit a specific tags table.
|
||||
|
||||
Find Identifiers
|
||||
|
||||
* Looking Up Identifiers:: Commands to find the definition of a specific tag.
|
||||
* Xref Commands:: Commands in the @file{*xref*} buffer.
|
||||
* Identifier Search:: Searching and replacing identifiers.
|
||||
* List Identifiers:: Listing identifiers and completing on them.
|
||||
|
||||
Tags Tables
|
||||
|
||||
* Tag Syntax:: Tag syntax for various types of code and text files.
|
||||
* Create Tags Table:: Creating a tags table with @command{etags}.
|
||||
* Etags Regexps:: Create arbitrary tags using regular expressions.
|
||||
* Select Tags Table:: How to visit a tags table.
|
||||
* Find Tag:: Commands to find the definition of a specific tag.
|
||||
* Tags Search:: Using a tags table for searching and replacing.
|
||||
* List Tags:: Using tags for completion, and listing them.
|
||||
|
||||
@ifnottex
|
||||
Merging Files with Emerge
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@c This is part of the Emacs manual.
|
||||
@c Copyright (C) 2004-2015 Free Software Foundation, Inc.
|
||||
@c Copyright (C) 2004-2016 Free Software Foundation, Inc.
|
||||
@c See file emacs.texi for copying conditions.
|
||||
@c
|
||||
@c This file is included either in emacs-xtra.texi (when producing the
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@c This is part of the Emacs manual.
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 2001-2015 Free Software
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 2001-2016 Free Software
|
||||
@c Foundation, Inc.
|
||||
@c See file emacs.texi for copying conditions.
|
||||
@iftex
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@c This is part of the Emacs manual.
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2015 Free Software
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2016 Free Software
|
||||
@c Foundation, Inc.
|
||||
@c See file emacs.texi for copying conditions.
|
||||
@node Files
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@c This is part of the Emacs manual.
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2015 Free Software
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2016 Free Software
|
||||
@c Foundation, Inc.
|
||||
@c See file emacs.texi for copying conditions.
|
||||
@node Fixit
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@c This is part of the Emacs manual.
|
||||
@c Copyright (C) 2004-2015 Free Software Foundation, Inc.
|
||||
@c Copyright (C) 2004-2016 Free Software Foundation, Inc.
|
||||
@c See file emacs.texi for copying conditions.
|
||||
@c
|
||||
@c This file is included either in emacs-xtra.texi (when producing the
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@c This is part of the Emacs manual.
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2015 Free Software
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2016 Free Software
|
||||
@c Foundation, Inc.
|
||||
@c See file emacs.texi for copying conditions.
|
||||
@node Frames
|
||||
|
@ -416,9 +416,9 @@ Start composing a mail message in another frame. This runs
|
|||
@code{compose-mail-other-frame}. It is the other-frame variant of
|
||||
@kbd{C-x m}. @xref{Sending Mail}.
|
||||
@item C-x 5 .
|
||||
Find a tag in the current tag table in another frame. This runs
|
||||
@code{find-tag-other-frame}, the multiple-frame variant of @kbd{M-.}.
|
||||
@xref{Tags}.
|
||||
Find the definition of an identifier in another frame. This runs
|
||||
@code{xref-find-definitions-other-frame}, the multiple-frame variant
|
||||
of @kbd{M-.}. @xref{Xref}.
|
||||
@item C-x 5 r @var{filename} @key{RET}
|
||||
@kindex C-x 5 r
|
||||
@findex find-file-read-only-other-frame
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@c This is part of the Emacs manual.
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2015 Free Software
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2016 Free Software
|
||||
@c Foundation, Inc.
|
||||
@c See file emacs.texi for copying conditions.
|
||||
@node Glossary
|
||||
|
@ -1329,7 +1329,7 @@ indentation or completion.
|
|||
@anchor{Glossary---Tags Table}
|
||||
@item Tags Table
|
||||
A tags table is a file that serves as an index to the function
|
||||
definitions in one or more other files. @xref{Tags}.
|
||||
definitions in one or more other files. @xref{Tags Tables}.
|
||||
|
||||
@item Termscript File
|
||||
A termscript file contains a record of all characters sent by Emacs to
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@c Copyright (C) 1985-1987, 1993, 1995, 2001-2015 Free Software
|
||||
@c Copyright (C) 1985-1987, 1993, 1995, 2001-2016 Free Software
|
||||
@c Foundation, Inc.
|
||||
@c
|
||||
@c Permission is granted to anyone to make or distribute verbatim copies
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@c This is part of the Emacs manual.
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2016 Free Software
|
||||
@c Foundation, Inc.
|
||||
@c See file emacs.texi for copying conditions.
|
||||
@node Help
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@c This is part of the Emacs manual.
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2015 Free Software
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2016 Free Software
|
||||
@c Foundation, Inc.
|
||||
@c See file emacs.texi for copying conditions.
|
||||
@node Indentation
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@c This is part of the Emacs manual.
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2016 Free Software
|
||||
@c Foundation, Inc.
|
||||
@c See file emacs.texi for copying conditions.
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@c This is part of the Emacs manual.
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2016 Free Software
|
||||
@c Foundation, Inc.
|
||||
@c See file emacs.texi for copying conditions.
|
||||
@node Keyboard Macros
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@c This is part of the Emacs manual.
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2015 Free Software
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2016 Free Software
|
||||
@c Foundation, Inc.
|
||||
@c See file emacs.texi for copying conditions.
|
||||
@node M-x
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@c This is part of the Emacs manual.
|
||||
@c Copyright (C) 2000-2015 Free Software Foundation, Inc.
|
||||
@c Copyright (C) 2000-2016 Free Software Foundation, Inc.
|
||||
@c See file emacs.texi for copying conditions.
|
||||
@node Mac OS / GNUstep
|
||||
@appendix Emacs and Mac OS / GNUstep
|
||||
|
|
|
@ -1,21 +1,46 @@
|
|||
@c This is part of the Emacs manual., Abbrevs, This is part of the Emacs manual., Top
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2015 Free Software
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2016 Free Software
|
||||
@c Foundation, Inc.
|
||||
@c See file emacs.texi for copying conditions.
|
||||
@node Maintaining
|
||||
@chapter Maintaining Large Programs
|
||||
|
||||
This chapter describes Emacs features for maintaining large
|
||||
programs. If you are maintaining a large Lisp program, then in
|
||||
addition to the features described here, you may find
|
||||
the Emacs Lisp Regression Testing (ERT) library useful
|
||||
(@pxref{Top,,ERT,ert, Emacs Lisp Regression Testing}).
|
||||
This chapter describes Emacs features for maintaining medium- to
|
||||
large-size programs and packages. These features include:
|
||||
|
||||
@itemize @minus
|
||||
@item
|
||||
Unified interface to Support for Version Control Systems
|
||||
(@acronym{VCS}) that record the history of changes to source files.
|
||||
|
||||
@item
|
||||
A specialized mode for maintaining @file{ChangeLog} files that provide
|
||||
a chronological log of program changes.
|
||||
|
||||
@item
|
||||
@acronym{Xref}, a set of commands for displaying definitions of
|
||||
symbols (a.k.a.@: ``identifiers'') and their references.
|
||||
|
||||
@item
|
||||
@acronym{EDE}, the Emacs's own IDE.
|
||||
|
||||
@ifnottex
|
||||
@item
|
||||
A mode for merging changes to program sources made on separate
|
||||
branches of development.
|
||||
@end ifnottex
|
||||
@end itemize
|
||||
|
||||
If you are maintaining a large Lisp program, then in addition to the
|
||||
features described here, you may find the Emacs Lisp Regression
|
||||
Testing (@acronym{ERT}) library useful (@pxref{Top,,ERT,ert, Emacs
|
||||
Lisp Regression Testing}).
|
||||
|
||||
@menu
|
||||
* Version Control:: Using version control systems.
|
||||
* Change Log:: Maintaining a change history for your program.
|
||||
* Tags:: Go directly to any function in your program in one
|
||||
command. Tags remembers which file it is in.
|
||||
* Xref:: Find definitions and references of any function,
|
||||
method, struct, macro, @dots{} in your program.
|
||||
* EDE:: An integrated development environment for Emacs.
|
||||
@ifnottex
|
||||
* Emerge:: A convenient way of merging two versions of a program.
|
||||
|
@ -1660,16 +1685,370 @@ permitted provided the copyright notice and this notice are preserved.
|
|||
@noindent
|
||||
Of course, you should substitute the proper years and copyright holder.
|
||||
|
||||
@node Tags
|
||||
@section Tags Tables
|
||||
@cindex tags and tag tables
|
||||
@node Xref
|
||||
@section Find Identifier Definitions and References
|
||||
@cindex xref
|
||||
|
||||
A @dfn{tag} is a reference to a subunit in a program or in a
|
||||
document. In source code, tags reference syntactic elements of the
|
||||
program: functions, subroutines, data types, macros, etc. In a
|
||||
document, tags reference chapters, sections, appendices, etc. Each
|
||||
tag specifies the name of the file where the corresponding subunit is
|
||||
defined, and the position of the subunit's definition in that file.
|
||||
An @dfn{identifier} is a syntactic elements of the program: a
|
||||
function, a subroutine, a method, a class, a data type, a macro, etc.
|
||||
In a programming language, each identifier is a symbol in the
|
||||
language's syntax. Many program development tools provide
|
||||
capabilities to extract references to identifiers from source files,
|
||||
record them on specialized data bases, and then use those data bases
|
||||
to quickly find where each identifier was defined and referenced.
|
||||
|
||||
Emacs provides a unified user interface to these tools, called
|
||||
@samp{xref}. The tools supported by @samp{xref} include:
|
||||
|
||||
@enumerate a
|
||||
@item
|
||||
Some major modes provide built-in means for looking up the language
|
||||
symbols. For example, Emacs Lisp symbols can be identified by
|
||||
searching the package load history, maintained by the Emacs Lisp
|
||||
interpreter, and by consulting the built-in documentation strings; the
|
||||
Emacs Lisp mode uses these facilities to find definitions of symbols.
|
||||
|
||||
@item
|
||||
Etags, the command for tagging identifier definitions which is part of
|
||||
the Emacs distribution. @xref{Create Tags Table}.
|
||||
|
||||
@item
|
||||
@acronym{GNU} GLOBAL, the source code tagging system, which provides
|
||||
the @command{gtags} command and associated utilities. @xref{Command
|
||||
Line, gtags, , global, GNU GLOBAL source code tag system}.
|
||||
|
||||
@item
|
||||
Cscope (@uref{http://cscope.sourceforge.net/}, a tool for browsing
|
||||
source code.
|
||||
|
||||
@item
|
||||
@acronym{GNU} IDUtils, a package for generating databases of
|
||||
identifier references and querying those databases. @xref{Top,,,
|
||||
idutils, ID database utilities}.
|
||||
|
||||
@item
|
||||
Grep, the venerable program that searches files for lines matching
|
||||
patterns. @xref{Invoking,,, grep, GNU Grep Manual}.
|
||||
@end enumerate
|
||||
|
||||
@noindent
|
||||
Additional tools could be supported as they become available, or as
|
||||
user extensions. Each such tool is used as a @dfn{backend} by
|
||||
commands described in this section. Each command detects which
|
||||
backends are available for the current major mode, and uses the most
|
||||
capable of the available backends, with Grep generally serving as the
|
||||
fall-back backend.
|
||||
|
||||
@cindex tag
|
||||
The commands described here are useful for finding references in major
|
||||
modes other than those defined to support programming languages. For
|
||||
example, chapters, sections, appendices, etc. of a text or a @TeX{}
|
||||
document can be treated as identifiers as well. In this chapter, we
|
||||
collectively refer to a reference that specifies the name of the file
|
||||
where the corresponding subunit is defined, and the position of the
|
||||
subunit's definition in that file, as a @dfn{tag}. We refer to the
|
||||
backends used by @code{xref} as @dfn{tagging backends}.
|
||||
|
||||
@menu
|
||||
* Find Identifiers:: Commands to find where an identifier is defined
|
||||
or referenced, to list identifiers, etc.
|
||||
* Tags Tables:: Tags table records which file defines a symbol.
|
||||
* Select Tags Table:: How to visit a specific tags table.
|
||||
@end menu
|
||||
|
||||
@node Find Identifiers
|
||||
@subsection Find Identifiers
|
||||
|
||||
This subsection describes the commands that use the tagging backends
|
||||
in order to find definitions of identifiers, references to
|
||||
identifiers, and perform various queries about identifiers. With most
|
||||
backends, these definitions and references were recorded as tags in
|
||||
the database created and maintained by the backend.
|
||||
|
||||
@menu
|
||||
* Looking Up Identifiers:: Commands to find the definition of a specific tag.
|
||||
* Xref Commands:: Commands in the @file{*xref*} buffer.
|
||||
* Identifier Search:: Searching and replacing identifiers.
|
||||
* List Identifiers:: Listing identifiers and completing on them.
|
||||
@end menu
|
||||
|
||||
@node Looking Up Identifiers
|
||||
@subsubsection Looking Up Identifiers
|
||||
@cindex find definition of symbols
|
||||
@cindex identifier, finding definition of
|
||||
@cindex find references to symbols
|
||||
|
||||
The most important thing that @code{xref} enables you to do is to find
|
||||
the definition of a specific identifier.
|
||||
|
||||
@table @kbd
|
||||
@item M-.@:
|
||||
Find definitions of an identifier (@code{xref-find-definitions}).
|
||||
@item C-M-. @var{pattern} @key{RET}
|
||||
Find all identifiers whose name matches @var{pattern}
|
||||
(@code{xref-find-apropos}).
|
||||
@item C-x 4 .@: @key{RET}
|
||||
Find definitions of identifier, but display it in another window
|
||||
(@code{xref-find-definitions-other-window}).
|
||||
@item C-x 5 .@: @key{RET}
|
||||
Find definition of identifier, and display it in a new frame
|
||||
(@code{xref-find-definitions-other-frame}).
|
||||
@item M-,
|
||||
Pop back to where you previously invoked @kbd{M-.} and friends
|
||||
(@code{xref-pop-marker-stack}).
|
||||
@end table
|
||||
|
||||
@kindex M-.
|
||||
@findex xref-find-definitions
|
||||
@kbd{M-.}@: (@code{xref-find-definitions}) shows the definitions of
|
||||
the identifier at point. With a prefix argument, or if there's no
|
||||
valid identifier at point, it prompts for the identifier. If the
|
||||
identifier has only one definition, the command jumps to it. If the
|
||||
identifier has more than one possible definition (e.g., in an
|
||||
object-oriented language, or if there's a function and a variable by
|
||||
the same name), the command shows the candidate definitions in a
|
||||
@file{*xref*} buffer, together with the files in which these
|
||||
definitions are found. Selecting one of these candidates by typing
|
||||
@kbd{@key{RET}} or clicking @kbd{Mouse-2} will pop a buffer showing
|
||||
the corresponding definition.
|
||||
|
||||
When entering the identifier argument to @kbd{M-.}, the usual
|
||||
minibuffer completion commands can be used (@pxref{Completion}), with
|
||||
the known identifier names as completion candidates.
|
||||
|
||||
@kindex C-x 4 .
|
||||
@findex xref-find-definitions-other-window
|
||||
@kindex C-x 5 .
|
||||
@findex xref-find-definitions-other-frame
|
||||
Like most commands that can switch buffers,
|
||||
@code{xref-find-definitions} has a variant that displays the new
|
||||
buffer in another window, and one that makes a new frame for it. The
|
||||
former is @w{@kbd{C-x 4 .}}
|
||||
(@code{xref-find-definitions-other-window}), and the latter is
|
||||
@w{@kbd{C-x 5 .}} (@code{xref-find-definitions-other-frame}).
|
||||
|
||||
@findex xref-find-apropos
|
||||
@kindex C-M-.
|
||||
The command @kbd{C-M-.} (@code{xref-find-apropos}) finds the
|
||||
definitions of one or more identifiers that match a specified regular
|
||||
expression. It is just like @kbd{M-.} except that it does regexp
|
||||
matching of identifiers instead of symbol name matching.
|
||||
|
||||
When any of the above commands finds more than one definition, it
|
||||
presents the @file{*xref*} buffer showing the definition candidates.
|
||||
In that buffer, you have several specialized commands, described in
|
||||
@ref{Xref Commands}.
|
||||
|
||||
@kindex M-,
|
||||
@findex xref-pop-marker-stack
|
||||
@vindex xref-marker-ring-length
|
||||
To go back to places @emph{from where} you found the definition,
|
||||
use @kbd{M-,} (@code{xref-pop-marker-stack}). It jumps back to the
|
||||
point of the last invocation of @kbd{M-.}. Thus you can find and
|
||||
examine the definition of something with @kbd{M-.} and then return to
|
||||
where you were with @kbd{M-,}. @kbd{M-,} allows you to retrace your
|
||||
steps to a depth determined by the variable
|
||||
@code{xref-marker-ring-length}, which defaults to 16.
|
||||
|
||||
@node Xref Commands
|
||||
@subsubsection Commands Available in the @file{*xref*} Buffer
|
||||
@cindex commands in @file{*xref*} buffers
|
||||
@cindex XREF mode
|
||||
|
||||
The following commands are provided in the @file{*xref*} buffer by
|
||||
the special XREF mode:
|
||||
|
||||
@table @kbd
|
||||
@item @key{RET}
|
||||
@itemx Mouse-2
|
||||
Display the reference on the current line and bury the @file{*xref*}
|
||||
buffer.
|
||||
@item n
|
||||
@itemx .
|
||||
@findex xref-next-line
|
||||
Move to the next reference and display it in the other window
|
||||
(@code{xref-next-line}).
|
||||
@item p
|
||||
@itemx ,
|
||||
@findex xref-prev-line
|
||||
Move to the previous reference and display it in the other window
|
||||
(@code{xref-prev-line}).
|
||||
@item C-o
|
||||
@findex xref-show-location-at-point
|
||||
Display the reference on the current line in the other window
|
||||
(@code{xref-show-location-at-point}).
|
||||
@findex xref-query-replace
|
||||
@item r @var{pattern} @key{RET} @var{replacement} @key{RET}
|
||||
Perform interactive query-replace on references that match
|
||||
@var{pattern} (@code{xref-query-replace}), replacing the match with
|
||||
@var{replacement}. @xref{Identifier Search}.
|
||||
@findex xref-quit
|
||||
@item q
|
||||
Quit the window showing the @file{*xref*} buffer (@code{xref-quit}).
|
||||
@end table
|
||||
|
||||
In addition, the usual navigation commands, such as the arrow keys,
|
||||
@kbd{C-n}, and @kbd{C-p} are available for moving around the buffer
|
||||
without displaying the references.
|
||||
|
||||
@node Identifier Search
|
||||
@subsubsection Searching and Replacing with Identifiers
|
||||
@cindex search and replace in multiple files
|
||||
@cindex multiple-file search and replace
|
||||
|
||||
The commands in this section visit and search all the files listed
|
||||
in the @code{xref} backend's database, one by one. For these
|
||||
commands, the database serves only to specify a sequence of files to
|
||||
search. These commands scan all the databases starting with the first
|
||||
one (if any) that describes the current file, proceed from there to
|
||||
the end of the list, and then scan from the beginning of the list
|
||||
until they have covered all the databases in the list.
|
||||
|
||||
@table @kbd
|
||||
@item M-?
|
||||
Find all the references for the identifier at point.
|
||||
@item M-x xref-query-replace @key{RET} @var{regexp} @key{RET} @var{replacement} @key{RET}
|
||||
Interactively replace @var{regexp} with @var{replacement} in the names
|
||||
of all the identifiers shown in the @file{*xref*} buffer.
|
||||
@item M-x tags-search @key{RET} @var{regexp} @key{RET}
|
||||
Search for @var{regexp} through the files in the selected tags
|
||||
table.
|
||||
@item M-x tags-query-replace @key{RET} @var{regexp} @key{RET} @var{replacement} @key{RET}
|
||||
Perform a @code{query-replace-regexp} on each file in the selected tags table.
|
||||
@item M-x tags-loop-continue
|
||||
Restart one of the last 2 commands above, from the current location of point.
|
||||
@end table
|
||||
|
||||
@kindex M-?
|
||||
@findex xref-find-references
|
||||
@kbd{M-?} finds all the references for the identifier at point. If
|
||||
there's no valid identifier at point, or when invoked with a prefix
|
||||
argument, the command prompts for the identifier, with completion. It
|
||||
then presents a @file{*xref*} buffer with all the references to the
|
||||
identifier, showing the file name and the line where the identifier is
|
||||
referenced. The XREF mode commands are available in this buffer, see
|
||||
@ref{Xref Commands}.
|
||||
|
||||
@findex xref-query-replace
|
||||
@kbd{M-x xref-query-replace} reads a regexp to match identifier
|
||||
names and a string to replace with, just like ordinary @kbd{M-x
|
||||
query-replace-regexp}. It then performs the specified replacement in
|
||||
the names of the matching identifiers in all the places in all the
|
||||
files where these identifiers are referenced. This is useful when you
|
||||
rename your identifiers as part of refactoring. This command should
|
||||
be invoked in the @file{*xref*} buffer generated by @code{M-?}.
|
||||
|
||||
@findex tags-search
|
||||
@kbd{M-x tags-search} reads a regexp using the minibuffer, then
|
||||
searches for matches in all the files in the selected tags table, one
|
||||
file at a time. It displays the name of the file being searched so
|
||||
you can follow its progress. As soon as it finds an occurrence,
|
||||
@code{tags-search} returns. This command works only with the etags
|
||||
backend, and requires tags tables to be available (@pxref{Tags
|
||||
Tables}).
|
||||
|
||||
@findex tags-loop-continue
|
||||
Having found one match, you probably want to find all the rest.
|
||||
Type @kbd{M-x tags-loop-continue}) to resume the @code{tags-search},
|
||||
finding one more match. This searches the rest of the current buffer,
|
||||
followed by the remaining files of the tags table.
|
||||
|
||||
@findex tags-query-replace
|
||||
@kbd{M-x tags-query-replace} performs a single
|
||||
@code{query-replace-regexp} through all the files in the tags table. It
|
||||
reads a regexp to search for and a string to replace with, just like
|
||||
ordinary @kbd{M-x query-replace-regexp}. It searches much like @kbd{M-x
|
||||
tags-search}, but repeatedly, processing matches according to your
|
||||
input. @xref{Query Replace}, for more information on query replace.
|
||||
This command works only with the etags backend.
|
||||
|
||||
@vindex tags-case-fold-search
|
||||
@cindex case-sensitivity and tags search
|
||||
You can control the case-sensitivity of tags search commands by
|
||||
customizing the value of the variable @code{tags-case-fold-search}. The
|
||||
default is to use the same setting as the value of
|
||||
@code{case-fold-search} (@pxref{Lax Search}).
|
||||
|
||||
It is possible to get through all the files in the tags table with a
|
||||
single invocation of @kbd{M-x tags-query-replace}. But often it is
|
||||
useful to exit temporarily, which you can do with any input event that
|
||||
has no special query replace meaning. You can resume the query
|
||||
replace subsequently by typing @kbd{M-x tags-loop-continue}; this
|
||||
command resumes the last tags search or replace command that you did.
|
||||
For instance, to skip the rest of the current file, you can type
|
||||
@kbd{M-> M-x tags-loop-continue}.
|
||||
|
||||
The commands in this section carry out much broader searches than
|
||||
the @code{xref-find-definitions} family. The
|
||||
@code{xref-find-definitions} commands search only for definitions of
|
||||
identifiers that match your string or regexp. The commands
|
||||
@code{tags-search} and @code{tags-query-replace} find every occurrence
|
||||
of the regexp, as ordinary search commands and replace commands do in
|
||||
the current buffer.
|
||||
|
||||
As an alternative to @code{tags-search}, you can run @command{grep}
|
||||
as a subprocess and have Emacs show you the matching lines one by one.
|
||||
@xref{Grep Searching}.
|
||||
|
||||
@node List Identifiers
|
||||
@subsubsection Identifier Inquiries
|
||||
|
||||
@table @kbd
|
||||
@item C-M-i
|
||||
@itemx M-@key{TAB}
|
||||
Perform completion on the text around point, using the @code{xref}
|
||||
backend if one is available (@code{completion-at-point}).
|
||||
@item M-x list-tags @key{RET} @var{file} @key{RET}
|
||||
Display a list of the tags defined in the program file @var{file}.
|
||||
@item M-x xref-find-apropos @key{RET} @var{regexp} @key{RET}
|
||||
Display a list of all known identifiers matching @var{regexp}.
|
||||
@end table
|
||||
|
||||
@cindex completion (symbol names)
|
||||
In most programming language modes, you can type @kbd{C-M-i} or
|
||||
@kbd{M-@key{TAB}} (@code{completion-at-point}) to complete the symbol
|
||||
at point. If there is an @code{xref} backend available, this command
|
||||
can use it to generate completion candidates more intelligently.
|
||||
@xref{Symbol Completion}.
|
||||
|
||||
@findex list-tags
|
||||
@kbd{M-x list-tags} reads the name of one of the files covered by
|
||||
the selected tags table, and displays a list of tags defined in that
|
||||
file. Do not include a directory as part of the file name unless the
|
||||
file name recorded in the tags table includes a directory. This
|
||||
command works only with the etags backend, and requires a tags table
|
||||
for the project to be available. @xref{Tags Tables}.
|
||||
|
||||
@c Sadly, the new-and-improved Xref feature doesn't provide anything
|
||||
@c close to the described below features of the now-obsoleted
|
||||
@c tags-apropos. I'm leaving this here to encourage enhancements to
|
||||
@c xref.el.
|
||||
@ignore
|
||||
@findex tags-apropos
|
||||
@vindex tags-apropos-verbose
|
||||
@vindex tags-tag-face
|
||||
@vindex tags-apropos-additional-actions
|
||||
@kbd{M-x tags-apropos} is like @code{apropos} for tags
|
||||
(@pxref{Apropos}). It displays a list of tags in the selected tags
|
||||
table whose entries match @var{regexp}. If the variable
|
||||
@code{tags-apropos-verbose} is non-@code{nil}, it displays the names
|
||||
of the tags files together with the tag names. You can customize the
|
||||
appearance of the output by setting the variable @code{tags-tag-face}
|
||||
to a face. You can display additional output by customizing the
|
||||
variable @code{tags-apropos-additional-actions}; see its documentation
|
||||
for details.
|
||||
@end ignore
|
||||
|
||||
@findex next-file
|
||||
@kbd{M-x next-file} visits files covered by the selected tags table.
|
||||
The first time it is called, it visits the first file covered by the
|
||||
table. Each subsequent call visits the next covered file, unless a
|
||||
prefix argument is supplied, in which case it returns to the first
|
||||
file. This command works only with the etags backend.
|
||||
|
||||
@node Tags Tables
|
||||
@subsection Tags Tables
|
||||
@cindex tags and tag tables
|
||||
|
||||
A @dfn{tags table} records the tags extracted by scanning the source
|
||||
code of a certain program or a certain document. Tags extracted from
|
||||
|
@ -1685,12 +2064,14 @@ source files.
|
|||
on a document or the source code file. The @samp{etags} program
|
||||
writes the tags to a @dfn{tags table file}, or @dfn{tags file} in
|
||||
short. The conventional name for a tags file is @file{TAGS}@.
|
||||
@xref{Create Tags Table}.
|
||||
@xref{Create Tags Table}. (It is also possible to create a tags table
|
||||
by using one of the commands from other packages that can produce such
|
||||
tables in the same format.)
|
||||
|
||||
Emacs provides many commands for searching and replacing using the
|
||||
information recorded in tags tables. For instance, the @kbd{M-.}
|
||||
(@code{find-tag}) jumps to the location of a specified function
|
||||
definition in its source file. @xref{Find Tag}.
|
||||
Emacs uses the tags tables via the @code{etags} package as one of
|
||||
the supported backends for @code{xref}. Because tags tables are
|
||||
produced by the @command{etags} command that is part of an Emacs
|
||||
distribution, we describe tags tables in more detail here.
|
||||
|
||||
@cindex C++ class browser, tags
|
||||
@cindex tags, C++
|
||||
|
@ -1706,14 +2087,10 @@ use tags, separate from the @command{etags} facility.
|
|||
* Tag Syntax:: Tag syntax for various types of code and text files.
|
||||
* Create Tags Table:: Creating a tags table with @command{etags}.
|
||||
* Etags Regexps:: Create arbitrary tags using regular expressions.
|
||||
* Select Tags Table:: How to visit a tags table.
|
||||
* Find Tag:: Commands to find the definition of a specific tag.
|
||||
* Tags Search:: Using a tags table for searching and replacing.
|
||||
* List Tags:: Using tags for completion, and listing them.
|
||||
@end menu
|
||||
|
||||
@node Tag Syntax
|
||||
@subsection Source File Tag Syntax
|
||||
@subsubsection Source File Tag Syntax
|
||||
|
||||
Here is how tag syntax is defined for the most popular languages:
|
||||
|
||||
|
@ -1883,13 +2260,17 @@ line.
|
|||
@item
|
||||
In Python code, @code{def} or @code{class} at the beginning of a line
|
||||
generate a tag.
|
||||
|
||||
@item
|
||||
In Ruby code, @code{def} or @code{class} or @code{module} at the
|
||||
beginning of a line generate a tag.
|
||||
@end itemize
|
||||
|
||||
You can also generate tags based on regexp matching (@pxref{Etags
|
||||
Regexps}) to handle other formats and languages.
|
||||
|
||||
@node Create Tags Table
|
||||
@subsection Creating Tags Tables
|
||||
@subsubsection Creating Tags Tables
|
||||
@cindex @command{etags} program
|
||||
|
||||
The @command{etags} program is used to create a tags table file. It knows
|
||||
|
@ -1946,7 +2327,7 @@ source files, and the tags file will still refer correctly to the source
|
|||
files. If the tags file is @file{-} or is in the @file{/dev} directory,
|
||||
however, the file names are
|
||||
made relative to the current working directory. This is useful, for
|
||||
example, when writing the tags to @file{/dev/stdout}.
|
||||
example, when writing the tags to the standard output.
|
||||
|
||||
When using a relative file name, it should not be a symbolic link
|
||||
pointing to a tags file in a different directory, because this would
|
||||
|
@ -1992,7 +2373,7 @@ options, it outputs detailed information about how tags are generated for
|
|||
@var{lang}.
|
||||
|
||||
@node Etags Regexps
|
||||
@subsection Etags Regexps
|
||||
@subsubsection Etags Regexps
|
||||
|
||||
The @samp{--regex} option to @command{etags} allows tags to be
|
||||
recognized by regular expression matching. You can intermix this
|
||||
|
@ -2151,7 +2532,7 @@ etags --language=none \
|
|||
@subsection Selecting a Tags Table
|
||||
|
||||
@findex visit-tags-table
|
||||
Emacs has at any time one @dfn{selected} tags table. All the
|
||||
Emacs has at any time at most one @dfn{selected} tags table. All the
|
||||
commands for working with tags tables use the selected one. To select
|
||||
a tags table, type @kbd{M-x visit-tags-table}, which reads the tags
|
||||
table file name as an argument, with @file{TAGS} in the default
|
||||
|
@ -2192,212 +2573,6 @@ table mentions that file, as explained above.
|
|||
|
||||
Do not set both @code{tags-file-name} and @code{tags-table-list}.
|
||||
|
||||
@node Find Tag
|
||||
@subsection Finding a Tag
|
||||
|
||||
The most important thing that a tags table enables you to do is to find
|
||||
the definition of a specific tag.
|
||||
|
||||
@table @kbd
|
||||
@item M-.@: @var{tag} @key{RET}
|
||||
Find first definition of @var{tag} (@code{find-tag}).
|
||||
@item C-u M-.
|
||||
Find next alternate definition of last tag specified.
|
||||
@item C-u - M-.
|
||||
Go back to previous tag found.
|
||||
@item C-M-. @var{pattern} @key{RET}
|
||||
Find a tag whose name matches @var{pattern} (@code{find-tag-regexp}).
|
||||
@item C-u C-M-.
|
||||
Find the next tag whose name matches the last pattern used.
|
||||
@item C-x 4 .@: @var{tag} @key{RET}
|
||||
Find first definition of @var{tag}, but display it in another window
|
||||
(@code{find-tag-other-window}).
|
||||
@item C-x 5 .@: @var{tag} @key{RET}
|
||||
Find first definition of @var{tag}, and create a new frame to select the
|
||||
buffer (@code{find-tag-other-frame}).
|
||||
@item M-*
|
||||
Pop back to where you previously invoked @kbd{M-.} and friends.
|
||||
@end table
|
||||
|
||||
@kindex M-.
|
||||
@findex find-tag
|
||||
@kbd{M-.}@: (@code{find-tag}) prompts for a tag name and jumps to
|
||||
its source definition. It works by searching through the tags table
|
||||
for that tag's file and approximate character position, visiting that
|
||||
file, and searching for the tag definition at ever-increasing
|
||||
distances away from the recorded approximate position.
|
||||
|
||||
When entering the tag argument to @kbd{M-.}, the usual minibuffer
|
||||
completion commands can be used (@pxref{Completion}), with the tag
|
||||
names in the selected tags table as completion candidates. If you
|
||||
specify an empty argument, the balanced expression in the buffer
|
||||
before or around point is the default argument. @xref{Expressions}.
|
||||
|
||||
You don't need to give @kbd{M-.} the full name of the tag; a part
|
||||
will do. @kbd{M-.} finds tags which contain that argument as a
|
||||
substring. However, it prefers an exact match to a substring match.
|
||||
To find other tags that match the same substring, give @code{find-tag}
|
||||
a numeric argument, as in @kbd{C-u M-.} or @kbd{M-0 M-.}; this does
|
||||
not read a tag name, but continues searching the tags table's text for
|
||||
another tag containing the same substring last used.
|
||||
|
||||
@kindex C-x 4 .
|
||||
@findex find-tag-other-window
|
||||
@kindex C-x 5 .
|
||||
@findex find-tag-other-frame
|
||||
Like most commands that can switch buffers, @code{find-tag} has a
|
||||
variant that displays the new buffer in another window, and one that
|
||||
makes a new frame for it. The former is @w{@kbd{C-x 4 .}}
|
||||
(@code{find-tag-other-window}), and the latter is @w{@kbd{C-x 5 .}}
|
||||
(@code{find-tag-other-frame}).
|
||||
|
||||
To move back to previous tag definitions, use @kbd{C-u - M-.}; more
|
||||
generally, @kbd{M-.} with a negative numeric argument. Similarly,
|
||||
@w{@kbd{C-x 4 .}} with a negative argument finds the previous tag
|
||||
location in another window.
|
||||
|
||||
@kindex M-*
|
||||
@findex pop-tag-mark
|
||||
@vindex find-tag-marker-ring-length
|
||||
As well as going back to places you've found tags recently, you can
|
||||
go back to places @emph{from where} you found them, using @kbd{M-*}
|
||||
(@code{pop-tag-mark}). Thus you can find and examine the definition
|
||||
of something with @kbd{M-.} and then return to where you were with
|
||||
@kbd{M-*}.
|
||||
|
||||
Both @kbd{C-u - M-.} and @kbd{M-*} allow you to retrace your steps to
|
||||
a depth determined by the variable @code{find-tag-marker-ring-length}.
|
||||
|
||||
@findex find-tag-regexp
|
||||
@kindex C-M-.
|
||||
The command @kbd{C-M-.} (@code{find-tag-regexp}) visits the tags that
|
||||
match a specified regular expression. It is just like @kbd{M-.} except
|
||||
that it does regexp matching instead of substring matching.
|
||||
|
||||
@node Tags Search
|
||||
@subsection Searching and Replacing with Tags Tables
|
||||
@cindex search and replace in multiple files
|
||||
@cindex multiple-file search and replace
|
||||
|
||||
The commands in this section visit and search all the files listed
|
||||
in the selected tags table, one by one. For these commands, the tags
|
||||
table serves only to specify a sequence of files to search. These
|
||||
commands scan the list of tags tables starting with the first tags
|
||||
table (if any) that describes the current file, proceed from there to
|
||||
the end of the list, and then scan from the beginning of the list
|
||||
until they have covered all the tables in the list.
|
||||
|
||||
@table @kbd
|
||||
@item M-x tags-search @key{RET} @var{regexp} @key{RET}
|
||||
Search for @var{regexp} through the files in the selected tags
|
||||
table.
|
||||
@item M-x tags-query-replace @key{RET} @var{regexp} @key{RET} @var{replacement} @key{RET}
|
||||
Perform a @code{query-replace-regexp} on each file in the selected tags table.
|
||||
@item M-,
|
||||
Restart one of the commands above, from the current location of point
|
||||
(@code{tags-loop-continue}).
|
||||
@end table
|
||||
|
||||
@findex tags-search
|
||||
@kbd{M-x tags-search} reads a regexp using the minibuffer, then
|
||||
searches for matches in all the files in the selected tags table, one
|
||||
file at a time. It displays the name of the file being searched so you
|
||||
can follow its progress. As soon as it finds an occurrence,
|
||||
@code{tags-search} returns.
|
||||
|
||||
@kindex M-,
|
||||
@findex tags-loop-continue
|
||||
Having found one match, you probably want to find all the rest.
|
||||
Type @kbd{M-,} (@code{tags-loop-continue}) to resume the
|
||||
@code{tags-search}, finding one more match. This searches the rest of
|
||||
the current buffer, followed by the remaining files of the tags table.
|
||||
|
||||
@findex tags-query-replace
|
||||
@kbd{M-x tags-query-replace} performs a single
|
||||
@code{query-replace-regexp} through all the files in the tags table. It
|
||||
reads a regexp to search for and a string to replace with, just like
|
||||
ordinary @kbd{M-x query-replace-regexp}. It searches much like @kbd{M-x
|
||||
tags-search}, but repeatedly, processing matches according to your
|
||||
input. @xref{Query Replace}, for more information on query replace.
|
||||
|
||||
@vindex tags-case-fold-search
|
||||
@cindex case-sensitivity and tags search
|
||||
You can control the case-sensitivity of tags search commands by
|
||||
customizing the value of the variable @code{tags-case-fold-search}. The
|
||||
default is to use the same setting as the value of
|
||||
@code{case-fold-search} (@pxref{Lax Search}).
|
||||
|
||||
It is possible to get through all the files in the tags table with a
|
||||
single invocation of @kbd{M-x tags-query-replace}. But often it is
|
||||
useful to exit temporarily, which you can do with any input event that
|
||||
has no special query replace meaning. You can resume the query
|
||||
replace subsequently by typing @kbd{M-,}; this command resumes the
|
||||
last tags search or replace command that you did. For instance, to
|
||||
skip the rest of the current file, you can type @kbd{M-> M-,}.
|
||||
|
||||
The commands in this section carry out much broader searches than the
|
||||
@code{find-tag} family. The @code{find-tag} commands search only for
|
||||
definitions of tags that match your substring or regexp. The commands
|
||||
@code{tags-search} and @code{tags-query-replace} find every occurrence
|
||||
of the regexp, as ordinary search commands and replace commands do in
|
||||
the current buffer.
|
||||
|
||||
These commands create buffers only temporarily for the files that they
|
||||
have to search (those which are not already visited in Emacs buffers).
|
||||
Buffers in which no match is found are quickly killed; the others
|
||||
continue to exist.
|
||||
|
||||
As an alternative to @code{tags-search}, you can run @command{grep}
|
||||
as a subprocess and have Emacs show you the matching lines one by one.
|
||||
@xref{Grep Searching}.
|
||||
|
||||
@node List Tags
|
||||
@subsection Tags Table Inquiries
|
||||
|
||||
@table @kbd
|
||||
@item C-M-i
|
||||
@itemx M-@key{TAB}
|
||||
Perform completion on the text around point, using the selected tags
|
||||
table if one is loaded (@code{completion-at-point}).
|
||||
@item M-x list-tags @key{RET} @var{file} @key{RET}
|
||||
Display a list of the tags defined in the program file @var{file}.
|
||||
@item M-x tags-apropos @key{RET} @var{regexp} @key{RET}
|
||||
Display a list of all tags matching @var{regexp}.
|
||||
@end table
|
||||
|
||||
@cindex completion (symbol names)
|
||||
In most programming language modes, you can type @kbd{C-M-i} or
|
||||
@kbd{M-@key{TAB}} (@code{completion-at-point}) to complete the symbol
|
||||
at point. If there is a selected tags table, this command can use it
|
||||
to generate completion candidates. @xref{Symbol Completion}.
|
||||
|
||||
@findex list-tags
|
||||
@kbd{M-x list-tags} reads the name of one of the files covered by
|
||||
the selected tags table, and displays a list of tags defined in that
|
||||
file. Do not include a directory as part of the file name unless the
|
||||
file name recorded in the tags table includes a directory.
|
||||
|
||||
@findex tags-apropos
|
||||
@vindex tags-apropos-verbose
|
||||
@vindex tags-tag-face
|
||||
@vindex tags-apropos-additional-actions
|
||||
@kbd{M-x tags-apropos} is like @code{apropos} for tags
|
||||
(@pxref{Apropos}). It displays a list of tags in the selected tags
|
||||
table whose entries match @var{regexp}. If the variable
|
||||
@code{tags-apropos-verbose} is non-@code{nil}, it displays the names
|
||||
of the tags files together with the tag names. You can customize the
|
||||
appearance of the output by setting the variable @code{tags-tag-face}
|
||||
to a face. You can display additional output by customizing the
|
||||
variable @code{tags-apropos-additional-actions}; see its documentation
|
||||
for details.
|
||||
|
||||
@findex next-file
|
||||
@kbd{M-x next-file} visits files covered by the selected tags table.
|
||||
The first time it is called, it visits the first file covered by the
|
||||
table. Each subsequent call visits the next covered file, unless a
|
||||
prefix argument is supplied, in which case it returns to the first
|
||||
file.
|
||||
|
||||
@node EDE
|
||||
@section Emacs Development Environment
|
||||
@cindex EDE (Emacs Development Environment)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@c This is part of the Emacs manual.
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2015 Free Software
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2016 Free Software
|
||||
@c Foundation, Inc.
|
||||
@c See file emacs.texi for copying conditions.
|
||||
@node Mark
|
||||
|
@ -288,7 +288,9 @@ instead signal an error if the mark is inactive.
|
|||
active---for example, typing @kbd{a} inserts the character @samp{a},
|
||||
then deactivates the mark. If you enable Delete Selection mode, a
|
||||
minor mode, then inserting text while the mark is active causes the
|
||||
text in the region to be deleted first. To toggle Delete Selection
|
||||
text in the region to be deleted first. Also, commands that normally
|
||||
delete just one character, such as @kbd{C-d} or @kbd{@key{DEL}}, will
|
||||
delete the entire region instead. To toggle Delete Selection
|
||||
mode on or off, type @kbd{M-x delete-selection-mode}.
|
||||
|
||||
@node Mark Ring
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
@c -*- coding: utf-8 -*-
|
||||
@c This is part of the Emacs manual.
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2016 Free Software
|
||||
@c Foundation, Inc.
|
||||
@c See file emacs.texi for copying conditions.
|
||||
@node Minibuffer
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@c This is part of the Emacs manual.
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2016 Free Software
|
||||
@c Foundation, Inc.
|
||||
@c See file emacs.texi for copying conditions.
|
||||
@iftex
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue