--- /dev/null
+# Attributes of Emacs files in the Git repository.
+
+# Copyright 2015 Free Software Foundation, Inc.
+
+# This file is part of GNU Emacs.
+
+# GNU Emacs is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# GNU Emacs is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+# A few files use CRLF endings, even on non-Microsoft platforms.
+# Do not warn about trailing whitespace with these files.
+*.bat -whitespace
+admin/charsets/mapfiles/PTCP154 -whitespace
+leim/MISC-DIC/cangjie-table.b5 -whitespace
+leim/MISC-DIC/cangjie-table.cns -whitespace
+leim/MISC-DIC/pinyin.map -whitespace
+lib-src/update-game-score.exe.manifest -whitespace
+nt/nmake.defs -whitespace
+
+# Some files should not be treated as text when diffing or merging.
+*.gpg binary
+*.gz binary
+*.icns binary
+*.ico binary
+*.pbm binary
+*.pdf binary
+*.png binary
+*.sig binary
+*.tiff binary
+test/automated/data/decompress/foo-gzipped binary
# Files that Git should ignore in the Emacs source directory.
-# Copyright 2009-2014 Free Software Foundation, Inc.
+# Copyright 2009-2015 Free Software Foundation, Inc.
# This file is part of GNU Emacs.
/confdefs.h
/config.status
/configure.lineno
+/conftest*
src/config.h
src/epaths.h
-Copyright (C) 2006-2014 Free Software Foundation, Inc.
-See end for license conditions.
+This file contains information on Emacs developer processes.
+For information on contributing to Emacs as a non-developer, see
+(info "(emacs)Contributing") or
+http://www.gnu.org/software/emacs/manual/html_node/emacs/Contributing.html
- Contributing to Emacs
-
-Emacs is a collaborative project and we encourage contributions from
-anyone and everyone. If you want to contribute in the way that will
-help us most, we recommend (1) fixing reported bugs and (2)
-implementing the feature ideas in etc/TODO. However, if you think of
-new features to add, please suggest them too -- we might like your
-idea. Porting to new platforms is also useful, when there is a new
-platform, but that is not common nowadays.
-
-For documentation on Emacs (to understand how to implement your
-desired change), refer to:
-
-- the Emacs Manual
- http://www.gnu.org/software/emacs/manual/emacs.html
- (info "(Emacs)Top")
-
-- the Emacs Lisp Reference Manual
- http://www.gnu.org/software/emacs/manual/elisp.html
- (info "(elisp)Top")
-
-- http://www.gnu.org/software/emacs
-
-- http://www.emacswiki.org/
-
-There are many ways to contribute to Emacs:
-
-- implement a new feature, and submit a patch (see "Submitting
- Patches" below).
-
-- answer questions on the Emacs user mailing list
- https://lists.gnu.org/mailman/listinfo/help-gnu-emacs
-
-- write documentation, either on the wiki, or in the Emacs source
- repository (see "Submitting Patches" below)
-
-- find and report bugs; use M-x report-emacs-bug
-
-- check if existing bug reports are fixed in newer versions of Emacs
- http://debbugs.gnu.org/cgi/pkgreport.cgi?which=pkg&data=emacs
-
-- develop a package that works with Emacs, and publish it on your own
- or in Gnu ELPA (see admin/notes/elpa).
-
-Here are some style and legal conventions for contributors to Emacs:
-
-
-* Coding Standards
-
-Contributed code should follow the GNU Coding Standards
-(http://www.gnu.org/prep/standards/ - may also be available in info on
-your system).
-
-If it doesn't, we'll need to find someone to fix the code before we
-can use it.
-
-Emacs has additional style and coding conventions:
-
-- the "Tips" Appendix in the Emacs Lisp Reference
- http://www.gnu.org/software/emacs/manual/html_node/elisp/Tips.html
- (info "(elisp)Tips").
-
-- Avoid using `defadvice' or `eval-after-load' for Lisp code to be
- included in Emacs.
-
-- Remove all trailing whitespace in all source and text files.
-
-- Emacs has no convention on whether to use tabs in source code;
- please don't change whitespace in the files you edit.
-
-- Use ?\s instead of ? in Lisp code for a space character.
-
-* Copyright Assignment
-
-The FSF (Free Software Foundation) is the copyright holder for GNU Emacs.
-The FSF is a nonprofit with a worldwide mission to promote computer
-user freedom and to defend the rights of all free software users.
-For general information, see the website http://www.fsf.org/ .
-
-Generally speaking, for non-trivial contributions to GNU Emacs we
-require that the copyright be assigned to the FSF. For the reasons
-behind this, see: http://www.gnu.org/licenses/why-assign.html .
-
-Copyright assignment is a simple process. Residents of some countries
-can do it entirely electronically. We can help you get started, and
-answer any questions you may have (or point you to the people with the
-answers), at the emacs-devel@gnu.org mailing list.
-
-(Please note: general discussion about why some GNU projects ask
-for a copyright assignment is off-topic for emacs-devel.
-See gnu-misc-discuss instead.)
-
-A copyright disclaimer is also a possibility, but we prefer an assignment.
-Note that the disclaimer, like an assignment, involves you sending
-signed paperwork to the FSF (simply saying "this is in the public domain"
-is not enough). Also, a disclaimer cannot be applied to future work, it
-has to be repeated each time you want to send something new.
-
-We can accept small changes (roughly, fewer than 15 lines) without
-an assignment. This is a cumulative limit (e.g. three separate 5 line
-patches) over all your contributions.
-
-* Getting the Source Code
-
-The current working version of the Emacs source code is stored in a
-git repository on the Savannah web site
-(http://savannah.gnu.org/projects/emacs). It is important to write
-your patch based on the current working version. If you start from an
-older version, your patch may be outdated (so that maintainers will
-have a hard time applying it), or changes in Emacs may have made your
-patch unnecessary.
-
-After you have downloaded the repository source, you should read the file
-INSTALL.REPO for build instructions (they differ to some extent from a
-normal build).
-
-* Submitting Patches
-
-Every patch must have several pieces of information before we
-can properly evaluate it.
-
-When you have all these pieces, bundle them up in a mail message and
-send it to the developers. Sending it to bug-gnu-emacs@gnu.org
-(which is the bug/feature list) is recommended, because that list
-is coupled to a tracking system that makes it easier to locate patches.
-If your patch is not complete and you think it needs more discussion,
-you might want to send it to emacs-devel@gnu.org instead. If you
-revise your patch, send it as a followup to the initial topic.
-
-** Description
-
-For bug fixes, a description of the bug and how your patch fixes it.
-
-For new features, a description of the feature and your implementation.
-
-** ChangeLog
-
-A ChangeLog entry as plaintext (separate from the patch).
-
-See the existing ChangeLog files for format and content. Note that,
-unlike some other projects, we do require ChangeLogs for
-documentation, i.e. Texinfo files.
-
-Ref: "Change Log Concepts" node of the GNU Coding Standards Info
-Manual, for how to write good log entries.
-http://www.gnu.org/prep/standards/html_node/Change-Log-Concepts.html
-
-When using git, commit messages should use ChangeLog format, with a
-single short line explaining the change, then an empty line, then
-unindented ChangeLog entries. (Essentially, a commit message should
-be a duplicate of what the patch adds to the ChangeLog files. We are
-planning to automate this better, to avoid the duplication.) You can
-use the Emacs functions log-edit-add-to-changelog or
-log-edit-insert-changelog to ease this process.
-
-** The patch itself.
-
-If you are accessing the Emacs repository, make sure your copy is
-up-to-date (e.g. with 'git pull'). You can commit your changes
-to a private branch and generate a patch from the master version
-by using
- git format-patch master
-Or you can leave your changes uncommitted and use
- git diff
-With no repository, you can use
- diff -u OLD NEW
-
-** Mail format.
-
-We prefer to get the patches as plain text, either inline (be careful
-your mail client does not change line breaks) or as MIME attachments.
-
-** Please reread your patch before submitting it.
-
-** Do not mix changes.
-
-If you send several unrelated changes together, we will ask you to
-separate them so we can consider each of the changes by itself.
-
-** Do not make formatting changes.
-
-Making cosmetic formatting changes (indentation, etc) makes it harder
-to see what you have really changed.
-
-
-* Supplemental information for Emacs Developers.
+* Information for Emacs Developers.
An "Emacs Developer" is someone who contributes a lot of code or
-documentation to the Emacs repository.
+documentation to the Emacs repository. Generally, they have write
+access to the Emacs git repository on Savannah
+https://savannah.gnu.org/git/?group=emacs.
** Write access to the Emacs repository.
and the committer; use the --author option on the commit command to
specify the actual author; the committer defaults to you.
-** Changelog notes
+** commit messages
+
+When using git, commit messages should use ChangeLog format, with the
+following modifications:
+
+- Add a single short line explaining the change, then an empty line,
+ then unindented ChangeLog entries.
+
+ You can use various Emacs functions to ease this process; see (info
+ "(emacs)Change Log Commands") or
+ http://www.gnu.org/software/emacs/manual/html_node/emacs/Change-Log-Commands.html.
+
+- The summary line is limited to 72 characters (enforced by a commit
+ hook). If you have trouble making that a good summary, add a
+ paragraph below it, before the individual file descriptions.
+
+- If only a single file is changed, the summary line can be the normal
+ file first line (starting with the asterisk). Then there is no
+ individual files section.
+
+- Explaining the rationale for a design choice is best done in comments
+ in the source code. However, sometimes it is useful to describe just
+ the rationale for a change; that can be done in the commit message
+ between the summary line and the file entries.
+
+** ChangeLog notes
- Emacs generally follows the GNU coding standards when it comes to
ChangeLogs:
standards used to recommend) rather than 'like-this' (as they do
now), because `...' is so widely used elsewhere in Emacs.
+- Some of the rules in the GNU coding standards section 5.2
+ "Commenting Your Work" also apply to ChangeLog entries: they must be
+ in English, and be complete sentences starting with a capital and
+ ending with a period (except the summary line should not end in a
+ period).
+
+ It is tempting to relax this rule for commit messages, since they
+ are somewhat transient. However, they are preserved indefinitely,
+ and have a reasonable chance of being read in the future, so it's
+ better that they have good presentation.
+
- There are multiple ChangeLogs in the emacs source; roughly one per
high-level directory. The ChangeLog entry for a commit belongs in the
lowest ChangeLog that is higher than or at the same level as any file
changed by the commit.
+- Use the present tense; describe "what the change does", not "what
+ the change did".
+
- Preferred form for several entries with the same content:
* help.el (view-lossage):
(Rather than anything involving "ditto" and suchlike.)
-- In ChangeLog files, there is no standard or recommended way to
+- If the commit fixes a bug, add a separate line
+
+ Fixes: bug#NNNN
+
+ where NNNN is the bug number.
+
+- In ChangeLog entries, there is no standard or recommended way to
identify revisions.
One way to identify revisions is by quoting their summary line.
"2014-01-16T05:43:35Z!esr@thyrsus.com". Often, "my previous commit"
will suffice.
-- There is no need to make separate change log entries for files such
+- There is no need to make separate ChangeLog entries for files such
as NEWS, MAINTAINERS, and FOR-RELEASE, or to indicate regeneration
of files such as 'configure'. "There is no need" means you don't
have to, but you can if you want to.
Sometime before the release of a new major version of Emacs a "feature
freeze" is imposed on the trunk, to prepare for creating a release
branch. No new features may be added to the trunk after this point,
-until the release branch is created. This freeze is announced on the
-emacs-devel mailing list, and not anywhere else.
+until the release branch is created. Announcements about the freeze
+(and other important events) are made on the info-gnu-emacs mailing
+list, and not anywhere else.
The trunk branch is named "master" in git; release branches are named
"emacs-nn" where "nn" is the major version.
-You must follow emacs-devel to know exactly what kinds of changes are
-allowed on what branch at any time. Announcements about the freeze
-(and other important events) will contain "ANNOUNCE" in the subject.
-
If you are fixing a bug that exists in the current release, be sure to
commit it to the release branch; it will be merged to the master
branch later.
See all the files in admin/notes/* . In particular, see
admin/notes/newfile, see admin/notes/repo.
+*** git vs rename
+
+git does not explicitly represent a file renaming; it uses a percent
+changed heuristic to deduce that a file was renamed. So if you are
+planning to make extensive changes to a file after renaming it (or
+moving it to another directory), you should:
+
+- create a feature branch
+
+- commit the rename without any changes
+
+- make other changes
+
+- merge the feature branch to trunk, _not_ squashing the commits into
+ one. The commit message on this merge should summarize the renames
+ and all the changes.
+
** Emacs Mailing lists.
Discussion about Emacs development takes place on emacs-devel@gnu.org.
Any change that matters to end-users should have an entry in etc/NEWS.
-Think about whether your change requires updating the documentation
-(both manuals and doc-strings). If you know it does not, mark the NEWS
-entry with "---". If you know that *all* the necessary documentation
-updates have been made, mark the entry with "+++". Otherwise do not mark it.
+Doc-strings should be updated together with the code.
+
+Think about whether your change requires updating the manuals. If you
+know it does not, mark the NEWS entry with "---". If you know
+that *all* the necessary documentation updates have been made, mark
+the entry with "+++". Otherwise do not mark it.
** Understanding Emacs Internals.
-2014-12-14 Paul Eggert <eggert@cs.ucla.edu>
-
- Spelling fixes
- All uses changed.
- * lib-src/etags.c (analyze_regex): Rename from analyse_regex.
- * lisp/cedet/semantic/lex-spp.el:
- (semantic-lex-spp-analyzer-do-replace):
- Rename from semantic-lex-spp-anlyzer-do-replace.
- * lisp/emacs-lisp/cconv.el (cconv--analyze-use):
- Rename from cconv--analyse-use.
- (cconv--analyze-function): Rename from cconv--analyse-function.
- (cconv-analyze-form): Rename from cconv-analyse-form.
- * src/regex.c (analyze_first): Rename from analyze_first.
+2015-01-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ Merge from gnulib
+ * lib/stdio.in.h, m4/stdio_h.m4: Update from gnulib, incorporating:
+ 2015-01-05 stdio: fix use of PRIdMAX on modern mingw
+
+2015-01-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ * INSTALL: Mention 'make WERROR_CFLAGS='.
+
+ Clarify 'make info'
+ * Makefile.in (info): Use GNU make conditional rather than
+ an '@' rule with a shell conditional, so that the builder can
+ see the submake.
+
+ Less 'make' chatter for VCSWITNESS
+ * Makefile.in (dirstate, VCSWITNESS): New macros.
+ (src): Use them to lessen 'make' chatter.
+
+2015-01-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ Merge from gnulib, incorporating:
+ 2015-01-01 version-etc: new year
+
+ * .gitattributes: New file.
+
+ * autogen.sh: Port better to non-GNU 'cp'. Reported by Han Boetes.
+
+2014-12-31 Paul Eggert <eggert@cs.ucla.edu>
+
+ Less 'make' chatter at top level
+ * Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_GEN, am__v_GEN_)
+ (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
+ (am__v_at_1): New macros, copied from src/Makefile.in.
+ ($(srcdir)/src/config.in, ${srcdir}/info/dir):
+ Be less chatty when not verbose.
+ ($(srcdir)/src/stamp-h.in): Simplify with '$@'.
+
+2014-12-28 Paul Eggert <eggert@cs.ucla.edu>
+
+ * build-aux/git-hooks/commit-msg: Allow tabs.
+ Treat them as if they were expanded to spaces, with tab stops
+ every 8 columns.
+
+2014-12-27 Paul Eggert <eggert@cs.ucla.edu>
+
+ * .gitignore: Ignore /conftest*.
+
+2014-12-27 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * build-aux/git-hooks/commit-msg (at_sign): Bump up line-length limit
+ to 78.
+
+2014-12-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ Prefer stpcpy to strcat.
+ * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
+ * lib/stpcpy.c, m4/stpcpy.m4: New files, from gnulib.
+
+2014-12-24 Stephen Leake <stephen_leake@stephe-leake.org>
+
+ * CONTRIBUTE: Move user-level information to doc/emacs/trouble.texi.
+ Add Savannah url, cleanup announcing freeze.
+ (commit messages): New, gathered from comments on emacs-devel.
+ (Changelog notes): Add reference to GNU coding standards section 5.2;
+ doc 'present tense', bug fix format.
+ (branches): Freeze announcements are made on info-gnu-emacs mailing
+ list.
+ (git vs rename): New.
+
+2014-12-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ Merge from gnulib.
+ 2014-12-20 utimens: remove unnecessary assert
+ 2014-12-16 stdalign: port better to HP compilers
+ 2014-12-16 stdalign: work around Apple GCC 4.0 bug
+ * lib/stdalign.in.h, lib/utimens.c, m4/stdalign.m4: Update from gnulib.
2014-12-14 Glenn Morris <rgm@gnu.org>
2014-12-13 Paul Eggert <eggert@cs.ucla.edu>
- Git ignore lib/std*.h
* .gitignore: Add lib/std*.h, to ignore stdarg.h, stdbool.h, and
stddef.h. Remove subsumed entries.
Add !lib/std*.in.h, so as to not ignore the .in.h files.
2014-12-13 Paul Eggert <eggert@cs.ucla.edu>
- Port commit-msg to mawk
- Problem reported by Ted Zlatanov in:
+ Port commit-msg to mawk. Reported by Ted Zlatanov in:
http://lists.gnu.org/archive/html/emacs-devel/2014-12/msg01093.html
* build-aux/git-hooks/commit-msg (space, non_space, non_print):
New vars. Use them as approximations to POSIX bracket expressions,
on implementations like mawk that do not support POSIX regexps.
- Improve commit-msg messages and autosquash
- Problem reported by Michal Nazarewicz in Bug#19337.
+ Improve commit-msg messages and autosquash.
+ Reported by Michal Nazarewicz in Bug#19337.
* build-aux/git-hooks/commit-msg: Add "commit message" to
diagnostics. Distinguish better between tabs and other
unprintable chars in diagnostics. Don't complain if a prefix
2014-12-13 Paul Eggert <eggert@cs.ucla.edu>
Port commit-message checking to FreeBSD 9.
- This fixes a bug reported by Jan Djärv in:
+ Reported by Jan Djärv in:
http://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00704.html
along with some other issues I noticed while testing with FreeBSD.
* build-aux/git-hooks/commit-msg: Prefer gawk if available.
2014-12-12 Paul Eggert <eggert@cs.ucla.edu>
- Merge from gnulib
+ Merge from gnulib.
2014-12-12 stddef: support C11's max_align_t
2014-12-11 unistd: fix iOS check conditional
2014-12-08 apply _GL_ATTRIBUTE_PURE to some inline functions
build: port to GCC 4.6.4 + glibc 2.5
On platforms this old, building with _FORTIFY_SOURCE equal to 2
results in duplicate definitions of standard library functions.
- Problem reported by Nelson H. F. Beebe.
+ Reported by Nelson H. F. Beebe.
* configure.ac (_FORTIFY_SOURCE): Sort after GNULIB_PORTCHECK.
By default, do not enable this unless GNULIB_PORTCHECK is defined.
This better matches the original intent, which as I recall was to
2014-11-11 Eric S. Raymond <esr@thyrsus.com>
- * Makefile.in: git transition - set VCWITNESS appropriately for git.
+ Git transition.
+ * Makefile.in (src): Set VCSWITNESS appropriately for git.
All bzr revision IDS, and all CVS revision IDs for which a commit
could be identified, were changed to time-date!committer version
Fix problem with MAKE and xcrun configuration.
* configure.ac: Don't set MAKE unless 'make' doesn't work.
Set it only in the environment, not in the makefile.
- Problem reported by Glenn Morris in:
+ Reported by Glenn Morris in:
http://lists.gnu.org/archive/html/emacs-devel/2013-12/msg00969.html
2013-12-27 Paul Eggert <eggert@cs.ucla.edu>
(bootstrap): Run ./configure, rather than trying to run config.status
if it exists. That builds src/epaths.h more reliably.
Run autogen/copy_autogen if autogen.sh fails,
- to create 'configure'; problem reported by Andreas Schwab in
+ to create 'configure'. Reported by Andreas Schwab in
<http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00438.html>.
* autogen.sh: Exit with status 1 when failing due to missing tools,
reverting the 2012-09-10 change to this file.
Check pkg-config exit status when configuring (Bug#10626).
* configure.in (PKG_CHECK_MODULES): Do not assume that pkg-config
- works; check its exit status. Problem reported by Jordi Gutiérrez
- Hermoso in
+ works; check its exit status. Reported by Jordi Gutiérrez Hermoso in
<http://lists.gnu.org/archive/html/emacs-devel/2012-01/msg00787.html>.
2012-04-07 Glenn Morris <rgm@gnu.org>
* configure.in (LIB_PTHREAD): Prepend -lpthread to LIBS (Bug#9852)
if the library is found. Otherwise, later configure-time tests,
such as the test for pthread_sigmask, generate the wrong results
- on some platforms. Problem reported for FreeBSD by Nali Toja.
+ on some platforms. Reported by Nali Toja for FreeBSD.
2011-10-20 Paul Eggert <eggert@cs.ucla.edu>
* m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Omit gl_THREADLIB
test, which runs afoul of Automake installations where, for example,
/usr/share/aclocal contains a copy of gl_THREADLIB.
- Problem reported by Sven Joachim in
+ Reported by Sven Joachim in
<http://lists.gnu.org/archive/html/emacs-devel/2011-07/msg00529.html>.
This is just a quick temporary fix, specific to Emacs; I'll work
with the other gnulib maintainers to get a more-permanent fix.
* arg-nonnull.h, c++defs.h, warn-on-use.h: Fix licenses.
Sync from gnulib, which has been patched to fix the problem
- with the license notices. Problem reported by Glenn Morris in
+ with the license notices. Reported by Glenn Morris in
<http://lists.gnu.org/archive/html/emacs-devel/2011-02/msg00403.html>.
2011-02-09 Stefan Monnier <monnier@iro.umontreal.ca>
used. The code already assumed two's complement, so there's
no need to test for alternatives. All uses removed.
(TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
- the C standard. Problem reported by Rich Felker in
+ the C standard. Reported by Rich Felker in
<http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
(twos_complement_arithmetic): Also check long_int and time_t.
(time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
;; coding: utf-8
;; End:
- Copyright (C) 1993-1999, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1993-1999, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
# Build Emacs from a fresh tarball or version-control checkout.
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
#
# This file is part of GNU Emacs.
#
GNU Emacs Installation Guide
-Copyright (C) 1992, 1994, 1996-1997, 2000-2014 Free Software Foundation, Inc.
+Copyright (C) 1992, 1994, 1996-1997, 2000-2015 Free Software Foundation,
+Inc.
See the end of the file for license conditions.
about possibly-questionable C code. This is intended for developers
and is useful with GNU-compatible compilers. On a recent GNU system
there should be no warnings; on older and on non-GNU systems the
-generated warnings may still be useful.
+generated warnings may still be useful, though you may prefer building
+with 'make WERROR_CFLAGS=' so that the warnings are not treated as
+errors.
Use --enable-silent-rules to cause 'make' to chatter less. This is
helpful when combined with options like --enable-gcc-warnings that
\f
-Copyright (C) 2002-2014 Free Software Foundation, Inc.
+Copyright (C) 2002-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
### @configure_input@
-# Copyright (C) 1992-2014 Free Software Foundation, Inc.
+# Copyright (C) 1992-2015 Free Software Foundation, Inc.
# This file is part of GNU Emacs.
### The nt/ subdirectory gets built only for MinGW
NTDIR=@NTDIR@
+# 'make' verbosity.
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+
# ==================== Where To Install Things ====================
# Location to install Emacs.app under GNUstep / Mac OS X.
# repository pull. In git there is no single file that guarantees
# this, but the local log for the current head should be close enough.
#
-# Note the use of single quotes in the value of vcswitness.
-# This passes an unexpanded $srcdir to src's Makefile, which then
+# Pass an unexpanded $srcdir to src's Makefile, which then
# expands it using its own value of srcdir (which points to the
# source directory of src/).
+dirstate = .git/logs/HEAD
+VCSWITNESS = $(if $(wildcard $(srcdir)/$(dirstate)),$$(srcdir)/../$(dirstate))
src: Makefile
- dirstate='.git/logs/HEAD'; \
- vcswitness='$$(srcdir)/../'$$dirstate; \
- [ -r "$(srcdir)/$$dirstate" ] || vcswitness=''; \
- $(MAKE) -C $@ all VCSWITNESS="$$vcswitness"
+ $(MAKE) -C $@ VCSWITNESS='$(VCSWITNESS)' all
blessmail: Makefile src
$(MAKE) -C lib-src maybe-blessmail
@ # because stamp-h.in has changed (since building stamp-h.in
@ # refreshes config.in as well), but if config.in is missing
@ # then we really need to do something more.
- [ -r "$@" ] || ( cd ${srcdir} && ${AUTOHEADER} )
+ $(if $(wildcard $@),,cd $(srcdir) && $(AUTOHEADER))
$(srcdir)/src/stamp-h.in: $(AUTOCONF_INPUTS)
cd ${srcdir} && ${AUTOHEADER}
- rm -f $(srcdir)/src/stamp-h.in
- echo timestamp > $(srcdir)/src/stamp-h.in
+ rm -f $@
+ echo timestamp > $@
# ==================== Installation ====================
## but then we would need to depend on info-real, which would
## slow down parallelization.
${srcdir}/info/dir: ${info_dir_deps}
- ${MKDIR_P} ${srcdir}/info
- tempfile=info-dir.$$$$; \
+ $(AM_V_at)${MKDIR_P} ${srcdir}/info
+ $(AM_V_GEN)tempfile=info-dir.$$$$; \
rm -f $${tempfile}; \
(cd ${srcdir}/doc && \
AWK='${AWK}' ../build-aux/make-info-dir ${info_dir_inputs} \
# and it's not worth it. This case is only relevant if you download a
# release, then change the .texi files.
info:
- @if test "$(HAVE_MAKEINFO)" = "no"; then \
- echo "Configured --without-makeinfo, not building manuals" ; \
- else \
- $(MAKE) info-real info-dir; \
- fi
+ ifneq ($(HAVE_MAKEINFO),no)
+ $(MAKE) info-real info-dir
+ endif
## build-aux/make-info-dir expects only certain dircategories.
check-info: info
-Copyright (C) 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 2001-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
+2015-01-08 Glenn Morris <rgm@gnu.org>
+
+ * authors.el (authors-aliases): Add an entry to ignore.
+
+2015-01-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ Less 'make' chatter for admin/grammars
+ * grammars/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_GEN)
+ (am__v_GEN_, am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_)
+ (am__v_at_0, am__v_at_1): New macros, from src/Makefile.in.
+ (${bovinedir}/%-by.el, ${bovinedir}/scm-by.el)
+ (${cedetdir}/semantic/%-wy.el, ${wisentdir}/%-wy.el)
+ (${wisentdir}/javat-wy.el, ${cedetdir}/srecode/srt-wy.el): Use them.
+
+ Less chatter in batch mode
+ * unidata/unidata-gen.el (unidata-gen-files):
+ Don't output messages like "Generating ..." in batch mode.
+
+2015-01-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ Less 'make' chatter for unidata
+ * unidata/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_GEN, am__v_GEN_)
+ (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0, am__v_at_1):
+ New macros, from ../src/Makefile.in.
+ (${top_srcdir}/src/macuvs.h, %.elc, unidata.txt)
+ (${unidir}/charprop.el, unifiles): Use them.
+ (PHONY_EXTRAS): New macro.
+ (.PHONY, ${unidir}/charprop.el): Use it.
+ (FORCE): Remove; all uses replaced by PHONY_EXTRAS manipulation.
+ (${unidir}/charprop.el, extraclean):
+ Use 'make' conditionals rather than shell.
+
+2015-01-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ * update-copyright (emacsver): Change to emacsver.tex.in.
+
+2014-12-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ * merge-gnulib (GNULIB_MODULES): Add stpcpy.
+
+2014-12-24 Glenn Morris <rgm@gnu.org>
+
+ * authors.el (authors-obsolete-files-regexps)
+ (authors-ignored-files, authors-valid-file-names)
+ (authors-renamed-files-alist, authors-renamed-files-regexps):
+ Additions.
+
2014-12-14 Paul Eggert <eggert@cs.ucla.edu>
* notes/unicode: Track leim/quail file renames.
- Correct coding system
- of lisp/international/titdic-cnv.el.
+ Correct coding system of lisp/international/titdic-cnv.el.
2014-12-14 Glenn Morris <rgm@gnu.org>
;; coding: utf-8
;; End:
- Copyright (C) 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
-Copyright (C) 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 2001-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
;;; admin.el --- utilities for Emacs administration
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
/* Allocate X colors. Used for testing with dense colormaps.
-Copyright (C) 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
;;; authors.el --- utility for maintaining Emacs's AUTHORS file -*-coding: utf-8 -*-
-;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
;; Author: Gerd Moellmann <gerd@gnu.org>
;; Maintainer: Kim F. Storm <storm@cua.dk>
(defconst authors-aliases
'(
+ (nil "A\\. N\\. Other") ; unknown author 2014-12-03, later removed
("Aaron S. Hawley" "Aaron Hawley")
("Alexandru Harsanyi" "Alex Harsanyi")
("Andrew Csillag" "Drew Csillag")
(defvar authors-obsolete-files-regexps
'(".*loaddefs.el$" ; not obsolete, but auto-generated
- "\\.\\(cvs\\|git\\)ignore$" ; obsolete or uninteresting
+ "\\.\\(bzr\\|cvs\\|git\\)ignore$" ; obsolete or uninteresting
"\\.arch-inventory$"
"automated/data/" ; not interesting
;; TODO lib/? Matches other things?
"CODINGS" "CHARSETS"
"calc/INSTALL" "calc/Makefile" "calc/README.prev"
"vms-pp.trans" "_emacs" "batcomp.com" "notes/cpp" ; admin/
+ "notes/BRANCH" "notes/exit-value"
"emacsver.texi.in"
"vpath.sed"
"Cocoa/Emacs.base/Contents/Info.plist"
"images/page-down.xpm" "images/widen.pbm" "images/widen.xpm"
"images/gnus/bar.xbm" "images/gnus/bar.xpm"
"images/gnus/reverse-smile.xpm"
+ "notes/commits" "notes/changelogs"
"revdiff" ; admin/
"vcdiff" "rcs-checkin" "tindex.pl"
"mainmake" "sed1.inp" "sed2.inp" "sed3.inp" ; msdos/
"org-lparse.el"
"org-special-blocks.el" "org-taskjuggler.el"
"progmodes/cap-words.el"
+ "w32-common-fns.el"
;; gnus
"nnwfm.el" "nnlistserv.el" "nnkiboze.el" "nndb.el" "nnsoup.el"
"netrc.el" "password.el" "sasl-cram.el" "sasl-digest.el" "sasl-ntlm.el"
"etags-vmslib.c" "fakemail.c" "getdate.c" "getopt.h" "getopt1.c"
"getopt_.h" "getopt_int.h" "gettext.h" "leditcfns.c" "loadst.c"
"make-path.c" "qsort.c" "sorted-doc.c" "tcp.c" "timer.c" "wakeup.c"
- "yow.c" "grep-changelog"
+ "yow.c" "grep-changelog" "grep-changelog.1"
;; etc/
"emacsclient.c" "etags.c" "hexl.c" "make-docfile.c" "movemail.c"
"test-distrib.c" "testfile"
;; The one in lisp is eshell/eshell.el.
("eshell.el" . "automated/eshell.el")
("eshell/esh-test.el" . "automated/eshell.el")
+ ("automated/cl-lib.el" . "automated/cl-lib-tests.el")
("automated/package-x-test.el" . "automated/package-test.el")
;; INSTALL-CVS -> .CVS -> .BZR -> .REPO
("INSTALL-CVS" . "INSTALL.REPO")
("grammars/wisent-grammar.el" . "wisent/grammar.el")
;; Moved from admin/nt/ to nt/.
("nt/README.W32" . "README.W32")
+ ("notes/BRANCH" . "notes/repo")
+ ("notes/bzr" . "notes/repo")
)
"Alist of files which have been renamed during their lifetime.
Elements are (OLDNAME . NEWNAME).")
("comint-testsuite.el" "automated/\\&")
("\\`\\(bytecomp\\|font-parse\\|icalendar\\|occur\\|newsticker\\)\
-testsuite\\.el" "automated/\\1-tests.el")
+ ("automated/flymake/warnpred/\\(Makefile\\|test\\.\\(?:c\\|pl\\)\\)\\'"
+ "automated/data/flymake/\\1")
;; NB lax rules should come last.
("^m/m-\\(.*\\.h\\)$" "m/\\1" t)
("^m-\\(.*\\.h\\)$" "\\1" t)
#! /usr/bin/perl
# Build Emacs in several different configurations.
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2015 Free Software Foundation, Inc.
# This file is part of GNU Emacs.
;;; bzrmerge.el --- help merge one Emacs bzr branch to another
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
;; Keywords: maint
-Copyright (C) 2009-2014 Free Software Foundation, Inc.
+Copyright (C) 2009-2015 Free Software Foundation, Inc.
Copyright (C) 2009, 2010, 2011
National Institute of Advanced Industrial Science and Technology (AIST)
Registration Number H13PRO009
;;; cus-test.el --- tests for custom types and load problems
-;; Copyright (C) 1998, 2000, 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2000, 2002-2015 Free Software Foundation, Inc.
;; Author: Markus Rost <markus.rost@mathematik.uni-regensburg.de>
;; Maintainer: Markus Rost <rost@math.ohio-state.edu>
#! /bin/sh
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2015 Free Software Foundation, Inc.
# This file is part of GNU Emacs.
;;; find-gc.el --- detect functions that call the garbage collector
-;; Copyright (C) 1992, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 2001-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;;; gitmerge.el --- help merge one Emacs branch into another
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Authors: David Engster <deng@randomsample.de>
;; Stefan Monnier <monnier@iro.umontreal.ca>
### @configure_input@
-## Copyright (C) 2013-2014 Free Software Foundation, Inc.
+## Copyright (C) 2013-2015 Free Software Foundation, Inc.
## This file is part of GNU Emacs.
top_srcdir = @top_srcdir@
top_builddir = @top_builddir@
+# 'make' verbosity.
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+
# Prevent any settings in the user environment causing problems.
unexport EMACSDATA EMACSDOC EMACSPATH
## c-by.el, make-by.el.
${bovinedir}/%-by.el: ${srcdir}/%.by
- [ ! -f "$@" ] || chmod +w "$@"
- ${make_bovine} -o "$@" $<
+ $(AM_V_GEN)[ ! -f "$@" ] || chmod +w "$@"
+ $(AM_V_at)${make_bovine} -o "$@" $<
${bovinedir}/scm-by.el: ${srcdir}/scheme.by
- [ ! -f "$@" ] || chmod +w "$@"
- ${make_bovine} -o "$@" $<
+ $(AM_V_GEN)[ ! -f "$@" ] || chmod +w "$@"
+ $(AM_V_at)${make_bovine} -o "$@" $<
## grammar-wy.el
${cedetdir}/semantic/%-wy.el: ${srcdir}/%.wy
- [ ! -f "$@" ] || chmod +w "$@"
- ${make_wisent} -o "$@" $<
+ $(AM_V_GEN)[ ! -f "$@" ] || chmod +w "$@"
+ $(AM_V_at)${make_wisent} -o "$@" $<
## js-wy.el, python-wy.el
${wisentdir}/%-wy.el: ${srcdir}/%.wy
- [ ! -f "$@" ] || chmod +w "$@"
- ${make_wisent} -o "$@" $<
+ $(AM_V_GEN)[ ! -f "$@" ] || chmod +w "$@"
+ $(AM_V_at)${make_wisent} -o "$@" $<
${wisentdir}/javat-wy.el: ${srcdir}/java-tags.wy
- [ ! -f "$@" ] || chmod +w "$@"
- ${make_wisent} -o "$@" $<
+ $(AM_V_GEN)[ ! -f "$@" ] || chmod +w "$@"
+ $(AM_V_at)${make_wisent} -o "$@" $<
${cedetdir}/srecode/srt-wy.el: ${srcdir}/srecode-template.wy
- [ ! -f "$@" ] || chmod +w "$@"
- ${make_wisent} -o "$@" $<
+ $(AM_V_GEN)[ ! -f "$@" ] || chmod +w "$@"
+ $(AM_V_at)${make_wisent} -o "$@" $<
.PHONY: distclean bootstrap-clean maintainer-clean extraclean
;;; c.by -- LL grammar for C/C++ language specification
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;;
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; David Ponce <david@dponce.com>
;;; semantic-grammar.wy -- LALR grammar of Semantic input grammars
;;
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;;
;; Author: David Ponce <david@dponce.com>
;; Maintainer: David Ponce <david@dponce.com>
;;; java-tags.wy -- Semantic LALR grammar for Java
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;;
;; Author: David Ponce <david@dponce.com>
;; Maintainer: David Ponce <david@dponce.com>
;;; javascript-jv.wy -- LALR grammar for Javascript
-;; Copyright (C) 2005-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
;; Copyright (C) 1998-2011 Ecma International.
;; Author: Joakim Verona
;;; make.by -- BY notation for Makefiles.
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;;
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; David Ponce <david@dponce.com>
;;; python.wy -- LALR grammar for Python
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;; Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
;; 2009, 2010 Python Software Foundation; All Rights Reserved
;;; scheme.by -- Scheme BNF language specification
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
;;; srecode-template.wy --- Semantic Recoder Template parser
-;; Copyright (C) 2005-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
;; Author: Eric Ludlam <zappo@gnu.org>
;; Keywords: syntax
# Build Emacs with various options for profiling, debugging,
# with and without warnings enabled etc.
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2015 Free Software Foundation, Inc.
# This file is part of GNU Emacs.
#
# admin/merge-gnulib
-# Copyright 2012-2014 Free Software Foundation, Inc.
+# Copyright 2012-2015 Free Software Foundation, Inc.
# This file is part of GNU Emacs.
manywarnings memrchr mkostemp mktime
pipe2 pselect pthread_sigmask putenv qacl readlink readlinkat
sig2str socklen stat-time stdalign stddef stdio
- strftime strtoimax strtoumax symlink sys_stat
+ stpcpy strftime strtoimax strtoumax symlink sys_stat
sys_time time time_r timer-time timespec-add timespec-sub
unsetenv update-copyright utimens
vla warnings
#
# admin/merge-pkg-config
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
# This file is part of GNU Emacs.
-Copyright (C) 2007-2014 Free Software Foundation, Inc.
+Copyright (C) 2007-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
-Copyright (C) 2002-2014 Free Software Foundation, Inc.
+Copyright (C) 2002-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
-*- outline -*-
-Copyright (C) 2013-2014 Free Software Foundation, Inc.
+Copyright (C) 2013-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
NOTES FOR EMACS CONTINUOUS BUILD ON HYDRA
-*- coding: utf-8; mode: text; -*-
-Copyright (C) 2007-2014 Free Software Foundation, Inc.
+Copyright (C) 2007-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
From README.multi-tty in the multi-tty branch.
-*-mode: text; coding: utf-8;-*-
-Copyright (C) 2002-2014 Free Software Foundation, Inc.
+Copyright (C) 2002-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
Importing a new Unicode Standard version into Emacs
-*- outline -*-
-Copyright (C) 2013-2014 Free Software Foundation, Inc.
+Copyright (C) 2013-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
NOTES FOR EMACS WWW PAGES
-Copyright (C) 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 2001-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
Emacs for Windows
-Copyright (C) 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 2001-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
Precompiled Distributions of
#!/bin/sh
### quick-install-emacs --- do a halfway-decent job of installing emacs quickly
-## Copyright (C) 2001-2014 Free Software Foundation, Inc.
+## Copyright (C) 2001-2015 Free Software Foundation, Inc.
## Author: Miles Bader <miles@gnu.org>
### @configure_input@
-# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Copyright (C) 2012-2015 Free Software Foundation, Inc.
# Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011
# National Institute of Advanced Industrial Science and Technology (AIST)
unidir = ${top_srcdir}/lisp/international
emacs = "${EMACS}" -batch --no-site-file --no-site-lisp
+# 'make' verbosity.
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+
.PHONY: all unifiles
all: ${top_srcdir}/src/macuvs.h unifiles
## Same with charprop.el below.
${top_srcdir}/src/macuvs.h: ${srcdir}/uvs.el ${srcdir}/IVD_Sequences.txt | \
${srcdir}/uvs.elc
- ${emacs} -L ${srcdir} -l uvs \
+ $(AM_V_GEN)${emacs} -L ${srcdir} -l uvs \
--eval '(uvs-print-table-ivd (unmsys--file-name "${srcdir}/IVD_Sequences.txt") "Adobe-Japan1")' \
> $@
%.elc: %.el
- ${emacs} -f batch-byte-compile $<
+ $(AM_V_GEN)${emacs} -f batch-byte-compile $<
unidata.txt: ${srcdir}/UnicodeData.txt
- sed -e 's/\([^;]*\);\(.*\)/(#x\1 "\2")/' -e 's/;/" "/g' < $< > $@
+ $(AM_V_GEN)sed -e 's/\([^;]*\);\(.*\)/(#x\1 "\2")/' -e 's/;/" "/g' \
+ < $< > $@
-FORCE =
-FORCE:
-.PHONY: FORCE
+PHONY_EXTRAS =
+.PHONY: $(PHONY_EXTRAS)
-${unidir}/charprop.el: ${FORCE} ${srcdir}/unidata-gen.el \
+${unidir}/charprop.el: ${srcdir}/unidata-gen.el \
${srcdir}/UnicodeData.txt ${srcdir}/BidiMirroring.txt \
${srcdir}/BidiBrackets.txt | \
${srcdir}/unidata-gen.elc unidata.txt
- -if [ -f "$@" ]; then \
- cd ${unidir} && chmod +w charprop.el `sed -n 's/^;; FILE: //p' < charprop.el`; \
- fi
- ${emacs} -L ${srcdir} -l unidata-gen -f unidata-gen-files \
+ ifneq (,$(wildcard $@))
+ $(AM_V_at)cd $(unidir) && \
+ for f in charprop.el `sed -n 's/^;; FILE: //p' < charprop.el`; do \
+ [ ! -f $$f ] || [ -w $$f ] || chmod +w $$f || exit; \
+ done
+ endif
+ $(AM_V_GEN)${emacs} -L ${srcdir} -l unidata-gen -f unidata-gen-files \
${srcdir} "${unidir}"
## Check for deleted uni- files, and if any such, force a rebuild.
## to generate a Makefile fragment explicitly listing the uni- files,
## which this file could include. If no fragment, rebuild everything.
unifiles: ${unidir}/charprop.el
- for f in `sed -n 's/^;; FILE: //p' < $<`; do \
- [ -f ${unidir}/$$f ] || { ${MAKE} $< FORCE=FORCE || exit 1; break; };\
+ $(AM_V_GEN)for f in `sed -n 's/^;; FILE: //p' < $<`; do \
+ [ -f $(unidir)/$$f ] || exec $(MAKE) PHONY_EXTRAS=$< $<; \
done
.PHONY: clean bootstrap-clean distclean maintainer-clean extraclean
## Cf leim/ja-dic (which is much slower).
extraclean:
rm -f ${top_srcdir}/src/macuvs.h
- if test -f ${unidir}/charprop.el; then \
- (cd ${unidir} && rm -f `sed -n 's/^;; FILE: //p' < charprop.el`); \
- rm -f ${unidir}/charprop.el; \
- fi
+ ifneq (,$(wildcard $(unidir)/charprop.el))
+ cd $(unidir) && \
+ rm -f `sed -n 's/^;; FILE: //p' < charprop.el` charprop.el
+ endif
;; unidata-gen.el -- Create files containing character property data.
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
(insert (format "(define-char-code-property '%S %S\n %S)\n"
prop basename docstring))
(with-temp-buffer
- (message "Generating %s..." file)
+ (or noninteractive (message "Generating %s..." file))
(when (file-exists-p file)
(insert-file-contents file)
(goto-char (point-max))
";; End:\n\n"
(format ";; %s ends here\n" basename)))
(write-file file)
- (message "Generating %s...done" file))))
+ (or noninteractive (message "Generating %s...done" file)))))
(message "Writing %s..." charprop-file)
(insert ";; Local Variables:\n"
";; coding: utf-8\n"
;;; uvs.el --- utility for UVS (format 14) cmap subtables in OpenType fonts.
-;; Copyright (C) 2014 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
;; Author: YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
# By default, this script uses the local-time calendar year.
# Set the UPDATE_COPYRIGHT_YEAR environment variable to override the default.
-# Copyright 2013-2014 Free Software Foundation, Inc.
+# Copyright 2013-2015 Free Software Foundation, Inc.
# This file is part of GNU Emacs.
: ${UPDATE_COPYRIGHT_YEAR=$(date +%Y)}
export UPDATE_COPYRIGHT_YEAR
-emacsver=etc/refcards/emacsver.tex
+emacsver=etc/refcards/emacsver.tex.in
sed 's/\\def\\year[{][0-9]*[}]/\\def\\year{'"$UPDATE_COPYRIGHT_YEAR"'}'/g \
$emacsver >$emacsver.aux &&
{ cmp -s $emacsver $emacsver.aux ||
#!/bin/bash
### update_autogen - update some auto-generated files in the Emacs tree
-## Copyright (C) 2011-2014 Free Software Foundation, Inc.
+## Copyright (C) 2011-2015 Free Software Foundation, Inc.
## Author: Glenn Morris <rgm@gnu.org>
#!/bin/sh
### autogen.sh - tool to help build Emacs from a repository checkout
-## Copyright (C) 2011-2014 Free Software Foundation, Inc.
+## Copyright (C) 2011-2015 Free Software Foundation, Inc.
## Author: Glenn Morris <rgm@gnu.org>
## Maintainer: emacs-devel@gnu.org
*--backup*--verbose*)
cp_options='--backup=numbered --verbose';;
*)
- cp_options='';;
+ cp_options='-f';;
esac
if test -n "$tailored_hooks"; then
#!/bin/sh
# Check the format of GNU Emacs change log entries.
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
# This file is part of GNU Emacs.
status = 1
}
- 72 < length && $0 ~ space {
- print "Line longer than 72 characters in commit message"
+ {
+ # Expand tabs to spaces for length calculations etc.
+ while (match($0, /\t/)) {
+ before_tab = substr($0, 1, RSTART - 1)
+ after_tab = substr($0, RSTART + 1)
+ $0 = sprintf("%s%*s%s", before_tab, 8 - (RSTART - 1) % 8, "", after_tab)
+ }
+ }
+
+ 78 < length && $0 ~ space {
+ print "Line longer than 78 characters in commit message"
status = 1
}
}
$0 ~ non_print {
- if (gsub(/\t/, "")) {
- print "Tab in commit message; please use spaces instead"
- }
- if ($0 ~ non_print) {
- print "Unprintable character in commit message"
- }
+ print "Unprintable character in commit message"
status = 1
}
#!/bin/sh
# Check file names in git commits for GNU Emacs.
-# Copyright 2014 Free Software Foundation, Inc.
+# Copyright 2014-2015 Free Software Foundation, Inc.
# This file is part of GNU Emacs.
### make-info-dir - create info/dir, for systems without install-info
-## Copyright (C) 2013-2014 Free Software Foundation, Inc.
+## Copyright (C) 2013-2015 Free Software Foundation, Inc.
## Author: Glenn Morris <rgm@gnu.org>
## Maintainer: emacs-devel@gnu.org
# If you change this file with Emacs, please let the write hook
# do its job. Otherwise, update this string manually.
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2015 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
# Convert a MSYS path list to Windows-native format.
# Status is zero if successful, nonzero otherwise.
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 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
/* A C macro for declaring that specific arguments must not be NULL.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 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
/* C++ compatible function declaration macros.
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 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
/* A C macro for emitting warnings if a function is used.
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 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
my $VERSION = '2013-01-03.09:41'; # UTC
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2015 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
#!/bin/sh
# Write into $1/subdirs.el a list of subdirs of directory $1.
-# Copyright (C) 1994-1995, 1997, 1999, 2001-2014 Free Software
+# Copyright (C) 1994-1995, 1997, 1999, 2001-2015 Free Software
# Foundation, Inc.
# This file is part of GNU Emacs.
@echo off\r
rem ----------------------------------------------------------------------\r
rem Configuration script for MSDOS\r
-rem Copyright (C) 1994-1999, 2001-2014 Free Software Foundation, Inc.\r
+rem Copyright (C) 1994-1999, 2001-2015 Free Software Foundation, Inc.\r
\r
rem This file is part of GNU Emacs.\r
\r
dnl in the directory containing this script.
dnl If you changed any AC_DEFINES, also run autoheader.
dnl
-dnl Copyright (C) 1994-1996, 1999-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 1994-1996, 1999-2015 Free Software Foundation, Inc.
dnl
dnl This file is part of GNU Emacs.
dnl
version=$PACKAGE_VERSION
-copyright="Copyright (C) 2014 Free Software Foundation, Inc."
+copyright="Copyright (C) 2015 Free Software Foundation, Inc."
AC_DEFINE_UNQUOTED(COPYRIGHT, ["$copyright"],
[Short copyright string for this version of Emacs.])
AC_SUBST(copyright)
AH_TOP([/* GNU Emacs site configuration template file.
-Copyright (C) 1988, 1993-1994, 1999-2002, 2004-2014
+Copyright (C) 1988, 1993-1994, 1999-2002, 2004-2015
Free Software Foundation, Inc.
This file is part of GNU Emacs.
+2014-12-31 Paul Eggert <eggert@cs.ucla.edu>
+
+ Less 'make' chatter for Emacs doc
+ * Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_GEN, am__v_GEN_)
+ (am__v_GEN_0, am__v_GEN_1): New macros, from ../../src/Makefile.in.
+ (ENVADD, $(buildinfodir)/emacs.info, emacs.html):
+ Use them.
+
+2014-12-27 Eli Zaretskii <eliz@gnu.org>
+
+ * buffers.texi (Kill Buffer): Improve indexing.
+
+2014-12-24 Stephen Leake <stephen_leake@stephe-leake.org>
+
+ * trouble.texi: Move user-level information from CONTRIBUTE here.
+
2014-12-14 Alan Mackenzie <acm@muc.de>
* display.texi (Scrolling): fast-but-imprecise-scrolling.
;; coding: utf-8
;; End:
- Copyright (C) 1993-1999, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1993-1999, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
### @configure_input@
-# Copyright (C) 1994, 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994, 1996-2015 Free Software Foundation, Inc.
# This file is part of GNU Emacs.
TEXI2PDF = texi2pdf
DVIPS = dvips
+# 'make' verbosity.
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-ENVADD = TEXINPUTS="$(srcdir):$(texinfodir):$(TEXINPUTS)" \
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+
+ENVADD = $(AM_V_GEN)TEXINPUTS="$(srcdir):$(texinfodir):$(TEXINPUTS)" \
MAKEINFO="$(MAKEINFO) $(MAKEINFO_OPTS)"
DVI_TARGETS = emacs.dvi emacs-xtra.dvi
# There is no provision for Info files to exist in the build directory.
# In a distribution of Emacs, the Info files should be up to date.
$(buildinfodir)/emacs.info: ${EMACSSOURCES} | ${buildinfodir}
- $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ $<
+ $(AM_V_GEN)$(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ $<
emacs.dvi: ${EMACSSOURCES}
$(ENVADD) $(TEXI2DVI) $<
$(ENVADD) $(TEXI2PDF) $<
emacs.html: ${EMACSSOURCES}
- $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ $<
+ $(AM_V_GEN)$(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ $<
emacs-xtra.dvi: $(EMACS_XTRA)
$(ENVADD) $(TEXI2DVI) $<
@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2014 Free Software
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2015 Free Software
@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Abbrevs
@c -*- coding: utf-8 -*-
@c This is part of the Emacs manual.
-@c Copyright (C) 1994-1997, 1999-2014 Free Software Foundation, Inc.
+@c Copyright (C) 1994-1997, 1999-2015 Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions.
@c
@node Acknowledgments
@c This is part of the Emacs manual.
-@c Copyright (C) 2005-2014 Free Software Foundation, Inc.
+@c Copyright (C) 2005-2015 Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Antinews
@c This is part of the Emacs manual.
-@c Copyright (C) 2004-2014 Free Software Foundation, Inc.
+@c Copyright (C) 2004-2015 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
@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software
@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Basic
@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software
@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Buffers
@section Killing Buffers
@cindex killing buffers
+@cindex close buffer
+@cindex close file
If you continue an Emacs session for a while, you may accumulate a
large number of buffers. You may then find it convenient to @dfn{kill}
-the buffers you no longer need. On most operating systems, killing a
-buffer releases its space back to the operating system so that other
-programs can use it. Here are some commands for killing buffers:
+the buffers you no longer need. (Some other editors call this
+operation @dfn{close}, and talk about ``closing the buffer'' or
+``closing the file'' visited in the buffer.) On most operating
+systems, killing a buffer releases its space back to the operating
+system so that other programs can use it. Here are some commands for
+killing buffers:
@table @kbd
@item C-x k @var{bufname} @key{RET}
@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software
@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Building
find a file matching that library name. If the library name is
@samp{@var{foo}}, it tries looking for files named
@file{@var{foo}.elc}, @file{@var{foo}.el}, and @file{@var{foo}}. The
-default behaviour is to load the first file found. This command
+default behavior is to load the first file found. This command
prefers @file{.elc} files over @file{.el} files because compiled files
load and run faster. If it finds that @file{@var{lib}.el} is newer
than @file{@var{lib}.elc}, it issues a warning, in case someone made
@c This is part of the Emacs manual. -*- coding: utf-8 -*-
-@c Copyright (C) 2004-2014 Free Software Foundation, Inc.
+@c Copyright (C) 2004-2015 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
@c This is part of the Emacs manual. -*- coding: utf-8 -*-
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software
@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Calendar/Diary
@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2014 Free Software
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2015 Free Software
@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Emacs Invocation
@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2014 Free Software
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2015 Free Software
@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@iftex
@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software
@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Customization
@c This is part of the Emacs manual.
-@c Copyright (C) 2004-2014 Free Software Foundation, Inc.
+@c Copyright (C) 2004-2015 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
@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software
@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Dired
@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software
@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@copying
This manual describes specialized features of Emacs.
-Copyright @copyright{} 2004--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 2004--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@end ifnottex
updated for Emacs version @value{EMACSVER}.
-Copyright @copyright{} 1985--1987, 1993--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 1985--1987, 1993--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@c This is part of the Emacs manual.
-@c Copyright (C) 2004-2014 Free Software Foundation, Inc.
+@c Copyright (C) 2004-2015 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
@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 2001-2014 Free Software
+@c Copyright (C) 1985-1987, 1993-1995, 2001-2015 Free Software
@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@iftex
@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2014 Free Software
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2015 Free Software
@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Files
@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2014 Free Software
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2015 Free Software
@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Fixit
@c This is part of the Emacs manual.
-@c Copyright (C) 2004-2014 Free Software Foundation, Inc.
+@c Copyright (C) 2004-2015 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
@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2014 Free Software
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2015 Free Software
@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Frames
@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2014 Free Software
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2015 Free Software
@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Glossary
-@c Copyright (C) 1985-1987, 1993, 1995, 2001-2014 Free Software
+@c Copyright (C) 1985-1987, 1993, 1995, 2001-2015 Free Software
@c Foundation, Inc.
@c
@c Permission is granted to anyone to make or distribute verbatim copies
@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software
@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Help
@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2014 Free Software
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2015 Free Software
@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Indentation
@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software
@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software
@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Keyboard Macros
@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2014 Free Software
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2015 Free Software
@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node M-x
@c This is part of the Emacs manual.
-@c Copyright (C) 2000-2014 Free Software Foundation, Inc.
+@c Copyright (C) 2000-2015 Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Mac OS / GNUstep
@appendix Emacs and Mac OS / GNUstep
@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-2014 Free Software
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2015 Free Software
@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Maintaining
#### -*- Makefile -*- for the Emacs Manual
-# Copyright (C) 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003-2015 Free Software Foundation, Inc.
# This file is part of GNU Emacs.
@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2014 Free Software
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2015 Free Software
@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Mark
@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software
@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Minibuffer
@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014
-@c Free Software Foundation, Inc.
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software
+@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@iftex
@chapter Miscellaneous Commands
@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software
@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Modes
@c This is part of the Emacs manual.
-@c Copyright (C) 2004-2014 Free Software Foundation, Inc.
+@c Copyright (C) 2004-2015 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
@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software
@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Microsoft Windows
@c This is part of the Emacs manual.
-@c Copyright (C) 1997, 1999-2014 Free Software Foundation, Inc.
+@c Copyright (C) 1997, 1999-2015 Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node International
@chapter International Character Set Support
@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software
@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Packages
@c This is part of the Emacs manual.
-@c Copyright (C) 2004-2014 Free Software Foundation, Inc.
+@c Copyright (C) 2004-2015 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
@c -*- coding: utf-8 -*-
@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2014 Free Software
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2015 Free Software
@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Programs
@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2014 Free Software
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2015 Free Software
@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Registers
@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2014 Free Software
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2015 Free Software
@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Rmail
@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2014 Free Software
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2015 Free Software
@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Screen
@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software
@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Search
@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software
@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Sending Mail
@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software
@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Text
@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2014 Free Software
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2015 Free Software
@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@iftex
work in the best of circumstances, and we can't keep up unless you do
your best to help.
+Every patch must have several pieces of information before we
+can properly evaluate it.
+
+When you have all these pieces, bundle them up in a mail message and
+send it to the developers. Sending it to
+@email{bug-gnu-emacs@@gnu.org} (which is the bug/feature list) is
+recommended, because that list is coupled to a tracking system that
+makes it easier to locate patches. If your patch is not complete and
+you think it needs more discussion, you might want to send it to
+@email{emacs-devel@@gnu@@gnu.org} instead. If you revise your patch,
+send it as a followup to the initial topic.
+
+We prefer to get the patches as plain text, either inline (be careful
+your mail client does not change line breaks) or as MIME attachments.
+
@itemize @bullet
@item
-Send an explanation with your changes of what problem they fix or what
-improvement they bring about. For a fix for an existing bug, it is
+Include an explanation with your changes of what problem they fix or what
+improvement they bring about.
+
+@itemize
+@item
+For a fix for an existing bug, it is
best to reply to the relevant discussion on the @samp{bug-gnu-emacs}
list, or the bug entry in the GNU Bug Tracker at
@url{http://debbugs.gnu.org}. Explain why your change fixes the bug.
@item
-Always include a proper bug report for the problem you think you have
-fixed. We need to convince ourselves that the change is right before
-installing it. Even if it is correct, we might have trouble
-understanding it if we don't have a way to reproduce the problem.
+For a new feature, include a description of the feature and your
+implementation.
+
+@item
+For a new bug, include a proper bug report for the problem you think
+you have fixed. We need to convince ourselves that the change is
+right before installing it. Even if it is correct, we might have
+trouble understanding it if we don't have a way to reproduce the
+problem.
+@end itemize
@item
Include all the comments that are appropriate to help people reading the
is important.
@item
+The patch itself.
+
Use @samp{diff -c} to make your diffs. Diffs without context are hard
to install reliably. More than that, they are hard to study; we must
always study a patch to decide whether we want to install it. Unidiff
making diffs of C code. This shows the name of the function that each
change occurs in.
+If you are using the Emacs repository, make sure your copy is
+up-to-date (e.g. with @code{git pull}). You can commit your changes
+to a private branch and generate a patch from the master version by
+using @code{git format-patch master}. Or you can leave your changes
+uncommitted and use @code{git diff}.
+
@item
Avoid any ambiguity as to which is the old version and which is the new.
Please make the old version the first argument to diff, and the new
explanation in comments in the code. It will be more useful there.
Please look at the change log entries of recent commits to see what
-sorts of information to put in, and to learn the style that we use.
-@xref{Change Log}.
+sorts of information to put in, and to learn the style that we use. Note that,
+unlike some other projects, we do require change logs for
+documentation, i.e. Texinfo files.
+@xref{Change Log},
+@ifset WWW_GNU_ORG
+see
+@url{http://www.gnu.org/prep/standards/html_node/Change-Log-Concepts.html},
+@end ifset
+@xref{Change Log Concepts, Change Log Concepts,
+Change Log Concepts, gnu-coding-standards, GNU Coding Standards}.
@item
When you write the fix, keep in mind that we can't install a change that
form that is clearly safe to install.
@end itemize
-@c FIXME: Include the node above?
@node Contributing
@section Contributing to Emacs Development
@cindex contributing to Emacs
+Emacs is a collaborative project and we encourage contributions from
+anyone and everyone.
+
+There are many ways to contribute to Emacs:
+
+@itemize
+@item
+find and report bugs; @xref{Bugs}.
+
+@item
+answer questions on the Emacs user mailing list
+@url{https://lists.gnu.org/mailman/listinfo/help-gnu-emacs}.
+
+@item
+write documentation, either on the wiki, or in the Emacs source
+repository (@pxref{Sending Patches}).
+
+@item
+check if existing bug reports are fixed in newer versions of Emacs
+@url{http://debbugs.gnu.org/cgi/pkgreport.cgi?which=pkg&data=emacs}.
+
+@item
+fix existing bug reports
+@url{http://debbugs.gnu.org/cgi/pkgreport.cgi?which=pkg&data=emacs}.
+
+@item
+@c etc/TODO not in WWW_GNU_ORG
+implement a feature listed in the @file{etc/TODO} file in the Emacs
+distribution, and submit a patch.
+
+@item
+implement a new feature, and submit a patch.
+
+@item
+develop a package that works with Emacs, and publish it on your own
+or in Gnu ELPA (@url{https://elpa.gnu.org/}).
+
+@item
+port Emacs to a new platform, but that is not common nowadays.
+
+@end itemize
+
If you would like to work on improving Emacs, please contact the maintainers at
@ifnothtml
@email{emacs-devel@@gnu.org}.
before you start; it might be possible to suggest ways to make your
extension fit in better with the rest of Emacs.
+When implementing a feature, please follow the Emacs coding standards;
+@xref{Coding Standards}. In addition, non-trivial contributions
+require a copyright assignment to the FSF; @xref{Copyright Assignment}.
+
The development version of Emacs can be downloaded from the
repository where it is actively maintained by a group of developers.
See the Emacs project page
-@url{http://savannah.gnu.org/projects/emacs/} for details.
+@url{http://savannah.gnu.org/projects/emacs/} for access details.
+
+It is important to write your patch based on the current working
+version. If you start from an older version, your patch may be
+outdated (so that maintainers will have a hard time applying it), or
+changes in Emacs may have made your patch unnecessary. After you have
+downloaded the repository source, you should read the file
+@file{INSTALL.REPO} for build instructions (they differ to some extent
+from a normal build).
+
+If you would like to make more extensive contributions, see the
+@file{./CONTRIBUTE} file in the Emacs distribution for information on
+how to be an Emacs developer.
+
+For documentation on Emacs (to understand how to implement your
+desired change), refer to:
+
+@itemize
+@item
+@ifset WWW_GNU_ORG
+@ifhtml
+the Emacs Manual
+@url{http://www.gnu.org/software/emacs/manual/emacs.html}.
+@end ifhtml
+@ifnothtml
+@xref{Top, Emacs Manual,,emacs}.
+@end ifnothtml
+@end ifset
+@ifclear WWW_GNU_ORG
+@xref{Top, Emacs Manual,,emacs}.
+@end ifclear
+
+@item
+@ifset WWW_GNU_ORG
+@ifhtml
+the Emacs Lisp Reference Manual
+@url{http://www.gnu.org/software/emacs/manual/elisp.html}.
+@end ifhtml
+@ifnothtml
+@xref{Top, Emacs Lisp Reference Manual,,elisp}.
+@end ifnothtml
+@end ifset
+@ifclear WWW_GNU_ORG
+@xref{Top, Emacs Lisp Reference Manual,,elisp}.
+@end ifclear
+
+@item
+@url{http://www.gnu.org/software/emacs}
+
+@item
+@url{http://www.emacswiki.org/}
+@end itemize
+
+@menu
+* Coding Standards:: Gnu Emacs coding standards
+* Copyright Assignment:: assigning copyright to the FSF
+@end menu
-For more information on how to contribute, see the
+@node Coding Standards
+@subsection Coding Standards
+@cindex coding standards
+
+Contributed code should follow the GNU Coding Standards
+@url{http://www.gnu.org/prep/standards/}. This may also be available
+in info on your system.
+
+If it doesn't, we'll need to find someone to fix the code before we
+can use it.
+
+Emacs has additional style and coding conventions:
+
+@itemize
+@item
@ifset WWW_GNU_ORG
@ifhtml
-@url{http://gnu.org/software/emacs/CONTRIBUTE, etc/CONTRIBUTE}
+the "Tips" Appendix in the Emacs Lisp Reference
+@url{http://www.gnu.org/software/emacs/manual/html_node/elisp/Tips.html}.
@end ifhtml
@ifnothtml
-@file{etc/CONTRIBUTE}
+@xref{Tips, "Tips" Appendix in the Emacs Lisp Reference, Tips
+Appendix, elisp, Emacs Lisp Reference}.
@end ifnothtml
@end ifset
@ifclear WWW_GNU_ORG
-@file{etc/CONTRIBUTE}
+@xref{Tips, "Tips" Appendix in the Emacs Lisp Reference, Tips
+Appendix, elisp, Emacs Lisp Reference}.
@end ifclear
-file in the Emacs distribution.
+
+@item
+Avoid using @code{defadvice} or @code{eval-after-load} for Lisp code
+to be included in Emacs.
+
+@item
+Remove all trailing whitespace in all source and text files.
+
+@item
+Emacs has no convention on whether to use tabs in source code; please
+don't change whitespace in the files you edit.
+
+@item
+Use @code{?\s} instead of @code{? } in Lisp code for a space character.
+
+@end itemize
+
+@node Copyright Assignment
+@subsection Copyright Assignment
+@cindex copyright assignment
+
+The FSF (Free Software Foundation) is the copyright holder for GNU Emacs.
+The FSF is a nonprofit with a worldwide mission to promote computer
+user freedom and to defend the rights of all free software users.
+For general information, see the website @url{http://www.fsf.org/}.
+
+Generally speaking, for non-trivial contributions to GNU Emacs we
+require that the copyright be assigned to the FSF. For the reasons
+behind this, see @url{http://www.gnu.org/licenses/why-assign.html}.
+
+Copyright assignment is a simple process. Residents of some countries
+can do it entirely electronically. We can help you get started, and
+answer any questions you may have (or point you to the people with the
+answers), at the @email{emacs-devel@@gnu.org} mailing list.
+
+(Please note: general discussion about why some GNU projects ask
+for a copyright assignment is off-topic for emacs-devel.
+See gnu-misc-discuss instead.)
+
+A copyright disclaimer is also a possibility, but we prefer an assignment.
+Note that the disclaimer, like an assignment, involves you sending
+signed paperwork to the FSF (simply saying "this is in the public domain"
+is not enough). Also, a disclaimer cannot be applied to future work, it
+has to be repeated each time you want to send something new.
+
+We can accept small changes (roughly, fewer than 15 lines) without
+an assignment. This is a cumulative limit (e.g. three separate 5 line
+patches) over all your contributions.
@node Service
@section How To Get Help with GNU Emacs
@cindex help-gnu-emacs mailing list
@cindex gnu.emacs.help newsgroup
-If you need help installing, using or changing GNU Emacs, there are two
-ways to find it:
+If you need help installing, using or changing GNU Emacs, there are
+two ways to find it:
@itemize @bullet
@item
@c This is part of the Emacs manual.
-@c Copyright (C) 2004-2014 Free Software Foundation, Inc.
+@c Copyright (C) 2004-2015 Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions.
@c
@c This file is included in emacs-xtra.texi when producing the printed
@c This is part of the Emacs manual.
-@c Copyright (C) 2004-2014 Free Software Foundation, Inc.
+@c Copyright (C) 2004-2015 Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions.
@c
@c This file is included either in vc-xtra.texi (when producing the
@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software
@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Windows
@c This is part of the Emacs manual.
-@c Copyright (C) 1987, 1993-1995, 1997, 2001-2014 Free Software
+@c Copyright (C) 1987, 1993-1995, 1997, 2001-2015 Free Software
@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node X Resources
+2014-12-31 Paul Eggert <eggert@cs.ucla.edu>
+
+ Less 'make' chatter for Emacs doc
+ * Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_GEN, am__v_GEN_)
+ (am__v_GEN_0, am__v_GEN_1): New macros, from ../../src/Makefile.in.
+ (ENVADD, $(buildinfodir)/eintr.info, emacs-lisp-intro.html):
+ Use them.
+
2014-11-09 Glenn Morris <rgm@gnu.org>
* Makefile.in (version): Remove variable.
;; coding: utf-8
;; End:
- Copyright (C) 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
### @configure_input@
-# Copyright (C) 1994-1999, 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-1999, 2001-2015 Free Software Foundation, Inc.
# This file is part of GNU Emacs.
TEXI2PDF = texi2pdf
DVIPS = dvips
-ENVADD = TEXINPUTS="$(srcdir):$(texinfodir):$(emacsdir):$(TEXINPUTS)" \
- MAKEINFO="$(MAKEINFO) $(MAKEINFO_OPTS)"
+# 'make' verbosity.
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+
+ENVADD = \
+ $(AM_V_GEN)TEXINPUTS="$(srcdir):$(texinfodir):$(emacsdir):$(TEXINPUTS)" \
+ MAKEINFO="$(MAKEINFO) $(MAKEINFO_OPTS)"
DVI_TARGETS = emacs-lisp-intro.dvi
HTML_TARGETS = emacs-lisp-intro.html
# The file name eintr must fit within 5 characters, to allow for
# -NN extensions to fit into DOS 8+3 limits without clashing.
${buildinfodir}/eintr.info: ${srcs} | ${buildinfodir}
- $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ $<
+ $(AM_V_GEN)$(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ $<
emacs-lisp-intro.dvi: ${srcs}
$(ENVADD) $(TEXI2DVI) $<
$(ENVADD) $(TEXI2PDF) $<
emacs-lisp-intro.html: ${srcs}
- $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ $<
+ $(AM_V_GEN)$(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ $<
emacs-lisp-intro.ps: emacs-lisp-intro.dvi
$(DVIPS) -o $@ $<
-Copyright (C) 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 2001-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
%%CreationDate: Wed Mar 8 14:26:58 1995
%%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu)
-% Copyright (C) 1995, 1997, 2001-2014 Free Software Foundation, Inc.
+% Copyright (C) 1995, 1997, 2001-2015 Free Software Foundation, Inc.
%
% This file is part of GNU Emacs.
%
%%CreationDate: Wed Mar 8 14:26:39 1995
%%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu)
-% Copyright (C) 1995, 1997, 2001-2014 Free Software Foundation, Inc.
+% Copyright (C) 1995, 1997, 2001-2015 Free Software Foundation, Inc.
%
% This file is part of GNU Emacs.
%
%%CreationDate: Tue Mar 14 15:09:30 1995
%%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu)
-% Copyright (C) 1995, 1997, 2001-2014 Free Software Foundation, Inc.
+% Copyright (C) 1995, 1997, 2001-2015 Free Software Foundation, Inc.
%
% This file is part of GNU Emacs.
%
%%CreationDate: Wed Mar 8 14:25:41 1995
%%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu)
-% Copyright (C) 1995, 1997, 2001-2014 Free Software Foundation, Inc.
+% Copyright (C) 1995, 1997, 2001-2015 Free Software Foundation, Inc.
%
% This file is part of GNU Emacs.
%
%%CreationDate: Wed Mar 8 14:25:06 1995
%%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu)
-% Copyright (C) 1995, 1997, 2001-2014 Free Software Foundation, Inc.
+% Copyright (C) 1995, 1997, 2001-2015 Free Software Foundation, Inc.
%
% This file is part of GNU Emacs.
%
%%CreationDate: Wed Mar 8 14:27:28 1995
%%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu)
-% Copyright (C) 1995, 1997, 2001-2014 Free Software Foundation, Inc.
+% Copyright (C) 1995, 1997, 2001-2015 Free Software Foundation, Inc.
%
% This file is part of GNU Emacs.
%
%%EndComments
%%BeginProlog
-% Copyright (C) 2001-2014 Free Software Foundation, Inc.
+% Copyright (C) 2001-2015 Free Software Foundation, Inc.
%
% This file is part of GNU Emacs.
%
Distributed with Emacs version @value{EMACSVER}.
@end ifnottex
@sp 1
-Copyright @copyright{} 1990--1995, 1997, 2001--2014 Free Software
+Copyright @copyright{} 1990--1995, 1997, 2001--2015 Free Software
Foundation, Inc.
@sp 1
%%CreationDate: Wed Mar 8 14:31:53 1995
%%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu)
-% Copyright (C) 1995, 1997, 2001-2014 Free Software Foundation, Inc.
+% Copyright (C) 1995, 1997, 2001-2015 Free Software Foundation, Inc.
%
% This file is part of GNU Emacs.
%
%%CreationDate: Wed Mar 8 14:33:09 1995
%%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu)
-% Copyright (C) 1995, 1997, 2001-2014 Free Software Foundation, Inc.
+% Copyright (C) 1995, 1997, 2001-2015 Free Software Foundation, Inc.
%
% This file is part of GNU Emacs.
%
%%CreationDate: Wed Mar 8 14:33:49 1995
%%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu)
-% Copyright (C) 1995, 1997, 2001-2014 Free Software Foundation, Inc.
+% Copyright (C) 1995, 1997, 2001-2015 Free Software Foundation, Inc.
%
% This file is part of GNU Emacs.
%
#### -*- Makefile -*- for the Emacs Lisp Introduction manual.
-# Copyright (C) 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003-2015 Free Software Foundation, Inc.
# This file is part of GNU Emacs.
+2015-01-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ batch write-region no longer says "Wrote FOO"
+ * files.texi (Writing to Files): Document this.
+
+2014-12-31 Paul Eggert <eggert@cs.ucla.edu>
+
+ Less 'make' chatter for Emacs doc
+ * Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_GEN, am__v_GEN_)
+ (am__v_GEN_0, am__v_GEN_1): New macros, from ../../src/Makefile.in.
+ (ENVADD, $(buildinfodir)/elisp.info, elisp.html):
+ Use them.
+
+2014-12-30 Martin Rudalics <rudalics@gmx.at>
+
+ * display.texi (Temporary Displays): Amend description of
+ `with-temp-buffer-window'. Add descriptions for
+ `with-current-buffer-window', `with-displayed-buffer-window' and
+ `temp-buffer-resize-mode', `temp-buffer-max-height' and
+ `temp-buffer-max-width'.
+
+2014-12-29 Paul Eggert <eggert@cs.ucla.edu>
+
+ * os.texi (System Environment): Update for system-name changes.
+
+2014-12-27 Glenn Morris <rgm@gnu.org>
+
+ * control.texi (Pattern matching case statement):
+ * os.texi (Desktop Notifications):
+ * modes.texi (Defining Minor Modes, SMIE Lexer): Markup fixes.
+
+2014-12-27 Eli Zaretskii <eliz@gnu.org>
+
+ * windows.texi (Recombining Windows): Index subject of sections.
+
+ * variables.texi (Variables with Restricted Values)
+ (Generalized Variables): Index subject of sections.
+
+ * text.texi (Buffer Contents, Examining Properties)
+ (Changing Properties, Property Search, Substitution): Index
+ subject of sections.
+
+ * syntax.texi (Motion and Syntax, Parsing Expressions)
+ (Motion via Parsing, Position Parse, Control Parsing): Index
+ subject of sections.
+
+ * strings.texi (Predicates for Strings, Creating Strings)
+ (Modifying Strings, Text Comparison): Index subject of sections.
+
+ * searching.texi (Syntax of Regexps, Regexp Special)
+ (Regexp Functions, Regexp Functions): Index subject of sections.
+
+ * processes.texi (Subprocess Creation, Process Information): Index
+ subject of sections.
+
+ * positions.texi (Screen Lines): Index subject of sections.
+
+ * nonascii.texi (Scanning Charsets, Specifying Coding Systems):
+ Index subject of sections.
+
+ * minibuf.texi (Text from Minibuffer, Object from Minibuffer)
+ (Multiple Queries, Minibuffer Contents): Index subject of
+ sections.
+
+ * markers.texi (Predicates on Markers, Creating Markers)
+ (Information from Markers, Moving Markers): Index subject of
+ sections.
+
+ * macros.texi (Defining Macros, Problems with Macros): Index
+ subject of sections.
+
+ * loading.texi (Loading Non-ASCII, Where Defined): Index subject
+ of sections.
+
+ * lists.texi (List-related Predicates, List Variables, Setcar)
+ (Setcdr, Plist Access): Index subject of sections.
+
+ * keymaps.texi (Controlling Active Maps, Scanning Keymaps)
+ (Modifying Menus): Index subject of sections.
+
+ * help.texi (Accessing Documentation, Help Functions): Index
+ subject of sections.
+
+ * hash.texi (Hash Access): Index subject of sections.
+
+ * functions.texi (Core Advising Primitives)
+ (Advising Named Functions, Porting old advices): Index subject of
+ sections.
+
+ * frames.texi (Creating Frames, Initial Parameters)
+ (Position Parameters, Buffer Parameters, Minibuffers and Frames)
+ (Pop-Up Menus, Drag and Drop): Index subject of sections.
+
+ * files.texi (Visiting Functions, Kinds of Files)
+ (Unique File Names): Index subject of sections.
+
+ * display.texi (Refresh Screen, Echo Area Customization)
+ (Warning Variables, Warning Options, Delayed Warnings)
+ (Temporary Displays, Managing Overlays, Overlay Properties)
+ (Finding Overlays, Size of Displayed Text, Defining Faces)
+ (Attribute Functions, Displaying Faces, Face Remapping)
+ (Basic Faces, Font Lookup, Fontsets, Replacing Specs)
+ (Defining Images, Showing Images): Index subject of sections.
+
+ * debugging.texi (Debugging, Explicit Debug)
+ (Invoking the Debugger, Excess Open, Excess Close): Index subject
+ of sections.
+
+ * customize.texi (Defining New Types, Applying Customizations)
+ (Custom Themes): Index subject of sections.
+
+ * control.texi (Sequencing, Combining Conditions)
+ (Processing of Errors, Cleanups): Index subject of sections.
+
+ * compile.texi (Eval During Compile): Index subject of sections.
+
+ * commands.texi (Using Interactive, Distinguish Interactive)
+ (Command Loop Info, Classifying Events, Event Mod)
+ (Invoking the Input Method): Index subject of sections.
+
+ * buffers.texi (Buffer List, Buffer Gap): Index subject of sections.
+
+ * backups.texi (Making Backups, Numbered Backups, Backup Names)
+ (Reverting): Index subject of sections.
+
+ * abbrevs.texi (Abbrev Tables, Defining Abbrevs, Abbrev Files)
+ (Abbrev Expansion, Standard Abbrev Tables, Abbrev Properties)
+ (Abbrev Table Properties): Index subject of sections.
+
+ * os.texi (Time of Day, Time Conversion, Time Parsing)
+ (Time Calculations, Idle Timers): Index subject of sections.
+
+2014-12-25 Martin Rudalics <rudalics@gmx.at>
+
+ * windows.texi (Windows): Resync @menu order with @node order.
+
+ * minibuf.texi (Minibuffer Windows): Add descriptions of
+ `resize-mini-windows' and `max-mini-window-height'.
+
+2014-12-25 Glenn Morris <rgm@gnu.org>
+
+ * windows.texi (Windows): Sync @menu order with @node order.
+
+ * sequences.texi (Sequence Functions): Copyedits.
+
+ * control.texi (Pattern matching case statement):
+ * positions.texi (List Motion):
+ * streams.texi (Output Functions):
+ * strings.texi (Text Comparison):
+ * text.texi (Document Object Model): Markup fixes.
+
2014-12-22 Paul Eggert <eggert@cs.ucla.edu>
Remove obsolete references to pre-C99 builds
* display.texi (Low-Level Font): Document font-info and query-font.
+2014-12-18 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * display.texi (Forcing Redisplay): Remove references to
+ redisplay-dont-pause and redisplay-preemption-period (which doesn't
+ even exist).
+
2014-12-16 Nicolas Petton <petton.nicolas@gmail.com>
* sequences.texi (Seq Library): Add documentation for seq.el.
;; coding: utf-8
;; End:
- Copyright (C) 1998-2014 Free Software Foundation, Inc.
+ Copyright (C) 1998-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
### @configure_input@
-# Copyright (C) 1990-1996, 1998-2014 Free Software Foundation, Inc.
+# Copyright (C) 1990-1996, 1998-2015 Free Software Foundation, Inc.
# This file is part of GNU Emacs.
TEXI2PDF = texi2pdf
DVIPS = dvips
-ENVADD = TEXINPUTS="$(srcdir):$(texinfodir):$(emacsdir):$(TEXINPUTS)" \
- MAKEINFO="$(MAKEINFO) $(MAKEINFO_OPTS)"
+# 'make' verbosity.
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+
+ENVADD = \
+ $(AM_V_GEN)TEXINPUTS="$(srcdir):$(texinfodir):$(emacsdir):$(TEXINPUTS)" \
+ MAKEINFO="$(MAKEINFO) $(MAKEINFO_OPTS)"
DVI_TARGETS = elisp.dvi
HTML_TARGETS = elisp.html
${MKDIR_P} $@
$(buildinfodir)/elisp.info: $(srcs) | ${buildinfodir}
- $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ $<
+ $(AM_V_GEN)$(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ $<
elisp.dvi: $(srcs)
$(ENVADD) $(TEXI2DVI) $<
elisp.html: $(srcs)
- $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ $<
+ $(AM_V_GEN)$(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ $<
elisp.pdf: $(srcs)
$(ENVADD) $(TEXI2PDF) $<
-Copyright (C) 2001-2014 Free Software Foundation, Inc. -*- outline -*-
+Copyright (C) 2001-2015 Free Software Foundation, Inc. -*- outline -*-
See the end of the file for license conditions.
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1994, 1999, 2001-2014 Free Software Foundation,
+@c Copyright (C) 1990-1994, 1999, 2001-2015 Free Software Foundation,
@c Inc.
@c See the file elisp.texi for copying conditions.
@node Abbrevs
@node Abbrev Tables
@section Abbrev Tables
+@cindex abbrev tables
This section describes how to create and manipulate abbrev tables.
@node Defining Abbrevs
@section Defining Abbrevs
+@cindex defining abbrevs
@code{define-abbrev} is the low-level basic function for defining an
abbrev in an abbrev table.
@node Abbrev Files
@section Saving Abbrevs in Files
+@cindex save abbrevs in files
A file of saved abbrev definitions is actually a file of Lisp code.
The abbrevs are saved in the form of a Lisp program to define the same
@node Abbrev Expansion
@section Looking Up and Expanding Abbreviations
+@cindex looking up abbrevs
+@cindex expanding abbrevs
+@cindex abbrevs, looking up and expanding
Abbrevs are usually expanded by certain interactive commands,
including @code{self-insert-command}. This section describes the
@node Standard Abbrev Tables
@section Standard Abbrev Tables
+@cindex standard abbrev tables
Here we list the variables that hold the abbrev tables for the
preloaded major modes of Emacs.
@node Abbrev Properties
@section Abbrev Properties
+@cindex abbrev properties
Abbrevs have properties, some of which influence the way they work.
You can provide them as arguments to @code{define-abbrev}, and
@node Abbrev Table Properties
@section Abbrev Table Properties
+@cindex abbrev table properties
Like abbrevs, abbrev tables have properties, some of which influence
the way they work. You can provide them as arguments to
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1999, 2002-2014 Free Software Foundation, Inc.
+@c Copyright (C) 1999, 2002-2015 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@c This node must have no pointers.
\input texinfo @c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 2001-2014 Free Software Foundation, Inc.
+@c Copyright (C) 2001-2015 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@c
@c %**start of header
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1999, 2001-2014 Free Software Foundation,
+@c Copyright (C) 1990-1995, 1999, 2001-2015 Free Software Foundation,
@c Inc.
@c See the file elisp.texi for copying conditions.
@node Backups and Auto-Saving
@node Making Backups
@subsection Making Backup Files
+@cindex making backup files
@defun backup-buffer
This function makes a backup of the file visited by the current
@node Numbered Backups
@subsection Making and Deleting Numbered Backup Files
+@cindex numbered backups
If a file's name is @file{foo}, the names of its numbered backup
versions are @file{foo.~@var{v}~}, for various integers @var{v}, like
@node Backup Names
@subsection Naming Backup Files
+@cindex naming backup files
The functions in this section are documented mainly because you can
customize the naming conventions for backup files by redefining them.
@node Reverting
@section Reverting
+@cindex reverting buffers
If you have made extensive changes to a file and then change your mind
about them, you can get rid of them by reading in the previous version
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2015 Free Software
@c Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node Buffers
@node Buffer List
@section The Buffer List
@cindex buffer list
+@cindex listing all buffers
The @dfn{buffer list} is a list of all live buffers. The order of the
buffers in this list is based primarily on how recently each buffer has
@node Buffer Gap
@section The Buffer Gap
+@cindex buffer gap
Emacs buffers are implemented using an invisible @dfn{gap} to make
insertion and deletion faster. Insertion works by filling in part of
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2015 Free Software
@c Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node Command Loop
@node Using Interactive
@subsection Using @code{interactive}
@cindex arguments, interactive entry
+@cindex interactive spec, using
This section describes how to write the @code{interactive} form that
makes a Lisp function an interactively-callable command, and how to
@node Distinguish Interactive
@section Distinguish Interactive Calls
+@cindex distinguish interactive calls
+@cindex is this call interactive
Sometimes a command should display additional visual feedback (such
as an informative message in the echo area) for interactive calls
@node Command Loop Info
@section Information from the Command Loop
+@cindex command loop variables
The editor command loop sets several Lisp variables to keep status
records for itself and for commands that are run. With the exception of
@node Classifying Events
@subsection Classifying Events
@cindex event type
+@cindex classifying events
Every event has an @dfn{event type}, which classifies the event for
key binding purposes. For a keyboard event, the event type equals the
@node Event Mod
@subsection Modifying and Translating Input Events
+@cindex modifiers of events
+@cindex translating input events
+@cindex event translation
Emacs modifies every event it reads according to
@code{extra-keyboard-modifiers}, then translates it through
@node Invoking the Input Method
@subsection Invoking the Input Method
+@cindex invoking input method
The event-reading functions invoke the current input method, if any
(@pxref{Input Methods}). If the value of @code{input-method-function}
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1994, 2001-2014 Free Software Foundation, Inc.
+@c Copyright (C) 1990-1994, 2001-2015 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node Byte Compilation
@chapter Byte Compilation
@node Eval During Compile
@section Evaluation During Compilation
+@cindex eval during compilation
These features permit you to write code to be evaluated during
compilation of a program.
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2015 Free Software
@c Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node Control Structures
@node Sequencing
@section Sequencing
+@cindex sequencing
+@cindex sequential execution
Evaluating forms in the order they appear is the most common way
control passes from one form to another. In some contexts, such as in a
More specifically, a Q-pattern can take the following forms:
@table @code
@item (@var{qpattern1} . @var{qpattern2})
-This pattern matches any cons cell whose @code{car} matches @var{QPATTERN1} and
-whose @code{cdr} matches @var{PATTERN2}.
-@item [@var{qpattern1 qpattern2..qpatternm}]
-This pattern matches a vector of length @code{M} whose 0..(M-1)th
-elements match @var{QPATTERN1}, @var{QPATTERN2}..@var{QPATTERNm},
+This pattern matches any cons cell whose @code{car} matches @var{qpattern1} and
+whose @code{cdr} matches @var{pattern2}.
+@item [@var{qpattern1} @var{qpattern2} @dots{} @var{qpatternm}]
+This pattern matches a vector of length @var{M} whose 0..(@var{M}-1)th
+elements match @var{qpattern1}, @var{qpattern2} @dots{} @var{qpatternm},
respectively.
@item @var{atom}
This pattern matches any atom @code{equal} to @var{atom}.
@node Combining Conditions
@section Constructs for Combining Conditions
+@cindex combining conditions
This section describes three constructs that are often used together
with @code{if} and @code{cond} to express complicated conditions. The
@node Processing of Errors
@subsubsection How Emacs Processes Errors
+@cindex processing of errors
When an error is signaled, @code{signal} searches for an active
@dfn{handler} for the error. A handler is a sequence of Lisp
@node Cleanups
@subsection Cleaning Up from Nonlocal Exits
+@cindex nonlocal exits, cleaning up
The @code{unwind-protect} construct is essential whenever you
temporarily put a data structure in an inconsistent state; it permits
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1997-2014 Free Software Foundation, Inc.
+@c Copyright (C) 1997-2015 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node Customization
@chapter Customization Settings
@node Defining New Types
@subsection Defining New Types
+@cindex customization types, define new
+@cindex define new customization types
In the previous sections we have described how to construct elaborate
type specifications for @code{defcustom}. In some cases you may want
@node Applying Customizations
@section Applying Customizations
+@cindex applying customizations
The following functions are responsible for installing the user's
customization settings for variables and faces, respectively. When
@node Custom Themes
@section Custom Themes
+@cindex custom themes
@dfn{Custom themes} are collections of settings that can be enabled
or disabled as a unit. @xref{Custom Themes,,, emacs, The GNU Emacs
Manual}. Each Custom theme is defined by an Emacs Lisp source file,
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1994, 1998-1999, 2001-2014 Free Software
+@c Copyright (C) 1990-1994, 1998-1999, 2001-2015 Free Software
@c Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node Debugging
@chapter Debugging Lisp Programs
+@cindex debugging lisp programs
There are several ways to find and investigate problems in an Emacs
Lisp program.
@node Explicit Debug
@subsection Explicit Entry to the Debugger
+@cindex debugger, explicit entry
+@cindex force entry to debugger
You can cause the debugger to be called at a certain point in your
program by writing the expression @code{(debug)} at that point. To do
@node Invoking the Debugger
@subsection Invoking the Debugger
+@cindex invoking lisp debugger
Here we describe in full detail the function @code{debug} that is used
to invoke the debugger.
@node Excess Open
@subsection Excess Open Parentheses
+@cindex excess open parentheses
The first step is to find the defun that is unbalanced. If there is
an excess open parenthesis, the way to do this is to go to the end of
@node Excess Close
@subsection Excess Close Parentheses
+@cindex excess close parentheses
To deal with an excess close parenthesis, first go to the beginning
of the file, then type @kbd{C-u -1 C-M-u} to find the end of the first
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-2014 Free Software Foundation, Inc.
+@c Copyright (C) 1990-1995, 1998-2015 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node Display
@chapter Emacs Display
@node Refresh Screen
@section Refreshing the Screen
+@cindex refresh the screen
+@cindex screen refresh
The function @code{redraw-frame} clears and redisplays the entire
contents of a given frame (@pxref{Frames}). This is useful if the
@defun redisplay &optional force
This function tries immediately to redisplay. The optional argument
@var{force}, if non-@code{nil}, forces the redisplay to be performed,
-instead of being preempted, even if input is pending and the variable
-@code{redisplay-dont-pause} is @code{nil} (see below). If
-@code{redisplay-dont-pause} is non-@code{nil} (the default), this
-function redisplays in any case, i.e., @var{force} does nothing.
+instead of being preempted if input is pending.
The function returns @code{t} if it actually tried to redisplay, and
@code{nil} otherwise. A value of @code{t} does not mean that
newly arriving input.
@end defun
-@defvar redisplay-dont-pause
-If this variable is @code{nil}, arriving input events preempt
-redisplay; Emacs avoids starting a redisplay, and stops any redisplay
-that is in progress, until the input has been processed. In
-particular, @code{(redisplay)} returns @code{nil} without actually
-redisplaying, if there is pending input.
-
-The default value is @code{t}, which means that pending input does not
-preempt redisplay.
-@end defvar
-
-@defvar redisplay-preemption-period
-If @code{redisplay-dont-pause} is @code{nil}, this variable specifies
-how many seconds Emacs waits between checks for new input during
-redisplay; if input arrives during this interval, redisplay stops and
-the input is processed. The default value is 0.1; if the value is
-@code{nil}, Emacs does not check for input during redisplay.
-
-This variable has no effect when @code{redisplay-dont-pause} is
-non-@code{nil} (the default).
-@end defvar
-
@defvar pre-redisplay-function
A function run just before redisplay. It is called with one argument,
the set of windows to redisplay.
@node Echo Area Customization
@subsection Echo Area Customization
+@cindex echo area customization
These variables control details of how the echo area works.
@node Warning Variables
@subsection Warning Variables
+@cindex warning variables
Programs can customize how their warnings appear by binding
the variables described in this section.
@node Warning Options
@subsection Warning Options
+@cindex warning options
These variables are used by users to control what happens
when a Lisp program reports a warning.
@node Delayed Warnings
@subsection Delayed Warnings
+@cindex delayed warnings
Sometimes, you may wish to avoid showing a warning while a command is
running, and only show it only after the end of the command. You can
@node Temporary Displays
@section Temporary Displays
+@cindex temporary display
+@cindex temporary buffer display
Temporary displays are used by Lisp programs to put output into a
buffer and then present it to the user for perusal rather than for
buffer in some window. Unlike @code{with-output-to-temp-buffer},
however, it does not automatically switch that buffer to Help mode.
-Like @code{with-output-to-temp-buffer} it neither makes the buffer
-specified by @var{buffer-or-name} current when executing @var{body}.
-@findex with-current-buffer-window
-The otherwise identical macro @code{with-current-buffer-window} can be
-used to execute @var{body} with that buffer current.
-
The argument @var{buffer-or-name} specifies the temporary buffer. It
can be either a buffer, which must already exist, or a string, in which
case a buffer of that name is created, if necessary. The buffer is
exits.
This macro does not call @code{temp-buffer-show-function}. Rather, it
-passes the @var{action} argument to @code{display-buffer} in order to
-display the buffer.
+passes the @var{action} argument to @code{display-buffer}
+(@pxref{Choosing Window}) in order to display the buffer.
The value of the last form in @var{body} is returned, unless the
argument @var{quit-function} is specified. In that case, it is called
with two arguments: the window showing the buffer and the result of
-@var{body}. The final return value is then whatever
-@var{quit-function} returns.
+@var{body}. The final return value is then whatever @var{quit-function}
+returns.
@vindex temp-buffer-window-setup-hook
@vindex temp-buffer-window-show-hook
run by @code{with-output-to-temp-buffer}.
@end defmac
+The two constructs described next are mostly identical to
+@code{with-temp-buffer-window} but differ from it as specified:
+
+@defmac with-current-buffer-window buffer-or-name action quit-function &rest body
+This macro is like @code{with-temp-buffer-window} but unlike that makes
+the buffer specified by @var{buffer-or-name} current for running
+@var{body}.
+@end defmac
+
+@defmac with-displayed-buffer-window buffer-or-name action quit-function &rest body
+This macro is like @code{with-current-buffer-window} but unlike that
+displays the buffer specified by @var{buffer-or-name} @emph{before}
+running @var{body}.
+@end defmac
+
+A window showing a temporary buffer can be fit to the size of that
+buffer using the following mode:
+
+@defopt temp-buffer-resize-mode
+When this minor mode is enabled, windows showing a temporary buffer are
+automatically resized to fit their buffer's contents.
+
+A window is resized if and only if it has been specially created for the
+buffer. In particular, windows that have shown another buffer before
+are not resized. By default, this mode uses @code{fit-window-to-buffer}
+(@pxref{Resizing Windows}) for resizing. You can specify a different
+function by customizing the options @code{temp-buffer-max-height} and
+@code{temp-buffer-max-width} below.
+@end defopt
+
+@defopt temp-buffer-max-height
+This option specifies the maximum height (in lines) of a window
+displaying a temporary buffer when @code{temp-buffer-resize-mode} is
+enabled. It can also be a function to be called to choose the height
+for such a buffer. It gets one argument, the buffer, and should return
+a positive integer. At the time the function is called, the window to
+be resized is selected.
+@end defopt
+
+@defopt temp-buffer-max-width
+This option specifies the maximum width of a window (in columns)
+displaying a temporary buffer when @code{temp-buffer-resize-mode} is
+enabled. It can also be a function to be called to choose the width for
+such a buffer. It gets one argument, the buffer, and should return a
+positive integer. At the time the function is called, the window to be
+resized is selected.
+@end defopt
+
+The following function uses the current buffer for temporal display:
+
@defun momentary-string-display string position &optional char message
This function momentarily displays @var{string} in the current buffer at
@var{position}. It has no effect on the undo list or on the buffer's
@node Managing Overlays
@subsection Managing Overlays
+@cindex managing overlays
+@cindex overlays, managing
This section describes the functions to create, delete and move
overlays, and to examine their contents. Overlay changes are not
@node Overlay Properties
@subsection Overlay Properties
+@cindex overlay properties
Overlay properties are like text properties in that the properties that
alter how a character is displayed can come from either source. But in
@node Finding Overlays
@subsection Searching for Overlays
+@cindex searching for overlays
+@cindex overlays, searching for
@defun overlays-at pos &optional sorted
This function returns a list of all the overlays that cover the character at
@node Size of Displayed Text
@section Size of Displayed Text
+@cindex size of text on display
+@cindex character width on display
Since not all characters have the same width, these functions let you
check the width of a character. @xref{Primitive Indent}, and
@node Defining Faces
@subsection Defining Faces
+@cindex defining faces
@cindex face spec
The usual way to define a face is through the @code{defface} macro.
@node Attribute Functions
@subsection Face Attribute Functions
+@cindex face attributes, access and modification
This section describes functions for directly accessing and
modifying the attributes of a named face.
@node Displaying Faces
@subsection Displaying Faces
+@cindex displaying faces
+@cindex face merging
When Emacs displays a given piece of text, the visual appearance of
the text may be determined by faces drawn from different sources. If
@node Face Remapping
@subsection Face Remapping
+@cindex face remapping
The variable @code{face-remapping-alist} is used for buffer-local or
global changes in the appearance of a face. For instance, it is used
@node Basic Faces
@subsection Basic Faces
+@cindex basic faces
If your Emacs Lisp program needs to assign some faces to text, it is
often a good idea to use certain existing faces or inherit from them,
@node Font Lookup
@subsection Looking Up Fonts
+@cindex font lookup
+@cindex looking up fonts
@defun x-list-fonts name &optional reference-face frame maximum width
This function returns a list of available font names that match
@node Fontsets
@subsection Fontsets
+@cindex fontset
A @dfn{fontset} is a list of fonts, each assigned to a range of
character codes. An individual font cannot display the whole range of
@node Replacing Specs
@subsection Display Specs That Replace The Text
+@cindex replacing display specs
Some kinds of display specifications specify something to display
instead of the text that has the property. These are called
@node Defining Images
@subsection Defining Images
+@cindex define image
The functions @code{create-image}, @code{defimage} and
@code{find-image} provide convenient ways to create image descriptors.
@node Showing Images
@subsection Showing Images
+@cindex show image
You can use an image descriptor by setting up the @code{display}
property yourself, but it is easier to use the functions in this
@comment -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1992-1994, 1998-1999, 2001-2014 Free Software
+@c Copyright (C) 1992-1994, 1998-1999, 2001-2015 Free Software
@c Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@end ifnottex
corresponding to Emacs version @value{EMACSVER}.
-Copyright @copyright{} 1990--1996, 1998--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 1990--1996, 1998--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1993, 1999, 2001-2014 Free Software Foundation,
+@c Copyright (C) 1990-1993, 1999, 2001-2015 Free Software Foundation,
@c Inc.
@c See the file elisp.texi for copying conditions.
@node Standard Errors
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1994, 1998, 2001-2014 Free Software Foundation,
+@c Copyright (C) 1990-1994, 1998, 2001-2015 Free Software Foundation,
@c Inc.
@c See the file elisp.texi for copying conditions.
@node Evaluation
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2015 Free Software
@c Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node Files
@node Visiting Functions
@subsection Functions for Visiting Files
+@cindex visiting files, functions for
+@cindex how to visit files
This section describes the functions normally used to visit files.
For historical reasons, these functions have names starting with
@xref{Format Conversion}.
Normally, @code{write-region} displays the message @samp{Wrote
-@var{filename}} in the echo area. If @var{visit} is neither @code{t}
-nor @code{nil} nor a string, then this message is inhibited. This
+@var{filename}} in the echo area. This message is inhibited if
+@var{visit} is neither @code{t} nor @code{nil} nor a string, or if
+Emacs is operating in batch mode (@pxref{Batch Mode}). This
feature is useful for programs that use files for internal purposes,
files that the user does not need to know about.
@end deffn
@node Kinds of Files
@subsection Distinguishing Kinds of Files
+@cindex file classification
+@cindex classification of file types
This section describes how to distinguish various kinds of files, such
as directories, symbolic links, and ordinary files.
@node Unique File Names
@subsection Generating Unique File Names
+@cindex unique file names
+@cindex temporary files
Some programs need to write temporary files. Here is the usual way to
construct a name for such a file:
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2015 Free Software
@c Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node Frames
@node Creating Frames
@section Creating Frames
+@cindex frame creation
To create a new frame, call the function @code{make-frame}.
@node Initial Parameters
@subsection Initial Frame Parameters
+@cindex parameters of initial frame
You can specify the parameters for the initial startup frame by
setting @code{initial-frame-alist} in your init file (@pxref{Init
@node Position Parameters
@subsubsection Position Parameters
@cindex window position on display
+@cindex frame position
Position parameters' values are normally measured in pixels, but on
text terminals they count characters or lines instead.
@node Buffer Parameters
@subsubsection Buffer Parameters
+@cindex frame, which buffers to display
+@cindex buffers to display on frame
These frame parameters, meaningful on all kinds of terminals, deal
with which buffers have been, or should, be displayed in the frame.
you can get it with @code{minibuffer-window} (@pxref{Definition of
minibuffer-window}).
+@cindex frame without a minibuffer
However, you can also create a frame with no minibuffer. Such a frame
must use the minibuffer window of some other frame. When you create the
frame, you can explicitly specify the minibuffer window to use (in some
@node Pop-Up Menus
@section Pop-Up Menus
+@cindex menus, popup
A Lisp program can pop up a menu so that the user can choose an
alternative with the mouse. On a text terminal, if the mouse is not
@node Drag and Drop
@section Drag and Drop
+@cindex drag and drop
@vindex x-dnd-test-function
@vindex x-dnd-known-types
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2015 Free Software
@c Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node Functions
@end menu
@node Core Advising Primitives
-@subsection Primitives to manipulate advice
+@subsection Primitives to manipulate advices
+@cindex advice, add and remove
@defmac add-function where place function &optional props
This macro is the handy way to add the advice @var{function} to the function
@node Advising Named Functions
@subsection Advising Named Functions
+@cindex advising named functions
A common use of advice is for named functions and macros.
You could just use @code{add-function} as in:
@node Porting old advice
@subsection Adapting code using the old defadvice
+@cindex old advices, porting
A lot of code uses the old @code{defadvice} mechanism, which is largely made
obsolete by the new @code{advice-add}, whose implementation and semantics is
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1999, 2001-2014 Free Software Foundation, Inc.
+@c Copyright (C) 1999, 2001-2015 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node Hash Tables
@chapter Hash Tables
@node Hash Access
@section Hash Table Access
+@cindex accessing hash tables
+@cindex hash table access
This section describes the functions for accessing and storing
associations in a hash table. In general, any Lisp object can be used
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2015 Free Software
@c Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node Documentation
@node Accessing Documentation
@section Access to Documentation Strings
+@cindex accessing documentation strings
@defun documentation-property symbol property &optional verbatim
This function returns the documentation string recorded in
@node Help Functions
@section Help Functions
+@cindex help functions
Emacs provides a variety of built-in help functions, all accessible to
the user as subcommands of the prefix @kbd{C-h}. For more information
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1993, 1998, 2001-2014 Free Software Foundation, Inc.
+@c Copyright (C) 1990-1993, 1998, 2001-2015 Free Software Foundation,
+@c Inc.
@c See the file elisp.texi for copying conditions.
@node Standard Hooks
@appendix Standard Hooks
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1993, 1998-1999, 2001-2014 Free Software
+@c Copyright (C) 1990-1993, 1998-1999, 2001-2015 Free Software
@c Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node GNU Emacs Internals
@c -*-coding: utf-8-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1994, 2001-2014 Free Software Foundation, Inc.
+@c Copyright (C) 1990-1994, 2001-2015 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node Introduction
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1994, 1998-2014 Free Software Foundation, Inc.
+@c Copyright (C) 1990-1994, 1998-2015 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node Keymaps
@chapter Keymaps
@node Controlling Active Maps
@section Controlling the Active Keymaps
+@cindex active keymap, controlling
@defvar global-map
This variable contains the default global keymap that maps Emacs
@node Scanning Keymaps
@section Scanning Keymaps
+@cindex scanning keymaps
+@cindex keymaps, scanning
This section describes functions used to scan all the current keymaps
for the sake of printing help information.
@node Modifying Menus
@subsection Modifying Menus
+@cindex menu modification
When you insert a new item in an existing menu, you probably want to
put it in a particular place among the menu's existing items. If you
\input texinfo @c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 2001-2014 Free Software Foundation, Inc.
+@c Copyright (C) 2001-2015 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@c
@comment %**start of header
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2015 Free Software
@c Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node Lists
@node List-related Predicates
@section Predicates on Lists
+@cindex predicates for lists
+@cindex list predicates
The following predicates test whether a Lisp object is an atom,
whether it is a cons cell or is a list, or whether it is the
@node List Variables
@section Modifying List Variables
+@cindex modify a list
+@cindex list modification
These functions, and one macro, provide convenient ways
to modify a list which is stored in a variable.
@node Setcar
@subsection Altering List Elements with @code{setcar}
+@cindex replace list element
+@cindex list, replace element
Changing the @sc{car} of a cons cell is done with @code{setcar}. When
used on a list, @code{setcar} replaces one element of a list with a
@node Setcdr
@subsection Altering the CDR of a List
+@cindex replace part of list
The lowest-level primitive for modifying a @sc{cdr} is @code{setcdr}:
@node Plist Access
@subsection Property Lists Outside Symbols
+@cindex plist access
+@cindex accessing plist properties
The following functions can be used to manipulate property lists.
They all compare property names using @code{eq}.
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2015 Free Software
@c Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node Loading
@node Loading Non-ASCII
@section Loading Non-@acronym{ASCII} Characters
+@cindex loading, and non-ASCII characters
+@cindex non-ASCII characters in loaded files
When Emacs Lisp programs contain string constants with non-@acronym{ASCII}
characters, these can be represented within Emacs either as unibyte
@node Where Defined
@section Which File Defined a Certain Symbol
+@cindex symbol, where defined
+@cindex where was a symbol defined
@defun symbol-file symbol &optional type
This function returns the name of the file that defined @var{symbol}.
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998, 2001-2014 Free Software Foundation,
+@c Copyright (C) 1990-1995, 1998, 2001-2015 Free Software Foundation,
@c Inc.
@c See the file elisp.texi for copying conditions.
@node Macros
@node Defining Macros
@section Defining Macros
+@cindex defining macros
+@cindex macro, how to define
A Lisp macro object is a list whose @sc{car} is @code{macro}, and
whose @sc{cdr} is a function. Expansion of the macro works
@node Problems with Macros
@section Common Problems Using Macros
+@cindex macro caveats
Macro expansion can have counterintuitive consequences. This
section describes some important consequences that can lead to
# -*- Makefile -*- for the GNU Emacs Lisp Reference Manual.
-# Copyright (C) 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003-2015 Free Software Foundation, Inc.
# This file is part of GNU Emacs.
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1993, 1999, 2001-2014 Free Software Foundation,
+@c Copyright (C) 1990-1993, 1999, 2001-2015 Free Software Foundation,
@c Inc.
@c See the file elisp.texi for copying conditions.
@node Standard Keymaps
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2015 Free Software
@c Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node Markers
@node Predicates on Markers
@section Predicates on Markers
+@cindex predicates for markers
+@cindex markers, predicates for
You can test an object to see whether it is a marker, or whether it is
either an integer or a marker. The latter test is useful in connection
@node Creating Markers
@section Functions that Create Markers
+@cindex creating markers
+@cindex marker creation
When you create a new marker, you can make it point nowhere, or point
to the present position of point, or to the beginning or end of the
@node Information from Markers
@section Information from Markers
+@cindex marker information
This section describes the functions for accessing the components of a
marker object.
@node Moving Markers
@section Moving Marker Positions
+@cindex moving markers
+@cindex marker, how to move position
This section describes how to change the position of an existing
marker. When you do this, be sure you know whether the marker is used
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2015 Free Software
@c Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node Minibuffers
@node Text from Minibuffer
@section Reading Text Strings with the Minibuffer
+@cindex minibuffer input, reading text strings
The most basic primitive for minibuffer input is
@code{read-from-minibuffer}, which can be used to read either a string
@node Object from Minibuffer
@section Reading Lisp Objects with the Minibuffer
+@cindex minibuffer input, reading lisp objects
This section describes functions for reading Lisp objects with the
minibuffer.
@node Multiple Queries
@section Asking Multiple Y-or-N Questions
+@cindex multiple yes-or-no questions
When you have a series of similar questions to ask, such as ``Do you
want to save this buffer'' for each buffer in turn, you should use
@section Minibuffer Windows
@cindex minibuffer windows
- These functions access and select minibuffer windows
-and test whether they are active.
+These functions access and select minibuffer windows, test whether they
+are active and control how they get resized.
@defun active-minibuffer-window
This function returns the currently active minibuffer window, or
active minibuffer window.
@end defun
+The following two options control whether minibuffer windows are resized
+automatically and how large they can get in the process.
+
+@defopt resize-mini-windows
+This option specifies whether minibuffer windows are resized
+automatically. The default value is @code{grow-only}, which means that
+a minibuffer window by default expands automatically to accommodate the
+text it displays and shrinks back to one line as soon as the minibuffer
+gets empty. If the value is @code{t}, Emacs will always try to fit the
+height of a minibuffer window to the text it displays (with a minimum of
+one line). If the value is @code{nil}, a minibuffer window never
+changes size automatically. In that case the window resizing commands
+(@pxref{Resizing Windows}) can be used to adjust its height.
+@end defopt
+
+@defopt max-mini-window-height
+This option provides a maximum height for resizing minibuffer windows
+automatically. A floating-point number specifies a fraction of the
+frame's height; an integer specifies the maximum number of lines. The
+default value is 0.25.
+@end defopt
+
+
@node Minibuffer Contents
@section Minibuffer Contents
+@cindex access minibuffer contents
+@cindex minibuffer contents, accessing
These functions access the minibuffer prompt and contents.
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2015 Free Software
@c Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node Modes
disables it. From Lisp, an argument of @code{toggle} toggles the mode,
whereas an omitted or @code{nil} argument enables the mode.
This makes it easy to enable the minor mode in a major mode hook, for example.
-If @var{doc} is nil, the macro supplies a default documentation string
+If @var{doc} is @code{nil}, the macro supplies a default documentation string
explaining the above.
By default, it also defines a variable named @var{mode}, which is set to
Notice how those lexers return the empty string when in front of
parentheses. This is because SMIE automatically takes care of the
parentheses defined in the syntax table. More specifically if the lexer
-returns nil or an empty string, SMIE tries to handle the corresponding
+returns @code{nil} or an empty string, SMIE tries to handle the corresponding
text as a sexp according to syntax tables.
@node SMIE Tricks
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1998-1999, 2001-2014 Free Software Foundation, Inc.
+@c Copyright (C) 1998-1999, 2001-2015 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node Non-ASCII Characters
@chapter Non-@acronym{ASCII} Characters
@node Scanning Charsets
@section Scanning for Character Sets
+@cindex scanning for character sets
+@cindex character set, searching
Sometimes it is useful to find out which character set a particular
character belongs to. One use for this is in determining which coding
@node Specifying Coding Systems
@subsection Specifying a Coding System for One Operation
+@cindex specify coding system
+@cindex force coding system for operation
+@cindex coding system for operation
You can specify the coding system for a specific operation by binding
the variables @code{coding-system-for-read} and/or
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2015 Free Software
@c Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node Numbers
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2015 Free Software
@c Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node Lisp Data Types
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2015 Free Software
@c Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node System Interface
string.
@end defun
- The symbol @code{system-name} is a variable as well as a function. In
-fact, the function returns whatever value the variable
-@code{system-name} currently holds. Thus, you can set the variable
-@code{system-name} in case Emacs is confused about the name of your
-system. The variable is also useful for constructing frame titles
-(@pxref{Frame Titles}).
-
@c FIXME seems like this section is not the best place for this option?
@defopt mail-host-address
If this variable is non-@code{nil}, it is used instead of
@node Time of Day
@section Time of Day
+@cindex time of day
This section explains how to determine the current time and time
zone.
@node Time Conversion
@section Time Conversion
@cindex calendrical information
+@cindex time conversion
These functions convert time values (@pxref{Time of Day}) into
calendrical information and vice versa.
@node Time Parsing
@section Parsing and Formatting Times
+@cindex time parsing
+@cindex time formatting
+@cindex formatting time values
These functions convert time values to text in a string, and vice versa.
Time values are lists of two to four integers (@pxref{Time of Day}).
@node Time Calculations
@section Time Calculations
+@cindex time calculations
+@cindex comparing time values
+@cindex calendrical computations
These functions perform calendrical computations using time values
(@pxref{Time of Day}).
@node Idle Timers
@section Idle Timers
+@cindex idle timers
Here is how to set up a timer that runs when Emacs is idle for a
certain length of time. Aside from how to set them up, idle timers
The specification version the server is compliant with.
@end table
-If @var{SPEC_VERSION} is @code{nil}, the server supports a
+If @var{spec_version} is @code{nil}, the server supports a
specification prior to @samp{"1.0"}.
@end defun
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 2010-2014 Free Software Foundation, Inc.
+@c Copyright (C) 2010-2015 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node Packaging
@chapter Preparing Lisp code for distribution
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-2014 Free Software Foundation, Inc.
+@c Copyright (C) 1990-1995, 1998-2015 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node Positions
@chapter Positions
@node Screen Lines
@subsection Motion by Screen Lines
+@cindex screen lines, moving by
The line functions in the previous section count text lines, delimited
only by newline characters. By contrast, these functions count screen
@deffn Command up-list &optional arg escape-strings no-syntax-crossing
This function moves forward out of @var{arg} (default 1) levels of
parentheses. A negative argument means move backward but still to a
-less deep spot. If @var{escape-strings} is non-nil (as it is
+less deep spot. If @var{escape-strings} is non-@code{nil} (as it is
interactively), move out of enclosing strings as well. If
-@var{no-syntax-crossing} is non-nil (as it is interactively), prefer
+@var{no-syntax-crossing} is non-@code{nil} (as it is interactively), prefer
to break out of any enclosing string instead of moving to the start of
a list broken across multiple strings. On error, location of point is
unspecified.
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2015 Free Software
@c Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node Processes
@node Subprocess Creation
@section Functions that Create Subprocesses
+@cindex create subprocess
+@cindex process creation
There are three primitives that create a new subprocess in which to run
a program. One of them, @code{start-process}, creates an asynchronous
@node Process Information
@section Process Information
+@cindex process information
Several functions return information about processes.
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2015 Free Software
@c Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node Searching and Matching
@node Syntax of Regexps
@subsection Syntax of Regular Expressions
+@cindex regexp syntax
+@cindex syntax of regular expressions
Regular expressions have a syntax in which a few characters are
special constructs and the rest are @dfn{ordinary}. An ordinary
@node Regexp Special
@subsubsection Special Characters in Regular Expressions
+@cindex regexp, special characters in
Here is a list of the characters that are special in a regular
expression.
These functions operate on regular expressions.
+@cindex quote special characters in regexp
@defun regexp-quote string
This function returns a regular expression whose only exact match is
@var{string}. Using this regular expression in @code{looking-at} will
@end example
@end defun
+@cindex optimize regexp
@defun regexp-opt strings &optional paren
This function returns an efficient regular expression that will match
any of the strings in the list @var{strings}. This is useful when you
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2015 Free Software
@c Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node Sequences Arrays Vectors
@end example
@end defun
-@defun reverse seq
+@defun reverse sequence
@cindex string reverse
@cindex list reverse
@cindex vector reverse
@cindex sequence reverse
This function creates a new sequence whose elements are the elements
-of @var{seq}, but in reverse order. The original argument @var{seq}
-is @emph{not} altered. Note that char-table cannot be reversed.
+of @var{sequence}, but in reverse order. The original argument @var{sequence}
+is @emph{not} altered. Note that char-tables cannot be reversed.
@example
@group
@end example
@end defun
-@defun nreverse seq
+@defun nreverse sequence
@cindex reversing a string
@cindex reversing a list
@cindex reversing a vector
- This function reverses the order of the elements of @var{seq}.
-Unlike @code{reverse} the original @var{seq} may be modified.
+ This function reverses the order of the elements of @var{sequence}.
+Unlike @code{reverse} the original @var{sequence} may be modified.
For example:
@cindex sequence functions in seq
@cindex seq library
- The @file{seq} library provides the following additional sequence
+ The @file{seq.el} library provides the following additional sequence
manipulation macros and functions, prefixed with @code{seq-}. To use
-them, you need to load the @file{seq} library first.
+them, you must first load the @file{seq} library.
- All functions defined in the @code{seq} library are free of
-side-effects, meaning that sequence(s) passed as argument(s) to
-functions defined in @code{seq} are not modified.
+ All functions defined in this library are free of side-effects;
+i.e., they do not modify any sequence (list, vector, or string) that
+you pass as an argument. Unless otherwise stated, the result is a
+sequence of the same type as the input. For those functions that take
+a predicate, this should be a function of one argument.
-@defun seq-drop seq n
- This function returns a sequence of all but the first @var{n}
-elements of the sequence @var{seq}.
-
-@var{seq} may be a list, vector or string and @var{n} must be an
-integer. The result is the same type of sequence as @var{seq}.
-
-If @var{n} is a negative integer or zero, @var{seq} is returned.
+@defun seq-drop sequence n
+ This function returns all but the first @var{n} (an integer)
+elements of @var{sequence}. If @var{n} is negative or zero,
+the result is @var{sequence}.
@example
@group
@end example
@end defun
-@defun seq-take seq n
- This function returns a sequence of the first @var{n} elements of
-@var{seq}.
-
-@var{seq} may be a list, vector or string and @var{n} must be an
-integer. The result is the same type of sequence as @var{seq}.
-
-If @var{n} is a negative integer or zero, an empty sequence is returned.
+@defun seq-take sequence n
+ This function returns the first @var{n} (an integer) elements of
+@var{sequence}. If @var{n} is negative or zero, the result
+is @code{nil}.
@example
@group
@end example
@end defun
-@defun seq-take-while pred seq
- This function returns a sub-sequence of the successive elements of
-@var{seq} for which calling @code{pred} with that element returns
-non-nil.
-
-@var{pred} must be a one-argument function and @var{seq} may be a
-list, vector or string. The result is the same type of sequence as
-@var{seq}.
-
-If evaluating @var{pred} with the first element of @var{seq} as argument
-returns @code{nil}, an empty sequence is returned.
+@defun seq-take-while predicate sequence
+ This function returns the members of @var{sequence} in order,
+stopping before the first one for which @var{predicate} returns @code{nil}.
@example
@group
@end example
@end defun
-@defun seq-drop-while pred seq
- This function returns a sub-sequence of @var{seq} from the first
-element for which calling @var{pred} with that element returns
-@code{nil}.
-
-@var{pred} must be a one-argument function and @var{seq} may be a
-list, vector or string. The result is the same type of sequence as
-@var{seq}.
-
-If evaluating @var{pred} with every element of @var{seq} returns
-@code{nil}, @var{seq} is returned.
+@defun seq-drop-while predicate sequence
+ This function returns the members of @var{sequence} in order,
+starting from the first one for which @var{predicate} returns @code{nil}.
@example
@group
@end example
@end defun
-@defun seq-filter pred seq
+@defun seq-filter predicate sequence
@cindex filtering sequences
- This function returns a list of all the elements in @var{seq} for
-which calling @var{pred} with that element returns non-nil.
-
-@var{pred} must be a one-argument function and @var{seq} may be a
-list, vector or string.
+ This function returns a list of all the elements in @var{sequence}
+for which @var{predicate} returns non-@code{nil}.
@example
@group
@end example
@end defun
-@defun seq-remove pred seq
+@defun seq-remove predicate sequence
@cindex removing from sequences
- This function returns a list of all the elements in @var{seq} for
-which calling @var{pred} with that element returns @code{nil}.
-
-@var{pred} must be a one-argument function and @var{seq} may be a
-list, vector or string.
+ This function returns a list of all the elements in @var{sequence}
+for which @var{predicate} returns @code{nil}.
@example
@group
@end example
@end defun
-@defun seq-reduce function seq initial-value
+@defun seq-reduce function sequence initial-value
@cindex reducing sequences
This function returns the result of calling @var{function} with
-@var{initial-value} and the first element of @var{seq}, then calling
-@var{function} with that result and the second element of @var{seq},
-then with that result and the third element of @var{seq}, etc.
-
-@var{function} must be a two-arguments function and @var{seq} may be a
-list, vector or string.
-
-If @var{seq} is empty, @var{initial-value} is returned and
-@var{function} is not called.
+@var{initial-value} and the first element of @var{sequence}, then calling
+@var{function} with that result and the second element of @var{sequence},
+then with that result and the third element of @var{sequence}, etc.
+@var{function} should be a function of two arguments. If
+@var{sequence} is empty, this returns @var{initial-value} without
+calling @var{function}.
@example
@group
@end example
@end defun
-@defun seq-some-p pred seq
- This function returns any element in @var{seq} for which calling
-@var{pred} with that element returns non-nil. If successively calling
-@var{pred} with each element of @var{seq} always returns @code{nil},
-@code{nil} is returned.
-
-@var{pred} must be a one-argument function and @var{seq} may be a
-list, vector or string.
+@defun seq-some-p predicate sequence
+ This function returns the first member of sequence for which @var{predicate}
+returns non-@code{nil}.
@example
@group
@end example
@end defun
-@defun seq-every-p pred seq
- This function returns non-nil if successively calling @var{pred} with
-each element of @var{seq} always returns non-nil, @code{nil} otherwise.
-
-@var{pred} must be a one-argument function and @var{seq} may be a
-list, vector or string.
+@defun seq-every-p predicate sequence
+ This function returns non-@code{nil} if applying @var{predicate}
+to every element of @var{sequence} returns non-@code{nil}.
@example
@group
@end example
@end defun
-@defun seq-empty-p seq
- This function returns non-nil if the sequence @var{seq} is empty,
-@code{nil} otherwise.
-
-@var{seq} may be a list, vector or string.
+@defun seq-empty-p sequence
+ This function returns non-@code{nil} if @var{sequence} is empty.
@example
@group
@end example
@end defun
-@defun seq-count pred seq
- This function returns the number of elements in @var{seq} for which
-calling @var{pred} with that element returns non-nil.
-
-@var{pred} must be a one-argument function and @var{seq} may be a
-list, vector or string.
+@defun seq-count predicate sequence
+ This function returns the number of elements in @var{sequence} for which
+@var{predicate} returns non-@code{nil}.
@example
(seq-count (lambda (elt) (> elt 0)) [-1 2 0 3 -2])
@end example
@end defun
-@defun seq-sort pred seq
- This function returns a sorted sequence of the elements of
-@var{seq}, comparing its elements with @var{pred}. Called with two
-elements of @var{seq}, @var{pred} should return non-nil if the first
-element should sort before the second.
-
-@var{pred} must be a two-arguments function, @var{seq} may be a list,
-vector or string.
-
-The result is a sequence of the same type as SEQ.
@cindex sorting sequences
+@defun seq-sort function sequence
+ This function returns a copy of @var{sequence} that is sorted
+according to @var{function}, a function of two arguments that returns
+non-@code{nil} if the first argument should sort before the second.
@end defun
-@defun seq-contains-p seq elt testfn
- This function returns the first element in @var{seq} that equals to
-@var{elt}.
-
-Equality is defined by @var{testfn} if non-nil or by @code{equal} if
-@code{nil}.
-
-@var{seq} may be a list, vector or string.
+@defun seq-contains-p sequence elt &optional function
+ This function returns the first element in @var{sequence} that is equal to
+@var{elt}. If the optional argument @var{function} is non-@code{nil},
+it is a function of two arguments to use instead of the default @code{equal}.
@example
@group
@end defun
-@defun seq-uniq seq testfn
- This function returns a list of the elements of @var{seq} with
-duplicates removed. @var{testfn} is used to compare elements, or
-@code{equal} if @var{testfn} is @code{nil}.
-
-@var{testfn} must be a two-argument function or @code{nil} and
-@var{seq} may be a list, vector or string.
+@defun seq-uniq sequence &optional function
+ This function returns a list of the elements of @var{sequence} with
+duplicates removed. If the optional argument @var{function} is non-@code{nil},
+it is a function of two arguments to use instead of the default @code{equal}.
@example
@group
@end example
@end defun
-@defun seq-subseq seq start &optional end
- This function returns a sub-sequence of @var{seq} from @var{start}
-to @var{end}. If @var{end} is omitted, it default to the length of
-@var{seq}. If @var{start} or @var{end} is negative, it counts from
-the end of @var{seq}.
-
-@var{seq} may be a list, vector or string.
-The result is the same type of sequence as @var{seq}.
+@defun seq-subseq sequence start &optional end
+ This function returns a subset of @var{sequence} from @var{start}
+to @var{end}, both integers (@var{end} defaults to the last element).
+If @var{start} or @var{end} is negative, it counts from the end of
+@var{sequence}.
@example
@group
@end example
@end defun
-@defun seq-concatenate type &rest seqs
- This function returns a sequence made of the concatenation of
-@var{seqs}. The result is a sequence of type @var{type}. @var{type}
-may be one of the following symbols: @code{vector}, @code{list} or
-@code{string}.
+@defun seq-concatenate type &rest sequences
+ This function returns a sequence of type @var{type} made of the
+concatenation of @var{sequences}. @var{type} may be: @code{vector},
+@code{list} or @code{string}.
@example
@group
@end example
@end defun
-@defmac seq-doseq (var seq [result]) body@dots{}
+@defmac seq-doseq (var sequence [result]) body@dots{}
@cindex sequence iteration
-This macro is like @code{dolist}, except that @var{seq} can be a list,
+This macro is like @code{dolist}, except that @var{sequence} can be a list,
vector or string (@pxref{Iteration} for more information about the
-@code{dolist} macro).
-
-@var{seq-doseq} is primarily useful for side-effects.
-
-@example
-(seq-doseq (elt [1 2 3])
- (print (* 2 elt)))
- @print{}
- @print{} 2
- @print{}
- @print{} 4
- @print{}
- @print{} 6
- @result{} nil
-
-@end example
+@code{dolist} macro). This is primarily useful for side-effects.
@end defmac
@node Arrays
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1994, 1998-1999, 2001-2014 Free Software
+@c Copyright (C) 1990-1994, 1998-1999, 2001-2015 Free Software
@c Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node Read and Print
@defun terpri &optional stream ensure
@cindex newline in print
This function outputs a newline to @var{stream}. The name stands for
-``terminate print''. If @var{ensure} is non-nil no newline is printed
+``terminate print''. If @var{ensure} is non-@code{nil} no newline is printed
if @var{stream} is already at the beginning of a line. Note in this
case @var{stream} can not be a function and an error is signalled if
it is. This function returns @code{t} if a newline is printed.
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2015 Free Software
@c Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node Strings and Characters
@node Predicates for Strings
@section Predicates for Strings
+@cindex predicates for strings
+@cindex string predicates
For more information about general sequence and array predicates,
see @ref{Sequences Arrays Vectors}, and @ref{Arrays}.
@node Creating Strings
@section Creating Strings
+@cindex creating strings
+@cindex string creation
The following functions create strings, either from scratch, or by
putting strings together, or by taking them apart.
@node Modifying Strings
@section Modifying Strings
+@cindex modifying strings
+@cindex string modification
The most basic way to alter the contents of an existing string is with
@code{aset} (@pxref{Array Functions}). @code{(aset @var{string}
@node Text Comparison
@section Comparison of Characters and Strings
@cindex string equality
+@cindex text comparison
@defun char-equal character1 character2
This function returns @code{t} if the arguments represent the same
systems, while it would be, e.g., "enu_USA.1252" on MS-Windows
systems.
-If @var{IGNORE-CASE} is non-nil, characters are converted to lower-case
+If @var{ignore-case} is non-@code{nil}, characters are converted to lower-case
before comparing them.
To emulate Unicode-compliant collation on MS-Windows systems,
-bind @code{w32-collate-ignore-punctuation} to a non-nil value, since
+bind @code{w32-collate-ignore-punctuation} to a non-@code{nil} value, since
the codeset part of the locale cannot be "UTF-8" on MS-Windows.
If your system does not support a locale environment, this function
behaves like @code{string-equal}.
-Do NOT use this function to compare file names for equality, only
+Do @emph{not} use this function to compare file names for equality, only
for sorting them.
@end defun
@end group
@end example
-If @var{IGNORE-CASE} is non-nil, characters are converted to lower-case
+If @var{ignore-case} is non-@code{nil}, characters are converted to lower-case
before comparing them.
To emulate Unicode-compliant collation on MS-Windows systems,
-bind @code{w32-collate-ignore-punctuation} to a non-nil value, since
+bind @code{w32-collate-ignore-punctuation} to a non-@code{nil} value, since
the codeset part of the locale cannot be "UTF-8" on MS-Windows.
If your system does not support a locale environment, this function
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2015 Free Software
@c Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node Symbols
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2015 Free Software
@c Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node Syntax Tables
@node Motion and Syntax
@section Motion and Syntax
+@cindex moving across syntax classes
+@cindex skipping characters of certain syntax
This section describes functions for moving across characters that
have certain syntax classes.
@node Parsing Expressions
@section Parsing Expressions
+@cindex parsing expressions
+@cindex scanning expressions
This section describes functions for parsing and scanning balanced
expressions. We will refer to such expressions as @dfn{sexps},
@node Motion via Parsing
@subsection Motion Commands Based on Parsing
+@cindex motion based on parsing
This section describes simple point-motion functions that operate
based on parsing expressions.
@node Position Parse
@subsection Finding the Parse State for a Position
+@cindex parse state for a position
For syntactic analysis, such as in indentation, often the useful
thing is to compute the syntactic state corresponding to a given buffer
@node Control Parsing
@subsection Parameters to Control Parsing
+@cindex parsing, control parameters
@defvar multibyte-syntax-as-symbol
If this variable is non-@code{nil}, @code{scan-sexps} treats all
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-2014 Free Software Foundation, Inc.
+@c Copyright (C) 1990-1995, 1998-2015 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node Text
@chapter Text
@node Buffer Contents
@section Examining Buffer Contents
+@cindex buffer portion as string
This section describes functions that allow a Lisp program to
convert any portion of the text in the buffer into a string.
@node Examining Properties
@subsection Examining Text Properties
+@cindex examining text properties
+@cindex text properties, examining
The simplest way to examine text properties is to ask for the value of
a particular property of a particular character. For that, use
@node Changing Properties
@subsection Changing Text Properties
+@cindex changing text properties
+@cindex text properties, changing
The primitives for changing properties apply to a specified range of
text in a buffer or string. The function @code{set-text-properties}
@node Property Search
@subsection Text Property Search Functions
+@cindex searching text properties
+@cindex text properties, searching
In typical use of text properties, most of the time several or many
consecutive characters have the same value for a property. Rather than
@node Substitution
@section Substituting for a Character Code
+@cindex replace characters in region
+@cindex substitute characters
The following functions replace characters within a specified region
based on their character codes.
@item dom-add-child-before @var{node} @var{child} @var{before}
Add @var{child} to @var{node}'s child list before the @var{before}
-node. If @var{before} is nil, make @var{child} the first child.
+node. If @var{before} is @code{nil}, make @var{child} the first child.
@item dom-set-attributes @var{node} @var{attributes}
Replace all the attributes of the node with a new key/value list.
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1993, 1995, 1998-1999, 2001-2014 Free Software
+@c Copyright (C) 1990-1993, 1995, 1998-1999, 2001-2015 Free Software
@c Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node Tips
@group
;;; foo.el --- Support for the Foo programming language
-;; Copyright (C) 2010-2014 Your Name
+;; Copyright (C) 2010-2015 Your Name
@end group
;; Author: Your Name <yourname@@example.com>
-Copyright (C) 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 2001-2015 Free Software Foundation, Inc.
See end for copying conditions.
Two Volume Cross References
-# Copyright (C) 2007-2014 Free Software Foundation, Inc.
+# Copyright (C) 2007-2015 Free Software Foundation, Inc.
# See end for copying conditions.
# although it would be nice to use tex rather than pdftex to avoid
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-2014 Free Software Foundation, Inc.
+@c Copyright (C) 1990-1995, 1998-2015 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node Variables
@chapter Variables
@node Variables with Restricted Values
@section Variables with Restricted Values
+@cindex lisp variables defined in C, restrictions
Ordinary Lisp variables can be assigned any value that is a valid
Lisp object. However, certain Lisp variables are not defined in Lisp,
@node Generalized Variables
@section Generalized Variables
+@cindex generalized variable
+@cindex place form
A @dfn{generalized variable} or @dfn{place form} is one of the many places
in Lisp memory where values can be stored. The simplest place form is
a regular Lisp variable. But the @sc{car}s and @sc{cdr}s of lists, elements
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2015 Free Software
@c Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node Windows
@end deffn
+@node Preserving Window Sizes
+@section Preserving Window Sizes
+@cindex preserving window sizes
+
+A window can get resized explicitly by using one of the functions from
+the preceding section or implicitly, for example, when resizing an
+adjacent window, when splitting or deleting a window (@pxref{Splitting
+Windows}, @pxref{Deleting Windows}) or when resizing the window's frame
+(@pxref{Size and Position}).
+
+ It is possible to avoid implicit resizing of a specific window when
+there are one or more other resizable windows on the same frame. For
+this purpose, Emacs must be advised to @dfn{preserve} the size of that
+window. There are two basic ways to do that.
+
+@defvar window-size-fixed
+If this buffer-local variable is non-@code{nil}, the size of any window
+displaying the buffer cannot normally be changed. Deleting a window or
+changing the frame's size may still change the window's size, if there
+is no choice.
+
+If the value is @code{height}, then only the window's height is fixed;
+if the value is @code{width}, then only the window's width is fixed.
+Any other non-@code{nil} value fixes both the width and the height.
+
+If this variable is @code{nil}, this does not necessarily mean that any
+window showing the buffer can be resized in the desired direction. To
+determine that, use the function @code{window-resizable}.
+@xref{Resizing Windows}.
+@end defvar
+
+Often @code{window-size-fixed} is overly aggressive because it inhibits
+any attempt to explicitly resize or split an affected window as well.
+This may even happen after the window has been resized implicitly, for
+example, when deleting an adjacent window or resizing the window's
+frame. The following function tries hard to never disallow resizing
+such a window explicitly:
+
+@defun window-preserve-size &optional window horizontal preserve
+This function (un-)marks the height of window @var{window} as preserved
+for future resize operations. @var{window} must be a live window and
+defaults to the selected one. If the optional argument @var{horizontal}
+is non-@code{nil}, it (un-)marks the width of @var{window} as preserved.
+
+If the optional argument @var{preserve} is @code{t}, this means to
+preserve the current height/width of @var{window}'s body. The
+height/width of @var{window} will change only if Emacs has no better
+choice. Resizing a window whose height/width is preserved by this
+function never throws an error.
+
+If @var{preserve} is @code{nil}, this means to stop preserving the
+height/width of @var{window}, lifting any respective restraint induced
+by a previous call of this function for @var{window}. Calling
+@code{enlarge-window}, @code{shrink-window} or
+@code{fit-window-to-buffer} with @var{window} as argument may also
+remove the respective restraint.
+@end defun
+
+@code{window-preserve-size} is currently invoked by the following
+functions:
+
+@table @code
+@item fit-window-to-buffer
+If the optional argument @var{preserve-size} of that function
+(@pxref{Resizing Windows}) is non-@code{nil}, the size established by
+that function is preserved.
+
+@item display-buffer
+If the @var{alist} argument of that function (@pxref{Choosing Window})
+contains a @code{preserve-size} entry, the size of the window produced
+by that function is preserved.
+@end table
+
+ @code{window-preserve-size} installs a window parameter (@pxref{Window
+Parameters}) called @code{preserved-size} which is consulted by the
+window resizing functions. This parameter will not prevent resizing the
+window when the window shows another buffer than the one when
+@code{window-preserve-size} was invoked or if its size has changed since
+then.
+
+The following function can be used to check whether the height of a
+particular window is preserved:
+
+@defun window-preserved-size &optional window horizontal
+This function returns the preserved height of window @var{window} in
+pixels. @var{window} must be a live window and defaults to the selected
+one. If the optional argument @var{horizontal} is non-@code{nil}, it
+returns the preserved width of @var{window}. It returns @code{nil} if
+the size of @var{window} is not preserved.
+@end defun
+
+
@node Splitting Windows
@section Splitting Windows
@cindex splitting windows
@end defopt
-@node Preserving Window Sizes
-@section Preserving Window Sizes
-@cindex preserving window sizes
-
-A window can get resized explicitly by using one of the functions from
-the preceding section or implicitly, for example, when resizing an
-adjacent window, when splitting or deleting a window (@pxref{Splitting
-Windows}, @pxref{Deleting Windows}) or when resizing the window's frame
-(@pxref{Size and Position}).
-
- It is possible to avoid implicit resizing of a specific window when
-there are one or more other resizable windows on the same frame. For
-this purpose, Emacs must be advised to @dfn{preserve} the size of that
-window. There are two basic ways to do that.
-
-@defvar window-size-fixed
-If this buffer-local variable is non-@code{nil}, the size of any window
-displaying the buffer cannot normally be changed. Deleting a window or
-changing the frame's size may still change the window's size, if there
-is no choice.
-
-If the value is @code{height}, then only the window's height is fixed;
-if the value is @code{width}, then only the window's width is fixed.
-Any other non-@code{nil} value fixes both the width and the height.
-
-If this variable is @code{nil}, this does not necessarily mean that any
-window showing the buffer can be resized in the desired direction. To
-determine that, use the function @code{window-resizable}.
-@xref{Resizing Windows}.
-@end defvar
-
-Often @code{window-size-fixed} is overly aggressive because it inhibits
-any attempt to explicitly resize or split an affected window as well.
-This may even happen after the window has been resized implicitly, for
-example, when deleting an adjacent window or resizing the window's
-frame. The following function tries hard to never disallow resizing
-such a window explicitly:
-
-@defun window-preserve-size &optional window horizontal preserve
-This function (un-)marks the height of window @var{window} as preserved
-for future resize operations. @var{window} must be a live window and
-defaults to the selected one. If the optional argument @var{horizontal}
-is non-@code{nil}, it (un-)marks the width of @var{window} as preserved.
-
-If the optional argument @var{preserve} is @code{t}, this means to
-preserve the current height/width of @var{window}'s body. The
-height/width of @var{window} will change only if Emacs has no better
-choice. Resizing a window whose height/width is preserved by this
-function never throws an error.
-
-If @var{preserve} is @code{nil}, this means to stop preserving the
-height/width of @var{window}, lifting any respective restraint induced
-by a previous call of this function for @var{window}. Calling
-@code{enlarge-window}, @code{shrink-window} or
-@code{fit-window-to-buffer} with @var{window} as argument may also
-remove the respective restraint.
-@end defun
-
-@code{window-preserve-size} is currently invoked by the following
-functions:
-
-@table @code
-@item fit-window-to-buffer
-If the optional argument @var{preserve-size} of that function
-(@pxref{Resizing Windows}) is non-@code{nil}, the size established by
-that function is preserved.
-
-@item display-buffer
-If the @var{alist} argument of that function (@pxref{Choosing Window})
-contains a @code{preserve-size} entry, the size of the window produced
-by that function is preserved.
-@end table
-
- @code{window-preserve-size} installs a window parameter (@pxref{Window
-Parameters}) called @code{preserved-size} which is consulted by the
-window resizing functions. This parameter will not prevent resizing the
-window when the window shows another buffer than the one when
-@code{window-preserve-size} was invoked or if its size has changed since
-then.
-
-The following function can be used to check whether the height of a
-particular window is preserved:
-
-@defun window-preserved-size &optional window horizontal
-This function returns the preserved height of window @var{window} in
-pixels. @var{window} must be a live window and defaults to the selected
-one. If the optional argument @var{horizontal} is non-@code{nil}, it
-returns the preserved width of @var{window}. It returns @code{nil} if
-the size of @var{window} is not preserved.
-@end defun
-
-
@node Deleting Windows
@section Deleting Windows
@cindex deleting windows
@node Recombining Windows
@section Recombining Windows
+@cindex recombining windows
+@cindex windows, recombining
When deleting the last sibling of a window @var{W}, its parent window
is deleted too, with @var{W} replacing it in the window tree. This
;; coding: utf-8
;; End:
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
You should have received a copy of the GNU General Public License
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
-
Copyright
.if t \(co
.if n (C)
-2008-2014 Free Software Foundation, Inc.
+2008-2015 Free Software Foundation, Inc.
.PP
Permission is granted to make and distribute verbatim copies of this
document provided the copyright notice and this permission notice are
Copyright
.if t \(co
.if n (C)
-1995, 1999-2014 Free Software Foundation, Inc.
+1995, 1999-2015 Free Software Foundation, Inc.
.PP
Permission is granted to make and distribute verbatim copies of this
document provided the copyright notice and this permission notice are
Copyright
.if t \(co
.if n (C)
-1992, 1999, 2001-2014 Free Software Foundation, Inc.
+1992, 1999, 2001-2015 Free Software Foundation, Inc.
.PP
Permission is granted to make and distribute verbatim copies of this
document provided the copyright notice and this permission notice are
+2015-01-01 Michael Albinus <michael.albinus@gmx.de>
+
+ Sync with Tramp 2.2.11.
+ * trampver.texi: Update release number.
+
+2014-12-31 Paul Eggert <eggert@cs.ucla.edu>
+
+ Less 'make' chatter for Emacs doc
+ * Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_GEN, am__v_GEN_)
+ (am__v_GEN_0, am__v_GEN_1): New macros, from ../../src/Makefile.in.
+ (ENVADD, $(buildinfodir)/%.info, %.html, ${buildinfodir}/ccmode.info)
+ (${buildinfodir}/efaq%.info, efaq%.html):
+ Use them.
+
+2014-12-31 Filipp Gunbin <fgunbin@fastmail.fm>
+
+ * info.texi (Create Info buffer): Mention info-display-manual prefix.
+
+2014-12-29 Paul Eggert <eggert@cs.ucla.edu>
+
+ * efaq.texi (Displaying the current file name in the titlebar):
+ Prefer (system-name) to system-name.
+ * smtpmail.texi (Server workarounds): Fix grammar.
+
2014-12-18 Eric Abrahamsen <eric@ericabrahamsen.net>
* gnus.texi (Gnus Registry Setup): Explain pruning changes. Mention
2014-10-26 Eric S. Raymond <esr@thyrsus.com>
- * efaq-w32.texi: Neutralized language specific to a repository type.
+ * efaq-w32.texi: Neutralize language specific to a repository type.
2014-10-25 Eric S. Raymond <esr@thyrsus.com>
- * gnus-coding.txt: Neutralized language specific to a repository type.
+ * gnus-coding.texi: Neutralize language specific to a repository type.
2014-10-20 Glenn Morris <rgm@gnu.org>
;; coding: utf-8
;; End:
- Copyright (C) 1993-1999, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1993-1999, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
### @configure_input@
-# Copyright (C) 1994, 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994, 1996-2015 Free Software Foundation, Inc.
# This file is part of GNU Emacs.
TEXI2PDF = texi2pdf
DVIPS = dvips
-ENVADD = TEXINPUTS="$(srcdir):$(emacsdir):$(TEXINPUTS)" \
+# 'make' verbosity.
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+
+ENVADD = $(AM_V_GEN)TEXINPUTS="$(srcdir):$(emacsdir):$(TEXINPUTS)" \
MAKEINFO="$(MAKEINFO) $(MAKEINFO_OPTS)"
gfdl = ${srcdir}/doclicense.texi
EXTRA_OPTS =
${buildinfodir}/%.info: ${srcdir}/%.texi ${gfdl} | ${buildinfodir}
- $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) $(EXTRA_OPTS) -o $@ $<
+ $(AM_V_GEN)$(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) $(EXTRA_OPTS) \
+ -o $@ $<
## The short aliases, eg efaq = $(buildinfodir)/efaq.info.
define info_template
$(ENVADD) $(TEXI2PDF) $<
%.html: ${srcdir}/%.texi ${gfdl}
- $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) $(EXTRA_OPTS) -o $@ $<
+ $(AM_V_GEN)$(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) $(EXTRA_OPTS) \
+ -o $@ $<
%.ps: %.dvi
$(DVIPS) -o $@ $<
## Please can we just rename cc-mode.texi to ccmode.texi...
${buildinfodir}/ccmode.info: ${srcdir}/cc-mode.texi ${gfdl} | ${buildinfodir}
- $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ $<
+ $(AM_V_GEN)$(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ $<
## efaq, efaq_w32 do not depend on gfdl.
## Maybe we can use .SECONDEXPANSION for this.
${buildinfodir}/efaq%.info: ${srcdir}/efaq%.texi | ${buildinfodir}
- $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ $<
+ $(AM_V_GEN)$(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ $<
efaq%.dvi: ${srcdir}/efaq%.texi
$(ENVADD) $(TEXI2DVI) $<
$(ENVADD) $(TEXI2PDF) $<
efaq%.html: ${srcdir}/efaq%.texi
- $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ $<
+ $(AM_V_GEN)$(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ $<
${buildinfodir}/emacs-mime.info emacs-mime.html: EXTRA_OPTS = --enable-encoding
@documentencoding UTF-8
@copying
-Copyright @copyright{} 1999--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 1999--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@copying
This file describes the Emacs auth-source library.
-Copyright @copyright{} 2008--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 2008--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@c @cindex autotypist
@copying
-Copyright @copyright{} 1994--1995, 1999, 2001--2014
+Copyright @copyright{} 1994--1995, 1999, 2001--2015
Free Software Foundation, Inc.
@quotation
@c %**end of header
@copying
-Copyright @copyright{} 1999--2004, 2012--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 1999--2004, 2012--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
GNU Emacs @value{EMACSVER}.
@end ifnotinfo
-Copyright @copyright{} 1990--1991, 2001--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 1990--1991, 2001--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@copying
This manual is for CC Mode in Emacs.
-Copyright @copyright{} 1995--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 1995--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@copying
This file documents the GNU Emacs Common Lisp emulation package.
-Copyright @copyright{} 1993, 2001--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 1993, 2001--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@syncodeindex fn cp
@copying
-Copyright @copyright{} 2007--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 2007--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@comment %**end of header (This is for running Texinfo on a region.)
@copying
-Copyright @copyright{} 1994--1995, 1999, 2001--2014
+Copyright @copyright{} 1994--1995, 1999, 2001--2015
Free Software Foundation, Inc.
@quotation
@copying
This file documents Ebrowse, a C++ class browser for GNU Emacs.
-Copyright @copyright{} 2000--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 2000--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@copying
This file describes EDE, the Emacs Development Environment.
-Copyright @copyright{} 1998--2001, 2004--2005, 2008--2014
+Copyright @copyright{} 1998--2001, 2004--2005, 2008--2015
Free Software Foundation, Inc.
@quotation
This file documents Ediff, a comprehensive visual interface to Unix diff
and patch utilities.
-Copyright @copyright{} 1995--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 1995--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@copying
This file documents the EDT emulation package for Emacs.
-Copyright @copyright{} 1986, 1992, 1994--1995, 1999--2014
+Copyright @copyright{} 1986, 1992, 1994--1995, 1999--2015
Free Software Foundation, Inc.
@quotation
@documentlanguage en
@copying
-Copyright @copyright{} 2008, 2010-2014 Free Software Foundation, Inc.
+Copyright @copyright{} 2008, 2010-2015 Free Software Foundation, Inc.
@quotation
This list of frequently asked questions about GNU Emacs on MS Windows
@c appreciate a notice if you do).
@copying
-Copyright @copyright{} 2001--2014 Free Software Foundation, Inc.@*
+Copyright @copyright{} 2001--2015 Free Software Foundation, Inc.@*
Copyright @copyright{} 1994, 1995, 1996, 1997, 1998, 1999, 2000
Reuven M. Lerner@*
Copyright @copyright{} 1992, 1993 Steven Byrnes@*
@code{frame-title-format} to the default value of
@lisp
-(multiple-frames "%b" ("" invocation-name "@@" system-name))
+(multiple-frames "%b" ("" invocation-name "@@" (system-name)))
@end lisp
To modify the behavior such that frame titlebars contain the buffer's
@copying
This manual documents EIEIO, an object framework for Emacs Lisp.
-Copyright @copyright{} 2007--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 2007--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@copying
This file describes the Emacs GnuTLS integration.
-Copyright @copyright{} 2012--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 2012--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@copying
This file documents the Emacs MIME interface functionality.
-Copyright @copyright{} 1998--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 1998--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@copying
This file describes EasyPG Assistant @value{VERSION}.
-Copyright @copyright{} 2007--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 2007--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@copying
This manual is for ERC as distributed with Emacs @value{EMACSVER}.
-Copyright @copyright{} 2005--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 2005--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@end direntry
@copying
-Copyright @copyright{} 2008, 2010--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 2008, 2010--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@copying
This manual is for Eshell, the Emacs shell.
-Copyright @copyright{} 1999--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 1999--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
directory servers using various protocols such as LDAP or the CCSO white
pages directory system (PH/QI)
-Copyright @copyright{} 1998, 2000--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 1998, 2000--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@copying
This file documents the GNU Emacs Web Wowser (EWW) package.
-Copyright @copyright{} 2014 Free Software Foundation, Inc.
+Copyright @copyright{} 2014-2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
This manual is for GNU Flymake (version @value{VERSION}, @value{UPDATED}),
which is a universal on-the-fly syntax checker for GNU Emacs.
-Copyright @copyright{} 2004--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 2004--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@copying
This file documents Forms mode, a form-editing major mode for GNU Emacs.
-Copyright @copyright{} 1989, 1997, 2001--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 1989, 1997, 2001--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@syncodeindex pg cp
@copying
-Copyright @copyright{} 2004--2005, 2007--2014 Free Software
+Copyright @copyright{} 2004--2005, 2007--2015 Free Software
Foundation, Inc.
@quotation
@c \input texinfo @c -*-texinfo-*-
@c Uncomment 1st line before texing this file alone.
@c %**start of header
-@c Copyright (C) 1995, 2001-2014 Free Software Foundation, Inc.
+@c Copyright (C) 1995, 2001-2015 Free Software Foundation, Inc.
@c
@c @setfilename gnus-faq.info
@c @settitle Frequently Asked Questions
;;; gnus-news.el --- a hack to create GNUS-NEWS from texinfo source
-;; Copyright (C) 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
;; Author: Reiner Steib <Reiner.Steib@gmx.de>
;; Keywords: tools
(defvar gnus-news-header-disclaimer
"GNUS NEWS -- history of user-visible changes.
-Copyright (C) 1999-2014 Free Software Foundation, Inc.
+Copyright (C) 1999-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
Please send Gnus bug reports to bugs@gnus.org.
@c -*-texinfo-*-
-@c Copyright (C) 2004-2014 Free Software Foundation, Inc.
+@c Copyright (C) 2004-2015 Free Software Foundation, Inc.
@c Permission is granted to anyone to make or distribute verbatim copies
@c of this document as received, in any medium, provided that the
@documentencoding UTF-8
@copying
-Copyright @copyright{} 1995--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 1995--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
This manual documents Htmlfontify, a source code -> crosslinked +
formatted + syntax colorized html transformer.
-Copyright @copyright{} 2002-2003, 2013-2014 Free Software Foundation,
+Copyright @copyright{} 2002-2003, 2013-2015 Free Software Foundation,
Inc.
@quotation
This is edition @value{EDITION} of the IDLWAVE User Manual for IDLWAVE
@value{VERSION}.
-Copyright @copyright{} 1999--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 1999--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@copying
This file documents the Ido package for GNU Emacs.
-Copyright @copyright{} 2013-2014 Free Software Foundation, Inc.
+Copyright @copyright{} 2013-2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
If you have created many Info buffers in Emacs, you might find it
difficult to remember which buffer is showing which manual. You can
use the command @kbd{M-x info-display-manual} to show an Info manual
-by name, reusing an existing buffer if there is one.
+by name, reusing an existing buffer if there is one. When given a
+prefix argument, this command limits the completion alternatives to
+currently visited info files, thus giving a convenient way to switch
+between several manuals.
@node Emacs Info Variables
@section Emacs Info-mode Variables
@documentencoding UTF-8
@copying
-Copyright @copyright{} 2008--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 2008--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
#### -*- Makefile -*- for documentation other than the Emacs manual.
-# Copyright (C) 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003-2015 Free Software Foundation, Inc.
# This file is part of GNU Emacs.
@copying
This file documents Message, the Emacs message composition mode.
-Copyright @copyright{} 1996--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 1996--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
This is version @value{VERSION}@value{EDITION} of @cite{The MH-E
Manual}, last updated @value{UPDATED}.
-Copyright @copyright{} 1995, 2001--2003, 2005--2014 Free Software
+Copyright @copyright{} 1995, 2001--2003, 2005--2015 Free Software
Foundation, Inc.
@c This dual license has been agreed upon by the FSF.
corresponds to Emacs version @value{EMACSVER}.
@noindent
-Copyright @copyright{} 2004--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 2004--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
This manual documents nXML mode, an Emacs major mode for editing
XML with RELAX NG support.
-Copyright @copyright{} 2007--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 2007--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@c %**end of header
@copying
-Copyright @copyright{} 1996--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 1996--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@copying
This manual is for Org version @value{VERSION}.
-Copyright @copyright{} 2004--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 2004--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
This is a short example of a complete Texinfo file, version 1.0.
- Copyright \copy 2014 Free Software Foundation, Inc.
+ Copyright \copy 2015 Free Software Foundation, Inc.
@end example
@subsubheading The Top node
@c %**end of header
@copying
-Copyright @copyright{} 1991--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 1991--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
This file describes PGG @value{VERSION}, an Emacs interface to various
PGP implementations.
-Copyright @copyright{} 2001, 2003--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 2001, 2003--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@c %**end of header
@copying
-Copyright @copyright{} 2006--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 2006--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
to do labels, references, citations and indices for LaTeX documents
with Emacs.
-Copyright @copyright{} 1997--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 1997--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@copying
This manual is for Remember Mode, version 2.0
-Copyright @copyright{} 2001, 2004--2005, 2007--2014
+Copyright @copyright{} 2001, 2004--2005, 2007--2015
Free Software Foundation, Inc.
@quotation
@copying
This file describes the Emacs SASL library, version @value{VERSION}.
-Copyright @copyright{} 2000, 2004--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 2000, 2004--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
This document describes Supercite, an Emacs package for citing and
attributing replies to mail and news messages.
-Copyright @copyright{} 1993, 2001--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 1993, 2001--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@c This is part of the Semantic manual.
-@c Copyright (C) 1999-2005, 2007, 2009-2014 Free Software Foundation,
+@c Copyright (C) 1999-2005, 2007, 2009-2015 Free Software Foundation,
@c Inc.
@c See file semantic.texi for copying conditions.
@copying
This manual documents the Semantic library and utilities.
-Copyright @copyright{} 1999--2005, 2007, 2009--2014 Free Software
+Copyright @copyright{} 1999--2005, 2007, 2009--2015 Free Software
Foundation, Inc.
@quotation
@copying
This file documents @acronym{SES}: the Simple Emacs Spreadsheet.
-Copyright @copyright{} 2002--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 2002--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@copying
This file documents the Emacs Sieve package, for server-side mail filtering.
-Copyright @copyright{} 2001--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 2001--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@documentencoding UTF-8
@syncodeindex vr fn
@copying
-Copyright @copyright{} 2003--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 2003--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@vindex smtpmail-local-domain
The variable @code{smtpmail-local-domain} controls the hostname sent
in the first @code{EHLO} or @code{HELO} command sent to the server.
-It should only be set if the @code{system-name} function returns a
+It should be set only if the @code{system-name} function returns a
name that isn't accepted by the server. Do not set this variable
unless your server complains.
@syncodeindex fn cp
@copying
-Copyright @copyright{} 1999--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 1999--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@c %**end of header
@copying
-Copyright @copyright{} 2007--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 2007--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@c %**end of header
@copying
-Copyright @copyright{} 2013-2014 Free Software Foundation, Inc.
+Copyright @copyright{} 2013-2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@end ifclear
@copying
-Copyright @copyright{} 1999--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 1999--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@c texi/trampver.texi. Generated from trampver.texi.in by configure.
@c This is part of the Emacs manual.
-@c Copyright (C) 2003-2014 Free Software Foundation, Inc.
+@c Copyright (C) 2003-2015 Free Software Foundation, Inc.
@c See file doclicense.texi for copying conditions.
@c In the Tramp GIT, the version number is auto-frobbed from
@c configure.ac, so you should edit that file and run
@c "autoconf && ./configure" to change the version number.
-@set trampver 2.2.11-pre
+@set trampver 2.2.11
@c Other flags from configuration
@set instprefix /usr/local
@copying
This is the manual for the @code{url} Emacs Lisp library.
-Copyright @copyright{} 1993--1999, 2002, 2004--2014 Free Software
+Copyright @copyright{} 1993--1999, 2002, 2004--2015 Free Software
Foundation, Inc.
@quotation
@copying
This file documents VHDL Mode, an Emacs mode for editing VHDL code.
-Copyright @copyright{} 1995--2008, 2010, 2012, 2014 Free Software
+Copyright @copyright{} 1995--2008, 2010, 2012, 2015 Free Software
Foundation, Inc.
@quotation
@documentencoding UTF-8
@copying
-Copyright @copyright{} 1987, 2001--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 1987, 2001--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@documentencoding UTF-8
@copying
-Copyright @copyright{} 1995--1997, 2001--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 1995--1997, 2001--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@c %**end of header
@copying
-Copyright @copyright{} 2000--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 2000--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@c %**end of header
@copying
-Copyright @copyright{} 1988--1993, 1995, 1998--2004, 2007, 2012--2014
+Copyright @copyright{} 1988--1993, 1995, 1998--2004, 2007, 2012--2015
Free Software Foundation, Inc.
@c Since we are both GNU manuals, we do not need to ack each other here.
This file documents WoMan: A program to browse Unix manual pages `W.O.
(without) man'.
-Copyright @copyright{} 2001--2014 Free Software Foundation, Inc.
+Copyright @copyright{} 2001--2015 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
-Copyright (C) 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 2001-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
Calc is an advanced desk calculator for GNU Emacs.
+2015-01-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ batch write-region no longer says "Wrote FOO"
+ * NEWS: Document this.
+
+2014-12-30 Paul Eggert <eggert@cs.ucla.edu>
+
+ * PROBLEMS: Omit obsolete mention of FQDNs.
+
+2014-12-27 Álvar Ibeas <ibeas@gmx.com> (tiny change)
+
+ * tutorials/TUTORIAL.es: Improve style consistency. Spelling fixes.
+
+2014-12-25 Karl Fogel <kfogel@red-bean.com>
+
+ * NEWS: Mention new buffer display behavior for `shell'.
+ This follows up to Sam Steingold's change of 2014-12-23
+ in ../lisp/shell.el, in git commit e55a467ec0f758c311d3.
+
2014-12-15 Artur Malabarba <bruce.connor.am@gmail.com>
* NEWS: Mention `let-alist.
;; coding: utf-8
;; End:
- Copyright (C) 1993-1999, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1993-1999, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
Debugging GNU Emacs
-Copyright (C) 1985, 2000-2014 Free Software Foundation, Inc.
+Copyright (C) 1985, 2000-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
-*- text -*-
GNU Emacs availability information
-Copyright (C) 1986-1993, 1995, 1998, 2000-2014 Free Software Foundation,
+Copyright (C) 1986-1993, 1995, 1998, 2000-2015 Free Software Foundation,
Inc.
See the end of the file for license conditions.
ERC NEWS -*- outline -*-
-Copyright (C) 2006-2014 Free Software Foundation, Inc.
+Copyright (C) 2006-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
* For changes after ERC 5.3, see the main Emacs NEWS file
===================== end of discussion of tag names =====================
-Copyright (C) 2002-2014 Free Software Foundation, Inc.
+Copyright (C) 2002-2015 Free Software Foundation, Inc.
COPYING PERMISSIONS:
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-Copyright (C) 1984, 1987-1989, 1993-1995, 1998-2014 Free Software
+Copyright (C) 1984, 1987-1989, 1993-1995, 1998-2015 Free Software
Foundation, Inc.
This file is not considered part of GNU Emacs.
GNUS NEWS -- history of user-visible changes.
-Copyright (C) 1999-2014 Free Software Foundation, Inc.
+Copyright (C) 1999-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
Please send Gnus bug reports to bugs@gnus.org.
\f
-Copyright (C) 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
Emacs machines list
-Copyright (C) 1989-1990, 1992-1993, 1998, 2001-2014
- Free Software Foundation, Inc.
+Copyright (C) 1989-1990, 1992-1993, 1998, 2001-2015 Free Software
+Foundation, Inc.
See the end of the file for license conditions.
This is a list of the status of GNU Emacs on various machines and systems.
* COPYRIGHT
-Copyright (C) 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 2001-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
* Changes in MH-E 8.6
GNU Emacs NEWS -- history of user-visible changes.
-Copyright (C) 2014, 2015 Free Software Foundation, Inc.
+Copyright (C) 2014-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
Please send Emacs bug reports to bug-gnu-emacs@gnu.org.
** A new text property `inhibit-read-only' can be used in read-only
buffers to allow certain parts of the text to be writable.
-** A new function `file-tree-walk' allows to apply a certain action
-to all the files and subdirectories of a directory, similarly to the C
-library function `ftw'.
-
** A new function `directory-files-recursively' returns all matching
files (recursively) under a directory.
\f
* Editing Changes in Emacs 25.1
+** Unicode names entered via C-x 8 RET now use substring completion by default.
+
** New minor mode global-eldoc-mode is enabled by default.
** Emacs now supports "bracketed paste mode" when running on a terminal
\f
* Changes in Specialized Modes and Packages in Emacs 25.1
+** Shell
+
+When you invoke `shell' interactively, the *shell* buffer will now
+display in a new window. However, you can customize this behavior via
+the `display-buffer-alist' variable. For example, to get
+the old behavior -- *shell* buffer displays in current window -- use
+(add-to-list 'display-buffer-alist
+ '("^\\*shell\\*$" . (display-buffer-same-window))).
+
** EIEIO
*** The <class>-list-p and <class>-child-p functions are declared obsolete.
---
** `Info-fontify-maximum-menu-size' can be t for no limit.
++++
+** `info-display-manual' can now be given a prefix argument which (any
+non-nil value) directs the command to limit the completion
+alternatives to currently visited manuals.
+
---
** ntlm.el has support for NTLM2.
the color range from `vc-annotate-color-map' is applied to the
background or to the foreground.
-*** compare-windows now compares text with the most recently used window
+*** `compare-windows' now compares text with the most recently used window
instead of the next window. The new option `compare-windows-get-window-function'
allows to customize this.
+*** Two new faces `compare-windows-removed' and `compare-windows-added'
+replace the obsolete face `compare-windows'.
+
** Calculator: decimal display mode uses "," groups, so it's more
fitting for use in money calculations; factorial works with
non-integer inputs.
`tildify-ignored-environments-alist' variables (as well as a few
helper functions) obsolete.
+** xref
+The new package provides generic framework and new commands to find
+and move to definitions, as well as pop back to the original location.
+
+*** New key bindings
+`xref-find-definitions' replaces `find-tag' and provides an interface
+to pick one destination among several. Hence, `tags-loop-continue' is
+unbound. `xref-pop-marker-stack' replaces `pop-tag-mark', but uses an
+easier binding, which is now unoccupied (`M-,').
+`xref-find-definitions-other-window' replaces `find-tag-other-window'.
+`xref-find-definitions-other-frame' replaces `find-tag-other-frame'.
+`xref-find-apropos' replaces `find-tag-regexp'.
+
+*** New variables
+`find-tag-marker-ring-length' is now an obsolete alias for
+`xref-marker-ring-length'. `find-tag-marker-ring' is now an obsolete
+alias for a private variable. `xref-push-marker-stack' and
+`xref-pop-marker-stack' should be used to mutate it instead.
+
+** etags
+As a result of the above, these commands are now obsolete:
+`find-tag-other-window', `find-tag-other-frame', `find-tag-regexp',
+`tags-apropos' and `tags-loop-continue'.
+
** Obsolete packages
---
** Function `sort' can deal with vectors.
+** Function `system-name' now returns an updated value if the current
+system's name has changed or if the Emacs process has changed systems,
+and to avoid long waits it no longer consults DNS to canonicalize the
+name. The variable `system-name' is now obsolete.
+
++++
+** Function `write-region' no longer outputs "Wrote FILE" in batch mode.
+
---
** New utilities in subr-x.el:
*** New macros `if-let' and `when-let' allow defining bindings and to
GNU Emacs NEWS -- history of user-visible changes. 26-Mar-1986
-Copyright (C) 1985-1986, 2006-2014 Free Software Foundation, Inc.
+Copyright (C) 1985-1986, 2006-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
GNU Emacs NEWS -- history of user-visible changes. 17-Aug-1988
-Copyright (C) 1988, 2006-2014 Free Software Foundation, Inc.
+Copyright (C) 1988, 2006-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
GNU Emacs NEWS -- history of user-visible changes. 1992.
-Copyright (C) 1993-1995, 2001, 2006-2014 Free Software Foundation, Inc.
+Copyright (C) 1993-1995, 2001, 2006-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
GNU Emacs NEWS -- history of user-visible changes. 2006-05-31
-Copyright (C) 1999-2001, 2006-2014 Free Software Foundation, Inc.
+Copyright (C) 1999-2001, 2006-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
GNU Emacs NEWS -- history of user-visible changes. 2006-05-31
-Copyright (C) 2000-2014 Free Software Foundation, Inc.
+Copyright (C) 2000-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
GNU Emacs NEWS -- history of user-visible changes.
-Copyright (C) 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 2001-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
Please send Emacs bug reports to bug-gnu-emacs@gnu.org.
GNU Emacs NEWS -- history of user-visible changes.
-Copyright (C) 2007-2014 Free Software Foundation, Inc.
+Copyright (C) 2007-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
Please send Emacs bug reports to bug-gnu-emacs@gnu.org.
GNU Emacs NEWS -- history of user-visible changes.
-Copyright (C) 2010-2014 Free Software Foundation, Inc.
+Copyright (C) 2010-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
Please send Emacs bug reports to bug-gnu-emacs@gnu.org.
---
** The default value of `history-length' has increased to 100.
++++
+** `redisplay-dont-pause' is declared as obsolete.
+
\f
* Changes in Specialized Modes and Packages in Emacs 24.5
-Copyright (C) 2008-2014 Free Software Foundation, Inc.
+Copyright (C) 2008-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
This file contains information about GNU Emacs on "Nextstep" platforms.
-Copyright (C) 2007-2014 Free Software Foundation, Inc.
+Copyright (C) 2007-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
#+LINK: doc http://orgmode.org/worg/doc.html#%s
#+LINK: git http://orgmode.org/w/?p=org-mode.git;a=commit;h=%s
-Copyright (C) 2012-2014 Free Software Foundation, Inc.
+Copyright (C) 2012-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
Please send Org bug reports to emacs-orgmode@gnu.org.
Known Problems with GNU Emacs
-Copyright (C) 1987-1989, 1993-1999, 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 1987-1989, 1993-1999, 2001-2015 Free Software Foundation,
+Inc.
See the end of the file for license conditions.
"localhost.localdomain", rather the name you were expecting.
You need to configure your machine with a fully qualified domain name,
-(i.e. a name with at least one ".") either in /etc/hosts,
-/etc/hostname, the NIS, or wherever your system calls for specifying this.
+(i.e., a name with at least one "."), either in /etc/hostname
+or wherever your system calls for specifying this.
If you cannot fix the configuration, you can set the Lisp variable
mail-host-address to the value you want.
endif
endif
-*** Emacs startup on GNU/Linux systems (and possibly other systems) is slow.
-
-This can happen if the system is misconfigured and Emacs can't get the
-full qualified domain name, FQDN. You should have your FQDN in the
-/etc/hosts file, something like this:
-
-127.0.0.1 localhost
-129.187.137.82 nuc04.t30.physik.tu-muenchen.de nuc04
-
-The way to set this up may vary on non-GNU systems.
-
*** Attempting to visit remote files via ange-ftp fails.
If the error message is "ange-ftp-file-modtime: Specified time is not
File: emacs.icon
Author: Sun Microsystems, Inc
- Copyright (C) 1999, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2001-2015 Free Software Foundation, Inc.
License: GNU General Public License version 3 or later (see COPYING)
-Copyright (C) 1999, 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 1999, 2001-2015 Free Software Foundation, Inc.
See the end of the file for copying permissions.
This file describes what you must or might want to do to termcap entries
Emacs TODO List -*-outline-*-
-Copyright (C) 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 2001-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
# README file for charset mapping files in this directory.
-# Copyright (C) 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003-2015 Free Software Foundation, Inc.
# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
# National Institute of Advanced Industrial Science and Technology (AIST)
# Registration Number H13PRO009
Compilation finished at Thu Jul 21 15:02:15
\f
-Copyright (C) 2004-2014 Free Software Foundation, Inc.
+Copyright (C) 2004-2015 Free Software Foundation, Inc.
COPYING PERMISSIONS:
;;; edt-user.el --- Sample user customizations for Emacs EDT emulation
-;; Copyright (C) 1986, 1992-1993, 2000-2014 Free Software Foundation,
+;; Copyright (C) 1986, 1992-1993, 2000-2015 Free Software Foundation,
;; Inc.
;; Author: Kevin Gallagher <kgallagh@@spd.dsccc.com>
# emacs-buffer.gdb --- gdb macros for recovering buffers from emacs coredumps
-# Copyright (C) 2005-2014 Free Software Foundation, Inc.
+# Copyright (C) 2005-2015 Free Software Foundation, Inc.
# Maintainer: Noah Friedman <friedman@splode.com>
# Created: 2005-04-28
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Copyright (C) 2014 Free Software Foundation, Inc. -->
+<!-- Copyright (C) 2014-2015 Free Software Foundation, Inc. -->
<application>
<id type="desktop">emacs.desktop</id>
<metadata_license>GFDL-1.3</metadata_license>
\f
-Copyright (C) 1995, 1997, 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 1995, 1997, 2001-2015 Free Software Foundation, Inc.
COPYING PERMISSIONS:
;;; forms-d2.el --- demo forms-mode
-;; Copyright (C) 1991, 1994-1997, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1991, 1994-1997, 2001-2015 Free Software Foundation,
;; Inc.
;; Author: Johan Vromans <jvromans@squirrel.nl>
Ingebrigtsen. If you have a WWW browser, you can investigate to your
heart's delight at <URL:http://www.ifi.uio.no/~larsi/larsi.html>.
-;; Copyright (C) 1995, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995, 2001-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
;; Keywords: news
* GNU grep 2.5.1 on lines starting with a number and colon
-grep -nH -e "Universal Time" ../lispref/*
+grep -nH --color=always -e "Universal Time" ../doc/lispref/*
../lispref/os.texi:1010:0:00 January 1, 1970 UTC (Coordinated \e[01;31mUniversal Time\e[00m)
* GNU grep 2.5.1 with context lines
\e[35mlisp/org/org.el\e[1;36m:\e[0m21047\e[1;36m:\e[0m (\e[1;31morg-element-map\e[0m
* git-grep
- with `[diff "el"] xfuncname = "^(\\(.*)$"' in .gitconfig
- and `*.el diff=el' in .gitattributes
+ with `[diff "lisp"] xfuncname = "^(\\(.*)$"' in .gitconfig
+ and `*.el diff=lisp' in .gitattributes
git --no-pager grep -inH -p -e "org-element-map"
lisp/org/org.el\e[36m=\e[m20969\e[36m=\e[m(defun org-fill-paragraph (&optional justify)
\f
-Copyright (C) 2005-2014 Free Software Foundation, Inc.
+Copyright (C) 2005-2015 Free Software Foundation, Inc.
COPYING PERMISSIONS:
File: mh-logo.xpm
Author: Satyaki Das
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Files: splash.pbm, splash.xpm, gnus.pbm
Author: Luis Fernandes <elf@ee.ryerson.ca>
- Copyright (C) 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2015 Free Software Foundation, Inc.
Files: splash.png, splash.svg
Author: Francesc Rocher <rocher@member.fsf.org>
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Files: checked.xpm, unchecked.xpm
Author: Chong Yidong <cyd@stupidchicken.com>
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
* The following icons are from GTK+ 2.x. They are not part of Emacs, but
/* XPM */
-/* Copyright (C) 2010-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2010-2015 Free Software Foundation, Inc.
*
* Author: Chong Yidong <cyd@stupidchicken.com>
*
Files: down.xpm down-pushed.xpm right.xpm right-pushed.xpm
Author: Juri Linkov
-Copyright (C) 2008-2014 Free Software Foundation, Inc.
+Copyright (C) 2008-2015 Free Software Foundation, Inc.
License: GNU General Public License version 3 or later (see COPYING)
tag-gt.xpm tag-minus.xpm tag-plus.xpm tag-type.xpm tag-v.xpm
tag.xpm unlock.xpm
Author: Eric M. Ludlam
-Copyright (C) 1999-2014 Free Software Foundation, Inc.
+Copyright (C) 1999-2015 Free Software Foundation, Inc.
License: GNU General Public License version 3 or later (see COPYING)
Files: important.xpm, unimportant.xpm
Author: Simon Josefsson <simon@josefsson.org>
-Copyright (C) 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 2001-2015 Free Software Foundation, Inc.
Files: catchup.pbm catchup.xpm cu-exit.pbm cu-exit.xpm
describe-group.pbm describe-group.xpm exit-gnus.pbm exit-gnus.xpm
unsubscribe.pbm unsubscribe.xpm uu-decode.pbm uu-decode.xpm
uu-post.pbm uu-post.xpm
Author: Luis Fernandes <elf@ee.ryerson.ca>
-Copyright (C) 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 2001-2015 Free Software Foundation, Inc.
Files: gnus.png, gnus.svg
Author: Francesc Rocher <rocher@member.fsf.org>
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
* The following icons are from GNOME 2.x. They are not part of Emacs,
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Gnu Emacs Logo
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Author: Francesc Rocher <f.rocher@member.fsf.org>
COPYRIGHT AND LICENSE INFORMATION FOR IMAGE FILES
The following icons were created by Nick Roberts <nickrob@snap.net.nz>.
-Copyright (C) 2002-2014 Free Software Foundation, Inc.
+Copyright (C) 2002-2015 Free Software Foundation, Inc.
License: GNU General Public License version 3 or later (see COPYING)
break.pbm, nexti.pbm, go.pbm, pp.pbm, print.pbm, pstar.pbm, remove.pbm
The following icons are converted from the Insight Windows style icon
set in src/gdb/gdbtk/library/images2.
-Copyright (C) 2002-2014 Free Software Foundation, Inc.
+Copyright (C) 2002-2015 Free Software Foundation, Inc.
License: GNU General Public License version 3 or later (see COPYING)
cont.pbm and cont.xpm were converted from continue.gif
The following icons are created from the Insight Windows style icon
set in src/gdb/gdbtk/library/images2.
-Copyright (C) 2002-2014 Free Software Foundation, Inc.
+Copyright (C) 2002-2015 Free Software Foundation, Inc.
License: GNU General Public License version 3 or later (see COPYING)
rcont.xpm rfinish.xpm
hicolor/128x128/apps/emacs.png hicolor/scalable/apps/emacs.svg
Author: Kentaro Ohkouchi <nanasess@fsm.ne.jp>
-Copyright (C) 2007-2014 Free Software Foundation, Inc.
+Copyright (C) 2007-2015 Free Software Foundation, Inc.
License: GNU General Public License version 3 or later (see COPYING)
hicolor/32x32/apps/emacs22.png hicolor/48x48/apps/emacs22.png
Author: Andrew Zhilin <andrew_zhilin@yahoo.com>
-Copyright (C) 2005-2014 Free Software Foundation, Inc.
+Copyright (C) 2005-2015 Free Software Foundation, Inc.
License: GNU General Public License version 3 or later (see COPYING)
Files: allout-widgets-dark-bg/closed.png
allout-widgets-light-bg/through-descender.xpm
Author: Ken Manheimer <ken.manheimer@gmail.com>
-Copyright (C) 2011-2014 Free Software Foundation, Inc.
+Copyright (C) 2011-2015 Free Software Foundation, Inc.
License: GNU General Public License version 3 or later (see COPYING)
id="svg4768"
xml:space="preserve">
<!-- Gnu Emacs Icon
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Gnu Emacs Document Icon
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* XPM */
/* MH-E Logo
*
- * Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ * Copyright (C) 2003-2015 Free Software Foundation, Inc.
*
* Author: Satyaki Das
*
Files: add.xpm ffwd.xpm next.xpm pause.xpm play.xpm prev.xpm rewind.xpm stop.xpm
Author: Stefan Monnier <monnier@iro.umontreal.ca>
-Copyright (C) 2009-2014 Free Software Foundation, Inc.
+Copyright (C) 2009-2015 Free Software Foundation, Inc.
License: GNU General Public License version 3 or later (see COPYING)
narrow.xpm next-feed.xpm next-item.xpm prev-feed.xpm
prev-item.xpm rss-feed.png rss-feed.svg update.xpm
Author: Ulf Jasper
-Copyright (C) 2011-2014 Free Software Foundation, Inc.
+Copyright (C) 2011-2015 Free Software Foundation, Inc.
License: GNU General Public License version 3 or later (see COPYING)
sad.xpm smile.pbm smile.xpm wry.pbm wry.xpm
Authors: Reiner Steib, Simon Josefsson, Kai Grossjohann, Alex
Schroeder, Oliver Scholz, Per Abrahamsen, Kim F. Storm.
-Copyright (C) 1999-2014 Free Software Foundation, Inc.
+Copyright (C) 1999-2015 Free Software Foundation, Inc.
License: GNU General Public License version 3 or later (see COPYING)
frown.xpm grin.xpm indifferent.xpm reverse-smile.xpm sad.xpm
smile.xpm wry.xpm
Author: Adam Sjøgren
-Copyright (C) 2007-2014 Free Software Foundation, Inc.
+Copyright (C) 2007-2015 Free Software Foundation, Inc.
License: GNU General Public License version 3 or later (see COPYING)
frown.xpm grin.xpm indifferent.xpm reverse-smile.xpm sad.xpm
smile.xpm wry.xpm
Author: Adam Sjøgren
-Copyright (C) 2007-2014 Free Software Foundation, Inc.
+Copyright (C) 2007-2015 Free Software Foundation, Inc.
License: GNU General Public License version 3 or later (see COPYING)
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Gnu Emacs Logo
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Author: Francesc Rocher <f.rocher@members.fsf.org>
Based on the original work by Luis Fernandes <elf@ee.ryerson.ca>
/* XPM */
/* Gnu Emacs Logo
*
- * Copyright (C) 2001-2014 Free Software Foundation, Inc.
+ * Copyright (C) 2001-2015 Free Software Foundation, Inc.
*
* Author: Luis Fernandes <elf@ee.ryerson.ca>
*
no-guide.png no-guide.xpm no-handle.png no-handle.xpm open.png
open.xpm
Author: David Ponce <david.ponce@wanadoo.fr>
-Copyright (C) 2004-2014 Free Software Foundation, Inc.
+Copyright (C) 2004-2015 Free Software Foundation, Inc.
License: GNU General Public License version 3 or later (see COPYING)
leaf.png leaf.xpm no-guide.png no-guide.xpm no-handle.png
no-handle.xpm open.png open.xpm
Author: David Ponce <david.ponce@wanadoo.fr>
-Copyright (C) 2004-2014 Free Software Foundation, Inc.
+Copyright (C) 2004-2015 Free Software Foundation, Inc.
License: GNU General Public License version 3 or later (see COPYING)
/* XPM */
-/* Copyright (C) 2010-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2010-2015 Free Software Foundation, Inc.
*
* Author: Chong Yidong <cyd@stupidchicken.com>
*
The files OrgOdtContentTemplate.xml and OrgOdtStyles.xml have the
following copyright information:
-Copyright (C) 2010-2014 Free Software Foundation, Inc.
+Copyright (C) 2010-2015 Free Software Foundation, Inc.
These files are part of GNU Emacs.
% === BEGIN ps-print prologue 0
% version: 6.0
-% Copyright (C) 2000-2014 Free Software Foundation, Inc.
+% Copyright (C) 2000-2015 Free Software Foundation, Inc.
% This file is part of GNU Emacs.
% === BEGIN ps-print prologue 1
% version: 6.1
-% Copyright (C) 2000-2014 Free Software Foundation, Inc.
+% Copyright (C) 2000-2015 Free Software Foundation, Inc.
% This file is part of GNU Emacs.
### Makefile for Emacs refcards
-## Copyright (C) 1993-1994, 2001-2014 Free Software Foundation, Inc.
+## Copyright (C) 1993-1994, 2001-2015 Free Software Foundation, Inc.
## This file is part of GNU Emacs.
#
-Copyright (C) 2013-2014 Free Software Foundation, Inc.
+Copyright (C) 2013-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
File: gnus-logo.eps, gnus-logo.pdf
Author: Luis Fernandes <elf@ee.ryerson.ca>
- Copyright (C) 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2015 Free Software Foundation, Inc.
License: GNU General Public License version 3 or later (see COPYING)
% Typical command to format: tex calccard.tex
% Typical command to print (3 cols): dvips -t landscape calccard.dvi
-% Copyright (C) 1987, 1992, 2001-2014 Free Software Foundation, Inc.
+% Copyright (C) 1987, 1992, 2001-2015 Free Software Foundation, Inc.
% This file is part of GNU Emacs.
% Reference Card for Dired
-% Copyright (C) 2000-2014 Free Software Foundation, Inc.
+% Copyright (C) 2000-2015 Free Software Foundation, Inc.
% Author: Evgeny Roubinchtein <eroubinc@u.washington.edu>
% Czech translation: Pavel Janík <Pavel@Janik.cz>, March 2001
% Reference Card for GNU Emacs
-% Copyright (C) 1987, 1993, 1996-1997, 2001-2014 Free Software
+% Copyright (C) 1987, 1993, 1996-1997, 2001-2015 Free Software
% Foundation, Inc.
% Author: Stephen Gildea <gildea@stop.mail-abuse.org>
% Title: GNU Emacs Survival Card
-% Copyright (C) 2000-2014 Free Software Foundation, Inc.
+% Copyright (C) 2000-2015 Free Software Foundation, Inc.
% Author: Wlodek Bzyl <matwb@univ.gda.pl>
% Czech translation: Pavel Janík <Pavel@Janik.cz>, March 2001
% Reference Card for GNU Emacs
-% Copyright (C) 1987, 1993, 1996, 2000-2014 Free Software Foundation,
+% Copyright (C) 1987, 1993, 1996, 2000-2015 Free Software Foundation,
% Inc.
% Author: Stephen Gildea <gildea@stop.mail-abuse.org>
% Reference Card for Dired
-% Copyright (C) 2000-2014 Free Software Foundation, Inc.
+% Copyright (C) 2000-2015 Free Software Foundation, Inc.
% Author: Evgeny Roubinchtein <eroubinc@u.washington.edu>
\def\versionemacs{@majorversion@} % major version of emacs
%% This one should not be automatically updated;
%% M-x set-copyright in admin.el handles it.
-\def\year{2014} % latest copyright year
+\def\year{2015} % latest copyright year
% Reference Card for Dired -*- coding: utf-8 -*-
-% Copyright (C) 2000-2014 Free Software Foundation, Inc.
+% Copyright (C) 2000-2015 Free Software Foundation, Inc.
% Author: Evgeny Roubinchtein <eroubinc@u.washington.edu>
% French translation: Eric Jacoboni
% Reference Card for GNU Emacs
-% Copyright (C) 1987, 1993, 1996-1997, 2001-2014 Free Software
+% Copyright (C) 1987, 1993, 1996-1997, 2001-2015 Free Software
% Foundation, Inc.
% Author: Stephen Gildea <gildea@stop.mail-abuse.org>
%&tex
% Title: GNU Emacs Survival Card
-% Copyright (C) 2000-2014 Free Software Foundation, Inc.
+% Copyright (C) 2000-2015 Free Software Foundation, Inc.
% Author: Wlodek Bzyl <matwb@univ.gda.pl>
% French translation: \'Eric Jacoboni <jaco@teaser.fr>, November 2001
%!PS-Adobe-2.0 EPSF-2.0
-% Copyright (C) 2000-2014 Free Software Foundation, Inc.
+% Copyright (C) 2000-2015 Free Software Foundation, Inc.
%
% Author: Luis Fernandes <elf@ee.ryerson.ca>
%
%% Gnus logo by Luis Fernandes.
\newcommand{\Copyright}{%
\begin{center}
- Copyright \copyright\ 1995, 2000, 2002--2014 Free Software Foundation, Inc.\\*
+ Copyright \copyright\ 1995, 2000, 2002--2015 Free Software Foundation, Inc.\\*
\end{center}
Permission is granted to make and distribute copies of this reference
\pdflayout=(0l)
% Nothing else needs to be changed below this line.
-% Copyright (C) 1987, 1993, 1996-1997, 2001-2014 Free Software
+% Copyright (C) 1987, 1993, 1996-1997, 2001-2015 Free Software
% Foundation, Inc.
% This file is part of GNU Emacs.
-% Copyright (C) 2007-2014 Free Software Foundation, Inc.
+% Copyright (C) 2007-2015 Free Software Foundation, Inc.
% This file is part of GNU Emacs.
%&mex
% Reference Card for GNU Emacs
-% Copyright (C) 1999, 2001-2014 Free Software Foundation, Inc.
+% Copyright (C) 1999, 2001-2015 Free Software Foundation, Inc.
% Author: Stephen Gildea <gildea@stop.mail-abuse.org>
% Polish translation: W{\l}odek Bzyl <matwb@univ.gda.pl>
% Reference Card for GNU Emacs
-% Copyright (C) 1987, 1993, 1996-1997, 2002-2004, 2006-2014 Free
+% Copyright (C) 1987, 1993, 1996-1997, 2002-2004, 2006-2015 Free
% Software Foundation, Inc.
% Author: Stephen Gildea <gildea@stop.mail-abuse.org>
% Reference Card for GNU Emacs
-% Copyright (C) 1987, 1993, 1996-1997, 2001-2014 Free Software
+% Copyright (C) 1987, 1993, 1996-1997, 2001-2015 Free Software
% Foundation, Inc.
% Author: Stephen Gildea <gildea@stop.mail-abuse.org>
-% Copyright (C) 1997, 2002-2014 Free Software Foundation, Inc.
+% Copyright (C) 1997, 2002-2015 Free Software Foundation, Inc.
% Author: Stephen Gildea <gildea@stop.mail-abuse.org>
% Russian translation: Alex Ott <alexott@gmail.com>
\setlength{\ColThreeWidth}{25mm}
\newcommand{\versionemacs}[0]{25} % version of Emacs this is for
-\newcommand{\cyear}[0]{2014} % copyright year
+\newcommand{\cyear}[0]{2015} % copyright year
\newcommand\shortcopyrightnotice[0]{\vskip 1ex plus 2 fill
\centerline{\footnotesize \copyright\ \cyear\ Free Software Foundation, Inc.
% Reference Card for Dired
-% Copyright (C) 2000-2014 Free Software Foundation, Inc.
+% Copyright (C) 2000-2015 Free Software Foundation, Inc.
% Author: Evgeny Roubinchtein <eroubinc@u.washington.edu>
% Czech translation: Pavel Janík <Pavel@Janik.cz>, March 2001
% Reference Card for GNU Emacs
-% Copyright (C) 1987, 1993, 1996-1997, 2001-2014 Free Software
+% Copyright (C) 1987, 1993, 1996-1997, 2001-2015 Free Software
% Foundation, Inc.
% Author: Stephen Gildea <gildea@stop.mail-abuse.org>
% Title: GNU Emacs Survival Card
-% Copyright (C) 2000-2014 Free Software Foundation, Inc.
+% Copyright (C) 2000-2015 Free Software Foundation, Inc.
% Author: Wlodek Bzyl <matwb@univ.gda.pl>
% Czech translation: Pavel Janík <Pavel@Janik.cz>, March 2001
%&tex
% Title: GNU Emacs Survival Card
-% Copyright (C) 2000-2014 Free Software Foundation, Inc.
+% Copyright (C) 2000-2015 Free Software Foundation, Inc.
% Author: Wlodek Bzyl <matwb@univ.gda.pl>
% Quick Reference Card for VIP
-% Copyright (C) 1987, 2001-2014 Free Software Foundation, Inc.
+% Copyright (C) 1987, 2001-2015 Free Software Foundation, Inc.
% Author: Masahiko Sato <ms@sail.stanford.edu>, <masahiko@sato.riec.tohoku.junet>
% ViperCard -- The Reference Card for Viper under GNU Emacs and XEmacs
-% Copyright (C) 1995-1997, 2001-2014 Free Software Foundation, Inc.
+% Copyright (C) 1995-1997, 2001-2015 Free Software Foundation, Inc.
% Author: Michael Kifer <kifer@cs.sunysb.edu> (Viper)
% Aamod Sane <sane@cs.uiuc.edu> (VIP 4.3)
-# Copyright (C) 2003-2004, 2007-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003-2004, 2007-2015 Free Software Foundation, Inc.
# This file is part of GNU Emacs.
# RELAX NG XML syntax expressed in RELAX NG Compact syntax.
-# Copyright (C) 2003-2004, 2007-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003-2004, 2007-2015 Free Software Foundation, Inc.
# This file is part of GNU Emacs.
-<!-- Copyright (C) 2003-2004, 2007-2014 Free Software Foundation, Inc.
+<!-- Copyright (C) 2003-2004, 2007-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
;;; ses--symbolic-formulas: (("Eastern area") ("West-district") ("North&South") ("Other"))
;;; End:
-;;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;;; COPYING PERMISSIONS:
;;;
;;; c.srt --- SRecode templates for c-mode
-;; Copyright (C) 2007-2010, 2012-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2010, 2012-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; cpp.srt --- SRecode templates for c++-mode
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; default.srt --- SRecode templates for srecode-template-mode
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;; doc-c.srt --- SRecode templates for "document" applications
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;; doc-default.srt --- SRecode templates for "document" applications
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;; doc-java.srt --- SRecode templates for "document" applications
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; ede/templates/autoconf.srt --- Templates for autoconf used by EDE
-;; Copyright (C) 2010, 2012-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010, 2012-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;; ede-make.srt --- SRecode templates for Makefiles used by EDE.
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; el.srt --- SRecode templates for Emacs Lisp mode
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Eric Ludlam <zappo@gnu.org>
;;; getset-cpp.srt --- SRecode templates for C++ class getter/setters.
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;; java.srt
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;; make.srt
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; template.srt --- Templates for Semantic Recoders
-;; Copyright (C) 2005, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2007-2015 Free Software Foundation, Inc.
;; Author: Eric Ludlam <zappo@gnu.org>
;; test.srt --- SRecode templates for testing
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;; texi.srt --- SRecode templates for Texinfo
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;; wisent.srt --- SRecode templates for Emacs/WISENT grammar files.
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; adwaita-theme.el --- Tango-based custom theme for faces
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Author: William Stevenson <yhvh2000@gmail.com>
;;; deeper-blue-theme.el --- Custom theme for faces
-;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
;; Author: Scott Frazer <frazer.scott@gmail.com>
;;; dichromacy-theme.el --- color theme suitable for color-blind users
-;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
;; Author: Chong Yidong <cyd@stupidchicken>
;;; leuven-theme.el --- Awesome Emacs color theme on white background
-;; Copyright (C) 2003-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
;; Author: Fabrice Niessen <(concat "fniessen" at-sign "pirilampo.org")>
;; URL: https://github.com/fniessen/emacs-leuven-theme
;;; light-blue-theme.el --- Custom theme for faces
-;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
;; Author: Drew Adams <drew.adams@oracle.com>
;;; manoj-dark.el --- A dark theme from Manoj
-;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
;; Author: Manoj Srivastava <srivasta@ieee.org>
;; Keywords: lisp, faces
;;; misterioso-theme.el --- Custom face theme for Emacs
-;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
;; Author: Sebastian Hermida
;;; tango-dark-theme.el --- Tango-based custom theme for faces
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Authors: Chong Yidong <cyd@stupidchicken>
;; Jan Moringen <jan.moringen@uni-bielefeld.de>
;;; tango-theme.el --- Tango-based custom theme for faces
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Authors: Chong Yidong <cyd@stupidchicken>
;; Jan Moringen <jan.moringen@uni-bielefeld.de>
;;; tsdh-dark-theme.el --- Tassilo's dark custom theme
-;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
;;; tsdh-light-theme.el --- Tassilo's light custom theme
-;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
;;; wheatgrass-theme.el --- custom theme for faces
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
;;; whiteboard-theme.el --- Custom theme for faces
-;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
;; Author: Scott Frazer <frazer.scott@gmail.com>
;;; wombat-theme.el --- Custom face theme for Emacs -*-coding: utf-8 -*-
-;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
;; Author: Kristoffer Grönlund <krig@koru.se>
This version of the tutorial is a part of GNU Emacs. It is copyrighted
and comes with permission to distribute copies on certain conditions:
- Copyright (C) 1985, 1996, 1998, 2001-2014 Free Software Foundation,
+ Copyright (C) 1985, 1996, 1998, 2001-2015 Free Software Foundation,
Inc.
This file is part of GNU Emacs.
This version of the tutorial, like GNU Emacs, is copyrighted, and
comes with permission to distribute copies on certain conditions:
- Copyright (C) 1985, 1996, 1998, 2001-2014 Free Software Foundation,
+ Copyright (C) 1985, 1996, 1998, 2001-2015 Free Software Foundation,
Inc.
This file is part of GNU Emacs.
This version of the tutorial is a part of GNU Emacs. It is copyrighted
and comes with permission to distribute copies on certain conditions:
- Copyright (C) 1985, 1996, 1998, 2001-2014 Free Software Foundation,
+ Copyright (C) 1985, 1996, 1998, 2001-2015 Free Software Foundation,
Inc.
This file is part of GNU Emacs.
本篇指南是 GNU Emacs 的一部分,并允许在下列条件的约束下发行其拷贝:
- Copyright (C) 1985, 1996, 1998, 2001-2014 Free Software Foundation,
+ Copyright (C) 1985, 1996, 1998, 2001-2015 Free Software Foundation,
Inc.
本文件为 GNU Emacs 的一部分。
Tato verze tutoriálu je, podobně jako GNU Emacs, chráněna copyrightem a
je šířena se svolením distribuovat kopie za jistých podmínek:
-Copyright (C) 1985, 1996, 1998, 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 1985, 1996, 1998, 2001-2015 Free Software Foundation, Inc.
Každému je zaručeno právo vytvářet a distribuovat přesné kopie tohoto
dokumentu tak, jak jej obdržel, na jakémkoliv médiu, s tím, že bude
dieser Urheberrechtsnotiz gültig ist (zu finden in der Datei
TUTORIAL).
- Copyright (C) 1985, 1996-1997, 2001-2014 Free Software Foundation,
+ Copyright (C) 1985, 1996-1997, 2001-2015 Free Software Foundation,
Inc.
Diese Datei ist ein Bestandteil von GNU Emacs.
kopirajton, kaj venas kun permeso por disdoni kopiojn se certaj
kondiĉoj estas observataj:
- Copyright (C) 1985, 1999, 2001-2002, 2005, 2007-2014 Free Software
+ Copyright (C) 1985, 1999, 2001-2002, 2005, 2007-2015 Free Software
Foundation, Inc.
Ĉi tiu dosiero estas parto de "GNU Emacs".
Nota importante: para terminar la sesión de Emacs teclee C-x C-c (dos
caracteres). Para cancelar un comando parcialmente introducido,
teclee C-g.
-Los caracteres ">>" en el margen izquierdo indican instrucciones para
+Los caracteres «>>» en el margen izquierdo indican instrucciones para
que usted trate de usar un comando. Por ejemplo:
<<Blank lines inserted around following line by help-with-tutorial>>
[Mitad de página en blanco para propósitos didácticos. El texto continúa abajo]
un lugar específico dentro del texto en la pantalla?
Puede hacerlo de diversas formas. Puede usar las teclas de flechas,
-pero es mas eficiente mantener las manos en la posición estándar y
+pero es más eficiente mantener las manos en la posición estándar y
usar los comandos C-p, C-b, C-f, y C-n. Estos caracteres son
equivalentes a las cuatro teclas de flechas, de esta manera:
- Línea anterior, C-P
+ Línea anterior, C-p
:
:
Atrás, C-b.... Posición actual del cursor .... Adelante, C-f
Cuando pase el tope o el final de la pantalla, se mostrará el texto
más allá del borde de la pantalla. Esto recibe el nombre de
-"desplazamiento". Esto le permite a Emacs mover el cursor al lugar
+«desplazamiento». Esto le permite a Emacs mover el cursor al lugar
especificado en el texto sin moverlo fuera de la pantalla.
>> Intente mover el cursor fuera del borde de la pantalla con C-n, y
Note el paralelo entre C-f y C-b de un lado y M-f y M-b del otro. Muy
frecuentemente los caracteres Meta se usan para operaciones
-relacionadas, con las unidades definidas por el lenguaje (palabras,
+relacionadas con las unidades definidas por el lenguaje (palabras,
oraciones y párrafos), mientras los caracteres Control operan sobre
unidades básicas que son independientes de lo que está editando
-(caracteres, líneas, etc).
+(caracteres, líneas, etc.).
Este paralelo se aplica entre líneas y oraciones: C-a y C-e para
moverse al comienzo o al final de la línea; y M-a y M-e para mover al
sigue moviendo una oración más. Aunque no son muy análogas, cada una
parece natural.
-La ubicación del cursor en el texto se llama también "punto". En
+La ubicación del cursor en el texto se llama también «punto». En
otras palabras, el cursor muestra sobre la pantalla donde está
situado el punto dentro del texto.
Menor que), el cual se mueve al comienzo del texto entero, y M-> (META
Mayor que), el cual se mueve al final del texto entero.
-En la mayoría de las terminales, el "<" está sobre la coma, por lo
+En la mayoría de las terminales, el «<» está sobre la coma, por lo
tanto tiene que usar la tecla shift para teclearlo. En estas
terminales tendrá que usar la tecla shift también al teclear M-<; sin
la tecla shift, usted estaría escribiendo M-coma.
ingresar un argumento numérico: teclear los dígitos mientras presiona
la tecla META. Recomendamos aprender el método C-u porque éste
funciona en cualquier terminal. El argumento numérico es también
-llamado un "argumento prefijo", porque usted teclea el argumento antes
+llamado un «argumento prefijo», porque usted teclea el argumento antes
del comando al que se aplica.
Por ejemplo, C-u 8 C-f mueve hacia adelante ocho caracteres.
>> Escriba C-u 100 para hacer un argumento numérico de 100, y luego
pruebe C-g.
- Ahora pruebe C-f. Esto deberá mover sólo un carácter, ya que
+ Ahora pruebe C-f. Esto deberá mover solo un carácter, ya que
canceló el argumento con C-g.
Si ha tecleado <ESC> por error, puede desecharlo con un C-g.
* COMANDOS DESACTIVADOS
-----------------------
-Algunos comandos de Emacs están "desactivados" de manera que los
+Algunos comandos de Emacs están «desactivados» de manera que los
usuarios principiantes no puedan usarlos accidentalmente.
Si teclea uno de los comandos desactivados, Emacs muestra un mensaje
Si realmente quiere intentar el comando, teclee Espacio como repuesta
a la pregunta. Normalmente, si no quiere ejecutar el comando
-desactivado, conteste la pregunta con "n".
+desactivado, conteste la pregunta con «n».
>> Escriba C-x C-l (que es un comando desactivado), a continuación
escriba n para responder la pregunta.
* VENTANAS
----------
-Emacs puede tener varias "ventanas", cada una mostrando su propio texto.
+Emacs puede tener varias «ventanas», cada una mostrando su propio texto.
Explicaremos después cómo usar múltiples ventanas. Ahora mismo
queremos explicar cómo deshacerse de ventanas adicionales y volver a
la edición básica en una ventana. Es sencillo:
Si quiere insertar un texto, basta con que lo teclee. Los caracteres
normales, como A, 7, *, etc. se insertan nada más teclearlos. Teclee
-<Return> (la tecla "Enter" o "Intro") para insertar un carácter de
+<Return> (la tecla «Enter» o «Intro») para insertar un carácter de
nueva línea.
Para borrar el carácter que precede al cursor, oprima <DEL>. Es una
-tecla alargada, normalmente etiquetada como "Backspace" o "Del", o con
+tecla alargada, normalmente etiquetada como «Backspace» o «Del», o con
una flecha apuntando a la izquierda; la misma que suele utilizar fuera
de Emacs para borrar el último carácter introducido.
-Puede haber otra tecla llamada "Del" o "Supr" en otra parte, pero ésa
+Puede haber otra tecla llamada «Del» o «Supr» en otra parte, pero ésa
no es <DEL>.
>> Haga esto ahora: teclee unos pocos caracteres, después bórrelos
personal de él.
Cuando una línea de texto se hace muy grande para una sola línea de la
-pantalla, la línea de texto "continúa" en una segunda línea en la
+pantalla, la línea de texto «continúa» en una segunda línea en la
pantalla. Si está usando un entorno gráfico, se mostrarán pequeñas
-flechas curvas en las estrechas franjas vacías (los "márgenes" derecho
+flechas curvas en las estrechas franjas vacías (los «márgenes» derecho
e izquierdo) a cada lado del área de texto, para indicar que la línea
continúa. Si está utilizando una terminal, la continuación se señala
mediante una barra invertida («\») en la última columna de la derecha.
de fin de línea, de forma que, al seguir tecleando en la línea recién
creada, el texto que tecleamos quede alineado con el de la línea
anterior. Este comportamiento (que la pulsación de una tecla no solo
-inserte el carácter correspondiente) se denomina "eléctrico".
+inserte el carácter correspondiente) se denomina «eléctrico».
->> Veamos un ejemplo de comportamiento "eléctrico" de <Return>
+>> Veamos un ejemplo de comportamiento «eléctrico» de <Return>
Teclee <Return> al final de esta línea.
Fíjese que, tras insertar el carácter de nueva línea, Emacs inserta
-también espacios para que el cursor se sitúe bajo la "T" de "Teclee".
+también espacios para que el cursor se sitúe bajo la «T» de «Teclee».
Recuerde que a la mayoría de los comandos de Emacs se les puede dar un
factor de repetición; esto incluye los caracteres de texto. Repetir
corregir errores. Puede borrar por palabras o por líneas. He aquí un
resumen de las operaciones de borrado:
- <DEL> borra el carácter justo antes que el cursor
+ <DEL> borra el carácter justo antes del cursor
C-d borra el siguiente carácter después del cursor
M-<DEL> Elimina la palabra inmediatamente antes del
paralelismo iniciado por C-f y M-f (bien, <DEL> no es realmente una
tecla de control, pero no nos preocuparemos de eso ahora). C-k y M-k,
en cierta forma, son como C-e y M-e, en que las líneas de unos
-corresponden a sentencias en los otros.
+corresponden a oraciones en los otros.
También puede eliminar un segmento contiguo de texto con un método
uniforme. Muévase a un extremo de ese segmento de texto, y teclee C-@
-o C-SPC (cualquiera de los dos). (SPC es la barra espaciadora.)
+o C-<SPC> (cualquiera de los dos). (<SPC> es la barra espaciadora.)
Luego, mueva el cursor al otro extremo del texto que desea eliminar.
Al hacerlo, Emacs resaltará el texto situado entre el cursor y la
-posición en la que tecleó C-SPC. Finalmente, teclee C-w. Eso elimina
+posición en la que tecleó C-<SPC>. Finalmente, teclee C-w. Eso elimina
todo el texto entre las dos posiciones.
>> Mueva el cursor a la letra T del inicio del párrafo anterior.
->> Teclee C-SPC. Emacs debe mostrar el mensaje "Mark set" en la parte
+>> Teclee C-<SPC>. Emacs debe mostrar el mensaje «Mark set» en la parte
de abajo de la pantalla.
->> Mueva el cursor a la x en "extremo", en la segunda línea del
+>> Mueva el cursor a la x en «extremo», en la segunda línea del
párrafo.
>> Teclee C-w. Esto eliminará el texto que comienza desde la T, y
termina justo antes de la x.
-La diferencia entre "eliminar" y "borrar" es que el texto "eliminado"
+La diferencia entre «eliminar» y «borrar» es que el texto «eliminado»
puede ser reinsertado (en cualquier posición), mientras que las cosas
-"borradas" no pueden ser reinsertadas (sin embargo, es posible
+«borradas» no pueden ser reinsertadas (sin embargo, es posible
deshacer el borrado; ver más abajo). La reinserción de texto
-eliminado se llama "yanking" o "pegar". Generalmente, los comandos
+eliminado se llama «yanking» o «pegar». Generalmente, los comandos
que pueden quitar mucho texto lo eliminan (para que pueda pegarlo de
nuevo) mientras que los comandos que quitan solo un carácter, o solo
líneas en blanco y espacios, borran (y por tanto no se puede pegar lo
Note que al teclear C-k una sola vez elimina el contenido de la línea,
y un segundo C-k elimina la línea misma, y hace que todas las otras
líneas se muevan hacia arriba. C-k trata un argumento numérico
-especialmente: Elimina ese número de líneas y TAMBIÉN sus
+especialmente: elimina ese número de líneas y TAMBIÉN sus
contenidos. Esto no es una simple repetición. C-u 2 C-k elimina dos
líneas y sus nuevas líneas, tecleando C-k dos veces no hace esto.
-Reinsertar texto eliminado se denomina "yanking" o "pegar". (Piense
+Reinsertar texto eliminado se denomina «yanking» o «pegar». (Piense
en ello como pegar de nuevo, o traer de vuelta, algún texto que le fue
quitado.) Puede pegar el texto eliminado, ya sea el lugar en que fue
eliminado, o en otra parte del buffer, o hasta en un archivo
diferente. Puede pegar el texto varias veces, lo que hace varias
copias de él. Algunos editores se refieren a eliminar y reinsertar
-como "cortar" y "pegar" (consulte el Glosario en el manual de Emacs).
+como «cortar» y «pegar» (consulte el Glosario en el manual de Emacs).
El comando para pegar es C-y. Reinserta el último texto eliminado, en
la posición actual del cursor.
reciente, tecleando M-y reemplaza el texto pegado con la eliminación
previa. Tecleando M-y una y otra vez traerá las eliminaciones
anteriores. Cuando haya encontrado el texto que buscaba, no tiene que
-hacer nada para conservarlo. Sólo siga con su edición, dejando el
+hacer nada para conservarlo. Solo siga con su edición, dejando el
texto pegado en donde está.
Si teclea M-y suficientes veces, regresa al punto inicial (la
Para que pueda hacer permanente el texto que edite, lo debe colocar en
un archivo. De otra manera, éste se perderá cuando cierre Emacs.
-Para poder poner su texto en un archivo, debe "encontrar" el archivo
-antes de ingresar el texto. (Esto se llama también "visitar" el
+Para poder poner su texto en un archivo, debe «encontrar» el archivo
+antes de ingresar el texto. (Esto se llama también «visitar» el
archivo.)
Encontrar un archivo significa que puede ver su contenido dentro de
Emacs. En cierta forma, es como si estuviera editando el archivo
mismo. Sin embargo los cambios que haga mediante Emacs no serán
-permanentes hasta que "guarde" el archivo. Esto es para evitar dejar
+permanentes hasta que «guarde» el archivo. Esto es para evitar dejar
un archivo a medio cambiar en el sistema cuando no quiera. Incluso
cuando guarde, Emacs dejará el archivo original bajo un nombre
cambiado en caso de que luego decida que sus cambios fueron un error.
Si mira cerca del final de la pantalla podrá ver una línea que
-comienza con guiones, y empieza con " -:--- TUTORIAL.es" o algo así.
+comienza con guiones, y empieza con « U:--- TUTORIAL.es» o algo así.
Esta parte de la pantalla normalmente muestra el nombre del archivo
que está visitando. En este momento está visitando su propia copia
-del tutorial de Emacs, que se llama "TUTORIAL.es". Cuando encuentre
+del tutorial de Emacs, que se llama «TUTORIAL.es». Cuando encuentre
un archivo con Emacs, el nombre de ese archivo aparecerá en ese mismo
punto.
-Una cosa especial acerca del comando para encontrar un archivo, es que
+Una cosa especial acerca del comando para encontrar un archivo es que
tendrá que decir qué nombre de archivo desea. Decimos que el comando
-"lee un argumento" (en este caso, el argumento es el nombre del
+«lee un argumento» (en este caso, el argumento es el nombre del
archivo). Después de teclear el comando:
C-x C-f Encontrar un archivo
Esto copia el texto dentro de Emacs al archivo. La primera vez que
haga esto, Emacs renombrará el archivo original con un nuevo nombre
-para que éste no se pierda. El nuevo nombre se hace agregando "~" al
+para que éste no se pierda. El nuevo nombre se hace agregando «~» al
final del nombre del archivo original. Cuando guardar haya terminado,
Emacs mostrará el nombre del archivo escrito.
>> Teclee C-x C-s TUTORIAL.es <Return>
Esto guardará el tutorial en un archivo llamado TUTORIAL.es, y
- mostrará "Wrote ...TUTORIAL.es" al final de la pantalla.
+ mostrará «Wrote ...TUTORIAL.es» al final de la pantalla.
Puede encontrar un archivo existente, para verlo o editarlo. También
puede hacerlo con un archivo que no exista. Ésta es la forma de crear
un archivo en Emacs: encuentre el archivo, que está inicialmente vacío,
luego comience a insertar el texto para ese archivo. Cuando invoque
-"guardar" el archivo, Emacs creará realmente el archivo con el texto
+«guardar» el archivo, Emacs creará realmente el archivo con el texto
que ha insertado. De ahí en adelante, puede considerar que está
editando un archivo existente.
de Emacs.
Emacs almacena cada texto del archivo dentro de un objeto llamado
-"buffer". Al encontrar un archivo se crea un nuevo buffer dentro de
+«buffer». Al encontrar un archivo se crea un nuevo buffer dentro de
Emacs. Para mirar la lista de los buffers que existen actualmente,
teclee:
>> Teclee C-x 1 para deshacerse de la lista de buffers.
-Cuando tenga varios buffers, solo uno de ellos es "actual" en algún
+Cuando tenga varios buffers, solo uno de ellos es «actual» en algún
momento. Ese buffer es el que actualmente edita. Si quiere editar
-otro buffer, necesita "cambiar" a él. Si quiere cambiar a un buffer
+otro buffer, necesita «cambiar» a él. Si quiere cambiar a un buffer
que corresponde a un archivo, puede hacerlo visitando el archivo de
nuevo con C-x C-f. Pero existe una manera más rápida: use el comando
C-x b. En ese comando, necesita teclear el nombre de buffer.
->> Cree un archivo llamado "foo" tecleando C-x C-f foo <Return>.
+>> Cree un archivo llamado «foo» tecleando C-x C-f foo <Return>.
Después teclee C-x b TUTORIAL.es <Return> para regresar a este
tutorial.
muestra el nombre de cada buffer y de su archivo correspondiente.
Algunos buffers no corresponden a un archivo. El buffer llamado
-"*Buffer List*", que contiene la lista de buffers que ha creado con
+«*Buffer List*», que contiene la lista de buffers que ha creado con
C-x C-b, no tiene archivo. Este buffer TUTORIAL.es al principio no
tenía archivo, pero ahora sí, porque en la sección anterior tecleó
C-x C-s y lo guardó en un archivo.
-El buffer llamado "*Messages*" tampoco tiene un archivo
+El buffer llamado «*Messages*» tampoco tiene un archivo
correspondiente. Este buffer contiene los mensajes que han aparecido
en la línea de abajo durante su sesión de Emacs.
>> Inserte una línea de texto, luego teclee C-x s.
Debería preguntarle si desea guardar el buffer llamado TUTORIAL.es.
- Conteste si a la pregunta tecleando "y".
+ Conteste «sí» a la pregunta tecleando «y».
* EXTENDER EL CONJUNTO DE COMANDOS
especial para cambiar de Emacs a otra aplicación. Puede hacerlo con
el ratón, o mediante el gestor de ventanas. Sin embargo, si está
usando una terminal que solo puede mostrar una aplicación a la vez,
-tendrá que "suspender" Emacs para poder acceder a otras aplicaciones.
+tendrá que «suspender» Emacs para poder acceder a otras aplicaciones.
C-z es el comando para salir de Emacs *temporalmente*: para que pueda
regresar a la misma sesión de Emacs después. Cuando Emacs está
-ejecutándose en una terminal, C-z "suspende" Emacs; esto es, se
+ejecutándose en una terminal, C-z «suspende» Emacs; esto es, se
regresa al intérprete de comandos pero no se destruye Emacs. En los
intérpretes de comandos más comunes, puede reanudar Emacs con el
-comando "fg" o con "%emacs".
+comando «fg» o con «%emacs».
El momento para usar C-x C-c es cuando está listo para salir del
sistema. Es además el paso correcto para salir de un Emacs invocado
comando replace-string, el cual substituye una cadena de caracteres
por otra en todo el buffer. Cuando teclea M-x, Emacs le pregunta al
final de la pantalla con M-x y debe escribir el nombre del comando; en
-este caso "replace-string". Solo teclee "repl s<TAB>" y Emacs
+este caso «replace-string». Solo teclee «repl s<TAB>» y Emacs
completará el nombre. (<TAB> es la tecla del tabulador, que
habitualmenté está situada sobre la tecla de bloquear mayúsculas o la
de shift, en el lado izquierdo del teclado.) Para aceptar el comando
M-x repl s<Return>cambiado<Return>alterado<Return>.
Note cómo ha cambiado la línea: ha substituido la palabra
- "cambiado" por "alterado" en cada ocurrencia, después de la
+ «cambiado» por «alterado» en cada ocurrencia, después de la
posición inicial del cursor.
Si ha hecho cambios en un archivo, pero no los ha guardado, éstos
podrían perderse si su computadora falla. Para protegerlo de esto,
-Emacs periódicamente escribe un archivo "auto guardado" para cada
+Emacs escribe periódicamente un archivo «auto guardado» para cada
archivo que está editando. El nombre del archivo auto guardado tiene
un # al principio y al final; por ejemplo, si su archivo se llama
-"hola.c", su archivo auto guardado es "#hola.c#". Cuando guarda por
+«hola.c», su archivo auto guardado es «#hola.c#». Cuando guarda por
la vía normal, Emacs borra su archivo de auto guardado.
Si la computadora falla, puede recuperar su edición de auto guardado
Si Emacs ve que usted está tecleando comandos de multicaracteres
lentamente, se los muestra al final de la pantalla en un área llamada
-"área de eco". El área de eco contiene la línea final de la pantalla.
+«área de eco». El área de eco contiene la línea final de la pantalla.
* LÍNEA DE MODO
---------------
La línea inmediatamente encima del área de eco recibe el nombre de
-"línea de modo" o "mode line". La línea de modo dice algo así:
+«línea de modo» o «mode line». La línea de modo dice algo así:
- -:**- TUTORIAL.es 63% L749 (Fundamental)
+ U:**- TUTORIAL.es 63% L749 (Fundamental)
Esta línea da información útil acerca del estado de Emacs y del texto
que está editando.
ha encontrado. NN% indica su posición actual en el texto; esto
significa que NN por ciento del texto está encima de la parte superior
de la pantalla. Si el principio del archivo está en la pantalla, éste
-dirá "Top" en vez de " 0%". Si el final del texto está en la
-pantalla, dirá "Bot". Si está mirando un texto tan pequeño que cabe
-entero en la pantalla, el modo de línea dirá "All".
+dirá «Top» en vez de « 0%». Si el final del texto está en la
+pantalla, dirá «Bot». Si está mirando un texto tan pequeño que cabe
+entero en la pantalla, el modo de línea dirá «All».
La L y los dígitos señalan la posición de otra forma: indican el
número de línea actual del punto.
La parte de la línea de modo dentro de los paréntesis es para
indicarle en qué modo de edición está. El modo por omisión es
Fundamental, el cual está usando ahora. Éste es un ejemplo de un
-"modo mayor".
+«modo mayor».
Emacs tiene diferentes modos mayores. Algunos están hechos para
editar diferentes lenguajes y/o clases de texto, tales como modo de
Lisp, modo de Texto, etc. En cualquier momento uno y solo un modo
mayor está activo, y su nombre siempre se puede encontrar en la línea
-de modo, justo en donde "Fundamental" está ahora.
+de modo, justo en donde «Fundamental» está ahora.
Cada modo mayor hace que algunos comandos actúen diferente. Por
ejemplo, hay comandos para crear comentarios en un programa, y como
de palabras.
Los modos mayores normalmente hacen cambios sutiles como el anterior:
-la mayoría de comandos hacen "el mismo trabajo" en cada modo mayor,
+la mayoría de comandos hacen «el mismo trabajo» en cada modo mayor,
pero funcionan de forma un poco diferente.
Para ver la documentación del modo mayor actual, teclee C-h m.
Cuando el modo esté activado, puede desactivarlo nuevamente usando M-x
auto-fill-mode <Return>. Si el modo está desactivado, este comando lo
activa, y si el modo está activado, este comando lo desactiva.
-Decimos que el comando "cambia el modo".
+Decimos que el comando «cambia el modo».
>> teclee M-x auto-fill-mode <Return> ahora. Luego inserte una línea
- de "asdf " repetidas veces hasta que la vea dividida en dos líneas.
- Debe intercalar espacios porque Auto Fill sólo rompe líneas en los
+ de «asdf » repetidas veces hasta que la vea dividida en dos líneas.
+ Debe intercalar espacios porque Auto Fill solo rompe líneas en los
espacios.
El margen está normalmente puesto en 70 caracteres, pero puede
* BUSCAR
--------
-Emacs puede hacer búsquedas de cadenas (una "cadena" es un grupo de
+Emacs puede hacer búsquedas de cadenas (una «cadena» es un grupo de
caracteres contiguos) hacia adelante a través del texto o hacia atrás
en el mismo. La búsqueda de una cadena es un comando de movimiento de
cursor; mueve el cursor al próximo lugar donde esa cadena aparece.
-El comando de búsqueda de Emacs es "incremental". Esto significa que
+El comando de búsqueda de Emacs es «incremental». Esto significa que
la búsqueda ocurre mientras teclea la cadena para buscarla.
El comando para iniciar una búsqueda es C-s para búsqueda hacia
adelante, y C-r para la búsqueda hacia atrás. ¡PERO ESPERE! No los
intente aún.
-Cuando teclee C-s verá que la cadena "I-search" aparece como una
+Cuando teclee C-s verá que la cadena «I-search» aparece como una
petición en el área de eco. Esto le indica que Emacs está en lo que
se conoce como búsqueda incremental, esperando que teclee lo que
quiere buscar. <Return> termina una búsqueda.
>> Ahora teclee C-s para comenzar la búsqueda. LENTAMENTE, una letra
- a la vez, teclee la palabra "cursor", haciendo pausa después de
+ a la vez, teclee la palabra «cursor», haciendo pausa después de
cada carácter para notar lo que pasa con el cursor.
- Ahora ha buscado "cursor", una vez.
+ Ahora ha buscado «cursor», una vez.
>> Teclee C-s de nuevo, para buscar la siguiente ocurrencia de
- "cursor".
+ «cursor».
>> Ahora teclee <DEL> cuatro veces y vea como se mueve el cursor.
>> Teclee <Return> para terminar la búsqueda.
-¿Vió lo que ocurrió? Emacs, en una búsqueda incremental, trata de ir
+¿Vio lo que ocurrió? Emacs, en una búsqueda incremental, trata de ir
a la ocurrencia de la cadena que ha tecleado hasta el momento. Para
-ir a la próxima ocurrencia de "cursor" solo teclee C-s de nuevo. Si
+ir a la próxima ocurrencia de «cursor» solo teclee C-s de nuevo. Si
tal ocurrencia no existe, Emacs pita y le dice que la búsqueda actual
-está fallando ("failing"). C-g también termina la búsqueda.
+está fallando («failing»). C-g también termina la búsqueda.
Si se encuentra en medio de una búsqueda incremental y teclea <DEL>,
-la búsqueda "vuelve" a un punto anterior. Si teclea <DEL> justo
+la búsqueda «vuelve» a un punto anterior. Si teclea <DEL> justo
después de teclear C-s para avanzar hasta la siguiente ocurrencia de
la cadena buscada, el cursor retrocede a una ocurrencia previa. Si no
hay ocurrencias previas, <DEL> borra el último carácter de la cadena
-buscada. Por ejemplo, suponga que ha tecleado "c", para buscar la
-primera ocurrencia de "c". Ahora, si teclea "u", el cursor se moverá
-a la primera ocurrencia de "cu". Ahora teclee <DEL>. Esto borra la
-"u" de la cadena buscada, y el cursor vuelve a la primera ocurrencia
-de "c".
+buscada. Por ejemplo, suponga que ha tecleado «c», para buscar la
+primera ocurrencia de «c». Ahora, si teclea «u», el cursor se moverá
+a la primera ocurrencia de «cu». Ahora teclee <DEL>. Esto borra la
+«u» de la cadena buscada, y el cursor vuelve a la primera ocurrencia
+de «c».
Si está en medio de una búsqueda y teclea un carácter control o meta
(con algunas pocas excepciones: los caracteres que son especiales en
Una de las características agradables de Emacs es que se puede mostrar
más de una ventana en la pantalla al mismo tiempo. (Note que Emacs
-usa el término "marcos", descrito en la siguiente sección, para
-referirse a lo que otras aplicaciones llaman "ventanas". El manual de
+usa el término «marcos», descrito en la siguiente sección, para
+referirse a lo que otras aplicaciones llaman «ventanas». El manual de
Emacs contiene un Glosario de términos.)
>> Mueva el cursor a esta línea y teclee C-l C-l.
>> Teclee C-M-v para desplazar la ventana inferior.
(Si no tiene una tecla META real, teclee ESC C-v.)
->> Teclee C-x o ("o" para "otro") para mover el cursor a la ventana
+>> Teclee C-x o («o» para «otro») para mover el cursor a la ventana
inferior.
>> Use C-v y M-v en la ventana inferior para desplazarla.
Siga leyendo estas direcciones en la ventana superior.
El cursor en la ventana superior está justo donde estaba antes.
Puede continuar usando C-x o para cambiar entre las ventanas. La
-"ventana seleccionada", donde tiene lugar casi toda la edición, es la
+«ventana seleccionada», donde tiene lugar casi toda la edición, es la
que tiene un cursor muy visible que parpadea cuando usted no está
tecleando. Las otras ventanas tienen su propia posición del cursor;
si está ejecutando Emacs en una pantalla gráfica, esos cursores se
C-M-v es un ejemplo de un carácter CONTROL-META. Si tiene una tecla
META (o Alt), puede teclear C-M-v pulsando a la vez CONTROL y META
-mientras teclea v. No importa qué tecla "vaya primero", CONTROL o
+mientras teclea v. No importa qué tecla «vaya primero», CONTROL o
META, porque las dos teclas actúan modificando los caracteres que
teclea.
ventana de abajo.
(Si hubiera tecleado C-x 1 en la ventana inferior, esto eliminaría la
-superior. Piense en este comando como "mantener sólo una
-ventana--aquella en la cual estoy.")
+superior. Piense en este comando como «mantener solo una
+ventana —aquella en la cual estoy—».)
No tiene por qué mostrarse el mismo buffer en ambas ventanas. Si usa
C-x C-f para encontrar un archivo en una ventana, la otra ventana no
* MÚLTIPLES MARCOS
------------------
-Emacs puede crear también múltiples "marcos". Marco es como
-denominamos a un grupo de ventanas, junto con sus menus, barras de
+Emacs puede crear también múltiples «marcos». Marco es como
+denominamos a un grupo de ventanas, junto con sus menús, barras de
desplazamiento, áreas de eco, etc. En entornos gráficos, lo que Emacs
-denomina "marco" es lo que otras aplicaciones llaman "ventana". En
+denomina «marco» es lo que otras aplicaciones llaman «ventana». En
entornos gráficos, es posible mostrar varios marcos al mismo tiempo.
En una terminal, solo se puede mostrar un marco a la vez.
También puede destruir un marco mediante el método normal que ofrezca
el entorno gráfico (a menudo, pinchando con el ratón en un botón
-etiquetado como "X" en alguna de las esquinas superiores del marco).
+etiquetado como «X» en alguna de las esquinas superiores del marco).
Si al hacer eso destruye el último marco de Emacs, la aplicación
termina.
* NIVELES RECURSIVOS DE EDICIÓN
--------------------------------
-Algunas veces entrará a lo que es llamado un "nivel recursivo de
-edición". Esto se indica en la línea de modo mediante corchetes en la
+Algunas veces entrará a lo que es llamado un «nivel recursivo de
+edición». Esto se indica en la línea de modo mediante corchetes en la
línea de modo, rodeando los paréntesis del nombre del modo mayor. Por
ejemplo, probablemente vea [(Fundamental)] en vez de (Fundamental).
Para salir de los niveles recursivos de edición, teclee ESC ESC ESC.
-Éste es un comando de "salida" para todo propósito. También lo puede
+Éste es un comando de «salida» para todo propósito. También lo puede
usar para eliminar ventanas extras, y salir del minibuffer.
>> Teclee M-x para entrar a un minibuffer; luego teclee ESC ESC ESC
para salir.
-No se puede usar C-g para salir de los "niveles recursivos de
-edición". Esto es porque C-g es usado para cancelar comandos y
+No se puede usar C-g para salir de los «niveles recursivos de
+edición». Esto es porque C-g es usado para cancelar comandos y
argumentos DENTRO del nivel recursivo de edición.
-* CONSEGUIR MAS AYUDA
+* CONSEGUIR MÁS AYUDA
---------------------
En este tutorial hemos tratado de ofrecer suficiente información para
imposible explicar todo aquí. Sin embargo, quizá desee aprender más
sobre Emacs, ya que tiene muchas otras características útiles. Emacs
provee comandos para leer documentación acerca de los comandos de
-Emacs. Todos estos comandos de "ayuda" comienzan con el carácter
-Control-h, que es llamado "el carácter de Ayuda (Help)".
+Emacs. Todos estos comandos de «ayuda» comienzan con el carácter
+Control-h, que es llamado «el carácter de Ayuda (Help)».
Para usar las funciones de ayuda, teclee el carácter C-h, y luego un
carácter que especifica qué tipo de ayuda quiere. Si está REALMENTE
C-p runs the command previous-line
-Esto le dice el "nombre de la función". Ya que los nombres de las
+Esto le dice el «nombre de la función». Ya que los nombres de las
funciones se eligen para indicar lo que hace el comando, pueden servir
como una breve documentación: suficiente para recordarle los comandos
que ha aprendido.
-Los comandos de múltiples caracteres tales como C-x C-s y (sí no tiene
+Los comandos de múltiples caracteres tales como C-x C-s y (si no tiene
las teclas META o EDIT o ALT) <ESC>v también están permitidos después
de C-h c.
>> Teclee C-h a file <Return>.
Esto muestra en otra ventana una lista de todos los comandos M-x con
-la palabra "file" en sus nombres. Verá los comandos de caracteres
+la palabra «file» en sus nombres. Verá los comandos de caracteres
listados junto a los nombres de los comandos correspondientes (por
ejemplo, C-x C-f junto a find-file).
>> Teclee C-x 1 para borrar la ventana de ayuda.
C-h i Leer los manuales incluidos (alias Info). Este comando
- lo pone en un buffer especial llamado "*info*" donde
+ lo pone en un buffer especial llamado «*info*» donde
puede leer manuales de los paquetes instalados en su
sistema. Teclee m emacs <Return> para leer el manual
de Emacs. Si nunca ha usado Info, teclee ? y Emacs y
---------------------
Puede aprender más acerca de Emacs leyendo su manual, ya sea como
-libro o en el propio Emacs (use el menú Ayuda, "Help", o teclee C-h
+libro o en el propio Emacs (use el menú Ayuda, «Help», o teclee C-h
r). Dos características que pueden gustarle son la completación, que
ahorra teclear, y dired, que simplifica el manejo de archivos.
La completación es una manera de ahorrar teclear innecesariamente.
-Por ejemplo, si quiere cambiarse al buffer "*Messages*", puede teclear
+Por ejemplo, si quiere cambiarse al buffer «*Messages*», puede teclear
C-x b *M<Tab> y Emacs encontrará el resto del nombre del buffer tan
lejos como pueda determinar de lo que ya haya tecleado. La
completación también funciona con nombres de comandos y de archivos.
La completación se describe en el Info del manual de Emacs en el nodo
-llamado "Completion".
+llamado «Completion».
Dired le permite listar los archivos en un directorio (y opcionalmente
sus subdirectorios), moverse alrededor de esa lista, visitar,
renombrar, borrar y aparte de eso operar en los archivos. Dired está
-descrito en el manual de Emacs en el nodo llamado "Dired".
+descrito en el manual de Emacs en el nodo llamado «Dired».
El manual también describe otras características de Emacs.
Este tutorial intenta ser comprensible para todos los usuarios nuevos,
así que si encuentra algo que no esté claro, no se quede parado
-culpándose a sí mismo: ¡Quéjese!
+culpándose a sí mismo: ¡quéjese!
* COPIA
Rafael Sepúlveda <drs@gnulinux.org.mx>
Juanma Barranquero <lekktu@gmail.com>
-Por favor, en caso de duda, sólo es válido el original en inglés de la
+Por favor, en caso de duda, solo es válido el original en inglés de la
siguiente nota de derechos de reproducción (que puede encontrar en el
archivo TUTORIAL).
-Copyright (C) 1985, 1996, 1998, 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 1985, 1996, 1998, 2001-2015 Free Software Foundation, Inc.
Se permite a cualquiera hacer o distribuir copias literales de este
documento como se recibe, en cualquier medio, siempre que la nota
Las condiciones para copiar Emacs mismo son más complejas, pero con el
mismo espíritu. Por favor lea el archivo COPYING y luego distribuya
copias de GNU Emacs a sus amigos. ¡Ayude a erradicar el
-obstruccionismo del software ("propietariedad") usando, escribiendo, y
+obstruccionismo del software («propietariedad») usando, escribiendo, y
compartiendo software libre!
--- end of TUTORIAL.es ---
droit d'auteur, et vous pouvez en distribuer des copies sous certaines
conditions :
-Copyright (C) 1985, 1996, 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 1985, 1996, 2001-2015 Free Software Foundation, Inc.
Chacun peut créer ou distribuer des copies de ce document tel qu'il
l'a reçu, sur n'importe quel support, pourvu que la note de
גירסה זו של השיעור הינה חלק מחבילת GNU Emacs. היא מוגנת בזכויות יוצרים
וניתנת להעתקה והפצת עותקים בתנאים מסויימים כדלקמן:
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
GNU Emacs הינו תכנה חפשית; זכותכם להפיצו ו\או לשנותו בכפוף לתנאי
הרשיון GNU General Public License, כפי שהוא יוצא לאור ע"י Free
indicativo, restando comunque inteso il fatto che è quella originale a
fare fede.
-Copyright (C) 2003-2014 Free Software Foundation, Inc.
+Copyright (C) 2003-2015 Free Software Foundation, Inc.
È permesso a chiunque copiare e distribuire attraverso ogni mezzo copie
fedeli di questo documento così come viene ricevuto, a condizione che
This version of the tutorial, like GNU Emacs, is copyrighted, and
comes with permission to distribute copies on certain conditions:
-Copyright (C) 1985, 1996, 1998, 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 1985, 1996, 1998, 2001-2015 Free Software Foundation, Inc.
Permission is granted to anyone to make or distribute verbatim copies
of this document as received, in any medium, provided that the
GNU 이맥스와 같이 이 지침서 판은 저작권이 있으며 특정한 조건을 만족할
때에 복사본을 배포할 수 있는 허가를 갖고 나온 것이다:
-Copyright (C) 1985, 1996, 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 1985, 1996, 2001-2015 Free Software Foundation, Inc.
이 문서는 이 저작권 공고와 허용 공고가 그대로 유지되고, 배포자가
수취자에게 이 공고에 따라 허용되는 것처럼 또 재분배하는 것을
onder copyright. Je mag deze inleiding verspreiden onder bepaalde
voorwaarden:
- Copyright (C) 1985, 1996, 1998, 2001-2014 Free Software Foundation,
+ Copyright (C) 1985, 1996, 1998, 2001-2015 Free Software Foundation,
Inc.
Dit bestand is onderdeel van GNU Emacs.
This version of the tutorial is a part of GNU Emacs. It is copyrighted
and comes with permission to distribute copies on certain conditions:
- Copyright (C) 1985, 1996, 1998, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1985, 1996, 1998, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
Ta wersja samouczka, podobnie jak GNU Emacs, jest chroniona prawem
autorskim, ale wolno ją kopiować pod następującymi warunkami:
-Copyright (C) 1985, 1994, 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 1985, 1994, 2001-2015 Free Software Foundation, Inc.
Zezwala się na wykonywanie lub rozpowszechnianie
wiernych kopii tego dokumentu w otrzymanej formie, na dowolnym
<marcelo@gnu.org> e como o GNU Emacs, tem um copyright, e vem
com uma permissão de distribuição de cópias nas seguintes condições:
-Copyright (C) 2004-2014 Free Software Foundation, Inc.
+Copyright (C) 2004-2015 Free Software Foundation, Inc.
Permissão é garantida a qualquer um para fazer ou distribuir cópias
integrais deste documento como recebido, em qualquer meio, deixando
Această versiune a fost produsă plecând de la versiunea în limba
engleză, care este
-Copyright (c) 1985, 2013-2014 Free Software Foundation, Inc.
+Copyright (c) 1985, 2013-2015 Free Software Foundation, Inc.
Citiţi acum versiunea românească a tutorialului de Emacs.
This version of the tutorial, like GNU Emacs, is copyrighted, and
comes with permission to distribute copies on certain conditions:
-Copyright (C) 1998, 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 1998, 2001-2015 Free Software Foundation, Inc.
Permission is granted to anyone to make or distribute verbatim copies
of this document as received, in any medium, provided that the
(copyrighted) и приходит с ограничениями распространения копий со
следующими соглашениями:
-Copyright (C) 1985, 1996, 1998, 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 1985, 1996, 1998, 2001-2015 Free Software Foundation, Inc.
Permission is granted to anyone to make or distribute verbatim copies
of this document as received, in any medium, provided that the
Táto verzia tútorialu je, podobne ako GNU Emacs, chránená copyrightom
a je šírená s povolením distribuovať kópie za istých podmienok:
-Copyright (C) 1985, 1996, 1998, 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 1985, 1996, 1998, 2001-2015 Free Software Foundation, Inc.
Každému je zaručené právo vytvárať a distribuovať presné kópie tohto
dokumentu tak, ako ho dostal, na akomkoľvek médiu, s tým, že bude
To besedilo, kot sam GNU Emacs, je avtorsko delo, in njegovo
razmnoževanje in razširjanje je dovoljeno pod naslednjimi pogoji:
-Copyright © 1985, 1996, 1998, 2001-2014 Free Software Foundation, Inc.
+Copyright © 1985, 1996, 1998, 2001-2015 Free Software Foundation, Inc.
Ta datoteka je del paketa GNU Emacs.
This version of the tutorial, like GNU Emacs, is copyrighted, and
comes with permission to distribute copies on certain conditions:
-Copyright (C) 1985, 1996, 1998, 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 1985, 1996, 1998, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
This version of the tutorial, like GNU Emacs, is copyrighted, and
comes with permission to distribute copies on certain conditions:
-Copyright (C) 1985, 1996, 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 1985, 1996, 2001-2015 Free Software Foundation, Inc.
Permission is granted to anyone to make or distribute verbatim copies
of this document as received, in any medium, provided that the
這個版本的快速指南和 GNU Emacs 一樣都是版權化的,並且允許在某些條件下
散佈其拷貝:
-Copyright (C) 1985, 1996, 1998, 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 1985, 1996, 1998, 2001-2015 Free Software Foundation, Inc.
Permission is granted to anyone to make or distribute verbatim copies
of this document as received, in any medium, provided that the
+2015-01-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ Less 'make' chatter for leim
+ * Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_GEN, am__v_GEN_)
+ (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
+ (am__v_at_1): New macros, from src/Makefile.in.
+ (${leimdir}/quail/%.el, misc_convert, ${leimdir}/leim-list.el)
+ (${leimdir}/ja-dic/ja-dic.el): Use them.
+
2014-12-14 Paul Eggert <eggert@cs.ucla.edu>
* SKK-DIC/SKK-JISYO.L: Update to version 1.1216.
;; coding: utf-8
;; End:
- Copyright (C) 1997-1999, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-1999, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
### @configure_input@
-# Copyright (C) 1997-2014 Free Software Foundation, Inc.
+# Copyright (C) 1997-2015 Free Software Foundation, Inc.
# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
# 2006, 2007, 2008, 2009, 2010, 2011
# National Institute of Advanced Industrial Science and Technology (AIST)
# Where the generated files go.
leimdir = ${srcdir}/../lisp/leim
+# 'make' verbosity.
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+
# Prevent any settings in the user environment causing problems.
unexport EMACSDATA EMACSDOC EMACSPATH
## All of TIT_GB and TIT_BIG5.
${leimdir}/quail/%.el: ${srcdir}/CXTERM-DIC/%.tit
- ${RUN_EMACS} -l titdic-cnv \
+ $(AM_V_GEN)${RUN_EMACS} -l titdic-cnv \
-f batch-titdic-convert -dir ${leimdir}/quail $<
-misc_convert = ${RUN_EMACS} -l titdic-cnv -f batch-miscdic-convert -dir ${leimdir}/quail
+misc_convert = $(AM_V_GEN)${RUN_EMACS} \
+ -l titdic-cnv -f batch-miscdic-convert -dir ${leimdir}/quail
## CTLau.el, CTLau-b5.el.
${leimdir}/quail/CT%.el: ${srcdir}/MISC-DIC/CT%.html
leim-list.el: ${leimdir}/leim-list.el
${leimdir}/leim-list.el: ${srcdir}/leim-ext.el ${TIT_MISC}
- rm -f $@
- ${RUN_EMACS} -l international/quail \
+ $(AM_V_GEN)rm -f $@
+ $(AM_V_at)${RUN_EMACS} -l international/quail \
--eval "(update-leim-list-file (unmsys--file-name \"${leimdir}\"))"
- sed -n -e '/^[^;]/p' -e 's/^;\(;*\)inc /;\1 /p' < $< >> $@
+ $(AM_V_at)sed -n -e '/^[^;]/p' -e 's/^;\(;*\)inc /;\1 /p' < $< >> $@
${leimdir}/ja-dic/ja-dic.el: | $(leimdir)/ja-dic
${leimdir}/ja-dic/ja-dic.el: $(srcdir)/SKK-DIC/SKK-JISYO.L
- $(RUN_EMACS) -batch -l ja-dic-cnv \
+ $(AM_V_GEN)$(RUN_EMACS) -batch -l ja-dic-cnv \
-f batch-skkdic-convert -dir "$(leimdir)/ja-dic" "$<"
-Copyright (C) 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 2001-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
;; leim-ext.el -- extra leim configuration -*- coding:utf-8; -*-
-;; Copyright (C) 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;; Registration Number H13PRO009
# -*- Makefile -*- for leim subdirectory in GNU Emacs on the Microsoft Windows API.
-# Copyright (C) 2000-2014 Free Software Foundation, Inc.
+# Copyright (C) 2000-2015 Free Software Foundation, Inc.
# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
# 2006, 2007
# National Institute of Advanced Industrial Science and Technology (AIST)
+2015-01-05 Paul Eggert <eggert@cs.ucla.edu>
+
+ Use 0 for Qnil
+ * make-docfile.c (compare_globals): Consider 'nil' to be the least.
+
+ Compute C decls for DEFSYMs automatically
+ Fixes Bug#15880.
+ * make-docfile.c: Revamp to generate table of symbols, too.
+ Include <stdbool.h>.
+ (xstrdup): New function.
+ (main): Don't process the same file twice.
+ (SYMBOL): New constant in enum global_type.
+ (struct symbol): Turn 'value' member into a union, either v.value
+ for int or v.svalue for string. All uses changed.
+ (add_global): New arg svalue, which overrides value, so that globals
+ can have a string value.
+ (close_emacs_global): New arg num_symbols; all uses changed.
+ Output lispsym decl.
+ (write_globals): Output symbol globals too. Output more
+ ATTRIBUTE_CONST, now that Qnil etc. are C constants.
+ Output defsym_name table.
+ (scan_c_file): Move most of guts into ...
+ (scan_c_stream): ... new function. Scan for DEFSYMs and
+ record symbols found. Don't read past EOF if file doesn't
+ end in newline.
+
+2015-01-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ 'temacs -nw' should not call missing functions
+ * make-docfile.c (write_globals):
+ Declare Fframe_windows_min_size with ATTRIBUTE_CONST, too. Sort.
+
+ Less 'make' chatter for lib-src
+ * Makefile.in (blessmail): Less 'make' chatter here.
+
+2014-12-27 Eli Zaretskii <eliz@gnu.org>
+
+ * Makefile.in (etags_libs, ebrowse${EXEEXT}, profile${EXEEXT})
+ (make-docfile${EXEEXT}, movemail${EXEEXT})
+ (update-game-score${EXEEXT}): Put $(NTLIB) before $(LOADLIBES),
+ since GCC sometimes calls stpcpy when it sees strcpy, under
+ optimization switches.
+
+2014-12-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ * ebrowse.c (sym_scope_1, operator_name, open_file):
+ * emacsclient.c (get_server_config, set_local_socket)
+ (start_daemon_and_retry_set_socket):
+ * etags.c (main, C_entries, relative_filename):
+ * pop.c (sendline):
+ * update-game-score.c (main):
+ Rewrite to avoid the need for strcat, typically by using stpcpy
+ and/or lispstpcpy. strcat tends to be part of O(N**2) algorithms.
+
+2014-12-14 Paul Eggert <eggert@cs.ucla.edu>
+
+ * etags.c (analyze_regex): Rename from analyse_regex.
+
2014-12-14 Glenn Morris <rgm@gnu.org>
* grep-changelog: Remove file.
2014-05-26 Paul Eggert <eggert@cs.ucla.edu>
- Fix rcs2log problems with CVS.
- Problem reported by Glenn Morris in
+ Fix rcs2log problems with CVS. Reported by Glenn Morris in
<http://lists.gnu.org/archive/html/emacs-devel/2014-05/msg00277.html>.
Plus, fix some security and filename quoting problems.
* rcs2log (logdir): Prefer mktemp if available.
2004-04-17 Paul Eggert <eggert@gnu.org>
* rcs2log (Help): Clarify wording of the usage message.
- Problem reported by Alan Mackenzie in
+ Reported by Alan Mackenzie in
<http://mail.gnu.org/archive/html/bug-gnu-emacs/2004-04/msg00188.html>.
2004-04-07 Stefan Monnier <monnier@iro.umontreal.ca>
;; coding: utf-8
;; End:
- Copyright (C) 1988-1999, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1988-1999, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
### @configure_input@
-# Copyright (C) 1985, 1987-1988, 1993-1994, 2001-2014
-# Free Software Foundation, Inc.
+# Copyright (C) 1985, 1987-1988, 1993-1994, 2001-2015 Free Software
+# Foundation, Inc.
# This file is part of GNU Emacs.
## Only used if we need blessmail, but no harm in always defining.
## This makes the actual blessmail executable.
blessmail: $(srcdir)/../lisp/mail/blessmail.el
- $(EMACS) $(EMACSOPT) -l $<
- chmod +x $@
+ $(AM_V_GEN)$(EMACS) $(EMACSOPT) -l $<
+ $(AM_V_at)chmod +x $@
## This checks if we need to run blessmail.
## Do not charge ahead and do it! Let the installer decide.
etags_deps = ${srcdir}/etags.c regex.o $(NTLIB) $(config_h)
etags_cflags = -DEMACS_NAME="\"GNU Emacs\"" -DVERSION="\"${version}\"" -o $@
-etags_libs = regex.o $(LOADLIBES) $(NTLIB)
+etags_libs = regex.o $(NTLIB) $(LOADLIBES)
etags${EXEEXT}: ${etags_deps}
$(AM_V_CCLD)$(CC) ${ALL_CFLAGS} $(etags_cflags) $< $(etags_libs)
ebrowse${EXEEXT}: ${srcdir}/ebrowse.c ${srcdir}/../lib/min-max.h $(NTLIB) \
$(config_h)
$(AM_V_CCLD)$(CC) ${ALL_CFLAGS} -DVERSION="\"${version}\"" \
- $< $(LOADLIBES) $(NTLIB) -o $@
+ $< $(NTLIB) $(LOADLIBES) -o $@
profile${EXEEXT}: ${srcdir}/profile.c $(NTLIB) $(config_h)
$(AM_V_CCLD)$(CC) ${ALL_CFLAGS} $< \
- $(LOADLIBES) $(NTLIB) $(LIB_CLOCK_GETTIME) -o $@
+ $(NTLIB) $(LOADLIBES) $(LIB_CLOCK_GETTIME) -o $@
make-docfile${EXEEXT}: ${srcdir}/make-docfile.c $(NTLIB) $(config_h)
- $(AM_V_CCLD)$(CC) ${ALL_CFLAGS} $< $(LOADLIBES) $(NTLIB) -o $@
+ $(AM_V_CCLD)$(CC) ${ALL_CFLAGS} $< $(NTLIB) $(LOADLIBES) -o $@
movemail${EXEEXT}: ${srcdir}/movemail.c pop.o $(NTLIB) $(config_h)
$(AM_V_CCLD)$(CC) ${ALL_CFLAGS} ${MOVE_FLAGS} $< pop.o \
- $(LOADLIBES) $(NTLIB) $(LIBS_MOVE) -o $@
+ $(NTLIB) $(LOADLIBES) $(LIBS_MOVE) -o $@
pop.o: ${srcdir}/pop.c ${srcdir}/pop.h ${srcdir}/../lib/min-max.h $(config_h)
$(AM_V_CC)$(CC) -c ${CPP_CFLAGS} ${MOVE_FLAGS} $<
update-game-score${EXEEXT}: ${srcdir}/update-game-score.c $(NTLIB) $(config_h)
$(AM_V_CCLD)$(CC) ${ALL_CFLAGS} \
-DHAVE_SHARED_GAME_DIR="\"$(gamedir)\"" \
- $< $(LOADLIBES) $(NTLIB) -o $@
+ $< $(NTLIB) $(LOADLIBES) -o $@
emacsclient.res: ../nt/emacsclient.rc $(NTINC)/../icons/emacs.ico
$(WINDRES) -O coff --include-dir=$(NTINC)/.. -o $@ $<
/* ebrowse.c --- parsing files for the ebrowse C++ browser
-Copyright (C) 1992-2014 Free Software Foundation, Inc.
+Copyright (C) 1992-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
if (*scope_buffer)
{
ensure_scope_buffer_room (3);
- strcat (scope_buffer, "::");
+ strcpy (scope_buffer + scope_buffer_len, "::");
scope_buffer_len += 2;
}
len = strlen (p->name);
ensure_scope_buffer_room (len + 1);
- strcat (scope_buffer, p->name);
+ strcpy (scope_buffer + scope_buffer_len, p->name);
scope_buffer_len += len;
if (HAS_FLAG (p->flags, F_TEMPLATE))
{
ensure_scope_buffer_room (3);
- strcat (scope_buffer, "<>");
+ strcpy (scope_buffer + scope_buffer_len, "<>");
scope_buffer_len += 2;
}
s = token_string (LA1);
MATCH ();
- len = strlen (s) + 10;
+ ptrdiff_t slen = strlen (s);
+ len = slen + 10;
if (len > id_size)
{
size_t new_size = max (len, 2 * id_size);
id = (char *) xrealloc (id, new_size);
id_size = new_size;
}
- strcpy (id, s);
+ char *z = stpcpy (id, s);
/* Vector new or delete? */
if (LOOKING_AT ('['))
{
- strcat (id, "[");
+ z = stpcpy (z, "[");
MATCH ();
if (LOOKING_AT (']'))
{
- strcat (id, "]");
+ strcpy (z, "]");
MATCH ();
}
}
id = (char *) xrealloc (id, new_size);
id_size = new_size;
}
- strcpy (id, "operator");
+ char *z = stpcpy (id, "operator");
/* Beware access declarations of the form "X::f;" Beware of
`operator () ()'. Yet another difficulty is found in
len += strlen (s) + 2;
if (len > id_size)
{
+ ptrdiff_t idlen = z - id;
size_t new_size = max (len, 2 * id_size);
id = (char *) xrealloc (id, new_size);
id_size = new_size;
+ z = id + idlen;
}
if (*s != ')' && *s != ']')
- strcat (id, " ");
- strcat (id, s);
+ *z++ = ' ';
+ z = stpcpy (z, s);
MATCH ();
/* If this is a simple operator like `+', stop now. */
buffer = (char *) xrealloc (buffer, buffer_size);
}
- strcpy (buffer, path->path);
- strcat (buffer, "/");
- strcat (buffer, file);
+ char *z = stpcpy (buffer, path->path);
+ *z++ = '/';
+ strcpy (z, file);
fp = fopen (buffer, "r");
}
/* Client process that communicates with GNU Emacs acting as server.
-Copyright (C) 1986-1987, 1994, 1999-2014 Free Software Foundation, Inc.
+Copyright (C) 1986-1987, 1994, 1999-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
{
char *path = xmalloc (strlen (home) + strlen (config_file)
+ EXTRA_SPACE);
- strcpy (path, home);
- strcat (path, "/.emacs.d/server/");
- strcat (path, config_file);
+ char *z = stpcpy (path, home);
+ z = stpcpy (z, "/.emacs.d/server/");
+ strcpy (z, config_file);
config = fopen (path, "rb");
free (path);
}
{
char *path = xmalloc (strlen (home) + strlen (config_file)
+ EXTRA_SPACE);
- strcpy (path, home);
- strcat (path, "/.emacs.d/server/");
- strcat (path, config_file);
+ char *z = stpcpy (path, home);
+ z = stpcpy (z, "/.emacs.d/server/");
+ strcpy (z, config_file);
config = fopen (path, "rb");
free (path);
}
{
/* socket_name is a file name component. */
long uid = geteuid ();
- ptrdiff_t tmpdirlen;
use_tmpdir = 1;
tmpdir = egetenv ("TMPDIR");
if (!tmpdir)
#endif
tmpdir = "/tmp";
}
- tmpdirlen = strlen (tmpdir);
socket_name_storage =
- xmalloc (tmpdirlen + strlen (server_name) + EXTRA_SPACE);
- strcpy (socket_name_storage, tmpdir);
- sprintf (socket_name_storage + tmpdirlen, "/emacs%ld/", uid);
- strcat (socket_name_storage + tmpdirlen, server_name);
+ xmalloc (strlen (tmpdir) + strlen (server_name) + EXTRA_SPACE);
+ char *z = stpcpy (socket_name_storage, tmpdir);
+ z += sprintf (z, "/emacs%ld/", uid);
+ strcpy (z, server_name);
local_socket_name = socket_name_storage;
}
{
/* We're running under su, apparently. */
long uid = pw->pw_uid;
- ptrdiff_t tmpdirlen = strlen (tmpdir);
char *user_socket_name
- = xmalloc (tmpdirlen + strlen (server_name) + EXTRA_SPACE);
- strcpy (user_socket_name, tmpdir);
- sprintf (user_socket_name + tmpdirlen, "/emacs%ld/", uid);
- strcat (user_socket_name + tmpdirlen, server_name);
+ = xmalloc (strlen (tmpdir) + strlen (server_name)
+ + EXTRA_SPACE);
+ char *z = stpcpy (user_socket_name, tmpdir);
+ z += sprintf (z, "/emacs%ld/", uid);
+ strcpy (z, server_name);
if (strlen (user_socket_name) < sizeof (server.sun_path))
strcpy (server.sun_path, user_socket_name);
const char *deq = "--daemon=";
char *daemon_arg = xmalloc (strlen (deq)
+ strlen (socket_name) + 1);
- strcpy (daemon_arg, deq);
- strcat (daemon_arg, socket_name);
+ strcpy (stpcpy (daemon_arg, deq), socket_name);
d_argv[1] = daemon_arg;
}
execvp ("emacs", d_argv);
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-Copyright (C) 1984, 1987-1989, 1993-1995, 1998-2014 Free Software
+Copyright (C) 1984, 1987-1989, 1993-1995, 1998-2015 Free Software
Foundation, Inc.
This file is not considered part of GNU Emacs.
default:
continue; /* the for loop */
}
- strcpy (cmd, "mv ");
- strcat (cmd, tagfile);
- strcat (cmd, " OTAGS;fgrep -v '\t");
- strcat (cmd, argbuffer[i].what);
- strcat (cmd, "\t' OTAGS >");
- strcat (cmd, tagfile);
- strcat (cmd, ";rm OTAGS");
+ char *z = stpcpy (cmd, "mv ");
+ z = stpcpy (z, tagfile);
+ z = stpcpy (z, " OTAGS;fgrep -v '\t");
+ z = stpcpy (z, argbuffer[i].what);
+ z = stpcpy (z, "\t' OTAGS >");
+ z = stpcpy (z, tagfile);
+ strcpy (z, ";rm OTAGS");
if (system (cmd) != EXIT_SUCCESS)
fatal ("failed to execute shell command", (char *)NULL);
}
/* Maybe these should be used:
setenv ("LC_COLLATE", "C", 1);
setenv ("LC_ALL", "C", 1); */
- strcpy (cmd, "sort -u -o ");
- strcat (cmd, tagfile);
- strcat (cmd, " ");
- strcat (cmd, tagfile);
+ char *z = stpcpy (cmd, "sort -u -o ");
+ z = stpcpy (z, tagfile);
+ *z++ = ' ';
+ strcpy (z, tagfile);
exit (system (cmd));
}
return EXIT_SUCCESS;
case omethodtag:
case omethodparm:
objdef = omethodcolon;
- linebuffer_setlen (&token_name, token_name.len + 1);
- strcat (token_name.buffer, ":");
+ int toklen = token_name.len;
+ linebuffer_setlen (&token_name, toklen + 1);
+ strcpy (token_name.buffer + toklen, ":");
break;
}
if (structdef == stagseen)
while ((dp = strchr (dp + 1, '/')) != NULL)
i += 1;
res = xnew (3*i + strlen (fp + 1) + 1, char);
- res[0] = '\0';
+ char *z = res;
while (i-- > 0)
- strcat (res, "../");
+ z = stpcpy (z, "../");
/* Add the file name relative to the common root of file and dir. */
- strcat (res, fp + 1);
+ strcpy (z, fp + 1);
free (afn);
return res;
/* Convert files for Emacs Hexl mode.
- Copyright (C) 1989, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1989, 2001-2015 Free Software Foundation, Inc.
Author: Keith Gabryelski
(according to authors.el)
/* Generate doc-string file for GNU Emacs from source files.
-Copyright (C) 1985-1986, 1992-1994, 1997, 1999-2014 Free Software
+Copyright (C) 1985-1986, 1992-1994, 1997, 1999-2015 Free Software
Foundation, Inc.
This file is part of GNU Emacs.
#include <config.h>
+#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h> /* config.h unconditionally includes this anyway */
static int scan_file (char *filename);
static int scan_lisp_file (const char *filename, const char *mode);
static int scan_c_file (char *filename, const char *mode);
+static int scan_c_stream (FILE *infile);
static void start_globals (void);
static void write_globals (void);
return result;
}
+/* Like strdup, but get fatal error if memory is exhausted. */
+
+static char *
+xstrdup (char *s)
+{
+ char *result = strdup (s);
+ if (! result)
+ fatal ("virtual memory exhausted", 0);
+ return result;
+}
+
/* Like realloc but get fatal error if memory is exhausted. */
static void *
{
int i;
int err_count = 0;
- int first_infile;
progname = argv[0];
if (generate_globals)
start_globals ();
- first_infile = i;
- for (; i < argc; i++)
+ if (argc <= i)
+ scan_c_stream (stdin);
+ else
{
- int j;
- /* Don't process one file twice. */
- for (j = first_infile; j < i; j++)
- if (! strcmp (argv[i], argv[j]))
- break;
- if (j == i)
- err_count += scan_file (argv[i]);
+ int first_infile = i;
+ for (; i < argc; i++)
+ {
+ int j;
+ /* Don't process one file twice. */
+ for (j = first_infile; j < i; j++)
+ if (strcmp (argv[i], argv[j]) == 0)
+ break;
+ if (j == i)
+ err_count += scan_file (argv[i]);
+ }
}
if (err_count == 0 && generate_globals)
}
\f
/* The types of globals. These are sorted roughly in decreasing alignment
- order to avoid allocation gaps, except that functions are last. */
+ order to avoid allocation gaps, except that symbols and functions
+ are last. */
enum global_type
{
INVALID,
LISP_OBJECT,
EMACS_INTEGER,
BOOLEAN,
+ SYMBOL,
FUNCTION
};
{
enum global_type type;
char *name;
- int value;
+ union
+ {
+ int value;
+ char const *svalue;
+ } v;
};
/* All the variable names we saw while scanning C sources in `-g'
struct global *globals;
static void
-add_global (enum global_type type, char *name, int value)
+add_global (enum global_type type, char *name, int value, char const *svalue)
{
/* Ignore the one non-symbol that can occur. */
if (strcmp (name, "..."))
globals[num_globals - 1].type = type;
globals[num_globals - 1].name = name;
- globals[num_globals - 1].value = value;
+ if (svalue)
+ globals[num_globals - 1].v.svalue = svalue;
+ else
+ globals[num_globals - 1].v.value = value;
}
}
if (ga->type != gb->type)
return ga->type - gb->type;
+ /* Consider "nil" to be the least, so that aQnil is firat. That
+ way, Qnil's internal representation is zero, which is a bit faster. */
+ if (ga->type == SYMBOL)
+ {
+ bool a_nil = strcmp (ga->name, "Qnil") == 0;
+ bool b_nil = strcmp (gb->name, "Qnil") == 0;
+ if (a_nil | b_nil)
+ return b_nil - a_nil;
+ }
+
return strcmp (ga->name, gb->name);
}
static void
-close_emacs_globals (void)
+close_emacs_globals (int num_symbols)
{
- puts ("};");
- puts ("extern struct emacs_globals globals;");
+ printf (("};\n"
+ "extern struct emacs_globals globals;\n"
+ "\n"
+ "#ifndef DEFINE_SYMBOLS\n"
+ "extern\n"
+ "#endif\n"
+ "struct Lisp_Symbol lispsym[%d];\n"),
+ num_symbols);
}
static void
write_globals (void)
{
- int i, seen_defun = 0;
+ int i, j;
+ bool seen_defun = false;
+ int symnum = 0;
+ int num_symbols = 0;
qsort (globals, num_globals, sizeof (struct global), compare_globals);
+
+ j = 0;
+ for (i = 0; i < num_globals; i++)
+ {
+ while (i + 1 < num_globals
+ && strcmp (globals[i].name, globals[i + 1].name) == 0)
+ {
+ if (globals[i].type == FUNCTION
+ && globals[i].v.value != globals[i + 1].v.value)
+ error ("function '%s' defined twice with differing signatures",
+ globals[i].name);
+ i++;
+ }
+ num_symbols += globals[i].type == SYMBOL;
+ globals[j++] = globals[i];
+ }
+ num_globals = j;
+
for (i = 0; i < num_globals; ++i)
{
char const *type = 0;
case LISP_OBJECT:
type = "Lisp_Object";
break;
+ case SYMBOL:
case FUNCTION:
if (!seen_defun)
{
- close_emacs_globals ();
+ close_emacs_globals (num_symbols);
putchar ('\n');
- seen_defun = 1;
+ seen_defun = true;
}
break;
default:
printf ("#define %s globals.f_%s\n",
globals[i].name, globals[i].name);
}
+ else if (globals[i].type == SYMBOL)
+ printf (("DEFINE_LISP_SYMBOL_BEGIN (%s)\n"
+ "#define a%s (&lispsym[%d])\n"
+ "#define %s make_lisp_symbol (a%s)\n"
+ "DEFINE_LISP_SYMBOL_END (a%s)\n\n"),
+ globals[i].name, globals[i].name, symnum++,
+ globals[i].name, globals[i].name, globals[i].name);
else
{
/* It would be nice to have a cleaner way to deal with these
fputs ("_Noreturn ", stdout);
printf ("EXFUN (%s, ", globals[i].name);
- if (globals[i].value == -1)
+ if (globals[i].v.value == -1)
fputs ("MANY", stdout);
- else if (globals[i].value == -2)
+ else if (globals[i].v.value == -2)
fputs ("UNEVALLED", stdout);
else
- printf ("%d", globals[i].value);
+ printf ("%d", globals[i].v.value);
putchar (')');
/* It would be nice to have a cleaner way to deal with these
special hacks, too. */
- if (strcmp (globals[i].name, "Fbyteorder") == 0
- || strcmp (globals[i].name, "Ftool_bar_height") == 0
+ if (strcmp (globals[i].name, "Fatom") == 0
+ || strcmp (globals[i].name, "Fbyteorder") == 0
+ || strcmp (globals[i].name, "Fcharacterp") == 0
+ || strcmp (globals[i].name, "Fchar_or_string_p") == 0
+ || strcmp (globals[i].name, "Fconsp") == 0
+ || strcmp (globals[i].name, "Feq") == 0
+ || strcmp (globals[i].name, "Fface_attribute_relative_p") == 0
+ || strcmp (globals[i].name, "Fframe_windows_min_size") == 0
+ || strcmp (globals[i].name, "Fgnutls_errorp") == 0
+ || strcmp (globals[i].name, "Fidentity") == 0
+ || strcmp (globals[i].name, "Fintegerp") == 0
+ || strcmp (globals[i].name, "Finteractive") == 0
+ || strcmp (globals[i].name, "Ffloatp") == 0
+ || strcmp (globals[i].name, "Flistp") == 0
|| strcmp (globals[i].name, "Fmax_char") == 0
- || strcmp (globals[i].name, "Fidentity") == 0)
+ || strcmp (globals[i].name, "Fnatnump") == 0
+ || strcmp (globals[i].name, "Fnlistp") == 0
+ || strcmp (globals[i].name, "Fnull") == 0
+ || strcmp (globals[i].name, "Fnumberp") == 0
+ || strcmp (globals[i].name, "Fstringp") == 0
+ || strcmp (globals[i].name, "Fsymbolp") == 0
+ || strcmp (globals[i].name, "Ftool_bar_height") == 0
+ || strcmp (globals[i].name, "Fwindow__sanitize_window_sizes") == 0
+#ifndef WINDOWSNT
+ || strcmp (globals[i].name, "Fgnutls_available_p") == 0
+ || strcmp (globals[i].name, "Fzlib_available_p") == 0
+#endif
+ || 0)
fputs (" ATTRIBUTE_CONST", stdout);
puts (";");
}
-
- while (i + 1 < num_globals
- && !strcmp (globals[i].name, globals[i + 1].name))
- {
- if (globals[i].type == FUNCTION
- && globals[i].value != globals[i + 1].value)
- error ("function '%s' defined twice with differing signatures",
- globals[i].name);
- ++i;
- }
}
if (!seen_defun)
- close_emacs_globals ();
+ close_emacs_globals (num_symbols);
+
+ puts ("#ifdef DEFINE_SYMBOLS");
+ puts ("static char const *const defsym_name[] = {");
+ for (int i = 0; i < num_globals; i++)
+ {
+ if (globals[i].type == SYMBOL)
+ printf ("\t\"%s\",\n", globals[i].v.svalue);
+ while (i + 1 < num_globals
+ && strcmp (globals[i].name, globals[i + 1].name) == 0)
+ i++;
+ }
+ puts ("};");
+ puts ("#endif");
}
\f
scan_c_file (char *filename, const char *mode)
{
FILE *infile;
- register int c;
- register int commas;
- int minargs, maxargs;
int extension = filename[strlen (filename) - 1];
if (extension == 'o')
/* Reset extension to be able to detect duplicate files. */
filename[strlen (filename) - 1] = extension;
+ return scan_c_stream (infile);
+}
+
+static int
+scan_c_stream (FILE *infile)
+{
+ int commas, minargs, maxargs;
+ int c = '\n';
- c = '\n';
while (!feof (infile))
{
int doc_keyword = 0;
if (c != 'F')
continue;
c = getc (infile);
- if (c != 'V')
- continue;
- c = getc (infile);
- if (c != 'A')
- continue;
- c = getc (infile);
- if (c != 'R')
- continue;
- c = getc (infile);
- if (c != '_')
- continue;
-
- defvarflag = 1;
-
- c = getc (infile);
- defvarperbufferflag = (c == 'P');
- if (generate_globals)
+ if (c == 'S')
{
- if (c == 'I')
- type = EMACS_INTEGER;
- else if (c == 'L')
- type = LISP_OBJECT;
- else if (c == 'B')
- type = BOOLEAN;
+ c = getc (infile);
+ if (c != 'Y')
+ continue;
+ c = getc (infile);
+ if (c != 'M')
+ continue;
+ c = getc (infile);
+ if (c != ' ' && c != '\t' && c != '(')
+ continue;
+ type = SYMBOL;
}
+ else if (c == 'V')
+ {
+ c = getc (infile);
+ if (c != 'A')
+ continue;
+ c = getc (infile);
+ if (c != 'R')
+ continue;
+ c = getc (infile);
+ if (c != '_')
+ continue;
- c = getc (infile);
- /* We need to distinguish between DEFVAR_BOOL and
- DEFVAR_BUFFER_DEFAULTS. */
- if (generate_globals && type == BOOLEAN && c != 'O')
- type = INVALID;
+ defvarflag = 1;
+
+ c = getc (infile);
+ defvarperbufferflag = (c == 'P');
+ if (generate_globals)
+ {
+ if (c == 'I')
+ type = EMACS_INTEGER;
+ else if (c == 'L')
+ type = LISP_OBJECT;
+ else if (c == 'B')
+ type = BOOLEAN;
+ }
+
+ c = getc (infile);
+ /* We need to distinguish between DEFVAR_BOOL and
+ DEFVAR_BUFFER_DEFAULTS. */
+ if (generate_globals && type == BOOLEAN && c != 'O')
+ type = INVALID;
+ }
+ else
+ continue;
}
else if (c == 'D')
{
if (generate_globals
&& (!defvarflag || defvarperbufferflag || type == INVALID)
- && !defunflag)
+ && !defunflag && type != SYMBOL)
continue;
while (c != '(')
c = getc (infile);
}
- /* Lisp variable or function name. */
- c = getc (infile);
- if (c != '"')
- continue;
- c = read_c_string_or_comment (infile, -1, 0, 0);
+ if (type != SYMBOL)
+ {
+ /* Lisp variable or function name. */
+ c = getc (infile);
+ if (c != '"')
+ continue;
+ c = read_c_string_or_comment (infile, -1, 0, 0);
+ }
if (generate_globals)
{
int i = 0;
+ char const *svalue = 0;
/* Skip "," and whitespace. */
do
/* Read in the identifier. */
do
{
+ if (c < 0)
+ goto eof;
input_buffer[i++] = c;
c = getc (infile);
}
name = xmalloc (i + 1);
memcpy (name, input_buffer, i + 1);
+ if (type == SYMBOL)
+ {
+ do
+ c = getc (infile);
+ while (c == ' ' || c == '\t' || c == '\n' || c == '\r');
+ if (c != '"')
+ continue;
+ c = read_c_string_or_comment (infile, -1, 0, 0);
+ svalue = xstrdup (input_buffer);
+ }
+
if (!defunflag)
{
- add_global (type, name, 0);
+ add_global (type, name, 0, svalue);
continue;
}
}
+ if (type == SYMBOL)
+ continue;
+
/* DEFVAR_LISP ("name", addr, "doc")
DEFVAR_LISP ("name", addr /\* doc *\/)
DEFVAR_LISP ("name", addr, doc: /\* doc *\/) */
if (generate_globals)
{
- add_global (FUNCTION, name, maxargs);
+ add_global (FUNCTION, name, maxargs, 0);
continue;
}
# -*- Makefile -*- for GNU Emacs on the Microsoft Windows API.
-# Copyright (C) 2000-2014 Free Software Foundation, Inc.
+# Copyright (C) 2000-2015 Free Software Foundation, Inc.
# This file is part of GNU Emacs.
/* movemail foo bar -- move file foo to file bar,
locking file foo the way /bin/mail respects.
-Copyright (C) 1986, 1992-1994, 1996, 1999, 2001-2014 Free Software
+Copyright (C) 1986, 1992-1994, 1996, 1999, 2001-2015 Free Software
Foundation, Inc.
This file is part of GNU Emacs.
/* Utility and Unix shadow routines for GNU Emacs support programs on NT.
-Copyright (C) 1994, 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 1994, 2001-2015 Free Software Foundation, Inc.
Author: Geoff Voelker (voelker@cs.washington.edu)
Created: 10-8-94
/* Utility and Unix shadow routines for GNU Emacs support programs on NT.
- Copyright (C) 1994, 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 1994, 2002-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* pop.c: client routines for talking to a POP3-protocol post-office server
-Copyright (C) 1991, 1993, 1996-1997, 1999, 2001-2014 Free Software
+Copyright (C) 1991, 1993, 1996-1997, 1999, 2001-2015 Free Software
Foundation, Inc.
Author: Jonathan Kamens <jik@security.ov.com>
over a few dozen messages, and is a big chunk of the time we
spend fetching mail from a server close by. */
buf = alloca (strlen (line) + 3);
- strcpy (buf, line);
- strcat (buf, "\r\n");
+ strcpy (stpcpy (buf, line), "\r\n");
ret = fullwrite (server->file, buf, strlen (buf));
if (ret < 0)
/* pop.h: Header file for the "pop.c" client POP3 protocol.
- Copyright (C) 1991, 1993, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1991, 1993, 2001-2015 Free Software Foundation, Inc.
Author: Jonathan Kamens <jik@security.ov.com>
/* profile.c --- generate periodic events for profiling of Emacs Lisp code.
- Copyright (C) 1992, 1994, 1999, 2001-2014 Free Software Foundation,
+ Copyright (C) 1992, 1994, 1999, 2001-2015 Free Software Foundation,
Inc.
Author: Boaz Ben-Zvi <boaz@lcs.mit.edu>
# RCS to ChangeLog generator
-# Copyright (C) 1992-1998, 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 1992-1998, 2001-2015 Free Software Foundation, Inc.
# Author: Paul Eggert <eggert@twinsun.com>
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-Copyright='Copyright (C) 2014 Free Software Foundation, Inc.
+Copyright='Copyright (C) 2015 Free Software Foundation, Inc.
This program comes with NO WARRANTY, to the extent permitted by law.
You may redistribute copies of this program
under the terms of the GNU General Public License.
/* update-game-score.c --- Update a score file
-Copyright (C) 2002-2014 Free Software Foundation, Inc.
+Copyright (C) 2002-2015 Free Software Foundation, Inc.
Author: Colin Walters <walters@debian.org>
if (!scorefile)
lose_syserr ("Couldn't allocate score file");
- strcpy (scorefile, prefix);
- strcat (scorefile, "/");
- strcat (scorefile, argv[optind]);
+ char *z = stpcpy (scorefile, prefix);
+ *z++ = '/';
+ strcpy (z, argv[optind]);
newscore.score = normalize_integer (argv[optind + 1]);
if (! newscore.score)
char *tempfile = malloc (strlen (filename) + strlen (".tempXXXXXX") + 1);
if (!tempfile)
return -1;
- strcpy (tempfile, filename);
- strcat (tempfile, ".tempXXXXXX");
+ strcpy (stpcpy (tempfile, filename), ".tempXXXXXX");
fd = mkostemp (tempfile, 0);
if (fd < 0)
return -1;
char *lockpath = malloc (strlen (filename) + strlen (lockext) + 60);
if (!lockpath)
return -1;
- strcpy (lockpath, filename);
- strcat (lockpath, lockext);
+ strcpy (stpcpy (lockpath, filename), lockext);
*state = lockpath;
while ((fd = open (lockpath, O_CREAT | O_EXCL, 0600)) < 0)
/* Test whether ACLs are well supported on this system.
- Copyright 2013-2014 Free Software Foundation, Inc.
+ Copyright 2013-2015 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
/* Internal implementation of access control lists.
- Copyright (C) 2002-2003, 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2005-2015 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
/* acl.c - access control lists
- Copyright (C) 2002, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2008-2015 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
/* Return the number of entries in an ACL.
- Copyright (C) 2002-2003, 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2005-2015 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
/* Memory allocation on the stack.
- Copyright (C) 1995, 1999, 2001-2004, 2006-2014 Free Software Foundation,
+ Copyright (C) 1995, 1999, 2001-2004, 2006-2015 Free Software Foundation,
Inc.
This program is free software; you can redistribute it and/or modify it
/* Memory allocators such as malloc+free.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 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
/* Define at-style functions like fstatat, unlinkat, fchownat, etc.
- Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2009-2015 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
/* Binary mode I/O.
- Copyright (C) 2001, 2003, 2005, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2003, 2005, 2008-2015 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
/* byteswap.h - Byte swapping
- Copyright (C) 2005, 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007, 2009-2015 Free Software Foundation, Inc.
Written by Oskar Liljeblad <oskar@osk.mine.nu>, 2005.
This program is free software: you can redistribute it and/or modify
/* Character handling in C locale.
- Copyright 2000-2003, 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright 2000-2003, 2006, 2009-2015 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
<ctype.h> functions' behaviour depends on the current locale set via
setlocale.
- Copyright (C) 2000-2003, 2006, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2000-2003, 2006, 2008-2015 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
/* Case-insensitive string comparison functions in C locale.
- Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2014 Free Software
+ Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2015 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
/* c-strcasecmp.c -- case insensitive string comparator in C locale
- Copyright (C) 1998-1999, 2005-2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 1998-1999, 2005-2006, 2009-2015 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
/* c-strncasecmp.c -- case insensitive string comparator in C locale
- Copyright (C) 1998-1999, 2005-2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 1998-1999, 2005-2006, 2009-2015 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
/* Read symbolic links into a buffer without size limitation, relative to fd.
- Copyright (C) 2001, 2003-2004, 2007, 2009-2014 Free Software Foundation,
+ Copyright (C) 2001, 2003-2004, 2007, 2009-2015 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify
/* Read symbolic links into a buffer without size limitation, relative to fd.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 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
/* Close a stream, with nicer error checking than fclose's.
- Copyright (C) 1998-2002, 2004, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 1998-2002, 2004, 2006-2015 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
/* count-one-bits.h -- counts the number of 1-bits in a word.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 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
/* count-trailing-zeros.h -- counts the number of trailing 0 bits in a word.
- Copyright 2013-2014 Free Software Foundation, Inc.
+ Copyright 2013-2015 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
/* A GNU-like <dirent.h>.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 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
/* File names on MS-DOS/Windows systems.
- Copyright (C) 2000-2001, 2004-2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2000-2001, 2004-2006, 2009-2015 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
/* Convert double to timespec.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 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
/* Duplicate an open file descriptor to a specified file descriptor.
- Copyright (C) 1999, 2004-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2004-2007, 2009-2015 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
/* A POSIX-like <errno.h>.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 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
/* euidaccess -- check if effective user id can access file
- Copyright (C) 1990-1991, 1995, 1998, 2000, 2003-2006, 2008-2014 Free
+ Copyright (C) 1990-1991, 1995, 1998, 2000, 2003-2006, 2008-2015 Free
Software Foundation, Inc.
This file is part of the GNU C Library.
/* Information about executables.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 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
/* Check the access rights of a file relative to an open directory.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 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
/* Provide file descriptor control.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 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
/* Like <fcntl.h>, but with non-working flags defined to 0.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 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
/* Emulate fdatasync on platforms that lack it.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
/* provide a replacement fdopendir function
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 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
/* Test whether a file has a nontrivial access control list.
- Copyright (C) 2002-2003, 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2005-2015 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
/* filemode.c -- make a string describing file modes
- Copyright (C) 1985, 1990, 1993, 1998-2000, 2004, 2006, 2009-2014 Free
+ Copyright (C) 1985, 1990, 1993, 1998-2000, 2004, 2006, 2009-2015 Free
Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
/* Make a string describing file modes.
- Copyright (C) 1998-1999, 2003, 2006, 2009-2014 Free Software Foundation,
+ Copyright (C) 1998-1999, 2003, 2006, 2009-2015 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify
/* fpending.c -- return the number of pending output bytes on a stream
- Copyright (C) 2000, 2004, 2006-2007, 2009-2014 Free Software Foundation,
+ Copyright (C) 2000, 2004, 2006-2007, 2009-2015 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify
/* Declare __fpending.
- Copyright (C) 2000, 2003, 2005-2006, 2009-2014 Free Software Foundation,
+ Copyright (C) 2000, 2003, 2005-2006, 2009-2015 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify
/* Work around an fstatat bug on Solaris 9.
- Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2009-2015 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
Written by Richard W.M. Jones <rjones.at.redhat.com>
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
/* floating point to accurate string
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 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
/* floating point to accurate string
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 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
/* getdtablesize() function for platforms that don't have it.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2008.
This program is free software: you can redistribute it and/or modify
/* provide consistent interface to getgroups for systems that don't allow N==0
- Copyright (C) 1996, 1999, 2003, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 1996, 1999, 2003, 2006-2015 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
/* Get the system load averages.
- Copyright (C) 1985-1989, 1991-1995, 1997, 1999-2000, 2003-2014 Free Software
+ Copyright (C) 1985-1989, 1991-1995, 1997, 1999-2000, 2003-2015 Free Software
Foundation, Inc.
NOTE: The canonical source of this file is maintained with gnulib.
NOTE: getopt is part of the C library, so if you don't know what
"Keep this file name-space clean" means, talk to drepper@gnu.org
before changing it!
- Copyright (C) 1987-1996, 1998-2004, 2006, 2008-2014 Free Software
+ Copyright (C) 1987-1996, 1998-2004, 2006, 2008-2015 Free Software
Foundation, Inc.
This file is part of the GNU C Library.
/* Declarations for getopt.
- Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2007, 2009-2014 Free Software
+ Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2007, 2009-2015 Free Software
Foundation, Inc.
This file is part of the GNU C Library.
/* getopt_long and getopt_long_only entry points for GNU getopt.
- Copyright (C) 1987-1994, 1996-1998, 2004, 2006, 2009-2014 Free Software
+ Copyright (C) 1987-1994, 1996-1998, 2004, 2006, 2009-2015 Free Software
Foundation, Inc.
This file is part of the GNU C Library.
/* Declarations for getopt.
- Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2007, 2009-2014 Free
+ Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2007, 2009-2015 Free
Software Foundation, Inc.
This file is part of the GNU C Library.
/* The definition of _GL_ARG_NONNULL is copied here. */
/* A C macro for declaring that specific arguments must not be NULL.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 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
/* Internal declarations for getopt.
- Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2004, 2009-2014 Free Software
+ Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2004, 2009-2015 Free Software
Foundation, Inc.
This file is part of the GNU C Library.
/* Convenience header for conditional use of GNU <libintl.h>.
- Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2014 Free Software
+ Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2015 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
/* gettime -- get the system clock
- Copyright (C) 2002, 2004-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2004-2007, 2009-2015 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
/* Provide gettimeofday for systems that don't have it or for which it's broken.
- Copyright (C) 2001-2003, 2005-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2005-2007, 2009-2015 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
## DO NOT EDIT! GENERATED AUTOMATICALLY!
## Process this file with automake to produce Makefile.in.
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2015 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the same distribution terms as the rest of that program.
#
# Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --avoid=close --avoid=dup --avoid=fchdir --avoid=fstat --avoid=malloc-posix --avoid=msvc-inval --avoid=msvc-nothrow --avoid=open --avoid=openat-die --avoid=opendir --avoid=raise --avoid=save-cwd --avoid=select --avoid=sigprocmask --avoid=stdarg --avoid=stdbool --avoid=threadlib --makefile-name=gnulib.mk --conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca-opt binary-io byteswap c-ctype c-strcase careadlinkat close-stream count-one-bits count-trailing-zeros crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 dtoastr dtotimespec dup2 environ execinfo faccessat fcntl fcntl-h fdatasync fdopendir filemode fstatat fsync getloadavg getopt-gnu gettime gettimeofday intprops largefile lstat manywarnings memrchr mkostemp mktime pipe2 pselect pthread_sigmask putenv qacl readlink readlinkat sig2str socklen stat-time stdalign stddef stdio strftime strtoimax strtoumax symlink sys_stat sys_time time time_r timer-time timespec-add timespec-sub unsetenv update-copyright utimens vla warnings
+# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --avoid=close --avoid=dup --avoid=fchdir --avoid=fstat --avoid=malloc-posix --avoid=msvc-inval --avoid=msvc-nothrow --avoid=open --avoid=openat-die --avoid=opendir --avoid=raise --avoid=save-cwd --avoid=select --avoid=sigprocmask --avoid=stdarg --avoid=stdbool --avoid=threadlib --makefile-name=gnulib.mk --conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca-opt binary-io byteswap c-ctype c-strcase careadlinkat close-stream count-one-bits count-trailing-zeros crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 dtoastr dtotimespec dup2 environ execinfo faccessat fcntl fcntl-h fdatasync fdopendir filemode fstatat fsync getloadavg getopt-gnu gettime gettimeofday intprops largefile lstat manywarnings memrchr mkostemp mktime pipe2 pselect pthread_sigmask putenv qacl readlink readlinkat sig2str socklen stat-time stdalign stddef stdio stpcpy strftime strtoimax strtoumax symlink sys_stat sys_time time time_r timer-time timespec-add timespec-sub unsetenv update-copyright utimens vla warnings
MOSTLYCLEANFILES += core *.stackdump
## end gnulib module stdlib
+## begin gnulib module stpcpy
+
+
+EXTRA_DIST += stpcpy.c
+
+EXTRA_libgnu_a_SOURCES += stpcpy.c
+
+## end gnulib module stpcpy
+
## begin gnulib module strftime
libgnu_a_SOURCES += strftime.c
/* group-member.c -- determine whether group id is in calling user's group list
- Copyright (C) 1994, 1997-1998, 2003, 2005-2006, 2009-2014 Free Software
+ Copyright (C) 1994, 1997-1998, 2003, 2005-2006, 2009-2015 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
/* intprops.h -- properties of integer types
- Copyright (C) 2001-2005, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2005, 2009-2015 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
-/* Copyright (C) 2006-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
Written by Paul Eggert, Bruno Haible, Derek Price.
This file is part of gnulib.
/* Work around a bug of lstat on some systems
- Copyright (C) 1997-2006, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2006, 2008-2015 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
# -*- Makefile -*- for GNU Emacs on the Microsoft Windows API.
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
# This file is part of GNU Emacs.
/* Functions to compute MD5 message digest of files or memory blocks.
according to the definition of MD5 in RFC 1321 from April 1992.
- Copyright (C) 1995-1997, 1999-2001, 2005-2006, 2008-2014 Free Software
+ Copyright (C) 1995-1997, 1999-2001, 2005-2006, 2008-2015 Free Software
Foundation, Inc.
This file is part of the GNU C Library.
/* Declaration of functions and data types used for MD5 sum computing
library functions.
- Copyright (C) 1995-1997, 1999-2001, 2004-2006, 2008-2014 Free Software
+ Copyright (C) 1995-1997, 1999-2001, 2004-2006, 2008-2015 Free Software
Foundation, Inc.
This file is part of the GNU C Library.
/* memrchr -- find the last occurrence of a byte in a memory block
- Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2014 Free Software
+ Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2015 Free Software
Foundation, Inc.
Based on strlen implementation by Torbjorn Granlund (tege@sics.se),
-/* Copyright (C) 1998-1999, 2001, 2005-2007, 2009-2014 Free Software
+/* Copyright (C) 1998-1999, 2001, 2005-2007, 2009-2015 Free Software
Foundation, Inc.
This file is derived from the one in the GNU C Library.
/* Convert a 'struct tm' to a time_t value.
- Copyright (C) 1993-2014 Free Software Foundation, Inc.
+ Copyright (C) 1993-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Paul Eggert <eggert@twinsun.com>.
/* Internals for openat-like functions.
- Copyright (C) 2005-2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2006, 2009-2015 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
/* Create /proc/self/fd-related names for subfiles of open directories.
- Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2009-2015 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
/* provide a replacement openat function
- Copyright (C) 2004-2006, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2006, 2008-2015 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
/* Define PATH_MAX somehow. Requires sys/types.h.
- Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2014 Free Software
+ Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2015 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
/* Create a pipe, with specific opening flags.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 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
/* pselect - synchronous I/O multiplexing
- Copyright 2011-2014 Free Software Foundation, Inc.
+ Copyright 2011-2015 Free Software Foundation, Inc.
This file is part of gnulib.
/* POSIX compatible signal blocking for threads.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 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
-/* Copyright (C) 1991, 1994, 1997-1998, 2000, 2003-2014 Free Software
+/* Copyright (C) 1991, 1994, 1997-1998, 2000, 2003-2015 Free Software
Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C
/* copy-acl.c - copy access control list from one file to another file
- Copyright (C) 2002-2003, 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2005-2015 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
/* qset-acl.c - set access control list equivalent to a mode
- Copyright (C) 2002-2003, 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2005-2015 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
/* Stub for readlink().
- Copyright (C) 2003-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2007, 2009-2015 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
/* Read a symlink relative to an open directory.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 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
/* The user ID that always has appropriate privileges in the POSIX sense.
- Copyright 2012-2014 Free Software Foundation, Inc.
+ Copyright 2012-2015 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
/* save-cwd.c -- Save and restore current working directory.
- Copyright (C) 1995, 1997-1998, 2003-2006, 2009-2014 Free Software
+ Copyright (C) 1995, 1997-1998, 2003-2006, 2009-2015 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
/* Save and restore current working directory.
- Copyright (C) 1995, 1997-1998, 2003, 2009-2014 Free Software Foundation,
- Inc.
+ Copyright (C) 1995, 1997-1998, 2003, 2009-2015 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
/* Look up an environment variable more securely.
- Copyright 2013-2014 Free Software Foundation, Inc.
+ Copyright 2013-2015 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
/* sha1.c - Functions to compute SHA1 message digest of files or
memory blocks according to the NIST specification FIPS-180-1.
- Copyright (C) 2000-2001, 2003-2006, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2000-2001, 2003-2006, 2008-2015 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 the
/* Declarations of functions and data types used for SHA1 sum
library functions.
- Copyright (C) 2000-2001, 2003, 2005-2006, 2008-2014 Free Software
+ Copyright (C) 2000-2001, 2003, 2005-2006, 2008-2015 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
/* sha256.c - Functions to compute SHA256 and SHA224 message digest of files or
memory blocks according to the NIST specification FIPS-180-2.
- Copyright (C) 2005-2006, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2006, 2008-2015 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
/* Declarations of functions and data types used for SHA256 and SHA224 sum
library functions.
- Copyright (C) 2005-2006, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2006, 2008-2015 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
/* sha512.c - Functions to compute SHA512 and SHA384 message digest of files or
memory blocks according to the NIST specification FIPS-180-2.
- Copyright (C) 2005-2006, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2006, 2008-2015 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
/* Declarations of functions and data types used for SHA512 and SHA384 sum
library functions.
- Copyright (C) 2005-2006, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2006, 2008-2015 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
/* sig2str.c -- convert between signal names and numbers
- Copyright (C) 2002, 2004, 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2004, 2006, 2009-2015 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
/* sig2str.h -- convert between signal names and numbers
- Copyright (C) 2002, 2005, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2005, 2009-2015 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
/* A GNU-like <signal.h>.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 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
/* stat-related time functions.
- Copyright (C) 2005, 2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007, 2009-2015 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
/* Work around platform bugs in stat.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 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
/* A substitute for ISO C11 <stdalign.h>.
- Copyright 2011-2014 Free Software Foundation, Inc.
+ Copyright 2011-2015 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
#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112
# if defined __cplusplus && 201103 <= __cplusplus
# define _Alignas(a) alignas (a)
-# elif (__GNUC__ || __HP_cc || __HP_aCC || __IBMC__ || __IBMCPP__ \
+# elif ((defined __APPLE__ && defined __MACH__ \
+ ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__) \
+ : __GNUC__) \
+ || __HP_cc || __HP_aCC || __IBMC__ || __IBMCPP__ \
|| __ICC || 0x5110 <= __SUNPRO_C)
# define _Alignas(a) __attribute__ ((__aligned__ (a)))
# elif 1300 <= _MSC_VER
/* A substitute for POSIX 2008 <stddef.h>, for platforms that have issues.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 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
-/* Copyright (C) 2001-2002, 2004-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2002, 2004-2015 Free Software Foundation, Inc.
Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood.
This file is part of gnulib.
/* A GNU-like <stdio.h>.
- Copyright (C) 2004, 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2007-2015 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
except that it indicates to GCC that the supported format string directives
are the ones of the system printf(), rather than the ones standardized by
ISO C99 and POSIX. */
-#define _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM(formatstring_parameter, first_argument) \
+#if GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU
+# define _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM(formatstring_parameter, first_argument) \
+ _GL_ATTRIBUTE_FORMAT_PRINTF (formatstring_parameter, first_argument)
+#else
+# define _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM(formatstring_parameter, first_argument) \
_GL_ATTRIBUTE_FORMAT ((__printf__, formatstring_parameter, first_argument))
+#endif
/* _GL_ATTRIBUTE_FORMAT_SCANF
indicates to GCC that the function takes a format string and arguments,
/* A GNU-like <stdlib.h>.
- Copyright (C) 1995, 2001-2004, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 1995, 2001-2004, 2006-2015 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
--- /dev/null
+/* stpcpy.c -- copy a string and return pointer to end of new string
+ Copyright (C) 1992, 1995, 1997-1998, 2006, 2009-2015 Free Software
+ Foundation, Inc.
+
+ NOTE: The canonical source of this file is maintained with the GNU C Library.
+ Bugs can be reported to bug-glibc@prep.ai.mit.edu.
+
+ 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 the
+ Free Software Foundation; either version 3 of the License, or any
+ later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <string.h>
+
+#undef __stpcpy
+#ifdef _LIBC
+# undef stpcpy
+#endif
+
+#ifndef weak_alias
+# define __stpcpy stpcpy
+#endif
+
+/* Copy SRC to DEST, returning the address of the terminating '\0' in DEST. */
+char *
+__stpcpy (char *dest, const char *src)
+{
+ register char *d = dest;
+ register const char *s = src;
+
+ do
+ *d++ = *s;
+ while (*s++ != '\0');
+
+ return d - 1;
+}
+#ifdef weak_alias
+weak_alias (__stpcpy, stpcpy)
+#endif
-/* Copyright (C) 1991-2001, 2003-2007, 2009-2014 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2001, 2003-2007, 2009-2015 Free Software Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C Library.
Bugs can be reported to bug-glibc@prep.ai.mit.edu.
/* declarations for strftime.c
- Copyright (C) 2002, 2004, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2004, 2008-2015 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
/* A GNU-like <string.h>.
- Copyright (C) 1995-1996, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1995-1996, 2001-2015 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
/* Convert string representation of a number into an intmax_t value.
- Copyright (C) 1999, 2001-2004, 2006, 2009-2014 Free Software Foundation,
+ Copyright (C) 1999, 2001-2004, 2006, 2009-2015 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify
/* Convert string representation of a number into an integer value.
- Copyright (C) 1991-1992, 1994-1999, 2003, 2005-2007, 2009-2014 Free Software
+ Copyright (C) 1991-1992, 1994-1999, 2003, 2005-2007, 2009-2015 Free Software
Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C
/* Function to parse a 'long long int' from text.
- Copyright (C) 1995-1997, 1999, 2001, 2009-2014 Free Software Foundation,
+ Copyright (C) 1995-1997, 1999, 2001, 2009-2015 Free Software Foundation,
Inc.
This file is part of the GNU C Library.
-/* Copyright (C) 1991, 1997, 2009-2014 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1997, 2009-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
/* Function to parse an 'unsigned long long int' from text.
- Copyright (C) 1995-1997, 1999, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 1995-1997, 1999, 2009-2015 Free Software Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C
Library. Bugs can be reported to bug-glibc@gnu.org.
/* Stub for symlink().
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 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
/* Substitute for <sys/select.h>.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 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
/* Provide a more complete sys/stat header file.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 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
/* Provide a more complete sys/time.h.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 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
/* Provide a more complete sys/types.h.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 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
/* tempname.c - generate the name of a temporary file.
- Copyright (C) 1991-2003, 2005-2007, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 1991-2003, 2005-2007, 2009-2015 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
/* Create a temporary file or directory.
- Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2009-2015 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
/* A more-standard <time.h>.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 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
/* Reentrant time functions like localtime_r.
- Copyright (C) 2003, 2006-2007, 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2006-2007, 2010-2015 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
/* Add two struct timespec values.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 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
/* Subtract two struct timespec values.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 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
/* timespec -- System time interface
- Copyright (C) 2000, 2002, 2004-2005, 2007, 2009-2014 Free Software
+ Copyright (C) 2000, 2002, 2004-2005, 2007, 2009-2015 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
/* uint64_t-like operations that work even on hosts lacking uint64_t
- Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2009-2015 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
/* Substitute for and wrapper around <unistd.h>.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 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
-/* Copyright (C) 1992, 1995-2002, 2005-2014 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1995-2002, 2005-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
/* Set file access and modification times.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 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 the
#define _GL_UTIMENS_INLINE _GL_EXTERN_INLINE
#include "utimens.h"
-#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <stdbool.h>
{
int result = 0;
int utime_omit_count = 0;
- assert (timespec);
if ((timespec[0].tv_nsec != UTIME_NOW
&& timespec[0].tv_nsec != UTIME_OMIT
&& ! (0 <= timespec[0].tv_nsec
/* Set file access and modification times.
- Copyright 2012-2014 Free Software Foundation, Inc.
+ Copyright 2012-2015 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 the
/* Compile-time assert-like macros.
- Copyright (C) 2005-2006, 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2006, 2009-2015 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
/* vla.h - variable length arrays
- Copyright 2014 Free Software Foundation, Inc.
+ Copyright 2014-2015 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
/* xalloc-oversized.h -- memory allocation size checking
- Copyright (C) 1990-2000, 2003-2004, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 1990-2000, 2003-2004, 2006-2015 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
* emacs-lisp/eieio-base.el (eieio-instance-inheritor): Don't use
<class>-child type.
-2015-01-07 Stefan Monnier <monnier@iro.umontreal.ca>
+2015-01-08 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/chart.el (chart-add-sequence, chart-bar-quickie):
Don't use <class> as a variable.
well as user-defined types. Emit errors for legacy types like
<class>-child and <class>-list, if not eieio-backward-compatibility.
-2015-01-05 Stefan Monnier <monnier@iro.umontreal.ca>
+2015-01-08 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/eieio.el (eieio-class-parents): Accept class objects.
(eieio--class-slot-initarg): Rename from class-slot-initarg.
(eieio-persistent-validate/fix-slot-value):
Change `class' arg to be a class object. Update all callers.
-2014-12-29 Stefan Monnier <monnier@iro.umontreal.ca>
+2015-01-08 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/eieio.el (child-of-class-p): Make it accept class objects
additionally to class names.
* emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
Use eieio--slot-name-index rather than eieio-slot-name-index.
-2014-12-23 Stefan Monnier <monnier@iro.umontreal.ca>
+2015-01-08 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/eieio.el (make-instance): Simplify by not adding an object
name argument.
(eieio-object-name-string, eieio-object-set-name-string, clone)
<eieio-named>: New methods.
-2014-12-22 Stefan Monnier <monnier@iro.umontreal.ca>
+2015-01-08 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/eieio-core.el (eieio--class-v): Rename from class-v.
(method-*): Add a "eieio--" prefix to those constants.
* emacs-lisp/eieio-speedbar.el: Use lexical-binding.
-2014-12-22 Stefan Monnier <monnier@iro.umontreal.ca>
+2015-01-08 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/eieio.el (child-of-class-p): Fix case where `class' is
`eieio-default-superclass'.
* emacs-lisp/eieio-base.el (eieio-persistent-slot-type-is-class-p):
Prefer \' to $.
+2015-01-08 Eli Zaretskii <eliz@gnu.org>
+
+ * simple.el (line-move-visual): When converting X pixel coordinate
+ to temporary-goal-column, adjust the value for right-to-left
+ screen lines. This fixes vertical-motion, next/prev-line, etc.
+
+2015-01-08 Glenn Morris <rgm@gnu.org>
+
+ * files.el (file-tree-walk): Remove; of unknown authorship. (Bug#19325)
+
+2015-01-07 K. Handa <handa@gnu.org>
+
+ * international/ccl.el (define-ccl-program): Improve the docstring.
+
+2015-01-06 Sam Steingold <sds@gnu.org>
+
+ * shell.el (shell-display-buffer-actions): Remove,
+ use `display-buffer-alist' instead.
+
+2015-01-05 Dmitry Gutov <dgutov@yandex.ru>
+
+ * progmodes/xref.el (xref--insert-xrefs): Add `help-echo' property
+ to the references.
+
+2015-01-05 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * minibuffer.el (completion-category-defaults): New var.
+ Set unicode-name to use substring completion.
+ (completion-category-defaults): Set it to nil.
+
+2015-01-04 Dmitry Gutov <dgutov@yandex.ru>
+
+ Add mouse interaction to xref.
+ * progmodes/xref.el (xref--button-map): New variable.
+ (xref--mouse-2): New command.
+ (xref--insert-xrefs): Add `mouse-face' and `keymap' properties to
+ the inserted references.
+
+2015-01-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ Less 'make' chatter for lisp dir
+ * Makefile.in (THEFILE): Define to be 'no-such-file' by default,
+ to make it clearer that the caller must specify it.
+ (compile-onefile): Remove, replacing by ...
+ ($(THEFILE)c): ... new rule. This lets us use AM_V_GEN here.
+ ($(THEFILE)c, .el.elc, $(MH_E_DIR)/mh-loaddefs.el)
+ ($(TRAMP_DIR)/tramp-loaddefs.el, $(CAL_DIR)/cal-loaddefs.el)
+ ($(CAL_DIR)/diary-loaddefs.el, $(CAL_DIR)/hol-loaddefs.el):
+ Use AM_V_GEN to lessen 'make' chatter.
+ (.el.elc): Omit duplicate comment.
+
+ Less 'make' chatter in batch mode
+ * emacs-lisp/autoload.el (autoload-generate-file-autoloads):
+ * emacs-lisp/bytecomp.el (byte-compile-file):
+ * files.el (save-buffer, basic-save-buffer):
+ * international/quail.el (quail-update-leim-list-file):
+ Don't output messages like "Generating ..." in batch mode.
+
+2015-01-04 Dmitry Gutov <dgutov@yandex.ru>
+
+ Unbreak `mouse-action' property in text buttons.
+ * button.el (push-button): Fix regression from 2012-12-06.
+
+2015-01-03 Dmitry Gutov <dgutov@yandex.ru>
+
+ * progmodes/xref.el (xref-marker-stack-empty-p): New function.
+
+ * menu-bar.el (menu-bar-goto-menu): Use it.
+
+2015-01-03 Dmitry Gutov <dgutov@yandex.ru>
+
+ * progmodes/xref.el (xref--window-configuration): New variable.
+ (xref-show-location-at-point): New command.
+ (xref--restore-window-configuration): New function.
+ (xref-next-line, xref-prev-line): Delegate to
+ `xref-show-location-at-point'.
+ (xref--location-at-point): Don't signal the error.
+ (xref-goto-xref): Do that here instead.
+ (xref--xref-buffer-mode): Add `xref--restore-window-configuration'
+ to `pre-command-hook'.
+ (xref--xref-buffer-mode-map): Don't remap `next-line' and
+ `previous-line'. Additionally bind `xref-next-line' and
+ `xref-prev-line' to `n' and `p' respectively. Bind
+ `xref-show-location-at-point' to `C-o'.
+
+2015-01-01 Eli Zaretskii <eliz@gnu.org>
+
+ * tool-bar.el (tool-bar-local-item)
+ (tool-bar-local-item-from-menu): Call force-mode-line-update to
+ make sure the tool-bar changes show on display.
+
+2015-01-01 Michael Albinus <michael.albinus@gmx.de>
+
+ Sync with Tramp 2.2.11.
+
+ * net/tramp-compat.el (top): Require cl-macs for Emacs 22.
+ Make an alias for `default-toplevel-value' if it doesn't exist.
+
+ * net/tramp-smb.el (tramp-smb-handle-copy-directory):
+ Use `tramp-compat-delete-directory'.
+
+ * net/trampver.el: Update release number.
+
+2015-01-01 Filipp Gunbin <fgunbin@fastmail.fm>
+
+ * autorevert.el (auto-revert-handler): Fix auto-revert-tail-mode
+ for remote files. (Bug#19449)
+
+2015-01-01 Simen Heggestøyl <simenheg@gmail.com> (tiny change)
+
+ * textmodes/css-mode.el (scss-mode): Fix typo (bug#19446).
+
+2014-12-31 Paul Eggert <eggert@cs.ucla.edu>
+
+ Less 'make' chatter in lisp directory
+ * Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_GEN, am__v_GEN_)
+ (am__v_GEN_0, am__v_GEN_1): New macros, from ../src/Makefile.in.
+ (custom-deps, finder-data, autoloads, update-subdirs): Use them.
+
+2014-12-31 Filipp Gunbin <fgunbin@fastmail.fm>
+
+ * info.el (info-display-manual): Limit the completion alternatives
+ to currently visited manuals if prefix argument is non-nil.
+
+2014-12-30 Paul Eggert <eggert@cs.ucla.edu>
+
+ * Makefile.in (semantic): Simplify.
+
+2014-12-30 Juri Linkov <juri@linkov.net>
+
+ * net/eww.el (eww-isearch-next-buffer): New function.
+ (eww-mode): Set multi-isearch-next-buffer-function to it.
+
+2014-12-30 Dmitry Gutov <dgutov@yandex.ru>
+
+ * progmodes/xref.el (xref-find-definitions): Mention "no
+ identifier at point" case in the docstring.
+
+ * menu-bar.el (menu-bar-goto-uses-etags-p): New function.
+ (menu-bar-goto-menu): Use it to show or hide the `set-tags-name'
+ and `separator-tag-file' items.
+
+2014-12-29 Paul Eggert <eggert@cs.ucla.edu>
+
+ * obsolete/pc-select.el (pc-selection-mode): Use system-type.
+ This is instead of system-name, which is both wrong here and obsolete.
+ * desktop.el (desktop-save-frameset):
+ * dnd.el (dnd-get-local-file-uri):
+ * nxml/rng-uri.el (rng-uri-file-name-1):
+ Prefer (system-name) to system-name, and avoid naming
+ locals 'system-name'.
+ * startup.el (system-name): Now an obsolete variable. (Bug#19438)
+
+2014-12-29 Dmitry Gutov <dgutov@yandex.ru>
+
+ * menu-bar.el (menu-bar-next-tag-other-window)
+ (menu-bar-next-tag): Remove.
+
+2014-12-29 K. Handa <handa@gnu.org>
+
+ * international/mule.el (make-translation-table-from-alist):
+ Accept nil or zero-length vector for FROM and TO.
+
+2014-12-29 Lars Ingebrigtsen <larsi@gnus.org>
+
+ * net/eww.el (eww-mode): Truncate overlong lines for prettier
+ display when resizing.
+
+ * net/shr.el (shr-width): Default to using the window width when
+ rendering.
+
+2014-12-29 Dmitry Gutov <dgutov@yandex.ru>
+
+ Unbreak jumping to an alias's definition.
+ * emacs-lisp/find-func.el (find-function-library): Return a pair
+ (ORIG-FUNCTION . LIBRARY) instead of just its second element.
+ (find-function-noselect): Use it.
+ * progmodes/elisp-mode.el (elisp--xref-identifier-file): Rename to
+ `elisp--xref-identifier-location', incorporate logic from
+ `elisp--xref-find-definitions', use the changed
+ `find-function-library' return value.
+
+2014-12-29 Juri Linkov <juri@linkov.net>
+
+ * comint.el (comint-history-isearch-message): Use field-beginning
+ instead of comint-line-beginning-position - that's more fixes for
+ http://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00305.html
+ (comint-history-isearch-message): Fix args of isearch-message-prefix.
+
+2014-12-29 Juri Linkov <juri@linkov.net>
+
+ * vc/vc-dir.el (vc-dir-display-file): New command (bug#19450).
+ (vc-dir-mode-map): Bind it to "\C-o".
+ (vc-dir-menu-map): Add it to menu.
+
+2014-12-29 Dmitry Gutov <dgutov@yandex.ru>
+
+ * progmodes/etags.el (find-tag-other-window)
+ (find-tag-other-frame, find-tag-regexp, tags-loop-continue)
+ (tags-apropos): Declare obsolete.
+
+ * menu-bar.el (menu-bar-goto-menu): Replace all but one etags item
+ with xref ones.
+
+2014-12-28 Eli Zaretskii <eliz@gnu.org>
+
+ * international/mule.el (define-coding-system): Fix typos in the
+ doc string.
+
+2014-12-28 Kenichi Handa <handa@gnu.org>
+
+ * international/mule.el (define-coding-system): Improve the doc
+ string.
+
+2014-12-28 Ivan Shmakov <ivan@siamics.net>
+
+ * net/shr.el (shr-tag-table): Fix handling of tbody/header/footer
+ elements in tables (bug#19444).
+
+ * net/eww.el (eww-handle-link): Fix typo in "up" rel handling
+ (bug#19445).
+
+2014-12-28 Juri Linkov <juri@linkov.net>
+
+ * vc/compare-w.el: Require diff-mode for diff faces.
+ (compare-windows-removed, compare-windows-added): New faces
+ inheriting from diff faces.
+ (compare-windows): Define obsolete face alias.
+ (compare-windows-highlight): Replace face `compare-windows' with
+ new faces `compare-windows-added' and `compare-windows-removed'
+ (bug#19451).
+ (compare-windows-get-recent-window): Signal an error when
+ no other window is found (bug#19170).
+
+2014-12-27 Dmitry Gutov <dgutov@yandex.ru>
+
+ * progmodes/elisp-mode.el (elisp--xref-identifier-file):
+ Skip features that have no sources.
+
+ * simple.el (execute-extended-command):
+ When `suggest-key-bindings' is nil, don't.
+
+2014-12-27 Fabián Ezequiel Gallina <fgallina@gnu.org>
+
+ python.el: Native readline completion.
+ * progmodes/python.el (python-shell-completion-native-disabled-interpreters)
+ (python-shell-completion-native-enable)
+ (python-shell-completion-native-output-timeout): New defcustoms.
+ (python-shell-completion-native-interpreter-disabled-p)
+ (python-shell-completion-native-try)
+ (python-shell-completion-native-setup)
+ (python-shell-completion-native-turn-off)
+ (python-shell-completion-native-turn-on)
+ (python-shell-completion-native-turn-on-maybe)
+ (python-shell-completion-native-turn-on-maybe-with-msg)
+ (python-shell-completion-native-toggle): New functions.
+ (python-shell-completion-native-get-completions): New function.
+ (python-shell-completion-at-point): Use it.
+
+2014-12-27 Fabián Ezequiel Gallina <fgallina@gnu.org>
+
+ python.el: Enhance shell user interaction and deprecate
+ python-shell-get-or-create-process.
+ * progmodes/python.el (python-shell-get-process-or-error):
+ New function.
+ (python-shell-with-shell-buffer): Use it.
+ (python-shell-send-string, python-shell-send-region)
+ (python-shell-send-buffer, python-shell-send-defun)
+ (python-shell-send-file, python-shell-switch-to-shell): Use it.
+ Add argument MSG to display user-friendly message when no process
+ is running.
+ (python-shell-switch-to-shell): Call pop-to-buffer with NORECORD.
+ (python-shell-make-comint): Rename argument SHOW from POP. Use
+ display-buffer instead of pop-to-buffer.
+ (run-python): Doc fix. Return process.
+ (python-shell-get-or-create-process): Make obsolete.
+
+2014-12-27 Fabián Ezequiel Gallina <fgallina@gnu.org>
+
+ * progmodes/python.el (python-shell-buffer-substring): Handle
+ cornercase when region sent starts at point-min.
+
+2014-12-27 Eli Zaretskii <eliz@gnu.org>
+
+ * language/misc-lang.el (composition-function-table): Add Syriac
+ characters and also ZWJ/ZWNJ. See
+ http://lists.gnu.org/archive/html/help-gnu-emacs/2014-12/msg00248.html
+ for the details.
+
+2014-12-27 Fabián Ezequiel Gallina <fgallina@gnu.org>
+
+ python.el: Fix message when sending region.
+ * progmodes/python.el (python-shell-send-region): Rename argument
+ send-main from nomain. Fix message.
+ (python-shell-send-buffer): Rename argument send-main from arg.
+
+ python.el: Cleanup temp files even with eval errors.
+ * progmodes/python.el (python-shell-send-file): Make file-name
+ mandatory. Fix temp file removal in the majority of cases.
+
+ python.el: Handle file encoding for shell.
+ * progmodes/python.el (python-rx-constituents): Add coding-cookie.
+ (python-shell--save-temp-file): Write file with proper encoding.
+ (python-shell-buffer-substring): Add coding cookie for detected
+ encoding to generated content. Fix blank lines when removing
+ if-name-main block.
+ (python-shell-send-file): Handle file encoding.
+ (python-info-encoding-from-cookie)
+ (python-info-encoding): New functions.
+
+2014-12-27 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
+ Use `tramp-rsh-end-of-line', it ought to be more robust.
+
+2014-12-27 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/js.el (js-syntax-propertize): "return" can't be divided
+ (bug#19397).
+
+2014-12-27 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp.el (tramp-read-passwd): Ignore errors from `auth-source-*'.
+
+ * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): Use "\n"
+ as end-of-line delimeter for passwords, when running on MS Windows.
+
+2014-12-27 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/sh-script.el (sh-set-shell): Don't change the global value
+ of indent-line-function (bug#19433).
+
+2014-12-27 Fabián Ezequiel Gallina <fgallina@gnu.org>
+
+ Fix line numbers on Python shell.
+ * progmodes/python.el (python-shell--save-temp-file): Do not
+ append coding cookie.
+ (python-shell-send-string): Generalize for
+ python-shell-send-region.
+ (python--use-fake-loc): Delete var.
+ (python-shell-buffer-substring): Cleanup fake-loc logic.
+ (python-shell-send-region): Remove fake-loc logic, simplify.
+
+2014-12-27 Fabián Ezequiel Gallina <fgallina@gnu.org>
+
+ * progmodes/python.el (python-indent-post-self-insert-function):
+ Make colon to re-indent only for dedenters, handling
+ multiline-statements gracefully.
+
+2014-12-27 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp.el (tramp-handle-insert-file-contents):
+ Set `find-file-not-found-functions' in case of errors. (Bug#18623)
+
+2014-12-27 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp-sh.el (tramp-send-command-and-read): New optional
+ arg MARKER.
+ (tramp-get-remote-path): Use it.
+
+2014-12-27 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * subr.el (redisplay-dont-pause): Mark as obsolete.
+
+2014-12-27 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp.el (tramp-error-with-buffer): Call `message' properly.
+ (tramp-accept-process-output): Use nil as argument for
+ `accept-process-output', when there is a gateway prepended.
+
+ * net/tramp-gw.el (tramp-gw-open-connection): Suppress traces in
+ wrong debug buffer.
+ (tramp-gw-open-connection): Set process coding system 'binary.
+ (tramp-gw-open-network-stream): Handle HTTP error 403.
+
+ * net/tramp-sh.el (tramp-compute-multi-hops): Suppress traces in
+ wrong debug buffer.
+ (tramp-maybe-open-connection): Set connection property "gateway".
+
+2014-12-27 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * subr.el (sit-for): Tweak docstring (bug#19381).
+
+2014-12-27 Dmitry Gutov <dgutov@yandex.ru>
+
+ * vc/vc-git.el (vc-git-after-dir-status-stage): Move `up-to-date'
+ stage to after `diff-index' (bug#19386).
+
+2014-12-27 João Távora <joaotavora@gmail.com>
+
+ * textmodes/tex-mode.el (tex-insert-quote): Consider and respect
+ `electric-pair-mode' (bug#19356).
+
+2014-12-27 Dmitry Gutov <dgutov@yandex.ru>
+
+ elisp-xref-find: Don't create buffers eagerly.
+
+ * progmodes/elisp-mode.el (elisp--identifier-location): Fold back
+ into `elisp--company-location'.
+ (elisp--identifier-completion-table): Rename to
+ `elisp--identifier-completion-table', and do not include just any
+ symbols with a property list.
+ (elisp-completion-at-point): Revert the 2014-12-25 change.
+ (elisp--xref-identifier-file): New function.
+ (elisp--xref-find-definitions): Use it.
+
+ * emacs-lisp/find-func.el (find-function-library): New function,
+ extracted from `find-function-noselect'.
+
+ * progmodes/xref.el (xref-elisp-location): New class.
+ (xref-make-elisp-location): New function.
+ (xref-location-marker): New implementation.
+
+2014-12-27 Juri Linkov <juri@linkov.net>
+
+ * minibuffer.el (minibuffer-completion-help):
+ Use shrink-window-if-larger-than-buffer in window-height
+ when temp-buffer-resize-mode is nil.
+
+ * window.el (with-displayed-buffer-window): Remove window-height
+ from the action alist in the temp-buffer-window-show call
+ when window-height is handled explicitly afterwards (bug#19355).
+
+2014-12-27 Juri Linkov <juri@linkov.net>
+
+ Support subdirectories when saving places in dired.
+ * saveplace.el (toggle-save-place, save-place-to-alist)
+ (save-places-to-alist, save-place-dired-hook):
+ Use dired-current-directory instead of dired-directory (bug#19436).
+ (save-place-dired-hook): Add check for alist to make the new
+ format future-proof to allow other possible formats.
+
+2014-12-26 Fabián Ezequiel Gallina <fgallina@gnu.org>
+
+ python.el: Generate clearer shell buffer names.
+ * progmodes/python.el (python-shell-get-process-name)
+ (python-shell-internal-get-process-name): Use `buffer-name`.
+ (python-shell-internal-get-or-create-process): Simplify.
+
+2014-12-26 Dmitry Gutov <dgutov@yandex.ru>
+
+ Add basic xref apropos implementation to elisp-mode.
+
+ * progmodes/elisp-mode.el (elisp--xref-find-definitions):
+ Filter out nil results.
+ (elisp--xref-find-apropos): New function.
+ (elisp-xref-find): Use it.
+
+ * progmodes/xref.el (xref--show-xrefs): Use `user-error'.
+
+2014-12-25 Filipp Gunbin <fgunbin@fastmail.fm>
+
+ * dired-aux.el (dired-maybe-insert-subdir): Make
+ dired-maybe-insert-subdir always skip trivial files.
+
+2014-12-25 Helmut Eller <eller.helmut@gmail.com>
+ Dmitry Gutov <dgutov@yandex.ru>
+
+ Consolidate cross-referencing commands.
+
+ Move autoloaded bindings for `M-.', `M-,', `C-x 4 .' and
+ `C-x 5 .' from etags.el to xref.el.
+
+ * progmodes/xref.el: New file.
+
+ * progmodes/elisp-mode.el (elisp--identifier-types): New variable.
+ (elisp--identifier-location): New function, extracted from
+ `elisp--company-location'.
+ (elisp--company-location): Use it.
+ (elisp--identifier-completion-table): New variable.
+ (elisp-completion-at-point): Use it.
+ (emacs-lisp-mode): Set the local values of `xref-find-function'
+ and `xref-identifier-completion-table-function'.
+ (elisp-xref-find, elisp--xref-find-definitions)
+ (elisp--xref-identifier-completion-table): New functions.
+
+ * progmodes/etags.el (find-tag-marker-ring): Mark obsolete in
+ favor of `xref--marker-ring'.
+ (tags-lazy-completion-table): Autoload.
+ (tags-reset-tags-tables): Use `xref-clear-marker-stack'.
+ (find-tag-noselect): Use `xref-push-marker-stack'.
+ (pop-tag-mark): Make an alias for `xref-pop-marker-stack'.
+ (etags--xref-limit): New constant.
+ (etags-xref-find, etags--xref-find-definitions): New functions.
+
+2014-12-25 Martin Rudalics <rudalics@gmx.at>
+
+ * cus-start.el (resize-mini-windows): Make it customizable.
+
+2014-12-24 Stephen Leake <stephen_leake@stephe-leake.org>
+
+ * startup.el (fancy-about-text): Change buttons for etc/CONTRIBUTE
+ to (info "(emacs)Contributing"). (Bug#19299)
+
+2014-12-24 Martin Rudalics <rudalics@gmx.at>
+
+ * window.el (mouse-autoselect-window-position-1): New variable.
+ (mouse-autoselect-window-cancel)
+ (mouse-autoselect-window-select, handle-select-window): With
+ delayed autoselection select window only if mouse moves after
+ selecting its frame.
+
+2014-12-24 Michael Albinus <michael.albinus@gmx.de>
+
+ * eshell/esh-ext.el (eshell-find-interpreter): Expand relative
+ remote file names. (Bug#18782)
+
+2014-12-23 Sam Steingold <sds@gnu.org>
+
+ * shell.el (shell-display-buffer-actions): New user option.
+ (shell): Pass it to `pop-to-buffer' instead of hard-coding
+ `pop-to-buffer-same-window'.
+
+2014-12-23 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/js.el (js--syntax-propertize-regexp-syntax-table): New var.
+ (js-syntax-propertize-regexp): Use it to recognize "slash in
+ a character class" (bug#19397).
+
2014-12-22 Stefan Monnier <monnier@iro.umontreal.ca>
* completion.el: Use post-self-insert-hook (bug#19400).
2014-12-19 Alan Mackenzie <acm@muc.de>
- Make C++11 uniform init syntax work. New keywords "final" and "override"
-
+ Make C++11 uniform init syntax work.
+ New keywords "final" and "override".
* progmodes/cc-engine.el (c-back-over-member-initializer-braces):
New function.
(c-guess-basic-syntax): Set `containing-sex' and `lim' using the
new function.
-
* progmodes/cc-fonts.el (c-font-lock-declarations): Check more
carefully for "are we at a declarator?" using
c-back-over-member-initializers.
-
- * progmodes/cc-langs.el (c-type-modifier-kwds): include "final"
+ * progmodes/cc-langs.el (c-type-modifier-kwds): Include "final"
and "override" in the C++ value.
2014-12-19 Martin Rudalics <rudalics@gmx.at>
- * textmodes/ispell.el (ispell-command-loop): Don't use
- `next-window'.
+ * textmodes/ispell.el (ispell-command-loop): Don't use `next-window'.
2014-12-21 Lars Ingebrigtsen <larsi@gnus.org>
2014-12-18 Artur Malabarba <bruce.connor.am@gmail.com>
- * let-alist.el (let-alist): Evaluate the `alist' argument only
- once.
+ * let-alist.el (let-alist): Evaluate the `alist' argument only once.
2014-12-18 Sam Steingold <sds@gnu.org>
Add code for "preserving" window sizes.
* dired.el (dired-pop-to-buffer): Call fit-window-to-buffer with
`preserve-size' t.
- (dired-mark-pop-up): Preserve size of window showing marked
- files.
+ (dired-mark-pop-up): Preserve size of window showing marked files.
* electric.el (Electric-pop-up-window):
* help.el (resize-temp-buffer-window): Call fit-window-to-buffer
with `preserve-size' t.
`window-preserve-size'.
(window-min-pixel-size, window--preservable-size)
(window-preserve-size, window-preserved-size)
- (window--preserve-size, window--min-size-ignore-p):
- New functions.
+ (window--preserve-size, window--min-size-ignore-p): New functions.
(window-min-size, window-min-delta, window--resizable)
(window--resize-this-window, split-window-below)
(split-window-right): Amend doc-string.
window above or below.
(window--state-put-2): Handle horizontal scroll bars.
(window--display-buffer): Call `preserve-size' if asked for.
- (display-buffer): Mention `preserve-size' alist member in
- doc-string.
+ (display-buffer): Mention `preserve-size' alist member in doc-string.
(fit-window-to-buffer): New argument PRESERVE-SIZE.
* textmodes/ispell.el (ispell-command-loop): Suppress horizontal
scroll bar on ispell's windows. Don't count window lines and
do the window handling.
(ispell-adjusted-window-height, ispell-overlay-window): Remove.
(ispell-display-buffer): New function to reuse, create and fit
- window to ispell's buffers. (Bug#3413)
+ window to ispell's buffers. (Bug#3413)
2014-12-18 Dmitry Gutov <dgutov@yandex.ru>
2014-12-14 Alan Mackenzie <acm@muc.de>
- * lisp/cus-start.el (all): Add fast-but-imprecise-scrolling.
+ * cus-start.el (all): Add fast-but-imprecise-scrolling.
2014-12-14 Artur Malabarba <bruce.connor.am@gmail.com>
* vc/vc-bzr.el (vc-bzr-diff):
* obsolete/vc-arch.el (vc-arch-diff): Move ASYNC argument to the end.
+2014-12-14 Paul Eggert <eggert@cs.ucla.edu>
+
+ * emacs-lisp/cconv.el (cconv--analyze-use):
+ Rename from cconv--analyse-use.
+ (cconv--analyze-function): Rename from cconv--analyse-function.
+ (cconv-analyze-form): Rename from cconv-analyse-form.
+
2014-12-13 Andreas Schwab <schwab@linux-m68k.org>
* net/shr.el (shr-next-link): Don't error out at eob.
2014-12-12 Eric S. Raymond <esr@snark.thyrsus.com>
- * vc/vc-dav.el, vc/vc-git.el, vc/vc-hg.el, vc/vc-src.el,
- vc/vc.el: latest-on-branch-p is no longer a public method.
+ * vc/vc-dav.el, vc/vc-git.el, vc/vc-hg.el, vc/vc-src.el:
+ * vc/vc.el: latest-on-branch-p is no longer a public method.
- * vc/vc.el, vc/vc-hg.el, vc/vc-git.el, vc/vc-hooks.el,
- vc/vc-mtn.el, vc/vc-rcs.el, vc/vc-sccs.el, vc/vc-src.el: Remove `rollback'
- method, to be replaced in the future by uncommit.
+ * vc/vc.el, vc/vc-hg.el, vc/vc-git.el, vc/vc-hooks.el:
+ * vc/vc-mtn.el, vc/vc-rcs.el, vc/vc-sccs.el, vc/vc-src.el:
+ Remove `rollback' method, to be replaced in the future by uncommit.
2014-12-11 Michael Albinus <michael.albinus@gmx.de>
2014-12-10 Eric S. Raymond <esr@snark.thyrsus.com>
- * vc/vc-dispatcher.el, vc/vc-hooks.el, vc/vc-rcs.el,
- vc/vc-sccs.el, vc/vc.el: Righteous featurectomy of
- vc-keep-workfiles, it's a shoot-self-in-foot archaism.
- Workfiles are always kept.
+ * vc/vc-dispatcher.el, vc/vc-hooks.el, vc/vc-rcs.el:
+ * vc/vc-sccs.el, vc/vc.el: Righteous featurectomy of vc-keep-workfiles,
+ it's a shoot-self-in-foot archaism. Workfiles are always kept.
2014-12-10 Rasmus Pank Roulund <emacs@pank.eu>
2014-12-09 Eric S. Raymond <esr@snark.thyrsus.com>
* vc/vc-src.el (vc-src-do-comand): Prepend -- to file argument
- list, avoids problems witth names containing hyphens.
+ list, avoids problems witt names containing hyphens.
2014-12-09 Wilson Snyder <wsnyder@wsnyder.org>
2014-12-08 Eric S. Raymond <esr@snark.thyrsus.com>
- * vc/vc-arch.el: Moved to obsolete directory so a test framework
+ * vc/vc-arch.el: Move to obsolete directory so a test framework
won't trip over bit-rot in it. There has been no Arch snapshot
for nine years.
2014-12-02 Eric S. Raymond <esr@snark.thyrsus.com>
- * subr.el (filter): New macro. Because it's just silly for a Lisp
+ * subr.el (filter): New macro. Because it's just silly for a Lisp
not to have this in 2014. And VC needs it.
- * vc.el, all backends: API simplification: Abolish dir-status.
+ * vc.el: All backends: API simplification: Abolish dir-status.
It's replaced by dir-status-files.
- * vc.el, all backends: API simplification: Remove 4th
+ * vc.el: All backends: API simplification: Remove 4th
'default-state' argument from vc-dir-status files and its backend
methods - no backend method ever set it. It was used only in the
fallback method to to set a default of 'up-to-date, though a
* vc.el (vc-expand-dirs): Now takes a second BACKEND argument,
improving behavior on directories using multiple file-oriented VCSes.
- * vc/vc.el and all backends: API simplification; clear-headers
+ * vc/vc.el: All backends: API simplification; clear-headers
is no longer a public method. It is now local to the one place
it's used, in the RCS steal-lock method.
2014-12-01 Eric S. Raymond <esr@snark.thyrsus.com>
- * vc/vc.el and all backends: API simplification; could-register
+ * vc/vc.el: In all backends: API simplification; could-register
is no longer a public method. (vc-cvs.el still has a private
implementation.)
- * vc/vc.el and all backends: API cleanup; the backend diff method
+ * vc/vc.el: In all backends: API cleanup; the backend diff method
takes an explicit async flag. This eliminates a particularly ugly
global.
the back ends; this fixes a layering violation that caused bad
behavior with SVN.
- * vc/vc.el, vc-hooks.el, and all backends: API simplification;
+ * vc/vc.el, vc-hooks.el: All backends: API simplification;
vc-stay-local-p and repository-hostname are no longer public
methods. Only the CVS and SVN backends used these, and the SVN
support was conditioned out because svn status -v is too slow.
- The CVS back end retains this machibery and the vc-stay-local
+ The CVS back end retains this machinery and the vc-stay-local
configuration variable now only affects it.
2014-12-01 Stefan Monnier <monnier@iro.umontreal.ca>
2014-12-01 Eric S. Raymond <esr@snark.thyrsus.com>
- * vc/vc.el, vc-hooks.el, and all backends: API simplification;
+ * vc/vc.el, vc-hooks.el: All backends: API simplification;
vc-state-heuristic is no longer a public method, having been
removed where it is redundant, unnecessary, or known buggy.
This eliminated all backends except CVS. Eliminates bug#7850.
* vc/vc-cvs.el, vc/vc-hooks.el, vc/vc-rcs.el, vc/vc-sccs.el:
Eliminate vc-mistrust-permissions. It was only relevant to the
- RCS and SCCS back ends and defaulted to t. Code now always
+ RCS and SCCS back ends and defaulted to t. Code now always
mistrusts permissions - by actual measurement the effect on
- performance is negligible. As a side effect bug#11490 is now
+ performance is negligible. As a side effect bug#11490 is now
irrelevant.
- * vc/vc.el, vc-hooks.el, and all backends: API simplification;
+ * vc/vc.el, vc-hooks.el: All backends: API simplification;
vc-workfile-unchanged-p is no longer a public method (but the RCS
and SCCS back ends retain it as a private method used in state
- computation). This method was redundant with vc-state and usually
- implemented as a trivial call to same. Fixes the failure mode
+ computation). This method was redundant with vc-state and usually
+ implemented as a trivial call to same. Fixes the failure mode
described in bug#694.
- * vc/vc.el and all backends: API simplification; init-revision is
+ * vc/vc.el: All backends: API simplification; init-revision is
gone, and vc-registered functions no longer take an
initial-revision argument.
string.
(newsticker--treeview-load): Change wording of the questions the
user is asked when `newsticker-groups-filename' is found to be
- used and we offer to read and remove the groups file. (bug#19165)
+ used and we offer to read and remove the groups file. (Bug#19165)
2014-11-27 Lars Magne Ingebrigtsen <larsi@gnus.org>
2014-11-22 Ulf Jasper <ulf.jasper@web.de>
* net/newst-backend.el (newsticker--sentinel-work):
- Tell `libxml-parse-xml-region' to discard comments. Fixes bug#18787.
+ Tell `libxml-parse-xml-region' to discard comments. Fixes bug#18787.
2014-11-22 Michael Albinus <michael.albinus@gmx.de>
live in vc.el and certainly not in vc-hooks.el.
* vc/vc-hooks.el, vc-rcs.el, vc-sccs.el: vc-name -> vc-master-name.
- This is preaparatory to isolating all the 'master' functions
+ This is preparatory to isolating all the 'master' functions
used only by the file-oriented back ends. With this done first,
the substantive diffs will be easier to read.
2014-11-19 Artur Malabarba <bruce.connor.am@gmail.com>
- * lisp/ido.el (ido-bury-buffer-at-head): New command.
+ * ido.el (ido-bury-buffer-at-head): New command.
(ido-buffer-completion-map): Bind it to C-S-b.
2014-11-18 Juri Linkov <juri@linkov.net>
2014-11-18 Paul Eggert <eggert@cs.ucla.edu>
Port new time stamp handling to Emacs 23.2.
- This fix is for Gnus. Problem reported by Katsumi Yamaoka.
+ This fix is for Gnus. Reported by Katsumi Yamaoka.
* calendar/time-date.el (time-add, time-subtract, time-less-p):
Use eval-and-compile, not eval-when-compile.
2014-11-16 Oscar Fuentes <ofv@wanadoo.es>
Add faces for the VC modeline state indicator.
- * lisp/vc/vc-hooks.el:
+ * vc/vc-hooks.el:
(vc-state-faces, vc-state-base-face)
(vc-up-to-date-state, vc-needs-update-state)
(vc-locked-state, vc-locally-added-state)
* ses.el (macroexp): Add require for this package, so that function
`ses--cell gets macroexp-quote.
(ses--cell): Makes formula a macroexp-quote of value when formula
- is nil. The rationale of this changr is to allow in the future
+ is nil. The rationale of this changr is to allow in the future
shorter SES files, e.g. we could have only `(ses-cell A1 1.0)'
- instead of `(ses-cell A1 1.0 1.0 nil REFLIST)'. In such a case
+ instead of `(ses-cell A1 1.0 1.0 nil REFLIST)'. In such a case
reference list REFLIST would be re-computed after load --- thus
trading off load time against file size.
HTML code has become part of the xml parse tree.
(newsticker--parse-rss-1.0, newsticker--parse-rss-2.0): Take care
of possibly missing namespace prefixes.
- (newsticker--parse-generic-items): Code formatting. Typo.
+ (newsticker--parse-generic-items): Code formatting. Typo.
(newsticker--images-dir): Add trailing slash.
(newsticker--image-get): Fix error message.
* vc/add-log.el (change-log-next-buffer): Don't create an empty
buffer "ChangeLog" when the current buffer doesn't match ChangeLog.[0-9].
Return the current buffer if no files match the default pattern
- ChangeLog.[0-9]. Signal "end of multi" when file is nil. (Bug#18547)
+ ChangeLog.[0-9]. Signal "end of multi" when file is nil. (Bug#18547)
2014-09-25 Stefan Monnier <monnier@iro.umontreal.ca>
* textmodes/reftex-sel.el (reftex-select-label-mode)
(reftex-select-bib-mode, reftex-insert-docstruct): Derive modes
from special-mode (instead of fundamental-mode) and propertize
- with font-lock-face instead of just face. (Bug#18496)
+ with font-lock-face instead of just face. (Bug#18496)
* textmodes/reftex-toc.el (reftex-toc-mode, reftex-toc): Ditto.
of local overrides.
(ibuffer): Don't store previous windows configuration.
Let `quit-window' handle restoring.
- (ibuffer-quit): Remove function. Use `quit-window' instead.
+ (ibuffer-quit): Remove function. Use `quit-window' instead.
(ibuffer-restore-window-config-on-quit): Remove variable.
(ibuffer-prev-window-config): Remove variable.
2014-08-11 Ulf Jasper <ulf.jasper@web.de>
- Newsticker: introduce `newsticker-treeview-date-format'. (Bug#17227)
-
+ Newsticker: introduce `newsticker-treeview-date-format'. (Bug#17227)
* net/newst-treeview.el (newsticker-treeview-date-format): New.
- (newsticker--treeview-list-add-item): Use `newsticker-treeview-date-format'.
+ (newsticker--treeview-list-add-item):
+ Use `newsticker-treeview-date-format'.
2014-08-11 Glenn Morris <rgm@gnu.org>
2014-07-30 Christophe Deleuze <christophe.deleuze@free.fr> (tiny change)
* calendar/icalendar.el (icalendar--decode-isodatetime):
- Use actual current-time-zone when converting to local time. (Bug#15408)
+ Use actual current-time-zone when converting to local time. (Bug#15408)
2014-07-29 Martin Rudalics <rudalics@gmx.at>
string delimiter.
(python-mode): Use it.
-2014-07-28 Fabián Ezequiel Gallina <fgallina@gnu.org>
-
- Prevent Python process shell buffer to pop twice.
- * progmodes/python.el (python-shell-switch-to-shell): Do not call
- pop-to-buffer.
-
2014-07-28 Fabián Ezequiel Gallina <fgallina@gnu.org>
* progmodes/python.el
2014-07-12 Fabián Ezequiel Gallina <fgallina@gnu.org>
- Fix dedenters and electric colon handling. (Bug#15163)
+ Fix dedenters and electric colon handling. (Bug#15163)
* progmodes/python.el
(python-rx-constituents): Add dedenter and block-ender.
(python-indent-dedenters, python-indent-block-enders): Delete.
* progmodes/python.el (python-indent-post-self-insert-function):
Enhancements to electric indentation behavior inside
- parens. (Bug#17658)
+ parens. (Bug#17658)
2014-07-03 Stefan Monnier <monnier@iro.umontreal.ca>
* help.el (help--key-binding-keymap): New function.
(help--binding-locus): New function.
(describe-key): Mention the keymap in which the binding was
- found. (bug#13948)
+ found. (bug#13948)
2014-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
2014-05-24 Daniel Colascione <dancol@dancol.org>
* progmodes/subword.el (subword-find-word-boundary): Move point to
- correct spot before search. (Bug#17580)
+ correct spot before search. (Bug#17580)
* emacs-lisp/nadvice.el (defun): Write in eval-and-compile to avoid
breaking the build.
mksh. Improve custom spec; allow regular expressions.
(sh-shell): Delegate name splitting to `sh-canonicalize-shell'.
(sh-after-hack-local-variables): New function.
- (sh-mode): Use it; respect file-local `sh-shell' variable. (bug#17333)
+ (sh-mode): Use it; respect file-local `sh-shell' variable. (Bug#17333)
(sh-set-shell): Use `sh-canonicalize-shell' instead of open-coding
the normalization.
(sh-canonicalize-shell): Rewrite to support regexes.
2014-04-07 João Távora <joaotavora@gmail.com>
Fix `electric-pair-delete-adjacent-pairs' in modes binding
- backspace. (bug#16981)
+ backspace. (Bug#16981)
* elec-pair.el (electric-pair-backward-delete-char): Delete.
(electric-pair-backward-delete-char-untabify): Delete.
(electric-pair-mode-map): Bind backspace to a menu item filtering
Set current buffer variables from defaults
in case user's init file has changed them.
- Copyright (C) 1985-1986, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1985-1986, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
;; coding: utf-8
;; End:
- Copyright (C) 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
;; coding: utf-8
;; End:
- Copyright (C) 2003-2011, 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2011, 2013-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
;; add-log-time-zone-rule: t
;; End:
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
;; coding: utf-8
;; End:
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
;; coding: utf-8
;; End:
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
;; coding: utf-8
;; End:
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
;; coding: utf-8
;; End:
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
See ChangeLog.1 for earlier changes.
- Copyright (C) 1986-1988, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1986-1988, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
;; coding: utf-8
;; End:
- Copyright (C) 1989, 1993, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1989, 1993, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
;; coding: utf-8
;; End:
- Copyright (C) 1993-1994, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1993-1994, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
;; coding: utf-8
;; End:
- Copyright (C) 1994-1995, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1994-1995, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
;; coding: utf-8
;; End:
- Copyright (C) 1995-1996, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1995-1996, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
;; coding: utf-8
;; End:
- Copyright (C) 1997-1998, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-1998, 2001-2015 Free Software Foundation,
+ Inc.
This file is part of GNU Emacs.
;; add-log-time-zone-rule: t
;; End:
- Copyright (C) 1999, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
;; coding: utf-8
;; End:
- Copyright (C) 2000-2011, 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2000-2011, 2013-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
### @configure_input@
-# Copyright (C) 2000-2014 Free Software Foundation, Inc.
+# Copyright (C) 2000-2015 Free Software Foundation, Inc.
# This file is part of GNU Emacs.
# limitation.
XARGS_LIMIT = @XARGS_LIMIT@
+# 'make' verbosity.
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+
# You can specify a different executable on the make command line,
# e.g. "make EMACS=../src/emacs ...".
$(lisp)/cus-load.el:
$(MAKE) custom-deps
custom-deps:
- $(setwins_almost); \
+ $(AM_V_GEN)$(setwins_almost); \
echo Directories: $$wins; \
$(emacs) -l cus-dep \
--eval '(setq generated-custom-dependencies-file (unmsys--file-name "$(srcdir)/cus-load.el"))' \
$(lisp)/finder-inf.el:
$(MAKE) finder-data
finder-data:
- $(setwins_finder); \
+ $(AM_V_GEN)$(setwins_finder); \
echo Directories: $$wins; \
$(emacs) -l finder \
--eval '(setq generated-finder-keywords-file (unmsys--file-name "$(srcdir)/finder-inf.el"))' \
# If you want to allow autoloads in such files, remove that,
# and make this depend on leim.
autoloads: $(LOADDEFS)
- $(setwins_almost); \
+ $(AM_V_GEN)$(setwins_almost); \
echo Directories: $$wins; \
$(emacs) -l autoload \
--eval '(setq autoload-ensure-writable t)' \
$(lisp)/subdirs.el:
$(MAKE) update-subdirs
update-subdirs:
- $(setwins_for_subdirs); \
+ $(AM_V_GEN)$(setwins_for_subdirs); \
for file in $$wins; do \
$(srcdir)/../build-aux/update-subdirs $$file; \
done;
# src/Makefile.in to rebuild a particular Lisp file, no questions asked.
# Use byte-compile-refresh-preloaded to try and work around some of
# the most common problems of not bootstrapping from a clean state.
-.PHONY: compile-onefile
-compile-onefile:
- @echo Compiling $(THEFILE)
- @# Use byte-compile-refresh-preloaded to try and work around some of
- @# the most common bootstrapping problems.
- @$(emacs) $(BYTE_COMPILE_FLAGS) \
+THEFILE = no-such-file
+.PHONY: $(THEFILE)c
+$(THEFILE)c:
+ $(AM_V_GEN)$(emacs) $(BYTE_COMPILE_FLAGS) \
-l bytecomp -f byte-compile-refresh-preloaded \
-f batch-byte-compile $(THEFILE)
# An old-fashioned suffix rule, which, according to the GNU Make manual,
# cannot have prerequisites.
.el.elc:
- @echo Compiling $<
- @# The BIG_STACK_OPTS are only needed to byte-compile the byte-compiler
- @# files, which is normally done in compile-first, but may also be
- @# recompiled via this rule.
- @$(emacs) $(BYTE_COMPILE_FLAGS) \
- -f batch-byte-compile $<
+ $(AM_V_GEN)$(emacs) $(BYTE_COMPILE_FLAGS) -f batch-byte-compile $<
.PHONY: compile-first compile-main compile compile-always
leim:
$(MAKE) -C ../leim all EMACS="$(EMACS)"
-# FIXME. Yuck.
semantic:
- case ${EMACS} in \
- .*) EMACS="../${EMACS}" ;; \
- *) EMACS="${EMACS}" ;; \
- esac; \
- $(MAKE) -C ../admin/grammars all EMACS="$${EMACS}"
+ $(MAKE) -C ../admin/grammars all EMACS="$(EMACS:.%=../.%)"
# Compile all Lisp files, but don't recompile those that are up to
# date. Some .el files don't get compiled because they set the
.PHONY: mh-autoloads
mh-autoloads: $(MH_E_DIR)/mh-loaddefs.el
$(MH_E_DIR)/mh-loaddefs.el: $(MH_E_SRC)
- $(emacs) -l autoload \
+ $(AM_V_GEN)$(emacs) -l autoload \
--eval "(setq generate-autoload-cookie \";;;###mh-autoload\")" \
--eval "(setq generated-autoload-file (expand-file-name (unmsys--file-name \"$@\")))" \
-f batch-update-autoloads $(MH_E_DIR)
$(TRAMP_DIR)/tramp-uu.el $(TRAMP_DIR)/trampver.el
$(TRAMP_DIR)/tramp-loaddefs.el: $(TRAMP_SRC)
- $(emacs) -l autoload \
+ $(AM_V_GEN)$(emacs) -l autoload \
--eval "(setq generate-autoload-cookie \";;;###tramp-autoload\")" \
--eval "(setq generated-autoload-file (expand-file-name (unmsys--file-name \"$@\")))" \
-f batch-update-autoloads $(TRAMP_DIR)
$(CAL_DIR)/solar.el
$(CAL_DIR)/cal-loaddefs.el: $(CAL_SRC)
- $(emacs) -l autoload \
+ $(AM_V_GEN)$(emacs) -l autoload \
--eval "(setq generate-autoload-cookie \";;;###cal-autoload\")" \
--eval "(setq generated-autoload-file (expand-file-name (unmsys--file-name \"$@\")))" \
-f batch-update-autoloads $(CAL_DIR)
$(CAL_DIR)/diary-loaddefs.el: $(CAL_SRC) $(CAL_DIR)/cal-loaddefs.el
- $(emacs) -l autoload \
+ $(AM_V_GEN)$(emacs) -l autoload \
--eval "(setq generate-autoload-cookie \";;;###diary-autoload\")" \
--eval "(setq generated-autoload-file (expand-file-name (unmsys--file-name \"$@\")))" \
-f batch-update-autoloads $(CAL_DIR)
$(CAL_DIR)/hol-loaddefs.el: $(CAL_SRC) $(CAL_DIR)/diary-loaddefs.el
- $(emacs) -l autoload \
+ $(AM_V_GEN)$(emacs) -l autoload \
--eval "(setq generate-autoload-cookie \";;;###holiday-autoload\")" \
--eval "(setq generated-autoload-file (expand-file-name (unmsys--file-name \"$@\")))" \
-f batch-update-autoloads $(CAL_DIR)
;;; abbrev.el --- abbrev mode commands for Emacs -*- lexical-binding: t -*-
-;; Copyright (C) 1985-1987, 1992, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1985-1987, 1992, 2001-2015 Free Software Foundation,
;; Inc.
;; Maintainer: emacs-devel@gnu.org
;;; align.el --- align text to a specific column, by regexp -*- lexical-binding:t -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;; Maintainer: emacs-devel@gnu.org
;; allout-widgets.el --- Visually highlight allout outline structure.
-;; Copyright (C) 2005-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
;; Author: Ken Manheimer <ken dot manheimer at gmail...>
;; Maintainer: Ken Manheimer <ken dot manheimer at gmail...>
;;; allout.el --- extensive outline mode for use alone and with other modes
-;; Copyright (C) 1992-1994, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1992-1994, 2001-2015 Free Software Foundation, Inc.
;; Author: Ken Manheimer <ken dot manheimer at gmail...>
;; Maintainer: Ken Manheimer <ken dot manheimer at gmail...>
;;; ansi-color.el --- translate ANSI escape sequences into faces -*- lexical-binding: t -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: Alex Schroeder <alex@gnu.org>
;; Maintainer: Alex Schroeder <alex@gnu.org>
;;; apropos.el --- apropos commands for users and programmers
-;; Copyright (C) 1989, 1994-1995, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1989, 1994-1995, 2001-2015 Free Software Foundation,
;; Inc.
;; Author: Joe Wells <jbw@bigbird.bu.edu>
;;; arc-mode.el --- simple editing of archives
-;; Copyright (C) 1995, 1997-1998, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1997-1998, 2001-2015 Free Software Foundation,
+;; Inc.
;; Author: Morten Welinder <terra@gnu.org>
;; Keywords: files archives ms-dos editing major-mode
;;; array.el --- array editing commands for GNU Emacs
-;; Copyright (C) 1987, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1987, 2000-2015 Free Software Foundation, Inc.
;; Author: David M. Brown
;; Maintainer: emacs-devel@gnu.org
;;; autoarg.el --- make digit keys supply prefix args
-;; Copyright (C) 1998, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2000-2015 Free Software Foundation, Inc.
;; Author: Dave Love <fx@gnu.org>
;; Created: 1998-09-04
;;; autoinsert.el --- automatic mode-dependent insertion of text into new files
-;; Copyright (C) 1985-1987, 1994-1995, 1998, 2000-2014 Free Software
+;; Copyright (C) 1985-1987, 1994-1995, 1998, 2000-2015 Free Software
;; Foundation, Inc.
;; Author: Charlie Martin <crm@cs.duke.edu>
;;; autorevert.el --- revert buffers when files on disk change
-;; Copyright (C) 1997-1999, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-1999, 2001-2015 Free Software Foundation, Inc.
;; Author: Anders Lindgren <andersl@andersl.com>
;; Keywords: convenience
;; the values.
(remote-file-name-inhibit-cache t)
(revert
- (or (and buffer-file-name
- (or auto-revert-remote-files
+ (if buffer-file-name
+ (and (or auto-revert-remote-files
(not (file-remote-p buffer-file-name)))
(or (not auto-revert-use-notify)
auto-revert-notify-modified-p)
(funcall (or buffer-stale-function
#'buffer-stale--default-function)
t)))
- (and (or auto-revert-mode
- global-auto-revert-non-file-buffers)
- (funcall (or buffer-stale-function
- #'buffer-stale--default-function)
- t))))
+ (and (or auto-revert-mode
+ global-auto-revert-non-file-buffers)
+ (funcall (or buffer-stale-function
+ #'buffer-stale--default-function)
+ t))))
eob eoblist)
(setq auto-revert-notify-modified-p nil)
(when revert
(let ((bufs (if global-auto-revert-mode
(buffer-list)
auto-revert-buffer-list))
- (remaining ())
- (new ()))
+ remaining new)
;; Partition `bufs' into two halves depending on whether or not
;; the buffers are in `auto-revert-remaining-buffers'. The two
;; halves are then re-joined with the "remaining" buffers at the
;;; avoid.el --- make mouse pointer stay out of the way of editing
-;; Copyright (C) 1993-1994, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1994, 2000-2015 Free Software Foundation, Inc.
;; Author: Boris Goldowsky <boris@gnu.org>
;; Keywords: mouse
;;; battery.el --- display battery status information -*- coding: utf-8 -*-
-;; Copyright (C) 1997-1998, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2000-2015 Free Software Foundation, Inc.
;; Author: Ralph Schleicher <rs@nunatak.allgaeu.org>
;; Keywords: hardware
;;; bindings.el --- define standard key bindings and some variables
-;; Copyright (C) 1985-1987, 1992-1996, 1999-2014 Free Software
+;; Copyright (C) 1985-1987, 1992-1996, 1999-2015 Free Software
;; Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;;; bookmark.el --- set bookmarks, maybe annotate them, jump to them later
-;; Copyright (C) 1993-1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1997, 2001-2015 Free Software Foundation, Inc.
;; Author: Karl Fogel <kfogel@red-bean.com>
;; Maintainer: Karl Fogel <kfogel@red-bean.com>
;;; bs.el --- menu for selecting and displaying buffers -*- lexical-binding: t -*-
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Olaf Sylvester <Olaf.Sylvester@netsurf.de>
;; Maintainer: Olaf Sylvester <Olaf.Sylvester@netsurf.de>
;; Keywords: convenience
;;; buff-menu.el --- Interface for viewing and manipulating buffers
-;; Copyright (C) 1985-1987, 1993-1995, 2000-2014 Free Software
+;; Copyright (C) 1985-1987, 1993-1995, 2000-2015 Free Software
;; Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;;; button.el --- clickable buttons
;;
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;;
;; Author: Miles Bader <miles@gnu.org>
;; Keywords: extensions
(if (posn-string posn)
;; mode-line, header-line, or display string event.
(button-activate (posn-string posn) t)
- (push-button (posn-point posn)) t)))
+ (push-button (posn-point posn) t))))
;; POS is just normal position
(let ((button (button-at (or pos (point)))))
(when button
;;; calc-aent.el --- algebraic entry functions for Calc
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: Dave Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc-alg.el --- algebraic functions for Calc
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc-arith.el --- arithmetic functions for Calc
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc-bin.el --- binary functions for Calc
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc-comb.el --- combinatoric functions for Calc
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc-cplx.el --- Complex number functions for Calc
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc-embed.el --- embed Calc in a buffer
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc-ext.el --- various extension functions for Calc
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc-fin.el --- financial functions for Calc
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc-forms.el --- data format conversion functions for Calc
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc-frac.el --- fraction functions for Calc
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc-funcs.el --- well-known functions for Calc
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc-graph.el --- graph output functions for Calc
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc-help.el --- help display functions for Calc,
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc-incom.el --- complex data type input functions for Calc
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc-keypd.el --- mouse-capable keypad input for Calc
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc-lang.el --- calc language functions
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc-macs.el --- important macros for Calc
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc-map.el --- higher-order functions for Calc
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc-math.el --- mathematical functions for Calc
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc-menu.el --- a menu for Calc
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc-misc.el --- miscellaneous functions for Calc
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc-mode.el --- calculator modes for Calc
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc-mtx.el --- matrix functions for Calc
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc-nlfit.el --- nonlinear curve fitting for Calc
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc-poly.el --- polynomial functions for Calc
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc-prog.el --- user programmability functions for Calc
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc-rewr.el --- rewriting functions for Calc
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc-rules.el --- rules for simplifying algebraic expressions in Calc
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc-sel.el --- data selection functions for Calc
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc-stat.el --- statistical functions for Calc
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc-store.el --- value storage functions for Calc
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc-stuff.el --- miscellaneous functions for Calc
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc-trail.el --- functions for manipulating the Calc "trail"
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc-undo.el --- undo functions for Calc
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc-units.el --- unit conversion functions for Calc
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc-vec.el --- vector functions for Calc
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc-yank.el --- kill-ring functionality for Calc
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calc.el --- the GNU Emacs calculator
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calcalg2.el --- more algebraic functions for Calc
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calcalg3.el --- more algebraic functions for Calc
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calccomp.el --- composition functions for Calc
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calcsel2.el --- selection functions for Calc
-;; Copyright (C) 1990-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: David Gillespie <daveg@synaptics.com>
;; Maintainer: Jay Belanger <jay.p.belanger@gmail.com>
;;; calculator.el --- a calculator for Emacs -*- lexical-binding: t -*-
-;; Copyright (C) 1998, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2000-2015 Free Software Foundation, Inc.
;; Author: Eli Barzilay <eli@barzilay.org>
;; Keywords: tools, convenience
;;; appt.el --- appointment notification functions
-;; Copyright (C) 1989-1990, 1994, 1998, 2001-2014 Free Software
+;; Copyright (C) 1989-1990, 1994, 1998, 2001-2015 Free Software
;; Foundation, Inc.
;; Author: Neil Mager <neilm@juliet.ll.mit.edu>
;;; cal-bahai.el --- calendar functions for the Bahá'í calendar.
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;; Keywords: calendar
;;; cal-china.el --- calendar functions for the Chinese calendar
-;; Copyright (C) 1995, 1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1997, 2001-2015 Free Software Foundation, Inc.
;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
;; Maintainer: Glenn Morris <rgm@gnu.org>
;;; cal-coptic.el --- calendar functions for the Coptic/Ethiopic calendars
-;; Copyright (C) 1995, 1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1997, 2001-2015 Free Software Foundation, Inc.
;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
;; Maintainer: Glenn Morris <rgm@gnu.org>
;;; cal-dst.el --- calendar functions for daylight saving rules
-;; Copyright (C) 1993-1996, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1996, 2001-2015 Free Software Foundation, Inc.
;; Author: Paul Eggert <eggert@twinsun.com>
;; Edward M. Reingold <reingold@cs.uiuc.edu>
;;; cal-french.el --- calendar functions for the French Revolutionary calendar
-;; Copyright (C) 1988-1989, 1992, 1994-1995, 1997, 2001-2014
-;; Free Software Foundation, Inc.
+;; Copyright (C) 1988-1989, 1992, 1994-1995, 1997, 2001-2015 Free
+;; Software Foundation, Inc.
;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
;; Maintainer: Glenn Morris <rgm@gnu.org>
;;; cal-hebrew.el --- calendar functions for the Hebrew calendar
-;; Copyright (C) 1995, 1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1997, 2001-2015 Free Software Foundation, Inc.
;; Author: Nachum Dershowitz <nachum@cs.uiuc.edu>
;; Edward M. Reingold <reingold@cs.uiuc.edu>
;;; cal-html.el --- functions for printing HTML calendars
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;; Author: Anna M. Bigatti <bigatti@dima.unige.it>
;; Keywords: calendar
;;; cal-islam.el --- calendar functions for the Islamic calendar
-;; Copyright (C) 1995, 1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1997, 2001-2015 Free Software Foundation, Inc.
;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
;; Maintainer: Glenn Morris <rgm@gnu.org>
;;; cal-iso.el --- calendar functions for the ISO calendar
-;; Copyright (C) 1995, 1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1997, 2001-2015 Free Software Foundation, Inc.
;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
;; Maintainer: Glenn Morris <rgm@gnu.org>
;;; cal-julian.el --- calendar functions for the Julian calendar
-;; Copyright (C) 1995, 1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1997, 2001-2015 Free Software Foundation, Inc.
;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
;; Maintainer: Glenn Morris <rgm@gnu.org>
;;; cal-mayan.el --- calendar functions for the Mayan calendars
-;; Copyright (C) 1992-1993, 1995, 1997, 2001-2014 Free Software
+;; Copyright (C) 1992-1993, 1995, 1997, 2001-2015 Free Software
;; Foundation, Inc.
;; Author: Stewart M. Clamen <clamen@cs.cmu.edu>
;;; cal-menu.el --- calendar functions for menu bar and popup menu support
-;; Copyright (C) 1994-1995, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1995, 2001-2015 Free Software Foundation, Inc.
;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
;; Lara Rios <lrios@coewl.cen.uiuc.edu>
;;; cal-move.el --- calendar functions for movement in the calendar
-;; Copyright (C) 1995, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995, 2001-2015 Free Software Foundation, Inc.
;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
;; Maintainer: Glenn Morris <rgm@gnu.org>
;;; cal-persia.el --- calendar functions for the Persian calendar
-;; Copyright (C) 1996-1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1997, 2001-2015 Free Software Foundation, Inc.
;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
;; Maintainer: Glenn Morris <rgm@gnu.org>
;;; cal-tex.el --- calendar functions for printing calendars with LaTeX
-;; Copyright (C) 1995, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995, 2001-2015 Free Software Foundation, Inc.
;; Author: Steve Fisk <fisk@bowdoin.edu>
;; Edward M. Reingold <reingold@cs.uiuc.edu>
;;; cal-x.el --- calendar windows in dedicated frames
-;; Copyright (C) 1994-1995, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1995, 2001-2015 Free Software Foundation, Inc.
;; Author: Michael Kifer <kifer@cs.sunysb.edu>
;; Edward M. Reingold <reingold@cs.uiuc.edu>
;;; calendar.el --- calendar functions
-;; Copyright (C) 1988-1995, 1997, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1988-1995, 1997, 2000-2015 Free Software Foundation,
+;; Inc.
;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
;; Maintainer: Glenn Morris <rgm@gnu.org>
;;; diary-lib.el --- diary functions
-;; Copyright (C) 1989-1990, 1992-1995, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1989-1990, 1992-1995, 2001-2015 Free Software
+;; Foundation, Inc.
;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
;; Maintainer: Glenn Morris <rgm@gnu.org>
;;; holidays.el --- holiday functions for the calendar package
-;; Copyright (C) 1989-1990, 1992-1994, 1997, 2001-2014
-;; Free Software Foundation, Inc.
+;; Copyright (C) 1989-1990, 1992-1994, 1997, 2001-2015 Free Software
+;; Foundation, Inc.
;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
;; Maintainer: Glenn Morris <rgm@gnu.org>
;;; icalendar.el --- iCalendar implementation -*-coding: utf-8 -*-
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;; Author: Ulf Jasper <ulf.jasper@web.de>
;; Created: August 2002
;;; lunar.el --- calendar functions for phases of the moon
-;; Copyright (C) 1992-1993, 1995, 1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1992-1993, 1995, 1997, 2001-2015 Free Software
+;; Foundation, Inc.
;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
;; Maintainer: Glenn Morris <rgm@gnu.org>
;;; parse-time.el --- parsing time strings
-;; Copyright (C) 1996, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996, 2000-2015 Free Software Foundation, Inc.
;; Author: Erik Naggum <erik@naggum.no>
;; Keywords: util
;;; solar.el --- calendar functions for solar events
-;; Copyright (C) 1992-1993, 1995, 1997, 2001-2014 Free Software
+;; Copyright (C) 1992-1993, 1995, 1997, 2001-2015 Free Software
;; Foundation, Inc.
;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
;;; time-date.el --- Date and time handling functions
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Masanobu Umeda <umerin@mse.kyutech.ac.jp>
;;; timeclock.el --- mode for keeping track of how much you work
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;; Created: 25 Mar 1999
;;; todo-mode.el --- facilities for making and maintaining todo lists
-;; Copyright (C) 1997, 1999, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 1999, 2001-2015 Free Software Foundation, Inc.
;; Author: Oliver Seidel <privat@os10000.net>
;; Stephen Berman <stephen.berman@gmx.net>
;;; case-table.el --- code to extend the character set and support case tables -*- lexical-binding: t -*-
-;; Copyright (C) 1988, 1994, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1988, 1994, 2001-2015 Free Software Foundation, Inc.
;; Author: Howard Gayle
;; Maintainer: emacs-devel@gnu.org
;;; cdl.el --- Common Data Language (CDL) utility functions for GNU Emacs
-;; Copyright (C) 1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 2001-2015 Free Software Foundation, Inc.
;; Author: ATAE@spva.physics.imperial.ac.uk (Ata Etemadi)
;; Maintainer: emacs-devel@gnu.org
(semantic-analyze-nolongprefix-completion-at-point-function):
Do nothing if the current buffer is not using Semantic (bug#19077).
+2014-12-14 Paul Eggert <eggert@cs.ucla.edu>
+
+ * semantic/lex-spp.el (semantic-lex-spp-analyzer-do-replace):
+ Rename from semantic-lex-spp-anlyzer-do-replace.
+
2014-12-08 Matt Curtis <matt.r.curtis@gmail.com> (tiny change)
* pulse.el (pulse-momentary-highlight-one-line): Respect the POINT
(ede-project-autoload): Remove dirmatch entry - it is no longer
needed.
- * lisp/cedet/ede/proj.el (project-rescan): Replace direct
+ * ede/proj.el (project-rescan): Replace direct
manipulation of `ede-projects' with equivalent and better
functions.
(ede-proj-load): Replace call to test if dir has project to
2014-11-09 David Engster <dengste@eml.cc>
- * lisp/cedet/ede/proj-elisp.el
- (ede-proj-target-elisp::ede-proj-tweak-autoconf): Kill buffer
- after saving modified elisp-comp script, as to avoid "file has
- changed on disk; really edit the buffer" questions when script
- gets rewritten.
+ * ede/proj-elisp.el (ede-proj-target-elisp::ede-proj-tweak-autoconf):
+ Kill buffer after saving modified elisp-comp script, so as to avoid
+ "file has changed on disk; really edit the buffer" questions when
+ script gets rewritten.
2014-10-29 Paul Eggert <eggert@cs.ucla.edu>
;;; cedet-cscope.el --- CScope support for CEDET
-;;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Package: cedet
;;; cedet-files.el --- Common routines dealing with file names.
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;; Package: cedet
;;; cedet-global.el --- GNU Global support for CEDET.
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;; Package: cedet
;;; cedet-idutils.el --- ID Utils support for CEDET.
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;; Old-Version: 0.2
;;; cedet.el --- Setup CEDET environment
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;; Author: David Ponce <david@dponce.com>
;; Maintainer: Eric M. Ludlam <zappo@gnu.org>
;;; data-debug.el --- Data structure debugger
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Old-Version: 0.2
;;; ede/auto.el --- Autoload features for EDE
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;;; ede/autoconf-edit.el --- Keymap for autoconf
-;; Copyright (C) 1998-2000, 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2000, 2009-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Keywords: project
;;; ede/config.el --- Configuration Handler baseclass
-;; Copyright (C) 2014 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
;; Author: Eric Ludlam <eric@siege-engine.com>
;;; ede/cpp-root.el --- A simple way to wrap a C++ project with a single root
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; ede/detect.el --- EDE project detection and file associations
-;; Copyright (C) 2014 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; ede/dired.el --- EDE extensions to dired.
-;; Copyright (C) 1998-2000, 2003, 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2000, 2003, 2009-2015 Free Software Foundation,
+;; Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Old-Version: 0.4
;;; ede/emacs.el --- Special project for Emacs
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; ede/files.el --- Associate projects with files and directories.
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; ede/generic.el --- Base Support for generic build systems
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; ede/linux.el --- Special project for Linux
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; ede/locate.el --- Locate support
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; ede/make.el --- General information about "make"
-;;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; makefile-edit.el --- Makefile editing/scanning commands.
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; ede/pconf.el --- configure.ac maintenance for EDE
-;;; Copyright (C) 1998-2000, 2005, 2008-2014 Free Software Foundation,
+;;; Copyright (C) 1998-2000, 2005, 2008-2015 Free Software Foundation,
;;; Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;;; ede-pmake.el --- EDE Generic Project Makefile code generator.
-;; Copyright (C) 1998-2005, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2005, 2007-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Keywords: project, make
;;; ede/proj-archive.el --- EDE Generic Project archive support
-;; Copyright (C) 1998-2001, 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2001, 2009-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Keywords: project, make
;;; ede/proj-aux.el --- EDE Generic Project auxiliary file support
-;; Copyright (C) 1998-2000, 2007, 2009-2014 Free Software Foundation,
+;; Copyright (C) 1998-2000, 2007, 2009-2015 Free Software Foundation,
;; Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;;; ede/proj-comp.el --- EDE Generic Project compiler/rule driver
-;; Copyright (C) 1999-2001, 2004-2005, 2007, 2009-2014 Free Software
+;; Copyright (C) 1999-2001, 2004-2005, 2007, 2009-2015 Free Software
;; Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;;; ede-proj-elisp.el --- EDE Generic Project Emacs Lisp support
-;; Copyright (C) 1998-2005, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2005, 2007-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Keywords: project, make
;;; ede-proj-info.el --- EDE Generic Project texinfo support
-;;; Copyright (C) 1998-2001, 2004, 2007-2014 Free Software Foundation,
+;;; Copyright (C) 1998-2001, 2004, 2007-2015 Free Software Foundation,
;;; Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;;; ede-proj-misc.el --- EDE Generic Project Emacs Lisp support
-;; Copyright (C) 1998-2001, 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2001, 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Keywords: project, make
;;; ede/proj-obj.el --- EDE Generic Project Object code generation support
-;;; Copyright (C) 1998-2000, 2005, 2008-2014 Free Software Foundation,
+;;; Copyright (C) 1998-2000, 2005, 2008-2015 Free Software Foundation,
;;; Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;;; ede-proj-prog.el --- EDE Generic Project program support
-;; Copyright (C) 1998-2001, 2005, 2008-2014 Free Software Foundation,
+;; Copyright (C) 1998-2001, 2005, 2008-2015 Free Software Foundation,
;; Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;;; ede/proj-scheme.el --- EDE Generic Project scheme (guile) support
-;; Copyright (C) 1998-2000, 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2000, 2009-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Keywords: project, make, scheme
;;; ede-proj-shared.el --- EDE Generic Project shared library support
-;;; Copyright (C) 1998-2000, 2009-2014 Free Software Foundation, Inc.
+;;; Copyright (C) 1998-2000, 2009-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Keywords: project, make
;;; project-am.el --- A project management scheme based on automake files.
-;; Copyright (C) 1998-2000, 2003, 2005, 2007-2015
-;; Free Software Foundation, Inc.
+;; Copyright (C) 1998-2000, 2003, 2005, 2007-2015 Free Software
+;; Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Old-Version: 0.0.3
;;; ede/shell.el --- A shell controlled by EDE.
;;
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;;
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; ede/simple.el --- Overlay an EDE structure on an existing project
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;; ede/source.el --- EDE source code object
-;; Copyright (C) 2000, 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000, 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Keywords: project, make
;;; ede/srecode.el --- EDE utilities on top of SRecoder
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; ede-system.el --- EDE working with the system (VC, FTP, ETC)
-;; Copyright (C) 2001-2003, 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2003, 2009-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Keywords: project, make, vc
;;; ede/util.el --- EDE utilities
-;; Copyright (C) 2000, 2005, 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000, 2005, 2009-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Keywords: project, make
;;; inversion.el --- When you need something in version XX.XX
-;;; Copyright (C) 2002-2003, 2005-2014 Free Software Foundation, Inc.
+;;; Copyright (C) 2002-2003, 2005-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Version: 1.3
;;; mode-local.el --- Support for mode local facilities
;;
-;; Copyright (C) 2004-2005, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2005, 2007-2015 Free Software Foundation, Inc.
;;
;; Author: David Ponce <david@dponce.com>
;; Maintainer: David Ponce <david@dponce.com>
;;; pulse.el --- Pulsing Overlays
-;;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;; Version: 1.0
;;; semantic/analyze/complete.el --- Smart Completions
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;;; semantic/analyze/debug.el --- Debug the analyzer
-;;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;;; semantic/analyze/fcn.el --- Analyzer support functions.
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;;; semantic/analyze/refs.el --- Analysis of the references between tags.
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;;; semantic/bovine.el --- LL Parser/Analyzer core.
-;; Copyright (C) 1999-2004, 2006-2007, 2009-2014 Free Software
+;; Copyright (C) 1999-2004, 2006-2007, 2009-2015 Free Software
;; Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; semantic/bovine/c.el --- Semantic details for C
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;;; semantic/bovine/debug.el --- Debugger support for bovinator
-;; Copyright (C) 2003, 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2009-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;;; semantic/bovine/el.el --- Semantic details for Emacs Lisp
-;; Copyright (C) 1999-2005, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2005, 2007-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;;; semantic/bovine/gcc.el --- gcc querying special code for the C parser
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; semantic/bovine/grammar.el --- Bovine's input grammar mode
;;
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;;
;; Author: David Ponce <david@dponce.com>
;; Maintainer: David Ponce <david@dponce.com>
;;; semantic/bovine/scm.el --- Semantic details for Scheme (guile)
-;;; Copyright (C) 2001-2004, 2008-2014 Free Software Foundation, Inc.
+;;; Copyright (C) 2001-2004, 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;;; semantic/chart.el --- Utilities for use with semantic tag tables
-;; Copyright (C) 1999-2001, 2003, 2005, 2008-2014 Free Software
+;; Copyright (C) 1999-2001, 2003, 2005, 2008-2015 Free Software
;; Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;;; semantic/ctxt.el --- Context calculations for Semantic tools.
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Keywords: syntax
;;; semantic/db-debug.el --- Extra level debugging routines for Semantic
-;;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; semantic/db-global.el --- Semantic database extensions for GLOBAL
-;; Copyright (C) 2002-2006, 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2006, 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Keywords: tags
;;; semantic/db-javascript.el --- Semantic database extensions for javascript
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;; Author: Joakim Verona
;;; semantic/db-mode.el --- Semanticdb Minor Mode
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; semantic/db-ref.el --- Handle cross-db file references
-;;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; semantic/debug.el --- Language Debugger framework
-;; Copyright (C) 2003-2005, 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2005, 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;;; semantic/decorate.el --- Utilities for decorating/highlighting tokens.
-;;; Copyright (C) 1999-2003, 2005-2007, 2009-2014 Free Software
+;;; Copyright (C) 1999-2003, 2005-2007, 2009-2015 Free Software
;;; Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;;; semantic/decorate/include.el --- Decoration modes for include statements
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;;; semantic/decorate/mode.el --- Minor mode for decorating tags
-;; Copyright (C) 2000-2005, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2005, 2007-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Keywords: syntax
;;; semantic/dep.el --- Methods for tracking dependencies (include files)
-;; Copyright (C) 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Keywords: syntax
;;; semantic/doc.el --- Routines for documentation strings
-;; Copyright (C) 1999-2003, 2005, 2008-2014 Free Software Foundation,
+;; Copyright (C) 1999-2003, 2005, 2008-2015 Free Software Foundation,
;; Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;;; semantic/edit.el --- Edit Management for Semantic
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;;; semantic/find.el --- Search routines for Semantic
-;; Copyright (C) 1999-2005, 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2005, 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Keywords: syntax
;;; semantic/format.el --- Routines for formatting tags
-;; Copyright (C) 1999-2005, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2005, 2007-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Keywords: syntax
;;; semantic/grammar-wy.el --- Generated parser support file
-;; Copyright (C) 2002-2004, 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2004, 2009-2015 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
;;; semantic/html.el --- Semantic details for html files
-;; Copyright (C) 2004-2005, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2005, 2007-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;;; semantic/ia-sb.el --- Speedbar analysis display interactor
-;;; Copyright (C) 2002-2004, 2006, 2008-2014 Free Software Foundation, Inc.
+;;; Copyright (C) 2002-2004, 2006, 2008-2015 Free Software Foundation,
+;;; Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Keywords: syntax
;;; semantic/imenu.el --- Use Semantic as an imenu tag generator
-;; Copyright (C) 2000-2005, 2007-2008, 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2005, 2007-2008, 2010-2015 Free Software
+;; Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Maintainer: Eric Ludlam
;;; semantic/java.el --- Semantic functions for Java
-;;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: David Ponce <david@dponce.com>
;;; semantic/lex-spp.el --- Semantic Lexical Pre-processor
-;; Copyright (C) 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;;; semantic/lex.el --- Lexical Analyzer builder
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;;; semantic/mru-bookmark.el --- Automatic bookmark tracking
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; semantic/sb.el --- Semantic tag display for speedbar
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Keywords: syntax
;;; semantic/senator.el --- SEmantic NAvigaTOR
-;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
;; Author: David Ponce <david@dponce.com>
;; Maintainer: emacs-devel@gnu.org
;;; semantic/sort.el --- Utilities for sorting and re-arranging tag tables.
-;;; Copyright (C) 1999-2005, 2007-2014 Free Software Foundation, Inc.
+;;; Copyright (C) 1999-2005, 2007-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Keywords: syntax
;;; semantic/symref.el --- Symbol Reference API
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; semantic/symref/cscope.el --- Semantic-symref support via cscope.
-;;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; semantic/symref/filter.el --- Filter symbol reference hits for accuracy.
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; semantic/symref/global.el --- Use GNU Global for symbol references
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; semantic/symref/grep.el --- Symref implementation using find/grep
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; semantic/symref/idutils.el --- Symref implementation for idutils
-;;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; semantic/symref/list.el --- Symref Output List UI.
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; semantic/tag-file.el --- Routines that find files based on tags.
-;; Copyright (C) 1999-2005, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2005, 2007-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Keywords: syntax
;;; semantic/tag-ls.el --- Language Specific override functions for tags
-;; Copyright (C) 1999-2004, 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2004, 2006-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;;; semantic/tag-write.el --- Write tags to a text stream
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; semantic/tag.el --- tag creation and access
-;; Copyright (C) 1999-2005, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2005, 2007-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;;; semantic/texi.el --- Semantic details for Texinfo files
-;; Copyright (C) 2001-2005, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2005, 2007-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;;; semantic/util-modes.el --- Semantic minor modes
-;; Copyright (C) 2000-2005, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2005, 2007-2015 Free Software Foundation, Inc.
;; Authors: Eric M. Ludlam <zappo@gnu.org>
;; David Ponce <david@dponce.com>
;;; semantic/util.el --- Utilities for use with semantic tag tables
-;;; Copyright (C) 1999-2005, 2007-2014 Free Software Foundation, Inc.
+;;; Copyright (C) 1999-2005, 2007-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Keywords: syntax
;;; semantic/wisent.el --- Wisent - Semantic gateway
-;; Copyright (C) 2001-2007, 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2007, 2009-2015 Free Software Foundation, Inc.
;; Author: David Ponce <david@dponce.com>
;; Maintainer: David Ponce <david@dponce.com>
;;; semantic/wisent/comp.el --- GNU Bison for Emacs - Grammar compiler
-;; Copyright (C) 1984, 1986, 1989, 1992, 1995, 2000-2007, 2009-2014 Free
+;; Copyright (C) 1984, 1986, 1989, 1992, 1995, 2000-2007, 2009-2015 Free
;; Software Foundation, Inc.
;; Author: David Ponce <david@dponce.com>
;;; semantic/wisent/grammar.el --- Wisent's input grammar mode
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;;
;; Author: David Ponce <david@dponce.com>
;; Maintainer: David Ponce <david@dponce.com>
;;; semantic/wisent/java-tags.el --- Java LALR parser for Emacs
-;; Copyright (C) 2001-2006, 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2006, 2009-2015 Free Software Foundation, Inc.
;; Author: David Ponce <david@dponce.com>
;; Maintainer: David Ponce <david@dponce.com>
;;; semantic/wisent/javascript.el --- javascript parser support
-;; Copyright (C) 2005, 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2009-2015 Free Software Foundation, Inc.
;; Author: Eric Ludlam <zappo@gnu.org>
;; Keywords: syntax
;;; wisent-python.el --- Semantic support for Python
-;; Copyright (C) 2002, 2004, 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2004, 2006-2015 Free Software Foundation, Inc.
;; Author: Richard Kim <emacs18@gmail.com>
;; Maintainer: Richard Kim <emacs18@gmail.com>
;;; semantic/wisent/wisent.el --- GNU Bison for Emacs - Runtime
-;;; Copyright (C) 2002-2007, 2009-2014 Free Software Foundation, Inc.
+;;; Copyright (C) 2002-2007, 2009-2015 Free Software Foundation, Inc.
;; Author: David Ponce <david@dponce.com>
;; Maintainer: David Ponce <david@dponce.com>
;;; srecode.el --- Semantic buffer evaluator.
-;;; Copyright (C) 2005, 2007-2014 Free Software Foundation, Inc.
+;;; Copyright (C) 2005, 2007-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Keywords: codegeneration
;;; srecode/args.el --- Provide some simple template arguments
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; srecode/cpp.el --- C++ specific handlers for Semantic Recoder
-;; Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;; Jan Moringen <scymtym@users.sourceforge.net>
;;; srecode/ctxt.el --- Derive a context from the source buffer.
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; srecode/dictionary.el --- Dictionary code for the semantic recoder.
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; srecode/document.el --- Documentation (comment) generation
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; srecode/el.el --- Emacs Lisp specific arguments
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; srecode/expandproto.el --- Expanding prototypes.
-;; Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; srecode/extract.el --- Extract content from previously inserted macro.
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; srecode/filters.el --- Filters for use in template variables.
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;;; srecode/find.el --- Tools for finding templates in the database.
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; srecode/getset.el --- Package for inserting new get/set methods.
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; srecode/java.el --- Srecode Java support
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; srecode/mode.el --- Minor mode for managing and using SRecode templates
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; srecode/semantic.el --- Semantic specific extensions to SRecode.
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; srecode/srt-mode.el --- Major mode for writing screcode macros
-;; Copyright (C) 2005, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2007-2015 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
;;; srecode/srt.el --- argument handlers for SRT files
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; srecode/table.el --- Tables of Semantic Recoders
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; srecode/template.el --- SRecoder template language parser support.
-;; Copyright (C) 2005, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2007-2015 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
;;; srecode/texi.el --- Srecode texinfo support.
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; chistory.el --- list command history
-;; Copyright (C) 1985, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 2001-2015 Free Software Foundation, Inc.
;; Author: K. Shane Hartman
;; Maintainer: emacs-devel@gnu.org
;;; cmuscheme.el --- Scheme process in a buffer. Adapted from tea.el
-;; Copyright (C) 1988, 1994, 1997, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1988, 1994, 1997, 2001-2015 Free Software Foundation,
;; Inc.
;; Author: Olin Shivers <olin.shivers@cs.cmu.edu>
;;; color.el --- Color manipulation library -*- coding: utf-8; lexical-binding:t -*-
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Authors: Julien Danjou <julien@danjou.info>
;; Drew Adams <drew.adams@oracle.com>
;;; comint.el --- general command interpreter in a window stuff -*- lexical-binding: t -*-
-;; Copyright (C) 1988, 1990, 1992-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1988, 1990, 1992-2015 Free Software Foundation, Inc.
;; Author: Olin Shivers <shivers@cs.cmu.edu>
;; Simon Marshall <simon@gnu.org>
;; the initial comint prompt.
(if (overlayp comint-history-isearch-message-overlay)
(move-overlay comint-history-isearch-message-overlay
- (save-excursion (forward-line 0) (point))
- (comint-line-beginning-position))
+ (save-excursion
+ (goto-char (field-beginning))
+ (forward-line 0)
+ (point))
+ (field-beginning))
(setq comint-history-isearch-message-overlay
- (make-overlay (save-excursion (forward-line 0) (point))
- (comint-line-beginning-position)))
+ (make-overlay (save-excursion
+ (goto-char (field-beginning))
+ (forward-line 0)
+ (point))
+ (field-beginning)))
(overlay-put comint-history-isearch-message-overlay 'evaporate t))
(overlay-put comint-history-isearch-message-overlay
- 'display (isearch-message-prefix c-q-hack ellipsis))
+ 'display (isearch-message-prefix ellipsis isearch-nonincremental))
(if (and comint-input-ring-index (not ellipsis))
;; Display the current history index.
(message "History item: %d" (1+ comint-input-ring-index))
;;; completion.el --- dynamic word-completion code
-;; Copyright (C) 1990, 1993, 1995, 1997, 2001-2014 Free Software
+;; Copyright (C) 1990, 1993, 1995, 1997, 2001-2015 Free Software
;; Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;;; composite.el --- support character composition
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
;; 2008, 2009, 2010, 2011
;;; cus-dep.el --- find customization dependencies
;;
-;; Copyright (C) 1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2015 Free Software Foundation, Inc.
;;
;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
;; Keywords: internal
;;; cus-edit.el --- tools for customizing Emacs and Lisp packages -*- lexical-binding:t -*-
;;
-;; Copyright (C) 1996-1997, 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1997, 1999-2015 Free Software Foundation, Inc.
;;
;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
;; Maintainer: emacs-devel@gnu.org
;;; cus-face.el --- customization support for faces
;;
-;; Copyright (C) 1996-1997, 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1997, 1999-2015 Free Software Foundation, Inc.
;;
;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
;; Keywords: help, faces
;;; cus-start.el --- define customization properties of builtins
-;; Copyright (C) 1997, 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 1999-2015 Free Software Foundation, Inc.
;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
;; Keywords: internal
(const :tag "Hourglass" :value hourglass)))
(display-hourglass cursor boolean)
(hourglass-delay cursor number)
-
+ (resize-mini-windows
+ windows (choice
+ (const :tag "Off (nil)" :value nil)
+ (const :tag "Fit (t)" :value t)
+ (const :tag "Grow only" :value grow-only))
+ "25.1")
;; xfaces.c
(scalable-fonts-allowed display boolean "22.1")
;; xfns.c
;;; cus-theme.el -- custom theme creation user interface
;;
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;;
;; Author: Alex Schroeder <alex@gnu.org>
;; Maintainer: emacs-devel@gnu.org
;;; custom.el --- tools for declaring and initializing options
;;
-;; Copyright (C) 1996-1997, 1999, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1996-1997, 1999, 2001-2015 Free Software Foundation,
;; Inc.
;;
;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
;;; dabbrev.el --- dynamic abbreviation package -*- lexical-binding: t -*-
-;; Copyright (C) 1985-1986, 1992, 1994, 1996-1997, 2000-2014 Free
+;; Copyright (C) 1985-1986, 1992, 1994, 1996-1997, 2000-2015 Free
;; Software Foundation, Inc.
;; Author: Don Morrison
;;; delim-col.el --- prettify all columns in a region or rectangle
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;;; delsel.el --- delete selection if you insert
-;; Copyright (C) 1992, 1997-1998, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1992, 1997-1998, 2001-2015 Free Software Foundation,
;; Inc.
;; Author: Matthieu Devin <devin@lucid.com>
;;; descr-text.el --- describe text mode -*- lexical-binding:t -*-
-;; Copyright (C) 1994-1996, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1996, 2001-2015 Free Software Foundation, Inc.
;; Author: Boris Goldowsky <boris@gnu.org>
;; Maintainer: emacs-devel@gnu.org
;;; desktop.el --- save partial status of Emacs when killed -*- lexical-binding: t -*-
-;; Copyright (C) 1993-1995, 1997, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1995, 1997, 2000-2015 Free Software Foundation,
+;; Inc.
;; Author: Morten Welinder <terra@diku.dk>
;; Keywords: convenience
(and desktop-restore-frames
(frameset-save nil
:app desktop--app-id
- :name (concat user-login-name "@" system-name)
+ :name (concat user-login-name "@" (system-name))
:predicate #'desktop--check-dont-save))))
;;;###autoload
;;; dframe --- dedicate frame support modes -*- lexical-binding:t -*-
-;; Copyright (C) 1996-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Keywords: file, tags, tools
;;; dired-aux.el --- less commonly used parts of dired
-;; Copyright (C) 1985-1986, 1992, 1994, 1998, 2000-2014
-;; Free Software Foundation, Inc.
+;; Copyright (C) 1985-1986, 1992, 1994, 1998, 2000-2015 Free Software
+;; Foundation, Inc.
;; Author: Sebastian Kremer <sk@thp.uni-koeln.de>.
;; Maintainer: emacs-devel@gnu.org
;; inserted *after* opoint.
(setq dirname (file-name-as-directory dirname))
(or (and (not switches)
- (dired-goto-subdir dirname))
+ (when (dired-goto-subdir dirname)
+ (unless (dired-subdir-hidden-p dirname)
+ (dired-initial-position dirname))
+ t))
(dired-insert-subdir dirname switches no-error-if-not-dir-p))
;; Push mark so that it's easy to find back. Do this after the
;; insert message so that the user sees the `Mark set' message.
;;; dired-x.el --- extra Dired functionality -*- lexical-binding:t -*-
-;; Copyright (C) 1993-1994, 1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1994, 1997, 2001-2015 Free Software Foundation,
+;; Inc.
;; Author: Sebastian Kremer <sk@thp.uni-koeln.de>
;; Lawrence R. Dodd <dodd@roebling.poly.edu>
;;; dired.el --- directory-browsing commands -*- lexical-binding: t -*-
-;; Copyright (C) 1985-1986, 1992-1997, 2000-2014
-;; Free Software Foundation, Inc.
+;; Copyright (C) 1985-1986, 1992-1997, 2000-2015 Free Software
+;; Foundation, Inc.
;; Author: Sebastian Kremer <sk@thp.uni-koeln.de>
;; Maintainer: emacs-devel@gnu.org
\f
;;; Start of automatically extracted autoloads.
\f
-;;;### (autoloads nil "dired-aux" "dired-aux.el" "1448837b5f3e2b9ad63f723361f1e32e")
+;;;### (autoloads nil "dired-aux" "dired-aux.el" "65f8aa57ace423283926d92dff903ca7")
;;; Generated autoloads from dired-aux.el
(autoload 'dired-diff "dired-aux" "\
;;;***
\f
-;;;### (autoloads nil "dired-x" "dired-x.el" "994b5d9fc38059ab641ec271c728e56f")
+;;;### (autoloads nil "dired-x" "dired-x.el" "d8d702a50887671b9128ba60bd9ebb8e")
;;; Generated autoloads from dired-x.el
(autoload 'dired-jump "dired-x" "\
;;; dirtrack.el --- Directory Tracking by watching the prompt
-;; Copyright (C) 1996, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996, 2001-2015 Free Software Foundation, Inc.
;; Author: Peter Breton <pbreton@cs.umb.edu>
;; Created: Sun Nov 17 1996
;;; disp-table.el --- functions for dealing with char tables
-;; Copyright (C) 1987, 1994-1995, 1999, 2001-2014 Free Software
+;; Copyright (C) 1987, 1994-1995, 1999, 2001-2015 Free Software
;; Foundation, Inc.
;; Author: Erik Naggum <erik@naggum.no>
;;; dnd.el --- drag and drop support. -*- coding: utf-8 -*-
-;; Copyright (C) 2005-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
;; Author: Jan Djärv <jan.h.d@swipnet.se>
;; Maintainer: emacs-devel@gnu.org
;; The hostname may be our hostname, in that case, convert to a local
;; file. Otherwise return nil. TODO: How about an IP-address as hostname?
- (let ((hostname (when (string-match "^file://\\([^/]*\\)" uri)
+ (let ((sysname (system-name)))
+ (let ((hostname (when (string-match "^file://\\([^/]*\\)" uri)
(downcase (match-string 1 uri))))
- (system-name-no-dot
- (downcase (if (string-match "^[^\\.]+" system-name)
- (match-string 0 system-name)
- system-name))))
- (when (and hostname
- (or (string-equal "localhost" hostname)
- (string-equal (downcase system-name) hostname)
- (string-equal system-name-no-dot hostname)))
- (concat "file://" (substring uri (+ 7 (length hostname)))))))
+ (sysname-no-dot
+ (downcase (if (string-match "^[^\\.]+" sysname)
+ (match-string 0 sysname)
+ sysname))))
+ (when (and hostname
+ (or (string-equal "localhost" hostname)
+ (string-equal (downcase sysname) hostname)
+ (string-equal sysname-no-dot hostname)))
+ (concat "file://" (substring uri (+ 7 (length hostname))))))))
(defsubst dnd-unescape-uri (uri)
(replace-regexp-in-string
;;; doc-view.el --- View PDF/PostScript/DVI files in Emacs -*- lexical-binding: t -*-
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;;
;; Author: Tassilo Horn <tsdh@gnu.org>
;; Maintainer: Tassilo Horn <tsdh@gnu.org>
;;; dom.el --- XML/HTML (etc.) DOM manipulation and searching functions
-;; Copyright (C) 2014 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: xml, html
;;; dos-fns.el --- MS-Dos specific functions
-;; Copyright (C) 1991, 1993, 1995-1996, 2001-2014 Free Software
+;; Copyright (C) 1991, 1993, 1995-1996, 2001-2015 Free Software
;; Foundation, Inc.
;; Maintainer: Morten Welinder <terra@diku.dk>
;;; dos-vars.el --- MS-Dos specific user options
-;; Copyright (C) 1998, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2001-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: internal
;; dos-w32.el --- Functions shared among MS-DOS and W32 (NT/95) platforms
-;; Copyright (C) 1996, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996, 2001-2015 Free Software Foundation, Inc.
;; Maintainer: Geoff Voelker <voelker@cs.washington.edu>
;; Keywords: internal
;;; double.el --- support for keyboard remapping with double clicking
-;; Copyright (C) 1994, 1997-1998, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1994, 1997-1998, 2001-2015 Free Software Foundation,
;; Inc.
;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
;;; dynamic-setting.el --- Support dynamic changes
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Jan Djärv <jan.h.d@swipnet.se>
;; Maintainer: emacs-devel@gnu.org
;;; ebuff-menu.el --- electric-buffer-list mode
-;; Copyright (C) 1985-1986, 1994, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1985-1986, 1994, 2001-2015 Free Software Foundation,
;; Inc.
;; Author: Richard Mlynarik <mly@ai.mit.edu>
;;; echistory.el --- Electric Command History Mode
-;; Copyright (C) 1985, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 2001-2015 Free Software Foundation, Inc.
;; Author: K. Shane Hartman
;; Maintainer: emacs-devel@gnu.org
;;; edmacro.el --- keyboard macro editor
-;; Copyright (C) 1993-1994, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1994, 2001-2015 Free Software Foundation, Inc.
;; Author: Dave Gillespie <daveg@synaptics.com>
;; Maintainer: Dave Gillespie <daveg@synaptics.com>
;;; ehelp.el --- bindings for electric-help mode -*- lexical-binding: t -*-
-;; Copyright (C) 1986, 1995, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1986, 1995, 2000-2015 Free Software Foundation, Inc.
;; Author: Richard Mlynarik
;; (according to ack.texi and authors.el)
;;; elec-pair.el --- Automatic parenthesis pairing -*- lexical-binding:t -*-
-;; Copyright (C) 2013-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
;; Author: João Távora <joaotavora@gmail.com>
;;; electric.el --- window maker and Command loop for `electric' modes
-;; Copyright (C) 1985-1986, 1995, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1985-1986, 1995, 2001-2015 Free Software Foundation,
;; Inc.
;; Author: K. Shane Hartman
;;; elide-head.el --- hide headers in files
-;; Copyright (C) 1999, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2001-2015 Free Software Foundation, Inc.
;; Author: Dave Love <fx@gnu.org>
;; Keywords: outlines tools
;;; advice.el --- An overloading mechanism for Emacs Lisp functions -*- lexical-binding: t -*-
-;; Copyright (C) 1993-1994, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1994, 2000-2015 Free Software Foundation, Inc.
;; Author: Hans Chalupsky <hans@cs.buffalo.edu>
;; Maintainer: emacs-devel@gnu.org
;; autoload.el --- maintain autoloads in loaddefs.el -*- lexical-binding: t -*-
-;; Copyright (C) 1991-1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1991-1997, 2001-2015 Free Software Foundation, Inc.
;; Author: Roland McGrath <roland@gnu.org>
;; Keywords: maint
(autoload-find-file file))
;; Obey the no-update-autoloads file local variable.
(unless no-update-autoloads
- (message "Generating autoloads for %s..." file)
+ (or noninteractive (message "Generating autoloads for %s..." file))
(setq load-name
(if (stringp generated-autoload-load-name)
generated-autoload-load-name
(nth 5 (file-attributes relfile))))
(insert ";;; Generated autoloads from " relfile "\n")))
(insert generate-autoload-section-trailer))))
- (message "Generating autoloads for %s...done" file))
+ (or noninteractive
+ (message "Generating autoloads for %s...done" file)))
(or visited
;; We created this buffer, so we should kill it.
(kill-buffer (current-buffer))))
;;; avl-tree.el --- balanced binary trees, AVL-trees -*- lexical-binding:t -*-
-;; Copyright (C) 1995, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995, 2007-2015 Free Software Foundation, Inc.
;; Author: Per Cederqvist <ceder@lysator.liu.se>
;; Inge Wallin <inge@lysator.liu.se>
;;; backquote.el --- implement the ` Lisp construct
-;; Copyright (C) 1990, 1992, 1994, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1990, 1992, 1994, 2001-2015 Free Software Foundation,
;; Inc.
;; Author: Rick Sladkey <jrs@world.std.com>
;;; benchmark.el --- support for benchmarking code
-;; Copyright (C) 2003-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
;; Author: Dave Love <fx@gnu.org>
;; Keywords: lisp, extensions
;;; bindat.el --- binary data structure packing and unpacking.
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;; Author: Kim F. Storm <storm@cua.dk>
;; Assignment name: struct.el
;;; byte-opt.el --- the optimization passes of the emacs-lisp byte compiler -*- lexical-binding: t -*-
-;; Copyright (C) 1991, 1994, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1991, 1994, 2000-2015 Free Software Foundation, Inc.
;; Author: Jamie Zawinski <jwz@lucid.com>
;; Hallvard Furuseth <hbf@ulrik.uio.no>
;;; byte-run.el --- byte-compiler support for inlining -*- lexical-binding: t -*-
-;; Copyright (C) 1992, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 2001-2015 Free Software Foundation, Inc.
;; Author: Jamie Zawinski <jwz@lucid.com>
;; Hallvard Furuseth <hbf@ulrik.uio.no>
;;; bytecomp.el --- compilation of Lisp code into byte code -*- lexical-binding: t -*-
-;; Copyright (C) 1985-1987, 1992, 1994, 1998, 2000-2014 Free Software
+;; Copyright (C) 1985-1987, 1992, 1994, 1998, 2000-2015 Free Software
;; Foundation, Inc.
;; Author: Jamie Zawinski <jwz@lucid.com>
;; recompiled). Previously this was accomplished by
;; deleting target-file before writing it.
(rename-file tempfile target-file t)
- (message "Wrote %s" target-file))
+ (or noninteractive (message "Wrote %s" target-file)))
;; This is just to give a better error message than write-region
(signal 'file-error
(list "Opening output file"
;;; cconv.el --- Closure conversion for statically scoped Emacs lisp. -*- lexical-binding: t; coding: utf-8 -*-
-;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
;; Author: Igor Kuzmin <kzuminig@iro.umontreal.ca>
;; Maintainer: emacs-devel@gnu.org
;;; chart.el --- Draw charts (bar charts, etc) -*- lexical-binding: t -*-
-;; Copyright (C) 1996, 1998-1999, 2001, 2004-2005, 2007-2014 Free
+;; Copyright (C) 1996, 1998-1999, 2001, 2004-2005, 2007-2015 Free
;; Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;;; check-declare.el --- Check declare-function statements
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Glenn Morris <rgm@gnu.org>
;; Keywords: lisp, tools, maint
;;; checkdoc.el --- check documentation strings for style requirements
-;; Copyright (C) 1997-1998, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2001-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Version: 0.6.2
;;; cl-extra.el --- Common Lisp features, part 2 -*- lexical-binding: t -*-
-;; Copyright (C) 1993, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 2000-2015 Free Software Foundation, Inc.
;; Author: Dave Gillespie <daveg@synaptics.com>
;; Keywords: extensions
;;; cl-indent.el --- enhanced lisp-indent mode
-;; Copyright (C) 1987, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1987, 2000-2015 Free Software Foundation, Inc.
;; Author: Richard Mlynarik <mly@eddie.mit.edu>
;; Created: July 1987
;;; cl-lib.el --- Common Lisp extensions for Emacs -*- lexical-binding: t -*-
-;; Copyright (C) 1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 2001-2015 Free Software Foundation, Inc.
;; Author: Dave Gillespie <daveg@synaptics.com>
;; Version: 1.0
;;; cl-macs.el --- Common Lisp macros -*- lexical-binding: t; coding: utf-8 -*-
-;; Copyright (C) 1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 2001-2015 Free Software Foundation, Inc.
;; Author: Dave Gillespie <daveg@synaptics.com>
;; Old-Version: 2.02
;;; cl-seq.el --- Common Lisp features, part 3 -*- lexical-binding: t -*-
-;; Copyright (C) 1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 2001-2015 Free Software Foundation, Inc.
;; Author: Dave Gillespie <daveg@synaptics.com>
;; Old-Version: 2.02
;;; cl.el --- Compatibility aliases for the old CL library. -*- lexical-binding: t -*-
-;; Copyright (C) 2012-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
;; Keywords: extensions
;;; copyright.el --- update the copyright notice in current buffer
-;; Copyright (C) 1991-1995, 1998, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1991-1995, 1998, 2001-2015 Free Software Foundation,
;; Inc.
;; Author: Daniel Pfeiffer <occitan@esperanto.org>
;;; crm.el --- read multiple strings with completion
-;; Copyright (C) 1985-1986, 1993-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985-1986, 1993-2015 Free Software Foundation, Inc.
;; Author: Sen Nagata <sen@eccosys.com>
;; Keywords: completion, minibuffer, multiple elements
;;; debug.el --- debuggers and related commands for Emacs -*- lexical-binding: t -*-
-;; Copyright (C) 1985-1986, 1994, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1985-1986, 1994, 2001-2015 Free Software Foundation,
;; Inc.
;; Maintainer: emacs-devel@gnu.org
;;; derived.el --- allow inheritance of major modes
;; (formerly mode-clone.el)
-;; Copyright (C) 1993-1994, 1999, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1993-1994, 1999, 2001-2015 Free Software Foundation,
;; Inc.
;; Author: David Megginson (dmeggins@aix1.uottawa.ca)
;;; disass.el --- disassembler for compiled Emacs Lisp code
-;; Copyright (C) 1986, 1991, 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1986, 1991, 2002-2015 Free Software Foundation, Inc.
;; Author: Doug Cutting <doug@csli.stanford.edu>
;; Jamie Zawinski <jwz@lucid.com>
;;; easy-mmode.el --- easy definition for major and minor modes
-;; Copyright (C) 1997, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2000-2015 Free Software Foundation, Inc.
;; Author: Georges Brun-Cottan <Georges.Brun-Cottan@inria.fr>
;; Maintainer: Stefan Monnier <monnier@gnu.org>
;;; easymenu.el --- support the easymenu interface for defining a menu -*- lexical-binding:t -*-
-;; Copyright (C) 1994, 1996, 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994, 1996, 1998-2015 Free Software Foundation, Inc.
;; Keywords: emulations
;; Author: Richard Stallman <rms@gnu.org>
;;; edebug.el --- a source-level debugger for Emacs Lisp -*- lexical-binding: t -*-
-;; Copyright (C) 1988-1995, 1997, 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1988-1995, 1997, 1999-2015 Free Software Foundation,
+;; Inc.
;; Author: Daniel LaLiberte <liberte@holonexus.org>
;; Maintainer: emacs-devel@gnu.org
;;; eieio-custom.el -- eieio object customization -*- lexical-binding:t -*-
-;; Copyright (C) 1999-2001, 2005, 2007-2014 Free Software Foundation,
+;; Copyright (C) 1999-2001, 2005, 2007-2015 Free Software Foundation,
;; Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;;; eieio-speedbar.el -- Classes for managing speedbar displays. -*- lexical-binding:t -*-
-;; Copyright (C) 1999-2002, 2005, 2007-2014 Free Software Foundation,
+;; Copyright (C) 1999-2002, 2005, 2007-2015 Free Software Foundation,
;; Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
\f
;;; Start of automatically extracted autoloads.
\f
-;;;### (autoloads nil "eieio-custom" "eieio-custom.el" "7d3c0bca065713ae74af0c07778dd1f4")
+;;;### (autoloads nil "eieio-custom" "eieio-custom.el" "9a908efef1720439feb6323c1dd01770")
;;; Generated autoloads from eieio-custom.el
(autoload 'customize-object "eieio-custom" "\
;;;***
\f
-;;;### (autoloads nil "eieio-opt" "eieio-opt.el" "7267115a161243e1e6ea75f2d25c8ebc")
+;;;### (autoloads nil "eieio-opt" "eieio-opt.el" "e922bf7ebc7dcb272480c4ba148da1ac")
;;; Generated autoloads from eieio-opt.el
(autoload 'eieio-browse "eieio-opt" "\
;;; eldoc.el --- Show function arglist or variable docstring in echo area -*- lexical-binding:t; -*-
-;; Copyright (C) 1996-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2015 Free Software Foundation, Inc.
;; Author: Noah Friedman <friedman@splode.com>
;; Maintainer: friedman@splode.com
;;; elint.el --- Lint Emacs Lisp
-;; Copyright (C) 1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2015 Free Software Foundation, Inc.
;; Author: Peter Liljenberg <petli@lysator.liu.se>
;; Created: May 1997
;;; elp.el --- Emacs Lisp Profiler -*- lexical-binding: t -*-
-;; Copyright (C) 1994-1995, 1997-1998, 2001-2014 Free Software
+;; Copyright (C) 1994-1995, 1997-1998, 2001-2015 Free Software
;; Foundation, Inc.
;; Author: Barry A. Warsaw
;;; ert-x.el --- Staging area for experimental extensions to ERT -*- lexical-binding: t -*-
-;; Copyright (C) 2008, 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008, 2010-2015 Free Software Foundation, Inc.
;; Author: Lennart Borgman (lennart O borgman A gmail O com)
;; Christian Ohler <ohler@gnu.org>
;;; ert.el --- Emacs Lisp Regression Testing -*- lexical-binding: t -*-
-;; Copyright (C) 2007-2008, 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2008, 2010-2015 Free Software Foundation, Inc.
;; Author: Christian Ohler <ohler@gnu.org>
;; Keywords: lisp, tools
;;; ewoc.el --- utility to maintain a view of a list of objects in a buffer -*- lexical-binding: t -*-
-;; Copyright (C) 1991-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1991-2015 Free Software Foundation, Inc.
;; Author: Per Cederqvist <ceder@lysator.liu.se>
;; Inge Wallin <inge@lysator.liu.se>
;;; find-func.el --- find the definition of the Emacs Lisp function near point
-;; Copyright (C) 1997, 1999, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 1999, 2001-2015 Free Software Foundation, Inc.
;; Author: Jens Petersen <petersen@kurims.kyoto-u.ac.jp>
;; Maintainer: petersen@kurims.kyoto-u.ac.jp
(cons (current-buffer) (point)))
(cons (current-buffer) nil))))))))
+(defun find-function-library (function &optional lisp-only verbose)
+ "Return the pair (ORIG-FUNCTION . LIBRARY) for FUNCTION.
+
+ORIG-FUNCTION is the original name, after removing all advice and
+resolving aliases. LIBRARY is an absolute file name, a relative
+file name inside the C sources directory, or a name of an
+autoloaded feature.
+
+If ORIG-FUNCTION is a built-in function and LISP-ONLY is non-nil,
+signal an error.
+
+If VERBOSE is non-nil, and FUNCTION is an alias, display a
+message about the whole chain of aliases."
+ (let ((def (symbol-function (find-function-advised-original function)))
+ aliases)
+ ;; FIXME for completeness, it might be nice to print something like:
+ ;; foo (which is advised), which is an alias for bar (which is advised).
+ (while (symbolp def)
+ (or (eq def function)
+ (not verbose)
+ (if aliases
+ (setq aliases (concat aliases
+ (format ", which is an alias for `%s'"
+ (symbol-name def))))
+ (setq aliases (format "`%s' is an alias for `%s'"
+ function (symbol-name def)))))
+ (setq function (symbol-function (find-function-advised-original function))
+ def (symbol-function (find-function-advised-original function))))
+ (if aliases
+ (message "%s" aliases))
+ (cons function
+ (cond
+ ((autoloadp def) (nth 1 def))
+ ((subrp def)
+ (if lisp-only
+ (error "%s is a built-in function" function))
+ (help-C-file-name def 'subr))
+ ((symbol-file function 'defun))))))
+
;;;###autoload
(defun find-function-noselect (function &optional lisp-only)
"Return a pair (BUFFER . POINT) pointing to the definition of FUNCTION.
in `load-path'."
(if (not function)
(error "You didn't specify a function"))
- (let ((def (symbol-function (find-function-advised-original function)))
- aliases)
- ;; FIXME for completeness, it might be nice to print something like:
- ;; foo (which is advised), which is an alias for bar (which is advised).
- (while (symbolp def)
- (or (eq def function)
- (if aliases
- (setq aliases (concat aliases
- (format ", which is an alias for `%s'"
- (symbol-name def))))
- (setq aliases (format "`%s' is an alias for `%s'"
- function (symbol-name def)))))
- (setq function (symbol-function (find-function-advised-original function))
- def (symbol-function (find-function-advised-original function))))
- (if aliases
- (message "%s" aliases))
- (let ((library
- (cond ((autoloadp def) (nth 1 def))
- ((subrp def)
- (if lisp-only
- (error "%s is a built-in function" function))
- (help-C-file-name def 'subr))
- ((symbol-file function 'defun)))))
- (find-function-search-for-symbol function nil library))))
+ (let ((func-lib (find-function-library function lisp-only t)))
+ (find-function-search-for-symbol (car func-lib) nil (cdr func-lib))))
(defun find-function-read (&optional type)
"Read and return an interned symbol, defaulting to the one near point.
;;; float-sup.el --- define some constants useful for floating point numbers.
-;; Copyright (C) 1985-1987, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985-1987, 2001-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: internal
;;; generic.el --- defining simple major modes with comment and font-lock
;;
-;; Copyright (C) 1997, 1999, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 1999, 2001-2015 Free Software Foundation, Inc.
;;
;; Author: Peter Breton <pbreton@cs.umb.edu>
;; Created: Fri Sep 27 1996
;;; gv.el --- generalized variables -*- lexical-binding: t -*-
-;; Copyright (C) 2012-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
;; Keywords: extensions
;;; helper.el --- utility help package supporting help in electric modes
-;; Copyright (C) 1985, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 2001-2015 Free Software Foundation, Inc.
;; Author: K. Shane Hartman
;; Maintainer: emacs-devel@gnu.org
;;; inline.el --- Define functions by their inliner -*- lexical-binding:t; -*-
-;; Copyright (C) 2014 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
;;; lisp-mnt.el --- utility functions for Emacs Lisp maintainers
-;; Copyright (C) 1992, 1994, 1997, 2000-2014 Free Software Foundation,
+;; Copyright (C) 1992, 1994, 1997, 2000-2015 Free Software Foundation,
;; Inc.
;; Author: Eric S. Raymond <esr@snark.thyrsus.com>
;;; lisp-mode.el --- Lisp mode, and its idiosyncratic commands -*- lexical-binding:t -*-
-;; Copyright (C) 1985-1986, 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985-1986, 1999-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: lisp, languages
;;; lisp.el --- Lisp editing commands for Emacs -*- lexical-binding:t -*-
-;; Copyright (C) 1985-1986, 1994, 2000-2014 Free Software Foundation,
+;; Copyright (C) 1985-1986, 1994, 2000-2015 Free Software Foundation,
;; Inc.
;; Maintainer: emacs-devel@gnu.org
;;; macroexp.el --- Additional macro-expansion support -*- lexical-binding: t; coding: utf-8 -*-
;;
-;; Copyright (C) 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
;;
;; Author: Miles Bader <miles@gnu.org>
;; Keywords: lisp, compiler, macros
;;; map-ynp.el --- general-purpose boolean question-asker -*- lexical-binding:t -*-
-;; Copyright (C) 1991-1995, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1991-1995, 2000-2015 Free Software Foundation, Inc.
;; Author: Roland McGrath <roland@gnu.org>
;; Maintainer: emacs-devel@gnu.org
;;; nadvice.el --- Light-weight advice primitives for Elisp functions -*- lexical-binding: t -*-
-;; Copyright (C) 2012-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
;; Keywords: extensions, lisp, tools
;;; package-x.el --- Package extras
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Tom Tromey <tromey@redhat.com>
;; Created: 10 Mar 2007
;;; package.el --- Simple package system for Emacs -*- lexical-binding:t -*-
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Tom Tromey <tromey@redhat.com>
;; Daniel Hackney <dan@haxney.org>
;;; pcase.el --- ML-style pattern-matching macro for Elisp -*- lexical-binding: t; coding: utf-8 -*-
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
;; Keywords:
;;; pp.el --- pretty printer for Emacs Lisp
-;; Copyright (C) 1989, 1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1989, 1993, 2001-2015 Free Software Foundation, Inc.
;; Author: Randal Schwartz <merlyn@stonehenge.com>
;; Keywords: lisp
;;; re-builder.el --- building Regexps with visual feedback -*- lexical-binding: t -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: Detlev Zundel <dzu@gnu.org>
;; Keywords: matching, lisp, tools
;;; regexp-opt.el --- generate efficient regexps to match strings
-;; Copyright (C) 1994-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-2015 Free Software Foundation, Inc.
;; Author: Simon Marshall <simon@gnu.org>
;; Maintainer: emacs-devel@gnu.org
;;; regi.el --- REGular expression Interpreting engine
-;; Copyright (C) 1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 2001-2015 Free Software Foundation, Inc.
;; Author: 1993 Barry A. Warsaw, Century Computing, Inc. <bwarsaw@cen.com>
;; Maintainer: bwarsaw@cen.com
;;; ring.el --- handle rings of items
-;; Copyright (C) 1992, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 2001-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: extensions
;;; rx.el --- sexp notation for regular expressions
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Author: Gerd Moellmann <gerd@gnu.org>
;; Maintainer: emacs-devel@gnu.org
;;; seq.el --- Sequence manipulation functions -*- lexical-binding: t -*-
-;; Copyright (C) 2014 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
;; Author: Nicolas Petton <petton.nicolas@gmail.com>
;; Keywords: sequences
;;; shadow.el --- locate Emacs Lisp file shadowings
-;; Copyright (C) 1995, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995, 2001-2015 Free Software Foundation, Inc.
;; Author: Terry Jones <terry@santafe.edu>
;; Keywords: lisp
;;; smie.el --- Simple Minded Indentation Engine -*- lexical-binding: t -*-
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
;; Keywords: languages, lisp, internal, parsing, indentation
;;; subr-x.el --- extra Lisp functions -*- lexical-binding:t -*-
-;; Copyright (C) 2013-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: convenience
;;; syntax.el --- helper functions to find syntactic context -*- lexical-binding: t -*-
-;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: internal
;;; tabulated-list.el --- generic major mode for tabulated lists -*- lexical-binding: t -*-
-;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
;; Author: Chong Yidong <cyd@stupidchicken.com>
;; Keywords: extensions, lisp
;;;; testcover-ses.el -- Example use of `testcover' to test "SES"
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;; Author: Jonathan Yavner <jyavner@engineer.com>
;; Maintainer: Jonathan Yavner <jyavner@engineer.com>
;;;; testcover-unsafep.el -- Use testcover to test unsafep's code coverage
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;; Author: Jonathan Yavner <jyavner@engineer.com>
;; Maintainer: Jonathan Yavner <jyavner@engineer.com>
;;;; testcover.el -- Visual code-coverage tool
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;; Author: Jonathan Yavner <jyavner@member.fsf.org>
;; Maintainer: Jonathan Yavner <jyavner@member.fsf.org>
;;; timer.el --- run a function with args at some time in future
-;; Copyright (C) 1996, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996, 2001-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Package: emacs
;;; tq.el --- utility to maintain a transaction queue -*- lexical-binding:t -*-
-;; Copyright (C) 1985-1987, 1992, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1985-1987, 1992, 2001-2015 Free Software Foundation,
;; Inc.
;; Author: Scott Draves <spot@cs.cmu.edu>
;;; trace.el --- tracing facility for Emacs Lisp functions -*- lexical-binding: t -*-
-;; Copyright (C) 1993, 1998, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1998, 2000-2015 Free Software Foundation, Inc.
;; Author: Hans Chalupsky <hans@cs.buffalo.edu>
;; Maintainer: emacs-devel@gnu.org
;;;; unsafep.el -- Determine whether a Lisp form is safe to evaluate
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;; Author: Jonathan Yavner <jyavner@member.fsf.org>
;; Maintainer: Jonathan Yavner <jyavner@member.fsf.org>
;;; warnings.el --- log and display warnings
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: internal
;;; emacs-lock.el --- protect buffers against killing or exiting -*- lexical-binding: t -*-
-;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
;; Author: Juanma Barranquero <lekktu@gmail.com>
;; Inspired by emacs-lock.el by Tom Wurgler <twurgler@goodyear.com>
;;; cua-base.el --- emulate CUA key bindings
-;; Copyright (C) 1997-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2015 Free Software Foundation, Inc.
;; Author: Kim F. Storm <storm@cua.dk>
;; Keywords: keyboard emulations convenience cua
;;; cua-gmrk.el --- CUA unified global mark support
-;; Copyright (C) 1997-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2015 Free Software Foundation, Inc.
;; Author: Kim F. Storm <storm@cua.dk>
;; Keywords: keyboard emulations convenience cua mark
;;; cua-rect.el --- CUA unified rectangle support
-;; Copyright (C) 1997-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2015 Free Software Foundation, Inc.
;; Author: Kim F. Storm <storm@cua.dk>
;; Keywords: keyboard emulations convenience CUA
;;; edt-lk201.el --- enhanced EDT keypad mode emulation for LK-201 keyboards
-;; Copyright (C) 1986, 1992-1993, 1995, 2001-2014 Free Software
+;; Copyright (C) 1986, 1992-1993, 1995, 2001-2015 Free Software
;; Foundation, Inc.
;; Author: Kevin Gallagher <Kevin.Gallagher@boeing.com>
;;; edt-mapper.el --- create an EDT LK-201 map file for X-Windows Emacs
-;; Copyright (C) 1994-1995, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1995, 2000-2015 Free Software Foundation, Inc.
;; Author: Kevin Gallagher <Kevin.Gallagher@boeing.com>
;; Maintainer: Kevin Gallagher <Kevin.Gallagher@boeing.com>
;;; edt-pc.el --- enhanced EDT keypad mode emulation for PC 101 keyboards
-;; Copyright (C) 1986, 1994-1995, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1986, 1994-1995, 2001-2015 Free Software Foundation,
;; Inc.
;; Author: Kevin Gallagher <Kevin.Gallagher@boeing.com>
;;; edt-vt100.el --- enhanced EDT keypad mode emulation for VT series terminals
-;; Copyright (C) 1986, 1992-1993, 1995, 2002-2014 Free Software
+;; Copyright (C) 1986, 1992-1993, 1995, 2002-2015 Free Software
;; Foundation, Inc.
;; Author: Kevin Gallagher <Kevin.Gallagher@boeing.com>
;;; edt.el --- enhanced EDT keypad mode emulation for GNU Emacs
-;; Copyright (C) 1986, 1992-1995, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1986, 1992-1995, 2000-2015 Free Software Foundation,
+;; Inc.
;; Author: Kevin Gallagher <Kevin.Gallagher@boeing.com>
;; Maintainer: Kevin Gallagher <Kevin.Gallagher@boeing.com>
;;; keypad.el --- simplified keypad bindings
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;; Author: Kim F. Storm <storm@cua.dk>
;; Keywords: keyboard convenience
;;; viper-cmd.el --- Vi command support for Viper
-;; Copyright (C) 1997-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2015 Free Software Foundation, Inc.
;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
;; Package: viper
;;; viper-ex.el --- functions implementing the Ex commands for Viper
-;; Copyright (C) 1994-1998, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1998, 2000-2015 Free Software Foundation, Inc.
;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
;; Package: viper
;;; viper-init.el --- some common definitions for Viper
-;; Copyright (C) 1997-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2015 Free Software Foundation, Inc.
;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
;; Package: viper
;;; viper-keym.el --- Viper keymaps
-;; Copyright (C) 1994-1997, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1997, 2000-2015 Free Software Foundation, Inc.
;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
;; Package: viper
;;; viper-macs.el --- functions implementing keyboard macros for Viper
-;; Copyright (C) 1994-1997, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1997, 2000-2015 Free Software Foundation, Inc.
;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
;; Package: viper
;;; viper-mous.el --- mouse support for Viper
-;; Copyright (C) 1994-1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1997, 2001-2015 Free Software Foundation, Inc.
;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
;; Package: viper
;;; viper-util.el --- Utilities used by viper.el
-;; Copyright (C) 1994-1997, 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1997, 1999-2015 Free Software Foundation, Inc.
;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
;; Package: viper
;; and a venomous VI PERil.
;; Viper Is also a Package for Emacs Rebels.
-;; Copyright (C) 1994-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-2015 Free Software Foundation, Inc.
;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
;; Keywords: emulations
;;; env.el --- functions to manipulate environment variables -*- lexical-binding:t -*-
-;; Copyright (C) 1991, 1994, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1991, 1994, 2000-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: processes, unix
;;; epa-dired.el --- the EasyPG Assistant, dired extension -*- lexical-binding: t -*-
-;; Copyright (C) 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
;; Author: Daiki Ueno <ueno@unixuser.org>
;; Keywords: PGP, GnuPG
;;; epa-file.el --- the EasyPG Assistant, transparent file encryption -*- lexical-binding: t -*-
-;; Copyright (C) 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
;; Author: Daiki Ueno <ueno@unixuser.org>
;; Keywords: PGP, GnuPG
;;; epa-hook.el --- preloaded code to enable epa-file.el -*- lexical-binding: t -*-
-;; Copyright (C) 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
;; Author: Daiki Ueno <ueno@unixuser.org>
;; Keywords: PGP, GnuPG
;;; epa-mail.el --- the EasyPG Assistant, minor-mode for mail composer -*- lexical-binding: t -*-
-;; Copyright (C) 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
;; Author: Daiki Ueno <ueno@unixuser.org>
;; Keywords: PGP, GnuPG, mail, message
;;; epa.el --- the EasyPG Assistant -*- lexical-binding: t -*-
-;; Copyright (C) 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
;; Author: Daiki Ueno <ueno@unixuser.org>
;; Keywords: PGP, GnuPG
;;; epg-config.el --- configuration of the EasyPG Library
-;; Copyright (C) 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
;; Author: Daiki Ueno <ueno@unixuser.org>
;; Keywords: PGP, GnuPG
;;; epg.el --- the EasyPG Library -*- lexical-binding: t -*-
-;; Copyright (C) 1999-2000, 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2000, 2002-2015 Free Software Foundation, Inc.
;; Author: Daiki Ueno <ueno@unixuser.org>
;; Keywords: PGP, GnuPG
See ChangeLog.08 for earlier changes.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
* erc-speak.el, erc.el: New file.
- Copyright (C) 2001, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2006-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
See ChangeLog.01 for earlier changes.
- Copyright (C) 2002, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
See ChangeLog.02 for earlier changes.
- Copyright (C) 2003, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2006-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
See ChangeLog.03 for earlier changes.
- Copyright (C) 2004, 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2006-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
See ChangeLog.04 for earlier changes.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
See ChangeLog.05 for earlier changes.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
See ChangeLog.06 for earlier changes.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
See ChangeLog.07 for earlier changes.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
;;; erc-autoaway.el --- Provides autoaway for ERC
-;; Copyright (C) 2002-2004, 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2004, 2006-2015 Free Software Foundation, Inc.
;; Author: Jorgen Schaefer <forcer@forcix.cx>
;; Maintainer: emacs-devel@gnu.org
;;; erc-backend.el --- Backend network communication for ERC
-;; Copyright (C) 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
;; Filename: erc-backend.el
;; Author: Lawrence Mitchell <wence@gmx.li>
;; erc-button.el --- A way of buttonizing certain things in ERC buffers -*- lexical-binding:t -*-
-;; Copyright (C) 1996-2004, 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2004, 2006-2015 Free Software Foundation, Inc.
;; Author: Mario Lang <mlang@delysid.org>
;; Maintainer: emacs-devel@gnu.org
;;; erc-capab.el --- support for dancer-ircd and hyperion's CAPAB
-;; Copyright (C) 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;;; erc-compat.el --- ERC compatibility code for XEmacs
-;; Copyright (C) 2002-2003, 2005-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2003, 2005-2015 Free Software Foundation, Inc.
;; Author: Alex Schroeder <alex@gnu.org>
;; Maintainer: emacs-devel@gnu.org
;;; erc-dcc.el --- CTCP DCC module for ERC
-;; Copyright (C) 1993-1995, 1998, 2002-2004, 2006-2014 Free Software
+;; Copyright (C) 1993-1995, 1998, 2002-2004, 2006-2015 Free Software
;; Foundation, Inc.
;; Author: Ben A. Mesander <ben@gnu.ai.mit.edu>
;; erc-desktop-notifications.el -- Send notification on PRIVMSG or mentions
-;; Copyright (C) 2012-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
;; Author: Julien Danjou <julien@danjou.info>
;; Keywords: comm
;;; erc-ezbounce.el --- Handle EZBounce bouncer commands
-;; Copyright (C) 2002, 2004, 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2004, 2006-2015 Free Software Foundation, Inc.
;; Author: Andreas Fuchs <asf@void.at>
;; Maintainer: emacs-devel@gnu.org
;;; erc-fill.el --- Filling IRC messages in various ways
-;; Copyright (C) 2001-2004, 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2004, 2006-2015 Free Software Foundation, Inc.
;; Author: Andreas Fuchs <asf@void.at>
;; Mario Lang <mlang@delysid.org>
;; erc-goodies.el --- Collection of ERC modules
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Author: Jorgen Schaefer <forcer@forcix.cx>
;; Maintainer: emacs-devel@gnu.org
;;; erc-ibuffer.el --- ibuffer integration with ERC
-;; Copyright (C) 2002, 2004, 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2004, 2006-2015 Free Software Foundation, Inc.
;; Author: Mario Lang <mlang@delysid.org>
;; Maintainer: emacs-devel@gnu.org
;;; erc-identd.el --- RFC1413 (identd authentication protocol) server
-;; Copyright (C) 2003, 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2006-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;; Maintainer: emacs-devel@gnu.org
;;; erc-imenu.el -- Imenu support for ERC
-;; Copyright (C) 2001-2002, 2004, 2006-2014 Free Software Foundation,
+;; Copyright (C) 2001-2002, 2004, 2006-2015 Free Software Foundation,
;; Inc.
;; Author: Mario Lang <mlang@delysid.org>
;;; erc-join.el --- autojoin channels on connect and reconnects
-;; Copyright (C) 2002-2004, 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2004, 2006-2015 Free Software Foundation, Inc.
;; Author: Alex Schroeder <alex@gnu.org>
;; Maintainer: emacs-devel@gnu.org
;;; erc-lang.el --- provide the LANG command to ERC
-;; Copyright (C) 2002, 2004, 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2004, 2006-2015 Free Software Foundation, Inc.
;; Author: Alex Schroeder <alex@gnu.org>
;; Maintainer: emacs-devel@gnu.org
;;; erc-list.el --- /list support for ERC -*- lexical-binding:t -*-
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Tom Tromey <tromey@redhat.com>
;; Maintainer: emacs-devel@gnu.org
;;; erc-log.el --- Logging facilities for ERC.
-;; Copyright (C) 2003-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
;; Author: Lawrence Mitchell <wence@gmx.li>
;; Maintainer: emacs-devel@gnu.org
;;; erc-match.el --- Highlight messages matching certain regexps
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;; Author: Andreas Fuchs <asf@void.at>
;; Maintainer: emacs-devel@gnu.org
;; erc-menu.el -- Menu-bar definitions for ERC
-;; Copyright (C) 2001-2002, 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2002, 2004-2015 Free Software Foundation, Inc.
;; Author: Mario Lang <mlang@delysid.org>
;; Maintainer: emacs-devel@gnu.org
;;; erc-netsplit.el --- Reduce JOIN/QUIT messages on netsplits
-;; Copyright (C) 2002-2004, 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2004, 2006-2015 Free Software Foundation, Inc.
;; Author: Mario Lang <mlang@delysid.org>
;; Maintainer: emacs-devel@gnu.org
;;; erc-networks.el --- IRC networks
-;; Copyright (C) 2002, 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2004-2015 Free Software Foundation, Inc.
;; Author: Mario Lang <mlang@lexx.delysid.org>
;; Maintainer: emacs-devel@gnu.org
;;; erc-notify.el --- Online status change notification -*- lexical-binding:t -*-
-;; Copyright (C) 2002-2004, 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2004, 2006-2015 Free Software Foundation, Inc.
;; Author: Mario Lang <mlang@lexx.delysid.org>
;; Maintainer: emacs-devel@gnu.org
;; erc-page.el - CTCP PAGE support for ERC
-;; Copyright (C) 2002, 2004, 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2004, 2006-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;;; erc-pcomplete.el --- Provides programmable completion for ERC
-;; Copyright (C) 2002-2004, 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2004, 2006-2015 Free Software Foundation, Inc.
;; Author: Sacha Chua <sacha@free.net.ph>
;; Maintainer: emacs-devel@gnu.org
;; erc-replace.el -- wash and massage messages inserted into the buffer
-;; Copyright (C) 2001-2002, 2004, 2006-2014 Free Software Foundation,
+;; Copyright (C) 2001-2002, 2004, 2006-2015 Free Software Foundation,
;; Inc.
;; Author: Andreas Fuchs <asf@void.at>
;; erc-ring.el -- Command history handling for erc using ring.el
-;; Copyright (C) 2001-2004, 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2004, 2006-2015 Free Software Foundation, Inc.
;; Author: Alex Schroeder <alex@gnu.org>
;; Maintainer: emacs-devel@gnu.org
;;; erc-services.el --- Identify to NickServ
-;; Copyright (C) 2002-2004, 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2004, 2006-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;;; erc-sound.el --- CTCP SOUND support for ERC
-;; Copyright (C) 2002-2003, 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2003, 2006-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;;; erc-speedbar.el --- Speedbar support for ERC
-;; Copyright (C) 2001-2004, 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2004, 2006-2015 Free Software Foundation, Inc.
;; Author: Mario Lang <mlang@delysid.org>
;; Contributor: Eric M. Ludlam <eric@siege-engine.com>
;;; erc-spelling.el --- use flyspell in ERC
-;; Copyright (C) 2005-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
;; Author: Jorgen Schaefer <forcer@forcix.cx>
;; Maintainer: emacs-devel@gnu.org
;;; erc-stamp.el --- Timestamping for ERC messages
-;; Copyright (C) 2002-2004, 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2004, 2006-2015 Free Software Foundation, Inc.
;; Author: Mario Lang <mlang@delysid.org>
;; Maintainer: emacs-devel@gnu.org
;;; erc-track.el --- Track modified channel buffers -*- lexical-binding:t -*-
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;; Author: Mario Lang <mlang@delysid.org>
;; Maintainer: emacs-devel@gnu.org
;;; erc-truncate.el --- Functions for truncating ERC buffers
-;; Copyright (C) 2003-2004, 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2004, 2006-2015 Free Software Foundation, Inc.
;; Author: Andreas Fuchs <asf@void.at>
;; Maintainer: emacs-devel@gnu.org
;;; erc-xdcc.el --- XDCC file-server support for ERC
-;; Copyright (C) 2003-2004, 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2004, 2006-2015 Free Software Foundation, Inc.
;; Author: Mario Lang <mlang@delysid.org>
;; Maintainer: emacs-devel@gnu.org
;; erc.el --- An Emacs Internet Relay Chat client -*- lexical-binding:t -*-
-;; Copyright (C) 1997-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2015 Free Software Foundation, Inc.
;; Author: Alexander L. Belikoff (alexander@belikoff.net)
;; Contributors: Sergey Berezin (sergey.berezin@cs.cmu.edu),
;;; em-alias.el --- creation and management of command aliases -*- lexical-binding:t -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;;; em-banner.el --- sample module that displays a login banner -*- lexical-binding:t -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;;; em-basic.el --- basic shell builtin commands -*- lexical-binding:t -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;;; em-cmpl.el --- completion using the TAB key -*- lexical-binding:t -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;;; em-dirs.el --- directory navigation commands -*- lexical-binding:t -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;;; em-glob.el --- extended file name globbing -*- lexical-binding:t -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;;; em-hist.el --- history list management -*- lexical-binding:t -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;;; em-ls.el --- implementation of ls in Lisp -*- lexical-binding:t -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;;; em-pred.el --- argument predicates and modifiers (ala zsh) -*- lexical-binding:t -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;;; em-prompt.el --- command prompts -*- lexical-binding:t -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;;; em-rebind.el --- rebind keys when point is at current input -*- lexical-binding:t -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;;; em-script.el --- Eshell script files -*- lexical-binding:t -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;;; em-smart.el --- smart display of output -*- lexical-binding:t -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;;; em-term.el --- running visual commands -*- lexical-binding:t -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;;; em-tramp.el --- Eshell features that require TRAMP -*- lexical-binding:t -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: Aidan Gauland <aidalgol@no8wireless.co.nz>
;;; em-unix.el --- UNIX command aliases -*- lexical-binding:t -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;;; em-xtra.el --- extra alias functions -*- lexical-binding:t -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;;; esh-arg.el --- argument processing -*- lexical-binding:t -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;;; esh-cmd.el --- command invocation -*- lexical-binding:t -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;;; esh-ext.el --- commands external to Eshell -*- lexical-binding:t -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
(let ((fullname (if (file-name-directory file) file
(eshell-search-path file)))
(suffixes eshell-binary-suffixes))
+ (if (and fullname
+ (not (file-remote-p fullname))
+ (file-remote-p default-directory))
+ (setq fullname (expand-file-name
+ (concat "./" fullname) default-directory)))
(if (and fullname (not (or eshell-force-execution
(file-executable-p fullname))))
(while suffixes
;;; esh-io.el --- I/O management -*- lexical-binding:t -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;;; esh-mode.el --- user interface -*- lexical-binding:t -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;;; esh-module.el --- Eshell modules -*- lexical-binding:t -*-
-;; Copyright (C) 1999-2000, 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2000, 2002-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;; Keywords: processes
;;; esh-opt.el --- command options processing -*- lexical-binding:t -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;;; esh-proc.el --- process management -*- lexical-binding:t -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;;; esh-util.el --- general utilities -*- lexical-binding:t -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;;; esh-var.el --- handling of variables -*- lexical-binding:t -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;;; eshell.el --- the Emacs command shell -*- lexical-binding:t -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;; Version: 2.4.2
;;; expand.el --- make abbreviations more usable
-;; Copyright (C) 1995-1996, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995-1996, 2001-2015 Free Software Foundation, Inc.
;; Author: Frederic Lepied <Frederic.Lepied@sugix.frmug.org>
;; Maintainer: Frederic Lepied <Frederic.Lepied@sugix.frmug.org>
;;; ezimage --- Generalized Image management
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Keywords: file, tags, tools
;;; face-remap.el --- Functions for managing `face-remapping-alist' -*- lexical-binding: t -*-
;;
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;;
;; Author: Miles Bader <miles@gnu.org>
;; Keywords: faces, face remapping, display, user commands
;;; facemenu.el --- create a face menu for interactively adding fonts to text
-;; Copyright (C) 1994-1996, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1996, 2001-2015 Free Software Foundation, Inc.
;; Author: Boris Goldowsky <boris@gnu.org>
;; Keywords: faces
;;; faces.el --- Lisp faces
-;; Copyright (C) 1992-1996, 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1992-1996, 1998-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: internal
;;; ffap.el --- find file (or url) at point
-;; Copyright (C) 1995-1997, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995-1997, 2000-2015 Free Software Foundation, Inc.
;; Author: Michelangelo Grigni <mic@mathcs.emory.edu>
;; Maintainer: emacs-devel@gnu.org
;;; filecache.el --- find files using a pre-loaded cache
-;; Copyright (C) 1996, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996, 2000-2015 Free Software Foundation, Inc.
;; Author: Peter Breton <pbreton@cs.umb.edu>
;; Created: Sun Nov 10 1996
;;; filenotify.el --- watch files for changes on disk
-;; Copyright (C) 2013-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
;; Author: Michael Albinus <michael.albinus@gmx.de>
;;; files-x.el --- extended file handling commands
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Juri Linkov <juri@jurta.org>
;; Maintainer: emacs-devel@gnu.org
;;; files.el --- file input and output commands for Emacs -*- lexical-binding:t -*-
-;; Copyright (C) 1985-1987, 1992-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985-1987, 1992-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Package: emacs
(lambda (f) (and (file-directory-p f) 'dir-ok)))
(error "No such directory found via CDPATH environment variable"))))
-(defun file-tree-walk (dir action &rest args)
- "Walk DIR executing ACTION on each file, with ARGS as additional arguments.
-For each file, the function calls ACTION as follows:
-
- \(ACTION DIRECTORY BASENAME ARGS\)
-
-Where DIRECTORY is the leading directory of the file,
- BASENAME is the basename of the file,
- and ARGS are as specified in the call to this function, or nil if omitted.
-
-The ACTION is applied to each subdirectory before descending into
-it, and if nil is returned at that point, the descent will be
-prevented. Directory entries are sorted with string-lessp."
- (cond ((file-directory-p dir)
- (setq dir (file-name-as-directory dir))
- (let ((lst (directory-files dir nil nil t))
- fullname file)
- (while lst
- (setq file (car lst))
- (setq lst (cdr lst))
- (cond ((member file '("." "..")))
- (t
- (and (apply action dir file args)
- (setq fullname (concat dir file))
- (file-directory-p fullname)
- (apply 'file-tree-walk fullname action args)))))))
- (t
- (apply action
- (file-name-directory dir)
- (file-name-nondirectory dir)
- args))))
-
(defsubst directory-name-p (name)
"Return non-nil if NAME ends with a slash character."
(and (> (length name) 0)
;; then Rmail-mbox never displays it due to buffer swapping. If
;; the test is ever re-introduced, be sure to handle saving of
;; Rmail files.
- (if (and modp (buffer-file-name))
+ (if (and modp (buffer-file-name) (not noninteractive))
(message "Saving file %s..." (buffer-file-name)))
(basic-save-buffer)
(and modp (memq arg '(4 64)) (setq buffer-backed-up nil))))
;; Support VC `implicit' locking.
(vc-after-save)
(run-hooks 'after-save-hook))
- (message "(No changes need to be saved)"))))
+ (or noninteractive (message "(No changes need to be saved)")))))
;; This does the "real job" of writing a buffer into its visited file
;; and making a backup file. This is what is normally done
;;; filesets.el --- handle group of files -*- coding: utf-8 -*-
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;; Author: Thomas Link <sanobast-emacs@yahoo.de>
;; Maintainer: emacs-devel@gnu.org
;;; find-cmd.el --- Build a valid find(1) command with sexps
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Philip Jackson <phil@shellarchive.co.uk>
;; Version: 0.6
;;; find-dired.el --- run a `find' command and dired the output
-;; Copyright (C) 1992, 1994-1995, 2000-2014 Free Software Foundation,
+;; Copyright (C) 1992, 1994-1995, 2000-2015 Free Software Foundation,
;; Inc.
;; Author: Roland McGrath <roland@gnu.org>,
;; Maintainer: emacs-devel@gnu.org
;; Keywords: c, matching, tools
-;; Copyright (C) 1994-1995, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1995, 2001-2015 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
;; Created: Fri Mar 26 1999
;; Keywords: unix
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
;;; finder.el --- topic & keyword-based code finder
-;; Copyright (C) 1992, 1997-1999, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 1997-1999, 2001-2015 Free Software Foundation,
+;; Inc.
;; Author: Eric S. Raymond <esr@snark.thyrsus.com>
;; Created: 16 Jun 1992
;;; flow-ctrl.el --- help for lusers on cu(1) or ttys with wired-in ^S/^Q flow control
-;; Copyright (C) 1990-1991, 1994, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1990-1991, 1994, 2001-2015 Free Software Foundation,
;; Inc.
;; Author: Kevin Gallagher
;;; foldout.el --- folding extensions for outline-mode and outline-minor-mode
-;; Copyright (C) 1994, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994, 2001-2015 Free Software Foundation, Inc.
;; Author: Kevin Broadey <KevinB@bartley.demon.co.uk>
;; Maintainer: emacs-devel@gnu.org
;;; follow.el --- synchronize windows showing the same buffer
-;; Copyright (C) 1995-1997, 1999, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1995-1997, 1999, 2001-2015 Free Software Foundation,
;; Inc.
;; Author: Anders Lindgren <andersl@andersl.com>
;;; font-core.el --- Core interface to font-lock
-;; Copyright (C) 1992-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1992-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: languages, faces
;;; font-lock.el --- Electric font lock mode
-;; Copyright (C) 1992-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1992-2015 Free Software Foundation, Inc.
;; Author: Jamie Zawinski
;; Richard Stallman
;;; format-spec.el --- functions for formatting arbitrary formatting strings
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: tools
;;; format.el --- read and save files in multiple formats
-;; Copyright (C) 1994-1995, 1997, 1999, 2001-2014 Free Software
+;; Copyright (C) 1994-1995, 1997, 1999, 2001-2015 Free Software
;; Foundation, Inc.
;; Author: Boris Goldowsky <boris@gnu.org>
;;; forms.el --- Forms mode: edit a file as a form to fill in
-;; Copyright (C) 1991, 1994-1997, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1991, 1994-1997, 2001-2015 Free Software Foundation,
;; Inc.
;; Author: Johan Vromans <jvromans@squirrel.nl>
;;; frame.el --- multi-frame management independent of window systems -*- lexical-binding:t -*-
-;; Copyright (C) 1993-1994, 1996-1997, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1994, 1996-1997, 2000-2015 Free Software
+;; Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: internal
;;; frameset.el --- save and restore frame and window setup -*- lexical-binding: t -*-
-;; Copyright (C) 2013-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
;; Author: Juanma Barranquero <lekktu@gmail.com>
;; Keywords: convenience
;;; fringe.el --- fringe setup and control -*- coding: utf-8 -*-
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;; Author: Simon Josefsson <simon@josefsson.org>
;; Maintainer: emacs-devel@gnu.org
;;; generic-x.el --- A collection of generic modes
-;; Copyright (C) 1997-1998, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2001-2015 Free Software Foundation, Inc.
;; Author: Peter Breton <pbreton@cs.umb.edu>
;; Created: Tue Oct 08 1996
* registry.el: Don't use <class> as a variable.
+2014-12-29 Paul Eggert <eggert@cs.ucla.edu>
+
+ * message.el (message-make-fqdn):
+ * nnvirtual.el (nnvirtual-retrieve-headers)
+ (nnvirtual-update-xref-header): Prefer (system-name) to system-name,
+ and avoid naming locals 'system-name'.
+
+2014-12-29 Lars Ingebrigtsen <larsi@gnus.org>
+
+ * mm-decode.el (mm-shr): Bind `shr-width' to `fill-column' so that
+ lines don't get overlong when responding.
+
+2014-12-19 Andreas Schwab <schwab@linux-m68k.org>
+
+ * gnus-group.el (gnus-read-ephemeral-bug-group):
+ Bind coding-system-for-read and coding-system-for-write only around
+ with-temp-file, and make buffer unibyte. Don't write temp file twice.
+
2014-12-18 Paul Eggert <eggert@cs.ucla.edu>
* registry.el (registry-db): Set default slot later.
2014-12-09 Lars Magne Ingebrigtsen <larsi@gnus.org>
- * gnus-art.el (gnus-article-mime-handles): Refactored out into own
+ * gnus-art.el (gnus-article-mime-handles): Refactor out into own
function for reuse.
- (gnus-mime-buttonize-attachments-in-header): Adjusted.
+ (gnus-mime-buttonize-attachments-in-header): Adjust.
2014-12-07 Lars Magne Ingebrigtsen <larsi@gnus.org>
* gnus.el: Quassia Gnus v0.1 is released.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
See ChangeLog.1 for earlier changes.
- Copyright (C) 2000-2002, 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2000-2002, 2004-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
;;; auth-source.el --- authentication sources for Gnus and Emacs
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Ted Zlatanov <tzz@lifelogs.com>
;; Keywords: news
;;; canlock.el --- functions for Cancel-Lock feature
-;; Copyright (C) 1998-1999, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-1999, 2001-2015 Free Software Foundation, Inc.
;; Author: Katsumi Yamaoka <yamaoka@jpl.org>
;; Keywords: news, cancel-lock, hmac, sha1, rfc2104
;;; compface.el --- functions for converting X-Face headers
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
;;; deuglify.el --- deuglify broken Outlook (Express) articles
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Author: Raymond Scholz <rscholz@zonix.de>
;; Thomas Steffen
;;; ecomplete.el --- electric completion of addresses and the like
-;; Copyright (C) 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: mail
;;; flow-fill.el --- interpret RFC2646 "flowed" text
-;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
;; Author: Simon Josefsson <jas@pdc.kth.se>
;; Keywords: mail
;;; gmm-utils.el --- Utility functions for Gnus, Message and MML
-;; Copyright (C) 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
;; Author: Reiner Steib <reiner.steib@gmx.de>
;; Keywords: news
;;; gnus-agent.el --- unplugged support for Gnus
-;; Copyright (C) 1997-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; This file is part of GNU Emacs.
;;; gnus-art.el --- article mode commands for Gnus
-;; Copyright (C) 1996-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
;;; gnus-async.el --- asynchronous support for Gnus
-;; Copyright (C) 1996-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
;;; gnus-bcklg.el --- backlog functions for Gnus
-;; Copyright (C) 1996-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
;;; gnus-bookmark.el --- Bookmarks in Gnus
-;; Copyright (C) 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
;; Author: Bastien Guerry <bzg AT altern DOT org>
;; Keywords: news
;;; gnus-cache.el --- cache interface for Gnus
-;; Copyright (C) 1995-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
;;; gnus-cite.el --- parse citations in articles for Gnus
-;; Copyright (C) 1995-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2015 Free Software Foundation, Inc.
;; Author: Per Abhiddenware
;;; gnus-cloud.el --- storing and retrieving data via IMAP
-;; Copyright (C) 2014 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: mail
(defun gnus-cloud-server-p (server)
(member server gnus-cloud-covered-servers))
+(defun gnus-cloud-collect-full-newsrc ()
+ (let ((infos nil))
+ (dolist (info (cdr gnus-newsrc-alist))
+ (when (gnus-cloud-server-p
+ (gnus-method-to-server
+ (gnus-find-method-for-group (gnus-info-group info))))
+ (push info infos)))
+ ))
+
(provide 'gnus-cloud)
;;; gnus-cloud.el ends here
;;; gnus-cus.el --- customization commands for Gnus
-;; Copyright (C) 1996, 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996, 1999-2015 Free Software Foundation, Inc.
;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
;; Keywords: news
;;; gnus-delay.el --- Delayed posting of articles
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Author: Kai Großjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
;; Keywords: mail, news, extensions
;;; gnus-demon.el --- daemonic Gnus behavior
-;; Copyright (C) 1995-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
;;; gnus-diary.el --- Wrapper around the NNDiary Gnus back end
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: Didier Verna <didier@xemacs.org>
;; Maintainer: Didier Verna <didier@xemacs.org>
;;; gnus-dired.el --- utility functions where gnus and dired meet
-;; Copyright (C) 1996-1999, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2001-2015 Free Software Foundation, Inc.
;; Authors: Benjamin Rutt <brutt@bloomington.in.us>,
;; Shenghuo Zhu <zsh@cs.rochester.edu>
;;; gnus-draft.el --- draft message support for Gnus
-;; Copyright (C) 1997-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
;;; gnus-dup.el --- suppression of duplicate articles in Gnus
-;; Copyright (C) 1996-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
;;; gnus-eform.el --- a mode for editing forms for Gnus
-;; Copyright (C) 1996-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
;;; gnus-ems.el --- functions for making Gnus work under different Emacsen
-;; Copyright (C) 1995-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
;;; gnus-fun.el --- various frivolous extension functions to Gnus
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
;;; gnus-gravatar.el --- Gnus Gravatar support
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Author: Julien Danjou <julien@danjou.info>
;; Keywords: news
;;; gnus-group.el --- group mode commands for Gnus
-;; Copyright (C) 1996-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
(setq ids (string-to-number ids)))
(unless (listp ids)
(setq ids (list ids)))
- (let ((tmpfile (mm-make-temp-file "gnus-temp-group-"))
- (coding-system-for-write 'binary)
- (coding-system-for-read 'binary))
- (with-temp-file tmpfile
- (dolist (id ids)
- (url-insert-file-contents (format mbox-url id)))
- (goto-char (point-min))
- ;; Add the debbugs address so that we can respond to reports easily.
- (while (re-search-forward "^To: " nil t)
- (end-of-line)
- (insert (format ", %s@%s" (car ids)
- (gnus-replace-in-string
- (gnus-replace-in-string mbox-url "^http://" "")
- "/.*$" ""))))
- (write-region (point-min) (point-max) tmpfile)
- (gnus-group-read-ephemeral-group
- (format "nndoc+ephemeral:bug#%s"
- (mapconcat 'number-to-string ids ","))
- `(nndoc ,tmpfile
- (nndoc-article-type mbox))
- nil window-conf))
+ (let ((tmpfile (mm-make-temp-file "gnus-temp-group-")))
+ (let ((coding-system-for-write 'binary)
+ (coding-system-for-read 'binary))
+ (with-temp-file tmpfile
+ (mm-disable-multibyte)
+ (dolist (id ids)
+ (url-insert-file-contents (format mbox-url id)))
+ (goto-char (point-min))
+ ;; Add the debbugs address so that we can respond to reports easily.
+ (while (re-search-forward "^To: " nil t)
+ (end-of-line)
+ (insert (format ", %s@%s" (car ids)
+ (gnus-replace-in-string
+ (gnus-replace-in-string mbox-url "^http://" "")
+ "/.*$" ""))))))
+ (gnus-group-read-ephemeral-group
+ (format "nndoc+ephemeral:bug#%s"
+ (mapconcat 'number-to-string ids ","))
+ `(nndoc ,tmpfile
+ (nndoc-article-type mbox))
+ nil window-conf)
(delete-file tmpfile)))
(defun gnus-read-ephemeral-debian-bug-group (number)
;;; gnus-html.el --- Render HTML in a buffer.
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: html, web
;;; gnus-icalendar.el --- reply to iCalendar meeting requests
-;; Copyright (C) 2013-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
;; Author: Jan Tatarik <Jan.Tatarik@gmail.com>
;; Keywords: mail, icalendar, org
;;; gnus-int.el --- backend interface functions for Gnus
-;; Copyright (C) 1996-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
;;; gnus-kill.el --- kill commands for Gnus
-;; Copyright (C) 1995-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2015 Free Software Foundation, Inc.
;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
;; Lars Magne Ingebrigtsen <larsi@gnus.org>
;;; gnus-logic.el --- advanced scoring code for Gnus
-;; Copyright (C) 1996-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
;;; gnus-mh.el --- mh-e interface for Gnus
-;; Copyright (C) 1994-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-2015 Free Software Foundation, Inc.
;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
;; Lars Magne Ingebrigtsen <larsi@gnus.org>
;;; gnus-ml.el --- Mailing list minor mode for Gnus
-;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
;; Author: Julien Gilles <jgilles@free.fr>
;; Keywords: news, mail
;;; gnus-mlspl.el --- a group params-based mail splitting mechanism
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Alexandre Oliva <oliva@lsd.ic.unicamp.br>
;; Keywords: news, mail
;;; gnus-msg.el --- mail and post interface for Gnus
-;; Copyright (C) 1995-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2015 Free Software Foundation, Inc.
;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
;; Lars Magne Ingebrigtsen <larsi@gnus.org>
;; gnus-notifications.el -- Send notification on new message in Gnus
-;; Copyright (C) 2012-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
;; Author: Julien Danjou <julien@danjou.info>
;; Keywords: news
;;; gnus-picon.el --- displaying pretty icons in Gnus
-;; Copyright (C) 1996-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news xpm annotation glyph faces
;;; gnus-range.el --- range and sequence functions for Gnus
-;; Copyright (C) 1996-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
;;; gnus-registry.el --- article registry for Gnus
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;; Author: Ted Zlatanov <tzz@lifelogs.com>
;; Keywords: news registry
;;; gnus-salt.el --- alternate summary mode interfaces for Gnus
-;; Copyright (C) 1996-1999, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2001-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
;;; gnus-score.el --- scoring code for Gnus
-;; Copyright (C) 1995-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2015 Free Software Foundation, Inc.
;; Author: Per Abrahamsen <amanda@iesd.auc.dk>
;; Lars Magne Ingebrigtsen <larsi@gnus.org>
;;; gnus-sieve.el --- Utilities to manage sieve scripts for Gnus
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Author: NAGY Andras <nagya@inf.elte.hu>,
;; Simon Josefsson <simon@josefsson.org>
;;; gnus-spec.el --- format spec functions for Gnus
-;; Copyright (C) 1996-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
;;; gnus-srvr.el --- virtual server support for Gnus
-;; Copyright (C) 1995-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
;;; gnus-start.el --- startup functions for Gnus
-;; Copyright (C) 1996-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
;;; gnus-sum.el --- summary mode commands for Gnus
-;; Copyright (C) 1996-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
;;; gnus-sync.el --- synchronization facility for Gnus
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Author: Ted Zlatanov <tzz@lifelogs.com>
;; Keywords: news synchronization nntp nnrss
;;; gnus-topic.el --- a folding minor mode for Gnus group buffers
-;; Copyright (C) 1995-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2015 Free Software Foundation, Inc.
;; Author: Ilja Weis <kult@uni-paderborn.de>
;; Lars Magne Ingebrigtsen <larsi@gnus.org>
;;; gnus-undo.el --- minor mode for undoing in Gnus
-;; Copyright (C) 1996-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
;;; gnus-util.el --- utility functions for Gnus
-;; Copyright (C) 1996-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
;;; gnus-uu.el --- extract (uu)encoded files in Gnus
-;; Copyright (C) 1985-1987, 1993-1998, 2000-2014 Free Software
+;; Copyright (C) 1985-1987, 1993-1998, 2000-2015 Free Software
;; Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;;; gnus-vm.el --- vm interface for Gnus
-;; Copyright (C) 1994-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-2015 Free Software Foundation, Inc.
;; Author: Per Persson <pp@gnu.ai.mit.edu>
;; Keywords: news, mail
;;; gnus-win.el --- window configuration functions for Gnus
-;; Copyright (C) 1996-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
;;; gnus.el --- a newsreader for GNU Emacs
-;; Copyright (C) 1987-1990, 1993-1998, 2000-2014 Free Software
+;; Copyright (C) 1987-1990, 1993-1998, 2000-2015 Free Software
;; Foundation, Inc.
;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
;;; gravatar.el --- Get Gravatars
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Author: Julien Danjou <julien@danjou.info>
;; Keywords: news
;;; gssapi.el --- GSSAPI/Kerberos 5 interface for Emacs
-;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
;; Author: Simon Josefsson <simon@josefsson.org>
;; Lars Magne Ingebrigtsen <larsi@gnus.org>
;;; html2text.el --- a simple html to plain text converter -*- coding: utf-8 -*-
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;; Author: Joakim Hove <hove@phys.ntnu.no>
;;; ietf-drums.el --- Functions for parsing RFC822bis headers
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; This file is part of GNU Emacs.
;;; gnus-agent.el --- Legacy unplugged support for Gnus
-;; Copyright (C) 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
;; Author: Kevin Greiner <kgreiner@xpediantsolutions.com>
;; Keywords: news
;;; mail-parse.el --- Interface functions for parsing mail
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; This file is part of GNU Emacs.
;;; mail-prsvr.el --- Interface variables for parsing mail
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; This file is part of GNU Emacs.
;;; mail-source.el --- functions for fetching mail
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news, mail
;;; mailcap.el --- MIME media types configuration
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: William M. Perry <wmperry@aventail.com>
;; Lars Magne Ingebrigtsen <larsi@gnus.org>
;;; message.el --- composing mail and news messages
-;; Copyright (C) 1996-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: mail, news
(defun message-make-fqdn ()
"Return user's fully qualified domain name."
- (let* ((system-name (system-name))
+ (let* ((sysname (system-name))
(user-mail (message-user-mail-address))
(user-domain
(if (and user-mail
(not (string-match message-bogus-system-names message-user-fqdn)))
;; `message-user-fqdn' seems to be valid
message-user-fqdn)
- ((and (string-match message-valid-fqdn-regexp system-name)
- (not (string-match message-bogus-system-names system-name)))
+ ((and (string-match message-valid-fqdn-regexp sysname)
+ (not (string-match message-bogus-system-names sysname)))
;; `system-name' returned the right result.
- system-name)
+ sysname)
;; Try `mail-host-address'.
((and (boundp 'mail-host-address)
(stringp mail-host-address)
user-domain)
;; Default to this bogus thing.
(t
- (concat system-name
+ (concat sysname
".i-did-not-set--mail-host-address--so-tickle-me")))))
(defun message-make-domain ()
;;; messcompat.el --- making message mode compatible with mail mode
-;; Copyright (C) 1996-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: mail, news
;;; mm-archive.el --- Functions for parsing archive files as MIME
-;; Copyright (C) 2012-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; This file is part of GNU Emacs.
;;; mm-bodies.el --- Functions for decoding MIME things
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; MORIOKA Tomohiko <morioka@jaist.ac.jp>
;;; mm-decode.el --- Functions for decoding MIME things
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; MORIOKA Tomohiko <morioka@jaist.ac.jp>
;; Require since we bind its variables.
(require 'shr)
(let ((article-buffer (current-buffer))
+ (shr-width fill-column)
(shr-content-function (lambda (id)
(let ((handle (mm-get-content-id id)))
(when handle
;;; mm-encode.el --- Functions for encoding MIME things
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; MORIOKA Tomohiko <morioka@jaist.ac.jp>
;;; mm-extern.el --- showing message/external-body
-;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
;; Author: Shenghuo Zhu <zsh@cs.rochester.edu>
;; Keywords: message external-body
;;; mm-partial.el --- showing message/partial
-;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
;; Author: Shenghuo Zhu <zsh@cs.rochester.edu>
;; Keywords: message partial
;;; mm-url.el --- a wrapper of url functions/commands for Gnus
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Author: Shenghuo Zhu <zsh@cs.rochester.edu>
;;; mm-util.el --- Utility functions for Mule and low level things
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; MORIOKA Tomohiko <morioka@jaist.ac.jp>
;;; mm-uu.el --- Return uu stuff as mm handles
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Shenghuo Zhu <zsh@cs.rochester.edu>
;; Keywords: postscript uudecode binhex shar forward gnatsweb pgp
;;; mm-view.el --- functions for viewing MIME objects
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; This file is part of GNU Emacs.
;;; mml-sec.el --- A package with security functions for MML documents
-;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
;; Author: Simon Josefsson <simon@josefsson.org>
;;; mml-smime.el --- S/MIME support for MML
-;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
;; Author: Simon Josefsson <simon@josefsson.org>
;; Keywords: Gnus, MIME, S/MIME, MML
;;; mml.el --- A package for parsing and validating MML documents
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; This file is part of GNU Emacs.
;;; mml1991.el --- Old PGP message format (RFC 1991) support for MML
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Sascha Lüdecke <sascha@meta-x.de>,
;; Simon Josefsson <simon@josefsson.org> (Mailcrypt interface, Gnus glue)
;;; mml2015.el --- MIME Security with Pretty Good Privacy (PGP)
-;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
;; Author: Shenghuo Zhu <zsh@cs.rochester.edu>
;; Keywords: PGP MIME MML
;;; nnagent.el --- offline backend for Gnus
-;; Copyright (C) 1997-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news, mail
;;; nnbabyl.el --- rmail mbox access for Gnus
-;; Copyright (C) 1995-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
;;; nndiary.el --- A diary back end for Gnus
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: Didier Verna <didier@xemacs.org>
;; Maintainer: Didier Verna <didier@xemacs.org>
;;; nndir.el --- single directory newsgroup access for Gnus
-;; Copyright (C) 1995-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
;;; nndoc.el --- single file access for Gnus
-;; Copyright (C) 1995-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
;;; nndraft.el --- draft article access for Gnus
-;; Copyright (C) 1995-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
;;; nneething.el --- arbitrary file access for Gnus
-;; Copyright (C) 1995-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
;;; nnfolder.el --- mail folder access for Gnus
-;; Copyright (C) 1995-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2015 Free Software Foundation, Inc.
;; Author: Simon Josefsson <simon@josefsson.org>
;; ShengHuo Zhu <zsh@cs.rochester.edu> (adding NOV)
;;; nngateway.el --- posting news via mail gateways
-;; Copyright (C) 1996-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news, mail
;;; nnheader.el --- header access macros for Gnus and its backends
-;; Copyright (C) 1987-1990, 1993-1998, 2000-2014 Free Software
+;; Copyright (C) 1987-1990, 1993-1998, 2000-2015 Free Software
;; Foundation, Inc.
;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
;;; nnimap.el --- IMAP interface for Gnus
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Simon Josefsson <simon@josefsson.org>
;;; nnir.el --- search mail with various search engines -*- coding: utf-8 -*-
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Kai Großjohann <grossjohann@ls6.cs.uni-dortmund.de>
;; Swish-e and Swish++ backends by:
;;; nnmail.el --- mail support functions for the Gnus mail backends
-;; Copyright (C) 1995-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news, mail
;;; nnmairix.el --- Mairix back end for Gnus, the Emacs newsreader
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: David Engster <dengste@eml.cc>
;; Keywords: mail searching
;;; nnmbox.el --- mail mbox access for Gnus
-;; Copyright (C) 1995-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
;;; nnmh.el --- mhspool access for Gnus
-;; Copyright (C) 1995-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
;;; nnml.el --- mail spool access for Gnus
-;; Copyright (C) 1995-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2015 Free Software Foundation, Inc.
;; Authors: Didier Verna <didier@xemacs.org> (adding compaction)
;; Simon Josefsson <simon@josefsson.org>
;;; nnoo.el --- OO Gnus Backends
-;; Copyright (C) 1996-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
;;; nnregistry.el --- access to articles via Gnus' message-id registry
;;; -*- coding: utf-8 -*-
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Authors: Ludovic Courtès <ludo@gnu.org>
;; Keywords: news, mail
;;; nnrss.el --- interfacing with RSS
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Author: Shenghuo Zhu <zsh@cs.rochester.edu>
;; Keywords: RSS
;;; nnspool.el --- spool access for GNU Emacs
-;; Copyright (C) 1988-1990, 1993-1998, 2000-2014 Free Software
+;; Copyright (C) 1988-1990, 1993-1998, 2000-2015 Free Software
;; Foundation, Inc.
;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
;;; nntp.el --- nntp access for Gnus
-;; Copyright (C) 1987-1990, 1992-1998, 2000-2014 Free Software
+;; Copyright (C) 1987-1990, 1992-1998, 2000-2015 Free Software
;; Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;;; nnvirtual.el --- virtual newsgroups access for Gnus
-;; Copyright (C) 1994-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-2015 Free Software Foundation, Inc.
;; Author: David Moore <dmoore@ucsd.edu>
;; Lars Magne Ingebrigtsen <larsi@gnus.org>
(let ((vbuf (nnheader-set-temp-buffer
(get-buffer-create " *virtual headers*")))
(carticles (nnvirtual-partition-sequence articles))
- (system-name (system-name))
+ (sysname (system-name))
cgroup carticle article result prefix)
(while carticles
(setq cgroup (caar carticles))
;; and clean up the xrefs.
(princ article nntp-server-buffer)
(nnvirtual-update-xref-header cgroup carticle
- prefix system-name)
+ prefix sysname)
(forward-line 1))
)
(mapc 'nnheader-insert-nov headers))))
-(defun nnvirtual-update-xref-header (group article prefix system-name)
+(defun nnvirtual-update-xref-header (group article prefix sysname)
"Edit current NOV header in current buffer to have an xref to the component group, and also server prefix any existing xref lines."
;; Move to beginning of Xref field, creating a slot if needed.
(beginning-of-line)
(forward-char -1)
(delete-char 1))
- (insert "Xref: " system-name " " group ":")
+ (insert "Xref: " sysname " " group ":")
(princ article (current-buffer))
(insert " ")
;;; nnweb.el --- retrieving articles via web search engines
-;; Copyright (C) 1996-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
;;; plstore.el --- secure plist store -*- lexical-binding: t -*-
-;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
;; Author: Daiki Ueno <ueno@unixuser.org>
;; Keywords: PGP, GnuPG
;;; pop3.el --- Post Office Protocol (RFC 1460) interface
-;; Copyright (C) 1996-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2015 Free Software Foundation, Inc.
;; Author: Richard L. Pieri <ratinox@peorth.gweep.net>
;; Maintainer: emacs-devel@gnu.org
;;; qp.el --- Quoted-Printable functions
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: mail, extensions
;;; rfc1843.el --- HZ (rfc1843) decoding
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Shenghuo Zhu <zsh@cs.rochester.edu>
;; Keywords: news HZ HZ+ mail i18n
;;; rfc2045.el --- Functions for decoding rfc2045 headers
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; This file is part of GNU Emacs.
;;; rfc2047.el --- functions for encoding and decoding rfc2047 messages
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; MORIOKA Tomohiko <morioka@jaist.ac.jp>
;;; rfc2104.el --- RFC2104 Hashed Message Authentication Codes
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Simon Josefsson <jas@pdc.kth.se>
;; Keywords: mail
;;; rfc2231.el --- Functions for decoding rfc2231 headers
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; This file is part of GNU Emacs.
;;; rtree.el --- functions for manipulating range trees
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;;; score-mode.el --- mode for editing Gnus score files
-;; Copyright (C) 1996, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996, 2001-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news, mail
;;; sieve-manage.el --- Implementation of the managesieve protocol in elisp
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Author: Simon Josefsson <simon@josefsson.org>
;; Albert Krewinkel <tarleb@moltkeplatz.de>
;;; sieve-mode.el --- Sieve code editing commands for Emacs
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Author: Simon Josefsson <simon@josefsson.org>
;;; sieve.el --- Utilities to manage sieve scripts
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Author: Simon Josefsson <simon@josefsson.org>
;;; smiley.el --- displaying smiley faces
-;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
;; Author: Dave Love <fx@gnu.org>
;; Keywords: news mail multimedia
;;; smime.el --- S/MIME support library
-;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
;; Author: Simon Josefsson <simon@josefsson.org>
;; Keywords: SMIME X.509 PEM OpenSSL
;;; spam-report.el --- Reporting spam
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;; Author: Ted Zlatanov <tzz@lifelogs.com>
;; Keywords: network, spam, mail, gmane, report
;;; spam-stat.el --- detecting spam based on statistics
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;; Author: Alex Schroeder <alex@gnu.org>
;; Keywords: network
;;; spam-wash.el --- wash spam before analysis
-;; Copyright (C) 2004, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004, 2007-2015 Free Software Foundation, Inc.
;; Author: Andrew Cohen <cohen@andy.bu.edu>
;; Keywords: mail
;;; spam.el --- Identifying spam
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Maintainer: Ted Zlatanov <tzz@lifelogs.com>
;;; starttls.el --- STARTTLS functions
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: Daiki Ueno <ueno@unixuser.org>
;; Author: Simon Josefsson <simon@josefsson.org>
;;; utf7.el --- UTF-7 encoding/decoding for Emacs -*-coding: utf-8;-*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: Jon K Hellan <hellan@acm.org>
;; Maintainer: bugs@gnus.org
;;; yenc.el --- elisp native yenc decoder
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;; Author: Jesper Harder <harder@ifa.au.dk>
;; Keywords: yenc news
;;; gs.el --- interface to Ghostscript
-;; Copyright (C) 1998, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2001-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: internal
;;; help-at-pt.el --- local help through the keyboard
-;; Copyright (C) 2003-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
;; Author: Luc Teirlinck <teirllm@auburn.edu>
;; Keywords: help
;;; help-fns.el --- Complex help functions -*- lexical-binding: t -*-
-;; Copyright (C) 1985-1986, 1993-1994, 1998-2014
-;; Free Software Foundation, Inc.
+;; Copyright (C) 1985-1986, 1993-1994, 1998-2015 Free Software
+;; Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: help, internal
;;; help-macro.el --- makes command line help such as help-for-help
-;; Copyright (C) 1993-1994, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1994, 2001-2015 Free Software Foundation, Inc.
;; Author: Lynn Slater <lrs@indetech.com>
;; Maintainer: emacs-devel@gnu.org
;;; help-mode.el --- `help-mode' used by *Help* buffers
-;; Copyright (C) 1985-1986, 1993-1994, 1998-2014 Free Software
+;; Copyright (C) 1985-1986, 1993-1994, 1998-2015 Free Software
;; Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;;; help.el --- help commands for Emacs
-;; Copyright (C) 1985-1986, 1993-1994, 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985-1986, 1993-1994, 1998-2015 Free Software
+;; Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: help, internal
;;; hex-util.el --- Functions to encode/decode hexadecimal string.
-;; Copyright (C) 1999, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2001-2015 Free Software Foundation, Inc.
;; Author: Shuhei KOBAYASHI <shuhei@aqua.ocn.ne.jp>
;; Keywords: data
;;; hexl.el --- edit a file in a hex dump format using the hexl filter -*- lexical-binding: t -*-
-;; Copyright (C) 1989, 1994, 1998, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1989, 1994, 1998, 2001-2015 Free Software Foundation,
+;; Inc.
;; Author: Keith Gabryelski <ag@wheaties.ai.mit.edu>
;; Maintainer: emacs-devel@gnu.org
;;; hfy-cmap.el --- Fallback colour name -> rgb mapping for `htmlfontify'
-;; Copyright (C) 2002-2003, 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2003, 2009-2015 Free Software Foundation, Inc.
;; Emacs Lisp Archive Entry
;; Package: htmlfontify
;;; hi-lock.el --- minor mode for interactive automatic highlighting -*- lexical-binding: t -*-
-;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
;; Author: David M. Koppelman <koppel@ece.lsu.edu>
;; Keywords: faces, minor-mode, matching, display
;;; hilit-chg.el --- minor mode displaying buffer changes with special face
-;; Copyright (C) 1998, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2000-2015 Free Software Foundation, Inc.
;; Author: Richard Sharman <rsharman@pobox.com>
;; Keywords: faces
;;; hippie-exp.el --- expand text trying various ways to find its expansion
-;; Copyright (C) 1992, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 2001-2015 Free Software Foundation, Inc.
;; Author: Anders Holst <aho@sans.kth.se>
;; Maintainer: emacs-devel@gnu.org
;;; hl-line.el --- highlight the current line -*- lexical-binding:t -*-
-;; Copyright (C) 1998, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2000-2015 Free Software Foundation, Inc.
;; Author: Dave Love <fx@gnu.org>
;; Maintainer: emacs-devel@gnu.org
;;; htmlfontify.el --- htmlize a buffer/source tree with optional hyperlinks
-;; Copyright (C) 2002-2003, 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2003, 2009-2015 Free Software Foundation, Inc.
;; Emacs Lisp Archive Entry
;; Package: htmlfontify
(load file 'NOERROR nil nil) ))
\f
-;;;### (autoloads nil "hfy-cmap" "hfy-cmap.el" "27dc80b0f7187aaf582805a8f887819a")
+;;;### (autoloads nil "hfy-cmap" "hfy-cmap.el" "ce07a28b93c09032fd6b225ad74be0df")
;;; Generated autoloads from hfy-cmap.el
(autoload 'htmlfontify-load-rgb-file "hfy-cmap" "\
;;; ibuf-ext.el --- extensions for ibuffer -*- lexical-binding:t -*-
-;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
;; Author: Colin Walters <walters@verbum.org>
;; Maintainer: John Paul Wallington <jpw@gnu.org>
;;; ibuf-macs.el --- macros for ibuffer -*- lexical-binding:t -*-
-;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
;; Author: Colin Walters <walters@verbum.org>
;; Maintainer: John Paul Wallington <jpw@gnu.org>
;;; ibuffer.el --- operate on buffers like dired -*- lexical-binding:t -*-
-;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
;; Author: Colin Walters <walters@verbum.org>
;; Maintainer: John Paul Wallington <jpw@gnu.org>
\f
;;; Start of automatically extracted autoloads.
\f
-;;;### (autoloads nil "ibuf-ext" "ibuf-ext.el" "0d2393d1b47136bc7b1ac41593527f02")
+;;;### (autoloads nil "ibuf-ext" "ibuf-ext.el" "442bac528ce7a9a20bb191d0eb08cbd8")
;;; Generated autoloads from ibuf-ext.el
(autoload 'ibuffer-auto-mode "ibuf-ext" "\
;;; icomplete.el --- minibuffer completion incremental feedback
-;; Copyright (C) 1992-1994, 1997, 1999, 2001-2014
-;; Free Software Foundation, Inc.
+;; Copyright (C) 1992-1994, 1997, 1999, 2001-2015 Free Software
+;; Foundation, Inc.
;; Author: Ken Manheimer <klm@i.am>
;; Maintainer: Ken Manheimer <klm@i.am>
;;; ido.el --- interactively do things with buffers and files
-;; Copyright (C) 1996-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2015 Free Software Foundation, Inc.
;; Author: Kim F. Storm <storm@cua.dk>
;; Based on: iswitchb by Stephen Eglen <stephen@cns.ed.ac.uk>
;;; -*- lexical-binding: t -*-
;;; ielm.el --- interaction mode for Emacs Lisp
-;; Copyright (C) 1994, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994, 2001-2015 Free Software Foundation, Inc.
;; Author: David Smith <maa036@lancaster.ac.uk>
;; Maintainer: emacs-devel@gnu.org
;;; iimage.el --- Inline image minor mode.
-;; Copyright (C) 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
;; Author: KOSEKI Yoshinori <kose@meadowy.org>
;; Maintainer: KOSEKI Yoshinori <kose@meadowy.org>
;;; image-dired.el --- use dired to browse and manipulate your images
;;
-;; Copyright (C) 2005-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
;;
;; Version: 0.4.11
;; Keywords: multimedia
;;; image-file.el --- support for visiting image files
;;
-;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
;;
;; Author: Miles Bader <miles@gnu.org>
;; Keywords: multimedia
;;; image-mode.el --- support for visiting image files -*- lexical-binding: t -*-
;;
-;; Copyright (C) 2005-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
;;
;; Author: Richard Stallman <rms@gnu.org>
;; Keywords: multimedia
;;; image.el --- image API
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: multimedia
;;; imenu.el --- framework for mode-specific buffer indexes -*- lexical-binding: t -*-
-;; Copyright (C) 1994-1998, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1998, 2001-2015 Free Software Foundation, Inc.
;; Author: Ake Stenhoff <etxaksf@aom.ericsson.se>
;; Lars Lindberg <lli@sypro.cap.se>
;;; indent.el --- indentation commands for Emacs -*- lexical-binding:t -*-
-;; Copyright (C) 1985, 1995, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1995, 2001-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Package: emacs
;;; info-look.el --- major-mode-sensitive Info index lookup facility -*- lexical-binding: t -*-
;; An older version of this was known as libc.el.
-;; Copyright (C) 1995-1999, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995-1999, 2001-2015 Free Software Foundation, Inc.
;; Author: Ralph Schleicher <rs@nunatak.allgaeu.org>
;; (did not show signs of life (Nov 2001) -stef)
;;; info-xref.el --- check external references in an Info document
-;; Copyright (C) 2003-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
;; Author: Kevin Ryde <user42@zip.com.au>
;; Keywords: docs
;; info.el --- Info package for Emacs -*- lexical-binding:t -*-
-;; Copyright (C) 1985-1986, 1992-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985-1986, 1992-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: help
(defun info-display-manual (manual)
"Display an Info buffer displaying MANUAL.
If there is an existing Info buffer for MANUAL, display it.
-Otherwise, visit the manual in a new Info buffer."
+Otherwise, visit the manual in a new Info buffer. In interactive
+use, a prefix argument directs this command to limit the
+completion alternatives to currently visited manuals."
(interactive
(list
(progn
(info-initialize)
(completing-read "Manual name: "
- (info--manual-names)
+ (info--manual-names current-prefix-arg)
nil t))))
(let ((blist (buffer-list))
(manual-re (concat "\\(/\\|\\`\\)" manual "\\(\\.\\|\\'\\)"))
(info (Info-find-file manual)
(generate-new-buffer-name "*info*")))))
-(defun info--manual-names ()
+(defun info--manual-names (visited-only)
(let (names)
(dolist (buffer (buffer-list))
(with-current-buffer buffer
(file-name-nondirectory Info-current-file))
names))))
(delete-dups (append (nreverse names)
- (all-completions
- ""
- (apply-partially 'Info-read-node-name-2
- Info-directory-list
- (mapcar 'car Info-suffix-list)))))))
+ (when (not visited-only)
+ (all-completions
+ ""
+ (apply-partially 'Info-read-node-name-2
+ Info-directory-list
+ (mapcar 'car Info-suffix-list))))))))
(provide 'info)
;;; informat.el --- info support functions package for Emacs
-;; Copyright (C) 1986, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1986, 2001-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: help
;;; ccl.el --- CCL (Code Conversion Language) compiler
-;; Copyright (C) 1997-1998, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2001-2015 Free Software Foundation, Inc.
;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
;; 2005, 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
BRANCH := (branch EXPRESSION CCL_BLOCK_0 [CCL_BLOCK_1 ...])
;; Execute STATEMENTs until (break) or (end) is executed.
+
+;; Create a block of STATEMENTs for repeating. The STATEMENTs
+;; are executed sequentially unitl REPEAT or BREAK is executed.
+;; If REPEAT statement is executed, STATEMENTs are executed from the
+;; start again. If BREAK statements is executed, the execution
+;; exits from the block. If neither REAPEAT nor BREAK is
+;; executed, the execution exits from the block after executing the
+;; last STATEMENT.
LOOP := (loop STATEMENT [STATEMENT ...])
;; Terminate the most inner loop.
TRANSLATE :=
- (translate-character REG(table) REG(charset) REG(codepoint))
- | (translate-character SYMBOL REG(charset) REG(codepoint))
- ;; SYMBOL must refer to a table defined by `define-translation-table'.
+ ;; Decode character SRC, translate it by translate table
+ ;; TABLE, and encode it back to DST. TABLE is specified
+ ;; by its id number in REG_0, SRC is specified by its
+ ;; charset id number and codepoint in REG_1 and REG_2
+ ;; respectively.
+ ;; On encoding, the charset of highest priority is selected.
+ ;; After the execution, DST is specified by its charset
+ ;; id number and codepouin in REG_1 and REG_2 respectively.
+ (translate-character REG_0 REG_1 REG_2)
+
+ ;; Same as above except for SYMBOL specifying the name of
+ ;; the translate table defined by `define-translation-table'.
+ | (translate-character SYMBOL REG_1 REG_2)
+
LOOKUP :=
- (lookup-character SYMBOL REG(charset) REG(codepoint))
+ ;; Look up character SRC in hash table TABLE. TABLE is
+ ;; specified by its name in SYMBOL, and SRC is specified by
+ ;; its charset id number and codepoint in REG_1 and REG_2
+ ;; respectively.
+ ;; If its associated value is an integer, set REG_1 to that
+ ;; value, and set r7 to 1. Otherwise, set r7 to 0.
+ (lookup-character SYMBOL REG_1 REG_2)
+
+ ;; Look up integer value N in hash table TABLE. TABLE is
+ ;; specified by its name in SYMBOL and N is specified in
+ ;; REG.
+ ;; If its associated value is a character, set REG to that
+ ;; value, and set r7 to 1. Otherwise, set r7 to 0.
| (lookup-integer SYMBOL REG(integer))
- ;; SYMBOL refers to a table defined by `define-translation-hash-table'.
+
MAP :=
- (iterate-multiple-map REG REG MAP-IDs)
- | (map-multiple REG REG (MAP-SET))
- | (map-single REG REG MAP-ID)
+ ;; The following statements are for internal use only.
+ (iterate-multiple-map REG REG MAP-IDs)
+ | (map-multiple REG REG (MAP-SET))
+ | (map-single REG REG MAP-ID)
+
MAP-IDs := MAP-ID ...
MAP-SET := MAP-IDs | (MAP-IDs) MAP-SET
MAP-ID := integer
;;; characters.el --- set syntax and category for multibyte characters
-;; Copyright (C) 1997, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2000-2015 Free Software Foundation, Inc.
;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
;; 2005, 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; fontset.el --- commands for handling fontset
-;; Copyright (C) 1997-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2015 Free Software Foundation, Inc.
;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
;; 2005, 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; isearch-x.el --- extended isearch handling commands
-;; Copyright (C) 1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2015 Free Software Foundation, Inc.
;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
;; 2005, 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; iso-ascii.el --- set up char tables for ISO 8859/1 on ASCII terminals
-;; Copyright (C) 1987, 1995, 1998, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1987, 1995, 1998, 2001-2015 Free Software Foundation,
;; Inc.
;; Author: Howard Gayle
;;; iso-cvt.el --- translate ISO 8859-1 from/to various encodings -*- coding: utf-8 -*-
;; This file was formerly called gm-lingo.el.
-;; Copyright (C) 1993-1998, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1998, 2000-2015 Free Software Foundation, Inc.
;; Author: Michael Gschwind <mike@vlsivie.tuwien.ac.at>
;; Keywords: tex, iso, latin, i18n
;;; iso-transl.el --- keyboard input definitions for ISO 8859-1 -*- coding: utf-8 -*-
-;; Copyright (C) 1987, 1993-1999, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1987, 1993-1999, 2001-2015 Free Software Foundation,
;; Inc.
;; Author: Howard Gayle
;;; ja-dic-cnv.el --- convert a Japanese dictionary (SKK-JISYO.L) to Emacs Lisp
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
;; 2005, 2006, 2007, 2008, 2009, 2010, 2011
;;; kinsoku.el --- `Kinsoku' processing funcs -*- coding: iso-2022-7bit; -*-
-;; Copyright (C) 1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2015 Free Software Foundation, Inc.
;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
;; 2005, 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; kkc.el --- Kana Kanji converter -*- coding: iso-2022-7bit; -*-
-;; Copyright (C) 1997-1998, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2001-2015 Free Software Foundation, Inc.
;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
;; 2005, 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; latexenc.el --- guess correct coding system in LaTeX files -*-coding: utf-8 -*-
-;; Copyright (C) 2005-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
;; Author: Arne Jørgensen <arne@arnested.dk>
;; Keywords: mule, coding system, latex
;;; latin1-disp.el --- display tables for other ISO 8859 on Latin-1 terminals -*-coding: utf-8;-*-
-;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
;; Author: Dave Love <fx@gnu.org>
;; Keywords: i18n
;;; mule-cmds.el --- commands for multilingual environment -*- lexical-binding:t -*-
-;; Copyright (C) 1997-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2015 Free Software Foundation, Inc.
;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
;; 2005, 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; mule-conf.el --- configure multilingual environment
-;; Copyright (C) 1997-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2015 Free Software Foundation, Inc.
;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;; Registration Number H14PRO021
;;; mule-diag.el --- show diagnosis of multilingual environment (Mule)
-;; Copyright (C) 1997-1998, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2000-2015 Free Software Foundation, Inc.
;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
;; 2005, 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; mule-util.el --- utility functions for multilingual environment (mule)
-;; Copyright (C) 1997-1998, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2000-2015 Free Software Foundation, Inc.
;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
;; 2005, 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; mule.el --- basic commands for multilingual environment
-;; Copyright (C) 1997-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2015 Free Software Foundation, Inc.
;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
;; 2005, 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
The remaining arguments must come in pairs ATTRIBUTE VALUE. ATTRIBUTE
may be any symbol.
+A coding system specifies a rule to decode (i.e. to convert a
+byte sequence to a character sequence) and a rule to encode (the
+opposite of decoding).
+
+The decoding is done by at most 3 steps; the first is to convert
+a byte sequence to a character sequence by one of Emacs'
+internal routines specified by `:coding-type' attribute. The
+optional second step is to convert the character sequence (the
+result of the first step) by a translation table specified
+by `:decode-translation-table' attribute. The optional third step
+is to convert the above result by a Lisp function specified
+by `:post-read-conversion' attribute.
+
+The encoding is done by at most 3 steps, which are the reverse
+of the decoding steps. The optional first step converts a
+character sequence to another character sequence by a Lisp
+function specified by `:pre-write-conversion' attribute. The
+optional second step converts the above result by a translation
+table specified by `:encode-translation-table' attribute. The
+third step converts the above result to a byte sequence by one
+of the Emacs's internal routines specified by the `:coding-type'
+attribute.
+
The following attributes have special meanings. Those labeled as
\"(required)\" should not be omitted.
`:coding-type' (required)
-VALUE must be one of `charset', `utf-8', `utf-16', `iso-2022',
-`emacs-mule', `shift-jis', `ccl', `raw-text', `undecided'.
+VALUE specifies the format of byte sequence the coding system
+decodes and encodes to. It must be one of `charset', `utf-8',
+`utf-16', `iso-2022', `emacs-mule', `shift-jis', `ccl',
+`raw-text', `undecided'.
+
+If VALUE is `charset', the coding system is for handling a
+byte sequence in which each byte or every two- to four-byte
+sequence represents a character code of a charset specified
+by the `:charset-list' attribute.
+
+If VALUE is `utf-8', the coding system is for handling Unicode
+UTF-8 byte sequences. See also the documentation of the
+attribute `:bom'.
+
+If VALUE is `utf-16', the coding system is for handling Unicode
+UTF-16 byte sequences. See also the documentation of the
+attributes :bom and `:endian'.
+
+If VALUE is `iso-2022', the coding system is for handling byte
+sequences conforming to ISO/IEC 2022. See also the documentation
+of the attributes `:charset-list', `:flags', and `:designation'.
+
+If VALUE is `emacs-mule', the coding system is for handling
+byte sequences which Emacs 20 and 21 used for their internal
+representation of characters.
+
+If VALUE is `shift-jis', the coding system is for handling byte
+sequences of Shift_JIS format. See also the attribute `:charset-list'.
+
+If VALUE is `ccl', the coding system uses CCL programs to decode
+and encode byte sequences. The CCL programs must be
+specified by the attributes `:ccl-decoder' and `:ccl-encoder'.
+
+If VALUE is `raw-text', the coding system decodes byte sequences
+without any conversions.
`:eol-type'
VALUE is the EOL (end-of-line) format of the coding system. It must be
one of `unix', `dos', `mac'. The symbol `unix' means Unix-like EOL
-\(i.e. single LF), `dos' means DOS-like EOL \(i.e. sequence of CR LF),
-and `mac' means Mac-like EOL \(i.e. single CR). If omitted, Emacs
-detects the EOL format automatically when decoding.
+\(i.e. a single LF character), `dos' means DOS-like EOL \(i.e. a sequence
+of CR followed by LF), and `mac' means Mac-like EOL \(i.e. a single CR).
+If omitted, Emacs detects the EOL format automatically when decoding.
+
+`:charset-list' (required if `:coding-type' is `charset' or `shift-jis')
+
+VALUE must be a list of charsets supported by the coding system.
+
+If `coding-type:' is `charset', then on decoding and encoding by the
+coding system, if a character belongs to multiple charsets in the
+list, a charset that comes first in the list is selected.
-`:charset-list'
+If `:coding-type' is `iso-2022', VALUE may be `iso-2022', which
+indicates that the coding system supports all ISO-2022 based
+charsets.
-VALUE must be a list of charsets supported by the coding system. On
-encoding by the coding system, if a character belongs to multiple
-charsets in the list, a charset that comes earlier in the list is
-selected. If `:coding-type' is `iso-2022', VALUE may be `iso-2022',
-which indicates that the coding system supports all ISO-2022 based
-charsets. If `:coding-type' is `emacs-mule', VALUE may be
-`emacs-mule', which indicates that the coding system supports all
-charsets that have the `:emacs-mule-id' property.
+If `:coding-type' is `shift-jis', VALUE must be a list of three
+to four charsets supported by Shift_JIS encoding scheme. The
+first charset (one dimension) is for code space 0x00..0x7F, the
+second (one dimension) for 0xA1..0xDF, the third (two dimension)
+for 0x8140..0xEFFC, the optional fourth (three dimension) for
+0xF040..0xFCFC.
+
+If `:coding-type' is `emacs-mule', VALUE may be `emacs-mule',
+which indicates that the coding system supports all charsets that
+have the `:emacs-mule-id' property.
`:ascii-compatible-p'
VALUE must be a function to call after some text is inserted and
decoded by the coding system itself and before any functions in
`after-insert-functions' are called. This function is passed one
-argument; the number of characters in the text to convert, with
+argument: the number of characters in the text to convert, with
point at the start of the text. The function should leave point
-the same, and return the new character count.
+unchanged, and should return the new character count.
`:pre-write-conversion'
`:mime-text-unsuitable'
VALUE non-nil means the `:mime-charset' property names a charset which
-is unsuitable for the top-level media type \"text\".
+is unsuitable for the top-level media of type \"text\".
`:flags'
`:bom'
-This attributes specifies whether the coding system uses a `byte order
-mark'. VALUE must be nil, t, or cons of coding systems whose
+This attributes specifies whether the coding system uses a \"byte order
+mark\". VALUE must be nil, t, or a cons cell of coding systems whose
`:coding-type' is `utf-16' or `utf-8'.
If the value is nil, on decoding, don't treat the first two-byte as
If the value is t, on decoding, skip the first two-byte as BOM, and on
encoding, produce BOM bytes according to the value of `:endian'.
-If the value is cons, on decoding, check the first two-byte. If they
-are 0xFE 0xFF, use the car part coding system of the value. If they
-are 0xFF 0xFE, use the cdr part coding system of the value.
+If the value is a cons cell, on decoding, check the first two bytes.
+If they are 0xFE 0xFF, use the car part coding system of the value.
+If they are 0xFF 0xFE, use the cdr part coding system of the value.
Otherwise, treat them as bytes for a normal character. On encoding,
produce BOM bytes according to the value of `:endian'.
This attribute is meaningful only when `:coding-type' is `utf-16'.
-`:ccl-decoder'
+`:ccl-decoder' (required if :coding-type is `ccl')
-VALUE is a symbol representing the registered CCL program used for
-decoding. This attribute is meaningful only when `:coding-type' is
-`ccl'.
+VALUE is a CCL program name defined by `define-ccl-program'. The
+CCL program reads a byte sequence and writes a character sequence
+as a decoding result.
-`:ccl-encoder'
+`:ccl-encoder' (required if :coding-type is `ccl')
-VALUE is a symbol representing the registered CCL program used for
-encoding. This attribute is meaningful only when `:coding-type' is
-`ccl'.
+VALUE is a CCL program name defined by `define-ccl-program'. The
+CCL program reads a character sequence and writes a byte sequence
+as an encoding result.
`:inhibit-null-byte-detection'
FROM and TO are a character or a vector of characters.
If FROM is a character, that character is translated to TO.
If FROM is a vector of characters, that sequence is translated to TO.
-The first extra-slot of the value is a translation table for reverse mapping."
+The first extra-slot of the value is a translation table for reverse mapping.
+
+FROM and TO may be nil. If TO is nil, the translation from FROM
+to nothing is defined in the translation table and that element
+is ignored in the reverse map. If FROM is nil, the translation
+from TO to nothing is defined in the reverse map only. A vector
+of length zero has the same meaning as specifying nil."
(let ((tables (vector (make-char-table 'translation-table)
(make-char-table 'translation-table)))
table max-lookup from to idx val)
(setq from (cdr elt) to (car elt)))
(if (characterp from)
(setq idx from)
- (setq idx (aref from 0)
- max-lookup (max max-lookup (length from))))
- (setq val (aref table idx))
- (if val
- (progn
- (or (consp val)
- (setq val (list (cons (vector idx) val))))
- (if (characterp from)
- (setq from (vector from)))
- (setq val (nconc val (list (cons from to)))))
- (if (characterp from)
- (setq val to)
- (setq val (list (cons from to)))))
- (aset table idx val))
+ (if (= (length from) 0)
+ (setq idx nil)
+ (setq idx (aref from 0)
+ max-lookup (max max-lookup (length from)))))
+ (when idx
+ (setq val (aref table idx))
+ (if val
+ (progn
+ (or (consp val)
+ (setq val (list (cons (vector idx) val))))
+ (if (characterp from)
+ (setq from (vector from)))
+ (setq val (nconc val (list (cons from to)))))
+ (if (characterp from)
+ (setq val to)
+ (setq val (list (cons from to)))))
+ (aset table idx val)))
(set-char-table-extra-slot table 1 max-lookup))
(set-char-table-extra-slot (aref tables 0) 0 (aref tables 1))
(aref tables 0)))
;;; ogonek.el --- change the encoding of Polish diacritics
-;; Copyright (C) 1997-1998, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2001-2015 Free Software Foundation, Inc.
;; Author: W{\l}odek Bzyl
;; Ryszard Kubiak
;;; quail.el --- provides simple input method for multilingual text
-;; Copyright (C) 1997-1998, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2000-2015 Free Software Foundation, Inc.
;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
;; 2005, 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
quail-dirs list-buf pkg-list pos)
(if (not (file-writable-p leim-list))
(error "Can't write to file \"%s\"" leim-list))
- (message "Updating %s ..." leim-list)
+ (or noninteractive (message "Updating %s ..." leim-list))
(setq list-buf (find-file-noselect leim-list))
;; At first, clean up the file.
(let ((coding-system-for-write 'utf-8))
(save-buffer 0)))
(kill-buffer list-buf)
- (message "Updating %s ... done" leim-list)))
+ (or noninteractive (message "Updating %s ... done" leim-list))))
\f
(defun quail-advice (args)
"Advise users about the characters input by the current Quail package.
;;; titdic-cnv.el --- convert cxterm dictionary (TIT format) to Quail package -*- coding:iso-2022-7bit; -*-
-;; Copyright (C) 1997-1998, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2000-2015 Free Software Foundation, Inc.
;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
;; 2005, 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; ucs-normalize.el --- Unicode normalization NFC/NFD/NFKD/NFKC
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Taichi Kawabata <kawabata.taichi@gmail.com>
;; Keywords: unicode, normalization
;;; utf-7.el --- utf-7 coding system
-;; Copyright (C) 2003-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
;; Author: Dave Love <fx@gnu.org>
;; Keywords: i18n, mail
;;; isearch.el --- incremental search minor mode
-;; Copyright (C) 1992-1997, 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1992-1997, 1999-2015 Free Software Foundation, Inc.
;; Author: Daniel LaLiberte <liberte@cs.uiuc.edu>
;; Maintainer: emacs-devel@gnu.org
;;; isearchb --- a marriage between iswitchb and isearch
-;; Copyright (C) 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;; Maintainer: emacs-devel@gnu.org
;;; jit-lock.el --- just-in-time fontification -*- lexical-binding: t -*-
-;; Copyright (C) 1998, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2000-2015 Free Software Foundation, Inc.
;; Author: Gerd Moellmann <gerd@gnu.org>
;; Keywords: faces files
;;; jka-cmpr-hook.el --- preloaded code to enable jka-compr.el
-;; Copyright (C) 1993-1995, 1997, 1999-2000, 2002-2014
-;; Free Software Foundation, Inc.
+;; Copyright (C) 1993-1995, 1997, 1999-2000, 2002-2015 Free Software
+;; Foundation, Inc.
;; Author: Jay K. Adams <jka@ece.cmu.edu>
;; Maintainer: emacs-devel@gnu.org
;;; jka-compr.el --- reading/writing/loading compressed files
-;; Copyright (C) 1993-1995, 1997, 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1995, 1997, 1999-2015 Free Software Foundation,
+;; Inc.
;; Author: Jay K. Adams <jka@ece.cmu.edu>
;; Maintainer: emacs-devel@gnu.org
;;; json.el --- JavaScript Object Notation parser / generator
-;; Copyright (C) 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
;; Author: Edward O'Connor <ted@oconnor.cx>
;; Version: 1.4
;;; kermit.el --- additions to shell mode for use with kermit
-;; Copyright (C) 1988, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1988, 2001-2015 Free Software Foundation, Inc.
;; Author: Jeff Norden <jeff@colgate.csnet>
;; Maintainer: emacs-devel@gnu.org
;;; kmacro.el --- enhanced keyboard macros
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;; Author: Kim F. Storm <storm@cua.dk>
;; Keywords: keyboard convenience
;;; china-util.el --- utilities for Chinese -*- coding: utf-8 -*-
-;; Copyright (C) 1995, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995, 2001-2015 Free Software Foundation, Inc.
;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
;; 2005, 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; chinese.el --- support for Chinese -*- coding: utf-8; -*-
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
;; 2005, 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; cyril-util.el --- utilities for Cyrillic scripts
-;; Copyright (C) 1997-1998, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2001-2015 Free Software Foundation, Inc.
;; Keywords: mule, multilingual, Cyrillic
;;; cyrillic.el --- support for Cyrillic -*- coding: utf-8; -*-
-;; Copyright (C) 1997-1998, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2001-2015 Free Software Foundation, Inc.
;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
;; 2005, 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; czech.el --- support for Czech -*- coding: utf-8 -*-
-;; Copyright (C) 1998, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2001-2015 Free Software Foundation, Inc.
;; Author: Milan Zamazal <pdm@zamazal.org>
;; Maintainer: Pavel Janík <Pavel@Janik.cz>
;;; english.el --- support for English
-;; Copyright (C) 1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2015 Free Software Foundation, Inc.
;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
;; 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; ethio-util.el --- utilities for Ethiopic -*- coding: utf-8-emacs; -*-
-;; Copyright (C) 1997-1998, 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2002-2015 Free Software Foundation, Inc.
;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
;; 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; ethiopic.el --- support for Ethiopic -*- coding: utf-8-emacs; -*-
-;; Copyright (C) 1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2015 Free Software Foundation, Inc.
;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
;; 2005, 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; european.el --- support for European languages -*- coding: utf-8; -*-
-;; Copyright (C) 1997-1998, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2000-2015 Free Software Foundation, Inc.
;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
;; 2005, 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; georgian.el --- language support for Georgian
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Author: Dave Love <fx@gnu.org>
;; Keywords: i18n
;;; greek.el --- support for Greek
-;; Copyright (C) 2002, 2013-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2013-2015 Free Software Foundation, Inc.
;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
;; 2005, 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; hanja-util.el --- Korean Hanja util module -*- coding: utf-8 -*-
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Jihyun Cho <jihyun.jo@gmail.com>
;; Keywords: multilingual, input method, Korean, Hanja
;;; hebrew.el --- support for Hebrew -*- coding: utf-8 -*-
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
;; 2005, 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; ind-util.el --- Transliteration and Misc. Tools for Indian Languages -*- coding: utf-8-emacs; -*-
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Maintainer: KAWABATA, Taichi <kawabata@m17n.org>
;; Keywords: multilingual, Indian, Devanagari
;;; indian.el --- Indian languages support -*- coding: utf-8; -*-
-;; Copyright (C) 1997, 1999, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 1999, 2001-2015 Free Software Foundation, Inc.
;; Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;; Registration Number H14PRO021
;;; japan-util.el --- utilities for Japanese -*- coding: iso-2022-7bit; -*-
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
;; 2005, 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; japanese.el --- support for Japanese -*- coding: iso-2022-7bit -*-
-;; Copyright (C) 1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2015 Free Software Foundation, Inc.
;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
;; 2005, 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; korea-util.el --- utilities for Korean
-;; Copyright (C) 1997, 1999, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 1999, 2001-2015 Free Software Foundation, Inc.
;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
;; 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; korean.el --- support for Korean -*- coding: utf-8 -*-
-;; Copyright (C) 1998, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2001-2015 Free Software Foundation, Inc.
;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
;; 2005, 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; lao-util.el --- utilities for Lao -*- coding: utf-8; -*-
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
;; 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; lao.el --- support for Lao -*- coding: utf-8 -*-
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
;; 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
(set-char-table-range
composition-function-table
'(#x600 . #x6FF)
- (list ["[\u0600-\u06FF]+" 0 font-shape-gstring]))
+ (list ["\u200D?[\u0600-\u074F]+[\u200D\u200C]*[\u0600-\u074F]+\u200D?"
+ 0 font-shape-gstring]))
(provide 'misc-lang)
;;; romanian.el --- support for Romanian -*- coding: utf-8 -*-
-;; Copyright (C) 1998, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2001-2015 Free Software Foundation, Inc.
;; Author: Dan Nicolaescu <done@ece.arizona.edu>
;; Keywords: multilingual, Romanian, i18n
;;; slovak.el --- support for Slovak -*- coding: utf-8 -*-
-;; Copyright (C) 1998, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2001-2015 Free Software Foundation, Inc.
;; Authors: Tibor Šimko <tibor.simko@fmph.uniba.sk>,
;; Milan Zamazal <pdm@zamazal.org>
;;; tai-viet.el --- support for Tai Viet -*- coding: utf-8 -*-
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Copyright (C) 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;; Registration Number H13PRO009
;;; thai-util.el --- utilities for Thai -*- coding: utf-8; -*-
-;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
;; 2005, 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; thai.el --- support for Thai -*- coding: utf-8 -*-
-;; Copyright (C) 1997-1998, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2000-2015 Free Software Foundation, Inc.
;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
;; 2005, 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; tibet-util.el --- utilities for Tibetan -*- coding: utf-8-emacs; -*-
-;; Copyright (C) 1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2015 Free Software Foundation, Inc.
;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
;; 2005, 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; tibetan.el --- support for Tibetan language -*- coding: utf-8-emacs; -*-
-;; Copyright (C) 1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2015 Free Software Foundation, Inc.
;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
;; 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; utf-8-lang.el --- generic UTF-8 language environment
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Author: Dave Love <fx@gnu.org>
;; Keywords: i18n
;;; viet-util.el --- utilities for Vietnamese -*- coding: utf-8; -*-
-;; Copyright (C) 1998, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2001-2015 Free Software Foundation, Inc.
;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
;; 2005, 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; vietnamese.el --- support for Vietnamese -*- coding: utf-8; -*-
-;; Copyright (C) 1998, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2001-2015 Free Software Foundation, Inc.
;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
;; 2005, 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;;***
\f
-;;;### (autoloads nil "ange-ftp" "net/ange-ftp.el" (21607 54478 300138
-;;;;;; 641000))
+;;;### (autoloads nil "ange-ftp" "net/ange-ftp.el" (21640 46919 650145
+;;;;;; 897000))
;;; Generated autoloads from net/ange-ftp.el
(defalias 'ange-ftp-re-read-dir 'ange-ftp-reread-dir)
;;;***
\f
-;;;### (autoloads nil "autoinsert" "autoinsert.el" (21607 54477 800124
-;;;;;; 118000))
+;;;### (autoloads nil "autoinsert" "autoinsert.el" (21632 17083 200835
+;;;;;; 890000))
;;; Generated autoloads from autoinsert.el
(autoload 'auto-insert "autoinsert" "\
;;;***
\f
-;;;### (autoloads nil "bytecomp" "emacs-lisp/bytecomp.el" (21607
-;;;;;; 54477 800124 118000))
+;;;### (autoloads nil "bytecomp" "emacs-lisp/bytecomp.el" (21645
+;;;;;; 29116 670141 789000))
;;; Generated autoloads from emacs-lisp/bytecomp.el
(put 'byte-compile-dynamic 'safe-local-variable 'booleanp)
(put 'byte-compile-disable-print-circle 'safe-local-variable 'booleanp)
;;;***
\f
-;;;### (autoloads nil "cc-engine" "progmodes/cc-engine.el" (21623
-;;;;;; 2108 292281 129000))
+;;;### (autoloads nil "cc-engine" "progmodes/cc-engine.el" (21653
+;;;;;; 23227 760147 961000))
;;; Generated autoloads from progmodes/cc-engine.el
(autoload 'c-guess-basic-syntax "cc-engine" "\
;;;***
\f
-;;;### (autoloads nil "cc-guess" "progmodes/cc-guess.el" (21607 54478
-;;;;;; 800121 42000))
+;;;### (autoloads nil "cc-guess" "progmodes/cc-guess.el" (21628 56730
+;;;;;; 520119 990000))
;;; Generated autoloads from progmodes/cc-guess.el
(defvar c-guess-guessed-offsets-alist nil "\
;;;***
\f
-;;;### (autoloads nil "cc-mode" "progmodes/cc-mode.el" (21607 54478
-;;;;;; 800121 42000))
+;;;### (autoloads nil "cc-mode" "progmodes/cc-mode.el" (21652 2366
+;;;;;; 414435 564000))
;;; Generated autoloads from progmodes/cc-mode.el
(autoload 'c-initialize-cc-mode "cc-mode" "\
;;;***
\f
-;;;### (autoloads nil "cc-styles" "progmodes/cc-styles.el" (21607
-;;;;;; 54478 800121 42000))
+;;;### (autoloads nil "cc-styles" "progmodes/cc-styles.el" (21628
+;;;;;; 56730 520119 990000))
;;; Generated autoloads from progmodes/cc-styles.el
(autoload 'c-set-style "cc-styles" "\
;;;***
\f
-;;;### (autoloads nil "cc-vars" "progmodes/cc-vars.el" (21607 54478
-;;;;;; 800121 42000))
+;;;### (autoloads nil "cc-vars" "progmodes/cc-vars.el" (21628 56730
+;;;;;; 520119 990000))
;;; Generated autoloads from progmodes/cc-vars.el
(put 'c-basic-offset 'safe-local-variable 'integerp)
(put 'c-backslash-column 'safe-local-variable 'integerp)
;;;***
\f
-;;;### (autoloads nil "cconv" "emacs-lisp/cconv.el" (21607 54477
-;;;;;; 800124 118000))
+;;;### (autoloads nil "cconv" "emacs-lisp/cconv.el" (21645 29116
+;;;;;; 670141 789000))
;;; Generated autoloads from emacs-lisp/cconv.el
(autoload 'cconv-closure-convert "cconv" "\
;;;***
\f
-;;;### (autoloads nil "comint" "comint.el" (21607 54477 800124 118000))
+;;;### (autoloads nil "comint" "comint.el" (21665 14401 955623 556000))
;;; Generated autoloads from comint.el
(defvar comint-output-filter-functions '(ansi-color-process-output comint-postoutput-scroll-to-bottom comint-watch-for-password-prompt) "\
;;;***
\f
-;;;### (autoloads nil "compare-w" "vc/compare-w.el" (21607 54478
-;;;;;; 800121 42000))
+;;;### (autoloads nil "compare-w" "vc/compare-w.el" (21663 59071
+;;;;;; 96337 184000))
;;; Generated autoloads from vc/compare-w.el
(autoload 'compare-windows "compare-w" "\
-Compare text in current window with text in next window.
+Compare text in current window with text in another window.
+The option `compare-windows-get-window-function' defines how
+to get another window.
+
Compares the text starting at point in each window,
moving over text in each one as far as they match.
;;;***
\f
-;;;### (autoloads nil "completion" "completion.el" (21607 54477 800124
-;;;;;; 118000))
+;;;### (autoloads nil "completion" "completion.el" (21657 20283 330825
+;;;;;; 807000))
;;; Generated autoloads from completion.el
(defvar dynamic-completion-mode nil "\
;;;***
\f
-;;;### (autoloads nil "cus-edit" "cus-edit.el" (21607 54477 800124
-;;;;;; 118000))
+;;;### (autoloads nil "cus-edit" "cus-edit.el" (21646 49980 500843
+;;;;;; 452000))
;;; Generated autoloads from cus-edit.el
(defvar custom-browse-sort-alphabetically nil "\
\(fn REGEXP)" t nil)
+(autoload 'custom-prompt-customize-unsaved-options "cus-edit" "\
+Prompt user to customize any unsaved customization options.
+Return non-nil if user chooses to customize, for use in
+`kill-emacs-query-functions'.
+
+\(fn)" nil nil)
+
(autoload 'custom-buffer-create "cus-edit" "\
Create a buffer containing OPTIONS.
Optional NAME is the name of the buffer.
;;;***
\f
-;;;### (autoloads nil "desktop" "desktop.el" (21616 28857 81577 239000))
+;;;### (autoloads nil "desktop" "desktop.el" (21666 35265 825623
+;;;;;; 21000))
;;; Generated autoloads from desktop.el
(defvar desktop-save-mode nil "\
;;;***
\f
-;;;### (autoloads nil "dired" "dired.el" (21607 54477 800124 118000))
+;;;### (autoloads nil "dired" "dired.el" (21662 38238 226339 285000))
;;; Generated autoloads from dired.el
(defvar dired-listing-switches (purecopy "-al") "\
;;;***
\f
-;;;### (autoloads nil "dnd" "dnd.el" (21607 54477 800124 118000))
+;;;### (autoloads nil "dnd" "dnd.el" (21666 35265 825623 21000))
;;; Generated autoloads from dnd.el
(defvar dnd-protocol-alist `((,(purecopy "^file:///") . dnd-open-local-file) (,(purecopy "^file://") . dnd-open-file) (,(purecopy "^file:") . dnd-open-local-file) (,(purecopy "^\\(https?\\|ftp\\|file\\|nfs\\)://") . dnd-open-file)) "\
;;;***
\f
-;;;### (autoloads nil "eieio-core" "emacs-lisp/eieio-core.el" (21607
-;;;;;; 54477 800124 118000))
+;;;### (autoloads nil "eieio-core" "emacs-lisp/eieio-core.el" (21634
+;;;;;; 58813 400848 500000))
;;; Generated autoloads from emacs-lisp/eieio-core.el
(push (purecopy '(eieio-core 1 4)) package--builtin-versions)
`erc-compute-port', `erc-compute-nick' and `erc-compute-full-name' will
be invoked for the values of the other parameters.
-\(fn &key (server (erc-compute-server)) (port (erc-compute-port)) (nick (erc-compute-nick)) PASSWORD (full-name (erc-compute-full-name)))" t nil)
+\(fn &key (SERVER (erc-compute-server)) (PORT (erc-compute-port)) (NICK (erc-compute-nick)) PASSWORD (FULL-NAME (erc-compute-full-name)))" t nil)
(defalias 'erc-select 'erc)
using :expected-result. See `ert-test-result-type-p' for a
description of valid values for RESULT-TYPE.
-\(fn NAME () [DOCSTRING] [:expected-result RESULT-TYPE] [:tags '(TAG...)] BODY...)" nil (quote macro))
+\(fn NAME () [DOCSTRING] [:expected-result RESULT-TYPE] [:tags '(TAG...)] BODY...)" nil t)
+
+(function-put 'ert-deftest 'doc-string-elt '3)
+
+(function-put 'ert-deftest 'lisp-indent-function '2)
(put 'ert-deftest 'lisp-indent-function 2)
;;;***
\f
-;;;### (autoloads nil "etags" "progmodes/etags.el" (21607 54478 800121
-;;;;;; 42000))
+;;;### (autoloads nil "etags" "progmodes/etags.el" (21665 14401 955623
+;;;;;; 556000))
;;; Generated autoloads from progmodes/etags.el
(defvar tags-file-name nil "\
as they appeared in the `etags' command that created the table, usually
without directory names.
+\(fn)" nil nil)
+
+(autoload 'tags-lazy-completion-table "etags" "\
+
+
\(fn)" nil nil)
(defun tags-completion-at-point-function ()
(if (or tags-table-list tags-file-name)
See documentation of variable `tags-file-name'.
\(fn TAGNAME &optional NEXT-P REGEXP-P)" t nil)
- (define-key esc-map "." 'find-tag)
(autoload 'find-tag-other-window "etags" "\
Find tag (in current tags table) whose name contains TAGNAME.
See documentation of variable `tags-file-name'.
\(fn TAGNAME &optional NEXT-P REGEXP-P)" t nil)
- (define-key ctl-x-4-map "." 'find-tag-other-window)
+
+(make-obsolete 'find-tag-other-window 'xref-find-definitions-other-window '"25.1")
(autoload 'find-tag-other-frame "etags" "\
Find tag (in current tags table) whose name contains TAGNAME.
See documentation of variable `tags-file-name'.
\(fn TAGNAME &optional NEXT-P)" t nil)
- (define-key ctl-x-5-map "." 'find-tag-other-frame)
+
+(make-obsolete 'find-tag-other-frame 'xref-find-definitions-other-frame '"25.1")
(autoload 'find-tag-regexp "etags" "\
Find tag (in current tags table) whose name matches REGEXP.
See documentation of variable `tags-file-name'.
\(fn REGEXP &optional NEXT-P OTHER-WINDOW)" t nil)
- (define-key esc-map [?\C-.] 'find-tag-regexp)
- (define-key esc-map "*" 'pop-tag-mark)
-(autoload 'pop-tag-mark "etags" "\
-Pop back to where \\[find-tag] was last invoked.
+(make-obsolete 'find-tag-regexp 'xref-find-apropos '"25.1")
-This is distinct from invoking \\[find-tag] with a negative argument
-since that pops a stack of markers at which tags were found, not from
-where they were found.
-
-\(fn)" t nil)
+(defalias 'pop-tag-mark 'xref-pop-marker-stack)
(autoload 'next-file "etags" "\
Select next file among files in current tags table.
nil, we exit; otherwise we scan the next file.
\(fn &optional FIRST-TIME)" t nil)
- (define-key esc-map "," 'tags-loop-continue)
+
+(make-obsolete 'tags-loop-continue '"use `xref-find-definitions' interface instead." '"25.1")
(autoload 'tags-search "etags" "\
Search through all files listed in tags table for match for REGEXP.
\(fn REGEXP)" t nil)
+(make-obsolete 'tags-apropos 'xref-find-apropos '"25.1")
+
(autoload 'select-tags-table "etags" "\
Select a tags table file from a menu of those you have already used.
The list of tags tables to select from is stored in `tags-table-set-list';
\(fn)" t nil)
+(autoload 'etags-xref-find "etags" "\
+
+
+\(fn ACTION ID)" nil nil)
+
;;;***
\f
;;;### (autoloads nil "ethio-util" "language/ethio-util.el" (21607
;;;***
\f
-;;;### (autoloads nil "eww" "net/eww.el" (21628 44513 720130 219000))
+;;;### (autoloads nil "eww" "net/eww.el" (21667 56163 185621 290000))
;;; Generated autoloads from net/eww.el
(autoload 'eww "eww" "\
;;;***
\f
-;;;### (autoloads nil "find-func" "emacs-lisp/find-func.el" (21607
-;;;;;; 54477 800124 118000))
+;;;### (autoloads nil "find-func" "emacs-lisp/find-func.el" (21665
+;;;;;; 14401 955623 556000))
;;; Generated autoloads from emacs-lisp/find-func.el
(autoload 'find-library "find-func" "\
;;;***
\f
-;;;### (autoloads nil "gnus-art" "gnus/gnus-art.el" (21623 2108 292281
-;;;;;; 129000))
+;;;### (autoloads nil "gnus-art" "gnus/gnus-art.el" (21652 2365 910127
+;;;;;; 752000))
;;; Generated autoloads from gnus/gnus-art.el
(autoload 'gnus-article-prepare-display "gnus-art" "\
;;;***
\f
-;;;### (autoloads nil "gnus-bookmark" "gnus/gnus-bookmark.el" (21607
-;;;;;; 54478 300138 641000))
+;;;### (autoloads nil "gnus-bookmark" "gnus/gnus-bookmark.el" (21645
+;;;;;; 29116 670141 789000))
;;; Generated autoloads from gnus/gnus-bookmark.el
(autoload 'gnus-bookmark-set "gnus-bookmark" "\
;;;***
\f
-;;;### (autoloads nil "gnus-registry" "gnus/gnus-registry.el" (21607
-;;;;;; 54478 300138 641000))
+;;;### (autoloads nil "gnus-registry" "gnus/gnus-registry.el" (21652
+;;;;;; 2365 910127 752000))
;;; Generated autoloads from gnus/gnus-registry.el
(autoload 'gnus-registry-initialize "gnus-registry" "\
;;;***
\f
-;;;### (autoloads nil "gnutls" "net/gnutls.el" (21620 46140 530123
-;;;;;; 341000))
+;;;### (autoloads nil "gnutls" "net/gnutls.el" (21638 55899 942254
+;;;;;; 689000))
;;; Generated autoloads from net/gnutls.el
(defvar gnutls-min-prime-bits 256 "\
;;;***
\f
-;;;### (autoloads nil "gud" "progmodes/gud.el" (21607 54478 800121
-;;;;;; 42000))
+;;;### (autoloads nil "gud" "progmodes/gud.el" (21638 55899 942254
+;;;;;; 689000))
;;; Generated autoloads from progmodes/gud.el
(autoload 'gud-gdb "gud" "\
change its definition, you should explicitly call
`ibuffer-recompile-formats'.
-\(fn SYMBOL (&key NAME INLINE PROPS SUMMARIZER) &rest BODY)" nil (quote macro))
+\(fn SYMBOL (&key NAME INLINE PROPS SUMMARIZER) &rest BODY)" nil t)
+
+(function-put 'define-ibuffer-column 'lisp-indent-function 'defun)
(autoload 'define-ibuffer-sorter "ibuf-macs" "\
Define a method of sorting named NAME.
buffer object, and `b' bound to another. BODY should return a non-nil
value if and only if `a' is \"less than\" `b'.
-\(fn NAME DOCUMENTATION (&key DESCRIPTION) &rest BODY)" nil (quote macro))
+\(fn NAME DOCUMENTATION (&key DESCRIPTION) &rest BODY)" nil t)
+
+(function-put 'define-ibuffer-sorter 'lisp-indent-function '1)
+
+(function-put 'define-ibuffer-sorter 'doc-string-elt '2)
(autoload 'define-ibuffer-op "ibuf-macs" "\
Generate a function which operates on a buffer.
COMPLEX means this function is special; see the source code of this
macro for exactly what it does.
-\(fn OP ARGS DOCUMENTATION (&key INTERACTIVE MARK MODIFIER-P DANGEROUS OPSTRING ACTIVE-OPSTRING COMPLEX) &rest BODY)" nil (quote macro))
+\(fn OP ARGS DOCUMENTATION (&key INTERACTIVE MARK MODIFIER-P DANGEROUS OPSTRING ACTIVE-OPSTRING COMPLEX) &rest BODY)" nil t)
+
+(function-put 'define-ibuffer-op 'lisp-indent-function '2)
+
+(function-put 'define-ibuffer-op 'doc-string-elt '3)
(autoload 'define-ibuffer-filter "ibuf-macs" "\
Define a filter named NAME.
will be evaluated with BUF bound to the buffer object, and QUALIFIER
bound to the current value of the filter.
-\(fn NAME DOCUMENTATION (&key READER DESCRIPTION) &rest BODY)" nil (quote macro))
+\(fn NAME DOCUMENTATION (&key READER DESCRIPTION) &rest BODY)" nil t)
+
+(function-put 'define-ibuffer-filter 'lisp-indent-function '2)
+
+(function-put 'define-ibuffer-filter 'doc-string-elt '2)
;;;***
\f
;;;***
\f
-;;;### (autoloads nil "idlwave" "progmodes/idlwave.el" (21607 54478
-;;;;;; 800121 42000))
+;;;### (autoloads nil "idlwave" "progmodes/idlwave.el" (21645 29117
+;;;;;; 170137 362000))
;;; Generated autoloads from progmodes/idlwave.el
(push (purecopy '(idlwave 6 1 22)) package--builtin-versions)
;;;***
\f
-;;;### (autoloads nil "info" "info.el" (21607 54478 300138 641000))
+;;;### (autoloads nil "info" "info.el" (21669 11452 35624 425000))
;;; Generated autoloads from info.el
(defcustom Info-default-directory-list (let* ((config-dir (file-name-as-directory (or (and (featurep 'ns) (let ((dir (expand-file-name "../info" data-directory))) (if (file-directory-p dir) dir))) configure-info-directory))) (prefixes (prune-directory-list '("/usr/local/" "/usr/" "/opt/" "/"))) (suffixes '("share/" "" "gnu/" "gnu/lib/" "gnu/lib/emacs/" "emacs/" "lib/" "lib/emacs/")) (standard-info-dirs (apply #'nconc (mapcar (lambda (pfx) (let ((dirs (mapcar (lambda (sfx) (concat pfx sfx "info/")) suffixes))) (prune-directory-list dirs))) prefixes))) (dirs (if (member config-dir standard-info-dirs) (nconc standard-info-dirs (list config-dir)) (cons config-dir standard-info-dirs)))) (if (not (eq system-type 'windows-nt)) dirs (let* ((instdir (file-name-directory invocation-directory)) (dir1 (expand-file-name "../info/" instdir)) (dir2 (expand-file-name "../../../info/" instdir))) (cond ((file-exists-p dir1) (append dirs (list dir1))) ((file-exists-p dir2) (append dirs (list dir2))) (t dirs))))) "\
(autoload 'info-display-manual "info" "\
Display an Info buffer displaying MANUAL.
If there is an existing Info buffer for MANUAL, display it.
-Otherwise, visit the manual in a new Info buffer.
+Otherwise, visit the manual in a new Info buffer. In interactive
+use, a prefix argument directs this command to limit the
+completion alternatives to currently visited manuals.
\(fn MANUAL)" t nil)
;;;***
\f
-;;;### (autoloads nil "inline" "emacs-lisp/inline.el" (21628 43483
-;;;;;; 380149 771000))
+;;;### (autoloads nil "inline" "emacs-lisp/inline.el" (21632 17083
+;;;;;; 200835 890000))
;;; Generated autoloads from emacs-lisp/inline.el
(autoload 'define-inline "inline" "\
;;;***
\f
-;;;### (autoloads nil "ispell" "textmodes/ispell.el" (21607 54478
-;;;;;; 800121 42000))
+;;;### (autoloads nil "ispell" "textmodes/ispell.el" (21653 23227
+;;;;;; 760147 961000))
;;; Generated autoloads from textmodes/ispell.el
(put 'ispell-check-comments 'safe-local-variable (lambda (a) (memq a '(nil t exclusive))))
;;;***
\f
-;;;### (autoloads nil "js" "progmodes/js.el" (21623 2108 292281 129000))
+;;;### (autoloads nil "js" "progmodes/js.el" (21663 59071 96337 184000))
;;; Generated autoloads from progmodes/js.el
(push (purecopy '(js 9)) package--builtin-versions)
\(fn)" t nil)
+;;;***
+\f
+;;;### (autoloads nil "let-alist" "let-alist.el" (21661 17341 365638
+;;;;;; 429000))
+;;; Generated autoloads from let-alist.el
+(push (purecopy '(let-alist 1 0 3)) package--builtin-versions)
+
+(autoload 'let-alist "let-alist" "\
+Let-bind dotted symbols to their cdrs in ALIST and execute BODY.
+Dotted symbol is any symbol starting with a `.'. Only those present
+in BODY are let-bound and this search is done at compile time.
+
+For instance, the following code
+
+ (let-alist alist
+ (if (and .title .body)
+ .body
+ .site
+ .site.contents))
+
+essentially expands to
+
+ (let ((.title (cdr (assq 'title alist)))
+ (.body (cdr (assq 'body alist)))
+ (.site (cdr (assq 'site alist)))
+ (.site.contents (cdr (assq 'contents (cdr (assq 'site alist))))))
+ (if (and .title .body)
+ .body
+ .site
+ .site.contents))
+
+If you nest `let-alist' invocations, the inner one can't access
+the variables of the outer one. You can, however, access alists
+inside the original alist by using dots inside the symbol, as
+displayed in the example above.
+
+\(fn ALIST &rest BODY)" nil t)
+
+(function-put 'let-alist 'lisp-indent-function '1)
+
;;;***
\f
;;;### (autoloads nil "life" "play/life.el" (21607 54478 800121 42000))
;;;***
\f
-;;;### (autoloads nil "linum" "linum.el" (21607 54478 300138 641000))
+;;;### (autoloads nil "linum" "linum.el" (21652 2366 414435 564000))
;;; Generated autoloads from linum.el
(push (purecopy '(linum 0 9 24)) package--builtin-versions)
;;;***
\f
-;;;### (autoloads nil "message" "gnus/message.el" (21623 2108 292281
-;;;;;; 129000))
+;;;### (autoloads nil "message" "gnus/message.el" (21666 35265 825623
+;;;;;; 21000))
;;; Generated autoloads from gnus/message.el
(define-mail-user-agent 'message-user-agent 'message-mail 'message-send-and-exit 'message-kill-buffer 'message-send-hook)
;;;***
\f
-;;;### (autoloads nil "mule-diag" "international/mule-diag.el" (21607
-;;;;;; 54478 300138 641000))
+;;;### (autoloads nil "mule-diag" "international/mule-diag.el" (21652
+;;;;;; 2366 414435 564000))
;;; Generated autoloads from international/mule-diag.el
(autoload 'list-character-sets "mule-diag" "\
;;;***
\f
-;;;### (autoloads nil "network-stream" "net/network-stream.el" (21619
-;;;;;; 5051 260148 536000))
+;;;### (autoloads nil "network-stream" "net/network-stream.el" (21644
+;;;;;; 8251 830117 252000))
;;; Generated autoloads from net/network-stream.el
(autoload 'open-network-stream "network-stream" "\
;;;***
\f
-;;;### (autoloads nil "newst-treeview" "net/newst-treeview.el" (21628
-;;;;;; 45530 160140 360000))
+;;;### (autoloads nil "newst-treeview" "net/newst-treeview.el" (21636
+;;;;;; 14149 750837 46000))
;;; Generated autoloads from net/newst-treeview.el
(autoload 'newsticker-treeview "newst-treeview" "\
;;;***
\f
-;;;### (autoloads nil "octave" "progmodes/octave.el" (21607 54478
-;;;;;; 800121 42000))
+;;;### (autoloads nil "octave" "progmodes/octave.el" (21632 17083
+;;;;;; 200835 890000))
;;; Generated autoloads from progmodes/octave.el
(autoload 'octave-mode "octave" "\
;;;***
\f
-;;;### (autoloads nil "org" "org/org.el" (21607 54478 800121 42000))
+;;;### (autoloads nil "org" "org/org.el" (21645 29117 170137 362000))
;;; Generated autoloads from org/org.el
(autoload 'org-babel-do-load-languages "org" "\
;;;***
\f
-;;;### (autoloads nil "package" "emacs-lisp/package.el" (21607 54477
-;;;;;; 800124 118000))
+;;;### (autoloads nil "package" "emacs-lisp/package.el" (21652 2365
+;;;;;; 910127 752000))
;;; Generated autoloads from emacs-lisp/package.el
(push (purecopy '(package 1 0 1)) package--builtin-versions)
;;;***
\f
-;;;### (autoloads nil "pcmpl-gnu" "pcmpl-gnu.el" (21607 54478 800121
-;;;;;; 42000))
+;;;### (autoloads nil "pcmpl-gnu" "pcmpl-gnu.el" (21632 17083 200835
+;;;;;; 890000))
;;; Generated autoloads from pcmpl-gnu.el
(autoload 'pcomplete/gzip "pcmpl-gnu" "\
;;;***
\f
-;;;### (autoloads nil "pulse" "cedet/pulse.el" (21607 54477 800124
-;;;;;; 118000))
+;;;### (autoloads nil "pulse" "cedet/pulse.el" (21638 55899 942254
+;;;;;; 689000))
;;; Generated autoloads from cedet/pulse.el
(push (purecopy '(pulse 1 0)) package--builtin-versions)
;;;***
\f
-;;;### (autoloads nil "python" "progmodes/python.el" (21625 43838
-;;;;;; 980113 968000))
+;;;### (autoloads nil "python" "progmodes/python.el" (21663 59071
+;;;;;; 96337 184000))
;;; Generated autoloads from progmodes/python.el
(push (purecopy '(python 0 24 4)) package--builtin-versions)
(autoload 'run-python "python" "\
Run an inferior Python process.
-Input and output via buffer named after
-`python-shell-buffer-name'. If there is a process already
-running in that buffer, just switch to it.
Argument CMD defaults to `python-shell-calculate-command' return
value. When called interactively with `prefix-arg', it allows
should be DEDICATED for the current buffer. When numeric prefix
arg is other than 0 or 4 do not SHOW.
+For a given buffer and same values of DEDICATED, if a process is
+already running for it, it will do nothing. This means that if
+the current buffer is using a global process, the user is still
+able to switch it to use a dedicated one.
+
Runs the hook `inferior-python-mode-hook' after
`comint-mode-hook' is run. (Type \\[describe-mode] in the
process buffer for a list of commands.)
;;;***
\f
-;;;### (autoloads nil "ruby-mode" "progmodes/ruby-mode.el" (21607
-;;;;;; 54478 800121 42000))
+;;;### (autoloads nil "ruby-mode" "progmodes/ruby-mode.el" (21657
+;;;;;; 20283 330825 807000))
;;; Generated autoloads from progmodes/ruby-mode.el
(push (purecopy '(ruby-mode 1 2)) package--builtin-versions)
\(fn)" t nil)
-(add-to-list 'auto-mode-alist (cons (purecopy (concat "\\(?:\\." "rb\\|ru\\|rake\\|thor" "\\|jbuilder\\|gemspec\\|podspec" "\\|/" "\\(?:Gem\\|Rake\\|Cap\\|Thor" "\\|Vagrant\\|Guard\\|Pod\\)file" "\\)\\'")) 'ruby-mode))
+(add-to-list 'auto-mode-alist (cons (purecopy (concat "\\(?:\\." "rb\\|ru\\|rake\\|thor" "\\|jbuilder\\|rabl\\|gemspec\\|podspec" "\\|/" "\\(?:Gem\\|Rake\\|Cap\\|Thor" "\\|Puppet\\|Berks" "\\|Vagrant\\|Guard\\|Pod\\)file" "\\)\\'")) 'ruby-mode))
(dolist (name (list "ruby" "rbx" "jruby" "ruby1.9" "ruby1.8")) (add-to-list 'interpreter-mode-alist (cons (purecopy name) 'ruby-mode)))
;;;***
\f
-;;;### (autoloads nil "semantic" "cedet/semantic.el" (21609 55608
-;;;;;; 852266 580000))
+;;;### (autoloads nil "semantic" "cedet/semantic.el" (21645 29116
+;;;;;; 670141 789000))
;;; Generated autoloads from cedet/semantic.el
(push (purecopy '(semantic 2 2)) package--builtin-versions)
\(fn &optional NOERASE TO SUBJECT IN-REPLY-TO CC REPLYBUFFER SENDACTIONS)" t nil)
+;;;***
+\f
+;;;### (autoloads nil "seq" "emacs-lisp/seq.el" (21649 26173 700491
+;;;;;; 498000))
+;;; Generated autoloads from emacs-lisp/seq.el
+(push (purecopy '(seq 1 0)) package--builtin-versions)
+
;;;***
\f
;;;### (autoloads nil "server" "server.el" (21607 54478 800121 42000))
;;;***
\f
-;;;### (autoloads nil "sh-script" "progmodes/sh-script.el" (21607
-;;;;;; 54478 800121 42000))
+;;;### (autoloads nil "sh-script" "progmodes/sh-script.el" (21663
+;;;;;; 59071 96337 184000))
;;; Generated autoloads from progmodes/sh-script.el
(push (purecopy '(sh-script 2 0 6)) package--builtin-versions)
(put 'sh-shell 'safe-local-variable 'symbolp)
;;;***
\f
-;;;### (autoloads nil "shell" "shell.el" (21607 54478 800121 42000))
+;;;### (autoloads nil "shell" "shell.el" (21658 41149 155622 310000))
;;; Generated autoloads from shell.el
(defvar shell-dumb-shell-regexp (purecopy "cmd\\(proxy\\)?\\.exe") "\
;;;***
\f
-;;;### (autoloads nil "shr" "net/shr.el" (21623 2108 292281 129000))
+;;;### (autoloads nil "shr" "net/shr.el" (21666 35265 825623 21000))
;;; Generated autoloads from net/shr.el
(autoload 'shr-render-region "shr" "\
;;;***
\f
;;;### (autoloads nil "srecode/srt-mode" "cedet/srecode/srt-mode.el"
-;;;;;; (21607 54477 800124 118000))
+;;;;;; (21657 20283 330825 807000))
;;; Generated autoloads from cedet/srecode/srt-mode.el
(autoload 'srecode-template-mode "srecode/srt-mode" "\
;;;***
\f
-;;;### (autoloads nil "tex-mode" "textmodes/tex-mode.el" (21611 10938
-;;;;;; 204397 226000))
+;;;### (autoloads nil "tex-mode" "textmodes/tex-mode.el" (21663 59071
+;;;;;; 96337 184000))
;;; Generated autoloads from textmodes/tex-mode.el
(defvar tex-shell-file-name nil "\
;;;***
\f
-;;;### (autoloads nil "tmm" "tmm.el" (21607 54478 800121 42000))
+;;;### (autoloads nil "tmm" "tmm.el" (21652 2366 414435 564000))
;;; Generated autoloads from tmm.el
(define-key global-map "\M-`" 'tmm-menubar)
(define-key global-map [menu-bar mouse-1] 'tmm-menubar-mouse)
;;;***
\f
-;;;### (autoloads nil "tramp" "net/tramp.el" (21625 43838 483701
-;;;;;; 627000))
+;;;### (autoloads nil "tramp" "net/tramp.el" (21663 59071 96337 184000))
;;; Generated autoloads from net/tramp.el
(defvar tramp-mode t "\
;;;***
\f
-;;;### (autoloads nil "url-dav" "url/url-dav.el" (21607 54478 800121
-;;;;;; 42000))
+;;;### (autoloads nil "url-dav" "url/url-dav.el" (21634 58813 400848
+;;;;;; 500000))
;;; Generated autoloads from url/url-dav.el
(autoload 'url-dav-supported-p "url-dav" "\
;;;***
\f
-;;;### (autoloads nil "url-http" "url/url-http.el" (21619 5051 260148
-;;;;;; 536000))
+;;;### (autoloads nil "url-http" "url/url-http.el" (21638 55900 442275
+;;;;;; 524000))
;;; Generated autoloads from url/url-http.el
(autoload 'url-default-expander "url-expand")
;;;***
\f
-;;;### (autoloads nil "vc" "vc/vc.el" (21628 45530 160140 360000))
+;;;### (autoloads nil "vc" "vc/vc.el" (21649 26173 700491 498000))
;;; Generated autoloads from vc/vc.el
(defvar vc-checkout-hook nil "\
If every file is registered and unlocked, check out (lock)
the file(s) for editing.
If every file is locked by you and has changes, pop up a
- *vc-log* buffer to check in the changes. If the variable
- `vc-keep-workfiles' is non-nil (the default), leave a
+ *vc-log* buffer to check in the changes. Leave a
read-only copy of each changed file after checking in.
If every file is locked by you and unchanged, unlock them.
If every file is locked by someone else, offer to steal the lock.
\(fn)" t nil)
-(autoload 'vc-rollback "vc" "\
-Roll back (remove) the most recent changeset committed to the repository.
-This may be either a file-level or a repository-level operation,
-depending on the underlying version-control system.
-
-\(fn)" t nil)
-
(define-obsolete-function-alias 'vc-revert-buffer 'vc-revert "23.1")
(autoload 'vc-pull "vc" "\
;;;***
\f
-;;;### (autoloads nil "vc-arch" "vc/vc-arch.el" (21628 43483 380149
-;;;;;; 771000))
-;;; Generated autoloads from vc/vc-arch.el
- (defun vc-arch-registered (file)
- (if (vc-find-root file "{arch}/=tagging-method")
- (progn
- (load "vc-arch" nil t)
- (vc-arch-registered file))))
-
-;;;***
-\f
-;;;### (autoloads nil "vc-bzr" "vc/vc-bzr.el" (21628 43483 380149
-;;;;;; 771000))
+;;;### (autoloads nil "vc-bzr" "vc/vc-bzr.el" (21645 29117 170137
+;;;;;; 362000))
;;; Generated autoloads from vc/vc-bzr.el
(defconst vc-bzr-admin-dirname ".bzr" "\
;;;***
\f
-;;;### (autoloads nil "vc-cvs" "vc/vc-cvs.el" (21628 43483 380149
-;;;;;; 771000))
+;;;### (autoloads nil "vc-cvs" "vc/vc-cvs.el" (21645 29117 170137
+;;;;;; 362000))
;;; Generated autoloads from vc/vc-cvs.el
(defun vc-cvs-registered (f)
"Return non-nil if file F is registered with CVS."
;;;***
\f
-;;;### (autoloads nil "vc-dir" "vc/vc-dir.el" (21607 54478 800121
-;;;;;; 42000))
+;;;### (autoloads nil "vc-dir" "vc/vc-dir.el" (21665 14401 955623
+;;;;;; 556000))
;;; Generated autoloads from vc/vc-dir.el
(autoload 'vc-dir "vc-dir" "\
;;;***
\f
-;;;### (autoloads nil "vc-dispatcher" "vc/vc-dispatcher.el" (21607
-;;;;;; 54478 800121 42000))
+;;;### (autoloads nil "vc-dispatcher" "vc/vc-dispatcher.el" (21640
+;;;;;; 46919 650145 897000))
;;; Generated autoloads from vc/vc-dispatcher.el
(autoload 'vc-do-command "vc-dispatcher" "\
;;;***
\f
-;;;### (autoloads nil "vc-git" "vc/vc-git.el" (21628 45530 160140
-;;;;;; 360000))
+;;;### (autoloads nil "vc-git" "vc/vc-git.el" (21663 59071 96337
+;;;;;; 184000))
;;; Generated autoloads from vc/vc-git.el
(defun vc-git-registered (file)
"Return non-nil if FILE is registered with git."
;;;***
\f
-;;;### (autoloads nil "vc-hg" "vc/vc-hg.el" (21628 43483 380149 771000))
+;;;### (autoloads nil "vc-hg" "vc/vc-hg.el" (21645 29117 170137 362000))
;;; Generated autoloads from vc/vc-hg.el
(defun vc-hg-registered (file)
"Return non-nil if FILE is registered with hg."
;;;***
\f
-;;;### (autoloads nil "vc-mtn" "vc/vc-mtn.el" (21628 43483 380149
-;;;;;; 771000))
+;;;### (autoloads nil "vc-mtn" "vc/vc-mtn.el" (21645 29117 170137
+;;;;;; 362000))
;;; Generated autoloads from vc/vc-mtn.el
(defconst vc-mtn-admin-dir "_MTN" "\
;;;***
\f
-;;;### (autoloads nil "vc-rcs" "vc/vc-rcs.el" (21628 43483 380149
-;;;;;; 771000))
+;;;### (autoloads nil "vc-rcs" "vc/vc-rcs.el" (21645 29117 170137
+;;;;;; 362000))
;;; Generated autoloads from vc/vc-rcs.el
(defvar vc-rcs-master-templates (purecopy '("%sRCS/%s,v" "%s%s,v" "%sRCS/%s")) "\
;;;***
\f
-;;;### (autoloads nil "vc-sccs" "vc/vc-sccs.el" (21628 43483 380149
-;;;;;; 771000))
+;;;### (autoloads nil "vc-sccs" "vc/vc-sccs.el" (21645 29117 170137
+;;;;;; 362000))
;;; Generated autoloads from vc/vc-sccs.el
(defvar vc-sccs-master-templates (purecopy '("%sSCCS/s.%s" "%ss.%s" vc-sccs-search-project-dir)) "\
;;;***
\f
-;;;### (autoloads nil "vc-src" "vc/vc-src.el" (21628 43483 380149
-;;;;;; 771000))
+;;;### (autoloads nil "vc-src" "vc/vc-src.el" (21645 29117 170137
+;;;;;; 362000))
;;; Generated autoloads from vc/vc-src.el
(defvar vc-src-master-templates (purecopy '("%s.src/%s,v")) "\
;;;***
\f
-;;;### (autoloads nil "vc-svn" "vc/vc-svn.el" (21628 43483 380149
-;;;;;; 771000))
+;;;### (autoloads nil "vc-svn" "vc/vc-svn.el" (21652 2366 414435
+;;;;;; 564000))
;;; Generated autoloads from vc/vc-svn.el
(defun vc-svn-registered (f)
(let ((admin-dir (cond ((and (eq system-type 'windows-nt)
;;;***
\f
;;;### (autoloads nil "verilog-mode" "progmodes/verilog-mode.el"
-;;;;;; (21607 54478 800121 42000))
+;;;;;; (21644 8251 830117 252000))
;;; Generated autoloads from progmodes/verilog-mode.el
(autoload 'verilog-mode "verilog-mode" "\
;;;***
\f
-;;;### (autoloads nil "vhdl-mode" "progmodes/vhdl-mode.el" (21607
-;;;;;; 54478 800121 42000))
+;;;### (autoloads nil "vhdl-mode" "progmodes/vhdl-mode.el" (21638
+;;;;;; 55900 442275 524000))
;;; Generated autoloads from progmodes/vhdl-mode.el
(autoload 'vhdl-mode "vhdl-mode" "\
;;;***
\f
-;;;### (autoloads nil "whitespace" "whitespace.el" (21607 54478 800121
-;;;;;; 42000))
+;;;### (autoloads nil "whitespace" "whitespace.el" (21630 19673 940150
+;;;;;; 833000))
;;; Generated autoloads from whitespace.el
(push (purecopy '(whitespace 13 2 2)) package--builtin-versions)
;;;***
\f
-;;;### (autoloads nil "wid-edit" "wid-edit.el" (21607 54478 800121
-;;;;;; 42000))
+;;;### (autoloads nil "wid-edit" "wid-edit.el" (21634 58813 900130
+;;;;;; 256000))
;;; Generated autoloads from wid-edit.el
(autoload 'widgetp "wid-edit" "\
\(fn &optional LIMIT)" nil nil)
+;;;***
+\f
+;;;### (autoloads nil "xref" "progmodes/xref.el" (21667 56163 185621
+;;;;;; 290000))
+;;; Generated autoloads from progmodes/xref.el
+
+(autoload 'xref-pop-marker-stack "xref" "\
+Pop back to where \\[xref-find-definitions] was last invoked.
+
+\(fn)" t nil)
+
+(autoload 'xref-find-definitions "xref" "\
+Find the definition of the identifier at point.
+With prefix argument or when there's no identifier at point,
+prompt for it.
+
+\(fn IDENTIFIER)" t nil)
+
+(autoload 'xref-find-definitions-other-window "xref" "\
+Like `xref-find-definitions' but switch to the other window.
+
+\(fn IDENTIFIER)" t nil)
+
+(autoload 'xref-find-definitions-other-frame "xref" "\
+Like `xref-find-definitions' but switch to the other frame.
+
+\(fn IDENTIFIER)" t nil)
+
+(autoload 'xref-find-references "xref" "\
+Find references to the identifier at point.
+With prefix argument, prompt for the identifier.
+
+\(fn IDENTIFIER)" t nil)
+
+(autoload 'xref-find-apropos "xref" "\
+Find all meaningful symbols that match PATTERN.
+The argument has the same meaning as in `apropos'.
+
+\(fn PATTERN)" t nil)
+ (define-key esc-map "." #'xref-find-definitions)
+ (define-key esc-map "," #'xref-pop-marker-stack)
+ (define-key esc-map [?\C-.] #'xref-find-apropos)
+ (define-key ctl-x-4-map "." #'xref-find-definitions-other-window)
+ (define-key ctl-x-5-map "." #'xref-find-definitions-other-frame)
+
;;;***
\f
;;;### (autoloads nil "xt-mouse" "xt-mouse.el" (21607 54478 800121
;;;;;; "vc/ediff-ptch.el" "vc/ediff-vers.el" "vc/ediff-wind.el"
;;;;;; "vc/pcvs-info.el" "vc/pcvs-parse.el" "vc/pcvs-util.el" "vc/vc-dav.el"
;;;;;; "vc/vc-filewise.el" "vcursor.el" "vt-control.el" "vt100-led.el"
-;;;;;; "w32-fns.el" "w32-vars.el" "x-dnd.el") (21628 46363 926675
-;;;;;; 999000))
+;;;;;; "w32-fns.el" "w32-vars.el" "x-dnd.el") (21669 11479 568273
+;;;;;; 504000))
;;;***
\f
;;; arabic.el --- Quail package for inputting Arabic -*- coding: utf-8;-*-
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: James Cloos <cloos@jhcloos.com>
;; Keywords: mule, input method, Arabic
;;; croatian.el -- Quail package for inputting Croatian -*-coding: utf-8;-*-
-;; Copyright (C) 2003-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
;; Author: Hrvoje Nikšić <hniksic@xemacs.org>
;; Keywords: i18n
;;; cyril-jis.el --- Quail package for inputting JISX0208 Cyrillic letters
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
;; 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; cyrillic.el --- Quail package for inputting Cyrillic characters
-;; Copyright (C) 1997-1998, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2001-2015 Free Software Foundation, Inc.
;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
;; 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; czech.el --- Quail package for inputting Czech -*-coding: utf-8;-*-
-;; Copyright (C) 1998, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2001-2015 Free Software Foundation, Inc.
;; Author: Milan Zamazal <pdm@zamazal.org>
;; Maintainer: Pavel Janík <Pavel@Janik.cz>
;;; georgian.el --- Quail package for inputting Georgian characters -*-coding: utf-8;-*-
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Author: Dave Love <fx@gnu.org>
;; Keywords: i18n
;;; greek.el --- Quail package for inputting Greek -*-coding: utf-8-*-
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
;; 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; hangul.el --- Korean Hangul input method
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Jihyun Cho <jihyun.jo@gmail.com>
;; Keywords: multilingual, input method, Korean, Hangul
;;; hanja.el --- Quail-package for Korean Hanja (KSC5601) -*-coding: utf-8;-*-
-;; Copyright (C) 1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2015 Free Software Foundation, Inc.
;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
;; 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; hanja3.el --- Quail-package for Korean Hanja (KSC5601) -*-coding: utf-8;-*-
-;; Copyright (C) 1997, 1999, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 1999, 2001-2015 Free Software Foundation, Inc.
;; Author: Koaunghi Un <koaunghi.un@zdv.uni-tuebingen.de>
;; Keywords: mule, quail, multilingual, input method, Korean, Hanja
;;; indian.el --- Quail packages for inputting Indian
-;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
;; Author: KAWABATA, Taichi <kawabata@m17n.org>
;;; ipa-praat.el --- Inputting IPA characters with the conventions of Praat
-;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
;; Author: Oliver Scholz <epameinondas@gmx.de>
;; Keywords: multilingual, input method, IPA
;;; ipa.el --- Quail package for inputting IPA characters -*-coding: utf-8;-*-
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
;; 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; japanese.el --- Quail package for inputting Japanese -*-coding: iso-2022-7bit;-*-
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
;; 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; latin-alt.el --- Quail package for inputting various European characters -*-coding: utf-8;-*-
-;; Copyright (C) 1997-1998, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2001-2015 Free Software Foundation, Inc.
;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
;; 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; latin-ltx.el --- Quail package for TeX-style input -*-coding: utf-8;-*-
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
;; 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; latin-post.el --- Quail packages for inputting various European characters -*-coding: utf-8;-*-
-;; Copyright (C) 1997-1998, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2001-2015 Free Software Foundation, Inc.
;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
;; 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; latin-pre.el --- Quail packages for inputting various European characters -*-coding: utf-8;-*-
-;; Copyright (C) 1997-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2015 Free Software Foundation, Inc.
;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
;; 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; lrt.el --- Quail package for inputting Lao characters by LRT method -*-coding: utf-8;-*-
-;; Copyright (C) 1998, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2001-2015 Free Software Foundation, Inc.
;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
;; 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; persian.el --- Quail package for inputting Persian/Farsi keyboard -*- coding: utf-8;-*-
-;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
;; Author: Mohsen BANAN <libre@mohsen.1.banan.byname.net>
;; X-URL: http://mohsen.1.banan.byname.net/contact
;;; py-punct.el --- Quail packages for Chinese (pinyin + extra symbols) -*-coding: iso-2022-7bit;-*-
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
;; 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; rfc1345.el --- Quail method for RFC 1345 mnemonics -*- coding: utf-8 -*-
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Author: Dave Love <fx@gnu.org>
;; Keywords: i18n
;;; sgml-input.el --- Quail method for Unicode entered as SGML entities -*- coding: utf-8 -*-
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Author: Dave Love <fx@gnu.org>
;; Keywords: i18n
;;; sisheng.el --- sisheng input method for Chinese pinyin transliteration
-;; Copyright (C) 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
;; Author: Werner LEMBERG <wl@gnu.org>
;;; slovak.el --- Quail package for inputting Slovak -*-coding: utf-8;-*-
-;; Copyright (C) 1998, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2001-2015 Free Software Foundation, Inc.
;; Authors: Tibor Šimko <tibor.simko@fmph.uniba.sk>
;; Milan Zamazal <pdm@zamazal.org>
;;; symbol-ksc.el --- Quail-package for Korean Symbol (KSC5601) -*-coding: utf-8;-*-
-;; Copyright (C) 1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2015 Free Software Foundation, Inc.
;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
;; 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; tibetan.el --- Quail package for inputting Tibetan characters -*-coding: utf-8-emacs;-*-
-;; Copyright (C) 1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2015 Free Software Foundation, Inc.
;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
;; 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; uni-input.el --- Hex Unicode input method
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;; Registration Number H14PRO021
;;; vntelex.el --- Quail package for Vietnamese by Telex method
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Author: Werner Lemberg <wl@gnu.org>
;; Keywords: multilingual, input method, Vietnamese
;;; vnvni.el --- Quail package for Vietnamese by VNI method
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Author: Werner Lemberg <wl@gnu.org>
;; Nguyen Thai Ngoc Duy <pclouds@gmail.com>
;;; welsh.el --- Quail package for inputting Welsh characters -*-coding: utf-8;-*-
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Author: Dave Love <fx@gnu.org>
;; Keywords: i18n
;;; let-alist.el --- Easily let-bind values of an assoc-list by their names -*- lexical-binding: t; -*-
-;; Copyright (C) 2014 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
;; Author: Artur Malabarba <bruce.connor.am@gmail.com>
;; Maintainer: Artur Malabarba <bruce.connor.am@gmail.com>
(mapcar #'let-alist--deep-dot-search data)))))
(defun let-alist--access-sexp (symbol variable)
- "Return a sexp used to acess SYMBOL inside VARIABLE."
+ "Return a sexp used to access SYMBOL inside VARIABLE."
(let* ((clean (let-alist--remove-dot symbol))
(name (symbol-name clean)))
(if (string-match "\\`\\." name)
;;; linum.el --- display line numbers in the left margin -*- lexical-binding: t -*-
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Markus Triska <markus.triska@gmx.at>
;; Maintainer: emacs-devel@gnu.org
;;; loadhist.el --- lisp functions for working with feature groups
-;; Copyright (C) 1995, 1998, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1998, 2000-2015 Free Software Foundation, Inc.
;; Author: Eric S. Raymond <esr@snark.thyrsus.com>
;; Maintainer: emacs-devel@gnu.org
;;; loadup.el --- load up standardly loaded Lisp files for Emacs
-;; Copyright (C) 1985-1986, 1992, 1994, 2001-2014
-;; Free Software Foundation, Inc.
+;; Copyright (C) 1985-1986, 1992, 1994, 2001-2015 Free Software
+;; Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: internal
;;; locate.el --- interface to the locate command
-;; Copyright (C) 1996, 1998, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996, 1998, 2001-2015 Free Software Foundation, Inc.
;; Author: Peter Breton <pbreton@cs.umb.edu>
;; Keywords: unix files
;;; lpr.el --- print Emacs buffer on line printer
-;; Copyright (C) 1985, 1988, 1992, 1994, 2001-2014 Free Software
+;; Copyright (C) 1985, 1988, 1992, 1994, 2001-2015 Free Software
;; Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;;; ls-lisp.el --- emulate insert-directory completely in Emacs Lisp
-;; Copyright (C) 1992, 1994, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 1994, 2000-2015 Free Software Foundation, Inc.
;; Author: Sebastian Kremer <sk@thp.uni-koeln.de>
;; Modified by: Francis J. Wright <F.J.Wright@maths.qmw.ac.uk>
;;; macros.el --- non-primitive commands for keyboard macros
-;; Copyright (C) 1985-1987, 1992, 1994-1995, 2001-2014 Free Software
+;; Copyright (C) 1985-1987, 1992, 1994-1995, 2001-2015 Free Software
;; Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;;; binhex.el --- decode BinHex-encoded text
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Shenghuo Zhu <zsh@cs.rochester.edu>
;; Keywords: binhex news
;;; blessmail.el --- decide whether movemail needs special privileges -*- no-byte-compile: t -*-
-;; Copyright (C) 1994, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994, 2001-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: internal
;;; emacsbug.el --- command to report Emacs bugs to appropriate mailing list
-;; Copyright (C) 1985, 1994, 1997-1998, 2000-2014
-;; Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1994, 1997-1998, 2000-2015 Free Software
+;; Foundation, Inc.
;; Author: K. Shane Hartman
;; Maintainer: emacs-devel@gnu.org
;;; footnote.el --- footnote support for message mode -*- coding: utf-8;-*-
-;; Copyright (C) 1997, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2000-2015 Free Software Foundation, Inc.
;; Author: Steven L Baur <steve@xemacs.org>
;; Keywords: mail, news
;;; hashcash.el --- Add hashcash payments to email
-;; Copyright (C) 2003-2005, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2005, 2007-2015 Free Software Foundation, Inc.
;; Written by: Paul Foley <mycroft@actrix.gen.nz> (1997-2002)
;; Maintainer: Paul Foley <mycroft@actrix.gen.nz>
;;; mail-extr.el --- extract full name and address from RFC 822 mail header -*- coding: utf-8 -*-
-;; Copyright (C) 1991-1994, 1997, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1991-1994, 1997, 2001-2015 Free Software Foundation,
;; Inc.
;; Author: Joe Wells <jbw@cs.bu.edu>
;;; mail-hist.el --- headers and message body history for outgoing mail
-;; Copyright (C) 1994, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994, 2001-2015 Free Software Foundation, Inc.
;; Author: Karl Fogel <kfogel@red-bean.com>
;; Created: March, 1994
;;; mail-utils.el --- utility functions used both by rmail and rnews
-;; Copyright (C) 1985, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 2001-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: mail, news
;;; mailabbrev.el --- abbrev-expansion of mail aliases
-;; Copyright (C) 1985-1987, 1992-1993, 1996-1997, 2000-2014 Free
+;; Copyright (C) 1985-1987, 1992-1993, 1996-1997, 2000-2015 Free
;; Software Foundation, Inc.
;; Author: Jamie Zawinski <jwz@lucid.com; now jwz@jwz.org>
;;; mailalias.el --- expand and complete mailing address aliases -*- lexical-binding: t -*-
-;; Copyright (C) 1985, 1987, 1995-1997, 2001-2014 Free Software
+;; Copyright (C) 1985, 1987, 1995-1997, 2001-2015 Free Software
;; Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;;; mailclient.el --- mail sending via system's mail client.
-;; Copyright (C) 2005-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
;; Author: David Reitter <david.reitter@gmail.com>
;; Keywords: mail
;;; mailheader.el --- mail header parsing, merging, formatting
-;; Copyright (C) 1996, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996, 2001-2015 Free Software Foundation, Inc.
;; Author: Erik Naggum <erik@naggum.no>
;; Keywords: tools, mail, news
;;; metamail.el --- Metamail interface for GNU Emacs
-;; Copyright (C) 1993, 1996, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1996, 2001-2015 Free Software Foundation, Inc.
;; Author: Masanobu UMEDA <umerin@mse.kyutech.ac.jp>
;; Keywords: mail, news, mime, multimedia
;;; mspools.el --- show mail spools waiting to be read
-;; Copyright (C) 1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2015 Free Software Foundation, Inc.
;; Author: Stephen Eglen <stephen@gnu.org>
;; Maintainer: Stephen Eglen <stephen@gnu.org>
;;; reporter.el --- customizable bug reporting of lisp programs
-;; Copyright (C) 1993-1998, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1998, 2001-2015 Free Software Foundation, Inc.
;; Author: 1993-1998 Barry A. Warsaw
;; Maintainer: emacs-devel@gnu.org
;;; rfc2368.el --- support for rfc2368
-;; Copyright (C) 1998, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2000-2015 Free Software Foundation, Inc.
;; Author: Sen Nagata <sen@eccosys.com>
;; Keywords: mail
;;; rfc822.el --- hairy rfc822 parser for mail and news and suchlike
-;; Copyright (C) 1986-1987, 1990, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1986-1987, 1990, 2001-2015 Free Software Foundation,
;; Inc.
;; Author: Richard Mlynarik <mly@eddie.mit.edu>
;;; rmail-spam-filter.el --- spam filter for Rmail, the Emacs mail reader
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;; Keywords: email, spam, filter, rmail
;; Author: Eli Tziperman <eli AT deas.harvard.edu>
;; Package: rmail
;;; rmail.el --- main code of "RMAIL" mail reader for Emacs
-;; Copyright (C) 1985-1988, 1993-1998, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985-1988, 1993-1998, 2000-2015 Free Software
+;; Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: mail
\f
;;; Start of automatically extracted autoloads.
\f
-;;;### (autoloads nil "rmailedit" "rmailedit.el" "b155463a02e4aa9256ac21997ea003e9")
+;;;### (autoloads nil "rmailedit" "rmailedit.el" "f6da7267316d02c90b9d314ce95b3c22")
;;; Generated autoloads from rmailedit.el
(autoload 'rmail-edit-current-message "rmailedit" "\
;;;***
\f
-;;;### (autoloads nil "rmailkwd" "rmailkwd.el" "d462d15a119ee2a1733de2bc31bf347c")
+;;;### (autoloads nil "rmailkwd" "rmailkwd.el" "298dcda7febb6e4ebf0a166101f40650")
;;; Generated autoloads from rmailkwd.el
(autoload 'rmail-add-label "rmailkwd" "\
;;;***
\f
-;;;### (autoloads nil "rmailmm" "rmailmm.el" "6446c799d49a6df8519b11bfe2e3cbea")
+;;;### (autoloads nil "rmailmm" "rmailmm.el" "43e0b9f680c4d2581640b286bd4b3107")
;;; Generated autoloads from rmailmm.el
(autoload 'rmail-mime "rmailmm" "\
;;;***
\f
-;;;### (autoloads nil "rmailmsc" "rmailmsc.el" "0950b0ad020610737220948bb3f37c17")
+;;;### (autoloads nil "rmailmsc" "rmailmsc.el" "c3f0d33739768fc12acc4258ae0da72e")
;;; Generated autoloads from rmailmsc.el
(autoload 'set-rmail-inbox-list "rmailmsc" "\
;;;***
\f
-;;;### (autoloads nil "rmailsort" "rmailsort.el" "4106a6e4898795822554ce931f531ab8")
+;;;### (autoloads nil "rmailsort" "rmailsort.el" "8f551773021df4fa1a14ec2517e6a4f1")
;;; Generated autoloads from rmailsort.el
(autoload 'rmail-sort-by-date "rmailsort" "\
;;;***
\f
-;;;### (autoloads nil "rmailsum" "rmailsum.el" "ee1fa556cd65d7ef457a97ab560e15da")
+;;;### (autoloads nil "rmailsum" "rmailsum.el" "e3943ef45946f10b9b5cab8097d7f271")
;;; Generated autoloads from rmailsum.el
(autoload 'rmail-summary "rmailsum" "\
;;;***
\f
-;;;### (autoloads nil "undigest" "undigest.el" "f30d93eb6a006ac64080a1ee8a45a1af")
+;;;### (autoloads nil "undigest" "undigest.el" "912d4d3bf762991df5d4d02f42358025")
;;; Generated autoloads from undigest.el
(autoload 'undigestify-rmail-message "undigest" "\
;;; rmailedit.el --- "RMAIL edit mode" Edit the current message
-;; Copyright (C) 1985, 1994, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1994, 2001-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: mail
;;; rmailkwd.el --- part of the "RMAIL" mail reader for Emacs
-;; Copyright (C) 1985, 1988, 1994, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1985, 1988, 1994, 2001-2015 Free Software Foundation,
;; Inc.
;; Maintainer: emacs-devel@gnu.org
;;; rmailmm.el --- MIME decoding and display stuff for RMAIL
-;; Copyright (C) 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
;; Author: Alexander Pohoyda
;; Alex Schroeder
;;; rmailmsc.el --- miscellaneous support functions for the RMAIL mail reader
-;; Copyright (C) 1985, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 2001-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: mail
;;; rmailout.el --- "RMAIL" mail reader for Emacs: output message to a file
-;; Copyright (C) 1985, 1987, 1993-1994, 2001-2014 Free Software
+;; Copyright (C) 1985, 1987, 1993-1994, 2001-2015 Free Software
;; Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;;; rmailsort.el --- Rmail: sort messages
-;; Copyright (C) 1990, 1993-1994, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1990, 1993-1994, 2001-2015 Free Software Foundation,
;; Inc.
;; Author: Masanobu UMEDA <umerin@mse.kyutech.ac.jp>
;;; rmailsum.el --- make summary buffers for the mail reader
-;; Copyright (C) 1985, 1993-1996, 2000-2014 Free Software Foundation,
+;; Copyright (C) 1985, 1993-1996, 2000-2015 Free Software Foundation,
;; Inc.
;; Maintainer: emacs-devel@gnu.org
;;; sendmail.el --- mail sending commands for Emacs
-;; Copyright (C) 1985-1986, 1992-1996, 1998, 2000-2014 Free Software
+;; Copyright (C) 1985-1986, 1992-1996, 1998, 2000-2015 Free Software
;; Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;;; smtpmail.el --- simple SMTP protocol (RFC 821) for sending mail
-;; Copyright (C) 1995-1996, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995-1996, 2001-2015 Free Software Foundation, Inc.
;; Author: Tomoji Kagatani <kagatani@rbc.ncl.omron.co.jp>
;; Maintainer: Simon Josefsson <simon@josefsson.org>
;;; supercite.el --- minor mode for citing mail and news replies
-;; Copyright (C) 1993, 1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1997, 2001-2015 Free Software Foundation, Inc.
;; Author: 1993 Barry A. Warsaw <bwarsaw@python.org>
;; Maintainer: emacs-devel@gnu.org
;;; uce.el --- facilitate reply to unsolicited commercial email
-;; Copyright (C) 1996, 1998, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996, 1998, 2000-2015 Free Software Foundation, Inc.
;; Author: stanislav shalunov <shalunov@mccme.ru>
;; Created: 10 Dec 1996
;;; undigest.el --- digest-cracking support for the RMAIL mail reader
-;; Copyright (C) 1985-1986, 1994, 1996, 2001-2014 Free Software
+;; Copyright (C) 1985-1986, 1994, 1996, 2001-2015 Free Software
;; Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;;; unrmail.el --- convert Rmail Babyl files to mbox files
-;; Copyright (C) 1992, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 2001-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: mail
;;; uudecode.el -- elisp native uudecode
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Shenghuo Zhu <zsh@cs.rochester.edu>
;; Keywords: uudecode news
# -*- Makefile -*- for GNU Emacs on the Microsoft Windows API.
-# Copyright (C) 2000-2014 Free Software Foundation, Inc.
+# Copyright (C) 2000-2015 Free Software Foundation, Inc.
# This file is part of GNU Emacs.
;;; makesum.el --- generate key binding summary for Emacs
-;; Copyright (C) 1985, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 2001-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: help
;;; man.el --- browse UNIX manual pages -*- coding: utf-8 -*-
-;; Copyright (C) 1993-1994, 1996-1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1994, 1996-1997, 2001-2015 Free Software
+;; Foundation, Inc.
;; Author: Barry A. Warsaw <bwarsaw@cen.com>
;; Maintainer: emacs-devel@gnu.org
;;; master.el --- make a buffer the master over another buffer
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: Alex Schroeder <alex@gnu.org>
;; Maintainer: Alex Schroeder <alex@gnu.org>
;;; mb-depth.el --- Indicate minibuffer-depth in prompt
;;
-;; Copyright (C) 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
;;
;; Author: Miles Bader <miles@gnu.org>
;; Keywords: convenience
;;; md4.el --- MD4 Message Digest Algorithm.
-;; Copyright (C) 2001, 2004, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2004, 2007-2015 Free Software Foundation, Inc.
;; Author: Taro Kawagishi <tarok@transpulse.org>
;; Keywords: MD4
;;; menu-bar.el --- define a default menu bar
-;; Copyright (C) 1993-1995, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1995, 2000-2015 Free Software Foundation, Inc.
;; Author: Richard M. Stallman
;; Maintainer: emacs-devel@gnu.org
(bindings--define-key menu [set-tags-name]
'(menu-item "Set Tags File Name..." visit-tags-table
- :help "Tell Tags commands which tag table file to use"))
+ :visible (menu-bar-goto-uses-etags-p)
+ :help "Tell navigation commands which tag table file to use"))
(bindings--define-key menu [separator-tag-file]
- menu-bar-separator)
+ '(menu-item "--" nil :visible (menu-bar-goto-uses-etags-p)))
+
+ (bindings--define-key menu [xref-pop]
+ '(menu-item "Back" xref-pop-marker-stack
+ :visible (not (xref-marker-stack-empty-p))
+ :help "Back to the position of the last search"))
- (bindings--define-key menu [apropos-tags]
- '(menu-item "Tags Apropos..." tags-apropos
+ (bindings--define-key menu [xref-apropos]
+ '(menu-item "Find Apropos..." xref-find-apropos
:help "Find function/variables whose names match regexp"))
- (bindings--define-key menu [next-tag-otherw]
- '(menu-item "Next Tag in Other Window"
- menu-bar-next-tag-other-window
- :enable (and (boundp 'tags-location-ring)
- (not (ring-empty-p tags-location-ring)))
- :help "Find next function/variable matching last tag name in another window"))
-
- (bindings--define-key menu [next-tag]
- '(menu-item "Find Next Tag"
- menu-bar-next-tag
- :enable (and (boundp 'tags-location-ring)
- (not (ring-empty-p tags-location-ring)))
- :help "Find next function/variable matching last tag name"))
- (bindings--define-key menu [find-tag-otherw]
- '(menu-item "Find Tag in Other Window..." find-tag-other-window
+
+ (bindings--define-key menu [xref-find-otherw]
+ '(menu-item "Find Definition in Other Window..."
+ xref-find-definitions-other-window
:help "Find function/variable definition in another window"))
- (bindings--define-key menu [find-tag]
- '(menu-item "Find Tag..." find-tag
+ (bindings--define-key menu [xref-find-def]
+ '(menu-item "Find Definition..." xref-find-definitions
:help "Find definition of function or variable"))
- (bindings--define-key menu [separator-tags]
+ (bindings--define-key menu [separator-xref]
menu-bar-separator)
(bindings--define-key menu [end-of-buf]
:help "Read a line number and go to that line"))
menu))
+(defun menu-bar-goto-uses-etags-p ()
+ (or (not (boundp 'xref-find-function))
+ (eq xref-find-function 'etags-xref-find)))
(defvar yank-menu (cons (purecopy "Select Yank") nil))
(fset 'yank-menu (cons 'keymap yank-menu))
menu))
-(defun menu-bar-next-tag-other-window ()
- "Find the next definition of the tag already specified."
- (interactive)
- (find-tag-other-window nil t))
-
-(defun menu-bar-next-tag ()
- "Find the next definition of the tag already specified."
- (interactive)
- (find-tag nil t))
-
(define-obsolete-function-alias
'menu-bar-kill-ring-save 'kill-ring-save "24.1")
* ChangeLog.1: New file. Contains old ChangeLog.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
(dist): Leave release in current directory.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
;;; mh-acros.el --- macros used in MH-E
-;; Copyright (C) 2004, 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004, 2006-2015 Free Software Foundation, Inc.
;; Author: Satyaki Das <satyaki@theforce.stanford.edu>
;; Maintainer: Bill Wohler <wohler@newt.com>
;;; mh-alias.el --- MH-E mail alias completion and expansion
-;; Copyright (C) 1994-1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1997, 2001-2015 Free Software Foundation, Inc.
;; Author: Peter S. Galbraith <psg@debian.org>
;; Maintainer: Bill Wohler <wohler@newt.com>
;;; mh-buffers.el --- MH-E buffer constants and utilities
-;; Copyright (C) 1993, 1995, 1997, 2000-2014 Free Software Foundation,
+;; Copyright (C) 1993, 1995, 1997, 2000-2015 Free Software Foundation,
;; Inc.
;; Author: Bill Wohler <wohler@newt.com>
;;; mh-comp.el --- MH-E functions for composing and sending messages
-;; Copyright (C) 1993, 1995, 1997, 2000-2014 Free Software Foundation,
+;; Copyright (C) 1993, 1995, 1997, 2000-2015 Free Software Foundation,
;; Inc.
;; Author: Bill Wohler <wohler@newt.com>
;;; mh-compat.el --- make MH-E compatible with various versions of Emacs
-;; Copyright (C) 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
;; Author: Bill Wohler <wohler@newt.com>
;; Maintainer: Bill Wohler <wohler@newt.com>
;;; mh-e.el --- GNU Emacs interface to the MH mail system
-;; Copyright (C) 1985-1988, 1990, 1992-1995, 1997, 1999-2014
-;; Free Software Foundation, Inc.
+;; Copyright (C) 1985-1988, 1990, 1992-1995, 1997, 1999-2015 Free
+;; Software Foundation, Inc.
;; Author: Bill Wohler <wohler@newt.com>
;; Maintainer: Bill Wohler <wohler@newt.com>
;;; mh-folder.el --- MH-Folder mode
-;; Copyright (C) 2002-2003, 2005-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2003, 2005-2015 Free Software Foundation, Inc.
;; Author: Bill Wohler <wohler@newt.com>
;; Maintainer: Bill Wohler <wohler@newt.com>
;;; mh-funcs.el --- MH-E functions not everyone will use right away
-;; Copyright (C) 1993, 1995, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1995, 2001-2015 Free Software Foundation, Inc.
;; Author: Bill Wohler <wohler@newt.com>
;; Maintainer: Bill Wohler <wohler@newt.com>
;;; mh-gnus.el --- make MH-E compatible with various versions of Gnus
-;; Copyright (C) 2003-2004, 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2004, 2006-2015 Free Software Foundation, Inc.
;; Author: Satyaki Das <satyaki@theforce.stanford.edu>
;; Maintainer: Bill Wohler <wohler@newt.com>
;;; mh-identity.el --- multiple identify support for MH-E
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;; Author: Peter S. Galbraith <psg@debian.org>
;; Maintainer: Bill Wohler <wohler@newt.com>
;;; mh-inc.el --- MH-E "inc" and separate mail spool handling
-;; Copyright (C) 2003-2004, 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2004, 2006-2015 Free Software Foundation, Inc.
;; Author: Peter S. Galbraith <psg@debian.org>
;; Maintainer: Bill Wohler <wohler@newt.com>
;;; mh-junk.el --- MH-E interface to anti-spam measures
-;; Copyright (C) 2003-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
;; Author: Satyaki Das <satyaki@theforce.stanford.edu>,
;; Bill Wohler <wohler@newt.com>
;;; mh-letter.el --- MH-Letter mode
-;; Copyright (C) 1993, 1995, 1997, 2000-2014 Free Software Foundation,
+;; Copyright (C) 1993, 1995, 1997, 2000-2015 Free Software Foundation,
;; Inc.
;; Author: Bill Wohler <wohler@newt.com>
;;; mh-limit.el --- MH-E display limits
-;; Copyright (C) 2001-2003, 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2003, 2006-2015 Free Software Foundation, Inc.
;; Author: Peter S. Galbraith <psg@debian.org>
;; Maintainer: Bill Wohler <wohler@newt.com>
;;; mh-mime.el --- MH-E MIME support
-;; Copyright (C) 1993, 1995, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1995, 2001-2015 Free Software Foundation, Inc.
;; Author: Bill Wohler <wohler@newt.com>
;; Maintainer: Bill Wohler <wohler@newt.com>
;;; mh-print.el --- MH-E printing support
-;; Copyright (C) 2003-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
;; Author: Jeffrey C Honig <jch@honig.net>
;; Maintainer: Bill Wohler <wohler@newt.com>
;;; mh-scan.el --- MH-E scan line constants and utilities
-;; Copyright (C) 1993, 1995, 1997, 2000-2014 Free Software Foundation,
+;; Copyright (C) 1993, 1995, 1997, 2000-2015 Free Software Foundation,
;; Inc.
;; Author: Bill Wohler <wohler@newt.com>
;;; mh-search --- MH-Search mode
-;; Copyright (C) 1993, 1995, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1995, 2001-2015 Free Software Foundation, Inc.
;; Author: Indexed search by Satyaki Das <satyaki@theforce.stanford.edu>
;; Maintainer: Bill Wohler <wohler@newt.com>
;;; mh-seq.el --- MH-E sequences support
-;; Copyright (C) 1993, 1995, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1995, 2001-2015 Free Software Foundation, Inc.
;; Author: Bill Wohler <wohler@newt.com>
;; Maintainer: Bill Wohler <wohler@newt.com>
;;; mh-show.el --- MH-Show mode
-;; Copyright (C) 1993, 1995, 1997, 2000-2014 Free Software Foundation,
+;; Copyright (C) 1993, 1995, 1997, 2000-2015 Free Software Foundation,
;; Inc.
;; Author: Bill Wohler <wohler@newt.com>
;;; mh-speed.el --- MH-E speedbar support
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;; Author: Satyaki Das <satyaki@theforce.stanford.edu>
;; Maintainer: Bill Wohler <wohler@newt.com>
;;; mh-thread.el --- MH-E threading support
-;; Copyright (C) 2002-2004, 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2004, 2006-2015 Free Software Foundation, Inc.
;; Author: Satyaki Das <satyaki@theforce.stanford.edu>
;; Maintainer: Bill Wohler <wohler@newt.com>
;;; mh-tool-bar.el --- MH-E tool bar support
-;; Copyright (C) 2002-2003, 2005-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2003, 2005-2015 Free Software Foundation, Inc.
;; Author: Satyaki Das <satyaki@theforce.stanford.edu>
;; Maintainer: Bill Wohler <wohler@newt.com>
;;; mh-utils.el --- MH-E general utilities
-;; Copyright (C) 1993, 1995, 1997, 2000-2014 Free Software Foundation,
+;; Copyright (C) 1993, 1995, 1997, 2000-2015 Free Software Foundation,
;; Inc.
;; Author: Bill Wohler <wohler@newt.com>
;;; mh-xface.el --- MH-E X-Face and Face header field display
-;; Copyright (C) 2002-2003, 2005-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2003, 2005-2015 Free Software Foundation, Inc.
;; Author: Bill Wohler <wohler@newt.com>
;; Maintainer: Bill Wohler <wohler@newt.com>
;;; midnight.el --- run something every midnight, e.g., kill old buffers
-;; Copyright (C) 1998, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2001-2015 Free Software Foundation, Inc.
;; Author: Sam Steingold <sds@gnu.org>
;; Maintainer: Sam Steingold <sds@gnu.org>
;;; minibuf-eldef.el --- Only show defaults in prompts when applicable -*- lexical-binding: t -*-
;;
-;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
;;
;; Author: Miles Bader <miles@gnu.org>
;; Keywords: convenience
;;; minibuffer.el --- Minibuffer completion functions -*- lexical-binding: t -*-
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
;; Package: emacs
:type completion--styles-type
:version "23.1")
-(defcustom completion-category-overrides
- '((buffer (styles . (basic substring))))
- "List of `completion-styles' overrides for specific categories.
+(defvar completion-category-defaults
+ '((buffer (styles . (basic substring)))
+ (unicode-name (styles . (basic substring))))
+ "Default settings for specific completion categories.
+Each entry has the shape (CATEGORY . ALIST) where ALIST is
+an association list that can specify properties such as:
+- `styles': the list of `completion-styles' to use for that category.
+- `cycle': the `completion-cycle-threshold' to use for that category.
+Categories are symbols such as `buffer' and `file', used when
+completing buffer and file names, respectively.")
+
+(defcustom completion-category-overrides nil
+ "List of category-specific user overrides for completion styles.
Each override has the shape (CATEGORY . ALIST) where ALIST is
an association list that can specify properties such as:
- `styles': the list of `completion-styles' to use for that category.
- `cycle': the `completion-cycle-threshold' to use for that category.
Categories are symbols such as `buffer' and `file', used when
-completing buffer and file names, respectively."
- :version "24.1"
+completing buffer and file names, respectively.
+This overrides the defaults specified in `completion-category-defaults'."
+ :version "25.1"
:type `(alist :key-type (choice :tag "Category"
(const buffer)
(const file)
(const :tag "Select one value from the menu." cycle)
,completion--cycling-threshold-type))))
+(defun completion--category-override (category tag)
+ (or (assq tag (cdr (assq category completion-category-overrides)))
+ (assq tag (cdr (assq category completion-category-defaults)))))
+
(defun completion--styles (metadata)
(let* ((cat (completion-metadata-get metadata 'category))
- (over (assq 'styles (cdr (assq cat completion-category-overrides)))))
+ (over (completion--category-override cat 'styles)))
(if over
(delete-dups (append (cdr over) (copy-sequence completion-styles)))
completion-styles)))
(defun completion--cycle-threshold (metadata)
(let* ((cat (completion-metadata-get metadata 'category))
- (over (assq 'cycle (cdr (assq cat completion-category-overrides)))))
+ (over (completion--category-override cat 'cycle)))
(if over (cdr over) completion-cycle-threshold)))
(defvar-local completion-all-sorted-completions nil)
,(if (eq (selected-window) (minibuffer-window))
'display-buffer-at-bottom
'display-buffer-below-selected))
- ,(when temp-buffer-resize-mode
- '(window-height . resize-temp-buffer-window))
+ ,(if temp-buffer-resize-mode
+ '(window-height . resize-temp-buffer-window)
+ '(window-height . shrink-window-if-larger-than-buffer))
,(when temp-buffer-resize-mode
'(preserve-size . (nil . t))))
nil
;;; misc.el --- some nonstandard editing and utility commands for Emacs
-;; Copyright (C) 1989, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1989, 2001-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: convenience
;;; misearch.el --- isearch extensions for multi-buffer search
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Juri Linkov <juri@jurta.org>
;; Keywords: matching
;;; mouse-copy.el --- one-click text copy and move
-;; Copyright (C) 1996, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996, 2001-2015 Free Software Foundation, Inc.
;; Author: John Heidemann <johnh@ISI.EDU>
;; Keywords: mouse
;;; mouse-drag.el --- use mouse-2 to do a new style of scrolling
-;; Copyright (C) 1996-1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1997, 2001-2015 Free Software Foundation, Inc.
;; Author: John Heidemann <johnh@ISI.EDU>
;; Keywords: mouse
;;; mouse.el --- window system-independent mouse support -*- lexical-binding: t -*-
-;; Copyright (C) 1993-1995, 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1995, 1999-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: hardware, mouse
;;; mpc.el --- A client for the Music Player Daemon -*- lexical-binding: t -*-
-;; Copyright (C) 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
;; Keywords: multimedia
;;; msb.el --- customizable buffer-selection with multiple menus
-;; Copyright (C) 1993-1995, 1997-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1995, 1997-2015 Free Software Foundation, Inc.
;; Author: Lars Lindberg <lars.lindberg@home.se>
;; Maintainer: emacs-devel@gnu.org
;;; mwheel.el --- Wheel mouse support
-;; Copyright (C) 1998, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2000-2015 Free Software Foundation, Inc.
;; Maintainer: William M. Perry <wmperry@gnu.org>
;; Keywords: mouse
;; Package: emacs
;;; ange-ftp.el --- transparent FTP support for GNU Emacs
-;; Copyright (C) 1989-1996, 1998, 2000-2014 Free Software Foundation,
+;; Copyright (C) 1989-1996, 1998, 2000-2015 Free Software Foundation,
;; Inc.
;; Author: Andy Norman (ange@hplb.hpl.hp.com)
;;; browse-url.el --- pass a URL to a WWW browser
-;; Copyright (C) 1995-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2015 Free Software Foundation, Inc.
;; Author: Denis Howe <dbh@doc.ic.ac.uk>
;; Maintainer: emacs-devel@gnu.org
;;; dbus.el --- Elisp bindings for D-Bus.
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Michael Albinus <michael.albinus@gmx.de>
;; Keywords: comm, hardware
;;; dig.el --- Domain Name System dig interface
-;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
;; Author: Simon Josefsson <simon@josefsson.org>
;; Keywords: DNS BIND dig comm
;;; dns.el --- Domain Name Service lookups
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: network comm
;;; eudc-bob.el --- Binary Objects Support for EUDC -*- coding: utf-8 -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: Oscar Figueiredo <oscar@cpe.fr>
;; Maintainer: Pavel Janík <Pavel@Janik.cz>
;;; eudc-export.el --- functions to export EUDC query results -*- coding: utf-8 -*-
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Oscar Figueiredo <oscar@cpe.fr>
;; Maintainer: Pavel Janík <Pavel@Janik.cz>
;;; eudc-hotlist.el --- hotlist management for EUDC -*- coding: utf-8 -*-
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Oscar Figueiredo <oscar@cpe.fr>
;; Maintainer: Pavel Janík <Pavel@Janik.cz>
;;; eudc-vars.el --- Emacs Unified Directory Client -*- coding: utf-8 -*-
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Oscar Figueiredo <oscar@cpe.fr>
;; Maintainer: Pavel Janík <Pavel@Janik.cz>
;;; eudc.el --- Emacs Unified Directory Client -*- coding: utf-8 -*-
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Oscar Figueiredo <oscar@cpe.fr>
;; Maintainer: Pavel Janík <Pavel@Janik.cz>
;;; eudcb-bbdb.el --- Emacs Unified Directory Client - BBDB Backend -*- coding: utf-8 -*-
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Oscar Figueiredo <oscar@cpe.fr>
;; Maintainer: Pavel Janík <Pavel@Janik.cz>
;;; eudcb-ldap.el --- Emacs Unified Directory Client - LDAP Backend -*- coding: utf-8 -*-
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Oscar Figueiredo <oscar@cpe.fr>
;; Maintainer: Pavel Janík <Pavel@Janik.cz>
;;; eudcb-mab.el --- Emacs Unified Directory Client - AddressBook backend
-;; Copyright (C) 2003-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@newartisans.com>
;; Maintainer: emacs-devel@gnu.org
;;; eudcb-ph.el --- Emacs Unified Directory Client - CCSO PH/QI Backend -*- coding: utf-8 -*-
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Oscar Figueiredo <oscar@cpe.fr>
;; Maintainer: Pavel Janík <Pavel@Janik.cz>
;;; eww.el --- Emacs Web Wowser
-;; Copyright (C) 2013-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: html
("start" . :start)
("home" . :home)
("contents" . :contents)
- ("up" . up)))))
+ ("up" . :up)))))
(and href
where
(plist-put eww-data (cdr where) href))))
(setq-local tool-bar-map eww-tool-bar-map))
;; desktop support
(setq-local desktop-save-buffer 'eww-desktop-misc-data)
+ ;; multi-page isearch support
+ (setq-local multi-isearch-next-buffer-function 'eww-isearch-next-buffer)
+ (setq truncate-lines t)
(buffer-disable-undo)
(setq buffer-read-only t))
(add-to-list 'desktop-buffer-mode-handlers
'(eww-mode . eww-restore-desktop))
+;;; Isearch support
+
+(defun eww-isearch-next-buffer (&optional buffer wrap)
+ "Go to the next page to search using `rel' attribute for navigation."
+ (if wrap
+ (condition-case nil
+ (eww-top-url)
+ (error nil))
+ (if isearch-forward
+ (eww-next-url)
+ (eww-previous-url)))
+ (current-buffer))
+
(provide 'eww)
;;; eww.el ends here
;;; gnutls.el --- Support SSL/TLS connections through GnuTLS
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Author: Ted Zlatanov <tzz@lifelogs.com>
;; Keywords: comm, tls, ssl, encryption
;;; goto-addr.el --- click to browse URL or to send to e-mail address
-;; Copyright (C) 1995, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995, 2000-2015 Free Software Foundation, Inc.
;; Author: Eric Ding <ericding@alum.mit.edu>
;; Maintainer: emacs-devel@gnu.org
;;; hmac-def.el --- A macro for defining HMAC functions.
-;; Copyright (C) 1999, 2001, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2001, 2007-2015 Free Software Foundation, Inc.
;; Author: Shuhei KOBAYASHI <shuhei@aqua.ocn.ne.jp>
;; Keywords: HMAC, RFC2104
;;; hmac-md5.el --- Compute HMAC-MD5.
-;; Copyright (C) 1999, 2001, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2001, 2007-2015 Free Software Foundation, Inc.
;; Author: Shuhei KOBAYASHI <shuhei@aqua.ocn.ne.jp>
;; Keywords: HMAC, RFC2104, HMAC-MD5, MD5, KEYED-MD5, CRAM-MD5
;;; imap.el --- imap library
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Simon Josefsson <simon@josefsson.org>
;; Keywords: mail
;;; ldap.el --- client interface to LDAP for Emacs
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Oscar Figueiredo <oscar@cpe.fr>
;; Maintainer: emacs-devel@gnu.org
;;; mairix.el --- Mairix interface for Emacs
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: David Engster <dengste@eml.cc>
;; Keywords: mail searching
;;; net-utils.el --- network functions
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Peter Breton <pbreton@cs.umb.edu>
;; Created: Sun Mar 16 1997
;;; netrc.el --- .netrc parsing functionality
-;; Copyright (C) 1996-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
;;; network-stream.el --- open network processes, possibly with encryption
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: network
;;; newst-backend.el --- Retrieval backend for newsticker.
-;; Copyright (C) 2003-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
;; Author: Ulf Jasper <ulf.jasper@web.de>
;; Filename: newst-backend.el
;;; newst-plainview.el --- Single buffer frontend for newsticker.
-;; Copyright (C) 2003-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
;; Author: Ulf Jasper <ulf.jasper@web.de>
;; Filename: newst-plainview.el
;;; newst-reader.el --- Generic RSS reader functions.
-;; Copyright (C) 2003-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
;; Author: Ulf Jasper <ulf.jasper@web.de>
;; Filename: newst-reader.el
;; newst-ticker.el --- mode line ticker for newsticker.
-;; Copyright (C) 2003-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
;; Author: Ulf Jasper <ulf.jasper@web.de>
;; Filename: newst-ticker.el
;;; newst-treeview.el --- Treeview frontend for newsticker.
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Ulf Jasper <ulf.jasper@web.de>
;; Filename: newst-treeview.el
;;; newsticker.el --- A Newsticker for Emacs.
-;; Copyright (C) 2003-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
;; Author: Ulf Jasper <ulf.jasper@web.de>
;; Filename: newsticker.el
;;; nsm.el --- Network Security Manager
-;; Copyright (C) 2014 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: encryption, security, network
;;; ntlm.el --- NTLM (NT LanManager) authentication support
-;; Copyright (C) 2001, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2007-2015 Free Software Foundation, Inc.
;; Author: Taro Kawagishi <tarok@transpulse.org>
;; Keywords: NTLM, SASL
;;; quickurl.el --- insert a URL based on text at point in buffer
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: Dave Pearson <davep@davep.org>
;; Maintainer: Dave Pearson <davep@davep.org>
;;; rcirc.el --- default, simple IRC client -*- lexical-binding: t; -*-
-;; Copyright (C) 2005-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
;; Author: Ryan Yeske <rcyeske@gmail.com>
;; Maintainers: Ryan Yeske <rcyeske@gmail.com>,
;;; rlogin.el --- remote login interface
-;; Copyright (C) 1992-1995, 1997-1998, 2001-2014 Free Software
+;; Copyright (C) 1992-1995, 1997-1998, 2001-2015 Free Software
;; Foundation, Inc.
;; Author: Noah Friedman
;;; sasl-cram.el --- CRAM-MD5 module for the SASL client framework
-;; Copyright (C) 2000, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000, 2007-2015 Free Software Foundation, Inc.
;; Author: Daiki Ueno <ueno@unixuser.org>
;; Kenichi OKADA <okada@opaopa.org>
;;; sasl-digest.el --- DIGEST-MD5 module for the SASL client framework
-;; Copyright (C) 2000, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000, 2007-2015 Free Software Foundation, Inc.
;; Author: Daiki Ueno <ueno@unixuser.org>
;; Kenichi OKADA <okada@opaopa.org>
;;; sasl-ntlm.el --- NTLM (NT Lan Manager) module for the SASL client framework
-;; Copyright (C) 2000, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000, 2007-2015 Free Software Foundation, Inc.
;; Author: Taro Kawagishi <tarok@transpulse.org>
;; Keywords: SASL, NTLM
;;; sasl.el --- SASL client framework
-;; Copyright (C) 2000, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000, 2007-2015 Free Software Foundation, Inc.
;; Author: Daiki Ueno <ueno@unixuser.org>
;; Keywords: SASL
;;; secrets.el --- Client interface to gnome-keyring and kwallet.
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Author: Michael Albinus <michael.albinus@gmx.de>
;; Keywords: comm password passphrase
;;; shr-color.el --- Simple HTML Renderer color management
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Author: Julien Danjou <julien@danjou.info>
;; Keywords: html
;;; shr.el --- Simple HTML Renderer
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: html
:group 'shr
:type 'character)
-(defcustom shr-width fill-column
+(defcustom shr-width nil
"Frame width to use for rendering.
May either be an integer specifying a fixed width in characters,
or nil, meaning that the full width of the window should be
used."
+ :version "25.1"
:type '(choice (integer :tag "Fixed width in characters")
(const :tag "Use the width of the window" nil))
:group 'shr)
(defun shr-tag-table (dom)
(shr-ensure-paragraph)
- (let* ((caption (dom-child-by-tag dom 'caption))
- (header (dom-child-by-tag dom 'thead))
- (body (or (dom-child-by-tag dom 'tbody) dom))
- (footer (dom-child-by-tag dom 'tfoot))
+ (let* ((caption (dom-children (dom-child-by-tag dom 'caption)))
+ (header (dom-non-text-children (dom-child-by-tag dom 'thead)))
+ (body (dom-non-text-children (or (dom-child-by-tag dom 'tbody)
+ dom)))
+ (footer (dom-non-text-children (dom-child-by-tag dom 'tfoot)))
(bgcolor (dom-attr dom 'bgcolor))
(start (point))
(shr-stylesheet (nconc (list (cons 'background-color bgcolor))
;; It's a real table, so render it.
(shr-tag-table-1
(nconc
- (if caption `((tr (td ,@caption))))
- (if header
- (if footer
- ;; header + body + footer
- (if (= nheader nbody)
- (if (= nbody nfooter)
- `((tr (td (table (tbody ,@header ,@body ,@footer)))))
- (nconc `((tr (td (table (tbody ,@header ,@body)))))
- (if (= nfooter 1)
- footer
- `((tr (td (table (tbody ,@footer))))))))
- (nconc `((tr (td (table (tbody ,@header)))))
- (if (= nbody nfooter)
- `((tr (td (table (tbody ,@body ,@footer)))))
- (nconc `((tr (td (table (tbody ,@body)))))
- (if (= nfooter 1)
- footer
- `((tr (td (table (tbody ,@footer))))))))))
- ;; header + body
- (if (= nheader nbody)
- `((tr (td (table (tbody ,@header ,@body)))))
- (if (= nheader 1)
- `(,@header (tr (td (table (tbody ,@body)))))
- `((tr (td (table (tbody ,@header))))
- (tr (td (table (tbody ,@body))))))))
- (if footer
- ;; body + footer
- (if (= nbody nfooter)
- `((tr (td (table (tbody ,@body ,@footer)))))
- (nconc `((tr (td (table (tbody ,@body)))))
- (if (= nfooter 1)
- footer
- `((tr (td (table (tbody ,@footer))))))))
- (if caption
- `((tr (td (table (tbody ,@body)))))
- body))))))
+ (list 'table nil)
+ (if caption `((tr nil (td nil ,@caption))))
+ (cond (header
+ (if footer
+ ;; header + body + footer
+ (if (= nheader nbody)
+ (if (= nbody nfooter)
+ `((tr nil (td nil (table nil
+ (tbody nil ,@header
+ ,@body ,@footer)))))
+ (nconc `((tr nil (td nil (table nil
+ (tbody nil ,@header
+ ,@body)))))
+ (if (= nfooter 1)
+ footer
+ `((tr nil (td nil (table
+ nil (tbody
+ nil ,@footer))))))))
+ (nconc `((tr nil (td nil (table nil (tbody
+ nil ,@header)))))
+ (if (= nbody nfooter)
+ `((tr nil (td nil (table
+ nil (tbody nil ,@body
+ ,@footer)))))
+ (nconc `((tr nil (td nil (table
+ nil (tbody nil
+ ,@body)))))
+ (if (= nfooter 1)
+ footer
+ `((tr nil (td nil (table
+ nil
+ (tbody
+ nil
+ ,@footer))))))))))
+ ;; header + body
+ (if (= nheader nbody)
+ `((tr nil (td nil (table nil (tbody nil ,@header
+ ,@body)))))
+ (if (= nheader 1)
+ `(,@header (tr nil (td nil (table
+ nil (tbody nil ,@body)))))
+ `((tr nil (td nil (table nil (tbody nil ,@header))))
+ (tr nil (td nil (table nil (tbody nil ,@body)))))))))
+ (footer
+ ;; body + footer
+ (if (= nbody nfooter)
+ `((tr nil (td nil (table
+ nil (tbody nil ,@body ,@footer)))))
+ (nconc `((tr nil (td nil (table nil (tbody nil ,@body)))))
+ (if (= nfooter 1)
+ footer
+ `((tr nil (td nil (table
+ nil (tbody nil ,@footer)))))))))
+ (caption
+ `((tr nil (td nil (table nil (tbody nil ,@body))))))
+ (body)))))
(when bgcolor
(shr-colorize-region start (point) (cdr (assq 'color shr-stylesheet))
bgcolor))
;;; snmp-mode.el --- SNMP & SNMPv2 MIB major mode
-;; Copyright (C) 1995, 1998, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1998, 2001-2015 Free Software Foundation, Inc.
;; Author: Paul D. Smith <psmith@BayNetworks.com>
;; Keywords: data
;;;; soap-client.el -- Access SOAP web services from Emacs
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Alexandru Harsanyi <AlexHarsanyi@gmail.com>
;; Created: December, 2009
;;;; soap-inspect.el -- Interactive inspector for soap WSDL structures
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Author: Alexandru Harsanyi <AlexHarsanyi@gmail.com>
;; Created: October 2010
;;; socks.el --- A Socks v5 Client for Emacs
-;; Copyright (C) 1996-2000, 2002, 2007-2014 Free Software Foundation,
+;; Copyright (C) 1996-2000, 2002, 2007-2015 Free Software Foundation,
;; Inc.
;; Author: William M. Perry <wmperry@gnu.org>
;;; telnet.el --- run a telnet session from within an Emacs buffer
-;; Copyright (C) 1985, 1988, 1992, 1994, 2001-2014 Free Software
+;; Copyright (C) 1985, 1988, 1992, 1994, 2001-2015 Free Software
;; Foundation, Inc.
;; Author: William F. Schelter
;;; tls.el --- TLS/SSL support via wrapper around GnuTLS
-;; Copyright (C) 1996-1999, 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2002-2015 Free Software Foundation, Inc.
;; Author: Simon Josefsson <simon@josefsson.org>
;; Keywords: comm, tls, gnutls, ssl
;;; tramp-adb.el --- Functions for calling Android Debug Bridge from Tramp
-;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
;; Author: Jürgen Hötzel <juergen@archlinux.org>
;; Keywords: comm, processes
;;; tramp-cache.el --- file information caching for Tramp
-;; Copyright (C) 2000, 2005-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000, 2005-2015 Free Software Foundation, Inc.
;; Author: Daniel Pittman <daniel@inanna.danann.net>
;; Michael Albinus <michael.albinus@gmx.de>
;;; tramp-cmds.el --- Interactive commands for Tramp
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Michael Albinus <michael.albinus@gmx.de>
;; Keywords: comm, processes
;;; tramp-compat.el --- Tramp compatibility functions
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Michael Albinus <michael.albinus@gmx.de>
;; Keywords: comm, processes
(eval-and-compile
+ ;; GNU Emacs 22.
+ (unless (fboundp 'ignore-errors)
+ (load "cl" 'noerror)
+ (load "cl-macs" 'noerror))
+
;; Some packages must be required for XEmacs, because we compile
;; with -no-autoloads.
(when (featurep 'xemacs)
(setq matches (cons (substring string start l) matches)) ; leftover
(apply #'concat (nreverse matches))))))
+;; `default-toplevel-value' has been declared in Emacs 24.
+(unless (fboundp 'default-toplevel-value)
+ (defalias 'default-toplevel-value 'symbol-value))
+
(add-hook 'tramp-unload-hook
(lambda ()
(unload-feature 'tramp-loaddefs 'force)
;;; tramp-ftp.el --- Tramp convenience functions for Ange-FTP
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;; Author: Michael Albinus <michael.albinus@gmx.de>
;; Keywords: comm, processes
;;; tramp-gvfs.el --- Tramp access functions for GVFS daemon
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Michael Albinus <michael.albinus@gmx.de>
;; Keywords: comm, processes
;;; tramp-gw.el --- Tramp utility functions for HTTP tunnels and SOCKS gateways
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Michael Albinus <michael.albinus@gmx.de>
;; Keywords: comm, processes
(setq tramp-gw-gw-proc
(funcall
socks-function
- (tramp-get-connection-name gw-vec)
- (tramp-get-connection-buffer gw-vec)
+ (let ((tramp-verbose 0)) (tramp-get-connection-name gw-vec))
+ (let ((tramp-verbose 0)) (tramp-get-connection-buffer gw-vec))
(tramp-file-name-real-host target-vec)
(tramp-file-name-port target-vec)))
(set-process-sentinel tramp-gw-gw-proc 'tramp-gw-gw-proc-sentinel)
+ (set-process-coding-system tramp-gw-gw-proc 'binary 'binary)
(tramp-compat-set-process-query-on-exit-flag tramp-gw-gw-proc nil)
(tramp-message
vec 4 "Opened %s process `%s'"
(200 (setq found t))
;; We need basic authentication.
(401 (setq authentication (tramp-gw-basic-authentication nil first)))
+ ;; Access forbidden.
+ (403 (tramp-error-with-buffer
+ (current-buffer) tramp-gw-vector 'file-error
+ "Connection to %s:%d forbidden." host service))
;; Target host not found.
(404 (tramp-error-with-buffer
(current-buffer) tramp-gw-vector 'file-error
;;; tramp-sh.el --- Tramp access functions for (s)sh-like connections
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; (copyright statements below in code to be updated with the above notice)
(defconst tramp-perl-encode
"%s -e '
# This script contributed by Juanma Barranquero <lektu@terra.es>.
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2015 Free Software Foundation, Inc.
use strict;
my %%trans = do {
(defconst tramp-perl-decode
"%s -e '
# This script contributed by Juanma Barranquero <lektu@terra.es>.
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2015 Free Software Foundation, Inc.
use strict;
my %%trans = do {
(mapconcat 'identity (process-command p) " "))
(tramp-set-connection-property p "vector" orig-vec)
(tramp-compat-set-process-query-on-exit-flag p nil)
- (tramp-process-actions
- p v nil tramp-actions-copy-out-of-band)
+
+ ;; We must adapt `tramp-local-end-of-line' for
+ ;; sending the password.
+ (let ((tramp-local-end-of-line tramp-rsh-end-of-line))
+ (tramp-process-actions
+ p v nil tramp-actions-copy-out-of-band))
;; Check the return code.
(goto-char (point-max))
(name1 name)
(i 0)
;; We do not want to raise an error when
- ;; `start-file-process' has been started several time in
+ ;; `start-file-process' has been started several times in
;; `eshell' and friends.
(tramp-current-connection nil))
;; Therefore, we must remember the gateway vector. But we
;; cannot do it as connection property, because it shouldn't
;; be persistent. And we have no started process yet either.
- (tramp-set-file-property (car target-alist) "" "gateway" hop)))
+ (let ((tramp-verbose 0))
+ (tramp-set-file-property (car target-alist) "" "gateway" hop))))
;; Foreign and out-of-band methods are not supported for multi-hops.
(when (cdr target-alist)
l-method 'tramp-connection-timeout))
(gw-args
(tramp-get-method-parameter l-method 'tramp-gw-args))
- (gw (tramp-get-file-property hop "" "gateway" nil))
+ (gw (let ((tramp-verbose 0))
+ (tramp-get-file-property hop "" "gateway" nil)))
(g-method (and gw (tramp-file-name-method gw)))
(g-user (and gw (tramp-file-name-user gw)))
(g-host (and gw (tramp-file-name-real-host gw)))
(setq login-args (append async-args login-args)))
;; Add gateway arguments if necessary.
- (when (and gw gw-args)
- (setq login-args (append gw-args login-args)))
+ (when gw
+ (tramp-set-connection-property p "gateway" t)
+ (when gw-args
+ (setq login-args (append gw-args login-args))))
;; Check for port number. Until now, there's no
;; need for handling like method, user, host.
(or (tramp-send-command-and-check vec command)
(apply 'tramp-error vec 'file-error fmt args)))
-(defun tramp-send-command-and-read (vec command &optional noerror)
+(defun tramp-send-command-and-read (vec command &optional noerror marker)
"Run COMMAND and return the output, which must be a Lisp expression.
+If MARKER is a regexp, read the output after that string.
In case there is no valid Lisp expression and NOERROR is nil, it
raises an error."
(when (if noerror
(tramp-barf-unless-okay
vec command "`%s' returns with error" command))
(with-current-buffer (tramp-get-connection-buffer vec)
- ;; Read the expression.
(goto-char (point-min))
+ ;; Read the marker.
+ (when (stringp marker)
+ (condition-case nil
+ (re-search-forward marker)
+ (error (unless noerror
+ (tramp-error
+ vec 'file-error
+ "`%s' does not return the marker `%s': `%s'"
+ command marker (buffer-string))))))
+ ;; Read the expression.
(condition-case nil
(prog1 (read (current-buffer))
;; Error handling.
"/bin:/usr/bin")
"/bin:/usr/bin"))))
(own-remote-path
- ;; We cannot apply `tramp-send-command-and-read' because
- ;; the login shell could return more than just the $PATH
- ;; string. So we emulate that function.
+ ;; The login shell could return more than just the $PATH
+ ;; string. So we use `tramp-end-of-heredoc' as marker.
(when elt2
- (tramp-send-command
+ (tramp-send-command-and-read
vec
(format
- "%s -l %s 'echo \\\"$PATH\\\"'"
+ "%s -l %s 'echo %s \\\"$PATH\\\"'"
(tramp-get-method-parameter
(tramp-file-name-method vec) 'tramp-remote-shell)
(mapconcat
'identity
(tramp-get-method-parameter
(tramp-file-name-method vec) 'tramp-remote-shell-args)
- " ")))
- (with-current-buffer (tramp-get-connection-buffer vec)
- (goto-char (point-max))
- (forward-line -1)
- (read (current-buffer))))))
+ " ")
+ (tramp-shell-quote-argument tramp-end-of-heredoc))
+ nil (regexp-quote tramp-end-of-heredoc)))))
;; Replace place holder `tramp-default-remote-path'.
(when elt1
;;; tramp-smb.el --- Tramp access functions for SMB servers
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;; Author: Michael Albinus <michael.albinus@gmx.de>
;; Keywords: comm, processes
;; Reset the transfer process properties.
(tramp-set-connection-property v "process-name" nil)
(tramp-set-connection-property v "process-buffer" nil)
- (when t1 (delete-directory tmpdir 'recurse))))
+ (when t1 (tramp-compat-delete-directory tmpdir 'recurse))))
;; Handle KEEP-DATE argument.
(when keep-date
;;; tramp-uu.el --- uuencode in Lisp
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;; Author: Kai Großjohann <kai.grossjohann@gmx.net>
;; Keywords: comm, terminals
;;; tramp.el --- Transparent Remote Access, Multiple Protocol
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Kai Großjohann <kai.grossjohann@gmx.net>
;; Michael Albinus <michael.albinus@gmx.de>
(let ((enable-recursive-minibuffers t))
;; `tramp-error' does not show messages. So we must do it
;; ourselves.
- (message fmt-string arguments)
+ (apply 'message fmt-string arguments)
;; Show buffer.
(pop-to-buffer buf)
(discard-input)
(setq filename (expand-file-name filename))
(let (result local-copy remote-copy)
(with-parsed-tramp-file-name filename nil
- (with-tramp-progress-reporter
- v 3 (format "Inserting `%s'" filename)
- (unwind-protect
- (if (not (file-exists-p filename))
- (progn
- ;; We don't raise a Tramp error, because it might be
- ;; suppressed, like in `find-file-noselect-1'.
- (tramp-message
- v 1 "File not `%s' found on remote host" filename)
- (signal 'file-error
- (list "File not found on remote host" filename)))
-
- (if (and (tramp-local-host-p v)
- (let (file-name-handler-alist)
- (file-readable-p localname)))
- ;; Short track: if we are on the local host, we can
- ;; run directly.
- (setq result
- (tramp-run-real-handler
- 'insert-file-contents
- (list localname visit beg end replace)))
-
- ;; When we shall insert only a part of the file, we
- ;; copy this part. This works only for the shell file
- ;; name handlers.
- (when (and (or beg end)
- (tramp-get-method-parameter
- (tramp-file-name-method v) 'tramp-login-program))
- (setq remote-copy (tramp-make-tramp-temp-file v))
- ;; This is defined in tramp-sh.el. Let's assume
- ;; this is loaded already.
- (tramp-compat-funcall
- 'tramp-send-command
- v
- (cond
- ((and beg end)
- (format "dd bs=1 skip=%d if=%s count=%d of=%s"
- beg (tramp-shell-quote-argument localname)
- (- end beg) remote-copy))
- (beg
- (format "dd bs=1 skip=%d if=%s of=%s"
- beg (tramp-shell-quote-argument localname)
- remote-copy))
- (end
- (format "dd bs=1 count=%d if=%s of=%s"
- end (tramp-shell-quote-argument localname)
- remote-copy))))
- (setq tramp-temp-buffer-file-name nil beg nil end nil))
-
- ;; `insert-file-contents-literally' takes care to
- ;; avoid calling jka-compr. By let-binding
- ;; `inhibit-file-name-operation', we propagate that
- ;; care to the `file-local-copy' operation.
- (setq local-copy
- (let ((inhibit-file-name-operation
- (when (eq inhibit-file-name-operation
- 'insert-file-contents)
- 'file-local-copy)))
- (cond
- ((stringp remote-copy)
- (file-local-copy
- (tramp-make-tramp-file-name
- method user host remote-copy)))
- ((stringp tramp-temp-buffer-file-name)
- (copy-file filename tramp-temp-buffer-file-name 'ok)
- tramp-temp-buffer-file-name)
- (t (file-local-copy filename)))))
-
- ;; When the file is not readable for the owner, it
- ;; cannot be inserted, even if it is readable for the
- ;; group or for everybody.
- (set-file-modes
- local-copy (tramp-compat-octal-to-decimal "0600"))
-
- (when (and (null remote-copy)
- (tramp-get-method-parameter
- method 'tramp-copy-keep-tmpfile))
- ;; We keep the local file for performance reasons,
- ;; useful for "rsync".
- (setq tramp-temp-buffer-file-name local-copy))
-
- ;; We must ensure that `file-coding-system-alist'
- ;; matches `local-copy'. We must also use `visit',
- ;; otherwise there might be an error in the
- ;; `revert-buffer' function under XEmacs.
- (let ((file-coding-system-alist
- (tramp-find-file-name-coding-system-alist
- filename local-copy)))
- (setq result
- (insert-file-contents
- local-copy visit beg end replace)))))
-
- ;; Save exit.
- (progn
- (when visit
- (setq buffer-file-name filename)
- (setq buffer-read-only (not (file-writable-p filename)))
- (set-visited-file-modtime)
- (set-buffer-modified-p nil))
- (when (and (stringp local-copy)
- (or remote-copy (null tramp-temp-buffer-file-name)))
- (delete-file local-copy))
- (when (stringp remote-copy)
- (delete-file
- (tramp-make-tramp-file-name method user host remote-copy)))))))
-
- ;; Result.
- (list (expand-file-name filename)
- (cadr result))))
+ (unwind-protect
+ (if (not (file-exists-p filename))
+ (tramp-error
+ v 'file-error "File `%s' not found on remote host" filename)
+
+ (with-tramp-progress-reporter
+ v 3 (format "Inserting `%s'" filename)
+ (condition-case err
+ (if (and (tramp-local-host-p v)
+ (let (file-name-handler-alist)
+ (file-readable-p localname)))
+ ;; Short track: if we are on the local host, we can
+ ;; run directly.
+ (setq result
+ (tramp-run-real-handler
+ 'insert-file-contents
+ (list localname visit beg end replace)))
+
+ ;; When we shall insert only a part of the file, we
+ ;; copy this part. This works only for the shell file
+ ;; name handlers.
+ (when (and (or beg end)
+ (tramp-get-method-parameter
+ (tramp-file-name-method v)
+ 'tramp-login-program))
+ (setq remote-copy (tramp-make-tramp-temp-file v))
+ ;; This is defined in tramp-sh.el. Let's assume
+ ;; this is loaded already.
+ (tramp-compat-funcall
+ 'tramp-send-command
+ v
+ (cond
+ ((and beg end)
+ (format "dd bs=1 skip=%d if=%s count=%d of=%s"
+ beg (tramp-shell-quote-argument localname)
+ (- end beg) remote-copy))
+ (beg
+ (format "dd bs=1 skip=%d if=%s of=%s"
+ beg (tramp-shell-quote-argument localname)
+ remote-copy))
+ (end
+ (format "dd bs=1 count=%d if=%s of=%s"
+ end (tramp-shell-quote-argument localname)
+ remote-copy))))
+ (setq tramp-temp-buffer-file-name nil beg nil end nil))
+
+ ;; `insert-file-contents-literally' takes care to
+ ;; avoid calling jka-compr. By let-binding
+ ;; `inhibit-file-name-operation', we propagate that
+ ;; care to the `file-local-copy' operation.
+ (setq local-copy
+ (let ((inhibit-file-name-operation
+ (when (eq inhibit-file-name-operation
+ 'insert-file-contents)
+ 'file-local-copy)))
+ (cond
+ ((stringp remote-copy)
+ (file-local-copy
+ (tramp-make-tramp-file-name
+ method user host remote-copy)))
+ ((stringp tramp-temp-buffer-file-name)
+ (copy-file
+ filename tramp-temp-buffer-file-name 'ok)
+ tramp-temp-buffer-file-name)
+ (t (file-local-copy filename)))))
+
+ ;; When the file is not readable for the owner, it
+ ;; cannot be inserted, even if it is readable for the
+ ;; group or for everybody.
+ (set-file-modes
+ local-copy (tramp-compat-octal-to-decimal "0600"))
+
+ (when (and (null remote-copy)
+ (tramp-get-method-parameter
+ method 'tramp-copy-keep-tmpfile))
+ ;; We keep the local file for performance reasons,
+ ;; useful for "rsync".
+ (setq tramp-temp-buffer-file-name local-copy))
+
+ ;; We must ensure that `file-coding-system-alist'
+ ;; matches `local-copy'. We must also use `visit',
+ ;; otherwise there might be an error in the
+ ;; `revert-buffer' function under XEmacs.
+ (let ((file-coding-system-alist
+ (tramp-find-file-name-coding-system-alist
+ filename local-copy)))
+ (setq result
+ (insert-file-contents
+ local-copy visit beg end replace))))
+ (error
+ (add-hook 'find-file-not-found-functions
+ `(lambda () (signal ',(car err) ',(cdr err)))
+ nil t)
+ (signal (car err) (cdr err))))))
+
+ ;; Save exit.
+ (progn
+ (when visit
+ (setq buffer-file-name filename)
+ (setq buffer-read-only (not (file-writable-p filename)))
+ (set-visited-file-modtime)
+ (set-buffer-modified-p nil))
+ (when (and (stringp local-copy)
+ (or remote-copy (null tramp-temp-buffer-file-name)))
+ (delete-file local-copy))
+ (when (stringp remote-copy)
+ (delete-file
+ (tramp-make-tramp-file-name method user host remote-copy)))))
+
+ ;; Result.
+ (list (expand-file-name filename)
+ (cadr result)))))
(defun tramp-handle-load (file &optional noerror nomessage nosuffix must-suffix)
"Like `load' for Tramp files."
This is needed in order to hide `last-coding-system-used', which is set
for process communication also."
(with-current-buffer (process-buffer proc)
- (tramp-message proc 10 "%s %s" proc (process-status proc))
- (let (buffer-read-only last-coding-system-used)
+ ;; FIXME: If there is a gateway process, we need communication
+ ;; between several processes. Too complicate to implement, so we
+ ;; read output from all processes.
+ (let ((p (if (tramp-get-connection-property proc "gateway" nil) nil proc))
+ buffer-read-only last-coding-system-used)
;; Under Windows XP, accept-process-output doesn't return
;; sometimes. So we add an additional timeout.
(with-timeout ((or timeout 1))
(if (featurep 'xemacs)
- (accept-process-output proc timeout timeout-msecs)
- (accept-process-output proc timeout timeout-msecs (and proc t)))))
- (tramp-message proc 10 "\n%s" (buffer-string))))
+ (accept-process-output p timeout timeout-msecs)
+ (accept-process-output p timeout timeout-msecs (and proc t))))
+ (tramp-message proc 10 "%s %s %s\n%s"
+ proc (process-status proc) p (buffer-string)))))
(defun tramp-check-for-regexp (proc regexp)
"Check, whether REGEXP is contained in process buffer of PROC.
;; it's bound. `auth-source-user-or-password' is an
;; obsoleted function, it has been replaced by
;; `auth-source-search'.
- (and (boundp 'auth-sources)
- (tramp-get-connection-property
- v "first-password-request" nil)
- ;; Try with Tramp's current method.
- (if (fboundp 'auth-source-search)
- (setq auth-info
- (tramp-compat-funcall
- 'auth-source-search
- :max 1
- :user (or tramp-current-user t)
- :host tramp-current-host
- :port tramp-current-method)
- auth-passwd (plist-get (nth 0 auth-info) :secret)
- auth-passwd (if (functionp auth-passwd)
- (funcall auth-passwd)
- auth-passwd))
- (tramp-compat-funcall
- 'auth-source-user-or-password
- "password" tramp-current-host tramp-current-method)))
+ (ignore-errors
+ (and (boundp 'auth-sources)
+ (tramp-get-connection-property
+ v "first-password-request" nil)
+ ;; Try with Tramp's current method.
+ (if (fboundp 'auth-source-search)
+ (setq auth-info
+ (tramp-compat-funcall
+ 'auth-source-search
+ :max 1
+ :user (or tramp-current-user t)
+ :host tramp-current-host
+ :port tramp-current-method)
+ auth-passwd (plist-get
+ (nth 0 auth-info) :secret)
+ auth-passwd (if (functionp auth-passwd)
+ (funcall auth-passwd)
+ auth-passwd))
+ (tramp-compat-funcall
+ 'auth-source-user-or-password
+ "password" tramp-current-host tramp-current-method))))
;; Try the password cache.
(when (functionp 'password-read)
(let ((password
;;; trampver.el --- Transparent Remote Access, Multiple Protocol
;;; lisp/trampver.el. Generated from trampver.el.in by configure.
-;; Copyright (C) 2003-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
;; Author: Kai Großjohann <kai.grossjohann@gmx.net>
;; Keywords: comm, processes
;; should be changed only there.
;;;###tramp-autoload
-(defconst tramp-version "2.2.11-pre"
+(defconst tramp-version "2.2.11-24.5"
"This version of Tramp.")
;;;###tramp-autoload
(= emacs-major-version 21)
(>= emacs-minor-version 4)))
"ok"
- (format "Tramp 2.2.11-pre is not fit for %s"
+ (format "Tramp 2.2.11-24.5 is not fit for %s"
(when (string-match "^.*$" (emacs-version))
(match-string 0 (emacs-version)))))))
(unless (string-match "\\`ok\\'" x) (error "%s" x)))
;;; webjump.el --- programmable Web hotlist
-;; Copyright (C) 1996-1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1997, 2001-2015 Free Software Foundation, Inc.
;; Author: Neil W. Van Dyke <nwv@acm.org>
;; Created: 09-Aug-1996
;;; zeroconf.el --- Service browser using Avahi.
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Michael Albinus <michael.albinus@gmx.de>
;; Keywords: comm, hardware
;;; newcomment.el --- (un)comment regions of buffers -*- lexical-binding: t -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: code extracted from Emacs-20's simple.el
;; Maintainer: Stefan Monnier <monnier@iro.umontreal.ca>
;;; notifications.el --- Client interface to desktop notifications.
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Author: Julien Danjou <julien@danjou.info>
;; Keywords: comm desktop notifications
;;; novice.el --- handling of disabled commands ("novice mode") for Emacs
-;; Copyright (C) 1985-1987, 1994, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1985-1987, 1994, 2001-2015 Free Software Foundation,
;; Inc.
;; Maintainer: emacs-devel@gnu.org
;;; nxml-enc.el --- XML encoding auto-detection
-;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2015 Free Software Foundation, Inc.
;; Author: James Clark
;; Keywords: wp, hypermedia, languages, XML
;;; nxml-glyph.el --- glyph-handling for nxml-mode
-;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2015 Free Software Foundation, Inc.
;; Author: James Clark
;; Keywords: wp, hypermedia, languages, XML
;;; nxml-maint.el --- commands for maintainers of nxml-*.el
-;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2015 Free Software Foundation, Inc.
;; Author: James Clark
;; Keywords: wp, hypermedia, languages, XML
;;; nxml-mode.el --- a new XML mode -*- lexical-binding:t -*-
-;; Copyright (C) 2003-2004, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2004, 2007-2015 Free Software Foundation, Inc.
;; Author: James Clark
;; Keywords: wp, hypermedia, languages, XML
;;; nxml-ns.el --- XML namespace processing -*- lexical-binding:t -*-
-;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2015 Free Software Foundation, Inc.
;; Author: James Clark
;; Keywords: wp, hypermedia, languages, XML
;;; nxml-outln.el --- outline support for nXML mode
-;; Copyright (C) 2004, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004, 2007-2015 Free Software Foundation, Inc.
;; Author: James Clark
;; Keywords: wp, hypermedia, languages, XML
;;; nxml-parse.el --- XML parser, sharing infrastructure with nxml-mode
-;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2015 Free Software Foundation, Inc.
;; Author: James Clark
;; Keywords: wp, hypermedia, languages, XML
;;; nxml-rap.el --- low-level support for random access parsing for nXML mode
-;; Copyright (C) 2003-2004, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2004, 2007-2015 Free Software Foundation, Inc.
;; Author: James Clark
;; Keywords: wp, hypermedia, languages, XML
;;; nxml-uchnm.el --- support for Unicode standard cha names in nxml-mode
-;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2015 Free Software Foundation, Inc.
;; Author: James Clark
;; Keywords: wp, hypermedia, languages, XML
;;; nxml-util.el --- utility functions for nxml-*.el -*- lexical-binding:t -*-
-;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2015 Free Software Foundation, Inc.
;; Author: James Clark
;; Keywords: wp, hypermedia, languages, XML
;;; rng-cmpct.el --- parsing of RELAX NG Compact Syntax schemas
-;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2015 Free Software Foundation, Inc.
;; Author: James Clark
;; Keywords: wp, hypermedia, languages, XML, RelaxNG
;;; rng-dt.el --- datatype library interface for RELAX NG
-;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2015 Free Software Foundation, Inc.
;; Author: James Clark
;; Keywords: wp, hypermedia, languages, XML, RelaxNG
;;; rng-loc.el --- locate the schema to use for validation
-;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2015 Free Software Foundation, Inc.
;; Author: James Clark
;; Keywords: wp, hypermedia, languages, XML, RelaxNG
;;; rng-maint.el --- commands for RELAX NG maintainers
-;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2015 Free Software Foundation, Inc.
;; Author: James Clark
;; Keywords: wp, hypermedia, languages, XML, RelaxNG
;;; rng-match.el --- matching of RELAX NG patterns against XML events -*- lexical-binding:t -*-
-;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2015 Free Software Foundation, Inc.
;; Author: James Clark
;; Keywords: wp, hypermedia, languages, XML, RelaxNG
;;; rng-nxml.el --- make nxml-mode take advantage of rng-validate-mode
-;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2015 Free Software Foundation, Inc.
;; Author: James Clark
;; Keywords: wp, hypermedia, languages, XML, RelaxNG
;;; rng-parse.el --- parse an XML file and validate it against a schema
-;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2015 Free Software Foundation, Inc.
;; Author: James Clark
;; Keywords: wp, hypermedia, languages, XML, RelaxNG
;;; rng-pttrn.el --- RELAX NG patterns
-;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2015 Free Software Foundation, Inc.
;; Author: James Clark
;; Keywords: wp, hypermedia, languages, XML, RelaxNG
;;; rng-uri.el --- URI parsing and manipulation
-;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2015 Free Software Foundation, Inc.
;; Author: James Clark
;; Keywords: wp, hypermedia, languages, XML
((not (string= (downcase scheme) "file"))
(rng-uri-error "URI `%s' does not use the `file:' scheme" uri)))
(when (not (member authority
- (cons system-name '(nil "" "localhost"))))
+ (cons (system-name) '(nil "" "localhost"))))
(rng-uri-error "URI `%s' does not start with `file:///' or `file://localhost/'"
uri))
(when query
;;; rng-util.el --- utility functions for RELAX NG library
-;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2015 Free Software Foundation, Inc.
;; Author: James Clark
;; Keywords: wp, hypermedia, languages, XML, RelaxNG
;;; rng-valid.el --- real-time validation of XML using RELAX NG
-;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2015 Free Software Foundation, Inc.
;; Author: James Clark
;; Keywords: wp, hypermedia, languages, XML, RelaxNG
;;; rng-xsd.el --- W3C XML Schema datatypes library for RELAX NG
-;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2015 Free Software Foundation, Inc.
;; Author: James Clark
;; Keywords: wp, hypermedia, languages, XML, RelaxNG
;;; xmltok.el --- XML tokenization -*- lexical-binding:t -*-
-;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2015 Free Software Foundation, Inc.
;; Author: James Clark
;; Keywords: wp, hypermedia, languages, XML
;;; xsd-regexp.el --- translate W3C XML Schema regexps to Emacs regexps
-;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007-2015 Free Software Foundation, Inc.
;; Author: James Clark
;; Keywords: wp, hypermedia, languages, XML, regexp
;;; abbrevlist.el --- list one abbrev table alphabetically ordered
-;; Copyright (C) 1986, 1992, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1986, 1992, 2001-2015 Free Software Foundation, Inc.
;; Suggested by a previous version by Gildea.
;; Maintainer: emacs-devel@gnu.org
;;; assoc.el --- insert/delete functions on association lists -*- lexical-binding: t -*-
-;; Copyright (C) 1996, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996, 2001-2015 Free Software Foundation, Inc.
;; Author: Barry A. Warsaw <bwarsaw@cen.com>
;; Keywords: extensions
;;; awk-mode.el --- AWK code editing commands for Emacs
-;; Copyright (C) 1988, 1994, 1996, 2000-2014 Free Software Foundation,
+;; Copyright (C) 1988, 1994, 1996, 2000-2015 Free Software Foundation,
;; Inc.
;; Maintainer: emacs-devel@gnu.org
;;; bruce.el --- bruce phrase utility for overloading the Communications -*- no-byte-compile: t -*-
;;; Decency Act snoops, if any.
-;; Copyright (C) 1988, 1993, 1997, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1988, 1993, 1997, 2001-2015 Free Software Foundation,
;; Inc.
;; Maintainer: emacs-devel@gnu.org
;;; cc-compat.el --- cc-mode compatibility with c-mode.el confusion
-;; Copyright (C) 1985, 1987, 1992-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992-2015 Free Software Foundation, Inc.
;; Authors: 1998- Martin Stjernholm
;; 1994-1999 Barry A. Warsaw
;;; cl-compat.el --- Common Lisp extensions for GNU Emacs Lisp (compatibility)
-;; Copyright (C) 1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 2001-2015 Free Software Foundation, Inc.
;; Author: Dave Gillespie <daveg@synaptics.com>
;; Version: 2.02
;;; complete.el --- partial completion mechanism plus other goodies
-;; Copyright (C) 1990-1993, 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1993, 1999-2015 Free Software Foundation, Inc.
;; Author: Dave Gillespie <daveg@synaptics.com>
;; Keywords: abbrev convenience
;;; crisp.el --- CRiSP/Brief Emacs emulator
-;; Copyright (C) 1997-1999, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-1999, 2001-2015 Free Software Foundation, Inc.
;; Author: Gary D. Foster <Gary.Foster@Corp.Sun.COM>
;; Keywords: emulations brief crisp
;;; cust-print.el --- handles print-level and print-circle
-;; Copyright (C) 1992, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 2001-2015 Free Software Foundation, Inc.
;; Author: Daniel LaLiberte <liberte@holonexus.org>
;; Adapted-By: ESR
;;; erc-hecomplete.el --- Provides Nick name completion for ERC
-;; Copyright (C) 2001-2002, 2004, 2006-2014 Free Software Foundation,
+;; Copyright (C) 2001-2002, 2004, 2006-2015 Free Software Foundation,
;; Inc.
;; Author: Alex Schroeder <alex@gnu.org>
;;; fast-lock.el --- automagic text properties caching for fast Font Lock mode
-;; Copyright (C) 1994-1998, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1998, 2001-2015 Free Software Foundation, Inc.
;; Author: Simon Marshall <simon@gnu.org>
;; Maintainer: emacs-devel@gnu.org
;;; gulp.el --- ask for updates for Lisp packages
-;; Copyright (C) 1996, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996, 2001-2015 Free Software Foundation, Inc.
;; Author: Sam Shteingold <shteingd@math.ucla.edu>
;; Maintainer: emacs-devel@gnu.org
;;; iso-acc.el --- minor mode providing electric accent keys
-;; Copyright (C) 1993-1994, 1996, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1993-1994, 1996, 2001-2015 Free Software Foundation,
;; Inc.
;; Author: Johan Vromans
;;; iso-insert.el --- insert functions for ISO 8859/1 -*- coding: utf-8;-*-
-;; Copyright (C) 1987, 1994, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1987, 1994, 2001-2015 Free Software Foundation, Inc.
;; Author: Howard Gayle
;; Maintainer: emacs-devel@gnu.org
;;; iso-swed.el --- set up char tables for ISO 8859/1 for Swedish/Finnish ttys
-;; Copyright (C) 1987, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1987, 2001-2015 Free Software Foundation, Inc.
;; Author: Howard Gayle
;; Maintainer: emacs-devel@gnu.org
;;; iswitchb.el --- switch between buffers using substrings
-;; Copyright (C) 1996-1997, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1997, 2000-2015 Free Software Foundation, Inc.
;; Author: Stephen Eglen <stephen@gnu.org>
;; Maintainer: Stephen Eglen <stephen@gnu.org>
;;; keyswap.el --- swap BS and DEL keys -*- no-byte-compile: t -*-
-;; Copyright (C) 1992, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 2001-2015 Free Software Foundation, Inc.
;; Author: Eric S. Raymond <esr@snark.thyrsus.com>
;; Keywords: terminals
;;; lazy-lock.el --- lazy demand-driven fontification for fast Font Lock mode
-;; Copyright (C) 1994-1998, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1998, 2001-2015 Free Software Foundation, Inc.
;; Author: Simon Marshall <simon@gnu.org>
;; Maintainer: emacs-devel@gnu.org
;;; ledit.el --- Emacs side of ledit interface
-;; Copyright (C) 1985, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 2001-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: languages
;;; levents.el --- emulate the Lucid event data type and associated functions
-;; Copyright (C) 1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 2001-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: emulations
;;; lmenu.el --- emulate Lucid's menubar support
-;; Copyright (C) 1992-1994, 1997, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1992-1994, 1997, 2001-2015 Free Software Foundation,
;; Inc.
;; Keywords: emulations obsolete
;;; longlines.el --- automatically wrap long lines -*- coding:utf-8 -*-
-;; Copyright (C) 2000-2001, 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2001, 2004-2015 Free Software Foundation, Inc.
;; Authors: Kai Grossjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
;; Alex Schroeder <alex@gnu.org>
;;; lucid.el --- emulate some Lucid Emacs functions
-;; Copyright (C) 1993, 1995, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1995, 2001-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: emulations
;;; mouse-sel.el --- multi-click selection support
-;; Copyright (C) 1993-1995, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1995, 2001-2015 Free Software Foundation, Inc.
;; Author: Mike Williams <mdub@bigfoot.com>
;; Keywords: mouse
;;; emacs-lock.el --- prevents you from exiting Emacs if a buffer is locked
-;; Copyright (C) 1994, 1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994, 1997, 2001-2015 Free Software Foundation, Inc.
;; Author: Tom Wurgler <twurgler@goodyear.com>
;; Created: 12/8/94
;;; whitespace.el --- warn about and clean bogus whitespaces in the file
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: Rajesh Vaidheeswarran <rv@gnu.org>
;; Keywords: convenience
;;; options.el --- edit Options command for Emacs
-;; Copyright (C) 1985, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 2001-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Obsolete-since: 22.1
;;; todo-mode.el --- major mode for editing TODO list files
-;; Copyright (C) 1997, 1999, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 1999, 2001-2015 Free Software Foundation, Inc.
;; Author: Oliver Seidel <privat@os10000.net>
;; Maintainer: Stephen Berman <stephen.berman@gmx.net>
;;; pc-mode.el --- emulate certain key bindings used on PCs
-;; Copyright (C) 1995, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995, 2001-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: emulations
;;; (or MAC GUI or MS-windoze (bah)) look-and-feel
;;; including key bindings.
-;; Copyright (C) 1995-1997, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995-1997, 2000-2015 Free Software Foundation, Inc.
;; Author: Michael Staats <michael@thp.Uni-Duisburg.DE>
;; Keywords: convenience emulations
(cadr pc-select-meta-moves-sexps-key-bindings))
(if (or pc-select-selection-keys-only
(eq window-system 'x)
- (memq system-name '(ms-dos windows-nt)))
+ (memq system-type '(ms-dos windows-nt)))
nil
pc-select-tty-key-bindings)))
(unless (or pc-select-selection-keys-only
(eq window-system 'x)
- (memq system-name '(ms-dos windows-nt)))
+ (memq system-type '(ms-dos windows-nt)))
;; it is not clear that we need the following line
;; I hope it doesn't do too much harm to leave it in, though...
(setq pc-select-old-M-delete-binding
(when (and (not pc-select-selection-keys-only)
(or (eq window-system 'x)
- (memq system-name '(ms-dos windows-nt)))
+ (memq system-type '(ms-dos windows-nt)))
(fboundp 'normal-erase-is-backspace-mode))
(pc-select-save-and-set-mode normal-erase-is-backspace-mode 1
normal-erase-is-backspace))
(current-global-map))
(unless (or pc-select-selection-keys-only
(eq window-system 'x)
- (memq system-name '(ms-dos windows-nt)))
+ (memq system-type '(ms-dos windows-nt)))
;; it is not clear that we need the following line
;; I hope it doesn't do too much harm to leave it in, though...
(define-key function-key-map [M-delete] [?\M-d]))
(when (and (not pc-select-selection-keys-only)
(or (eq window-system 'x)
- (memq system-name '(ms-dos windows-nt)))
+ (memq system-type '(ms-dos windows-nt)))
(fboundp 'normal-erase-is-backspace-mode))
(normal-erase-is-backspace-mode 1))
(setq highlight-nonselected-windows nil)
(when pc-select-key-bindings-alist
(when (and (not pc-select-selection-keys-only)
(or (eq window-system 'x)
- (memq system-name '(ms-dos windows-nt))))
+ (memq system-type '(ms-dos windows-nt))))
(pc-select-restore-mode normal-erase-is-backspace-mode))
(pc-select-restore-keys
;;; pgg-def.el --- functions/macros for defining PGG functions
-;; Copyright (C) 1999, 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2002-2015 Free Software Foundation, Inc.
;; Author: Daiki Ueno <ueno@unixuser.org>
;; Created: 1999/11/02
;;; pgg-gpg.el --- GnuPG support for PGG.
-;; Copyright (C) 1999-2000, 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2000, 2002-2015 Free Software Foundation, Inc.
;; Author: Daiki Ueno <ueno@unixuser.org>
;; Symmetric encryption and gpg-agent support added by:
;;; pgg-parse.el --- OpenPGP packet parsing
-;; Copyright (C) 1999, 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2002-2015 Free Software Foundation, Inc.
;; Author: Daiki Ueno <ueno@unixuser.org>
;; Created: 1999/10/28
;;; pgg-pgp.el --- PGP 2.* and 6.* support for PGG.
-;; Copyright (C) 1999-2000, 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2000, 2002-2015 Free Software Foundation, Inc.
;; Author: Daiki Ueno <ueno@unixuser.org>
;; Created: 1999/11/02
;;; pgg-pgp5.el --- PGP 5.* support for PGG.
-;; Copyright (C) 1999-2000, 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2000, 2002-2015 Free Software Foundation, Inc.
;; Author: Daiki Ueno <ueno@unixuser.org>
;; Created: 1999/11/02
;;; pgg.el --- glue for the various PGP implementations.
-;; Copyright (C) 1999-2000, 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2000, 2002-2015 Free Software Foundation, Inc.
;; Author: Daiki Ueno <ueno@unixuser.org>
;; Symmetric encryption added by: Sascha Wilde <wilde@sha-bang.de>
;;; rcompile.el --- run a compilation on a remote machine
-;; Copyright (C) 1993-1994, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1994, 2001-2015 Free Software Foundation, Inc.
;; Author: Alon Albert <alon@milcse.rtsg.mot.com>
;; Maintainer: emacs-devel@gnu.org
;;; resume.el --- process command line args from within a suspended Emacs job
-;; Copyright (C) 1992, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 2001-2015 Free Software Foundation, Inc.
;; Author: Joe Wells <jbw@bucsf.bu.edu>
;; Adapted-By: ESR
;;; s-region.el --- set region using shift key
-;; Copyright (C) 1994-1995, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1995, 2001-2015 Free Software Foundation, Inc.
;; Author: Morten Welinder <terra@diku.dk>
;; Keywords: terminals
;;; scribe.el --- scribe mode, and its idiosyncratic commands
-;; Copyright (C) 1985, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 2001-2015 Free Software Foundation, Inc.
;; Author: William Sommerfeld
;; (according to ack.texi)
;;; spell.el --- spelling correction interface for Emacs
-;; Copyright (C) 1985, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 2001-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: wp, unix
;;; sregex.el --- symbolic regular expressions
-;; Copyright (C) 1997-1998, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2000-2015 Free Software Foundation, Inc.
;; Author: Bob Glickstein <bobg+sregex@zanshin.com>
;; Maintainer: Bob Glickstein <bobg+sregex@zanshin.com>
;;; sup-mouse.el --- supdup mouse support for lisp machines
-;; Copyright (C) 1985-1986, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985-1986, 2001-2015 Free Software Foundation, Inc.
;; Author: Wolfgang Rupprecht
;; Maintainer: emacs-devel@gnu.org
;;; swedish.el --- miscellaneous functions for dealing with Swedish
-;; Copyright (C) 1988, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1988, 2001-2015 Free Software Foundation, Inc.
;; Author: Howard Gayle
;; Maintainer: emacs-devel@gnu.org
;;; sym-comp.el --- mode-dependent symbol completion
-;; Copyright (C) 2004, 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004, 2008-2015 Free Software Foundation, Inc.
;; Author: Dave Love <fx@gnu.org>
;; Keywords: extensions
;;; terminal.el --- terminal emulator for GNU Emacs
-;; Copyright (C) 1986-1989, 1993-1994, 2001-2014 Free Software
+;; Copyright (C) 1986-1989, 1993-1994, 2001-2015 Free Software
;; Foundation, Inc.
;; Author: Richard Mlynarik <mly@eddie.mit.edu>
;;; tpu-edt.el --- Emacs emulating TPU emulating EDT
-;; Copyright (C) 1993-1995, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1995, 2000-2015 Free Software Foundation, Inc.
;; Author: Rob Riepel <riepel@networking.stanford.edu>
;; Maintainer: Rob Riepel <riepel@networking.stanford.edu>
;;; tpu-extras.el --- scroll margins and free cursor mode for TPU-edt
-;; Copyright (C) 1993-1995, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1995, 2000-2015 Free Software Foundation, Inc.
;; Author: Rob Riepel <riepel@networking.stanford.edu>
;; Maintainer: Rob Riepel <riepel@networking.stanford.edu>
;;; tpu-mapper.el --- create a TPU-edt X-windows keymap file
-;; Copyright (C) 1993-1995, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1995, 2001-2015 Free Software Foundation, Inc.
;; Author: Rob Riepel <riepel@networking.stanford.edu>
;; Maintainer: Rob Riepel <riepel@networking.stanford.edu>
;;; vc-arch.el --- VC backend for the Arch version-control system -*- lexical-binding: t -*-
-;; Copyright (C) 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
;; Author: FSF (see vc.el for full credits)
;; Maintainer: Stefan Monnier <monnier@gnu.org>
;;; vc-mcvs.el --- VC backend for the Meta-CVS version-control system
-;; Copyright (C) 2003-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
;; Author: FSF (see vc.el for full credits)
;; Maintainer: None
;;; vip.el --- a VI Package for GNU Emacs
-;; Copyright (C) 1986-1988, 1992-1993, 1998, 2001-2014
-;; Free Software Foundation, Inc.
+;; Copyright (C) 1986-1988, 1992-1993, 1998, 2001-2015 Free Software
+;; Foundation, Inc.
;; Author: Masahiko Sato <ms@sail.stanford.edu>
;; Keywords: emulations
;;; ws-mode.el --- WordStar emulation mode for GNU Emacs
-;; Copyright (C) 1991, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1991, 2001-2015 Free Software Foundation, Inc.
;; Author: Juergen Nickelsen <nickel@cs.tu-berlin.de>
;; Version: 0.7
;;; xesam.el --- Xesam interface to search engines.
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Michael Albinus <michael.albinus@gmx.de>
;; Keywords: tools, hypermedia
;;; yow.el --- quote random zippyisms
-;; Copyright (C) 1993-1995, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1995, 2000-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Author: Richard Mlynarik
+2014-12-29 Paul Eggert <eggert@cs.ucla.edu>
+
+ * org-clock.el (org-clock-save): Prefer (system-name) to system-name.
+
2014-10-29 Paul Eggert <eggert@cs.ucla.edu>
Simplify use of current-time and friends.
;; add-log-time-zone-rule: t
;; End:
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
;;; ob-C.el --- org-babel functions for C and similar languages
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research
;;; ob-R.el --- org-babel functions for R code evaluation
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Eric Schulte
;; Dan Davison
;;; ob-asymptote.el --- org-babel functions for asymptote evaluation
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research
;;; ob-awk.el --- org-babel functions for awk evaluation
-;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research
;;; ob-calc.el --- org-babel functions for calc code evaluation
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research
;;; ob-clojure.el --- org-babel functions for clojure evaluation
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Joel Boehland
;; Eric Schulte
;;; ob-comint.el --- org-babel functions for interaction with comint buffers
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research, comint
;;; ob-core.el --- working with code blocks in org-mode
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Authors: Eric Schulte
;; Dan Davison
;;; ob-css.el --- org-babel functions for css evaluation
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research
;;; ob-ditaa.el --- org-babel functions for ditaa evaluation
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research
;;; ob-dot.el --- org-babel functions for dot evaluation
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research
;;; ob-emacs-lisp.el --- org-babel functions for emacs-lisp code evaluation
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research
;;; ob-eval.el --- org-babel functions for external code evaluation
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research, comint
;;; ob-exp.el --- Exportation of org-babel source blocks
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Authors: Eric Schulte
;; Dan Davison
;;; ob-fortran.el --- org-babel functions for fortran
-;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
;; Authors: Sergey Litvinov
;; Eric Schulte
;;; ob-gnuplot.el --- org-babel functions for gnuplot evaluation
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research
;;; ob-haskell.el --- org-babel functions for haskell evaluation
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research
;;; ob-io.el --- org-babel functions for Io evaluation
-;; Copyright (C) 2012-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
;; Author: Andrzej Lichnerowicz
;; Keywords: literate programming, reproducible research
;;; ob-java.el --- org-babel functions for java evaluation
-;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research
;;; ob-js.el --- org-babel functions for Javascript
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research, js
;;; ob-keys.el --- key bindings for org-babel
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research
;;; ob-latex.el --- org-babel functions for latex "evaluation"
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research
;;; ob-ledger.el --- org-babel functions for ledger evaluation
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Author: Eric S Fraga
;; Keywords: literate programming, reproducible research, accounting
;;; ob-lilypond.el --- org-babel functions for lilypond evaluation
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Author: Martyn Jago
;; Keywords: babel language, literate programming
;;; ob-lisp.el --- org-babel functions for common lisp evaluation
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Authors: Joel Boehland
;; Eric Schulte
;;; ob-lob.el --- functions supporting the Library of Babel
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Authors: Eric Schulte
;; Dan Davison
;;; ob-makefile.el --- org-babel functions for makefile evaluation
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Eric Schulte
;; Thomas S. Dye
;;; ob-matlab.el --- org-babel support for matlab evaluation
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Author: Dan Davison
;; Keywords: literate programming, reproducible research
;;; ob-maxima.el --- org-babel functions for maxima evaluation
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Eric S Fraga
;; Eric Schulte
;;; ob-msc.el --- org-babel functions for mscgen evaluation
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Author: Juan Pechiar
;; Keywords: literate programming, reproducible research
;;; ob-ocaml.el --- org-babel functions for ocaml evaluation
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research
;;; ob-octave.el --- org-babel functions for octave and matlab evaluation
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Author: Dan Davison
;; Keywords: literate programming, reproducible research
;;; ob-org.el --- org-babel functions for org code block evaluation
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research
;;; ob-perl.el --- org-babel functions for perl evaluation
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Authors: Dan Davison
;; Eric Schulte
;;; ob-picolisp.el --- org-babel functions for picolisp evaluation
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Authors: Thorsten Jolitz
;; Eric Schulte
;;; ob-plantuml.el --- org-babel functions for plantuml evaluation
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Author: Zhang Weize
;; Keywords: literate programming, reproducible research
;;; ob-python.el --- org-babel functions for python evaluation
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Authors: Eric Schulte
;; Dan Davison
;;; ob-ref.el --- org-babel functions for referencing external data
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Authors: Eric Schulte
;; Dan Davison
;;; ob-ruby.el --- org-babel functions for ruby evaluation
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research
;;; ob-sass.el --- org-babel functions for the sass css generation language
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research
;;; ob-scala.el --- org-babel functions for Scala evaluation
-;; Copyright (C) 2012-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
;; Author: Andrzej Lichnerowicz
;; Keywords: literate programming, reproducible research
;;; ob-scheme.el --- org-babel functions for Scheme
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Authors: Eric Schulte
;; Michael Gauland
;;; ob-screen.el --- org-babel support for interactive terminal
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Benjamin Andresen
;; Keywords: literate programming, interactive shell
;;; ob-sh.el --- org-babel functions for shell evaluation
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research
;;; ob-shen.el --- org-babel functions for Shen
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research, shen
;;; ob-sql.el --- org-babel functions for sql evaluation
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research
;;; ob-sqlite.el --- org-babel functions for sqlite database interaction
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research
;;; ob-table.el --- support for calling org-babel functions from tables
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research
;;; ob-tangle.el --- extract source code from org-mode files
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research
;;; ob.el --- working with code blocks in org-mode
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Authors: Eric Schulte
;; Keywords: literate programming, reproducible research
;;; org-agenda.el --- Dynamic task and appointment lists for Org
-;; Copyright (C) 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;;; org-archive.el --- Archiving for Org-mode
-;; Copyright (C) 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;;; org-attach.el --- Manage file attachments to org-mode tasks
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@newartisans.com>
;; Keywords: org data task
;;; org-bbdb.el --- Support for links to BBDB entries from within Org-mode
-;; Copyright (C) 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
;; Authors: Carsten Dominik <carsten at orgmode dot org>
;; Thomas Baumann <thomas dot baumann at ch dot tum dot de>
;;; org-bibtex.el --- Org links to BibTeX entries
;;
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;;
;; Authors: Bastien Guerry <bzg@gnu.org>
;; Carsten Dominik <carsten dot dominik at gmail dot com>
;;; org-capture.el --- Fast note taking in Org-mode
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;;; org-clock.el --- The time clocking code for Org-mode
-;; Copyright (C) 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
(delete-region (point-min) (point-max))
;;Store clock
(insert (format ";; org-persist.el - %s at %s\n"
- system-name (format-time-string
- (cdr org-time-stamp-formats))))
+ (system-name) (format-time-string
+ (cdr org-time-stamp-formats))))
(if (and (memq org-clock-persist '(t clock))
(setq b (org-clocking-buffer))
(setq b (or (buffer-base-buffer b) b))
;;; org-colview.el --- Column View in Org-mode
-;; Copyright (C) 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;;; org-compat.el --- Compatibility code for Org-mode
-;; Copyright (C) 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;;; org-crypt.el --- Public key encryption for org-mode entries
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Emacs Lisp Archive Entry
;; Filename: org-crypt.el
;;; org-ctags.el - Integrate Emacs "tags" facility with org mode.
;;
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Paul Sexton <eeeickythump@gmail.com>
;; with the same name as the link; then, if unsuccessful, ask the user if
;; he/she wants to rebuild the 'TAGS' database and try again; then ask if
;; the user wishes to append 'tag' as a new toplevel heading at the end of
-;; the buffer; and finally, defer to org's default behaviour which is to
+;; the buffer; and finally, defer to org's default behavior which is to
;; search the entire text of the current buffer for 'tag'.
;;
-;; This behaviour can be modified by changing the value of
+;; This behavior can be modified by changing the value of
;; ORG-CTAGS-OPEN-LINK-FUNCTIONS. For example I have the following in my
-;; .emacs, which describes the same behaviour as the above paragraph with
+;; .emacs, which describes the same behavior as the above paragraph with
;; one difference:
;;
;; (setq org-ctags-open-link-functions
;; '(org-ctags-find-tag
;; org-ctags-ask-rebuild-tags-file-then-find-tag
;; org-ctags-ask-append-topic
-;; org-ctags-fail-silently)) ; <-- prevents org default behaviour
+;; org-ctags-fail-silently)) ; <-- prevents org default behavior
;;
;;
;; Usage
;;; org-datetree.el --- Create date entries in a tree
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;;; org-docview.el --- support for links to doc-view-mode buffers
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Jan Böcker <jan.boecker at jboecker dot de>
;; Keywords: outlines, hypermedia, calendar, wp
;;; org-element.el --- Parser And Applications for Org syntax
-;; Copyright (C) 2012-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
;; Author: Nicolas Goaziou <n.goaziou at gmail dot com>
;; Keywords: outlines, hypermedia, calendar, wp
;;; org-entities.el --- Support for special entities in Org-mode
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Author: Carsten Dominik <carsten at orgmode dot org>,
;; Ulf Stegemann <ulf at zeitform dot de>
;;; org-eshell.el - Support for links to working directories in eshell
-;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
;; Author: Konrad Hinsen <konrad.hinsen AT fastmail.net>
;;; org-faces.el --- Face definitions for Org-mode.
-;; Copyright (C) 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;;; org-feed.el --- Add RSS feed items to Org files
;;
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;;
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;;; org-footnote.el --- Footnote support in Org and elsewhere
;;
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;;
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;;; org-gnus.el --- Support for links to Gnus groups and messages from within Org-mode
-;; Copyright (C) 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Tassilo Horn <tassilo at member dot fsf dot org>
;;; org-habit.el --- The habit tracking code for Org-mode
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw at gnu dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;;; org-id.el --- Global identifiers for Org-mode entries
;;
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;;
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;;; org-indent.el --- Dynamic indentation for Org-mode
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;;
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;;; org-info.el --- Support for links to Info nodes from within Org-Mode
-;; Copyright (C) 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;;; org-inlinetask.el --- Tasks independent of outline hierarchy
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;;
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;;; org-irc.el --- Store links to IRC sessions
;;
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;;
;; Author: Philip Jackson <emacs@shellarchive.co.uk>
;; Keywords: erc, irc, link, org
;;; org-list.el --- Plain lists for Org-mode
;;
-;; Copyright (C) 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
;;
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Bastien Guerry <bzg@gnu.org>
;;; org-macro.el --- Macro Replacement Code for Org Mode
-;; Copyright (C) 2013-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
;; Author: Nicolas Goaziou <n.goaziou@gmail.com>
;; Keywords: outlines, hypermedia, calendar, wp
;;; org-macs.el --- Top-level definitions for Org-mode
-;; Copyright (C) 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;;; org-mhe.el --- Support for links to MH-E messages from within Org-mode
-;; Copyright (C) 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
;; Author: Thomas Baumann <thomas dot baumann at ch dot tum dot de>
;; Keywords: outlines, hypermedia, calendar, wp
;;; org-mobile.el --- Code for asymmetric sync with a mobile device
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;;
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;;; org-mouse.el --- Better mouse support for org-mode
-;; Copyright (C) 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
;; Author: Piotr Zielinski <piotr dot zielinski at gmail dot com>
;; Maintainer: Carsten Dominik <carsten at orgmode dot org>
;;; org-pcomplete.el --- In-buffer completion code
-;; Copyright (C) 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
;;
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; John Wiegley <johnw at gnu dot org>
;;; org-plot.el --- Support for plotting from Org-mode
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;;
;; Author: Eric Schulte <schulte dot eric at gmail dot com>
;; Keywords: tables, plotting
;;; org-protocol.el --- Intercept calls from emacsclient to trigger custom actions.
;;
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;;
;; Authors: Bastien Guerry <bzg@gnu.org>
;; Daniel M German <dmg AT uvic DOT org>
;;; org-rmail.el --- Support for links to Rmail messages from within Org-mode
-;; Copyright (C) 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;;; org-src.el --- Source code examples in Org
;;
-;; Copyright (C) 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
;;
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Bastien Guerry <bzg@gnu.org>
;;; org-table.el --- The table editor for Org-mode
-;; Copyright (C) 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;;; org-timer.el --- The relative timer code for Org-mode
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;;; org-w3m.el --- Support from copy and paste from w3m to Org-mode
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Andy Stewart <lazycat dot manatee at gmail dot com>
;; Keywords: outlines, hypermedia, calendar, wp
;;; org.el --- Outline-based notes management and organizer
;; Carstens outline-mode for keeping track of everything.
-;; Copyright (C) 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
;;
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Maintainer: Carsten Dominik <carsten at orgmode dot org>
;;; ox-ascii.el --- ASCII Back-End for Org Export Engine
-;; Copyright (C) 2012-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
;; Author: Nicolas Goaziou <n.goaziou at gmail dot com>
;; Keywords: outlines, hypermedia, calendar, wp
;;; ox-beamer.el --- Beamer Back-End for Org Export Engine
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Carsten Dominik <carsten.dominik AT gmail DOT com>
;; Nicolas Goaziou <n.goaziou AT gmail DOT com>
;;; ox-html.el --- HTML Back-End for Org Export Engine
-;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Jambunathan K <kjambunathan at gmail dot com>
The function should return the string to be exported.
For example, the variable could be set to the following function
-in order to mimic default behaviour:
+in order to mimic default behavior:
The default value simply returns the value of CONTENTS."
:group 'org-export-html
;;; ox-icalendar.el --- iCalendar Back-End for Org Export Engine
-;; Copyright (C) 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Nicolas Goaziou <n dot goaziou at gmail dot com>
;;; ox-latex.el --- LaTeX Back-End for Org Export Engine
-;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
;; Author: Nicolas Goaziou <n.goaziou at gmail dot com>
;; Keywords: outlines, hypermedia, calendar, wp
The function should return the string to be exported.
For example, the variable could be set to the following function
-in order to mimic default behaviour:
+in order to mimic default behavior:
\(defun org-latex-format-inlinetask \(todo type priority name tags contents\)
\"Format an inline task element for LaTeX export.\"
;; ox-man.el --- Man Back-End for Org Export Engine
-;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
;; Author: Nicolas Goaziou <n.goaziou at gmail dot com>
;; Luis R Anaya <papoanaya aroba hot mail punto com>
;;; ox-md.el --- Markdown Back-End for Org Export Engine
-;; Copyright (C) 2012-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
;; Author: Nicolas Goaziou <n.goaziou@gmail.com>
;; Keywords: org, wp, markdown
;;; ox-odt.el --- OpenDocument Text Exporter for Org Mode
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Author: Jambunathan K <kjambunathan at gmail dot com>
;; Keywords: outlines, hypermedia, calendar, wp
;;; ox-org.el --- Org Back-End for Org Export Engine
-;; Copyright (C) 2013-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
;; Author: Nicolas Goaziou <n.goaziou@gmail.com>
;; Keywords: org, wp
;;; ox-publish.el --- Publish Related Org Mode Files as a Website
-;; Copyright (C) 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
;; Author: David O'Toole <dto@gnu.org>
;; Maintainer: Carsten Dominik <carsten DOT dominik AT gmail DOT com>
`:sitemap-sort-files'
The site map is normally sorted alphabetically. You can
- change this behaviour setting this to `anti-chronologically',
+ change this behavior setting this to `anti-chronologically',
`chronologically', or nil.
`:sitemap-ignore-case'
;;; ox-texinfo.el --- Texinfo Back-End for Org Export Engine
-;; Copyright (C) 2012-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
;; Author: Jonathan Leech-Pepin <jonathan.leechpepin at gmail dot com>
;; Keywords: outlines, hypermedia, calendar, wp
;;; ox.el --- Generic Export Engine for Org Mode
-;; Copyright (C) 2012-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
;; Author: Nicolas Goaziou <n.goaziou at gmail dot com>
;; Keywords: outlines, hypermedia, calendar, wp
"The last level which is still exported as a headline.
Inferior levels will usually produce itemize or enumerate lists
-when exported, but back-end behaviour may differ.
+when exported, but back-end behavior may differ.
This option can also be set with the OPTIONS keyword,
e.g. \"H:2\"."
(t
;; Options in `org-export-options-alist'.
(dolist (property (funcall find-properties key))
- (let ((behaviour (nth 4 (assq property options))))
+ (let ((behavior (nth 4 (assq property options))))
(setq plist
(plist-put
plist property
;; Handle value depending on specified
;; BEHAVIOR.
- (case behaviour
+ (case behavior
(space
(if (not (plist-get plist property))
(org-trim val)
;;; outline.el --- outline mode commands for Emacs
-;; Copyright (C) 1986, 1993-1995, 1997, 2000-2014 Free Software
+;; Copyright (C) 1986, 1993-1995, 1997, 2000-2015 Free Software
;; Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;;; paren.el --- highlight matching paren
-;; Copyright (C) 1993, 1996, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1996, 2001-2015 Free Software Foundation, Inc.
;; Author: rms@gnu.org
;; Maintainer: emacs-devel@gnu.org
;;; password-cache.el --- Read passwords, possibly using a password cache.
-;; Copyright (C) 1999-2000, 2003-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2000, 2003-2015 Free Software Foundation, Inc.
;; Author: Simon Josefsson <simon@josefsson.org>
;; Created: 2003-12-21
;;; pcmpl-cvs.el --- functions for dealing with cvs completions
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;; Package: pcomplete
;;; pcmpl-gnu.el --- completions for GNU project tools -*- lexical-binding: t -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Package: pcomplete
;;; pcmpl-linux.el --- functions for dealing with GNU/Linux completions
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Package: pcomplete
;;; pcmpl-rpm.el --- functions for dealing with rpm completions
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Package: pcomplete
;;; pcmpl-unix.el --- standard UNIX completions
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Package: pcomplete
;;; pcmpl-x.el --- completion for miscellaneous tools -*- lexical-binding: t; -*-
-;; Copyright (C) 2013-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
;; Author: Leo Liu <sdl.web@gmail.com>
;; Keywords: processes, tools, convenience
;;; pcomplete.el --- programmable completion -*- lexical-binding: t -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;; Keywords: processes abbrev
;;; 5x5.el --- simple little puzzle game -*- coding: utf-8 -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: Dave Pearson <davep@davep.org>
;; Maintainer: Dave Pearson <davep@davep.org>
;;; animate.el --- make text dance
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Maintainer: Richard Stallman <rms@gnu.org>
;; Keywords: games
;;; blackbox.el --- blackbox game in Emacs Lisp
-;; Copyright (C) 1985-1987, 1992, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1985-1987, 1992, 2001-2015 Free Software Foundation,
;; Inc.
;; Author: F. Thomas May <uw-nsr!uw-warp!tom@beaver.cs.washington.edu>
;;; bubbles.el --- Puzzle game for Emacs -*- coding: utf-8 -*-
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Ulf Jasper <ulf.jasper@web.de>
;; URL: http://ulf.epplejasper.de/
;;; cookie1.el --- retrieve random phrases from fortune cookie files
-;; Copyright (C) 1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 2001-2015 Free Software Foundation, Inc.
;; Author: Eric S. Raymond <esr@snark.thyrsus.com>
;; Maintainer: emacs-devel@gnu.org
;;; decipher.el --- cryptanalyze monoalphabetic substitution ciphers
;;
-;; Copyright (C) 1995-1996, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995-1996, 2001-2015 Free Software Foundation, Inc.
;;
;; Author: Christopher J. Madsen <chris_madsen@geocities.com>
;; Keywords: games
;;; dissociate.el --- scramble text amusingly for Emacs
-;; Copyright (C) 1985, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 2001-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: games
;;; doctor.el --- psychological help for frustrated users
-;; Copyright (C) 1985, 1987, 1994, 1996, 2000-2014 Free Software
+;; Copyright (C) 1985, 1987, 1994, 1996, 2000-2015 Free Software
;; Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;;; dunnet.el --- text adventure for Emacs
-;; Copyright (C) 1992-1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1992-1993, 2001-2015 Free Software Foundation, Inc.
;; Author: Ron Schnell <ronnie@driver-aces.com>
;; Created: 25 Jul 1992
;;; fortune.el --- use fortune to create signatures
-;; Copyright (C) 1999, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2001-2015 Free Software Foundation, Inc.
;; Author: Holger Schauer <Holger.Schauer@gmx.de>
;; Keywords: games utils mail
;;; gamegrid.el --- library for implementing grid-based games on Emacs
-;; Copyright (C) 1997-1998, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2001-2015 Free Software Foundation, Inc.
;; Author: Glynn Clements <glynn@sensei.co.uk>
;; Version: 1.02
;;; gametree.el --- manage game analysis trees in Emacs
-;; Copyright (C) 1997, 1999, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 1999, 2001-2015 Free Software Foundation, Inc.
;; Author: Ian T Zimmerman <itz@rahul.net>
;; Created: Wed Dec 10 07:41:46 PST 1997
;;; gomoku.el --- Gomoku game between you and Emacs -*- lexical-binding:t -*-
-;; Copyright (C) 1988, 1994, 1996, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1988, 1994, 1996, 2001-2015 Free Software Foundation,
;; Inc.
;; Author: Philippe Schnoebelen <phs@lsv.ens-cachan.fr>
;;; handwrite.el --- turns your emacs buffer into a handwritten document -*- coding: utf-8; -*-
-;; Copyright (C) 1996, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996, 2001-2015 Free Software Foundation, Inc.
;; Author: Danny Roozendaal (was: <danny@tvs.kun.nl>)
;; Created: October 21 1996
;;; landmark.el --- Neural-network robot that learns landmarks -*- lexical-binding:t -*-
-;; Copyright (C) 1996-1997, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1997, 2000-2015 Free Software Foundation, Inc.
;; Author: Terrence Brannon (was: <brannon@rana.usc.edu>)
;; Created: December 16, 1996 - first release to usenet
;;; life.el --- John Horton Conway's `Life' game for GNU Emacs
-;; Copyright (C) 1988, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1988, 2001-2015 Free Software Foundation, Inc.
;; Author: Kyle Jones <kyleuunet.uu.net>
;; Maintainer: emacs-devel@gnu.org
;;; morse.el --- convert text to morse code and back -*- coding: utf-8 -*-
-;; Copyright (C) 1995, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995, 2001-2015 Free Software Foundation, Inc.
;; Author: Rick Farnbach <rick_farnbach@MENTORG.COM>
;; Keywords: games
;;; mpuz.el --- multiplication puzzle for GNU Emacs
-;; Copyright (C) 1990, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990, 2001-2015 Free Software Foundation, Inc.
;; Author: Philippe Schnoebelen <phs@lsv.ens-cachan.fr>
;; Overhauled: Daniel Pfeiffer <occitan@esperanto.org>
;;; pong.el --- classical implementation of pong
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: Benjamin Drieu <bdrieu@april.org>
;; Keywords: games
;;; snake.el --- implementation of Snake for Emacs
-;; Copyright (C) 1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2015 Free Software Foundation, Inc.
;; Author: Glynn Clements <glynn@sensei.co.uk>
;; Created: 1997-09-10
;;; solitaire.el --- game of solitaire in Emacs Lisp
-;; Copyright (C) 1994, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994, 2001-2015 Free Software Foundation, Inc.
;; Author: Jan Schormann <Jan.Schormann@rechen-gilde.de>
;; Created: Fri afternoon, Jun 3, 1994
;;; spook.el --- spook phrase utility for overloading the NSA line eater
-;; Copyright (C) 1988, 1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1988, 1993, 2001-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: games
;;; tetris.el --- implementation of Tetris for Emacs
-;; Copyright (C) 1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2015 Free Software Foundation, Inc.
;; Author: Glynn Clements <glynn@sensei.co.uk>
;; Version: 2.01
;;; zone.el --- idle display hacks
-;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
;; Author: Victor Zandy <zandy@cs.wisc.edu>
;; Maintainer: Thien-Thi Nguyen <ttn@gnu.org>
;;; printing.el --- printing utilities
-;; Copyright (C) 2000-2001, 2003-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2001, 2003-2015 Free Software Foundation, Inc.
;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;;; proced.el --- operate on system processes like dired
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Roland Winkler <winkler@gnu.org>
;; Keywords: Processes, Unix
;;; profiler.el --- UI and helper functions for Emacs's native profiler -*- lexical-binding: t -*-
-;; Copyright (C) 2012-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
;; Author: Tomohiro Matsuyama <tomo@cx4a.org>
;; Keywords: lisp
;;; ada-mode.el --- major-mode for editing Ada sources
-;; Copyright (C) 1994-1995, 1997-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1995, 1997-2015 Free Software Foundation, Inc.
;; Author: Rolf Ebert <ebert@inf.enst.fr>
;; Markus Heritsch <Markus.Heritsch@studbox.uni-stuttgart.de>
;;; ada-prj.el --- GUI editing of project files for the ada-mode
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Emmanuel Briot <briot@gnat.com>
;; Maintainer: Stephen Leake <stephen_leake@stephe-leake.org>
;;; ada-stmt.el --- an extension to Ada mode for inserting statement templates
-;; Copyright (C) 1987, 1993-1994, 1996-2014 Free Software Foundation,
+;; Copyright (C) 1987, 1993-1994, 1996-2015 Free Software Foundation,
;; Inc.
;; Authors: Daniel Pfeiffer
;; ada-xref.el --- for lookup and completion in Ada mode
-;; Copyright (C) 1994-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-2015 Free Software Foundation, Inc.
;; Author: Markus Heritsch <Markus.Heritsch@studbox.uni-stuttgart.de>
;; Rolf Ebert <ebert@inf.enst.fr>
;;; antlr-mode.el --- major mode for ANTLR grammar files
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: Christoph Wedler <Christoph.Wedler@sap.com>
;; Keywords: languages, ANTLR, code generator
;;; asm-mode.el --- mode for editing assembler code
-;; Copyright (C) 1991, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1991, 2001-2015 Free Software Foundation, Inc.
;; Author: Eric S. Raymond <esr@snark.thyrsus.com>
;; Maintainer: emacs-devel@gnu.org
;;; autoconf.el --- mode for editing Autoconf configure.ac files
-;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
;; Author: Dave Love <fx@gnu.org>
;; Keywords: languages
;;; bat-mode.el --- Major mode for editing DOS/Windows scripts
-;; Copyright (C) 2003, 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2008-2015 Free Software Foundation, Inc.
;; Author: Arni Magnusson <arnima@hafro.is>
;; Keywords: languages
;; bug-reference.el --- buttonize bug references
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Tom Tromey <tromey@redhat.com>
;; Created: 21 Mar 2007
;;; cc-align.el --- custom indentation functions for CC Mode
-;; Copyright (C) 1985, 1987, 1992-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992-2015 Free Software Foundation, Inc.
;; Authors: 2004- Alan Mackenzie
;; 1998- Martin Stjernholm
;;; cc-awk.el --- AWK specific code within cc-mode.
-;; Copyright (C) 1988, 1994, 1996, 2000-2014 Free Software Foundation,
+;; Copyright (C) 1988, 1994, 1996, 2000-2015 Free Software Foundation,
;; Inc.
;; Author: Alan Mackenzie <acm@muc.de> (originally based on awk-mode.el)
;;; cc-bytecomp.el --- compile time setup for proper compilation
-;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
;; Author: Martin Stjernholm
;; Maintainer: bug-cc-mode@gnu.org
;;; cc-cmds.el --- user level commands for CC Mode
-;; Copyright (C) 1985, 1987, 1992-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992-2015 Free Software Foundation, Inc.
;; Authors: 2003- Alan Mackenzie
;; 1998- Martin Stjernholm
;;; cc-defs.el --- compile time definitions for CC Mode
-;; Copyright (C) 1985, 1987, 1992-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992-2015 Free Software Foundation, Inc.
;; Authors: 2003- Alan Mackenzie
;; 1998- Martin Stjernholm
;;; cc-engine.el --- core syntax guessing engine for CC mode -*- coding: utf-8 -*-
-;; Copyright (C) 1985, 1987, 1992-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992-2015 Free Software Foundation, Inc.
;; Authors: 2001- Alan Mackenzie
;; 1998- Martin Stjernholm
;;; cc-fonts.el --- font lock support for CC Mode
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;; Authors: 2003- Alan Mackenzie
;; 2002- Martin Stjernholm
;;; cc-guess.el --- guess indentation values by scanning existing code
-;; Copyright (C) 1985, 1987, 1992-2006, 2011-2014
-;; Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992-2006, 2011-2015 Free Software
+;; Foundation, Inc.
;; Author: 1994-1995 Barry A. Warsaw
;; 2011- Masatake YAMATO
;;; cc-langs.el --- language specific settings for CC Mode -*- coding: utf-8 -*-
-;; Copyright (C) 1985, 1987, 1992-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992-2015 Free Software Foundation, Inc.
;; Authors: 2002- Alan Mackenzie
;; 1998- Martin Stjernholm
;;; cc-menus.el --- imenu support for CC Mode
-;; Copyright (C) 1985, 1987, 1992-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992-2015 Free Software Foundation, Inc.
;; Authors: 1998- Martin Stjernholm
;; 1992-1999 Barry A. Warsaw
;;; cc-mode.el --- major mode for editing C and similar languages
-;; Copyright (C) 1985, 1987, 1992-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992-2015 Free Software Foundation, Inc.
;; Authors: 2003- Alan Mackenzie
;; 1998- Martin Stjernholm
;;; cc-styles.el --- support for styles in CC Mode
-;; Copyright (C) 1985, 1987, 1992-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992-2015 Free Software Foundation, Inc.
;; Authors: 2004- Alan Mackenzie
;; 1998- Martin Stjernholm
;;; cc-vars.el --- user customization variables for CC Mode
-;; Copyright (C) 1985, 1987, 1992-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992-2015 Free Software Foundation, Inc.
;; Authors: 2002- Alan Mackenzie
;; 1998- Martin Stjernholm
;;; cfengine.el --- mode for editing Cfengine files
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Author: Dave Love <fx@gnu.org>
;; Maintainer: Ted Zlatanov <tzz@lifelogs.com>
;;; cmacexp.el --- expand C macros in a region
-;; Copyright (C) 1992, 1994, 1996, 2000-2014 Free Software Foundation,
+;; Copyright (C) 1992, 1994, 1996, 2000-2015 Free Software Foundation,
;; Inc.
;; Author: Francesco Potortì <pot@gnu.org>
;;; compile.el --- run compiler as inferior of Emacs, parse error messages
-;; Copyright (C) 1985-1987, 1993-1999, 2001-2014 Free Software
+;; Copyright (C) 1985-1987, 1993-1999, 2001-2015 Free Software
;; Foundation, Inc.
;; Authors: Roland McGrath <roland@gnu.org>,
;;; cperl-mode.el --- Perl code editing commands for Emacs
-;; Copyright (C) 1985-1987, 1991-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985-1987, 1991-2015 Free Software Foundation, Inc.
;; Author: Ilya Zakharevich
;; Bob Olson
;;; cpp.el --- highlight or hide text according to cpp conditionals
-;; Copyright (C) 1994-1995, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1995, 2001-2015 Free Software Foundation, Inc.
;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
;; Keywords: c, faces, tools
;;; cwarn.el --- highlight suspicious C and C++ constructions
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: Anders Lindgren <andersl@andersl.com>
;; Keywords: c, languages, faces
;;; dcl-mode.el --- major mode for editing DCL command files
-;; Copyright (C) 1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2015 Free Software Foundation, Inc.
;; Author: Odd Gripenstam <gripenstamol@decus.se>
;; Maintainer: Odd Gripenstam <gripenstamol@decus.se>
;;; ebnf-abn.el --- parser for ABNF (Augmented BNF)
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;;; ebnf-bnf.el --- parser for EBNF
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;;; ebnf-dtd.el --- parser for DTD (Data Type Description for XML)
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;;; ebnf-ebx.el --- parser for EBNF used to specify XML (EBNFX)
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;;; ebnf-iso.el --- parser for ISO EBNF
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;;; ebnf-otz.el --- syntactic chart OpTimiZer
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;;; ebnf-yac.el --- parser for Yacc/Bison
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;;; ebnf2ps.el --- translate an EBNF to a syntactic chart on PostScript
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;;; ebrowse.el --- Emacs C++ class browser & tags facility
-;; Copyright (C) 1992-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1992-2015 Free Software Foundation, Inc.
;; Author: Gerd Moellmann <gerd@gnu.org>
;; Maintainer: emacs-devel@gnu.org
;;; elisp-mode.el --- Emacs Lisp mode -*- lexical-binding:t -*-
-;; Copyright (C) 1985-1986, 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985-1986, 1999-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: lisp, languages
\\{emacs-lisp-mode-map}"
:group 'lisp
+ (defvar xref-find-function)
+ (defvar xref-identifier-completion-table-function)
(lisp-mode-variables nil nil 'elisp)
(setq imenu-case-fold-search nil)
(setq-local eldoc-documentation-function
#'elisp-eldoc-documentation-function)
+ (setq-local xref-find-function #'elisp-xref-find)
+ (setq-local xref-identifier-completion-table-function
+ #'elisp--xref-identifier-completion-table)
(add-hook 'completion-at-point-functions
#'elisp-completion-at-point nil 'local))
(match-string 0 doc))))
(declare-function find-library-name "find-func" (library))
+(declare-function find-function-library "find-func" (function &optional l-o v))
(defun elisp--company-location (str)
(let ((sym (intern-soft str)))
:company-location #'elisp--company-location))
((elisp--form-quoted-p beg)
(list nil obarray
- ;; Don't include all symbols
- ;; (bug#16646).
+ ;; Don't include all symbols (bug#16646).
:predicate (lambda (sym)
(or (boundp sym)
(fboundp sym)
+ (featurep sym)
(symbol-plist sym)))
:annotation-function
(lambda (str) (if (fboundp (intern-soft str)) " <f>"))
(define-obsolete-function-alias
'lisp-completion-at-point 'elisp-completion-at-point "25.1")
+;;; Xref backend
+
+(declare-function xref-make-elisp-location "xref" (symbol type file))
+(declare-function xref-make-bogus-location "xref" (message))
+(declare-function xref-make "xref" (description location))
+
+(defun elisp-xref-find (action id)
+ (require 'find-func)
+ (pcase action
+ (`definitions
+ (let ((sym (intern-soft id)))
+ (when sym
+ (elisp--xref-find-definitions sym))))
+ (`apropos
+ (elisp--xref-find-apropos id))))
+
+(defun elisp--xref-identifier-location (type sym)
+ (let ((file
+ (pcase type
+ (`defun (when (fboundp sym)
+ (let ((fun-lib
+ (find-function-library sym)))
+ (setq sym (car fun-lib))
+ (cdr fun-lib))))
+ (`defvar (when (boundp sym)
+ (or (symbol-file sym 'defvar)
+ (help-C-file-name sym 'var))))
+ (`feature (when (featurep sym)
+ (ignore-errors
+ (find-library-name (symbol-name sym)))))
+ (`defface (when (facep sym)
+ (symbol-file sym 'defface))))))
+ (when file
+ (when (string-match-p "\\.elc\\'" file)
+ (setq file (substring file 0 -1)))
+ (xref-make-elisp-location sym type file))))
+
+(defun elisp--xref-find-definitions (symbol)
+ (save-excursion
+ (let (lst)
+ (dolist (type '(feature defface defvar defun))
+ (let ((loc
+ (condition-case err
+ (elisp--xref-identifier-location type symbol)
+ (error
+ (xref-make-bogus-location (error-message-string err))))))
+ (when loc
+ (push
+ (xref-make (format "(%s %s)" type symbol)
+ loc)
+ lst))))
+ lst)))
+
+(defun elisp--xref-find-apropos (regexp)
+ (apply #'nconc
+ (let (lst)
+ (dolist (sym (apropos-internal regexp))
+ (push (elisp--xref-find-definitions sym) lst))
+ (nreverse lst))))
+
+(defvar elisp--xref-identifier-completion-table
+ (apply-partially #'completion-table-with-predicate
+ obarray
+ (lambda (sym)
+ (or (boundp sym)
+ (fboundp sym)
+ (featurep sym)
+ (facep sym)))
+ 'strict))
+
+(defun elisp--xref-identifier-completion-table ()
+ elisp--xref-identifier-completion-table)
+
;;; Elisp Interaction mode
(defvar lisp-interaction-mode-map
;;; etags.el --- etags facility for Emacs -*- lexical-binding: t -*-
-;; Copyright (C) 1985-1986, 1988-1989, 1992-1996, 1998, 2000-2014 Free
+;; Copyright (C) 1985-1986, 1988-1989, 1992-1996, 1998, 2000-2015 Free
;; Software Foundation, Inc.
;; Author: Roland McGrath <roland@gnu.org>
(require 'ring)
(require 'button)
+(require 'xref)
;;;###autoload
(defvar tags-file-name nil
:group 'etags
:type '(choice (const nil) function))
-(defcustom find-tag-marker-ring-length 16
- "Length of marker rings `find-tag-marker-ring' and `tags-location-ring'."
- :group 'etags
- :type 'integer
- :version "20.3")
+(define-obsolete-variable-alias 'find-tag-marker-ring-length
+ 'xref-marker-ring-length "25.1")
(defcustom tags-tag-face 'default
"Face for tags in the output of `tags-apropos'."
(sexp :tag "Tags to search")))
:version "21.1")
-(defvar find-tag-marker-ring (make-ring find-tag-marker-ring-length)
- "Ring of markers which are locations from which \\[find-tag] was invoked.")
+(defvaralias 'find-tag-marker-ring 'xref--marker-ring)
+(make-obsolete-variable
+ 'find-tag-marker-ring
+ "use `xref-push-marker-stack' or `xref-pop-marker-stack' instead."
+ "25.1")
(defvar default-tags-table-function nil
"If non-nil, a function to choose a default tags file for a buffer.
This function receives no arguments and should return the default
tags table file to use for the current buffer.")
-(defvar tags-location-ring (make-ring find-tag-marker-ring-length)
+(defvar tags-location-ring (make-ring xref-marker-ring-length)
"Ring of markers which are locations visited by \\[find-tag].
Pop back to the last location with \\[negative-argument] \\[find-tag].")
\f
(interactive)
;; Clear out the markers we are throwing away.
(let ((i 0))
- (while (< i find-tag-marker-ring-length)
+ (while (< i xref-marker-ring-length)
(if (aref (cddr tags-location-ring) i)
(set-marker (aref (cddr tags-location-ring) i) nil))
- (if (aref (cddr find-tag-marker-ring) i)
- (set-marker (aref (cddr find-tag-marker-ring) i) nil))
(setq i (1+ i))))
+ (xref-clear-marker-stack)
(setq tags-file-name nil
- tags-location-ring (make-ring find-tag-marker-ring-length)
- find-tag-marker-ring (make-ring find-tag-marker-ring-length)
+ tags-location-ring (make-ring xref-marker-ring-length)
tags-table-list nil
tags-table-computed-list nil
tags-table-computed-list-for nil
(quit (message "Tags completion table construction aborted.")
(setq tags-completion-table nil)))))
+;;;###autoload
(defun tags-lazy-completion-table ()
(let ((buf (current-buffer)))
(lambda (string pred action)
;; Run the user's hook. Do we really want to do this for pop?
(run-hooks 'local-find-tag-hook))))
;; Record whence we came.
- (ring-insert find-tag-marker-ring (point-marker))
+ (xref-push-marker-stack)
(if (and next-p last-tag)
;; Find the same table we last used.
(visit-tags-table-buffer 'same)
(switch-to-buffer buf)
(error (pop-to-buffer buf)))
(goto-char pos)))
-;;;###autoload (define-key esc-map "." 'find-tag)
;;;###autoload
(defun find-tag-other-window (tagname &optional next-p regexp-p)
Contrast this with the ring of marks gone to by the command.
See documentation of variable `tags-file-name'."
+ (declare (obsolete xref-find-definitions-other-window "25.1"))
(interactive (find-tag-interactive "Find tag other window: "))
;; This hair is to deal with the case where the tag is found in the
;; the window's point from the buffer.
(set-window-point (selected-window) tagpoint))
window-point)))
-;;;###autoload (define-key ctl-x-4-map "." 'find-tag-other-window)
;;;###autoload
(defun find-tag-other-frame (tagname &optional next-p)
Contrast this with the ring of marks gone to by the command.
See documentation of variable `tags-file-name'."
+ (declare (obsolete xref-find-definitions-other-frame "25.1"))
(interactive (find-tag-interactive "Find tag other frame: "))
(let ((pop-up-frames t))
(find-tag-other-window tagname next-p)))
-;;;###autoload (define-key ctl-x-5-map "." 'find-tag-other-frame)
;;;###autoload
(defun find-tag-regexp (regexp &optional next-p other-window)
Contrast this with the ring of marks gone to by the command.
See documentation of variable `tags-file-name'."
+ (declare (obsolete xref-find-apropos "25.1"))
(interactive (find-tag-interactive "Find tag regexp: " t))
;; We go through find-tag-other-window to do all the display hair there.
(funcall (if other-window 'find-tag-other-window 'find-tag)
regexp next-p t))
-;;;###autoload (define-key esc-map [?\C-.] 'find-tag-regexp)
-
-;;;###autoload (define-key esc-map "*" 'pop-tag-mark)
;;;###autoload
-(defun pop-tag-mark ()
- "Pop back to where \\[find-tag] was last invoked.
+(defalias 'pop-tag-mark 'xref-pop-marker-stack)
-This is distinct from invoking \\[find-tag] with a negative argument
-since that pops a stack of markers at which tags were found, not from
-where they were found."
- (interactive)
- (if (ring-empty-p find-tag-marker-ring)
- (error "No previous locations for find-tag invocation"))
- (let ((marker (ring-remove find-tag-marker-ring 0)))
- (switch-to-buffer (or (marker-buffer marker)
- (error "The marked buffer has been deleted")))
- (goto-char (marker-position marker))
- (set-marker marker nil nil)))
\f
(defvar tag-lines-already-matched nil
"Matches remembered between calls.") ; Doc string: calls to what?
interesting (it returns non-nil if so) and `tags-loop-operate' is a form to
evaluate to operate on an interesting file. If the latter evaluates to
nil, we exit; otherwise we scan the next file."
+ (declare (obsolete "use `xref-find-definitions' interface instead." "25.1"))
(interactive)
(let (new
;; Non-nil means we have finished one file
(and messaged
(null tags-loop-operate)
(message "Scanning file %s...found" buffer-file-name))))
-;;;###autoload (define-key esc-map "," 'tags-loop-continue)
;;;###autoload
(defun tags-search (regexp &optional file-list-form)
;;;###autoload
(defun tags-apropos (regexp)
"Display list of all tags in tags table REGEXP matches."
+ (declare (obsolete xref-find-apropos "25.1"))
(interactive "sTags apropos (regexp): ")
(with-output-to-temp-buffer "*Tags List*"
(princ "Click mouse-2 to follow tags.\n\nTags matching regexp `")
(completion-in-region (car comp-data) (cadr comp-data)
(nth 2 comp-data)
(plist-get (nthcdr 3 comp-data) :predicate)))))
+
+\f
+;;; Xref backend
+
+;; Stop searching if we find more than xref-limit matches, as the xref
+;; infrastructure is not designed to handle very long lists.
+;; Switching to some kind of lazy list might be better, but hopefully
+;; we hit the limit rarely.
+(defconst etags--xref-limit 1000)
+
+;;;###autoload
+(defun etags-xref-find (action id)
+ (pcase action
+ (`definitions (etags--xref-find-definitions id))
+ (`apropos (etags--xref-find-definitions id t))))
+
+(defun etags--xref-find-definitions (pattern &optional regexp?)
+ ;; This emulates the behaviour of `find-tag-in-order' but instead of
+ ;; returning one match at a time all matches are returned as list.
+ ;; NOTE: find-tag-tag-order is typically a buffer-local variable.
+ (let* ((xrefs '())
+ (first-time t)
+ (search-fun (if regexp? #'re-search-forward #'search-forward))
+ (marks (make-hash-table :test 'equal))
+ (case-fold-search (if (memq tags-case-fold-search '(nil t))
+ tags-case-fold-search
+ case-fold-search)))
+ (save-excursion
+ (while (visit-tags-table-buffer (not first-time))
+ (setq first-time nil)
+ (dolist (order-fun (cond (regexp? find-tag-regexp-tag-order)
+ (t find-tag-tag-order)))
+ (goto-char (point-min))
+ (while (and (funcall search-fun pattern nil t)
+ (< (hash-table-count marks) etags--xref-limit))
+ (when (funcall order-fun pattern)
+ (beginning-of-line)
+ (cl-destructuring-bind (hint line &rest pos) (etags-snarf-tag)
+ (unless (eq hint t) ; hint==t if we are in a filename line
+ (let* ((file (file-of-tag))
+ (mark-key (cons file line)))
+ (unless (gethash mark-key marks)
+ (let ((loc (xref-make-file-location
+ (expand-file-name file) line 0)))
+ (push (xref-make hint loc) xrefs)
+ (puthash mark-key t marks)))))))))))
+ (nreverse xrefs)))
+
\f
(provide 'etags)
;;; executable.el --- base functionality for executable interpreter scripts -*- byte-compile-dynamic: t -*-
-;; Copyright (C) 1994-1996, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1996, 2000-2015 Free Software Foundation, Inc.
;; Author: Daniel Pfeiffer <occitan@esperanto.org>
;; Keywords: languages, unix
;;; f90.el --- Fortran-90 mode (free format) -*- lexical-binding: t -*-
-;; Copyright (C) 1995-1997, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995-1997, 2000-2015 Free Software Foundation, Inc.
;; Author: Torbjörn Einarsson <Torbjorn.Einarsson@era.ericsson.se>
;; Maintainer: Glenn Morris <rgm@gnu.org>
;;; flymake.el --- a universal on-the-fly syntax checker -*- lexical-binding: t; -*-
-;; Copyright (C) 2003-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
;; Author: Pavel Kobyakov <pk_at_work@yahoo.com>
;; Maintainer: Leo Liu <sdl.web@gmail.com>
;;; fortran.el --- Fortran mode for GNU Emacs
-;; Copyright (C) 1986, 1993-1995, 1997-2014 Free Software Foundation,
+;; Copyright (C) 1986, 1993-1995, 1997-2015 Free Software Foundation,
;; Inc.
;; Author: Michael D. Prange <prange@erl.mit.edu>
;;; gdb-mi.el --- User Interface for running GDB -*- lexical-binding: t -*-
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Nick Roberts <nickrob@gnu.org>
;; Maintainer: emacs-devel@gnu.org
;;; glasses.el --- make cantReadThis readable
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: Milan Zamazal <pdm@zamazal.org>
;; Maintainer: Milan Zamazal <pdm@zamazal.org>
;;; grep.el --- run `grep' and display the results -*- lexical-binding:t -*-
-;; Copyright (C) 1985-1987, 1993-1999, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985-1987, 1993-1999, 2001-2015 Free Software
+;; Foundation, Inc.
;; Author: Roland McGrath <roland@gnu.org>
;; Maintainer: emacs-devel@gnu.org
;;; gud.el --- Grand Unified Debugger mode for running GDB and other debuggers
-;; Copyright (C) 1992-1996, 1998, 2000-2014 Free Software Foundation,
+;; Copyright (C) 1992-1996, 1998, 2000-2015 Free Software Foundation,
;; Inc.
;; Author: Eric S. Raymond <esr@snark.thyrsus.com>
;;; hideif.el --- hides selected code within ifdef -*- lexical-binding:t -*-
-;; Copyright (C) 1988, 1994, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1988, 1994, 2001-2015 Free Software Foundation, Inc.
;; Author: Brian Marick
;; Daniel LaLiberte <liberte@holonexus.org>
;;; hideshow.el --- minor mode cmds to selectively display code/comment blocks -*- coding: utf-8 -*-
-;; Copyright (C) 1994-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-2015 Free Software Foundation, Inc.
;; Author: Thien-Thi Nguyen <ttn@gnu.org>
;; Dan Nicolaescu <dann@ics.uci.edu>
;;; icon.el --- mode for editing Icon code
-;; Copyright (C) 1989, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1989, 2001-2015 Free Software Foundation, Inc.
;; Author: Chris Smith <csmith@convex.com>
;; Created: 15 Feb 89
;;; idlw-complete-structtag.el --- Completion of structure tags.
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@astro.uva.nl>
;; Maintainer: J.D. Smith <jdsmith@as.arizona.edu>
;;; idlw-help.el --- HTML Help code for IDLWAVE
-;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
;;
;; Authors: J.D. Smith <jdsmith@as.arizona.edu>
;; Carsten Dominik <dominik@science.uva.nl>
;; idlw-shell.el --- run IDL as an inferior process of Emacs.
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Authors: J.D. Smith <jdsmith@as.arizona.edu>
;; Carsten Dominik <dominik@astro.uva.nl>
;;; idlw-toolbar.el --- a debugging toolbar for IDLWAVE
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@astro.uva.nl>
;; Maintainer: J.D. Smith <jdsmith@as.arizona.edu>
;; idlwave.el --- IDL editing mode for GNU Emacs
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Authors: J.D. Smith <jdsmith@as.arizona.edu>
;; Carsten Dominik <dominik@science.uva.nl>
;;; inf-lisp.el --- an inferior-lisp mode
-;; Copyright (C) 1988, 1993-1994, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1988, 1993-1994, 2001-2015 Free Software Foundation,
;; Inc.
;; Author: Olin Shivers <shivers@cs.cmu.edu>
;;; js.el --- Major mode for editing JavaScript -*- lexical-binding: t -*-
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Karl Landstrom <karl.landstrom@brgeight.se>
;; Daniel Colascione <dan.colascione@gmail.com>
js--font-lock-keywords-3)
"Font lock keywords for `js-mode'. See `font-lock-keywords'.")
+(defconst js--syntax-propertize-regexp-syntax-table
+ (let ((st (make-char-table 'syntax-table (string-to-syntax "."))))
+ (modify-syntax-entry ?\[ "(]" st)
+ (modify-syntax-entry ?\] ")[" st)
+ (modify-syntax-entry ?\\ "\\" st)
+ st))
+
(defun js-syntax-propertize-regexp (end)
- (when (eq (nth 3 (syntax-ppss)) ?/)
- ;; A /.../ regexp.
- (when (re-search-forward "\\(?:\\=\\|[^\\]\\)\\(?:\\\\\\\\\\)*/" end 'move)
- (put-text-property (1- (point)) (point)
- 'syntax-table (string-to-syntax "\"/")))))
+ (let ((ppss (syntax-ppss)))
+ (when (eq (nth 3 ppss) ?/)
+ ;; A /.../ regexp.
+ (while
+ (when (re-search-forward "\\(?:\\=\\|[^\\]\\)\\(?:\\\\\\\\\\)*/"
+ end 'move)
+ (if (nth 1 (with-syntax-table
+ js--syntax-propertize-regexp-syntax-table
+ (let ((parse-sexp-lookup-properties nil))
+ (parse-partial-sexp (nth 8 ppss) (point)))))
+ ;; A / within a character class is not the end of a regexp.
+ t
+ (put-text-property (1- (point)) (point)
+ 'syntax-table (string-to-syntax "\"/"))
+ nil))))))
(defun js-syntax-propertize (start end)
;; Javascript allows immediate regular expression objects, written /.../.
;; We can probably just add +, -, !, <, >, %, ^, ~, |, &, ?, : at which
;; point I think only * and / would be missing which could also be added,
;; but need care to avoid affecting the // and */ comment markers.
- ("\\(?:^\\|[=([{,:;]\\)\\(?:[ \t]\\)*\\(/\\)[^/*]"
+ ("\\(?:^\\|[=([{,:;]\\|\\_<return\\_>\\)\\(?:[ \t]\\)*\\(/\\)[^/*]"
(1 (ignore
(forward-char -1)
(when (or (not (memq (char-after (match-beginning 0)) '(?\s ?\t)))
;;; ld-script.el --- GNU linker script editing mode for Emacs
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Author: Masatake YAMATO<jet@gyve.org>
;; Keywords: languages, faces
;;; m4-mode.el --- m4 code editing commands for Emacs
-;; Copyright (C) 1996-1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1997, 2001-2015 Free Software Foundation, Inc.
;; Author: Andrew Csillag <drew_csillag@geocities.com>
;; Maintainer: Andrew Csillag <drew_csillag@geocities.com>
;;; make-mode.el --- makefile editing commands for Emacs -*- lexical-binding:t -*-
-;; Copyright (C) 1992, 1994, 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 1994, 1999-2015 Free Software Foundation, Inc.
;; Author: Thomas Neumann <tom@smart.bo.open.de>
;; Eric S. Raymond <esr@snark.thyrsus.com>
;;; mantemp.el --- create manual template instantiations from g++ 2.7.2 output
-;; Copyright (C) 1996, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996, 2001-2015 Free Software Foundation, Inc.
;; Author: Tom Houlder <thoulder@icor.fr>
;; Created: 10 Dec 1996
;;; meta-mode.el --- major mode for editing Metafont or MetaPost sources -*- lexical-binding:t -*-
-;; Copyright (C) 1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2015 Free Software Foundation, Inc.
;; Author: Ulrik Vieth <vieth@thphy.uni-duesseldorf.de>
;; Version: 1.0
;;; mixal-mode.el --- Major mode for the mix asm language.
-;; Copyright (C) 2003-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
;; Author: Pieter E.J. Pareit <pieter.pareit@gmail.com>
;; Maintainer: Pieter E.J. Pareit <pieter.pareit@gmail.com>
;;; octave.el --- editing octave source files under emacs -*- lexical-binding: t; -*-
-;; Copyright (C) 1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2015 Free Software Foundation, Inc.
;; Author: Kurt Hornik <Kurt.Hornik@wu-wien.ac.at>
;; John Eaton <jwe@octave.org>
;;; opascal.el --- major mode for editing Object Pascal source in Emacs -*- lexical-binding: t -*-
-;; Copyright (C) 1998-1999, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-1999, 2001-2015 Free Software Foundation, Inc.
;; Authors: Ray Blaak <blaak@infomatch.com>,
;; Simon South <ssouth@member.fsf.org>
;;; pascal.el --- major mode for editing pascal source in Emacs -*- lexical-binding: t -*-
-;; Copyright (C) 1993-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993-2015 Free Software Foundation, Inc.
;; Author: Espen Skoglund <esk@gnu.org>
;; Keywords: languages
;;; perl-mode.el --- Perl code editing commands for GNU Emacs -*- lexical-binding:t -*-
-;; Copyright (C) 1990, 1994, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990, 1994, 2001-2015 Free Software Foundation, Inc.
;; Author: William F. Mann
;; Maintainer: emacs-devel@gnu.org
;;; prog-mode.el --- Generic major mode for programming -*- lexical-binding: t -*-
-;; Copyright (C) 2013-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: internal
;;; prolog.el --- major mode for Prolog (and Mercury) -*- lexical-binding:t -*-
-;; Copyright (C) 1986-1987, 1997-1999, 2002-2003, 2011-2014 Free
+;; Copyright (C) 1986-1987, 1997-1999, 2002-2003, 2011-2015 Free
;; Software Foundation, Inc.
;; Authors: Emil Åström <emil_astrom(at)hotmail(dot)com>
;;; ps-mode.el --- PostScript mode for GNU Emacs
-;; Copyright (C) 1999, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2001-2015 Free Software Foundation, Inc.
;; Author: Peter Kleiweg <p.c.j.kleiweg@rug.nl>
;; Maintainer: Peter Kleiweg <p.c.j.kleiweg@rug.nl>
;;; python.el --- Python's flying circus support for Emacs -*- lexical-binding: t -*-
-;; Copyright (C) 2003-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
;; Author: Fabián E. Gallina <fabian@anue.biz>
;; URL: https://github.com/fgallina/python.el
;; Besides that only the standard CPython (2.x and 3.x) shell and
;; IPython are officially supported out of the box, the interaction
;; should support any other readline based Python shells as well
-;; (e.g. Jython and Pypy have been reported to work). You can change
+;; (e.g. Jython and PyPy have been reported to work). You can change
;; your default interpreter and commandline arguments by setting the
;; `python-shell-interpreter' and `python-shell-interpreter-args'
;; variables. This example enables IPython globally:
;; modify its behavior.
;; Shell completion: hitting tab will try to complete the current
-;; word. Shell completion is implemented in such way that if you
-;; change the `python-shell-interpreter' it should be possible to
-;; integrate custom logic to calculate completions. To achieve this
-;; you just need to set `python-shell-completion-setup-code' and
-;; `python-shell-completion-string-code'. The default provided code,
-;; enables autocompletion for both CPython and IPython (and ideally
-;; any readline based Python shell). This code depends on the
-;; readline module, so if you are using some Operating System that
-;; bundles Python without it (like Windows), installing pyreadline
-;; from URL `http://ipython.scipy.org/moin/PyReadline/Intro' should
-;; suffice. To troubleshoot why you are not getting any completions
-;; you can try the following in your Python shell:
+;; word. The two built-in mechanisms depend on Python's readline
+;; module: the "native" completion is tried first and is activated
+;; when `python-shell-completion-native-enable' is non-nil, the
+;; current `python-shell-interpreter' is not a member of the
+;; `python-shell-completion-native-disabled-interpreters' variable and
+;; `python-shell-completion-native-setup' succeeds; the "fallback" or
+;; "legacy" mechanism works by executing Python code in the background
+;; and enables auto-completion for shells that do not support
+;; receiving escape sequences (with some limitations, i.e. completion
+;; in blocks does not work). The code executed for the "fallback"
+;; completion can be found in `python-shell-completion-setup-code' and
+;; `python-shell-completion-string-code' variables. Their default
+;; values enable completion for both CPython and IPython, and probably
+;; any readline based shell (it's known to work with PyPy). If your
+;; Python installation lacks readline (like CPython for Windows),
+;; installing pyreadline (URL `http://ipython.org/pyreadline.html')
+;; should suffice. To troubleshoot why you are not getting any
+;; completions, you can try the following in your Python shell:
;; >>> import readline, rlcompleter
(defvar outline-heading-end-regexp)
(autoload 'comint-mode "comint")
+(autoload 'help-function-arglist "help-fns")
;;;###autoload
(add-to-list 'auto-mode-alist (cons (purecopy "\\.py\\'") 'python-mode))
(* ?\\ ?\\) (any ?\' ?\")))
(* ?\\ ?\\)
;; Match single or triple quotes of any kind.
- (group (or "\"" "\"\"\"" "'" "'''"))))))
+ (group (or "\"" "\"\"\"" "'" "'''")))))
+ (coding-cookie . ,(rx line-start ?# (* space)
+ (or
+ ;; # coding=<encoding name>
+ (: "coding" (or ?: ?=) (* space) (group-n 1 (+ (or word ?-))))
+ ;; # -*- coding: <encoding name> -*-
+ (: "-*-" (* space) "coding:" (* space)
+ (group-n 1 (+ (or word ?-))) (* space) "-*-")
+ ;; # vim: set fileencoding=<encoding name> :
+ (: "vim:" (* space) "set" (+ space)
+ "fileencoding" (* space) ?= (* space)
+ (group-n 1 (+ (or word ?-))) (* space) ":")))))
"Additional Python specific sexps for `python-rx'")
(defmacro python-rx (&rest regexps)
(eolp)
;; Avoid re-indenting on extra colon
(not (equal ?: (char-before (1- (point)))))
- (not (python-syntax-comment-or-string-p))
- ;; Never re-indent at beginning of defun
- (not (save-excursion
- (python-nav-beginning-of-statement)
- (python-info-looking-at-beginning-of-defun))))
- (python-indent-line)))))
+ (not (python-syntax-comment-or-string-p)))
+ ;; Just re-indent dedenters
+ (let ((dedenter-pos (python-info-dedenter-statement-p))
+ (current-pos (point)))
+ (when dedenter-pos
+ (save-excursion
+ (goto-char dedenter-pos)
+ (python-indent-line)
+ (unless (= (line-number-at-pos dedenter-pos)
+ (line-number-at-pos current-pos))
+ ;; Reindent region if this is a multiline statement
+ (python-indent-region dedenter-pos current-pos)))))))))
\f
;;; Navigation
(defun python-shell-get-process-name (dedicated)
"Calculate the appropriate process name for inferior Python process.
-If DEDICATED is t and the variable `buffer-file-name' is non-nil
-returns a string with the form
-`python-shell-buffer-name'[variable `buffer-file-name'] else
-returns the value of `python-shell-buffer-name'."
- (let ((process-name
- (if (and dedicated
- buffer-file-name)
- (format "%s[%s]" python-shell-buffer-name buffer-file-name)
- (format "%s" python-shell-buffer-name))))
- process-name))
+If DEDICATED is t returns a string with the form
+`python-shell-buffer-name'[`buffer-name'] else returns the value
+of `python-shell-buffer-name'."
+ (if dedicated
+ (format "%s[%s]" python-shell-buffer-name (buffer-name))
+ python-shell-buffer-name))
(defun python-shell-internal-get-process-name ()
"Calculate the appropriate process name for Internal Python process.
The name is calculated from `python-shell-global-buffer-name' and
-a hash of all relevant global shell settings in order to ensure
-uniqueness for different types of configurations."
- (format "%s [%s]"
- python-shell-internal-buffer-name
- (md5
- (concat
- python-shell-interpreter
- python-shell-interpreter-args
- python-shell--prompt-calculated-input-regexp
- python-shell--prompt-calculated-output-regexp
- (mapconcat #'symbol-value python-shell-setup-codes "")
- (mapconcat #'identity python-shell-process-environment "")
- (mapconcat #'identity python-shell-extra-pythonpaths "")
- (mapconcat #'identity python-shell-exec-path "")
- (or python-shell-virtualenv-root "")
- (mapconcat #'identity python-shell-exec-path "")))))
+the `buffer-name'."
+ (format "%s[%s]" python-shell-internal-buffer-name (buffer-name)))
(defun python-shell-calculate-command ()
"Calculate the string used to execute the inferior Python process."
"Execute the forms in BODY with the shell buffer temporarily current.
Signals an error if no shell buffer is available for current buffer."
(declare (indent 0) (debug t))
- (let ((shell-buffer (make-symbol "shell-buffer")))
- `(let ((,shell-buffer (python-shell-get-buffer)))
- (when (not ,shell-buffer)
- (error "No inferior Python buffer available."))
- (with-current-buffer ,shell-buffer
+ (let ((shell-process (make-symbol "shell-process")))
+ `(let ((,shell-process (python-shell-get-process-or-error)))
+ (with-current-buffer (process-buffer ,shell-process)
,@body))))
(defvar python-shell--font-lock-buffer nil)
(python-shell-accept-process-output
(get-buffer-process (current-buffer))))
-(defun python-shell-make-comint (cmd proc-name &optional pop internal)
+(defun python-shell-make-comint (cmd proc-name &optional show internal)
"Create a Python shell comint buffer.
CMD is the Python command to be executed and PROC-NAME is the
process name the comint buffer will get. After the comint buffer
is created the `inferior-python-mode' is activated. When
-optional argument POP is non-nil the buffer is shown. When
+optional argument SHOW is non-nil the buffer is shown. When
optional argument INTERNAL is non-nil this process is run on a
buffer with a name that starts with a space, following the Emacs
convention for temporary/internal buffers, and also makes sure
(mapconcat #'identity args " ")))
(with-current-buffer buffer
(inferior-python-mode))
- (and pop (pop-to-buffer buffer t))
+ (when show (display-buffer buffer))
(and internal (set-process-query-on-exit-flag process nil))))
proc-buffer-name)))
;;;###autoload
(defun run-python (&optional cmd dedicated show)
"Run an inferior Python process.
-Input and output via buffer named after
-`python-shell-buffer-name'. If there is a process already
-running in that buffer, just switch to it.
Argument CMD defaults to `python-shell-calculate-command' return
value. When called interactively with `prefix-arg', it allows
should be DEDICATED for the current buffer. When numeric prefix
arg is other than 0 or 4 do not SHOW.
+For a given buffer and same values of DEDICATED, if a process is
+already running for it, it will do nothing. This means that if
+the current buffer is using a global process, the user is still
+able to switch it to use a dedicated one.
+
Runs the hook `inferior-python-mode-hook' after
`comint-mode-hook' is run. (Type \\[describe-mode] in the
process buffer for a list of commands.)"
(y-or-n-p "Make dedicated process? ")
(= (prefix-numeric-value current-prefix-arg) 4))
(list (python-shell-calculate-command) nil t)))
- (python-shell-make-comint
- (or cmd (python-shell-calculate-command))
- (python-shell-get-process-name dedicated) show)
- dedicated)
+ (get-buffer-process
+ (python-shell-make-comint
+ (or cmd (python-shell-calculate-command))
+ (python-shell-get-process-name dedicated) show)))
(defun run-python-internal ()
"Run an inferior Internal Python process.
"Return inferior Python process for current buffer."
(get-buffer-process (python-shell-get-buffer)))
+(defun python-shell-get-process-or-error (&optional interactivep)
+ "Return inferior Python process for current buffer or signal error.
+When argument INTERACTIVEP is non-nil, use `user-error' instead
+of `error' with a user-friendly message."
+ (or (python-shell-get-process)
+ (if interactivep
+ (user-error
+ "Start a Python process first with `M-x run-python' or `%s'."
+ ;; Get the binding.
+ (key-description
+ (where-is-internal
+ #'run-python overriding-local-map t)))
+ (error
+ "No inferior Python process running."))))
+
(defun python-shell-get-or-create-process (&optional cmd dedicated show)
"Get or create an inferior Python process for current buffer and return it.
Arguments CMD, DEDICATED and SHOW are those of `run-python' and
(run-python cmd dedicated show)))
(or shell-process (python-shell-get-process))))
+(make-obsolete
+ #'python-shell-get-or-create-process
+ "Instead call `python-shell-get-process' and create one if returns nil."
+ "25.1")
+
(defvar python-shell-internal-buffer nil
"Current internal shell buffer for the current buffer.
This is really not necessary at all for the code to work but it's
(defun python-shell-internal-get-or-create-process ()
"Get or create an inferior Internal Python process."
- (let* ((proc-name (python-shell-internal-get-process-name))
- (proc-buffer-name (format " *%s*" proc-name)))
- (when (not (process-live-p proc-name))
- (run-python-internal)
- (setq python-shell-internal-buffer proc-buffer-name))
- (get-buffer-process proc-buffer-name)))
+ (let ((proc-name (python-shell-internal-get-process-name)))
+ (if (process-live-p proc-name)
+ (get-process proc-name)
+ (run-python-internal))))
(define-obsolete-function-alias
'python-proc 'python-shell-internal-get-or-create-process "24.3")
(concat (file-remote-p default-directory) "/tmp")
temporary-file-directory))
(temp-file-name (make-temp-file "py"))
- (coding-system-for-write 'utf-8))
+ (coding-system-for-write (python-info-encoding)))
(with-temp-file temp-file-name
- (insert "# -*- coding: utf-8 -*-\n") ;Not needed for Python-3.
(insert string)
(delete-trailing-whitespace))
temp-file-name))
-(defun python-shell-send-string (string &optional process)
- "Send STRING to inferior Python PROCESS."
- (interactive "sPython command: ")
- (let ((process (or process (python-shell-get-or-create-process))))
+(defun python-shell-send-string (string &optional process msg)
+ "Send STRING to inferior Python PROCESS.
+When optional argument MSG is non-nil, forces display of a
+user-friendly message if there's no process running; defaults to
+t when called interactively."
+ (interactive
+ (list (read-string "Python command: ") nil t))
+ (let ((process (or process (python-shell-get-process-or-error msg))))
(if (string-match ".\n+." string) ;Multiline.
- (let* ((temp-file-name (python-shell--save-temp-file string)))
- (python-shell-send-file temp-file-name process temp-file-name t))
+ (let* ((temp-file-name (python-shell--save-temp-file string))
+ (file-name (or (buffer-file-name) temp-file-name)))
+ (python-shell-send-file file-name process temp-file-name t))
(comint-send-string process string)
(when (or (not (string-match "\n\\'" string))
(string-match "\n[ \t].*\n?\\'" string))
(defun python-shell-send-string-no-output (string &optional process)
"Send STRING to PROCESS and inhibit output.
Return the output."
- (let ((process (or process (python-shell-get-or-create-process)))
+ (let ((process (or process (python-shell-get-process-or-error)))
(comint-preoutput-filter-functions
'(python-shell-output-filter))
(python-shell-output-filter-in-progress t)
(define-obsolete-function-alias
'python-send-string 'python-shell-internal-send-string "24.3")
-(defvar python--use-fake-loc nil
- "If non-nil, use `compilation-fake-loc' to trace errors back to the buffer.
-If nil, regions of text are prepended by the corresponding number of empty
-lines and Python is told to output error messages referring to the whole
-source file.")
-
(defun python-shell-buffer-substring (start end &optional nomain)
"Send buffer substring from START to END formatted for shell.
This is a wrapper over `buffer-substring' that takes care of
\"if __name__ == '__main__'\" block will be removed.
2. When a subregion of the buffer is sent, it takes care of
appending extra empty lines so tracebacks are correct.
- 3. Wraps indented regions under an \"if True:\" block so the
+ 3. When the region sent is a substring of the current buffer, a
+ coding cookie is added.
+ 4. Wraps indented regions under an \"if True:\" block so the
interpreter evaluates them correctly."
- (let ((substring (buffer-substring-no-properties start end))
- (fillstr (unless python--use-fake-loc
- (make-string (1- (line-number-at-pos start)) ?\n)))
- (toplevel-block-p (save-excursion
- (goto-char start)
- (or (zerop (line-number-at-pos start))
- (progn
- (python-util-forward-comment 1)
- (zerop (current-indentation)))))))
+ (let* ((substring (buffer-substring-no-properties start end))
+ (starts-at-point-min-p (save-restriction
+ (widen)
+ (= (point-min) start)))
+ (encoding (python-info-encoding))
+ (fillstr (when (not starts-at-point-min-p)
+ (concat
+ (format "# -*- coding: %s -*-\n" encoding)
+ (make-string
+ ;; Subtract 2 because of the coding cookie.
+ (- (line-number-at-pos start) 2) ?\n))))
+ (toplevel-block-p (save-excursion
+ (goto-char start)
+ (or (zerop (line-number-at-pos start))
+ (progn
+ (python-util-forward-comment 1)
+ (zerop (current-indentation)))))))
(with-temp-buffer
(python-mode)
(if fillstr (insert fillstr))
(insert substring)
(goto-char (point-min))
- (unless python--use-fake-loc
- ;; python-shell--save-temp-file adds an extra coding line, which would
- ;; throw off the line-counts, so let's try to compensate here.
- (if (looking-at "[ \t]*[#\n]")
- (delete-region (point) (line-beginning-position 2))))
(when (not toplevel-block-p)
(insert "if True:")
(delete-region (point) (line-end-position)))
(when (python-nav-if-name-main)
(cons (point)
(progn (python-nav-forward-sexp-safe)
+ ;; Include ending newline
+ (forward-line 1)
(point)))))))
;; Oh destructuring bind, how I miss you.
(if-name-main-start (car if-name-main-start-end))
- (if-name-main-end (cdr if-name-main-start-end)))
+ (if-name-main-end (cdr if-name-main-start-end))
+ (fillstr (make-string
+ (- (line-number-at-pos if-name-main-end)
+ (line-number-at-pos if-name-main-start)) ?\n)))
(when if-name-main-start-end
(goto-char if-name-main-start)
(delete-region if-name-main-start if-name-main-end)
- (insert
- (make-string
- (- (line-number-at-pos if-name-main-end)
- (line-number-at-pos if-name-main-start)) ?\n)))))
+ (insert fillstr))))
+ ;; Ensure there's only one coding cookie in the generated string.
+ (goto-char (point-min))
+ (when (looking-at-p (python-rx coding-cookie))
+ (forward-line 1)
+ (when (looking-at-p (python-rx coding-cookie))
+ (delete-region
+ (line-beginning-position) (line-end-position))))
(buffer-substring-no-properties (point-min) (point-max)))))
-(declare-function compilation-fake-loc "compile"
- (marker file &optional line col))
-
-(defun python-shell-send-region (start end &optional nomain)
- "Send the region delimited by START and END to inferior Python process."
- (interactive "r")
- (let* ((python--use-fake-loc
- (or python--use-fake-loc (not buffer-file-name)))
- (string (python-shell-buffer-substring start end nomain))
- (process (python-shell-get-or-create-process))
- (_ (string-match "\\`\n*\\(.*\\)" string)))
- (message "Sent: %s..." (match-string 1 string))
- (let* ((temp-file-name (python-shell--save-temp-file string))
- (file-name (or (buffer-file-name) temp-file-name)))
- (python-shell-send-file file-name process temp-file-name t)
- (unless python--use-fake-loc
- (with-current-buffer (process-buffer process)
- (compilation-fake-loc (copy-marker start) temp-file-name
- 2)) ;; Not 1, because of the added coding line.
- ))))
-
-(defun python-shell-send-buffer (&optional arg)
+(defun python-shell-send-region (start end &optional send-main msg)
+ "Send the region delimited by START and END to inferior Python process.
+When optional argument SEND-MAIN is non-nil, allow execution of
+code inside blocks delimited by \"if __name__== '__main__':\".
+When called interactively SEND-MAIN defaults to nil, unless it's
+called with prefix argument. When optional argument MSG is
+non-nil, forces display of a user-friendly message if there's no
+process running; defaults to t when called interactively."
+ (interactive
+ (list (region-beginning) (region-end) current-prefix-arg t))
+ (let* ((string (python-shell-buffer-substring start end (not send-main)))
+ (process (python-shell-get-process-or-error msg))
+ (original-string (buffer-substring-no-properties start end))
+ (_ (string-match "\\`\n*\\(.*\\)" original-string)))
+ (message "Sent: %s..." (match-string 1 original-string))
+ (python-shell-send-string string process)))
+
+(defun python-shell-send-buffer (&optional send-main msg)
"Send the entire buffer to inferior Python process.
-With prefix ARG allow execution of code inside blocks delimited
-by \"if __name__== '__main__':\"."
- (interactive "P")
+When optional argument SEND-MAIN is non-nil, allow execution of
+code inside blocks delimited by \"if __name__== '__main__':\".
+When called interactively SEND-MAIN defaults to nil, unless it's
+called with prefix argument. When optional argument MSG is
+non-nil, forces display of a user-friendly message if there's no
+process running; defaults to t when called interactively."
+ (interactive (list current-prefix-arg t))
(save-restriction
(widen)
- (python-shell-send-region (point-min) (point-max) (not arg))))
+ (python-shell-send-region (point-min) (point-max) send-main msg)))
-(defun python-shell-send-defun (arg)
+(defun python-shell-send-defun (&optional arg msg)
"Send the current defun to inferior Python process.
-When argument ARG is non-nil do not include decorators."
- (interactive "P")
+When argument ARG is non-nil do not include decorators. When
+optional argument MSG is non-nil, forces display of a
+user-friendly message if there's no process running; defaults to
+t when called interactively."
+ (interactive (list current-prefix-arg t))
(save-excursion
(python-shell-send-region
(progn
(progn
(or (python-nav-end-of-defun)
(end-of-line 1))
- (point-marker)))))
+ (point-marker))
+ nil ;; noop
+ msg)))
(defun python-shell-send-file (file-name &optional process temp-file-name
- delete)
+ delete msg)
"Send FILE-NAME to inferior Python PROCESS.
If TEMP-FILE-NAME is passed then that file is used for processing
-instead, while internally the shell will continue to use FILE-NAME.
-If DELETE is non-nil, delete the file afterwards."
- (interactive "fFile to send: ")
- (let* ((process (or process (python-shell-get-or-create-process)))
+instead, while internally the shell will continue to use
+FILE-NAME. If TEMP-FILE-NAME and DELETE are non-nil, then
+TEMP-FILE-NAME is deleted after evaluation is performed. When
+optional argument MSG is non-nil, forces display of a
+user-friendly message if there's no process running; defaults to
+t when called interactively."
+ (interactive
+ (list
+ (read-file-name "File to send: ") ; file-name
+ nil ; process
+ nil ; temp-file-name
+ nil ; delete
+ t)) ; msg
+ (let* ((process (or process (python-shell-get-process-or-error msg)))
+ (encoding (with-temp-buffer
+ (insert-file-contents
+ (or temp-file-name file-name))
+ (python-info-encoding)))
+ (file-name (expand-file-name
+ (or (file-remote-p file-name 'localname)
+ file-name)))
(temp-file-name (when temp-file-name
(expand-file-name
(or (file-remote-p temp-file-name 'localname)
- temp-file-name))))
- (file-name (or (when file-name
- (expand-file-name
- (or (file-remote-p file-name 'localname)
- file-name)))
- temp-file-name)))
- (when (not file-name)
- (error "If FILE-NAME is nil then TEMP-FILE-NAME must be non-nil"))
+ temp-file-name)))))
(python-shell-send-string
(format
- (concat "__pyfile = open('''%s''');"
- "exec(compile(__pyfile.read(), '''%s''', 'exec'));"
- "__pyfile.close()%s")
- (or temp-file-name file-name) file-name
- (if delete (format "; import os; os.remove('''%s''')"
- (or temp-file-name file-name))
- ""))
+ (concat
+ "import codecs, os;"
+ "__pyfile = codecs.open('''%s''', encoding='''%s''');"
+ "__code = __pyfile.read().encode('''%s''');"
+ "__pyfile.close();"
+ (when (and delete temp-file-name)
+ (format "os.remove('''%s''');" temp-file-name))
+ "exec(compile(__code, '''%s''', 'exec'));")
+ (or temp-file-name file-name) encoding encoding file-name)
process)))
-(defun python-shell-switch-to-shell ()
- "Switch to inferior Python process buffer."
- (interactive)
- (process-buffer (python-shell-get-or-create-process)) t)
+(defun python-shell-switch-to-shell (&optional msg)
+ "Switch to inferior Python process buffer.
+When optional argument MSG is non-nil, forces display of a
+user-friendly message if there's no process running; defaults to
+t when called interactively."
+ (interactive "p")
+ (pop-to-buffer
+ (process-buffer (python-shell-get-process-or-error msg)) nil t))
(defun python-shell-send-setup-code ()
"Send all setup code for shell.
"25.1"
"Completion string code must work for (i)pdb.")
+(defcustom python-shell-completion-native-disabled-interpreters
+ ;; PyPy's readline cannot handle some escape sequences yet.
+ (list "pypy")
+ "List of disabled interpreters.
+When a match is found, native completion is disabled."
+ :type '(repeat string))
+
+(defcustom python-shell-completion-native-enable t
+ "Enable readline based native completion."
+ :type 'boolean)
+
+(defcustom python-shell-completion-native-output-timeout 0.01
+ "Time in seconds to wait for completion output before giving up."
+ :type 'float)
+
+(defvar python-shell-completion-native-redirect-buffer
+ " *Python completions redirect*"
+ "Buffer to be used to redirect output of readline commands.")
+
+(defun python-shell-completion-native-interpreter-disabled-p ()
+ "Return non-nil if interpreter has native completion disabled."
+ (when python-shell-completion-native-disabled-interpreters
+ (string-match
+ (regexp-opt python-shell-completion-native-disabled-interpreters)
+ (file-name-nondirectory python-shell-interpreter))))
+
+(defun python-shell-completion-native-try ()
+ "Return non-nil if can trigger native completion."
+ (let ((python-shell-completion-native-enable t))
+ (python-shell-completion-native-get-completions
+ (get-buffer-process (current-buffer))
+ nil "int")))
+
+(defun python-shell-completion-native-setup ()
+ "Try to setup native completion, return non-nil on success."
+ (let ((process (python-shell-get-process)))
+ (python-shell-send-string
+ (funcall
+ 'mapconcat
+ #'identity
+ (list
+ "try:"
+ " import readline, rlcompleter"
+ ;; Remove parens on callables as it breaks completion on
+ ;; arguments (e.g. str(Ari<tab>)).
+ " class Completer(rlcompleter.Completer):"
+ " def _callable_postfix(self, val, word):"
+ " return word"
+ " readline.set_completer(Completer().complete)"
+ " if readline.__doc__ and 'libedit' in readline.__doc__:"
+ " readline.parse_and_bind('bind ^I rl_complete')"
+ " else:"
+ " readline.parse_and_bind('tab: complete')"
+ " print ('python.el: readline is available')"
+ "except:"
+ " print ('python.el: readline not available')")
+ "\n")
+ process)
+ (python-shell-accept-process-output process)
+ (when (save-excursion
+ (re-search-backward
+ (regexp-quote "python.el: readline is available") nil t 1))
+ (python-shell-completion-native-try))))
+
+(defun python-shell-completion-native-turn-off (&optional msg)
+ "Turn off shell native completions.
+With argument MSG show deactivation message."
+ (interactive "p")
+ (python-shell-with-shell-buffer
+ (set (make-local-variable 'python-shell-completion-native-enable) nil)
+ (when msg
+ (message "Shell native completion is disabled, using fallback"))))
+
+(defun python-shell-completion-native-turn-on (&optional msg)
+ "Turn on shell native completions.
+With argument MSG show deactivation message."
+ (interactive "p")
+ (python-shell-with-shell-buffer
+ (set (make-local-variable 'python-shell-completion-native-enable) t)
+ (python-shell-completion-native-turn-on-maybe msg)))
+
+(defun python-shell-completion-native-turn-on-maybe (&optional msg)
+ "Turn on native completions if enabled and available.
+With argument MSG show activation/deactivation message."
+ (interactive "p")
+ (python-shell-with-shell-buffer
+ (when python-shell-completion-native-enable
+ (cond
+ ((python-shell-completion-native-interpreter-disabled-p)
+ (python-shell-completion-native-turn-off msg))
+ ((python-shell-completion-native-setup)
+ (when msg
+ (message "Shell native completion is enabled.")))
+ (t (lwarn
+ '(python python-shell-completion-native-turn-on-maybe)
+ :warning
+ (concat
+ "Your `python-shell-interpreter' doesn't seem to "
+ "support readline, yet `python-shell-completion-native' "
+ (format "was `t' and %S is not part of the "
+ (file-name-nondirectory python-shell-interpreter))
+ "`python-shell-completion-native-disabled-interpreters' "
+ "list. Native completions have been disabled locally. "))
+ (python-shell-completion-native-turn-off msg))))))
+
+(defun python-shell-completion-native-turn-on-maybe-with-msg ()
+ "Like `python-shell-completion-native-turn-on-maybe' but force messages."
+ (python-shell-completion-native-turn-on-maybe t))
+
+(add-hook 'inferior-python-mode-hook
+ #'python-shell-completion-native-turn-on-maybe-with-msg)
+
+(defun python-shell-completion-native-toggle (&optional msg)
+ "Toggle shell native completion.
+With argument MSG show activation/deactivation message."
+ (interactive "p")
+ (python-shell-with-shell-buffer
+ (if python-shell-completion-native-enable
+ (python-shell-completion-native-turn-off msg)
+ (python-shell-completion-native-turn-on msg))
+ python-shell-completion-native-enable))
+
+(defun python-shell-completion-native-get-completions (process import input)
+ "Get completions using native readline for PROCESS.
+When IMPORT is non-nil takes precedence over INPUT for
+completion."
+ (when (and python-shell-completion-native-enable
+ (python-util-comint-last-prompt)
+ (>= (point) (cdr (python-util-comint-last-prompt))))
+ (let* ((input (or import input))
+ (original-filter-fn (process-filter process))
+ (redirect-buffer (get-buffer-create
+ python-shell-completion-native-redirect-buffer))
+ (separators (python-rx
+ (or whitespace open-paren close-paren)))
+ (trigger "\t\t\t")
+ (new-input (concat input trigger))
+ (input-length
+ (save-excursion
+ (+ (- (point-max) (comint-bol)) (length new-input))))
+ (delete-line-command (make-string input-length ?\b))
+ (input-to-send (concat new-input delete-line-command)))
+ ;; Ensure restoring the process filter, even if the user quits
+ ;; or there's some other error.
+ (unwind-protect
+ (with-current-buffer redirect-buffer
+ ;; Cleanup the redirect buffer
+ (delete-region (point-min) (point-max))
+ ;; Mimic `comint-redirect-send-command', unfortunately it
+ ;; can't be used here because it expects a newline in the
+ ;; command and that's exactly what we are trying to avoid.
+ (let ((comint-redirect-echo-input nil)
+ (comint-redirect-verbose nil)
+ (comint-redirect-perform-sanity-check nil)
+ (comint-redirect-insert-matching-regexp nil)
+ ;; Feed it some regex that will never match.
+ (comint-redirect-finished-regexp "^\\'$")
+ (comint-redirect-output-buffer redirect-buffer))
+ ;; Compatibility with Emacs 24.x. Comint changed and
+ ;; now `comint-redirect-filter' gets 3 args. This
+ ;; checks which version of `comint-redirect-filter' is
+ ;; in use based on its args and uses `apply-partially'
+ ;; to make it up for the 3 args case.
+ (if (= (length
+ (help-function-arglist 'comint-redirect-filter)) 3)
+ (set-process-filter
+ process (apply-partially
+ #'comint-redirect-filter original-filter-fn))
+ (set-process-filter process #'comint-redirect-filter))
+ (process-send-string process input-to-send)
+ (accept-process-output
+ process
+ python-shell-completion-native-output-timeout)
+ ;; XXX: can't use `python-shell-accept-process-output'
+ ;; here because there are no guarantees on how output
+ ;; ends. The workaround here is to call
+ ;; `accept-process-output' until we don't find anything
+ ;; else to accept.
+ (while (accept-process-output
+ process
+ python-shell-completion-native-output-timeout))
+ (cl-remove-duplicates
+ (split-string
+ (buffer-substring-no-properties
+ (point-min) (point-max))
+ separators t))))
+ (set-process-filter process original-filter-fn)))))
+
(defun python-shell-completion-get-completions (process import input)
"Do completion at point using PROCESS for IMPORT or INPUT.
When IMPORT is non-nil takes precedence over INPUT for
last-prompt-end
(forward-char (length (match-string-no-properties 0)))
(point))))
- (end (point)))
+ (end (point))
+ (completion-fn
+ (if python-shell-completion-native-enable
+ #'python-shell-completion-native-get-completions
+ #'python-shell-completion-get-completions)))
(list start end
(completion-table-dynamic
(apply-partially
- #'python-shell-completion-get-completions
+ completion-fn
process import-statement)))))
(define-obsolete-function-alias
(* whitespace) line-end))
(string-equal "" (match-string-no-properties 1))))
+(defun python-info-encoding-from-cookie ()
+ "Detect current buffer's encoding from its coding cookie.
+Returns the encoding as a symbol."
+ (let ((first-two-lines
+ (save-excursion
+ (save-restriction
+ (widen)
+ (goto-char (point-min))
+ (forward-line 2)
+ (buffer-substring-no-properties
+ (point)
+ (point-min))))))
+ (when (string-match (python-rx coding-cookie) first-two-lines)
+ (intern (match-string-no-properties 1 first-two-lines)))))
+
+(defun python-info-encoding ()
+ "Return encoding for file.
+Try `python-info-encoding-from-cookie', if none is found then
+default to utf-8."
+ ;; If no encoding is defined, then it's safe to use UTF-8: Python 2
+ ;; uses ASCII as default while Python 3 uses UTF-8. This means that
+ ;; in the worst case scenario python.el will make things work for
+ ;; Python 2 files with unicode data and no encoding defined.
+ (or (python-info-encoding-from-cookie)
+ 'utf-8))
+
\f
;;; Utility functions
;;; ruby-mode.el --- Major mode for editing Ruby files
-;; Copyright (C) 1994-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-2015 Free Software Foundation, Inc.
;; Authors: Yukihiro Matsumoto
;; Nobuyoshi Nakada
;;; scheme.el --- Scheme (and DSSSL) editing mode -*- lexical-binding: t; -*-
-;; Copyright (C) 1986-1988, 1997-1998, 2001-2014 Free Software
+;; Copyright (C) 1986-1988, 1997-1998, 2001-2015 Free Software
;; Foundation, Inc.
;; Author: Bill Rozas <jinx@martigny.ai.mit.edu>
;;; sh-script.el --- shell-script editing commands for Emacs -*- lexical-binding:t -*-
-;; Copyright (C) 1993-1997, 1999, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1997, 1999, 2001-2015 Free Software Foundation,
+;; Inc.
;; Author: Daniel Pfeiffer <occitan@esperanto.org>
;; Version: 2.0f
(sh-make-vars-local))
(message "Indentation setup for shell type %s" sh-shell))
(message "No indentation for this shell type.")
- (setq indent-line-function 'sh-basic-indent-line))
+ (setq-local indent-line-function 'sh-basic-indent-line))
(when font-lock-mode
(setq font-lock-set-defaults nil)
(font-lock-set-defaults)
;;; simula.el --- SIMULA 87 code editing commands for Emacs
-;; Copyright (C) 1992, 1994, 1996, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1992, 1994, 1996, 2001-2015 Free Software Foundation,
;; Inc.
;; Author: Hans Henrik Eriksen <hhe@ifi.uio.no>
;;; sql.el --- specialized comint.el for SQL interpreters -*- lexical-binding: t -*-
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Alex Schroeder <alex@gnu.org>
;; Maintainer: Michael Mauger <michael@mauger.com>
;;; subword.el --- Handling capitalized subwords in a nomenclature -*- lexical-binding: t -*-
-;; Copyright (C) 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
;; Author: Masatake YAMATO
;;; tcl.el --- Tcl code editing commands for Emacs
-;; Copyright (C) 1994, 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994, 1998-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Author: Tom Tromey <tromey@redhat.com>
;;; vera-mode.el --- major mode for editing Vera files
-;; Copyright (C) 1997-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2015 Free Software Foundation, Inc.
;; Author: Reto Zimmermann <reto@gnu.org>
;; Maintainer: Reto Zimmermann <reto@gnu.org>
;;; verilog-mode.el --- major mode for editing verilog source in Emacs
-;; Copyright (C) 1996-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2015 Free Software Foundation, Inc.
;; Author: Michael McNamara <mac@verilog.com>
;; Wilson Snyder <wsnyder@wsnyder.org>
;;; vhdl-mode.el --- major mode for editing VHDL code
-;; Copyright (C) 1992-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1992-2015 Free Software Foundation, Inc.
;; Authors: Reto Zimmermann <reto@gnu.org>
;; Rodney J. Whitby <software.vhdl-mode@rwhitby.net>
;;; which-func.el --- print current function in mode line
-;; Copyright (C) 1994, 1997-1998, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1994, 1997-1998, 2001-2015 Free Software Foundation,
;; Inc.
;; Author: Alex Rezinsky <alexr@msil.sps.mot.com>
--- /dev/null
+;; xref.el --- Cross-referencing commands -*-lexical-binding:t-*-
+
+;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This file provides a somewhat generic infrastructure for cross
+;; referencing commands, in particular "find-definition".
+;;
+;; Some part of the functionality must be implemented in a language
+;; dependent way and that's done by defining `xref-find-function',
+;; `xref-identifier-at-point-function' and
+;; `xref-identifier-completion-table-function', which see.
+;;
+;; A major mode should make these variables buffer-local first.
+;;
+;; `xref-find-function' can be called in several ways, see its
+;; description. It has to operate with "xref" and "location" values.
+;;
+;; One would usually call `make-xref' and `xref-make-file-location',
+;; `xref-make-buffer-location' or `xref-make-bogus-location' to create
+;; them.
+;;
+;; Each identifier must be represented as a string. Implementers can
+;; use string properties to store additional information about the
+;; identifier, but they should keep in mind that values returned from
+;; `xref-identifier-completion-table-function' should still be
+;; distinct, because the user can't see the properties when making the
+;; choice.
+;;
+;; See the functions `etags-xref-find' and `elisp-xref-find' for full
+;; examples.
+
+;;; Code:
+
+(require 'cl-lib)
+(require 'eieio)
+(require 'ring)
+
+(defgroup xref nil "Cross-referencing commands"
+ :group 'tools)
+
+\f
+;;; Locations
+
+(defclass xref-location () ()
+ :documentation "A location represents a position in a file or buffer.")
+
+;; If a backend decides to subclass xref-location it can provide
+;; methods for some of the following functions:
+(defgeneric xref-location-marker (location)
+ "Return the marker for LOCATION.")
+
+(defgeneric xref-location-group (location)
+ "Return a string used to group a set of locations.
+This is typically the filename.")
+
+;;;; Commonly needed location classes are defined here:
+
+;; FIXME: might be useful to have an optional "hint" i.e. a string to
+;; search for in case the line number is sightly out of date.
+(defclass xref-file-location (xref-location)
+ ((file :type string :initarg :file)
+ (line :type fixnum :initarg :line)
+ (column :type fixnum :initarg :column))
+ :documentation "A file location is a file/line/column triple.
+Line numbers start from 1 and columns from 0.")
+
+(defun xref-make-file-location (file line column)
+ "Create and return a new xref-file-location."
+ (make-instance 'xref-file-location :file file :line line :column column))
+
+(defmethod xref-location-marker ((l xref-file-location))
+ (with-slots (file line column) l
+ (with-current-buffer
+ (or (get-file-buffer file)
+ (let ((find-file-suppress-same-file-warnings t))
+ (find-file-noselect file)))
+ (save-restriction
+ (widen)
+ (save-excursion
+ (goto-char (point-min))
+ (beginning-of-line line)
+ (move-to-column column)
+ (point-marker))))))
+
+(defmethod xref-location-group ((l xref-file-location))
+ (oref l :file))
+
+(defclass xref-buffer-location (xref-location)
+ ((buffer :type buffer :initarg :buffer)
+ (position :type fixnum :initarg :position)))
+
+(defun xref-make-buffer-location (buffer position)
+ "Create and return a new xref-buffer-location."
+ (make-instance 'xref-buffer-location :buffer buffer :position position))
+
+(defmethod xref-location-marker ((l xref-buffer-location))
+ (with-slots (buffer position) l
+ (let ((m (make-marker)))
+ (move-marker m position buffer))))
+
+(defmethod xref-location-group ((l xref-buffer-location))
+ (with-slots (buffer) l
+ (or (buffer-file-name buffer)
+ (format "(buffer %s)" (buffer-name buffer)))))
+
+(defclass xref-bogus-location (xref-location)
+ ((message :type string :initarg :message
+ :reader xref-bogus-location-message))
+ :documentation "Bogus locations are sometimes useful to
+indicate errors, e.g. when we know that a function exists but the
+actual location is not known.")
+
+(defun xref-make-bogus-location (message)
+ "Create and return a new xref-bogus-location."
+ (make-instance 'xref-bogus-location :message message))
+
+(defmethod xref-location-marker ((l xref-bogus-location))
+ (user-error "%s" (oref l :message)))
+
+(defmethod xref-location-group ((_ xref-bogus-location)) "(No location)")
+
+;; This should be in elisp-mode.el, but it's preloaded, and we can't
+;; preload defclass and defmethod (at least, not yet).
+(defclass xref-elisp-location (xref-location)
+ ((symbol :type symbol :initarg :symbol)
+ (type :type symbol :initarg :type)
+ (file :type string :initarg :file
+ :reader xref-location-group))
+ :documentation "Location of an Emacs Lisp symbol definition.")
+
+(defun xref-make-elisp-location (symbol type file)
+ (make-instance 'xref-elisp-location :symbol symbol :type type :file file))
+
+(defmethod xref-location-marker ((l xref-elisp-location))
+ (with-slots (symbol type file) l
+ (let ((buffer-point
+ (pcase type
+ (`defun (find-function-search-for-symbol symbol nil file))
+ ((or `defvar `defface)
+ (find-function-search-for-symbol symbol type file))
+ (`feature
+ (cons (find-file-noselect file) 1)))))
+ (with-current-buffer (car buffer-point)
+ (goto-char (or (cdr buffer-point) (point-min)))
+ (point-marker)))))
+
+\f
+;;; Cross-reference
+
+(defclass xref--xref ()
+ ((description :type string :initarg :description
+ :reader xref--xref-description)
+ (location :type xref-location :initarg :location
+ :reader xref--xref-location))
+ :comment "An xref is used to display and locate constructs like
+variables or functions.")
+
+(defun xref-make (description location)
+ "Create and return a new xref.
+DESCRIPTION is a short string to describe the xref.
+LOCATION is an `xref-location'."
+ (make-instance 'xref--xref :description description :location location))
+
+\f
+;;; API
+
+(declare-function etags-xref-find "etags" (action id))
+(declare-function tags-lazy-completion-table "etags" ())
+
+;; For now, make the etags backend the default.
+(defvar xref-find-function #'etags-xref-find
+ "Function to look for cross-references.
+It can be called in several ways:
+
+ (definitions IDENTIFIER): Find definitions of IDENTIFIER. The
+result must be a list of xref objects. If no definitions can be
+found, return nil.
+
+ (references IDENTIFIER): Find references of IDENTIFIER. The
+result must be a list of xref objects. If no references can be
+found, return nil.
+
+ (apropos PATTERN): Find all symbols that match PATTERN. PATTERN
+is a regexp.
+
+IDENTIFIER can be any string returned by
+`xref-identifier-at-point-function', or from the table returned
+by `xref-identifier-completion-table-function'.
+
+To create an xref object, call `xref-make'.")
+
+(defvar xref-identifier-at-point-function #'xref-default-identifier-at-point
+ "Function to get the relevant identifier at point.
+
+The return value must be a string or nil. nil means no
+identifier at point found.
+
+If it's hard to determine the identifier precisely (e.g., because
+it's a method call on unknown type), the implementation can
+return a simple string (such as symbol at point) marked with a
+special text property which `xref-find-function' would recognize
+and then delegate the work to an external process.")
+
+(defvar xref-identifier-completion-table-function #'tags-lazy-completion-table
+ "Function that returns the completion table for identifiers.")
+
+(defun xref-default-identifier-at-point ()
+ (let ((thing (thing-at-point 'symbol)))
+ (and thing (substring-no-properties thing))))
+
+\f
+;;; misc utilities
+(defun xref--alistify (list key test)
+ "Partition the elements of LIST into an alist.
+KEY extracts the key from an element and TEST is used to compare
+keys."
+ (let ((alist '()))
+ (dolist (e list)
+ (let* ((k (funcall key e))
+ (probe (cl-assoc k alist :test test)))
+ (if probe
+ (setcdr probe (cons e (cdr probe)))
+ (push (cons k (list e)) alist))))
+ ;; Put them back in order.
+ (cl-loop for (key . value) in (reverse alist)
+ collect (cons key (reverse value)))))
+
+(defun xref--insert-propertized (props &rest strings)
+ "Insert STRINGS with text properties PROPS."
+ (let ((start (point)))
+ (apply #'insert strings)
+ (add-text-properties start (point) props)))
+
+(defun xref--search-property (property &optional backward)
+ "Search the next text range where text property PROPERTY is non-nil.
+Return the value of PROPERTY. If BACKWARD is non-nil, search
+backward."
+ (let ((next (if backward
+ #'previous-single-char-property-change
+ #'next-single-char-property-change))
+ (start (point))
+ (value nil))
+ (while (progn
+ (goto-char (funcall next (point) property))
+ (not (or (setq value (get-text-property (point) property))
+ (eobp)
+ (bobp)))))
+ (cond (value)
+ (t (goto-char start) nil))))
+
+\f
+;;; Marker stack (M-. pushes, M-, pops)
+
+(defcustom xref-marker-ring-length 16
+ "Length of the xref marker ring."
+ :type 'integer
+ :version "25.1")
+
+(defvar xref--marker-ring (make-ring xref-marker-ring-length)
+ "Ring of markers to implement the marker stack.")
+
+(defun xref-push-marker-stack ()
+ "Add point to the marker stack."
+ (ring-insert xref--marker-ring (point-marker)))
+
+;;;###autoload
+(defun xref-pop-marker-stack ()
+ "Pop back to where \\[xref-find-definitions] was last invoked."
+ (interactive)
+ (let ((ring xref--marker-ring))
+ (when (ring-empty-p ring)
+ (error "Marker stack is empty"))
+ (let ((marker (ring-remove ring 0)))
+ (switch-to-buffer (or (marker-buffer marker)
+ (error "The marked buffer has been deleted")))
+ (goto-char (marker-position marker))
+ (set-marker marker nil nil))))
+
+;; etags.el needs this
+(defun xref-clear-marker-stack ()
+ "Discard all markers from the marker stack."
+ (let ((ring xref--marker-ring))
+ (while (not (ring-empty-p ring))
+ (let ((marker (ring-remove ring)))
+ (set-marker marker nil nil)))))
+
+(defun xref-marker-stack-empty-p ()
+ "Return t if the marker stack is empty; nil otherwise."
+ (ring-empty-p xref--marker-ring))
+
+\f
+(defun xref--goto-location (location)
+ "Set buffer and point according to xref-location LOCATION."
+ (let ((marker (xref-location-marker location)))
+ (set-buffer (marker-buffer marker))
+ (cond ((and (<= (point-min) marker) (<= marker (point-max))))
+ (widen-automatically (widen))
+ (t (error "Location is outside accessible part of buffer")))
+ (goto-char marker)))
+
+(defun xref--pop-to-location (location &optional window)
+ "Goto xref-location LOCATION and display the buffer.
+WINDOW controls how the buffer is displayed:
+ nil -- switch-to-buffer
+ 'window -- pop-to-buffer (other window)
+ 'frame -- pop-to-buffer (other frame)"
+ (xref--goto-location location)
+ (cl-ecase window
+ ((nil) (switch-to-buffer (current-buffer)))
+ (window (pop-to-buffer (current-buffer) t))
+ (frame (let ((pop-up-frames t)) (pop-to-buffer (current-buffer) t)))))
+
+\f
+;;; XREF buffer (part of the UI)
+
+;; The xref buffer is used to display a set of xrefs.
+
+(defvar-local xref--window-configuration nil)
+
+(defun xref--display-position (pos other-window recenter-arg)
+ ;; show the location, but don't hijack focus.
+ (with-selected-window (display-buffer (current-buffer) other-window)
+ (goto-char pos)
+ (recenter recenter-arg)))
+
+(defun xref--show-location (location)
+ (condition-case err
+ (progn
+ (xref--goto-location location)
+ (xref--display-position (point) t 1))
+ (user-error (message (error-message-string err)))))
+
+(defun xref-show-location-at-point ()
+ "Display the source of xref at point in the other window, if any."
+ (interactive)
+ (let ((loc (xref--location-at-point)))
+ (when loc
+ (setq xref--window-configuration (current-window-configuration))
+ (xref--show-location loc))))
+
+(defun xref--restore-window-configuration ()
+ (when xref--window-configuration
+ (set-window-configuration xref--window-configuration)
+ (setq xref--window-configuration nil)))
+
+(defun xref-next-line ()
+ "Move to the next xref and display its source in the other window."
+ (interactive)
+ (xref--search-property 'xref-location)
+ (xref-show-location-at-point))
+
+(defun xref-prev-line ()
+ "Move to the previous xref and display its source in the other window."
+ (interactive)
+ (xref--search-property 'xref-location t)
+ (xref-show-location-at-point))
+
+(defun xref--location-at-point ()
+ (get-text-property (point) 'xref-location))
+
+(defvar-local xref--window nil)
+
+(defun xref-goto-xref ()
+ "Jump to the xref at point and bury the xref buffer."
+ (interactive)
+ (let ((loc (or (xref--location-at-point)
+ (error "No reference at point")))
+ (window xref--window))
+ (quit-window)
+ (xref--pop-to-location loc window)))
+
+(define-derived-mode xref--xref-buffer-mode fundamental-mode "XREF"
+ "Mode for displaying cross-references."
+ (setq buffer-read-only t)
+ (add-hook 'pre-command-hook #'xref--restore-window-configuration nil t))
+
+(let ((map xref--xref-buffer-mode-map))
+ (define-key map (kbd "q") #'quit-window)
+ (define-key map (kbd "n") #'xref-next-line)
+ (define-key map (kbd "p") #'xref-prev-line)
+ (define-key map (kbd "RET") #'xref-goto-xref)
+ (define-key map (kbd "C-o") #'xref-show-location-at-point)
+
+ ;; suggested by Johan Claesson "to further reduce finger movement":
+ (define-key map (kbd ".") #'xref-next-line)
+ (define-key map (kbd ",") #'xref-prev-line))
+
+(defconst xref-buffer-name "*xref*"
+ "The name of the buffer to show xrefs.")
+
+(defvar xref--button-map
+ (let ((map (make-sparse-keymap)))
+ (define-key map [(control ?m)] #'xref-goto-xref)
+ (define-key map [mouse-1] #'xref-goto-xref)
+ (define-key map [mouse-2] #'xref--mouse-2)
+ map))
+
+(defun xref--mouse-2 (event)
+ "Move point to the button and show the xref definition."
+ (interactive "e")
+ (mouse-set-point event)
+ (forward-line 0)
+ (xref--search-property 'xref-location)
+ (xref-show-location-at-point))
+
+(defun xref--insert-xrefs (xref-alist)
+ "Insert XREF-ALIST in the current-buffer.
+XREF-ALIST is of the form ((GROUP . (XREF ...)) ...). Where
+GROUP is a string for decoration purposes and XREF is an
+`xref--xref' object."
+ (cl-loop for ((group . xrefs) . more1) on xref-alist do
+ (xref--insert-propertized '(face bold) group "\n")
+ (cl-loop for (xref . more2) on xrefs do
+ (insert " ")
+ (with-slots (description location) xref
+ (xref--insert-propertized
+ (list 'xref-location location
+ 'face 'font-lock-keyword-face
+ 'mouse-face 'highlight
+ 'keymap xref--button-map
+ 'help-echo "mouse-2: display, RET or mouse-1: navigate")
+ description))
+ (when (or more1 more2)
+ (insert "\n")))))
+
+(defun xref--analyze (xrefs)
+ "Find common filenames in XREFS.
+Return an alist of the form ((FILENAME . (XREF ...)) ...)."
+ (xref--alistify xrefs
+ (lambda (x)
+ (xref-location-group (xref--xref-location x)))
+ #'equal))
+
+(defun xref--show-xref-buffer (xrefs window)
+ (let ((xref-alist (xref--analyze xrefs)))
+ (with-current-buffer (get-buffer-create xref-buffer-name)
+ (let ((inhibit-read-only t))
+ (erase-buffer)
+ (xref--insert-xrefs xref-alist)
+ (xref--xref-buffer-mode)
+ (pop-to-buffer (current-buffer))
+ (goto-char (point-min))
+ (setq xref--window window)
+ (current-buffer)))))
+
+\f
+;; This part of the UI seems fairly uncontroversial: it reads the
+;; identifier and deals with the single definition case.
+;;
+;; The controversial multiple definitions case is handed off to
+;; xref-show-xrefs-function.
+
+(defvar xref-show-xrefs-function 'xref--show-xref-buffer
+ "Function to display a list of xrefs.")
+
+(defun xref--show-xrefs (id kind xrefs window)
+ (cond
+ ((null xrefs)
+ (user-error "No known %s for: %s" kind id))
+ ((not (cdr xrefs))
+ (xref-push-marker-stack)
+ (xref--pop-to-location (xref--xref-location (car xrefs)) window))
+ (t
+ (xref-push-marker-stack)
+ (funcall xref-show-xrefs-function xrefs window))))
+
+(defun xref--read-identifier (prompt)
+ "Return the identifier at point or read it from the minibuffer."
+ (let ((id (funcall xref-identifier-at-point-function)))
+ (cond ((or current-prefix-arg (not id))
+ (completing-read prompt
+ (funcall xref-identifier-completion-table-function)
+ nil t id))
+ (t id))))
+
+\f
+;;; Commands
+
+(defun xref--find-definitions (id window)
+ (xref--show-xrefs id "definitions"
+ (funcall xref-find-function 'definitions id)
+ window))
+
+;;;###autoload
+(defun xref-find-definitions (identifier)
+ "Find the definition of the identifier at point.
+With prefix argument or when there's no identifier at point,
+prompt for it."
+ (interactive (list (xref--read-identifier "Find definitions of: ")))
+ (xref--find-definitions identifier nil))
+
+;;;###autoload
+(defun xref-find-definitions-other-window (identifier)
+ "Like `xref-find-definitions' but switch to the other window."
+ (interactive (list (xref--read-identifier "Find definitions of: ")))
+ (xref--find-definitions identifier 'window))
+
+;;;###autoload
+(defun xref-find-definitions-other-frame (identifier)
+ "Like `xref-find-definitions' but switch to the other frame."
+ (interactive (list (xref--read-identifier "Find definitions of: ")))
+ (xref--find-definitions identifier 'frame))
+
+;;;###autoload
+(defun xref-find-references (identifier)
+ "Find references to the identifier at point.
+With prefix argument, prompt for the identifier."
+ (interactive (list (xref--read-identifier "Find references of: ")))
+ (xref--show-xrefs identifier "references"
+ (funcall xref-find-function 'references identifier)
+ nil))
+
+;;;###autoload
+(defun xref-find-apropos (pattern)
+ "Find all meaningful symbols that match PATTERN.
+The argument has the same meaning as in `apropos'."
+ (interactive (list (read-from-minibuffer
+ "Search for pattern (word list or regexp): ")))
+ (require 'apropos)
+ (xref--show-xrefs pattern "apropos"
+ (funcall xref-find-function 'apropos
+ (apropos-parse-pattern
+ (if (string-equal (regexp-quote pattern) pattern)
+ ;; Split into words
+ (or (split-string pattern "[ \t]+" t)
+ (user-error "No word list given"))
+ pattern)))
+ nil))
+
+\f
+;;; Key bindings
+
+;;;###autoload (define-key esc-map "." #'xref-find-definitions)
+;;;###autoload (define-key esc-map "," #'xref-pop-marker-stack)
+;;;###autoload (define-key esc-map [?\C-.] #'xref-find-apropos)
+;;;###autoload (define-key ctl-x-4-map "." #'xref-find-definitions-other-window)
+;;;###autoload (define-key ctl-x-5-map "." #'xref-find-definitions-other-frame)
+
+\f
+(provide 'xref)
+
+;;; xref.el ends here
;;; xscheme.el --- run MIT Scheme under Emacs -*- lexical-binding: t; -*-
-;; Copyright (C) 1986-1987, 1989-1990, 2001-2014 Free Software
+;; Copyright (C) 1986-1987, 1989-1990, 2001-2015 Free Software
;; Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;;; ps-bdf.el --- BDF font file handler for ps-print
-;; Copyright (C) 1998-1999, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-1999, 2001-2015 Free Software Foundation, Inc.
;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
;; 2008, 2009, 2010, 2011
;; National Institute of Advanced Industrial Science and Technology (AIST)
;;; ps-def.el --- XEmacs and Emacs definitions for ps-print
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Kenichi Handa <handa@m17n.org> (multi-byte characters)
;;; ps-mule.el --- provide multi-byte character facility to ps-print
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Kenichi Handa <handa@m17n.org> (multi-byte characters)
;;; ps-print.el --- print text from the buffer as PostScript
-;; Copyright (C) 1993-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993-2015 Free Software Foundation, Inc.
;; Author: Jim Thompson (was <thompson@wg2.waii.com>)
;; Jacques Duthen (was <duthen@cegelec-red.fr>)
;; To make this file smaller, some commands go in a separate file.
;; But autoload them here to make the separation invisible.
\f
-;;;### (autoloads nil "ps-mule" "ps-mule.el" "173235d6520575a877c25be437fb9e5f")
+;;;### (autoloads nil "ps-mule" "ps-mule.el" "231b07356e5a37ebf517c613a3a12bba")
;;; Generated autoloads from ps-mule.el
(defvar ps-multibyte-buffer nil "\
;;; ps-samp.el --- ps-print sample setup code
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Jim Thompson (was <thompson@wg2.waii.com>)
;; Jacques Duthen (was <duthen@cegelec-red.fr>)
;;; recentf.el --- setup a menu of recently opened files
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: David Ponce <david@dponce.com>
;; Created: July 19 1999
;;; rect.el --- rectangle functions for GNU Emacs -*- lexical-binding:t -*-
-;; Copyright (C) 1985, 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1999-2015 Free Software Foundation, Inc.
;; Maintainer: Didier Verna <didier@xemacs.org>
;; Keywords: internal
;;; register.el --- register commands for Emacs -*- lexical-binding: t; -*-
-;; Copyright (C) 1985, 1993-1994, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1985, 1993-1994, 2001-2015 Free Software Foundation,
;; Inc.
;; Maintainer: emacs-devel@gnu.org
;;; repeat.el --- convenient way to repeat the previous command -*- lexical-binding: t -*-
-;; Copyright (C) 1998, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2001-2015 Free Software Foundation, Inc.
;; Author: Will Mengarini <seldon@eskimo.com>
;; Created: Mo 02 Mar 98
;;; replace.el --- replace commands for Emacs
-;; Copyright (C) 1985-1987, 1992, 1994, 1996-1997, 2000-2014 Free
+;; Copyright (C) 1985-1987, 1992, 1994, 1996-1997, 2000-2015 Free
;; Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;;; reposition.el --- center a Lisp function or comment on the screen
-;; Copyright (C) 1991, 1994, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1991, 1994, 2001-2015 Free Software Foundation, Inc.
;; Author: Michael D. Ernst <mernst@theory.lcs.mit.edu>
;; Created: Jan 1991
;;; reveal.el --- Automatically reveal hidden text at point -*- lexical-binding: t -*-
-;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
;; Keywords: outlines
;;; rfn-eshadow.el --- Highlight `shadowed' part of read-file-name input text
;;
-;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
;;
;; Author: Miles Bader <miles@gnu.org>
;; Keywords: convenience minibuffer
;;; rot13.el --- display a buffer in ROT13
-;; Copyright (C) 1988, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1988, 2001-2015 Free Software Foundation, Inc.
;; Author: Howard Gayle
;; Maintainer: emacs-devel@gnu.org
;;; ruler-mode.el --- display a ruler in the header line
-;; Copyright (C) 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2015 Free Software Foundation, Inc.
;; Author: David Ponce <david@dponce.com>
;; Maintainer: David Ponce <david@dponce.com>
;;; savehist.el --- Save minibuffer history
-;; Copyright (C) 1997, 2005-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2005-2015 Free Software Foundation, Inc.
;; Author: Hrvoje Niksic <hniksic@xemacs.org>
;; Maintainer: emacs-devel@gnu.org
;;; saveplace.el --- automatically save place in files
-;; Copyright (C) 1993-1994, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1994, 2001-2015 Free Software Foundation, Inc.
;; Author: Karl Fogel <kfogel@red-bean.com>
;; Maintainer: emacs-devel@gnu.org
:version "24.1"
:type 'regexp :group 'save-place)
+(declare-function dired-current-directory "dired" (&optional localp))
+
(defun toggle-save-place (&optional parg)
"Toggle whether to save your place in this file between sessions.
If this mode is enabled, point is recorded when you kill the buffer
\(setq-default save-place t)"
(interactive "P")
(if (not (or buffer-file-name (and (derived-mode-p 'dired-mode)
- dired-directory)))
+ (dired-current-directory))))
(message "Buffer `%s' not visiting a file or directory" (buffer-name))
(setq save-place (if parg
(> (prefix-numeric-value parg) 0)
;; file. If not, do so, then feel free to modify the alist. It
;; will be saved again when Emacs is killed.
(or save-place-loaded (load-save-place-alist-from-file))
- (let ((item (or buffer-file-name
- (and (derived-mode-p 'dired-mode)
- dired-directory
- (expand-file-name (if (consp dired-directory)
- (car dired-directory)
- dired-directory))))))
+ (let* ((directory (and (derived-mode-p 'dired-mode)
+ (dired-current-directory)))
+ (item (or buffer-file-name
+ (and directory
+ (expand-file-name (if (consp directory)
+ (car directory)
+ directory))))))
(when (and item
(or (not save-place-ignore-files-regexp)
(not (string-match save-place-ignore-files-regexp
(position (cond ((eq major-mode 'hexl-mode)
(with-no-warnings
(1+ (hexl-current-address))))
- ((and (derived-mode-p 'dired-mode)
- dired-directory)
+ ((and (derived-mode-p 'dired-mode) directory)
(let ((filename (dired-get-filename nil t)))
(if filename
`((dired-filename . ,filename))
;; save-place checks buffer-file-name too, but we can avoid
;; overhead of function call by checking here too.
(and (or buffer-file-name (and (derived-mode-p 'dired-mode)
- dired-directory))
+ (dired-current-directory)))
(save-place-to-alist))
(setq buf-list (cdr buf-list))))))
(defun save-place-dired-hook ()
"Position the point in a Dired buffer."
(or save-place-loaded (load-save-place-alist-from-file))
- (let ((cell (assoc (and (derived-mode-p 'dired-mode)
- dired-directory
- (expand-file-name (if (consp dired-directory)
- (car dired-directory)
- dired-directory)))
- save-place-alist)))
+ (let* ((directory (and (derived-mode-p 'dired-mode)
+ (dired-current-directory)))
+ (cell (assoc (and directory
+ (expand-file-name (if (consp directory)
+ (car directory)
+ directory)))
+ save-place-alist)))
(if cell
(progn
(or revert-buffer-in-progress-p
- (if (integerp (cdr cell))
- (goto-char (cdr cell))
- (and (assq 'dired-filename (cdr cell))
- (dired-goto-file (cdr (assq 'dired-filename (cdr cell)))))))
+ (cond
+ ((integerp (cdr cell))
+ (goto-char (cdr cell)))
+ ((and (listp (cdr cell)) (assq 'dired-filename (cdr cell)))
+ (dired-goto-file (cdr (assq 'dired-filename (cdr cell)))))))
;; and make sure it will be saved again for later
(setq save-place t)))))
;;; sb-image --- Image management for speedbar
-;; Copyright (C) 1999-2003, 2005-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2003, 2005-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Keywords: file, tags, tools
;;; scroll-all.el --- scroll all buffers together minor mode
-;; Copyright (C) 1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2015 Free Software Foundation, Inc.
;; Author: Gary D. Foster <Gary.Foster@corp.sun.com>
;; Keywords: convenience scroll lock
;;; scroll-bar.el --- window system-independent scroll bar support
-;; Copyright (C) 1993-1995, 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1995, 1999-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: hardware
;;; scroll-lock.el --- Scroll lock scrolling.
-;; Copyright (C) 2005-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
;; Author: Ralf Angeli <angeli@iwi.uni-sb.de>
;; Maintainer: emacs-devel@gnu.org
;;; select.el --- lisp portion of standard selection support -*- lexical-binding:t -*-
-;; Copyright (C) 1993-1994, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1994, 2001-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: internal
;;; server.el --- Lisp code for GNU Emacs running as server process -*- lexical-binding: t -*-
-;; Copyright (C) 1986-1987, 1992, 1994-2014 Free Software Foundation,
+;; Copyright (C) 1986-1987, 1992, 1994-2015 Free Software Foundation,
;; Inc.
;; Author: William Sommerfeld <wesommer@athena.mit.edu>
;;; ses.el -- Simple Emacs Spreadsheet -*- lexical-binding:t -*-
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;; Author: Jonathan Yavner <jyavner@member.fsf.org>
;; Maintainer: Vincent Belaïche <vincentb1@users.sourceforge.net>
;;; shadowfile.el --- automatic file copying
-;; Copyright (C) 1993-1994, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1994, 2001-2015 Free Software Foundation, Inc.
;; Author: Boris Goldowsky <boris@gnu.org>
;; Keywords: comm files
;;; shell.el --- specialized comint.el for running the shell -*- lexical-binding: t -*-
-;; Copyright (C) 1988, 1993-1997, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1988, 1993-1997, 2000-2015 Free Software Foundation,
+;; Inc.
;; Author: Olin Shivers <shivers@cs.cmu.edu>
;; Simon Marshall <simon@gnu.org>
;; The buffer's window must be correctly set when we call comint (so
;; that comint sets the COLUMNS env var properly).
- (pop-to-buffer-same-window buffer)
+ (pop-to-buffer buffer)
(unless (comint-check-proc buffer)
(let* ((prog (or explicit-shell-file-name
(getenv "ESHELL") shell-file-name))
;;; simple.el --- basic editing commands for Emacs -*- lexical-binding: t -*-
-;; Copyright (C) 1985-1987, 1993-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985-1987, 1993-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: internal
(let ((prefix-arg prefixarg))
(command-execute function 'record))
;; If enabled, show which key runs this command.
- ;; (when binding
;; But first wait, and skip the message if there is input.
(let* ((waited
;; If this command displayed something in the echo area;
;; FIXME: Wait *after* running post-command-hook!
;; FIXME: Don't wait if execute-extended-command--shorter won't
;; find a better answer anyway!
- (sit-for (cond
- ((zerop (length (current-message))) 0)
- ((numberp suggest-key-bindings) suggest-key-bindings)
- (t 2)))))
+ (when suggest-key-bindings
+ (sit-for (cond
+ ((zerop (length (current-message))) 0)
+ ((numberp suggest-key-bindings) suggest-key-bindings)
+ (t 2))))))
(when (and waited (not (consp unread-command-events)))
(unless (or binding executing-kbd-macro (not (symbolp function))
(<= (length (symbol-name function)) 2))
(> (cdr temporary-goal-column) 0))
(setq target-hscroll (cdr temporary-goal-column)))
;; Otherwise, we should reset `temporary-goal-column'.
- (let ((posn (posn-at-point)))
+ (let ((posn (posn-at-point))
+ x-pos)
(cond
;; Handle the `overflow-newline-into-fringe' case:
((eq (nth 1 posn) 'right-fringe)
(setq temporary-goal-column (cons (- (window-width) 1) hscroll)))
((car (posn-x-y posn))
+ (setq x-pos (car (posn-x-y posn)))
+ ;; In R2L lines, the X pixel coordinate is measured from the
+ ;; left edge of the window, but columns are still counted
+ ;; from the logical-order beginning of the line, i.e. from
+ ;; the right edge in this case. We need to adjust for that.
+ (if (eq (current-bidi-paragraph-direction) 'right-to-left)
+ (setq x-pos (- (window-body-width nil t) 1 x-pos)))
(setq temporary-goal-column
- (cons (/ (float (car (posn-x-y posn)))
+ (cons (/ (float x-pos)
(frame-char-width))
hscroll))))))
(if target-hscroll
;;; skeleton.el --- Lisp language extension for writing statement skeletons -*- coding: utf-8 -*-
-;; Copyright (C) 1993-1996, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1996, 2001-2015 Free Software Foundation, Inc.
;; Author: Daniel Pfeiffer <occitan@esperanto.org>
;; Maintainer: emacs-devel@gnu.org
;;; sort.el --- commands to sort text in an Emacs buffer
-;; Copyright (C) 1986-1987, 1994-1995, 2001-2014 Free Software
+;; Copyright (C) 1986-1987, 1994-1995, 2001-2015 Free Software
;; Foundation, Inc.
;; Author: Howie Kaye
;;; soundex.el --- implement Soundex algorithm
-;; Copyright (C) 1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 2001-2015 Free Software Foundation, Inc.
;; Author: Christian Plaunt <chris@bliss.berkeley.edu>
;; Maintainer: emacs-devel@gnu.org
;;; speedbar --- quick access to files and tags in a frame
-;; Copyright (C) 1996-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Keywords: file, tags, tools
;;; startup.el --- process Emacs shell arguments -*- lexical-binding: t -*-
-;; Copyright (C) 1985-1986, 1992, 1994-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985-1986, 1992, 1994-2015 Free Software Foundation,
+;; Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: internal
:set (lambda (_variable _value)
(error "Customizing `site-run-file' does not work")))
+(make-obsolete-variable 'system-name "use (system-name) instead" "25.1")
+
(defcustom mail-host-address nil
"Name of this machine, for purposes of naming users.
If non-nil, Emacs uses this instead of `system-name' when constructing
(goto-char (point-min))))
"\tMany people have contributed code included in GNU Emacs\n"
:link ("Contributing"
- ,(lambda (_button)
- (view-file (expand-file-name "CONTRIBUTE" data-directory))
- (goto-char (point-min))))
+ ,(lambda (_button) (info "(emacs)Contributing")))
"\tHow to contribute improvements to Emacs\n"
"\n"
:link ("GNU and Freedom" ,(lambda (_button) (describe-gnu-project)))
(insert-button "Contributing"
'action
- (lambda (_button)
- (view-file (expand-file-name "CONTRIBUTE" data-directory))
- (goto-char (point-min)))
+ (lambda (_button) (info "(emacs)Contributing"))
'follow-link t)
(insert "\tHow to contribute improvements to Emacs\n\n")
;;; strokes.el --- control Emacs through mouse strokes
-;; Copyright (C) 1997, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2000-2015 Free Software Foundation, Inc.
;; Author: David Bakhash <cadet@alum.mit.edu>
;; Maintainer: emacs-devel@gnu.org
;;; subr.el --- basic lisp subroutines for Emacs -*- coding: utf-8; lexical-binding:t -*-
-;; Copyright (C) 1985-1986, 1992, 1994-1995, 1999-2014 Free Software
+;; Copyright (C) 1985-1986, 1992, 1994-1995, 1999-2015 Free Software
;; Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
(make-obsolete-variable 'redisplay-end-trigger-functions 'jit-lock-register "23.1")
(make-obsolete-variable 'deferred-action-list 'post-command-hook "24.1")
(make-obsolete-variable 'deferred-action-function 'post-command-hook "24.1")
+(make-obsolete-variable 'redisplay-dont-pause nil "24.5")
(make-obsolete 'window-redisplay-end-trigger nil "23.1")
(make-obsolete 'set-window-redisplay-end-trigger nil "23.1")
char))
(defun sit-for (seconds &optional nodisp obsolete)
- "Perform redisplay, then wait for SECONDS seconds or until input is available.
+ "Redisplay, then wait for SECONDS seconds. Stop when input is available.
SECONDS may be a floating-point value.
\(On operating systems that do not support waiting for fractions of a
second, floating-point values are rounded down to the nearest integer.)
(declare (advertised-calling-convention (seconds &optional nodisp) "22.1"))
;; This used to be implemented in C until the following discussion:
;; http://lists.gnu.org/archive/html/emacs-devel/2006-07/msg00401.html
- ;; Then it was moved to C using an implementation based on an idle timer,
+ ;; Then it was moved here using an implementation based on an idle timer,
;; which was then replaced by the use of read-event.
(if (numberp nodisp)
(setq seconds (+ seconds (* 1e-3 nodisp))
;; Maintainer: emacs-devel@gnu.org
;; Keywords: mouse gpm linux
-;; Copyright (C) 1994-1995, 1998, 2006-2014 Free Software Foundation,
+;; Copyright (C) 1994-1995, 1998, 2006-2015 Free Software Foundation,
;; Inc.
;; This file is part of GNU Emacs.
;;; tabify.el --- tab conversion commands for Emacs
-;; Copyright (C) 1985, 1994, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1994, 2001-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Package: emacs
;;; talk.el --- allow several users to talk to each other through Emacs
-;; Copyright (C) 1995, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995, 2001-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: comm, frames
;;; tar-mode.el --- simple editing of tar files from GNU Emacs
-;; Copyright (C) 1990-1991, 1993-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1991, 1993-2015 Free Software Foundation, Inc.
;; Author: Jamie Zawinski <jwz@lucid.com>
;; Maintainer: emacs-devel@gnu.org
;;; tempo.el --- Flexible template insertion
-;; Copyright (C) 1994-1995, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1995, 2001-2015 Free Software Foundation, Inc.
;; Author: David Kågedal <davidk@lysator.liu.se>
;; Created: 16 Feb 1994
;;; term.el --- general command interpreter in a window stuff
-;; Copyright (C) 1988, 1990, 1992, 1994-1995, 2001-2014 Free Software
+;; Copyright (C) 1988, 1990, 1992, 1994-1995, 2001-2015 Free Software
;; Foundation, Inc.
;; Author: Per Bothner <per@bothner.com>
;;; AT386.el --- terminal support package for IBM AT keyboards
-;; Copyright (C) 1992, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 2001-2015 Free Software Foundation, Inc.
;; Author: Eric S. Raymond <esr@snark.thyrsus.com>
;; Keywords: terminals
-Copyright (C) 1993, 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 1993, 2001-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
;;; common-win.el --- common part of handling window systems
-;; Copyright (C) 1993-1994, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1994, 2001-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: terminals
;;; internal.el --- support for PC internal terminal
-;; Copyright (C) 1993-1994, 1998-1999, 2001-2014 Free Software
+;; Copyright (C) 1993-1994, 1998-1999, 2001-2015 Free Software
;; Foundation, Inc.
;; Author: Morten Welinder <terra@diku.dk>
;;; iris-ansi.el --- configure Emacs for SGI xwsh and winterm apps
-;; Copyright (C) 1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2015 Free Software Foundation, Inc.
;; Author: Dan Nicolaescu <dann@ics.uci.edu>
;;; news.el --- keypad and function key bindings for the Sony NEWS keyboard
-;; Copyright (C) 1989, 1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1989, 1993, 2001-2015 Free Software Foundation, Inc.
;; Author: FSF
;; Keywords: terminals
;;; ns-win.el --- lisp side of interface with NeXT/Open/GNUstep/MacOS X window system -*- lexical-binding: t -*-
-;; Copyright (C) 1993-1994, 2005-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1994, 2005-2015 Free Software Foundation, Inc.
;; Authors: Carl Edman
;; Christian Limpach
;;; pc-win.el --- setup support for `PC windows' (whatever that is) -*- lexical-binding:t -*-
-;; Copyright (C) 1994, 1996-1997, 1999, 2001-2014 Free Software
+;; Copyright (C) 1994, 1996-1997, 1999, 2001-2015 Free Software
;; Foundation, Inc.
;; Author: Morten Welinder <terra@diku.dk>
;;; rxvt.el --- define function key sequences and standard colors for rxvt
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;; Author: Eli Zaretskii
;; Keywords: terminals
;;; screen.el --- terminal initialization for screen and tmux -*- lexical-binding: t -*-
-;; Copyright (C) 1995, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995, 2001-2015 Free Software Foundation, Inc.
(defun terminal-init-screen ()
"Terminal initialization function for screen."
;;; sun.el --- keybinding for standard default sunterm keys
-;; Copyright (C) 1987, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1987, 2001-2015 Free Software Foundation, Inc.
;; Author: Jeff Peck <peck@sun.com>
;; Keywords: terminals
;;; tty-colors.el --- color support for character terminals
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: Eli Zaretskii
;; Maintainer: emacs-devel@gnu.org
;;; tvi970.el --- terminal support for the Televideo 970
-;; Copyright (C) 1992, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 2001-2015 Free Software Foundation, Inc.
;; Author: Jim Blandy <jimb@occs.cs.oberlin.edu>
;; Keywords: terminals
;;; vt100.el --- define VT100 function key sequences in function-key-map
-;; Copyright (C) 1989, 1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1989, 1993, 2001-2015 Free Software Foundation, Inc.
;; Author: FSF
;; Keywords: terminals
;;; w32-win.el --- parse switches controlling interface with W32 window system -*- lexical-binding: t -*-
-;; Copyright (C) 1993-1994, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1994, 2001-2015 Free Software Foundation, Inc.
;; Author: Kevin Gallo
;; Keywords: terminals
;;; w32console.el -- Setup w32 console keys and colors.
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: FSF
;; Keywords: terminals
;;; wyse50.el --- terminal support code for Wyse 50
-;; Copyright (C) 1989, 1993-1994, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1989, 1993-1994, 2001-2015 Free Software Foundation,
+;; Inc.
;; Author: Daniel Pfeiffer <occitan@esperanto.org>,
;; Jim Blandy <jimb@occs.cs.oberlin.edu>
;;; x-win.el --- parse relevant switches and set up for X -*-coding: iso-2022-7bit; lexical-binding:t -*-
-;; Copyright (C) 1993-1994, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1994, 2001-2015 Free Software Foundation, Inc.
;; Author: FSF
;; Keywords: terminals, i18n
;;; xterm.el --- define function key sequences and standard colors for xterm -*- lexical-binding: t -*-
-;; Copyright (C) 1995, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995, 2001-2015 Free Software Foundation, Inc.
;; Author: FSF
;; Keywords: terminals
;;; artist.el --- draw ascii graphics with your mouse
-;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
;; Author: Tomas Abrahamsson <tab@lysator.liu.se>
;; Maintainer: Tomas Abrahamsson <tab@lysator.liu.se>
;;; bib-mode.el --- major mode for editing bib files
-;; Copyright (C) 1989, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1989, 2001-2015 Free Software Foundation, Inc.
;; Author: Henry Kautz
;; (according to authors.el)
;;; bibtex-style.el --- Major mode for BibTeX Style files -*- lexical-binding: t -*-
-;; Copyright (C) 2005, 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2007-2015 Free Software Foundation, Inc.
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
;; Keywords: tex
;;; bibtex.el --- BibTeX mode for GNU Emacs -*- lexical-binding: t -*-
-;; Copyright (C) 1992, 1994-1999, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1992, 1994-1999, 2001-2015 Free Software Foundation,
;; Inc.
;; Author: Stefan Schoef <schoef@offis.uni-oldenburg.de>
;;; conf-mode.el --- Simple major mode for editing conf/ini/properties files -*- coding: utf-8 -*-
-;; Copyright (C) 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
;; Author: Daniel Pfeiffer <occitan@esperanto.org>
;; Keywords: conf ini windows java
;;; css-mode.el --- Major mode to edit CSS files -*- lexical-binding: t -*-
-;; Copyright (C) 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
;; Keywords: hypermedia
"Major mode to edit \"Sassy CSS\" files."
(setq-local comment-start "// ")
(setq-local comment-end "")
- (setq-local comment-start-skip "/[*/]+[ t]*")
+ (setq-local comment-start-skip "/[*/]+[ \t]*")
(setq-local comment-end-skip "[ \t]*\\(?:\n\\|\\*+/\\)")
(setq-local font-lock-defaults '(scss-font-lock-keywords nil t)))
;;; dns-mode.el --- a mode for viewing/editing Domain Name System master files
-;; Copyright (C) 2000-2001, 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2001, 2004-2015 Free Software Foundation, Inc.
;; Author: Simon Josefsson <simon@josefsson.org>
;; Keywords: DNS master zone file SOA comm
;;; enriched.el --- read and save files in text/enriched format
-;; Copyright (C) 1994-1996, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1996, 2001-2015 Free Software Foundation, Inc.
;; Author: Boris Goldowsky <boris@gnu.org>
;; Keywords: wp, faces
;;; fill.el --- fill commands for Emacs -*- coding: utf-8 -*-
-;; Copyright (C) 1985-1986, 1992, 1994-1997, 1999, 2001-2014 Free
+;; Copyright (C) 1985-1986, 1992, 1994-1997, 1999, 2001-2015 Free
;; Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;;; flyspell.el --- on-the-fly spell checker
-;; Copyright (C) 1998, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2000-2015 Free Software Foundation, Inc.
;; Author: Manuel Serrano <Manuel.Serrano@sophia.inria.fr>
;; Maintainer: emacs-devel@gnu.org
;;; ispell.el --- interface to International Ispell Versions 3.1 and 3.2
-;; Copyright (C) 1994-1995, 1997-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1995, 1997-2015 Free Software Foundation, Inc.
;; Author: Ken Stevens <k.stevens@ieee.org>
;; Maintainer: Ken Stevens <k.stevens@ieee.org>
;;; makeinfo.el --- run makeinfo conveniently
-;; Copyright (C) 1991, 1993, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1991, 1993, 2001-2015 Free Software Foundation, Inc.
;; Author: Robert J. Chassell
;; Maintainer: emacs-devel@gnu.org
;;; nroff-mode.el --- GNU Emacs major mode for editing nroff source
-;; Copyright (C) 1985-1986, 1994-1995, 1997, 2001-2014 Free Software
+;; Copyright (C) 1985-1986, 1994-1995, 1997, 2001-2015 Free Software
;; Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;;; page-ext.el --- extended page handling commands
-;; Copyright (C) 1990-1991, 1993-1994, 2001-2014 Free Software
+;; Copyright (C) 1990-1991, 1993-1994, 2001-2015 Free Software
;; Foundation, Inc.
;; Author: Robert J. Chassell <bob@gnu.org>
;;; page.el --- page motion commands for Emacs
-;; Copyright (C) 1985, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 2001-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: wp convenience
;;; paragraphs.el --- paragraph and sentence parsing
-;; Copyright (C) 1985-1987, 1991, 1994-1997, 1999-2014 Free Software
+;; Copyright (C) 1985-1987, 1991, 1994-1997, 1999-2015 Free Software
;; Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;;; picture.el --- "Picture mode" -- editing using quarter-plane screen model
-;; Copyright (C) 1985, 1994, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1994, 2001-2015 Free Software Foundation, Inc.
;; Author: K. Shane Hartman
;; Maintainer: emacs-devel@gnu.org
;;; po.el --- basic support of PO translation files -*- coding: utf-8; -*-
-;; Copyright (C) 1995-1998, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995-1998, 2000-2015 Free Software Foundation, Inc.
;; Authors: François Pinard <pinard@iro.umontreal.ca>,
;; Greg McGary <gkm@magilla.cichlid.com>,
;;; refbib.el --- convert refer-style references to ones usable by Latex bib
-;; Copyright (C) 1989, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1989, 2001-2015 Free Software Foundation, Inc.
;; Author: Henry Kautz <kautz@research.att.com>
;; Maintainer: emacs-devel@gnu.org
;;; refer.el --- look up references in bibliography files
-;; Copyright (C) 1992, 1996, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 1996, 2001-2015 Free Software Foundation, Inc.
;; Author: Ashwin Ram <ashwin@cc.gatech.edu>
;; Maintainer: Gernot Heiser <gernot@acm.org>
;;; refill.el --- `auto-fill' by refilling paragraphs on changes
-;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
;; Author: Dave Love <fx@gnu.org>
;; Maintainer: Miles Bader <miles@gnu.org>
;;; reftex-auc.el --- RefTeX's interface to AUCTeX
-;; Copyright (C) 1997-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2015 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@science.uva.nl>
;; Maintainer: auctex-devel@gnu.org
;;; reftex-cite.el --- creating citations with RefTeX
-;; Copyright (C) 1997-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2015 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@science.uva.nl>
;; Maintainer: auctex-devel@gnu.org
;;; reftex-dcr.el --- viewing cross references and citations with RefTeX
-;; Copyright (C) 1997-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2015 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@science.uva.nl>
;; Maintainer: auctex-devel@gnu.org
;;; reftex-global.el --- operations on entire documents with RefTeX
-;; Copyright (C) 1997-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2015 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@science.uva.nl>
;; Maintainer: auctex-devel@gnu.org
;;; reftex-index.el --- index support with RefTeX
-;; Copyright (C) 1997-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2015 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@science.uva.nl>
;; Maintainer: auctex-devel@gnu.org
;;; reftex-parse.el --- parser functions for RefTeX
-;; Copyright (C) 1997-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2015 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@science.uva.nl>
;; Maintainer: auctex-devel@gnu.org
;;; reftex-ref.el --- code to create labels and references with RefTeX
-;; Copyright (C) 1997-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2015 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@science.uva.nl>
;; Maintainer: auctex-devel@gnu.org
;;; reftex-sel.el --- the selection modes for RefTeX
-;; Copyright (C) 1997-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2015 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@science.uva.nl>
;; Maintainer: auctex-devel@gnu.org
;;; reftex-toc.el --- RefTeX's table of contents mode
-;; Copyright (C) 1997-2000, 2003-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2000, 2003-2015 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@science.uva.nl>
;; Maintainer: auctex-devel@gnu.org
;;; reftex-vars.el --- configuration variables for RefTeX
-;; Copyright (C) 1997-1999, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-1999, 2001-2015 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@science.uva.nl>
;; Maintainer: auctex-devel@gnu.org
;;; reftex.el --- minor mode for doing \label, \ref, \cite, \index in LaTeX
-;; Copyright (C) 1997-2000, 2003-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2000, 2003-2015 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@science.uva.nl>
;; Maintainer: auctex-devel@gnu.org
\f
;;; Start of automatically extracted autoloads.
\f
-;;;### (autoloads nil "reftex-auc" "reftex-auc.el" "16f7e4bde671b5faee975a9ff10838e7")
+;;;### (autoloads nil "reftex-auc" "reftex-auc.el" "cf606f7918831321cb46f254436dc66e")
;;; Generated autoloads from reftex-auc.el
(autoload 'reftex-arg-label "reftex-auc" "\
;;;***
\f
-;;;### (autoloads nil "reftex-cite" "reftex-cite.el" "43a70b713b3cd8a225f03431400e54e6")
+;;;### (autoloads nil "reftex-cite" "reftex-cite.el" "5a53c260fa01268c04ea2f558add9d7d")
;;; Generated autoloads from reftex-cite.el
(autoload 'reftex-default-bibliography "reftex-cite" "\
;;;***
\f
-;;;### (autoloads nil "reftex-dcr" "reftex-dcr.el" "e90640fdd78f4404b29729bf7a5fce30")
+;;;### (autoloads nil "reftex-dcr" "reftex-dcr.el" "08fc5bd6c35f9d6ab4a6ad336d3769c0")
;;; Generated autoloads from reftex-dcr.el
(autoload 'reftex-view-crossref "reftex-dcr" "\
;;;***
\f
-;;;### (autoloads nil "reftex-global" "reftex-global.el" "a773b46e8b751bca3a82c991f81b5fdd")
+;;;### (autoloads nil "reftex-global" "reftex-global.el" "5fdd9c2edced0882471f86baf4b4b234")
;;; Generated autoloads from reftex-global.el
(autoload 'reftex-create-tags-file "reftex-global" "\
;;;***
\f
-;;;### (autoloads nil "reftex-index" "reftex-index.el" "ccf53e4cdf1d7280e4cdb54d23e81854")
+;;;### (autoloads nil "reftex-index" "reftex-index.el" "d80e84d499050e32569a454d8db16861")
;;; Generated autoloads from reftex-index.el
(autoload 'reftex-index-selection-or-word "reftex-index" "\
;;;***
\f
-;;;### (autoloads nil "reftex-parse" "reftex-parse.el" "69a531bd0ac3f97f076b7dda4ec2304d")
+;;;### (autoloads nil "reftex-parse" "reftex-parse.el" "c327a848a6d168412b1a9be9f2e3dce8")
;;; Generated autoloads from reftex-parse.el
(autoload 'reftex-parse-one "reftex-parse" "\
;;;***
\f
-;;;### (autoloads nil "reftex-ref" "reftex-ref.el" "3ad5bfbb747c7f8c5cd5b30e3b6fc342")
+;;;### (autoloads nil "reftex-ref" "reftex-ref.el" "64cd7a4eaec426177a8fb3689139d935")
;;; Generated autoloads from reftex-ref.el
(autoload 'reftex-label-location "reftex-ref" "\
;;;***
\f
-;;;### (autoloads nil "reftex-sel" "reftex-sel.el" "4ffdcf92acf13e0e93cfac51b6e0607c")
+;;;### (autoloads nil "reftex-sel" "reftex-sel.el" "faea36cbe37033efd3f9063187eef7ee")
;;; Generated autoloads from reftex-sel.el
(autoload 'reftex-select-label-mode "reftex-sel" "\
;;;***
\f
-;;;### (autoloads nil "reftex-toc" "reftex-toc.el" "30e611bd9b33af3e6a5a22cf7497de78")
+;;;### (autoloads nil "reftex-toc" "reftex-toc.el" "e04344fac7ba4c2043439e130bdd283f")
;;; Generated autoloads from reftex-toc.el
(autoload 'reftex-toc "reftex-toc" "\
;;; remember --- a mode for quickly jotting down things to remember
-;; Copyright (C) 1999-2001, 2003-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2001, 2003-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;; Maintainer: emacs-devel@gnu.org
;;; rst.el --- Mode for viewing and editing reStructuredText-documents.
-;; Copyright (C) 2003-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
;; Maintainer: Stefan Merten <smerten@oekonux.de>
;; Author: Stefan Merten <smerten@oekonux.de>,
;;; sgml-mode.el --- SGML- and HTML-editing modes -*- coding: utf-8 -*-
-;; Copyright (C) 1992, 1995-1996, 1998, 2001-2014 Free Software
+;; Copyright (C) 1992, 1995-1996, 1998, 2001-2015 Free Software
;; Foundation, Inc.
;; Author: James Clark <jjc@jclark.com>
;;; table.el --- create and edit WYSIWYG text based embedded tables -*- lexical-binding: t -*-
-;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
;; Keywords: wp, convenience
;; Author: Takaaki Ota <Takaaki.Ota@am.sony.com>
;;; tex-mode.el --- TeX, LaTeX, and SliTeX mode commands -*- coding: utf-8 -*-
-;; Copyright (C) 1985-1986, 1989, 1992, 1994-1999, 2001-2014 Free
+;; Copyright (C) 1985-1986, 1989, 1992, 1994-1999, 2001-2015 Free
;; Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
\(normally '') depending on the context. With prefix argument, always
inserts \" characters."
(interactive "*P")
+ ;; Discover if we'll be inserting normal double quotes.
+ ;;
(if (or arg (memq (char-syntax (preceding-char)) '(?/ ?\\))
- (eq (get-text-property (point) 'face) 'tex-verbatim)
- (save-excursion
- (backward-char (length tex-open-quote))
- (when (or (looking-at (regexp-quote tex-open-quote))
- (looking-at (regexp-quote tex-close-quote)))
- (delete-char (length tex-open-quote))
- t)))
+ (eq (get-text-property (point) 'face) 'tex-verbatim)
+ ;; Discover if a preceding occurrence of `tex-open-quote'
+ ;; should be morphed to a normal double quote.
+ ;;
+ (and (>= (point) (+ (point-min) (length tex-open-quote)))
+ (save-excursion
+ (backward-char (length tex-open-quote))
+ (when (or (looking-at (regexp-quote tex-open-quote))
+ (looking-at (regexp-quote tex-close-quote)))
+ (delete-char (length tex-open-quote))
+ (when (looking-at (regexp-quote tex-close-quote))
+ (delete-char (length tex-close-quote)))
+ t))))
+ ;; Insert the normal quote (eventually letting
+ ;; `electric-pair-mode' do its thing).
+ ;;
(self-insert-command (prefix-numeric-value arg))
- (insert (if (or (memq (char-syntax (preceding-char)) '(?\( ?> ?\s))
- (memq (preceding-char) '(?~)))
- tex-open-quote tex-close-quote))))
+ ;; We'll be inserting fancy TeX quotes, but consider and imitate
+ ;; `electric-pair-mode''s two behaviors: pair-insertion and
+ ;; region wrapping.
+ ;;
+ (if (and electric-pair-mode (use-region-p))
+ (let* ((saved (point-marker)))
+ (goto-char (mark))
+ (insert (if (> saved (mark)) tex-open-quote tex-close-quote))
+ (goto-char saved)
+ (insert (if (> saved (mark)) tex-close-quote tex-open-quote)))
+ (if (or (memq (char-syntax (preceding-char)) '(?\( ?> ?\s))
+ (memq (preceding-char) '(?~)))
+ (if electric-pair-mode
+ (if (looking-at (regexp-quote tex-close-quote))
+ (forward-char (length tex-close-quote))
+ (insert tex-open-quote)
+ (insert tex-close-quote)
+ (backward-char (length tex-close-quote)))
+ (insert tex-open-quote))
+ (if (looking-at (regexp-quote tex-close-quote))
+ (forward-char (length tex-close-quote))
+ (insert tex-close-quote))))))
(defun tex-validate-buffer ()
"Check current buffer for paragraphs containing mismatched braces or $s.
;;; texinfmt.el --- format Texinfo files into Info files
-;; Copyright (C) 1985-1986, 1988, 1990-1998, 2000-2014 Free Software
+;; Copyright (C) 1985-1986, 1988, 1990-1998, 2000-2015 Free Software
;; Foundation, Inc.
;; Maintainer: Robert J. Chassell <bug-texinfo@gnu.org>
;;; texinfo.el --- major mode for editing Texinfo files -*- coding: utf-8 -*-
-;; Copyright (C) 1985, 1988-1993, 1996-1997, 2000-2014 Free Software
+;; Copyright (C) 1985, 1988-1993, 1996-1997, 2000-2015 Free Software
;; Foundation, Inc.
;; Author: Robert J. Chassell
;;; texnfo-upd.el --- utilities for updating nodes and menus in Texinfo files
-;; Copyright (C) 1989-1992, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1989-1992, 2001-2015 Free Software Foundation, Inc.
;; Author: Robert J. Chassell
;; Maintainer: bug-texinfo@gnu.org
;;; text-mode.el --- text mode, and its idiosyncratic commands
-;; Copyright (C) 1985, 1992, 1994, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1985, 1992, 1994, 2001-2015 Free Software Foundation,
;; Inc.
;; Maintainer: emacs-devel@gnu.org
;;; tildify.el --- adding hard spaces into texts -*- lexical-binding: t -*-
-;; Copyright (C) 1997-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2015 Free Software Foundation, Inc.
;; Author: Milan Zamazal <pdm@zamazal.org>
;; Michal Nazarewicz <mina86@mina86.com>
;;; two-column.el --- minor mode for editing of two-column text
-;; Copyright (C) 1992-1995, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1992-1995, 2001-2015 Free Software Foundation, Inc.
;; Author: Daniel Pfeiffer <occitan@esperanto.org>
;; Adapted-By: ESR, Daniel Pfeiffer
;;; underline.el --- insert/remove underlining (done by overstriking) in Emacs
-;; Copyright (C) 1985, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 2001-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: wp
;;; thingatpt.el --- get the `thing' at point
-;; Copyright (C) 1991-1998, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1991-1998, 2000-2015 Free Software Foundation, Inc.
;; Author: Mike Williams <mikew@gopher.dosli.govt.nz>
;; Maintainer: emacs-devel@gnu.org
;;; thumbs.el --- Thumbnails previewer for images files
-;; Copyright (C) 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
;; Author: Jean-Philippe Theberge <jphiltheberge@videotron.ca>
;; Maintainer: emacs-devel@gnu.org
;;; time-stamp.el --- Maintain last change time stamps in files edited by Emacs
-;; Copyright (C) 1989, 1993-1995, 1997, 2000-2014 Free Software
+;; Copyright (C) 1989, 1993-1995, 1997, 2000-2015 Free Software
;; Foundation, Inc.
;; This file is part of GNU Emacs.
;;; time.el --- display time, load and mail indicator in mode line of Emacs -*-coding: utf-8 -*-
-;; Copyright (C) 1985-1987, 1993-1994, 1996, 2000-2014 Free Software
+;; Copyright (C) 1985-1987, 1993-1994, 1996, 2000-2015 Free Software
;; Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;;; timezone.el --- time zone package for GNU Emacs
-;; Copyright (C) 1990-1993, 1996, 1999, 2001-2014 Free Software
+;; Copyright (C) 1990-1993, 1996, 1999, 2001-2015 Free Software
;; Foundation, Inc.
;; Author: Masanobu Umeda
;;; tmm.el --- text mode access to menu-bar -*- lexical-binding: t -*-
-;; Copyright (C) 1994-1996, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1996, 2000-2015 Free Software Foundation, Inc.
;; Author: Ilya Zakharevich <ilya@math.mps.ohio-state.edu>
;; Maintainer: emacs-devel@gnu.org
;;; tool-bar.el --- setting up the tool bar
-;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
;; Author: Dave Love <fx@gnu.org>
;; Keywords: mouse frames
ICON.xbm, using `find-image'."
(let* ((image-exp (tool-bar--image-expression icon)))
(define-key-after map (vector key)
- `(menu-item ,(symbol-name key) ,def :image ,image-exp ,@props))))
+ `(menu-item ,(symbol-name key) ,def :image ,image-exp ,@props))
+ (force-mode-line-update)))
;;;###autoload
(defun tool-bar-add-item-from-menu (command icon &optional map &rest props)
(if (and (consp rest) (consp (car rest)))
(setq rest (cdr rest)))
(append `(menu-item ,(car defn) ,rest)
- (list :image image-exp) props)))))))
+ (list :image image-exp) props))))
+ (force-mode-line-update))))
;;; Set up some global items. Additions/deletions up for grabs.
;;; tooltip.el --- show tooltip windows
-;; Copyright (C) 1997, 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 1999-2015 Free Software Foundation, Inc.
;; Author: Gerd Moellmann <gerd@acm.org>
;; Keywords: help c mouse tools
;;; tree-widget.el --- Tree widget
-;; Copyright (C) 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
;; Author: David Ponce <david@dponce.com>
;; Maintainer: David Ponce <david@dponce.com>
;;; tutorial.el --- tutorial for Emacs
-;; Copyright (C) 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; Keywords: help, internal
;;; type-break.el --- encourage rests from typing at appropriate intervals -*- lexical-binding: t -*-
-;; Copyright (C) 1994-1995, 1997, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1995, 1997, 2000-2015 Free Software Foundation,
+;; Inc.
;; Author: Noah Friedman
;; Maintainer: Noah Friedman <friedman@splode.com>
;;; uniquify.el --- unique buffer names dependent on file name -*- lexical-binding: t -*-
-;; Copyright (C) 1989, 1995-1997, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1989, 1995-1997, 2001-2015 Free Software Foundation,
;; Inc.
;; Author: Dick King <king@reasoning.com>
;; coding: utf-8
;; End:
- Copyright (C) 1999, 2001-2002, 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2001-2002, 2004-2015 Free Software Foundation,
+ Inc.
This file is part of GNU Emacs.
;;; url-about.el --- Show internal URLs
-;; Copyright (C) 2001, 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2004-2015 Free Software Foundation, Inc.
;; Keywords: comm, data, processes, hypermedia
;;; url-auth.el --- Uniform Resource Locator authorization modules
-;; Copyright (C) 1996-1999, 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2004-2015 Free Software Foundation, Inc.
;; Keywords: comm, data, processes, hypermedia
;;; url-cache.el --- Uniform Resource Locator retrieval tool
-;; Copyright (C) 1996-1999, 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2004-2015 Free Software Foundation, Inc.
;; Keywords: comm, data, processes, hypermedia
;;; url-cid.el --- Content-ID URL loader
-;; Copyright (C) 1998-1999, 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-1999, 2004-2015 Free Software Foundation, Inc.
;; Keywords: comm, data, processes
;;; url-cookie.el --- URL cookie support
-;; Copyright (C) 1996-1999, 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2004-2015 Free Software Foundation, Inc.
;; Keywords: comm, data, processes, hypermedia
;;; url-dav.el --- WebDAV support
-;; Copyright (C) 2001, 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2004-2015 Free Software Foundation, Inc.
;; Author: Bill Perry <wmperry@gnu.org>
;; Maintainer: emacs-devel@gnu.org
;;; url-dired.el --- URL Dired minor mode
-;; Copyright (C) 1996-1999, 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2004-2015 Free Software Foundation, Inc.
;; Keywords: comm, files
;;; url-domsuf.el --- Say what domain names can have cookies set.
-;; Copyright (C) 2012-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;;; url-expand.el --- expand-file-name for URLs
-;; Copyright (C) 1999, 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2004-2015 Free Software Foundation, Inc.
;; Keywords: comm, data, processes
;;; url-file.el --- File retrieval code
-;; Copyright (C) 1996-1999, 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2004-2015 Free Software Foundation, Inc.
;; Keywords: comm, data, processes
;;; url-ftp.el --- FTP wrapper
-;; Copyright (C) 1996-1999, 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2004-2015 Free Software Foundation, Inc.
;; Keywords: comm, data, processes
;;; url-future.el --- general futures facility for url.el
-;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
;; Author: Teodor Zlatanov <tzz@lifelogs.com>
;; Keywords: data
;;; url-gw.el --- Gateway munging for URL loading
-;; Copyright (C) 1997-1998, 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2004-2015 Free Software Foundation, Inc.
;; Author: Bill Perry <wmperry@gnu.org>
;; Maintainer: emacs-devel@gnu.org
;;; url-handlers.el --- file-name-handler stuff for URL loading
-;; Copyright (C) 1996-1999, 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2004-2015 Free Software Foundation, Inc.
;; Keywords: comm, data, processes, hypermedia
;;; url-history.el --- Global history tracking for URL package
-;; Copyright (C) 1996-1999, 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2004-2015 Free Software Foundation, Inc.
;; Keywords: comm, data, processes, hypermedia
;;; url-http.el --- HTTP retrieval routines
-;; Copyright (C) 1999, 2001, 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2001, 2004-2015 Free Software Foundation, Inc.
;; Author: Bill Perry <wmperry@gnu.org>
;; Maintainer: emacs-devel@gnu.org
;;; url-imap.el --- IMAP retrieval routines
-;; Copyright (C) 1999, 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2004-2015 Free Software Foundation, Inc.
;; Author: Simon Josefsson <jas@pdc.kth.se>
;; Keywords: comm, data, processes
;;; url-irc.el --- IRC URL interface
-;; Copyright (C) 1996-1999, 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2004-2015 Free Software Foundation, Inc.
;; Keywords: comm, data, processes
;;; url-ldap.el --- LDAP Uniform Resource Locator retrieval code
-;; Copyright (C) 1998-1999, 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-1999, 2004-2015 Free Software Foundation, Inc.
;; Keywords: comm, data, processes
;;; url-mail.el --- Mail Uniform Resource Locator retrieval code
-;; Copyright (C) 1996-1999, 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2004-2015 Free Software Foundation, Inc.
;; Keywords: comm, data, processes
;;; url-methods.el --- Load URL schemes as needed
-;; Copyright (C) 1996-1999, 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2004-2015 Free Software Foundation, Inc.
;; Keywords: comm, data, processes, hypermedia
;;; url-misc.el --- Misc Uniform Resource Locator retrieval code
-;; Copyright (C) 1996-1999, 2002, 2004-2014 Free Software Foundation,
+;; Copyright (C) 1996-1999, 2002, 2004-2015 Free Software Foundation,
;; Inc.
;; Keywords: comm, data, processes
;;; url-news.el --- News Uniform Resource Locator retrieval code
-;; Copyright (C) 1996-1999, 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2004-2015 Free Software Foundation, Inc.
;; Keywords: comm, data, processes
;;; url-nfs.el --- NFS URL interface
-;; Copyright (C) 1996-1999, 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2004-2015 Free Software Foundation, Inc.
;; Keywords: comm, data, processes
;;; url-ns.el --- Various netscape-ish functions for proxy definitions
-;; Copyright (C) 1997-1999, 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-1999, 2004-2015 Free Software Foundation, Inc.
;; Keywords: comm, data, processes, hypermedia
;;; url-parse.el --- Uniform Resource Locator parser
-;; Copyright (C) 1996-1999, 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2004-2015 Free Software Foundation, Inc.
;; Keywords: comm, data, processes
;;; url-privacy.el --- Global history tracking for URL package
-;; Copyright (C) 1996-1999, 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2004-2015 Free Software Foundation, Inc.
;; Keywords: comm, data, processes, hypermedia
;;; url-proxy.el --- Proxy server support
-;; Copyright (C) 1999, 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2004-2015 Free Software Foundation, Inc.
;; Keywords: comm, data, processes, hypermedia
;;; url-queue.el --- Fetching web pages in parallel
-;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: comm
;;; url-tramp.el --- file-name-handler magic invoking Tramp for some protocols
-;; Copyright (C) 2014 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
;; Author: Michael Albinus <michael.albinus@gmx.de>
;; Keywords: comm, data, processes, hypermedia
;;; url-util.el --- Miscellaneous helper routines for URL library
-;; Copyright (C) 1996-1999, 2001, 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2001, 2004-2015 Free Software Foundation,
+;; Inc.
;; Author: Bill Perry <wmperry@gnu.org>
;; Maintainer: emacs-devel@gnu.org
;;; url-vars.el --- Variables for Uniform Resource Locator tool
-;; Copyright (C) 1996-1999, 2001, 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2001, 2004-2015 Free Software Foundation,
+;; Inc.
;; Keywords: comm, data, processes, hypermedia
;;; url.el --- Uniform Resource Locator retrieval tool -*- lexical-binding: t -*-
-;; Copyright (C) 1996-1999, 2001, 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2001, 2004-2015 Free Software Foundation,
+;; Inc.
;; Author: Bill Perry <wmperry@gnu.org>
;; Maintainer: emacs-devel@gnu.org
;;; userlock.el --- handle file access contention between multiple users
-;; Copyright (C) 1985-1986, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1985-1986, 2001-2015 Free Software Foundation, Inc.
;; Author: Richard King
;; (according to authors.el)
;;; add-log.el --- change log maintenance commands for Emacs
-;; Copyright (C) 1985-1986, 1988, 1993-1994, 1997-1998, 2000-2014 Free
+;; Copyright (C) 1985-1986, 1988, 1993-1994, 1997-1998, 2000-2015 Free
;; Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;;; compare-w.el --- compare text between windows for Emacs
-;; Copyright (C) 1986, 1989, 1993, 1997, 2001-2014 Free Software
+;; Copyright (C) 1986, 1989, 1993, 1997, 2001-2015 Free Software
;; Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;;; Code:
+(require 'diff-mode) ; For diff faces.
+
(defgroup compare-windows nil
"Compare text between windows."
:prefix "compare-"
:group 'compare-windows
:version "22.1")
-(defface compare-windows
- '((t :inherit lazy-highlight))
- "Face for highlighting of compare-windows difference regions."
+(defface compare-windows-removed
+ '((t :inherit diff-removed))
+ "Face for highlighting of compare-windows removed regions."
:group 'compare-windows
- :version "22.1")
+ :version "25.1")
+
+(defface compare-windows-added
+ '((t :inherit diff-added))
+ "Face for highlighting of compare-windows added regions."
+ :group 'compare-windows
+ :version "25.1")
+
+(define-obsolete-face-alias 'compare-windows 'compare-windows-added "25.1")
(defvar compare-windows-overlay1 nil)
(defvar compare-windows-overlay2 nil)
consider all existing frames."
(or (get-mru-window 'visible t t)
(get-mru-window 0 t t)
- (get-mru-window t t t)))
+ (get-mru-window t t t)
+ (error "No other window")))
(defun compare-windows-get-next-window ()
"Return the window next in the cyclic ordering of windows.
(if compare-windows-overlay1
(move-overlay compare-windows-overlay1 beg1 end1 b1)
(setq compare-windows-overlay1 (make-overlay beg1 end1 b1))
- (overlay-put compare-windows-overlay1 'face 'compare-windows)
+ (overlay-put compare-windows-overlay1 'face 'compare-windows-added)
(overlay-put compare-windows-overlay1 'priority 1000))
(overlay-put compare-windows-overlay1 'window w1)
(if compare-windows-overlay2
(move-overlay compare-windows-overlay2 beg2 end2 b2)
(setq compare-windows-overlay2 (make-overlay beg2 end2 b2))
- (overlay-put compare-windows-overlay2 'face 'compare-windows)
+ (overlay-put compare-windows-overlay2 'face 'compare-windows-removed)
(overlay-put compare-windows-overlay2 'priority 1000))
(overlay-put compare-windows-overlay2 'window w2)
(if (not (eq compare-windows-highlight 'persistent))
;;; cvs-status.el --- major mode for browsing `cvs status' output -*- coding: utf-8; lexical-binding: t -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
;; Keywords: pcl-cvs cvs status tree vc tools
;;; diff-mode.el --- a mode for viewing/editing context diffs -*- lexical-binding: t -*-
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
;; Keywords: convenience patch diff vc
;;; diff.el --- run `diff' -*- lexical-binding: t -*-
-;; Copyright (C) 1992, 1994, 1996, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1992, 1994, 1996, 2001-2015 Free Software Foundation,
;; Inc.
;; Author: Frank Bresz
;;; ediff-diff.el --- diff-related utilities
-;; Copyright (C) 1994-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-2015 Free Software Foundation, Inc.
;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
;; Package: ediff
;;; ediff-help.el --- Code related to the contents of Ediff help buffers
-;; Copyright (C) 1996-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2015 Free Software Foundation, Inc.
;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
;; Package: ediff
;;; ediff-hook.el --- setup for Ediff's menus and autoloads
-;; Copyright (C) 1995-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2015 Free Software Foundation, Inc.
;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
;; Package: ediff
;;; ediff-init.el --- Macros, variables, and defsubsts used by Ediff
-;; Copyright (C) 1994-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-2015 Free Software Foundation, Inc.
;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
;; Package: ediff
;;; ediff-merg.el --- merging utilities
-;; Copyright (C) 1994-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-2015 Free Software Foundation, Inc.
;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
;; Package: ediff
;;; ediff-mult.el --- support for multi-file/multi-buffer processing in Ediff
-;; Copyright (C) 1995-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995-2015 Free Software Foundation, Inc.
;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
;; Package: ediff
;;; ediff-ptch.el --- Ediff's patch support
-;; Copyright (C) 1996-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2015 Free Software Foundation, Inc.
;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
;; Package: ediff
;;; ediff-util.el --- the core commands and utilities of ediff
-;; Copyright (C) 1994-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-2015 Free Software Foundation, Inc.
;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
;; Package: ediff
;;; ediff-vers.el --- version control interface to Ediff
-;; Copyright (C) 1995-1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995-1997, 2001-2015 Free Software Foundation, Inc.
;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
;; Package: ediff
;;; ediff-wind.el --- window manipulation utilities
-;; Copyright (C) 1994-1997, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1997, 2000-2015 Free Software Foundation, Inc.
;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
;; Package: ediff
;;; ediff.el --- a comprehensive visual interface to diff & patch
-;; Copyright (C) 1994-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994-2015 Free Software Foundation, Inc.
;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
;; Created: February 2, 1994
;;; log-edit.el --- Major mode for editing CVS commit messages -*- lexical-binding: t -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
;; Keywords: pcl-cvs cvs commit log vc
;;; log-view.el --- Major mode for browsing revision log histories -*- lexical-binding: t -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
;; Keywords: tools, vc
;;; pcvs-defs.el --- variable definitions for PCL-CVS
-;; Copyright (C) 1991-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1991-2015 Free Software Foundation, Inc.
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
;; Keywords: pcl-cvs
;;; pcvs-info.el --- internal representation of a fileinfo entry
-;; Copyright (C) 1991-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1991-2015 Free Software Foundation, Inc.
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
;; Keywords: pcl-cvs
;;; pcvs-parse.el --- the CVS output parser
-;; Copyright (C) 1991-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1991-2015 Free Software Foundation, Inc.
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
;; Keywords: pcl-cvs
;;; pcvs-util.el --- utility functions for PCL-CVS -*- byte-compile-dynamic: t -*-
-;; Copyright (C) 1991-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1991-2015 Free Software Foundation, Inc.
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
;; Keywords: pcl-cvs
;;; pcvs.el --- a front-end to CVS -*- lexical-binding:t -*-
-;; Copyright (C) 1991-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1991-2015 Free Software Foundation, Inc.
;; Author: (The PCL-CVS Trust) pcl-cvs@cyclic.com
;; (Per Cederqvist) ceder@lysator.liu.se
;;; smerge-mode.el --- Minor mode to resolve diff3 conflicts -*- lexical-binding: t -*-
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
;; Keywords: vc, tools, revision control, merge, diff3, cvs, conflict
;;; vc-annotate.el --- VC Annotate Support -*- lexical-binding: t -*-
-;; Copyright (C) 1997-1998, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2000-2015 Free Software Foundation, Inc.
;; Author: Martin Lorentzson <emwson@emw.ericsson.se>
;; Maintainer: emacs-devel@gnu.org
;;; vc-bzr.el --- VC backend for the bzr revision control system -*- lexical-binding: t -*-
-;; Copyright (C) 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
;; Author: Dave Love <fx@gnu.org>
;; Riccardo Murri <riccardo.murri@gmail.com>
;;; vc-cvs.el --- non-resident support for CVS version-control -*- lexical-binding: t -*-
-;; Copyright (C) 1995, 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1998-2015 Free Software Foundation, Inc.
;; Author: FSF (see vc.el for full credits)
;; Maintainer: Andre Spiegel <spiegel@gnu.org>
;;; vc-dav.el --- vc.el support for WebDAV
-;; Copyright (C) 2001, 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2004-2015 Free Software Foundation, Inc.
;; Author: Bill Perry <wmperry@gnu.org>
;; Maintainer: Bill Perry <wmperry@gnu.org>
;;; vc-dir.el --- Directory status display under VC -*- lexical-binding: t -*-
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Dan Nicolaescu <dann@ics.uci.edu>
;; Keywords: vc tools
(define-key map [ise]
'(menu-item "Isearch Files..." vc-dir-isearch
:help "Incremental search a string in the marked files"))
+ (define-key map [display]
+ '(menu-item "Display in Other Window" vc-dir-display-file
+ :help "Display the file on the current line, in another window"))
(define-key map [open-other]
'(menu-item "Open in Other Window" vc-dir-find-file-other-window
:help "Find the file on the current line, in another window"))
(define-key map "e" 'vc-dir-find-file) ; dired-mode compatibility
(define-key map "\C-m" 'vc-dir-find-file)
(define-key map "o" 'vc-dir-find-file-other-window)
+ (define-key map "\C-o" 'vc-dir-display-file)
(define-key map "\C-c\C-c" 'vc-dir-kill-dir-status-process)
(define-key map [down-mouse-3] 'vc-dir-menu)
(define-key map [mouse-2] 'vc-dir-toggle-mark)
(if event (posn-set-point (event-end event)))
(find-file-other-window (vc-dir-current-file)))
+(defun vc-dir-display-file (&optional event)
+ "Display the file on the current line, in another window."
+ (interactive (list last-nonmenu-event))
+ (if event (posn-set-point (event-end event)))
+ (display-buffer (find-file-noselect (vc-dir-current-file))
+ t))
+
(defun vc-dir-isearch ()
"Search for a string through all marked buffers using Isearch."
(interactive)
;;; vc-dispatcher.el -- generic command-dispatcher facility. -*- lexical-binding: t -*-
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: FSF (see below for full credits)
;; Maintainer: Eric S. Raymond <esr@thyrsus.com>
;;; vc-filewise.el --- common functions for file-oriented back ends.
-;; Copyright (C) 1992-1996, 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1992-1996, 1998-2015 Free Software Foundation, Inc.
;; Author: FSF (see vc.el for full credits)
;; Maintainer: Andre Spiegel <spiegel@gnu.org>
;;; vc-git.el --- VC backend for the git version control system -*- lexical-binding: t -*-
-;; Copyright (C) 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
;; Author: Alexandre Julliard <julliard@winehq.org>
;; Keywords: vc tools
(goto-char (point-min))
(pcase stage
(`update-index
- (setq next-stage (if (vc-git--empty-db-p) 'ls-files-added
- (if files 'ls-files-up-to-date 'diff-index))))
+ (setq next-stage (if (vc-git--empty-db-p) 'ls-files-added 'diff-index)))
(`ls-files-added
(setq next-stage 'ls-files-unknown)
(while (re-search-forward "\\([0-7]\\{6\\}\\) [0-9a-f]\\{40\\} 0\t\\([^\0]+\\)\0" nil t)
(push (list name 'added (vc-git-create-extra-fileinfo 0 new-perm))
result))))
(`ls-files-up-to-date
- (setq next-stage 'diff-index)
+ (setq next-stage 'ls-files-unknown)
(while (re-search-forward "\\([0-7]\\{6\\}\\) [0-9a-f]\\{40\\} 0\t\\([^\0]+\\)\0" nil t)
(let ((perm (string-to-number (match-string 1) 8))
(name (match-string 2)))
(vc-git-create-extra-fileinfo 0 0))
result)))
(`diff-index
- (setq next-stage 'ls-files-unknown)
+ (setq next-stage (if files 'ls-files-up-to-date 'ls-files-unknown))
(while (re-search-forward
":\\([0-7]\\{6\\}\\) \\([0-7]\\{6\\}\\) [0-9a-f]\\{40\\} [0-9a-f]\\{40\\} \\(\\([ADMUT]\\)\0\\([^\0]+\\)\\|\\([CR]\\)[0-9]*\0\\([^\0]+\\)\0\\([^\0]+\\)\\)\0"
nil t 1)
;;; vc-hg.el --- VC backend for the mercurial version control system -*- lexical-binding: t -*-
-;; Copyright (C) 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
;; Author: Ivan Kanis
;; Maintainer: emacs-devel@gnu.org
;;; vc-hooks.el --- resident support for version-control
-;; Copyright (C) 1992-1996, 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1992-1996, 1998-2015 Free Software Foundation, Inc.
;; Author: FSF (see vc.el for full credits)
;; Maintainer: Andre Spiegel <spiegel@gnu.org>
;;; vc-mtn.el --- VC backend for Monotone -*- lexical-binding: t -*-
-;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2015 Free Software Foundation, Inc.
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
;; Keywords: vc
;;; vc-rcs.el --- support for RCS version-control -*- lexical-binding:t -*-
-;; Copyright (C) 1992-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1992-2015 Free Software Foundation, Inc.
;; Author: FSF (see vc.el for full credits)
;; Maintainer: Andre Spiegel <spiegel@gnu.org>
;;; vc-sccs.el --- support for SCCS version-control -*- lexical-binding:t -*-
-;; Copyright (C) 1992-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1992-2015 Free Software Foundation, Inc.
;; Author: FSF (see vc.el for full credits)
;; Maintainer: Andre Spiegel <spiegel@gnu.org>
;;; vc-src.el --- support for SRC version-control -*- lexical-binding:t -*-
-;; Copyright (C) 1992-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1992-2015 Free Software Foundation, Inc.
;; Author: FSF (see vc.el for full credits)
;; Maintainer: Eric S. Raymond <esr@thyrsus.com>
;;; vc-svn.el --- non-resident support for Subversion version-control -*- lexical-binding:t -*-
-;; Copyright (C) 2003-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
;; Author: FSF (see vc.el for full credits)
;; Maintainer: Stefan Monnier <monnier@gnu.org>
;;; vc.el --- drive a version-control system from within Emacs -*- lexical-binding:t -*-
-;; Copyright (C) 1992-1998, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1992-1998, 2000-2015 Free Software Foundation, Inc.
;; Author: FSF (see below for full credits)
;; Maintainer: Andre Spiegel <spiegel@gnu.org>
;;; vcursor.el --- manipulate an alternative ("virtual") cursor
-;; Copyright (C) 1994, 1996, 1998, 2001-2014 Free Software Foundation,
+;; Copyright (C) 1994, 1996, 1998, 2001-2015 Free Software Foundation,
;; Inc.
;; Author: Peter Stephenson <pws@ibmth.df.unipi.it>
;;; version.el --- record version number of Emacs
-;; Copyright (C) 1985, 1992, 1994-1995, 1999-2014 Free Software
+;; Copyright (C) 1985, 1992, 1994-1995, 1999-2015 Free Software
;; Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;;; view.el --- peruse file or buffer without editing
-;; Copyright (C) 1985, 1989, 1994-1995, 1997, 2000-2014 Free Software
+;; Copyright (C) 1985, 1989, 1994-1995, 1997, 2000-2015 Free Software
;; Foundation, Inc.
;; Author: K. Shane Hartman
;;; vt-control.el --- Common VTxxx control functions
-;; Copyright (C) 1993-1994, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1994, 2001-2015 Free Software Foundation, Inc.
;; Author: Rob Riepel <riepel@networking.stanford.edu>
;; Maintainer: Rob Riepel <riepel@networking.stanford.edu>
;;; vt100-led.el --- functions for LED control on VT-100 terminals & clones
-;; Copyright (C) 1988, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1988, 2001-2015 Free Software Foundation, Inc.
;; Author: Howard Gayle
;; Maintainer: emacs-devel@gnu.org
;;; w32-fns.el --- Lisp routines for 32-bit Windows
-;; Copyright (C) 1994, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994, 2001-2015 Free Software Foundation, Inc.
;; Author: Geoff Voelker <voelker@cs.washington.edu>
;; Keywords: internal
;;; w32-vars.el --- MS-Windows specific user options
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;; Author: Jason Rumney <jasonr@gnu.org>
;; Keywords: internal
;;; wdired.el --- Rename files editing their names in dired buffers
-;; Copyright (C) 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
;; Filename: wdired.el
;; Author: Juan León Lahoz García <juanleon1@gmail.com>
;;; whitespace.el --- minor mode to visualize TAB, (HARD) SPACE, NEWLINE
-;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;;; wid-browse.el --- functions for browsing widgets
;;
-;; Copyright (C) 1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001-2015 Free Software Foundation, Inc.
;;
;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
;; Keywords: extensions
;;; wid-edit.el --- Functions for creating and using widgets -*-byte-compile-dynamic: t; lexical-binding:t -*-
;;
-;; Copyright (C) 1996-1997, 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1997, 1999-2015 Free Software Foundation, Inc.
;;
;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
;; Maintainer: emacs-devel@gnu.org
;;; widget.el --- a library of user interface components
;;
-;; Copyright (C) 1996-1997, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1997, 2001-2015 Free Software Foundation, Inc.
;;
;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
;; Keywords: help, extensions, faces, hypermedia
;;; windmove.el --- directional window-selection routines
;;
-;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2015 Free Software Foundation, Inc.
;;
;; Author: Hovav Shacham (hovav@cs.stanford.edu)
;; Created: 17 October 1998
;;; window.el --- GNU Emacs window commands aside from those written in C
-;; Copyright (C) 1985, 1989, 1992-1994, 2000-2014 Free Software
+;; Copyright (C) 1985, 1989, 1992-1994, 2000-2015 Free Software
;; Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
(standard-output ,buffer)
,window ,value)
(with-current-buffer ,buffer
- (setq ,window (temp-buffer-window-show ,buffer ,vaction)))
+ (setq ,window (temp-buffer-window-show
+ ,buffer
+ ;; Remove window-height when it's handled below.
+ (if (functionp (cdr (assq 'window-height (cdr ,vaction))))
+ (assq-delete-all 'window-height (copy-sequence ,vaction))
+ ,vaction))))
(let ((inhibit-read-only t)
(inhibit-modification-hooks t))
(defvar mouse-autoselect-window-timer nil
"Timer used by delayed window autoselection.")
+(defvar mouse-autoselect-window-position-1 nil
+ "First mouse position recorded by delayed window autoselection.")
+
(defvar mouse-autoselect-window-position nil
"Last mouse position recorded by delayed window autoselection.")
(memq (nth 4 (event-end last-input-event))
'(handle end-scroll)))))
(setq mouse-autoselect-window-state nil)
+ (setq mouse-autoselect-window-position-1 nil)
(when (timerp mouse-autoselect-window-timer)
(cancel-timer mouse-autoselect-window-timer))
(remove-hook 'pre-command-hook 'mouse-autoselect-window-cancel)))
;; A menu / popup dialog is active or the mouse is not on the
;; text region of WINDOW: Suspend autoselection temporarily.
(mouse-autoselect-window-start mouse-position nil t))
- ((eq mouse-autoselect-window-state 'suspend)
+ ((or (eq mouse-autoselect-window-state 'suspend)
+ ;; When the mouse is at its first recorded position, restart
+ ;; delayed autoselection. This works around a scenario with
+ ;; two two-window frames with identical dimensions: select the
+ ;; first window of the first frame, switch to the second
+ ;; frame, move the mouse to its second window, minimize the
+ ;; second frame. Now the second window of the first frame
+ ;; gets selected although the mouse never really "moved" into
+ ;; that window.
+ (and (numberp mouse-autoselect-window)
+ (equal (mouse-position) mouse-autoselect-window-position-1)))
;; Delayed autoselection was temporarily suspended, reenable it.
(mouse-autoselect-window-start mouse-position))
((and window (not (eq window (selected-window)))
(or (not (numberp mouse-autoselect-window))
- (and (> mouse-autoselect-window 0)
- ;; If `mouse-autoselect-window' is positive, select
- ;; window if the window is the same as before.
+ (and (>= mouse-autoselect-window 0)
+ ;; If `mouse-autoselect-window' is non-negative,
+ ;; select window if it's the same as before.
(eq window mouse-autoselect-window-window))
- ;; Otherwise select window if the mouse is at the same
- ;; position as before. Observe that the first test after
- ;; starting autoselection usually fails since the value of
- ;; `mouse-autoselect-window-position' recorded there is the
- ;; position where the mouse has entered the new window and
- ;; not necessarily where the mouse has stopped moving.
+ ;; Otherwise select window iff the mouse is at the same
+ ;; position as before. Observe that the first test
+ ;; after starting autoselection usually fails since the
+ ;; value of `mouse-autoselect-window-position' recorded
+ ;; there is the position where the mouse has entered the
+ ;; new window and not necessarily where the mouse has
+ ;; stopped moving.
(equal mouse-position mouse-autoselect-window-position))
;; The minibuffer is a candidate window if it's active.
(or (not (window-minibuffer-p window))
(not (minibuffer-window-active-p window)))
;; Don't switch when autoselection shall be delayed.
(and (numberp mouse-autoselect-window)
- (not (zerop mouse-autoselect-window))
(not (eq mouse-autoselect-window-state 'select))
- (progn
+ (let ((position (mouse-position)))
;; Cancel any delayed autoselection.
(mouse-autoselect-window-cancel t)
;; Start delayed autoselection from current mouse
;; position and window.
- (mouse-autoselect-window-start (mouse-position) window)
+ (setq mouse-autoselect-window-position-1 position)
+ (mouse-autoselect-window-start position window)
;; Executing a command cancels delayed autoselection.
(add-hook
'pre-command-hook 'mouse-autoselect-window-cancel))))
;;; winner.el --- Restore old window configurations
-;; Copyright (C) 1997-1998, 2001-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2001-2015 Free Software Foundation, Inc.
;; Author: Ivar Rummelhoff <ivarru@math.uio.no>
;; Created: 27 Feb 1997
;;; woman.el --- browse UN*X manual pages `wo (without) man'
-;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
;; Author: Francis J. Wright <F.J.Wright@qmul.ac.uk>
;; Maintainer: emacs-devel@gnu.org
;;; x-dnd.el --- drag and drop support for X -*- coding: utf-8 -*-
-;; Copyright (C) 2004-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2015 Free Software Foundation, Inc.
;; Author: Jan Djärv <jan.h.d@swipnet.se>
;; Maintainer: emacs-devel@gnu.org
;;; xml.el --- XML parser
-;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2015 Free Software Foundation, Inc.
;; Author: Emmanuel Briot <briot@gnat.com>
;; Maintainer: Mark A. Hershberger <mah@everybody.org>
;;; xt-mouse.el --- support the mouse when emacs run in an xterm
-;; Copyright (C) 1994, 2000-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1994, 2000-2015 Free Software Foundation, Inc.
;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
;; Keywords: mouse, terminals
+2015-01-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ Less 'make' chatter for lwlib
+ * Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0, am__v_GEN_1)
+ (AM_V_at, am__v_at_, am__v_at_0, am__v_at_1): New macros.
+ (liblw.a): Use them.
+
+2014-12-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ * xlwmenu.c (resource_widget_value):
+ Rewrite to avoid the need for strcat, typically by using stpcpy
+ and/or lispstpcpy. strcat tends to be part of O(N**2) algorithms.
+
2014-10-20 Glenn Morris <rgm@gnu.org>
* Merge in all changes up to 24.4 release.
;; coding: utf-8
;; End:
- Copyright (C) 1995-1999, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1995-1999, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
### @configure_input@
# Copyright (C) 1992, 1993 Lucid, Inc.
-# Copyright (C) 1994, 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994, 2001-2015 Free Software Foundation, Inc.
#
# This file is part of the Lucid Widget Library.
#
am__v_CC_0 = @echo " CC " $@;
am__v_CC_1 =
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+
DEPDIR = deps
## -MMD -MF $(DEPDIR)/$*.d if AUTO_DEPEND; else empty.
DEPFLAGS = @DEPFLAGS@
$(AM_V_CC)$(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $<
liblw.a: $(OBJS)
- rm -f $@
- $(AR) $(ARFLAGS) $@ $(OBJS)
- $(RANLIB) $@
+ $(AM_V_GEN)rm -f $@
+ $(AM_V_at)$(AR) $(ARFLAGS) $@ $(OBJS)
+ $(AM_V_at)$(RANLIB) $@
globals_h = ../src/globals.h
$(globals_h):
### deps.mk --- lwlib/Makefile fragment for GNU Emacs
# Copyright (C) 1992, 1993 Lucid, Inc.
-# Copyright (C) 1994, 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994, 2001-2015 Free Software Foundation, Inc.
#
# This file is part of the Lucid Widget Library.
#
/* The lwlib interface to Athena widgets.
Copyright (C) 1993 Chuck Thompson <cthomp@cs.uiuc.edu>
-Copyright (C) 1994, 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 1994, 2001-2015 Free Software Foundation, Inc.
This file is part of the Lucid Widget Library.
/* The lwlib interface to "xlwmenu" menus.
Copyright (C) 1992 Lucid, Inc.
-Copyright (C) 1994, 2000-2014 Free Software Foundation, Inc.
+Copyright (C) 1994, 2000-2015 Free Software Foundation, Inc.
This file is part of the Lucid Widget Library.
/* The lwlib interface to Motif widgets.
-Copyright (C) 1994-1997, 1999-2014 Free Software Foundation, Inc.
+Copyright (C) 1994-1997, 1999-2015 Free Software Foundation, Inc.
Copyright (C) 1992 Lucid, Inc.
This file is part of the Lucid Widget Library.
/*
Copyright (C) 1992 Lucid, Inc.
-Copyright (C) 2000-2014 Free Software Foundation, Inc.
+Copyright (C) 2000-2015 Free Software Foundation, Inc.
This file is part of the Lucid Widget Library.
/* Defines some widget utility functions.
Copyright (C) 1992 Lucid, Inc.
-Copyright (C) 1994, 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 1994, 2001-2015 Free Software Foundation, Inc.
This file is part of the Lucid Widget Library.
/*
Copyright (C) 1992, 1993 Lucid, Inc.
-Copyright (C) 1994, 1999-2014 Free Software Foundation, Inc.
+Copyright (C) 1994, 1999-2015 Free Software Foundation, Inc.
This file is part of the Lucid Widget Library.
/* A general interface to the widgets of different toolkits.
Copyright (C) 1992, 1993 Lucid, Inc.
-Copyright (C) 1994-1996, 1999-2014 Free Software Foundation, Inc.
+Copyright (C) 1994-1996, 1999-2015 Free Software Foundation, Inc.
This file is part of the Lucid Widget Library.
/*
Copyright (C) 1992, 1993 Lucid, Inc.
-Copyright (C) 1994, 1999-2014 Free Software Foundation, Inc.
+Copyright (C) 1994, 1999-2015 Free Software Foundation, Inc.
This file is part of the Lucid Widget Library.
/* Implements a lightweight menubar widget.
Copyright (C) 1992 Lucid, Inc.
-Copyright (C) 1994-1995, 1997, 1999-2014 Free Software Foundation, Inc.
+Copyright (C) 1994-1995, 1997, 1999-2015 Free Software Foundation, Inc.
This file is part of the Lucid Widget Library.
int complete_length =
strlen (resourced_name) + strlen (val->value) + 2;
complete_name = XtMalloc (complete_length);
- *complete_name = 0;
- strcat (complete_name, resourced_name);
- strcat (complete_name, " ");
- strcat (complete_name, val->value);
+ char *z = stpcpy (complete_name, resourced_name);
+ *z++ = ' ';
+ strcpy (z, val->value);
}
val->toolkit_data = complete_name;
/* Interface of a lightweight menubar widget.
-Copyright (C) 2002-2014 Free Software Foundation, Inc.
+Copyright (C) 2002-2015 Free Software Foundation, Inc.
Copyright (C) 1992 Lucid, Inc.
This file is part of the Lucid Widget Library.
/* Internals of a lightweight menubar widget.
-Copyright (C) 2002-2014 Free Software Foundation, Inc.
+Copyright (C) 2002-2015 Free Software Foundation, Inc.
Copyright (C) 1992 Lucid, Inc.
This file is part of the Lucid Widget Library.
# 00gnulib.m4 serial 3
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# absolute-header.m4 serial 16
-dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# acl.m4 - check for access control list (ACL) primitives
# serial 17
-# Copyright (C) 2002, 2004-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2004-2015 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# alloca.m4 serial 14
-dnl Copyright (C) 2002-2004, 2006-2007, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 2002-2004, 2006-2007, 2009-2015 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
# byteswap.m4 serial 4
-dnl Copyright (C) 2005, 2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2007, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# c-strtod.m4 serial 15
-# Copyright (C) 2004-2006, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2004-2006, 2009-2015 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# clock_time.m4 serial 10
-dnl Copyright (C) 2002-2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
#serial 4
-dnl Copyright (C) 2006-2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2007, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# count-one-bits.m4 serial 3
-dnl Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# count-trailing-zeros.m4
-dnl Copyright (C) 2013-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2013-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# dirent_h.m4 serial 16
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
#serial 20
-dnl Copyright (C) 2002, 2005, 2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2005, 2007, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# environ.m4 serial 6
-dnl Copyright (C) 2001-2004, 2006-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2004, 2006-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# errno_h.m4 serial 12
-dnl Copyright (C) 2004, 2006, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2004, 2006, 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# euidaccess.m4 serial 15
-dnl Copyright (C) 2002-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# Check for GNU-style execinfo.h.
-dnl Copyright 2012-2014 Free Software Foundation, Inc.
+dnl Copyright 2012-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# serial 13 -*- Autoconf -*-
# Enable extensions on systems that normally disable them.
-# Copyright (C) 2003, 2006-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2006-2015 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
dnl 'extern inline' a la ISO C99.
-dnl Copyright 2012-2014 Free Software Foundation, Inc.
+dnl Copyright 2012-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# serial 6
# See if we need to provide faccessat replacement.
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# fcntl.m4 serial 5
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# serial 15
# Configure fcntl.h.
-dnl Copyright (C) 2006-2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2007, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# fdatasync.m4 serial 4
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# serial 10
# See if we need to provide fdopendir.
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# filemode.m4 serial 8
-dnl Copyright (C) 2002, 2005-2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2005-2006, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# serial 21
-# Copyright (C) 2000-2001, 2004-2014 Free Software Foundation, Inc.
+# Copyright (C) 2000-2001, 2004-2015 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# fstatat.m4 serial 3
-dnl Copyright (C) 2004-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# fsync.m4 serial 2
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# getdtablesize.m4 serial 5
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl From Jim Meyering.
dnl A wrapper around AC_FUNC_GETGROUPS.
-# Copyright (C) 1996-1997, 1999-2004, 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-1997, 1999-2004, 2008-2015 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# Check for getloadavg.
-# Copyright (C) 1992-1996, 1999-2000, 2002-2003, 2006, 2008-2014 Free Software
+# Copyright (C) 1992-1996, 1999-2000, 2002-2003, 2006, 2008-2015 Free Software
# Foundation, Inc.
# This file is free software; the Free Software Foundation
# getopt.m4 serial 44
-dnl Copyright (C) 2002-2006, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# gettime.m4 serial 8
-dnl Copyright (C) 2002, 2004-2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2004-2006, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# serial 21
-# Copyright (C) 2001-2003, 2005, 2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2003, 2005, 2007, 2009-2015 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# gnulib-common.m4 serial 36
-dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# DO NOT EDIT! GENERATED AUTOMATICALLY!
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2015 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# Code from module stdint:
# Code from module stdio:
# Code from module stdlib:
+ # Code from module stpcpy:
# Code from module strftime:
# Code from module string:
# Code from module strtoimax:
gl_STDINT_H
gl_STDIO_H
gl_STDLIB_H
+ gl_FUNC_STPCPY
+ if test $HAVE_STPCPY = 0; then
+ AC_LIBOBJ([stpcpy])
+ gl_PREREQ_STPCPY
+ fi
+ gl_STRING_MODULE_INDICATOR([stpcpy])
gl_FUNC_GNU_STRFTIME
gl_HEADER_STRING_H
gl_FUNC_STRTOIMAX
lib/stdint.in.h
lib/stdio.in.h
lib/stdlib.in.h
+ lib/stpcpy.c
lib/strftime.c
lib/strftime.h
lib/string.in.h
m4/stdint.m4
m4/stdio_h.m4
m4/stdlib_h.m4
+ m4/stpcpy.m4
m4/strftime.m4
m4/string_h.m4
m4/strtoimax.m4
# gnulib-tool.m4 serial 2
-dnl Copyright (C) 2004-2005, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2005, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# serial 14
-# Copyright (C) 1999-2001, 2003-2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2001, 2003-2007, 2009-2015 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# include_next.m4 serial 23
-dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# inttypes.m4 serial 26
-dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# Enable large files on systems where this is not the default.
-# Copyright 1992-1996, 1998-2014 Free Software Foundation, Inc.
+# Copyright 1992-1996, 1998-2015 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# longlong.m4 serial 17
-dnl Copyright (C) 1999-2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 1999-2007, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# serial 26
-# Copyright (C) 1997-2001, 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 1997-2001, 2003-2015 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# manywarnings.m4 serial 7
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# md5.m4 serial 14
-dnl Copyright (C) 2002-2006, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# memrchr.m4 serial 10
-dnl Copyright (C) 2002-2003, 2005-2007, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2007, 2009-2015 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
# mkostemp.m4 serial 2
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# serial 25
-dnl Copyright (C) 2002-2003, 2005-2007, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2007, 2009-2015 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
# multiarch.m4 serial 7
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# nocrash.m4 serial 4
-dnl Copyright (C) 2005, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# off_t.m4 serial 1
-dnl Copyright (C) 2012-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2012-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# pathmax.m4 serial 10
-dnl Copyright (C) 2002-2003, 2005-2006, 2009-2014 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2006, 2009-2015 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
# pipe2.m4 serial 2
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# pselect.m4 serial 2
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# pthread_sigmask.m4 serial 15
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# putenv.m4 serial 20
-dnl Copyright (C) 2002-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# readlink.m4 serial 12
-dnl Copyright (C) 2003, 2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2007, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# serial 4
# See if we need to provide readlinkat replacement.
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# Look up an environment variable more securely.
-dnl Copyright 2013-2014 Free Software Foundation, Inc.
+dnl Copyright 2013-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# setenv.m4 serial 26
-dnl Copyright (C) 2001-2004, 2006-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2004, 2006-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# sha1.m4 serial 12
-dnl Copyright (C) 2002-2006, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# sha256.m4 serial 8
-dnl Copyright (C) 2005, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# sha512.m4 serial 9
-dnl Copyright (C) 2005-2006, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2006, 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# serial 7
-dnl Copyright (C) 2002, 2005-2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2005-2006, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# signal_h.m4 serial 18
-dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# socklen.m4 serial 10
-dnl Copyright (C) 2005-2007, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2007, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# ssize_t.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2001-2003, 2006, 2010-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2003, 2006, 2010-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# serial 6
-# Copyright (C) 1998-1999, 2001, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 1998-1999, 2001, 2009-2015 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# Checks for stat-related time functions.
-# Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2014 Free Software
+# Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2015 Free Software
# Foundation, Inc.
# This file is free software; the Free Software Foundation
# serial 11
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2015 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# Check for stdalign.h that conforms to C11.
-dnl Copyright 2011-2014 Free Software Foundation, Inc.
+dnl Copyright 2011-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
/* Test _Alignas only on platforms where gnulib can help. */
#if \
((defined __cplusplus && 201103 <= __cplusplus) \
- || __GNUC__ || __IBMC__ || __IBMCPP__ || __ICC \
- || 0x5110 <= __SUNPRO_C || 1300 <= _MSC_VER)
+ || (defined __APPLE__ && defined __MACH__ \
+ ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__) \
+ : __GNUC__) \
+ || __HP_cc || __HP_aCC || __IBMC__ || __IBMCPP__ \
+ || __ICC || 0x5110 <= __SUNPRO_C \
+ || 1300 <= _MSC_VER)
struct alignas_test { char c; char alignas (8) alignas_8; };
char test_alignas[offsetof (struct alignas_test, alignas_8) == 8
? 1 : -1];
dnl A placeholder for <stddef.h>, for platforms that have issues.
# stddef_h.m4 serial 5
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# stdint.m4 serial 43
-dnl Copyright (C) 2001-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
-# stdio_h.m4 serial 43
-dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
+# stdio_h.m4 serial 44
+dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
AC_REQUIRE([gl_STDIO_H_DEFAULTS])
gl_NEXT_HEADERS([stdio.h])
+ dnl Determine whether __USE_MINGW_ANSI_STDIO makes printf and
+ dnl inttypes.h behave like gnu instead of system; we must give our
+ dnl printf wrapper the right attribute to match.
+ AC_CACHE_CHECK([whether inttypes macros match system or gnu printf],
+ [gl_cv_func_printf_attribute_flavor],
+ [AC_EGREP_CPP([findme .(ll|j)d. findme],
+ [#define __STDC_FORMAT_MACROS 1
+ #include <stdio.h>
+ #include <inttypes.h>
+ findme PRIdMAX findme
+ ], [gl_cv_func_printf_attribute_flavor=gnu],
+ [gl_cv_func_printf_attribute_flavor=system])])
+ if test "$gl_cv_func_printf_attribute_flavor" = gnu; then
+ AC_DEFINE([GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU], [1],
+ [Define to 1 if printf and friends should be labeled with
+ attribute "__gnu_printf__" instead of "__printf__"])
+ fi
+
dnl No need to create extra modules for these functions. Everyone who uses
dnl <stdio.h> likely needs them.
GNULIB_FSCANF=1
# stdlib_h.m4 serial 42
-dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
--- /dev/null
+# stpcpy.m4 serial 8
+dnl Copyright (C) 2002, 2007, 2009-2015 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_STPCPY],
+[
+ dnl Persuade glibc <string.h> to declare stpcpy().
+ AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
+
+ dnl The stpcpy() declaration in lib/string.in.h uses 'restrict'.
+ AC_REQUIRE([AC_C_RESTRICT])
+
+ AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
+ AC_CHECK_FUNCS([stpcpy])
+ if test $ac_cv_func_stpcpy = no; then
+ HAVE_STPCPY=0
+ fi
+])
+
+# Prerequisites of lib/stpcpy.c.
+AC_DEFUN([gl_PREREQ_STPCPY], [
+ :
+])
# serial 33
-# Copyright (C) 1996-1997, 1999-2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-1997, 1999-2007, 2009-2015 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# Configure a GNU-like replacement for <string.h>.
-# Copyright (C) 2007-2014 Free Software Foundation, Inc.
+# Copyright (C) 2007-2015 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# strtoimax.m4 serial 14
-dnl Copyright (C) 2002-2004, 2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2004, 2006, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# strtoll.m4 serial 7
-dnl Copyright (C) 2002, 2004, 2006, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2004, 2006, 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# strtoull.m4 serial 7
-dnl Copyright (C) 2002, 2004, 2006, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2004, 2006, 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# strtoumax.m4 serial 12
-dnl Copyright (C) 2002-2004, 2006, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2004, 2006, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# serial 6
# See if we need to provide symlink replacement.
-dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# sys_select_h.m4 serial 20
-dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# sys_socket_h.m4 serial 23
-dnl Copyright (C) 2005-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# sys_stat_h.m4 serial 28 -*- Autoconf -*-
-dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# Configure a replacement for <sys/time.h>.
# serial 8
-# Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# sys_types_h.m4 serial 5
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
#serial 5
-# Copyright (C) 2006-2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2006-2007, 2009-2015 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# Configure a more-standard replacement for <time.h>.
-# Copyright (C) 2000-2001, 2003-2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2000-2001, 2003-2007, 2009-2015 Free Software Foundation, Inc.
# serial 8
dnl Reentrant time functions: localtime_r, gmtime_r.
-dnl Copyright (C) 2003, 2006-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2006-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# timer_time.m4 serial 3
-dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
#serial 15
-# Copyright (C) 2000-2001, 2003-2007, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2000-2001, 2003-2007, 2009-2015 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# tm_gmtoff.m4 serial 3
-dnl Copyright (C) 2002, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# unistd_h.m4 serial 68
-dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# serial 9
-# Copyright (C) 1998-2001, 2003-2004, 2007, 2009-2014 Free Software Foundation,
+# Copyright (C) 1998-2001, 2003-2004, 2007, 2009-2015 Free Software Foundation,
# Inc.
#
# This file is free software; the Free Software Foundation
-dnl Copyright (C) 2003-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# Detect some bugs in glibc's implementation of utimes.
# serial 3
-dnl Copyright (C) 2003-2005, 2009-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2003-2005, 2009-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# From Paul Eggert
-# Copyright (C) 2001, 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2009-2015 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# warnings.m4 serial 11
-dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# wchar_t.m4 serial 4 (gettext-0.18.2)
-dnl Copyright (C) 2002-2003, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2003, 2008-2015 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
#!/bin/sh
### make-dist: create an Emacs distribution tar file from current srcdir
-## Copyright (C) 1995, 1997-1998, 2000-2014 Free Software Foundation, Inc.
+## Copyright (C) 1995, 1997-1998, 2000-2015 Free Software Foundation,
+## Inc.
## This file is part of GNU Emacs.
;; coding: utf-8
;; End:
- Copyright (C) 1994-1999, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1994-1999, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
GNU Emacs Installation Guide for the DJGPP (a.k.a. MS-DOS) port
-Copyright (C) 1992, 1994, 1996-1997, 2000-2014 Free Software Foundation,
+Copyright (C) 1992, 1994, 1996-1997, 2000-2015 Free Software Foundation,
Inc.
See the end of the file for license conditions.
-Copyright (C) 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 2001-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
Windows 3.X. Since these are binary files, their copyright notice is
reproduced here:
-# Copyright (C) 1993, 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 1993, 2002-2015 Free Software Foundation, Inc.
#
# This file is part of GNU Emacs.
#
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2009, 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2009, 2013-2015 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@SET_MAKE@
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2015 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# Generated by gnulib-tool.
# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --avoid=close --avoid=dup --avoid=fchdir --avoid=fstat --avoid=malloc-posix --avoid=msvc-inval --avoid=msvc-nothrow --avoid=open --avoid=openat-die --avoid=opendir --avoid=raise --avoid=save-cwd --avoid=select --avoid=sigprocmask --avoid=sys_types --avoid=threadlib --makefile-name=gnulib.mk --conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca-opt byteswap c-ctype c-strcase careadlinkat close-stream count-one-bits count-trailing-zeros crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 dtoastr dtotimespec dup2 environ execinfo faccessat fcntl fcntl-h fdatasync fdopendir filemode fstatat fsync getloadavg getopt-gnu gettime gettimeofday intprops largefile lstat manywarnings memrchr mkostemp mktime pipe2 pselect pthread_sigmask putenv qacl readlink readlinkat sig2str socklen stat-time stdalign stdarg stdbool stdio strftime strtoimax strtoumax symlink sys_stat sys_time time timer-time timespec-add timespec-sub unsetenv utimens warnings
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2015 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
/* GNU Emacs site configuration template file.
-Copyright (C) 1988, 1993-1994, 1999-2002, 2004-2014 Free Software
+Copyright (C) 1988, 1993-1994, 1999-2002, 2004-2015 Free Software
Foundation, Inc.
This file is part of GNU Emacs.
@echo off\r
rem ----------------------------------------------------------------------\r
rem Auxiliary script for MSDOS, run by ../config.bat\r
-rem Copyright (C) 2011-2014 Free Software Foundation, Inc.\r
+rem Copyright (C) 2011-2015 Free Software Foundation, Inc.\r
\r
rem This file is part of GNU Emacs.\r
\r
/* Replacement inttypes.h file for building GNU Emacs on MS-DOS with DJGPP.
-Copyright (C) 2011-2014 Free Software Foundation, Inc.
+Copyright (C) 2011-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
# Top-level Makefile for Emacs under MS-DOS/DJGPP v2.0 or higher. -*-makefile-*-
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2015 Free Software Foundation, Inc.
# This file is part of GNU Emacs.
# Configuration script for src/Makefile under DJGPP v2.x
# ----------------------------------------------------------------------
#
-# Copyright (C) 1996-1997, 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-1997, 1999-2015 Free Software Foundation, Inc.
#
# This file is part of GNU Emacs.
#
# Extra configuration script for src/makefile for DesqView/X
# ----------------------------------------------------------------------
#
-# Copyright (C) 1994-1997, 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-1997, 1999-2015 Free Software Foundation, Inc.
#
# This file is part of GNU Emacs.
#
# Configuration script for src/config.h under DJGPP v2.x
# ----------------------------------------------------------------------
#
-# Copyright (C) 1993-1997, 1999-2000, 2002-2014 Free Software
+# Copyright (C) 1993-1997, 1999-2000, 2002-2015 Free Software
# Foundation, Inc.
#
# This file is part of GNU Emacs.
#ifndef MSDOS\
#define MSDOS\
#endif
-/^#undef COPYRIGHT *$/s/^.*$/#define COPYRIGHT "Copyright (C) 2014 Free Software Foundation, Inc."/
+/^#undef COPYRIGHT *$/s/^.*$/#define COPYRIGHT "Copyright (C) 2015 Free Software Foundation, Inc."/
/^#undef DIRECTORY_SEP *$/s!^.*$!#define DIRECTORY_SEP '/'!
/^#undef DOS_NT *$/s/^.*$/#define DOS_NT/
/^#undef FLOAT_CHECK_DOMAIN *$/s/^.*$/#define FLOAT_CHECK_DOMAIN/
# Extra configuration script for src/config.h for DesqView/X
# ----------------------------------------------------------------------
#
-# Copyright (C) 1994, 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994, 2001-2015 Free Software Foundation, Inc.
#
# This file is part of GNU Emacs.
#
# Configuration script for lib-src/makefile under DJGPP v2
# ----------------------------------------------------------------------
#
-# Copyright (C) 1996, 1998, 2000-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996, 1998, 2000-2015 Free Software Foundation, Inc.
#
# This file is part of GNU Emacs.
#
# Configuration script for src/paths.h
# ----------------------------------------------------------------------
#
-# Copyright (C) 1994, 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994, 2001-2015 Free Software Foundation, Inc.
#
# This file is part of GNU Emacs.
#
# Configuration script for oldxmenu/makefile for DesqView/X
# ----------------------------------------------------------------------
#
-# Copyright (C) 1994, 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994, 2001-2015 Free Software Foundation, Inc.
#
# This file is part of GNU Emacs.
#
# doc/lispintro/Makefile, and doc/misc/Makefile under DJGPP v2.x
# ---------------------------------------------------------------------------
#
-# Copyright (C) 1997, 2000-2014 Free Software Foundation, Inc.
+# Copyright (C) 1997, 2000-2015 Free Software Foundation, Inc.
#
# This file is part of GNU Emacs.
#
# Configuration script for admin/unidata/Makefile under DJGPP v2.x
# ----------------------------------------------------------------------
#
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2014-2015 Free Software Foundation, Inc.
#
# This file is part of GNU Emacs.
#
# Configuration script for SYSTEM_MALLOC/REL_ALLOC in src/config.h
# ----------------------------------------------------------------------
#
-# Copyright (C) 2008-2014 Free Software Foundation, Inc.
+# Copyright (C) 2008-2015 Free Software Foundation, Inc.
#
# This file is part of GNU Emacs.
#
# Configuration script for leim/Makefile under DJGPP v2.x
# ----------------------------------------------------------------------
#
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2015 Free Software Foundation, Inc.
#
# This file is part of GNU Emacs.
#
# files whose names are invalid on DOS 8+3 filesystems.
# ----------------------------------------------------------------------
#
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
#
# This file is part of GNU Emacs.
#
# Configuration script for lib/Makefile under DJGPP v2.x
# ----------------------------------------------------------------------
#
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 Free Software Foundation, Inc.
#
# This file is part of GNU Emacs.
#
# Configuration script for lisp/Makefile under DJGPP v2.x
# ----------------------------------------------------------------------
#
-# Copyright (C) 2000-2014 Free Software Foundation, Inc.
+# Copyright (C) 2000-2015 Free Software Foundation, Inc.
#
# This file is part of GNU Emacs.
#
;; coding: utf-8
;; End:
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
-Copyright (C) 2008-2014 Free Software Foundation, Inc.
+Copyright (C) 2008-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
### @configure_input@
-## Copyright (C) 2012-2014 Free Software Foundation, Inc.
+## Copyright (C) 2012-2015 Free Software Foundation, Inc.
## This file is part of GNU Emacs.
<?xml version="1.0" encoding="UTF-8"?>
<!--
-Copyright (C) 2008-2014 Free Software Foundation, Inc.
+Copyright (C) 2008-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
+2014-12-26 Eli Zaretskii <eliz@gnu.org>
+
+ * gnulib.mk (stpcpy, string): Sync with the latest change in
+ lib/gnulib.mk.
+
2014-12-13 Eli Zaretskii <eliz@gnu.org>
* gnulib.mk (stddef.h): Sync with the latest change in lib/gnulib.mk.
2012-10-01 Eli Zaretskii <eliz@gnu.org>
* preprep.c (RVA_TO_PTR): Use 'unsigned char *' instead of
- 'void *', for pointer arithmetics.
+ 'void *', for pointer arithmetic.
(OFFSET_TO_RVA, RVA_TO_OFFSET, RVA_TO_SECTION_OFFSET): Enclose all
macro arguments in parentheses.
;; add-log-time-zone-rule: t
;; End:
- Copyright (C) 1995-1999, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1995-1999, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
Building and Installing Emacs on MS-Windows
using the MSYS and MinGW tools
- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
The MSYS/MinGW build described here is supported on versions of
Building and Installing Emacs on Windows
(from 95 to 7 and beyond)
- Copyright (C) 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
*** This method of building Emacs is no longer supported. ***
### @configure_input@
-# Copyright (C) 2013-2014 Free Software Foundation, Inc.
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
# This file is part of GNU Emacs.
Emacs for Windows NT/2000 and Windows 95/98/ME
- Copyright (C) 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
This directory contains support for compiling and running GNU Emacs on
-Copyright (C) 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 2001-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
Emacs for Windows
/* Add entries to the GNU Emacs Program Manager folder.
- Copyright (C) 1995, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1995, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Proxy shell designed for use with Emacs on Windows 95 and NT.
- Copyright (C) 1997, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997, 2001-2015 Free Software Foundation, Inc.
Accepts subset of Unix sh(1) command-line options, for compatibility
with elisp code written for Unix. When possible, executes external
/* GNU Emacs site configuration template file.
-Copyright (C) 1988, 1993-1994, 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 1988, 1993-1994, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
#define CLASH_DETECTION 1
/* Short copyright string for this version of Emacs. */
-#define COPYRIGHT "Copyright (C) 2014 Free Software Foundation, Inc."
+#define COPYRIGHT "Copyright (C) 2015 Free Software Foundation, Inc."
/* Define to one of '_getb67', 'GETB67', 'getb67' for Cray-2 and Cray-YMP
systems. This function is required for 'alloca.c' support on those systems.
@echo off\r
rem ----------------------------------------------------------------------\r
rem Configuration script for MS Windows operating systems\r
-rem Copyright (C) 1999-2014 Free Software Foundation, Inc.\r
+rem Copyright (C) 1999-2015 Free Software Foundation, Inc.\r
\r
rem This file is part of GNU Emacs.\r
\r
/* Simple client interface to DDE servers.
- Copyright (C) 1998, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1998, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
VALUE "FileDescription", "GNU Emacs: The extensible self-documenting text editor\0"
VALUE "FileVersion", "@comma_space_version@\0"
VALUE "InternalName", "Emacs\0"
- VALUE "LegalCopyright", "Copyright (C) 2001-2014\0"
+ VALUE "LegalCopyright", "Copyright (C) 2001-2015\0"
VALUE "OriginalFilename", "emacs.exe"
VALUE "ProductName", "Emacs\0"
VALUE "ProductVersion", "@comma_space_version@\0"
VALUE "FileDescription", "GNU EmacsClient: Client for the extensible self-documenting text editor\0"
VALUE "FileVersion", "@comma_space_version@\0"
VALUE "InternalName", "EmacsClient\0"
- VALUE "LegalCopyright", "Copyright (C) 2001-2014\0"
+ VALUE "LegalCopyright", "Copyright (C) 2001-2015\0"
VALUE "OriginalFilename", "emacsclientw.exe"
VALUE "ProductName", "EmacsClient\0"
VALUE "ProductVersion", "@comma_space_version@\0"
rem Hack to change/add environment variables in the makefiles for the\r
rem Windows platform.\r
\r
-rem Copyright (C) 2003-2014 Free Software Foundation, Inc.\r
+rem Copyright (C) 2003-2015 Free Software Foundation, Inc.\r
\r
rem This file is part of GNU Emacs.\r
\r
the host system (e.g., i686-pc-mingw32), and @SRC@ by the root of
the Emacs source tree used to build Emacs. */
/*
-Copyright (C) 1993, 1995, 1997, 1999, 2001-2014 Free Software
+Copyright (C) 1993, 1995, 1997, 1999, 2001-2015 Free Software
Foundation, Inc.
This file is part of GNU Emacs.
# -*- Makefile -*- definition file for building GNU Emacs on Windows NT.
-# Copyright (C) 2000-2014 Free Software Foundation, Inc.
+# Copyright (C) 2000-2015 Free Software Foundation, Inc.
# This file is part of GNU Emacs.
## suitable variables in nt/mingw-cfg.site.
##
## Process this file with automake to produce Makefile.in.
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2015 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the same distribution terms as the rest of that program.
#
# Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --avoid=close --avoid=dup --avoid=fchdir --avoid=fstat --avoid=malloc-posix --avoid=msvc-inval --avoid=msvc-nothrow --avoid=open --avoid=openat-die --avoid=opendir --avoid=raise --avoid=save-cwd --avoid=select --avoid=sigprocmask --avoid=stdarg --avoid=stdbool --avoid=threadlib --makefile-name=gnulib.mk --conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca-opt binary-io byteswap c-ctype c-strcase careadlinkat close-stream count-one-bits count-trailing-zeros crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 dtoastr dtotimespec dup2 environ execinfo faccessat fcntl fcntl-h fdatasync fdopendir filemode fstatat fsync getloadavg getopt-gnu gettime gettimeofday intprops largefile lstat manywarnings memrchr mkostemp mktime pipe2 pselect pthread_sigmask putenv qacl readlink readlinkat sig2str socklen stat-time stdalign stdio strftime strtoimax strtoumax symlink sys_stat sys_time time timer-time timespec-add timespec-sub unsetenv update-copyright utimens vla warnings
+# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --avoid=close --avoid=dup --avoid=fchdir --avoid=fstat --avoid=malloc-posix --avoid=msvc-inval --avoid=msvc-nothrow --avoid=open --avoid=openat-die --avoid=opendir --avoid=raise --avoid=save-cwd --avoid=select --avoid=sigprocmask --avoid=stdarg --avoid=stdbool --avoid=threadlib --makefile-name=gnulib.mk --conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca-opt binary-io byteswap c-ctype c-strcase careadlinkat close-stream count-one-bits count-trailing-zeros crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 dtoastr dtotimespec dup2 environ execinfo faccessat fcntl fcntl-h fdatasync fdopendir filemode fstatat fsync getloadavg getopt-gnu gettime gettimeofday intprops largefile lstat manywarnings memrchr mkostemp mktime pipe2 pselect pthread_sigmask putenv qacl readlink readlinkat sig2str socklen stat-time stdalign stddef stdio stpcpy strftime strtoimax strtoumax symlink sys_stat sys_time time time_r timer-time timespec-add timespec-sub unsetenv update-copyright utimens vla warnings
MOSTLYCLEANFILES += core *.stackdump
## end gnulib module stdint
+## begin gnulib module stpcpy
+
+
+EXTRA_DIST += stpcpy.c
+
+EXTRA_libgnu_a_SOURCES += stpcpy.c
+
+## end gnulib module stpcpy
+
## begin gnulib module strftime
libgnu_a_SOURCES += strftime.c
## end gnulib module strftime
+## begin gnulib module string
+
+BUILT_SOURCES += string.h
+
+# We need the following in order to create <string.h> when the system
+# doesn't have one that works with the given compiler.
+string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+ sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \
+ -e 's/@''GNULIB_FFSL''@/$(GNULIB_FFSL)/g' \
+ -e 's/@''GNULIB_FFSLL''@/$(GNULIB_FFSLL)/g' \
+ -e 's/@''GNULIB_MBSLEN''@/$(GNULIB_MBSLEN)/g' \
+ -e 's/@''GNULIB_MBSNLEN''@/$(GNULIB_MBSNLEN)/g' \
+ -e 's/@''GNULIB_MBSCHR''@/$(GNULIB_MBSCHR)/g' \
+ -e 's/@''GNULIB_MBSRCHR''@/$(GNULIB_MBSRCHR)/g' \
+ -e 's/@''GNULIB_MBSSTR''@/$(GNULIB_MBSSTR)/g' \
+ -e 's/@''GNULIB_MBSCASECMP''@/$(GNULIB_MBSCASECMP)/g' \
+ -e 's/@''GNULIB_MBSNCASECMP''@/$(GNULIB_MBSNCASECMP)/g' \
+ -e 's/@''GNULIB_MBSPCASECMP''@/$(GNULIB_MBSPCASECMP)/g' \
+ -e 's/@''GNULIB_MBSCASESTR''@/$(GNULIB_MBSCASESTR)/g' \
+ -e 's/@''GNULIB_MBSCSPN''@/$(GNULIB_MBSCSPN)/g' \
+ -e 's/@''GNULIB_MBSPBRK''@/$(GNULIB_MBSPBRK)/g' \
+ -e 's/@''GNULIB_MBSSPN''@/$(GNULIB_MBSSPN)/g' \
+ -e 's/@''GNULIB_MBSSEP''@/$(GNULIB_MBSSEP)/g' \
+ -e 's/@''GNULIB_MBSTOK_R''@/$(GNULIB_MBSTOK_R)/g' \
+ -e 's/@''GNULIB_MEMCHR''@/$(GNULIB_MEMCHR)/g' \
+ -e 's/@''GNULIB_MEMMEM''@/$(GNULIB_MEMMEM)/g' \
+ -e 's/@''GNULIB_MEMPCPY''@/$(GNULIB_MEMPCPY)/g' \
+ -e 's/@''GNULIB_MEMRCHR''@/$(GNULIB_MEMRCHR)/g' \
+ -e 's/@''GNULIB_RAWMEMCHR''@/$(GNULIB_RAWMEMCHR)/g' \
+ -e 's/@''GNULIB_STPCPY''@/$(GNULIB_STPCPY)/g' \
+ -e 's/@''GNULIB_STPNCPY''@/$(GNULIB_STPNCPY)/g' \
+ -e 's/@''GNULIB_STRCHRNUL''@/$(GNULIB_STRCHRNUL)/g' \
+ -e 's/@''GNULIB_STRDUP''@/$(GNULIB_STRDUP)/g' \
+ -e 's/@''GNULIB_STRNCAT''@/$(GNULIB_STRNCAT)/g' \
+ -e 's/@''GNULIB_STRNDUP''@/$(GNULIB_STRNDUP)/g' \
+ -e 's/@''GNULIB_STRNLEN''@/$(GNULIB_STRNLEN)/g' \
+ -e 's/@''GNULIB_STRPBRK''@/$(GNULIB_STRPBRK)/g' \
+ -e 's/@''GNULIB_STRSEP''@/$(GNULIB_STRSEP)/g' \
+ -e 's/@''GNULIB_STRSTR''@/$(GNULIB_STRSTR)/g' \
+ -e 's/@''GNULIB_STRCASESTR''@/$(GNULIB_STRCASESTR)/g' \
+ -e 's/@''GNULIB_STRTOK_R''@/$(GNULIB_STRTOK_R)/g' \
+ -e 's/@''GNULIB_STRERROR''@/$(GNULIB_STRERROR)/g' \
+ -e 's/@''GNULIB_STRERROR_R''@/$(GNULIB_STRERROR_R)/g' \
+ -e 's/@''GNULIB_STRSIGNAL''@/$(GNULIB_STRSIGNAL)/g' \
+ -e 's/@''GNULIB_STRVERSCMP''@/$(GNULIB_STRVERSCMP)/g' \
+ < $(srcdir)/string.in.h | \
+ sed -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \
+ -e 's|@''HAVE_FFSLL''@|$(HAVE_FFSLL)|g' \
+ -e 's|@''HAVE_MBSLEN''@|$(HAVE_MBSLEN)|g' \
+ -e 's|@''HAVE_MEMCHR''@|$(HAVE_MEMCHR)|g' \
+ -e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \
+ -e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \
+ -e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \
+ -e 's|@''HAVE_RAWMEMCHR''@|$(HAVE_RAWMEMCHR)|g' \
+ -e 's|@''HAVE_STPCPY''@|$(HAVE_STPCPY)|g' \
+ -e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \
+ -e 's|@''HAVE_STRCHRNUL''@|$(HAVE_STRCHRNUL)|g' \
+ -e 's|@''HAVE_DECL_STRDUP''@|$(HAVE_DECL_STRDUP)|g' \
+ -e 's|@''HAVE_DECL_STRNDUP''@|$(HAVE_DECL_STRNDUP)|g' \
+ -e 's|@''HAVE_DECL_STRNLEN''@|$(HAVE_DECL_STRNLEN)|g' \
+ -e 's|@''HAVE_STRPBRK''@|$(HAVE_STRPBRK)|g' \
+ -e 's|@''HAVE_STRSEP''@|$(HAVE_STRSEP)|g' \
+ -e 's|@''HAVE_STRCASESTR''@|$(HAVE_STRCASESTR)|g' \
+ -e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \
+ -e 's|@''HAVE_DECL_STRERROR_R''@|$(HAVE_DECL_STRERROR_R)|g' \
+ -e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \
+ -e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \
+ -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \
+ -e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \
+ -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \
+ -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \
+ -e 's|@''REPLACE_STRCHRNUL''@|$(REPLACE_STRCHRNUL)|g' \
+ -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \
+ -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \
+ -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \
+ -e 's|@''REPLACE_STRERROR_R''@|$(REPLACE_STRERROR_R)|g' \
+ -e 's|@''REPLACE_STRNCAT''@|$(REPLACE_STRNCAT)|g' \
+ -e 's|@''REPLACE_STRNDUP''@|$(REPLACE_STRNDUP)|g' \
+ -e 's|@''REPLACE_STRNLEN''@|$(REPLACE_STRNLEN)|g' \
+ -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \
+ -e 's|@''REPLACE_STRTOK_R''@|$(REPLACE_STRTOK_R)|g' \
+ -e 's|@''UNDEFINE_STRTOK_R''@|$(UNDEFINE_STRTOK_R)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
+ < $(srcdir)/string.in.h; \
+ } > $@-t && \
+ mv $@-t $@
+MOSTLYCLEANFILES += string.h string.h-t
+
+EXTRA_DIST += string.in.h
+
+## end gnulib module string
+
## begin gnulib module strtoimax
File: emacs.ico
Author: Kentaro Ohkouchi <nanasess@fsm.ne.jp>
-Copyright (C) 2008-2014 Free Software Foundation, Inc.
+Copyright (C) 2008-2015 Free Software Foundation, Inc.
License: GNU General Public License version 3 or later
File: emacs22.ico
Author: Andrew Zhilin
-Copyright (C) 2005-2014 Free Software Foundation, Inc.
+Copyright (C) 2005-2015 Free Software Foundation, Inc.
License: GNU General Public License version 3 or later (see COPYING)
gnu5w32.ico gnu5w32t.ico gnu6w48.ico gnu6w48t.ico
gnu7.ico gnu8.ico gnu9.ico
Author: Rob Davenport <rgd at bigfoot.com>
-Copyright (C) 1999, 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 1999, 2001-2015 Free Software Foundation, Inc.
License: GNU General Public License version 3 or later (see COPYING)
<http://users.adelphia.net/~rob.davenport/gnuicons.html>
/* Replacement grp.h file for building GNU Emacs on Windows.
-Copyright (C) 2003-2014 Free Software Foundation, Inc.
+Copyright (C) 2003-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Replacement inttypes.h file for building GNU Emacs on Windows with MSVC.
-Copyright (C) 2011-2014 Free Software Foundation, Inc.
+Copyright (C) 2011-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Replacement langinfo.h file for building GNU Emacs on Windows.
-Copyright (C) 2006-2014 Free Software Foundation, Inc.
+Copyright (C) 2006-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* System description file for Windows NT.
-Copyright (C) 1993-1995, 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 1993-1995, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Replacement nl_types.h file for building GNU Emacs on Windows.
-Copyright (C) 2006-2014 Free Software Foundation, Inc.
+Copyright (C) 2006-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Replacement stdint.h file for building GNU Emacs on Windows.
-Copyright (C) 2011-2014 Free Software Foundation, Inc.
+Copyright (C) 2011-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
-/* Copyright (C) 1995, 2001-2014 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* sys/stat.h supplied with MSVCRT uses too narrow data types for
inode and user/group id, so we replace them with our own.
-Copyright (C) 2008-2014 Free Software Foundation, Inc.
+Copyright (C) 2008-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* A limited emulation of sys/wait.h on Posix systems.
-Copyright (C) 2012-2014 Free Software Foundation, Inc.
+Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
# -*- Makefile -*- for GNU Emacs on the Microsoft Windows API.
-# Copyright (C) 2000-2014 Free Software Foundation, Inc.
+# Copyright (C) 2000-2015 Free Software Foundation, Inc.
#
# Top level makefile for building GNU Emacs on Windows NT
#
rem Hack to run install-info with multiple info files on the command\r
rem line on the Windows platform.\r
\r
-rem Copyright (C) 2003-2014 Free Software Foundation, Inc.\r
+rem Copyright (C) 2003-2015 Free Software Foundation, Inc.\r
\r
rem This file is part of GNU Emacs.\r
\r
# -*- Makefile -*- definition file for building GNU Emacs on Windows NT.\r
-# Copyright (C) 2000-2014 Free Software Foundation, Inc.\r
+# Copyright (C) 2000-2015 Free Software Foundation, Inc.\r
\r
# This file is part of GNU Emacs.\r
\r
/* paths.h file for MS Windows
-Copyright (C) 1993, 1995, 1997, 1999, 2001-2014 Free Software
+Copyright (C) 1993, 1995, 1997, 1999, 2001-2015 Free Software
Foundation, Inc.
This file is part of GNU Emacs.
/* Pre-process emacs.exe for profiling by MSVC.
- Copyright (C) 1999, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* runemacs --- Simple program to start Emacs with its console window hidden.
-Copyright (C) 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
@echo off\r
-rem Copyright (C) 2001-2014 Free Software Foundation, Inc.\r
+rem Copyright (C) 2001-2015 Free Software Foundation, Inc.\r
\r
rem Author: Christoph Scholtes cschol2112 at gmail.com\r
\r
#include "copyright.h"
/*
-Copyright (C) 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 2001-2015 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
+2015-01-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ Less 'make' chatter for oldXMenu
+ * Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0, am__v_GEN_1)
+ (AM_V_at, am__v_at_, am__v_at_0, am__v_at_1): New macros.
+ (libXMenu11.a): Use them.
+
2014-10-20 Glenn Morris <rgm@gnu.org>
* Merge in all changes up to 24.4 release.
;; coding: utf-8
;; End:
- Copyright (C) 1993-1999, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1993-1999, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
#include "copyright.h"
/*
-Copyright (C) 1993-1994, 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 1993-1994, 2001-2015 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
#include "copyright.h"
/*
-Copyright (C) 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 2001-2015 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
#include "copyright.h"
/*
-Copyright (C) 1993, 1996, 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 1993, 1996, 2001-2015 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
## without express or implied warranty.
-## Copyright (C) 2001-2014 Free Software Foundation, Inc.
+## Copyright (C) 2001-2015 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
am__v_CC_0 = @echo " CC " $@;
am__v_CC_1 =
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+
DEPDIR = deps
## -MMD -MF $(DEPDIR)/$*.d if AUTO_DEPEND; else empty.
DEPFLAGS = @DEPFLAGS@
$(AM_V_CC)$(CC) -c ${ALL_CFLAGS} $<
libXMenu11.a: $(OBJS) $(EXTRA)
- $(RM) $@
- $(AR) $(ARFLAGS) $@ $(OBJS) $(EXTRA)
- $(RANLIB) $@
+ $(AM_V_GEN)$(RM) $@
+ $(AM_V_at)$(AR) $(ARFLAGS) $@ $(OBJS) $(EXTRA)
+ $(AM_V_at)$(RANLIB) $@
## Insert either autodeps.mk (if AUTO_DEPEND), else deps.mk.
@oldxmenu_deps_frag@
## without express or implied warranty.
-## Copyright (C) 2001-2014 Free Software Foundation, Inc.
+## Copyright (C) 2001-2015 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
/*
-Copyright (C) 1993-1998, 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 1993-1998, 2001-2015 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
-# Copyright (C) 1992-1998, 2000-2014 Free Software Foundation, Inc.
+# Copyright (C) 1992-1998, 2000-2015 Free Software Foundation, Inc.
#
# This file is part of GNU Emacs.
#
set $type = (enum Lisp_Type) (USE_LSB_TAG ? $bugfix & (1 << GCTYPEBITS) - 1 : (EMACS_UINT) $bugfix >> VALBITS)
end
+# Access the name of a symbol
+define xsymname
+ if (CHECK_LISP_OBJECT_TYPE)
+ set $bugfix = $arg0.i
+ else
+ set $bugfix = $arg0
+ end
+ set $symname = ((struct Lisp_Symbol *) ((char *)lispsym + $bugfix))->name
+end
+
# Set up something to print out s-expressions.
# We save and restore print_output_debug_flag to prevent the w32 port
# from calling OutputDebugString, which causes GDB to display each
define xprintsym
xgetptr $arg0
- set $sym = (struct Lisp_Symbol *) $ptr
- xgetptr $sym->name
+ xsymname $ptr
+ xgetptr $symname
set $sym_name = (struct Lisp_String *) $ptr
xprintstr $sym_name
end
commands
silent
xgetptr globals.f_Vinitial_window_system
- set $tem = (struct Lisp_Symbol *) $ptr
- xgetptr $tem->name
+ xsymname $ptr
+ xgetptr $symname
set $tem = (struct Lisp_String *) $ptr
set $tem = (char *) $tem->data
# If we are running in synchronous mode, we want a chance to look
+2015-01-08 Eli Zaretskii <eliz@gnu.org>
+
+ * dispnew.c (buffer_posn_from_coords): Fix the value of the column
+ returned for right-to-left screen lines. (Before the change on
+ 2014-12-30, the incorrectly-computed X pixel coordinate concealed
+ this bug.)
+
+ * .gdbinit (xsymname): New subroutine.
+ (xprintsym, initial-tbreak): Use it to access the name of a symbol
+ in a way that doesn't cause GDB to barf when it tries to
+ dereference a NULL pointer.
+
+ * xdisp.c (next_element_from_c_string): Use Lisp integer zero as
+ the object.
+ (set_cursor_from_row, try_cursor_movement, dump_glyph)
+ (insert_left_trunc_glyphs, append_space_for_newline)
+ (extend_face_to_end_of_line, highlight_trailing_whitespace)
+ (find_row_edges, ROW_GLYPH_NEWLINE_P, Fmove_point_visually)
+ (Fbidi_resolved_levels, produce_special_glyphs)
+ (rows_from_pos_range, mouse_face_from_buffer_pos)
+ (note_mouse_highlight): Use nil as the object for glyphs inserted
+ by the display engine, and test with NILP instead of INTEGERP.
+ (Bug#19535)
+
+ * w32fns.c (Fx_show_tip): Use NILP to test for glyphs inserted by
+ the display engine.
+
+ * xfns.c (Fx_show_tip): Use NILP to test for glyphs inserted by
+ the display engine.
+
+ * dispextern.h (struct glyph, struct it): Update comments for the
+ OBJECT members.
+
+2015-01-08 Paul Eggert <eggert@cs.ucla.edu>
+
+ Port new Lisp symbol init to x86 --with-wide-int
+ * lisp.h (DEFINE_LISP_SYMBOL_BEGIN, DEFINE_LISP_SYMBOL_END):
+ Define to empty on platforms where EMACS_INT_MAX != INTPTR_MAX, as
+ GCC (at least) does not allow a constant initializer to widen an
+ address constant.
+
+ * lisp.h (TAG_SYMPTR): Don't do arithmetic on NULL.
+ This is a followup to the "Port Qnil==0 XUNTAG to clang" patch.
+ Although clang doesn't need it, some other compiler might, and
+ it's easy enough to be safe.
+
+ * conf_post.h (ATTRIBUTE_ALLOC_SIZE): Port to clang 3.5.0.
+ Apparently clang removed support for the alloc_size attribute.
+
+ Port Qnil==0 XUNTAG to clang
+ clang has undefined behavior if the program subtracts an integer
+ from (char *) 0. Problem reported by YAMAMOTO Mitsuharu in:
+ http://lists.gnu.org/archive/html/emacs-devel/2015-01/msg00132.html
+ * lisp.h (lisp_h_XUNTAG) [USE_LSB_TAG]:
+ (XUNTAG) [!USE_LSB_TAG]: Port to clang 3.5.0.
+
+ Port GFileMonitor * hack to Qnil==0 platforms
+ Reported by Glenn Morris in: http://bugs.gnu.org/15880#112
+ * gfilenotify.c (monitor_to_lisp, lisp_to_monitor): New functions.
+ (dir_monitor_callback, Fgfile_add_watch, Fgfile_rm_watch): Use them.
+
+2015-01-06 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsterm.m (x_set_window_size): Call updateFrameSize to get real
+ size instead of using widht/height. The frame may be constrained.
+
+2015-01-05 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lisp.h (XSYMBOL): Parenthesize id in forward decl.
+ Needed when neither optimizing nor inlining.
+ Also, sort decls alphabetically.
+
+2015-01-05 Eli Zaretskii <eliz@gnu.org>
+
+ * w32proc.c, w32.h, w32fns.c, w32font.c, w32menu.c, w32notify.c:
+ * w32proc.c, w32select.c, w32term.c, w32uniscribe.c: Remove
+ declarations of Q* variables that represent symbols.
+
+2015-01-05 Paul Eggert <eggert@cs.ucla.edu>
+
+ Use 0 for Qnil
+ Fixes Bug#15880.
+ If USE_LSB_TAG, arrange for the representation of Qnil to be zero so
+ that NILP (x) is equivalent to testing whether x is 0 at the
+ machine level. The overall effects of this and the previous patch
+ shrink the size of the text segment by 2.3% and speeds up
+ compilation of all the .elc files by about 0.5% on my platform,
+ which is Fedora 20 x86-64.
+ * lisp.h (lisp_h_XPNTR, lisp_h_XSYMBOL, lisp_h_XUNTAG)
+ (make_lisp_symbol) [USE_LSB_TAG]:
+ Symbols now tag the difference from lispsym, not the pointer.
+ (lisp_h_XUNTAGBASE, TAG_SYMPTR): New macros.
+ (Lisp_Int0, Lisp_Int1, Lisp_Symbol, Lisp_Misc, Lisp_String, Lisp_Cons):
+ Renumber so that Lisp_Symbol is 0, so that Qnil is zero.
+ (XSYMBOL): New forward decl.
+ (XUNTAGBASE): New function.
+ (XUNTAG): Use it.
+
+ Compute C decls for DEFSYMs automatically
+ Fixes Bug#15880.
+ This patch also makes Q constants (e.g., Qnil) constant addresses
+ from the C point of view.
+ * alloc.c, bidi.c, buffer.c, bytecode.c, callint.c, casefiddle.c:
+ * casetab.c, category.c, ccl.c, charset.c, chartab.c, cmds.c, coding.c:
+ * composite.c, data.c, dbusbind.c, decompress.c, dired.c, dispnew.c:
+ * doc.c, editfns.c, emacs.c, eval.c, fileio.c, fns.c, font.c, fontset.c:
+ * frame.c, fringe.c, ftfont.c, ftxfont.c, gfilenotify.c, gnutls.c:
+ * image.c, inotify.c, insdel.c, keyboard.c, keymap.c, lread.c:
+ * macfont.m, macros.c, minibuf.c, nsfns.m, nsfont.m, nsimage.m:
+ * nsmenu.m, nsselect.m, nsterm.m, print.c, process.c, profiler.c:
+ * search.c, sound.c, syntax.c, term.c, terminal.c, textprop.c, undo.c:
+ * window.c, xdisp.c, xfaces.c, xfns.c, xftfont.c, xmenu.c, xml.c:
+ * xselect.c, xsettings.c, xterm.c:
+ Remove Q vars that represent symbols (e.g., Qnil, Qt, Qemacs).
+ These names are now defined automatically by make-docfile.
+ * alloc.c (init_symbol): New function.
+ (Fmake_symbol): Use it.
+ (c_symbol_p): New function.
+ (valid_lisp_object_p, purecopy): Use it.
+ * alloc.c (marked_pinned_symbols):
+ Use make_lisp_symbol instead of make_lisp_ptr.
+ (garbage_collect_1): Mark lispsym symbols.
+ (CHECK_ALLOCATED_AND_LIVE_SYMBOL): New macro.
+ (mark_object): Use it.
+ (sweep_symbols): Sweep lispsym symbols.
+ (symbol_uses_obj): New function.
+ (which_symbols): Use it. Work for lispsym symbols, too.
+ (init_alloc_once): Initialize Vpurify_flag here; no need to wait,
+ since Qt's address is already known now.
+ (syms_of_alloc): Add lispsym count to symbols_consed.
+ * buffer.c (init_buffer_once): Compare to Qnil, not to make_number (0),
+ when testing whether storage is all bits zero.
+ * dispextern.h (struct image_type):
+ * font.c (font_property_table):
+ * frame.c (struct frame_parm_table, frame_parms):
+ * keyboard.c (scroll_bar_parts, struct event_head):
+ * xdisp.c (struct props):
+ Use XSYMBOL_INIT (Qfoo) and struct Lisp_Symbol * rather than &Qfoo and
+ Lisp_Object *, since Qfoo is no longer an object whose address can be
+ taken. All uses changed.
+ * eval.c (run_hook): New function. Most uses of Frun_hooks changed to
+ use it, so that they no longer need to take the address of a Lisp sym.
+ (syms_of_eval): Don't use DEFSYM on Vrun_hooks, as it's a variable.
+ * frame.c (syms_of_frame): Add defsyms for the frame_parms table.
+ * keyboard.c (syms_of_keyboard): Don't DEFSYM Qmenu_bar here.
+ DEFSYM Qdeactivate_mark before the corresponding var.
+ * keymap.c (syms_of_keymap): Use DEFSYM for Qmenu_bar and Qmode_line
+ instead of interning their symbols; this avoids duplicates.
+ (LISP_INITIALLY, TAG_PTR)
+ (DEFINE_LISP_SYMBOL_BEGIN, DEFINE_LISP_SYMBOL_END, XSYMBOL_INIT):
+ New macros.
+ (LISP_INITIALLY_ZERO): Use it.
+ (enum symbol_interned, enum symbol_redirect, struct Lisp_Symbol)
+ (EXFUN, DEFUN_ARGS_MANY, DEFUN_ARGS_UNEVALLED, DEFUN_ARGS_*):
+ Move decls up, to avoid forward uses. Include globals.h earlier, too.
+ (make_lisp_symbol): New function.
+ (XSETSYMBOL): Use it.
+ (DEFSYM): Now just a placeholder for make-docfile.
+ * lread.c (DEFINE_SYMBOLS): Define, for globals.h.
+ (intern_sym): New function, with body taken from old intern_driver.
+ (intern_driver): Use it. Last arg is now Lisp integer, not ptrdiff_t.
+ All uses changed.
+ (define_symbol): New function.
+ (init_obarray): Define the C symbols taken from lispsym.
+ Use plain DEFSYM for Qt and Qnil.
+ * syntax.c (init_syntax_once): No need to worry about
+ Qchar_table_extra_slots.
+
+2015-01-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ 'temacs -nw' should not call missing functions
+ Without this patch, "temacs -nw" fails with the diagnostic
+ "emacs: Symbol's function definition is void: frame-windows-min-size"
+ and messes up the tty's state.
+ * frame.c (Fframe_windows_min_size): New placeholder function.
+ (syms_of_frame): Define it.
+ * window.c (Fwindow__sanitize_window_sizes): New placeholder.
+ (syms_of_window): Define it.
+
+ Less 'make' chatter for lisp dir
+ * Makefile.in (%.elc): Adjust to compile-onefile change in
+ ../lisp/Makefile.in.
+
+ batch write-region no longer says "Wrote FOO"
+ This cuts down on 'make' chatter a bit.
+ * fileio.c (Fwrite_region):
+ Don't output "Wrote /whatever/foo.elc" if noninteractive.
+
+2015-01-03 Paul Eggert <eggert@cs.ucla.edu>
+
+ Revert previous change to produce_composite_glyph
+ * term.c (produce_composite_glyph): Revert previous change (Bug#19496).
+
+ Pacify gcc -Wparentheses
+ * frame.c (x_set_frame_parameters): Add parens (Bug#19428).
+
+2015-01-03 Martin Rudalics <rudalics@gmx.at>
+
+ * frame.c (x_set_frame_parameters): Call Fset_frame_size only if
+ f->can_x_set_window_size is true.
+ * xterm.c (x_set_window_size_1): Call change_frame_size with
+ text sizes instead of pixel sizes (Bug#19428).
+
+2015-01-01 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (pos_visible_p): Fix up the X coordinate for
+ right-to-left screen lines. (Bug#19473)
+
+2015-01-01 Eli Zaretskii <eliz@gnu.org>
+
+ * w32proc.c (Fw32_get_codepage_charset): Doc fix. (Bug#19458)
+
+2014-12-31 Paul Eggert <eggert@cs.ucla.edu>
+
+ Simplify setfattr use by assuming GNU make
+ * Makefile.in (PAXCTL_if_present, SETFATTR_if_present): New macros.
+ (emacs$(EXEEXT), temacs$(EXEEXT), bootstrap-emacs$(EXEEXT)): Use them.
+ Simplify by using GNU make rather than shell conditionals,
+ by using ln -f rather than rm -f followed by ln,
+ and by preferring $@ to spelling out the destination.
+
+2014-12-29 Eli Zaretskii <eliz@gnu.org>
+
+ * sysdep.c [WINDOWSNT]: Include sys/socket.h, without which this
+ file doesn't compile on MS-Windows.
+
+2014-12-29 Paul Eggert <eggert@cs.ucla.edu>
+
+ Allow return value of system-name to vary. (Bug#19438)
+ * filelock.c (current_lock_owner):
+ * xrdb.c (get_environ_db):
+ * xterm.c (same_x_server):
+ * xterm.c (x_term_init):
+ Prefer (system-name) to system-name, and avoid naming
+ locals 'system-name'.
+ * editfns.c (cached_system_name): New static var.
+ (init_and_cache_system_name): New function.
+ (init_editfns, Fsystem_name): Use it.
+ (syms_of_editfns): Initialize it and Vsystem_name to the same value.
+ * sysdep.c [HAVE_SOCKETS]: Don't include <sys/socket.h>, <netdb.h>.
+ (h_errno) [TRY_AGAIN && !HAVE_H_ERRNO]: Remove decl.
+ (init_system_name) [HAVE_SOCKETS]: Don't canonicalize the name.
+ Don't create a new string if the current value is already correct.
+
+2014-12-28 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix produce_composite_width typo
+ * term.c (produce_composite_glyph):
+ Fix typo that confused number of columns for pixel width.
+
+2014-12-28 Paul Eggert <eggert@Penguin.CS.UCLA.EDU>
+
+ Wrap dll functions more simply
+ * decompress.c, gnutls.c, image.c, xml.c:
+ If WINDOWSNT, use '#define FOO fn_FOO' to wrap dll functions,
+ rather than the inverse when not WINDOWSNT. This isolates the
+ fn_* business into the WINDOWSNT-specific section of the code,
+ which makes it easier to maintain the generic code.
+ * decompress.c (DEF_ZLIB_FN, LOAD_ZLIB_FN):
+ * gnutls.c (DEF_GNUTLS_FN, LOAD_GNUTLS_FN):
+ * image.c (DEF_IMGLIB_FN, LOAD_IMGLIB_FN):
+ * xml.c (DEF_XML2_FN, LOAD_XML2_FN):
+ Remove. All uses replaced by DEF_DLL_FN.
+ * decompress.c (inflateInit2): Remove; no longer needed.
+ * w32.h (DEF_DLL_FN, LOAD_DLL_FN): New macros.
+
+ Port memory-full checking to GnuTLS 3.3
+ Instead of using gnutls_global_set_mem_functions, check every call
+ to a GnuTLS function that might return an indication of memory
+ exhaustion. Suggested by Dmitry Antipov in:
+ http://lists.gnu.org/archive/html/emacs-devel/2014-12/msg02056.html
+ * gnutls.c (gnutls_global_set_mem_functions) [WINDOWSNT]: Remove.
+ (init_gnutls_functions): Do not load gnutls_global_set_mem_functions.
+ (fn_gnutls_global_set_mem_functions) [!WINDOWSNT]: Remove.
+ All uses removed.
+ (check_memory_full): New function.
+ (emacs_gnutls_handshake, emacs_gnutls_handle_error)
+ (gnutls_make_error, gnutls_certificate_details, Fgnutls_peer_status)
+ (Fgnutls_boot): Use it.
+ (emacs_gnutls_global_init): Avoid gnutls_global_set_mem_functions.
+
+2014-12-27 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix parse_settings to match internal documentation
+ * xsettings.c (parse_settings): Return the number of settings seen.
+ Count the settings changes accurately.
+ (read_settings): Don't confuse number of settings changes with
+ the return code from XGetWindowProperty.
+
+2014-12-27 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (set_iterator_to_next) <GET_FROM_STRING>: Limit search in
+ composition_compute_stop_pos to the number of characters in the
+ string. (Bug#19435)
+ <GET_FROM_BUFFER, GET_FROM_STRING>: Simplify code.
+
+ * composite.c (composition_compute_stop_pos): If no composition
+ was found in a string before ENDPOS, and ENDPOS is the string end,
+ no need to back up to a safe point.
+
+ * dispextern.h (struct it) <end_charpos>: Improve commentary.
+
+2014-12-27 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsimage.m (allocInitFromFile:): Initialize bmRep.
+ (dealloc): Release bmRep.
+ (setPixmapData): Make bmRep local so class member is not
+ set (Bug#19133).
+ (setPixmapData): Rename local variable bmRep to avoid compiler
+ warning.
+
+2014-12-27 Jan Djärv <jan.h.d@swipnet.se>
+
+ * xterm.c (do_ewmh_fullscreen): Don't remove maximized_horz/vert
+ when going to fullscreen (Bug#0x180004f).
+
+2014-12-27 Eli Zaretskii <eliz@gnu.org>
+
+ * window.c (Fwindow_body_width): Doc fix. (Bug#19395)
+
+2014-12-27 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * buffer.c (syms_of_buffer) <Vafter_change_functions>: fix docstring.
+
+2014-12-27 Eli Zaretskii <eliz@gnu.org>
+
+ * gnutls.c (gnutls_init): Fix deprecation warning from GCC.
+
+2014-12-26 Paul Eggert <eggert@cs.ucla.edu>
+
+ Use bool for boolean in xselect.c, xsettings.c
+ * xselect.c (x_get_local_selection, struct selection_data)
+ (x_selection_request_lisp_error, struct prop_location)
+ (x_handle_selection_request, x_convert_selection)
+ (waiting_for_other_props_on_window, expect_property_change)
+ (wait_for_property_change, x_handle_property_notify)
+ (x_get_foreign_selection, x_get_window_property)
+ (receive_incremental_selection)
+ (x_get_window_property_as_lisp_data)
+ (lisp_data_to_selection_data, Fx_get_selection_internal)
+ (x_send_client_event):
+ * xselect.c, xterm.h (x_handle_dnd_message):
+ * xsettings.c (dpyinfo_valid, parse_settings, read_settings)
+ (apply_xft_settings, read_and_apply_settings)
+ (xft_settings_event, init_gsettings, init_xsettings)
+ (syms_of_xsettings):
+ Use bool for boolean.
+ * xselect.c (x_get_window_property): Omit last arg, which was an
+ unused boolean.
+ * xsettings.c (apply_xft_settings): Remove 2nd arg, which was
+ always true. All callers changed.
+
+2014-12-26 Eli Zaretskii <eliz@gnu.org>
+
+ * w32proc.c (sys_spawnve, get_lcid_callback): Use strcpy instead
+ of strcat.
+
+ * w32menu.c (add_menu_item): Use stpcpy instead of strcat.
+
+ * w32.c (sys_readdir, stat_worker, symlink): Use strcpy instead of
+ strcat.
+
+2014-12-26 Paul Eggert <eggert@cs.ucla.edu>
+
+ Use bool for boolean in xsmfns.c
+ * xsmfns.c, xterm.h (x_session_have_connection):
+ * xsmfns.c (doing_interact, smc_interact_CB, Fhandle_save_session):
+ Use bool for boolean.
+ (x_session_initialize, Fhandle_save_session):
+ Prefer NILP (x) to EQ (x, Qnil).
+
+2014-12-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ * callproc.c (child_setup):
+ * dbusbind.c (xd_signature_cat):
+ * doc.c (get_doc_string, Fsnarf_documentation):
+ * editfns.c (Fuser_full_name):
+ * frame.c (xrdb_get_resource):
+ * gtkutil.c (xg_get_file_with_chooser):
+ * tparam.c (tparam1):
+ * xfns.c (xic_create_fontsetname):
+ * xrdb.c (gethomedir, get_user_db, get_environ_db):
+ * xsmfns.c (smc_save_yourself_CB):
+ Rewrite to avoid the need for strcat, typically by using stpcpy
+ and/or lispstpcpy. strcat tends to be part of O(N**2) algorithms.
+ * doc.c (sibling_etc):
+ * xrdb.c (xdefaults):
+ Now a top-level static constant.
+
+2014-12-23 Didier Verna <didier@didierverna.net> (tiny change).
+
+ * nsselect.m (Fns_selection_owner_p): Return a Lisp boolean, not a
+ C one (Bug#19396).
+
2014-12-22 Jan Djärv <jan.h.d@swipnet.se>
* xterm.c (x_bitmap_icon): Partly revert change from 2014-03-21 which
Call gnutls_certificate_set_x509_system_trust. Log an error message if
it fails.
+2014-12-14 Paul Eggert <eggert@cs.ucla.edu>
+
+ * regex.c (analyze_first): Rename from analyze_first.
+
2014-12-13 Paul Eggert <eggert@cs.ucla.edu>
* alloc.c (XMALLOC_BASE_ALIGNMENT): Use max_align_t instead of
2014-11-29 Paul Eggert <eggert@cs.ucla.edu>
Improve clarity of USE_LSB_TAG definition.
- Problem reported by Lee Duhem. Suggestion by Andreas Schwab in:
+ Reported by Lee Duhem. Suggested by Andreas Schwab in:
http://lists.gnu.org/archive/html/emacs-devel/2014-11/msg02222.html
* lisp.h (USE_LSB_TAG): Define in terms of the (simpler)
VAL_MAX / 2 rather than in terms of the (more complicated)
2014-11-27 Oscar Fuentes <ofv@wanadoo.es>
- * src/w32.c, src/w32heap.c, src/w32term.c:
+ * w32.c, w32heap.c, w32term.c:
Use MINGW_W64 instead of _W64.
2014-11-27 Stefan Monnier <monnier@iro.umontreal.ca>
* fileio.c (Fexpand_file_name): Use make_unibyte_string, not
build_string, when importing a home directory. (Bug#18873)
+2014-12-27 Eli Zaretskii <eliz@gnu.org>
+
* dispnew.c (buffer_posn_from_coords):
Use WINDOW_WANTS_HEADER_LINE_P, not WINDOW_WANTS_MODELINE_P, to
account for the header-line height. (Bug#18839)
2014-10-25 Noam Postavsky <npostavs@users.sourceforget.net>
- * src/w32proc.c (create_child): If calling a quoted batch file,
+ * w32proc.c (create_child): If calling a quoted batch file,
pass NULL for exe. (Bug#18745)
2014-10-24 Eli Zaretskii <eliz@gnu.org>
On x86 platforms this works around GCC bug 63495
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63495>,
and more generally should fix a portability problem in Emacs.
- Problem reported by Stefan Monnier in:
+ Reported by Stefan Monnier in:
http://lists.gnu.org/archive/html/emacs-devel/2014-10/msg00261.html
2014-10-08 Leo Liu <sdl.web@gmail.com>
2014-09-23 Paul Eggert <eggert@cs.ucla.edu>
Fix SAFE_ALLOCA to not exhaust the stack when in a loop.
- Problem reported by Dmitry Antipov in thread leading to:
+ Reported by Dmitry Antipov in thread leading to:
http://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00713.html
This patch fixes only SAFE_ALLOCA, SAFE_NALLOCA, and SAFE_ALLOCA_LISP;
the experimental local_* macros enabled by USE_LOCAL_ALLOCATORS
2014-09-10 Paul Eggert <eggert@cs.ucla.edu>
Simplify lisp.h by removing the __COUNTER__ business.
- Problem reported by Dmitry Antipov in:
+ Reported by Dmitry Antipov in:
http://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00220.html
* lisp.h (make_local_vector, make_local_string)
(build_local_string): Simplify by not bothering with __COUNTER__.
* lisp.h (DEFINE_GDB_SYMBOL_ENUM): Remove.
These can generate a constant with the correct value but the wrong
width, which doesn't work as a printf argument. All uses removed.
- Problem reported by Dmitry Antipov in:
+ Reported by Dmitry Antipov in:
http://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00213.html
(ENUMABLE): Remove; no longer needed.
(ARRAY_MARK_FLAG_val, PSEUDOVECTOR_FLAG_val, VALMASK_val):
2014-06-03 Paul Eggert <eggert@cs.ucla.edu>
* emacs.c: Include "sysselect.h", to define its inline functions.
- Problem reported by Glenn Morris in:
+ Reported by Glenn Morris in:
http://lists.gnu.org/archive/html/emacs-devel/2014-06/msg00077.html
Do not require libXt-devel when building with gtk.
2014-03-27 Paul Eggert <eggert@cs.ucla.edu>
Port recent signal-related changes to FreeBSD.
- Problem reported by Herbert J. Skuhra.
+ Reported by Herbert J. Skuhra.
* lisp.h (block_tty_out_signal, unblock_tty_out_signal):
Move decls from here ...
* syssignal.h: ... to here, so that lisp.h doesn't depend on signal.h.
2014-01-20 Paul Eggert <eggert@cs.ucla.edu>
Avoid undefined behavior by initializing buffer redisplay bit.
- Problem reported by Dmitry Antipov in
+ Reported by Dmitry Antipov in
<http://lists.gnu.org/archive/html/emacs-devel/2014-01/msg01756.html>.
* buffer.c (Fget_buffer_create): Initialize redisplay bit.
2013-11-21 Paul Eggert <eggert@cs.ucla.edu>
Fix some dependency problems that cause unnecessary recompiles.
- Problem reported by RMS in
+ Reported by RMS in
<http://lists.gnu.org/archive/html/emacs-devel/2013-11/msg00421.html>.
* Makefile.in (OLDXMENU_TARGET, OLDXMENU, OLDXMENU_DEPS)
(really-lwlib, really-oldXMenu, stamp-oldxmenu)
2013-10-23 Paul Eggert <eggert@cs.ucla.edu>
- Port to Solaris 10 and its bundled GCC.
- Problem reported by Timothy C. Burt.
+ Port to Solaris 10 and its bundled GCC. Reported by Timothy C. Burt.
* floatfns.c (isfinite, isnan): Redefine unconditionally.
2013-10-21 Dmitry Antipov <dmantipov@yandex.ru>
so it shouldn't be used all the time. Perhaps we need two
flavors of 'eassert', one for where 'assume' is far more likely
to help or to hurt; but that can be done later.
- Problem reported by Dmitry Antipov in
+ Reported by Dmitry Antipov in
<http://lists.gnu.org/archive/html/emacs-devel/2013-10/msg00276.html>.
Also, don't include <verify.h>; no longer needed.
2013-07-07 Paul Eggert <eggert@cs.ucla.edu>
- Port to Ubuntu 10 (Bug#14803).
- Problem reported by T.V. Raman.
+ Port to Ubuntu 10 (Bug#14803). Reported by T.V. Raman.
* process.c (close_on_exec, accept4, process_socket):
Define these if !HAVE_ACCEPT4, not if !SOCK_CLOEXEC.
* emacs.c (malloc_enable_thread): Hoist extern decl to top level.
(main) [HAVE_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
Invoke malloc_enable_thread even when not interactive.
- Problem reported by Ken Brown in <http://bugs.gnu.org/14569#275>.
+ Reported by Ken Brown in <http://bugs.gnu.org/14569#275>.
* process.c (init_process_emacs) [CYGWIN]: Tickle glib even
in this case, since the underlying bug has now been fixed.
* unexelf.c: Don't assume ElfW (Half) fits in int.
(entry_address, find_section, unexec): Use ptrdiff_t, not int,
when dealing with ElfW (Half) values, since they can exceed 2**31
- on 64-bit OpenBSD hosts. Problem reported privately by Han Boetes.
+ on 64-bit OpenBSD hosts. Reported by Han Boetes (privately).
(entry_address): Omit unused NUM arg. All uses changed.
2013-05-07 Juri Linkov <juri@jurta.org>
;; coding: utf-8
;; End:
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
* minibuf.c: Don't allow entry to minibuffer
while minibuffer is selected.
- Copyright (C) 1985-1986, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1985-1986, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
2006-07-21 Eli Zaretskii <eliz@gnu.org>
* w32.c (convert_time): Use explicit long double constants to
- ensure long double arithmetics is used throughout.
+ ensure long double arithmetic is used throughout.
2006-07-20 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
;; add-log-time-zone-rule: t
;; End:
- Copyright (C) 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
;; coding: utf-8
;; End:
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
2012-12-08 Fabrice Popineau <fabrice.popineau@gmail.com>
- * w32fns.c (emacs_abort): Don't do arithmetics on void pointers.
+ * w32fns.c (emacs_abort): Don't do arithmetic on void pointers.
2012-12-08 Eli Zaretskii <eliz@gnu.org>
defining an XRectangle structure.
* w32proc.c (RVA_TO_PTR, w32_executable_type): Fix pointer
- arithmetics for compatibility with x64.
+ arithmetic for compatibility with x64.
* w32menu.c (add_menu_item): Use UINT_PTR instead of UINT, for
compatibility with x64.
;; coding: utf-8
;; End:
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
See ChangeLog.1 for earlier changes.
- Copyright (C) 1986-1988, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1986-1988, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
;; coding: utf-8
;; End:
- Copyright (C) 1993, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1993, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
;; coding: utf-8
;; End:
- Copyright (C) 1993-1994, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1993-1994, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
;; coding: utf-8
;; End:
- Copyright (C) 1994-1995, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1994-1995, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
;; coding: utf-8
;; End:
- Copyright (C) 1995-1996, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1995-1996, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
;; coding: utf-8
;; End:
- Copyright (C) 1997-1998, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-1998, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
See ChangeLog.7 for earlier changes.
- Copyright (C) 1999, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
;; coding: utf-8
;; End:
- Copyright (C) 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
### @configure_input@
-# Copyright (C) 1985, 1987-1988, 1993-1995, 1999-2014
-# Free Software Foundation, Inc.
+# Copyright (C) 1985, 1987-1988, 1993-1995, 1999-2015 Free Software
+# Foundation, Inc.
# This file is part of GNU Emacs.
## around this, newer ones setfattr. See Bug#11398 and Bug#16343.
PAXCTL = @PAXCTL@
SETFATTR = @SETFATTR@
+PAXCTL_if_present = $(or $(PAXCTL),: paxctl)
+SETFATTR_if_present = $(or $(SETFATTR),: setfattr)
## Some systems define this to request special libraries.
LIBS_SYSTEM=@LIBS_SYSTEM@
emacs$(EXEEXT): temacs$(EXEEXT) \
$(etc)/DOC $(lisp) $(leimdir)/leim-list.el \
$(lispsource)/international/charprop.el
- if test "$(CANNOT_DUMP)" = "yes"; then \
- rm -f emacs$(EXEEXT); \
- ln temacs$(EXEEXT) emacs$(EXEEXT); \
- else \
- LC_ALL=C $(RUN_TEMACS) -batch -l loadup dump || exit 1; \
- test "X$(PAXCTL)" = X || $(PAXCTL) -zex emacs$(EXEEXT); \
- while test -f bootstrap-emacs$(EXEEXT); do \
- rm -f bootstrap-emacs$(EXEEXT); \
- done; \
- ln emacs$(EXEEXT) bootstrap-emacs$(EXEEXT); \
- fi
+ifeq ($(CANNOT_DUMP),yes)
+ ln -f temacs$(EXEEXT) $@
+else
+ LC_ALL=C $(RUN_TEMACS) -batch -l loadup dump
+ $(PAXCTL_if_present) -zex $@
+ ln -f $@ bootstrap-emacs$(EXEEXT)
+endif
## We run make-docfile twice because the command line may get too long
## on some systems. The sed command operating on lisp.mk also reduces
$(AM_V_CCLD)$(CC) $(ALL_CFLAGS) $(TEMACS_LDFLAGS) $(LDFLAGS) \
-o temacs $(ALLOBJS) $(lib)/libgnu.a $(W32_RES_LINK) $(LIBES)
$(MKDIR_P) $(etc)
- test "$(CANNOT_DUMP)" = "yes" || \
- test "X$(PAXCTL)" = X || $(PAXCTL) -r temacs$(EXEEXT)
- test "$(CANNOT_DUMP)" = "yes" || test -z "$(SETFATTR)" || \
- $(SETFATTR) -n user.pax.flags -v er $@
+ifneq ($(CANNOT_DUMP),yes)
+ $(PAXCTL_if_present) -r $@
+ $(SETFATTR_if_present) -n user.pax.flags -v er $@
+endif
## The following oldxmenu-related rules are only (possibly) used if
## HAVE_X11 && !USE_GTK, but there is no harm in always defining them.
## bootstrap-emacs$(EXEEXT) as an order-only prerequisite.
%.elc: %.el | bootstrap-emacs$(EXEEXT)
- @$(MAKE) -C ../lisp compile-onefile THEFILE=$< EMACS="$(bootstrap_exe)"
+ @$(MAKE) -C ../lisp EMACS="$(bootstrap_exe)" THEFILE=$< $<c
## VCSWITNESS points to the file that holds info about the current checkout.
## We use it as a heuristic to decide when to rebuild loaddefs.el.
## files from loadup.el in source form.
bootstrap-emacs$(EXEEXT): temacs$(EXEEXT)
$(MAKE) -C ../lisp update-subdirs
- if test "$(CANNOT_DUMP)" = "yes"; then \
- rm -f bootstrap-emacs$(EXEEXT); \
- ln temacs$(EXEEXT) bootstrap-emacs$(EXEEXT); \
- else \
- $(RUN_TEMACS) --batch --load loadup bootstrap || exit 1; \
- test "X$(PAXCTL)" = X || $(PAXCTL) -zex emacs$(EXEEXT); \
- mv -f emacs$(EXEEXT) bootstrap-emacs$(EXEEXT); \
- fi
+ifeq ($(CANNOT_DUMP),yes)
+ ln -f temacs$(EXEEXT) $@
+else
+ $(RUN_TEMACS) --batch --load loadup bootstrap
+ $(PAXCTL_if_present) -zex emacs$(EXEEXT)
+ mv -f emacs$(EXEEXT) $@
+endif
@: Compile some files earlier to speed up further compilation.
$(MAKE) -C ../lisp compile-first EMACS="$(bootstrap_exe)"
-Copyright (C) 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 2001-2015 Free Software Foundation, Inc.
See the end of the file for license conditions.
/* Storage allocation and gc for GNU Emacs Lisp interpreter.
-Copyright (C) 1985-1986, 1988, 1993-1995, 1997-2014 Free Software
+Copyright (C) 1985-1986, 1988, 1993-1995, 1997-2015 Free Software
Foundation, Inc.
This file is part of GNU Emacs.
#endif /* MAX_SAVE_STACK > 0 */
-static Lisp_Object Qconses;
-static Lisp_Object Qsymbols;
-static Lisp_Object Qmiscs;
-static Lisp_Object Qstrings;
-static Lisp_Object Qvectors;
-static Lisp_Object Qfloats;
-static Lisp_Object Qintervals;
-static Lisp_Object Qbuffers;
-static Lisp_Object Qstring_bytes, Qvector_slots, Qheap;
-static Lisp_Object Qgc_cons_threshold;
-Lisp_Object Qautomatic_gc;
-Lisp_Object Qchar_table_extra_slots;
-
-/* Hook run after GC has finished. */
-
-static Lisp_Object Qpost_gc_hook;
-
static void mark_terminals (void);
static void gc_sweep (void);
static Lisp_Object make_pure_vector (ptrdiff_t);
XSYMBOL (sym)->name = name;
}
+void
+init_symbol (Lisp_Object val, Lisp_Object name)
+{
+ struct Lisp_Symbol *p = XSYMBOL (val);
+ set_symbol_name (val, name);
+ set_symbol_plist (val, Qnil);
+ p->redirect = SYMBOL_PLAINVAL;
+ SET_SYMBOL_VAL (p, Qunbound);
+ set_symbol_function (val, Qnil);
+ set_symbol_next (val, NULL);
+ p->gcmarkbit = false;
+ p->interned = SYMBOL_UNINTERNED;
+ p->constant = 0;
+ p->declared_special = false;
+ p->pinned = false;
+}
+
DEFUN ("make-symbol", Fmake_symbol, Smake_symbol, 1, 1, 0,
doc: /* Return a newly allocated uninterned symbol whose name is NAME.
Its value is void, and its function definition and property list are nil. */)
(Lisp_Object name)
{
- register Lisp_Object val;
- register struct Lisp_Symbol *p;
+ Lisp_Object val;
CHECK_STRING (name);
MALLOC_UNBLOCK_INPUT;
- p = XSYMBOL (val);
- set_symbol_name (val, name);
- set_symbol_plist (val, Qnil);
- p->redirect = SYMBOL_PLAINVAL;
- SET_SYMBOL_VAL (p, Qunbound);
- set_symbol_function (val, Qnil);
- set_symbol_next (val, NULL);
- p->gcmarkbit = false;
- p->interned = SYMBOL_UNINTERNED;
- p->constant = 0;
- p->declared_special = false;
- p->pinned = false;
+ init_symbol (val, name);
consing_since_gc += sizeof (struct Lisp_Symbol);
symbols_consed++;
total_free_symbols--;
#endif /* GC_MARK_STACK != 0 */
+static bool
+c_symbol_p (struct Lisp_Symbol *sym)
+{
+ char *lispsym_ptr = (char *) lispsym;
+ char *sym_ptr = (char *) sym;
+ ptrdiff_t lispsym_offset = sym_ptr - lispsym_ptr;
+ return 0 <= lispsym_offset && lispsym_offset < sizeof lispsym;
+}
/* Determine whether it is safe to access memory at address P. */
static int
if (PURE_POINTER_P (p))
return 1;
+ if (SYMBOLP (obj) && c_symbol_p (p))
+ return ((char *) p - (char *) lispsym) % sizeof lispsym[0] == 0;
+
if (p == &buffer_defaults || p == &buffer_local_symbols)
return 2;
}
else if (SYMBOLP (obj))
{
- if (!XSYMBOL (obj)->pinned)
+ if (!XSYMBOL (obj)->pinned && !c_symbol_p (XSYMBOL (obj)))
{ /* We can't purify them, but they appear in many pure objects.
Mark them as `pinned' so we know to mark them at every GC cycle. */
XSYMBOL (obj)->pinned = true;
union aligned_Lisp_Symbol *sym = sblk->symbols, *end = sym + lim;
for (; sym < end; ++sym)
if (sym->s.pinned)
- mark_object (make_lisp_ptr (&sym->s, Lisp_Symbol));
+ mark_object (make_lisp_symbol (&sym->s));
lim = SYMBOL_BLOCK_SIZE;
}
return Qnil;
/* Record this function, so it appears on the profiler's backtraces. */
- record_in_backtrace (Qautomatic_gc, &Qnil, 0);
+ record_in_backtrace (Qautomatic_gc, 0, 0);
check_cons_list ();
mark_buffer (&buffer_defaults);
mark_buffer (&buffer_local_symbols);
+ for (i = 0; i < ARRAYELTS (lispsym); i++)
+ mark_object (make_lisp_symbol (&lispsym[i]));
+
for (i = 0; i < staticidx; i++)
mark_object (*staticvec[i]);
emacs_abort (); \
} while (0)
- /* Check both of the above conditions. */
+ /* Check both of the above conditions, for non-symbols. */
#define CHECK_ALLOCATED_AND_LIVE(LIVEP) \
do { \
CHECK_ALLOCATED (); \
CHECK_LIVE (LIVEP); \
} while (0) \
+ /* Check both of the above conditions, for symbols. */
+#define CHECK_ALLOCATED_AND_LIVE_SYMBOL() \
+ do { \
+ if (!c_symbol_p (ptr)) \
+ { \
+ CHECK_ALLOCATED (); \
+ CHECK_LIVE (live_symbol_p); \
+ } \
+ } while (0) \
+
#else /* not GC_CHECK_MARKED_OBJECTS */
-#define CHECK_LIVE(LIVEP) ((void) 0)
-#define CHECK_ALLOCATED_AND_LIVE(LIVEP) ((void) 0)
+#define CHECK_LIVE(LIVEP) ((void) 0)
+#define CHECK_ALLOCATED_AND_LIVE(LIVEP) ((void) 0)
+#define CHECK_ALLOCATED_AND_LIVE_SYMBOL() ((void) 0)
#endif /* not GC_CHECK_MARKED_OBJECTS */
nextsym:
if (ptr->gcmarkbit)
break;
- CHECK_ALLOCATED_AND_LIVE (live_symbol_p);
+ CHECK_ALLOCATED_AND_LIVE_SYMBOL ();
ptr->gcmarkbit = 1;
/* Attempt to catch bogus objects. */
eassert (valid_lisp_object_p (ptr->function));
static void
sweep_symbols (void)
{
- register struct symbol_block *sblk;
+ struct symbol_block *sblk;
struct symbol_block **sprev = &symbol_block;
- register int lim = symbol_block_index;
- EMACS_INT num_free = 0, num_used = 0;
+ int lim = symbol_block_index;
+ EMACS_INT num_free = 0, num_used = ARRAYELTS (lispsym);
symbol_free_list = NULL;
+ for (int i = 0; i < ARRAYELTS (lispsym); i++)
+ lispsym[i].gcmarkbit = 0;
+
for (sblk = symbol_block; sblk; sblk = *sprev)
{
int this_free = 0;
bounded_number (strings_consed));
}
+static bool
+symbol_uses_obj (Lisp_Object symbol, Lisp_Object obj)
+{
+ struct Lisp_Symbol *sym = XSYMBOL (symbol);
+ Lisp_Object val = find_symbol_value (symbol);
+ return (EQ (val, obj)
+ || EQ (sym->function, obj)
+ || (!NILP (sym->function)
+ && COMPILEDP (sym->function)
+ && EQ (AREF (sym->function, COMPILED_BYTECODE), obj))
+ || (!NILP (val)
+ && COMPILEDP (val)
+ && EQ (AREF (val, COMPILED_BYTECODE), obj)));
+}
+
/* Find at most FIND_MAX symbols which have OBJ as their value or
function. This is used in gdbinit's `xwhichsymbols' command. */
if (! DEADP (obj))
{
+ for (int i = 0; i < ARRAYELTS (lispsym); i++)
+ {
+ Lisp_Object sym = make_lisp_symbol (&lispsym[i]);
+ if (symbol_uses_obj (sym, obj))
+ {
+ found = Fcons (sym, found);
+ if (--find_max == 0)
+ goto out;
+ }
+ }
+
for (sblk = symbol_block; sblk; sblk = sblk->next)
{
union aligned_Lisp_Symbol *aligned_sym = sblk->symbols;
for (bn = 0; bn < SYMBOL_BLOCK_SIZE; bn++, aligned_sym++)
{
- struct Lisp_Symbol *sym = &aligned_sym->s;
- Lisp_Object val;
- Lisp_Object tem;
-
if (sblk == symbol_block && bn >= symbol_block_index)
break;
- XSETSYMBOL (tem, sym);
- val = find_symbol_value (tem);
- if (EQ (val, obj)
- || EQ (sym->function, obj)
- || (!NILP (sym->function)
- && COMPILEDP (sym->function)
- && EQ (AREF (sym->function, COMPILED_BYTECODE), obj))
- || (!NILP (val)
- && COMPILEDP (val)
- && EQ (AREF (val, COMPILED_BYTECODE), obj)))
+ Lisp_Object sym = make_lisp_symbol (&aligned_sym->s);
+ if (symbol_uses_obj (sym, obj))
{
- found = Fcons (tem, found);
+ found = Fcons (sym, found);
if (--find_max == 0)
goto out;
}
void
init_alloc_once (void)
{
- /* Used to do Vpurify_flag = Qt here, but Qt isn't set up yet! */
+ /* Even though Qt's contents are not set up, its address is known. */
+ Vpurify_flag = Qt;
+
purebeg = PUREBEG;
pure_size = PURESIZE;
DEFVAR_INT ("symbols-consed", symbols_consed,
doc: /* Number of symbols that have been consed so far. */);
+ symbols_consed += ARRAYELTS (lispsym);
DEFVAR_INT ("string-chars-consed", string_chars_consed,
doc: /* Number of string characters that have been consed so far. */);
/* Asynchronous timers.
- Copyright (C) 2000-2014 Free Software Foundation, Inc.
+ Copyright (C) 2000-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Asynchronous timers.
- Copyright (C) 2000-2014 Free Software Foundation, Inc.
+ Copyright (C) 2000-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Low-level bidirectional buffer/string-scanning functions for GNU Emacs.
- Copyright (C) 2000-2001, 2004-2005, 2009-2014 Free Software
+ Copyright (C) 2000-2001, 2004-2005, 2009-2015 Free Software
Foundation, Inc.
This file is part of GNU Emacs.
} bidi_category_t;
static Lisp_Object paragraph_start_re, paragraph_separate_re;
-static Lisp_Object Qparagraph_start, Qparagraph_separate;
\f
/***********************************************************************
/* blockinput.h - interface to blocking complicated interrupt-driven input.
- Copyright (C) 1989, 1993, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1989, 1993, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Buffer manipulation primitives for GNU Emacs.
-Copyright (C) 1985-1989, 1993-1995, 1997-2014 Free Software Foundation, Inc.
+Copyright (C) 1985-1989, 1993-1995, 1997-2015 Free Software Foundation,
+Inc.
This file is part of GNU Emacs.
due to user rplac'ing this alist or its elements. */
Lisp_Object Vbuffer_alist;
-static Lisp_Object Qkill_buffer_query_functions;
-
-/* Hook run before changing a major mode. */
-static Lisp_Object Qchange_major_mode_hook;
-
-Lisp_Object Qfirst_change_hook;
-Lisp_Object Qbefore_change_functions;
-Lisp_Object Qafter_change_functions;
-
-static Lisp_Object Qfundamental_mode, Qmode_class, Qpermanent_local;
-static Lisp_Object Qpermanent_local_hook;
-
-static Lisp_Object Qprotected_field;
-
static Lisp_Object QSFundamental; /* A string "Fundamental". */
-static Lisp_Object Qkill_buffer_hook;
-static Lisp_Object Qbuffer_list_update_hook;
-
-static Lisp_Object Qget_file_buffer;
-
-static Lisp_Object Qoverlayp;
-
-Lisp_Object Qpriority, Qbefore_string, Qafter_string;
-
-static Lisp_Object Qevaporate;
-
-Lisp_Object Qmodification_hooks;
-Lisp_Object Qinsert_in_front_hooks;
-Lisp_Object Qinsert_behind_hooks;
-
-Lisp_Object Qchoice, Qrange, Qleft, Qright;
-Lisp_Object Qvertical_scroll_bar, Qhorizontal_scroll_bar;
-static Lisp_Object Qoverwrite_mode, Qfraction;
-
static void alloc_buffer_text (struct buffer *, ptrdiff_t);
static void free_buffer_text (struct buffer *b);
static struct Lisp_Overlay * copy_overlays (struct buffer *, struct Lisp_Overlay *);
return unbind_to (count, Qt);
/* Then run the hooks. */
- Frun_hooks (1, &Qkill_buffer_hook);
+ run_hook (Qkill_buffer_hook);
unbind_to (count, Qnil);
}
the normal hook `change-major-mode-hook'. */)
(void)
{
- Frun_hooks (1, &Qchange_major_mode_hook);
+ run_hook (Qchange_major_mode_hook);
/* Make sure none of the bindings in local_var_alist
remain swapped in, in their symbols. */
/* Make sure all markable slots in buffer_defaults
are initialized reasonably, so mark_buffer won't choke. */
reset_buffer (&buffer_defaults);
- eassert (EQ (BVAR (&buffer_defaults, name), make_number (0)));
+ eassert (NILP (BVAR (&buffer_defaults, name)));
reset_buffer_local_variables (&buffer_defaults, 1);
- eassert (EQ (BVAR (&buffer_local_symbols, name), make_number (0)));
+ eassert (NILP (BVAR (&buffer_local_symbols, name)));
reset_buffer (&buffer_local_symbols);
reset_buffer_local_variables (&buffer_local_symbols, 1);
/* Prevent GC from getting confused. */
doc: /* List of functions to call after each text change.
Three arguments are passed to each function: the positions of
the beginning and end of the range of changed text,
-and the length in bytes of the pre-change text replaced by that range.
+and the length in chars of the pre-change text replaced by that range.
\(For an insertion, the pre-change length is zero;
-for a deletion, that length is the number of bytes deleted,
+for a deletion, that length is the number of chars deleted,
and the post-change beginning and end are at the same place.)
Buffer changes made while executing the `after-change-functions'
/* Header file for the buffer manipulation primitives.
-Copyright (C) 1985-1986, 1993-1995, 1997-2014 Free Software Foundation,
+Copyright (C) 1985-1986, 1993-1995, 1997-2015 Free Software Foundation,
Inc.
This file is part of GNU Emacs.
} while (false)
extern Lisp_Object Vbuffer_alist;
-extern Lisp_Object Qbefore_change_functions;
-extern Lisp_Object Qafter_change_functions;
-extern Lisp_Object Qfirst_change_hook;
-extern Lisp_Object Qpriority, Qbefore_string, Qafter_string;
-extern Lisp_Object Qchoice, Qrange, Qleft, Qright;
-extern Lisp_Object Qvertical_scroll_bar, Qhorizontal_scroll_bar;
/* FOR_EACH_LIVE_BUFFER (LIST_VAR, BUF_VAR) followed by a statement is
a `for' loop which iterates over the buffers from Vbuffer_alist. */
/* Execution of byte code produced by bytecomp.el.
- Copyright (C) 1985-1988, 1993, 2000-2014 Free Software Foundation,
+ Copyright (C) 1985-1988, 1993, 2000-2015 Free Software Foundation,
Inc.
This file is part of GNU Emacs.
\f
#ifdef BYTE_CODE_METER
-Lisp_Object Qbyte_code_meter;
#define METER_2(code1, code2) AREF (AREF (Vbyte_code_meter, code1), code2)
#define METER_1(code) METER_2 (0, code)
/* Call a Lisp function interactively.
- Copyright (C) 1985-1986, 1993-1995, 1997, 2000-2014 Free Software
+ Copyright (C) 1985-1986, 1993-1995, 1997, 2000-2015 Free Software
Foundation, Inc.
This file is part of GNU Emacs.
#include "window.h"
#include "keymap.h"
-Lisp_Object Qminus, Qplus;
-static Lisp_Object Qfuncall_interactively;
-static Lisp_Object Qcommand_debug_status;
-static Lisp_Object Qenable_recursive_minibuffers;
-
-static Lisp_Object Qhandle_shift_selection;
-static Lisp_Object Qread_number;
-
-Lisp_Object Qmouse_leave_buffer_hook;
-
-static Lisp_Object Qlist, Qlet, Qletx, Qsave_excursion, Qif;
-Lisp_Object Qwhen, Qprogn;
static Lisp_Object preserved_fns;
/* Marker used within call-interactively to refer to point. */
error ("Attempt to select inactive minibuffer window");
/* If the current buffer wants to clean up, let it. */
- Frun_hooks (1, &Qmouse_leave_buffer_hook);
+ run_hook (Qmouse_leave_buffer_hook);
Fselect_window (w, Qnil);
}
/* Synchronous subprocess invocation for GNU Emacs.
-Copyright (C) 1985-1988, 1993-1995, 1999-2014 Free Software Foundation,
+Copyright (C) 1985-1988, 1993-1995, 1999-2015 Free Software Foundation,
Inc.
This file is part of GNU Emacs.
if (STRINGP (display))
{
- char *vdata;
-
if (MAX_ALLOCA - sizeof "DISPLAY=" < SBYTES (display))
exec_failed (new_argv[0], ENOMEM);
- vdata = alloca (sizeof "DISPLAY=" + SBYTES (display));
- strcpy (vdata, "DISPLAY=");
- strcat (vdata, SSDATA (display));
+ char *vdata = alloca (sizeof "DISPLAY=" + SBYTES (display));
+ lispstpcpy (stpcpy (vdata, "DISPLAY="), display);
new_env = add_env (env, new_env, vdata);
}
/* GNU Emacs case conversion functions.
-Copyright (C) 1985, 1994, 1997-1999, 2001-2014 Free Software Foundation,
+Copyright (C) 1985, 1994, 1997-1999, 2001-2015 Free Software Foundation,
Inc.
This file is part of GNU Emacs.
#include "keymap.h"
enum case_action {CASE_UP, CASE_DOWN, CASE_CAPITALIZE, CASE_CAPITALIZE_UP};
-
-Lisp_Object Qidentity;
\f
static Lisp_Object
casify_object (enum case_action flag, Lisp_Object obj)
/* GNU Emacs routines to deal with case tables.
- Copyright (C) 1993-1994, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1993-1994, 2001-2015 Free Software Foundation, Inc.
Author: Howard Gayle
#include "character.h"
#include "buffer.h"
-static Lisp_Object Qcase_table_p, Qcase_table;
Lisp_Object Vascii_downcase_table;
static Lisp_Object Vascii_upcase_table;
Lisp_Object Vascii_canon_table;
/* GNU Emacs routines to deal with category tables.
-Copyright (C) 1998, 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 1998, 2001-2015 Free Software Foundation, Inc.
Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
2005, 2006, 2007, 2008, 2009, 2010, 2011
National Institute of Advanced Industrial Science and Technology (AIST)
For the moment, we are not using this feature. */
static int category_table_version;
-
-static Lisp_Object Qcategory_table, Qcategoryp, Qcategorysetp, Qcategory_table_p;
\f
/* Category set staff. */
/* CCL (Code Conversion Language) interpreter.
- Copyright (C) 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2015 Free Software Foundation, Inc.
Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
2005, 2006, 2007, 2008, 2009, 2010, 2011
National Institute of Advanced Industrial Science and Technology (AIST)
#include "ccl.h"
#include "coding.h"
-Lisp_Object Qccl, Qcclp;
-
-/* This symbol is a property which associates with ccl program vector.
- Ex: (get 'ccl-big5-encoder 'ccl-program) returns ccl program vector. */
-static Lisp_Object Qccl_program;
-
-/* These symbols are properties which associate with code conversion
- map and their ID respectively. */
-static Lisp_Object Qcode_conversion_map;
-static Lisp_Object Qcode_conversion_map_id;
-
-/* Symbols of ccl program have this property, a value of the property
- is an index for Vccl_program_table. */
-static Lisp_Object Qccl_program_idx;
-
/* Table of registered CCL programs. Each element is a vector of
NAME, CCL_PROG, RESOLVEDP, and UPDATEDP, where NAME (symbol) is the
name of the program, CCL_PROG (vector) is the compiled code of the
DEFSYM (Qccl, "ccl");
DEFSYM (Qcclp, "cclp");
+
+ /* This symbol is a property which associates with ccl program vector.
+ Ex: (get 'ccl-big5-encoder 'ccl-program) returns ccl program vector. */
DEFSYM (Qccl_program, "ccl-program");
+
+ /* Symbols of ccl program have this property, a value of the property
+ is an index for Vccl_program_table. */
DEFSYM (Qccl_program_idx, "ccl-program-idx");
+
+ /* These symbols are properties which associate with code conversion
+ map and their ID respectively. */
DEFSYM (Qcode_conversion_map, "code-conversion-map");
DEFSYM (Qcode_conversion_map_id, "code-conversion-map-id");
extern void ccl_driver (struct ccl_program *, int *, int *, int, int,
Lisp_Object);
-extern Lisp_Object Qccl, Qcclp;
-
#define CHECK_CCL_PROGRAM(x) \
do { \
if (NILP (Fccl_program_p (x))) \
/* Basic character support.
-Copyright (C) 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 2001-2015 Free Software Foundation, Inc.
Copyright (C) 1995, 1997, 1998, 2001 Electrotechnical Laboratory, JAPAN.
Licensed to the Free Software Foundation.
Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
#endif /* emacs */
-Lisp_Object Qcharacterp;
-
-static Lisp_Object Qauto_fill_chars;
-
/* Char-table of information about which character to unify to which
Unicode character. Mainly used by the macro MAYBE_UNIFY_CHAR. */
Lisp_Object Vchar_unify_table;
-static Lisp_Object Qchar_script_table;
-
\f
/* If character code C has modifier masks, reflect them to the
extern ptrdiff_t lisp_string_width (Lisp_Object, ptrdiff_t,
ptrdiff_t *, ptrdiff_t *);
-extern Lisp_Object Qcharacterp;
extern Lisp_Object Vchar_unify_table;
extern Lisp_Object string_escape_byte8 (Lisp_Object);
/* Basic character set support.
-Copyright (C) 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 2001-2015 Free Software Foundation, Inc.
Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
2005, 2006, 2007, 2008, 2009, 2010, 2011
static ptrdiff_t charset_table_size;
static int charset_table_used;
-Lisp_Object Qcharsetp;
-
-/* Special charset symbols. */
-Lisp_Object Qascii;
-static Lisp_Object Qeight_bit;
-static Lisp_Object Qiso_8859_1;
-static Lisp_Object Qunicode;
-static Lisp_Object Qemacs;
-
-/* The corresponding charsets. */
+/* Special charsets corresponding to symbols. */
int charset_ascii;
int charset_eight_bit;
static int charset_iso_8859_1;
int charset_jisx0208;
int charset_ksc5601;
-/* Value of charset attribute `charset-iso-plane'. */
-static Lisp_Object Qgl, Qgr;
-
/* Charset of unibyte characters. */
int charset_unibyte;
{
DEFSYM (Qcharsetp, "charsetp");
+ /* Special charset symbols. */
DEFSYM (Qascii, "ascii");
DEFSYM (Qunicode, "unicode");
DEFSYM (Qemacs, "emacs");
DEFSYM (Qeight_bit, "eight-bit");
DEFSYM (Qiso_8859_1, "iso-8859-1");
+ /* Value of charset attribute `charset-iso-plane'. */
DEFSYM (Qgl, "gl");
DEFSYM (Qgr, "gr");
staticpro (&Vemacs_mule_charset_list);
Vemacs_mule_charset_list = Qnil;
- /* Don't staticpro them here. It's done in syms_of_fns. */
- QCtest = intern_c_string (":test");
- Qeq = intern_c_string ("eq");
-
staticpro (&Vcharset_hash_table);
{
Lisp_Object args[2];
/* Header for charset handler.
- Copyright (C) 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2015 Free Software Foundation, Inc.
Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
2005, 2006, 2007, 2008, 2009, 2010, 2011
National Institute of Advanced Industrial Science and Technology (AIST)
\f
-extern Lisp_Object Qcharsetp;
-
-extern Lisp_Object Qascii;
extern int charset_ascii, charset_eight_bit;
extern int charset_unicode;
extern int charset_jisx0201_roman;
/* Preamble for uniprop (Unicode character property) tables. See the
comment of "Unicode character property tables". */
-/* Purpose of uniprop tables. */
-static Lisp_Object Qchar_code_property_table;
-
/* Types of decoder and encoder functions for uniprop values. */
typedef Lisp_Object (*uniprop_decoder_t) (Lisp_Object, Lisp_Object);
typedef Lisp_Object (*uniprop_encoder_t) (Lisp_Object, Lisp_Object);
void
syms_of_chartab (void)
{
+ /* Purpose of uniprop tables. */
DEFSYM (Qchar_code_property_table, "char-code-property-table");
defsubr (&Smake_char_table);
/* Cursor motion subroutines for GNU Emacs.
- Copyright (C) 1985, 1995, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1985, 1995, 2001-2015 Free Software Foundation, Inc.
based primarily on public domain code written by Chris Torek
This file is part of GNU Emacs.
/* Cursor motion calculation definitions for GNU Emacs
- Copyright (C) 1985, 1989, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1985, 1989, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Simple built-in editing commands.
-Copyright (C) 1985, 1993-1998, 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 1985, 1993-1998, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
#include "dispextern.h"
#include "frame.h"
-static Lisp_Object Qkill_forward_chars, Qkill_backward_chars;
-
-/* A possible value for a buffer's overwrite-mode variable. */
-static Lisp_Object Qoverwrite_mode_binary;
-
static int internal_self_insert (int, EMACS_INT);
\f
DEFUN ("forward-point", Fforward_point, Sforward_point, 1, 1, 0,
return 0. A value of 1 indicates this *might* not have been simple.
A value of 2 means this did things that call for an undo boundary. */
-static Lisp_Object Qexpand_abbrev;
-static Lisp_Object Qpost_self_insert_hook;
-
static int
internal_self_insert (int c, EMACS_INT n)
{
}
/* Run hooks for electric keys. */
- Frun_hooks (1, &Qpost_self_insert_hook);
+ run_hook (Qpost_self_insert_hook);
return hairy;
}
{
DEFSYM (Qkill_backward_chars, "kill-backward-chars");
DEFSYM (Qkill_forward_chars, "kill-forward-chars");
+
+ /* A possible value for a buffer's overwrite-mode variable. */
DEFSYM (Qoverwrite_mode_binary, "overwrite-mode-binary");
+
DEFSYM (Qexpand_abbrev, "expand-abbrev");
DEFSYM (Qpost_self_insert_hook, "post-self-insert-hook");
/* Coding system handler (conversion, detection, etc).
- Copyright (C) 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2015 Free Software Foundation, Inc.
Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
2005, 2006, 2007, 2008, 2009, 2010, 2011
National Institute of Advanced Industrial Science and Technology (AIST)
Lisp_Object Vcoding_system_hash_table;
-static Lisp_Object Qcoding_system, Qeol_type;
-static Lisp_Object Qcoding_aliases;
-Lisp_Object Qunix, Qdos;
-static Lisp_Object Qmac;
-Lisp_Object Qbuffer_file_coding_system;
-static Lisp_Object Qpost_read_conversion, Qpre_write_conversion;
-static Lisp_Object Qdefault_char;
-Lisp_Object Qno_conversion, Qundecided;
-Lisp_Object Qcharset, Qutf_8;
-static Lisp_Object Qiso_2022;
-static Lisp_Object Qutf_16, Qshift_jis, Qbig5;
-static Lisp_Object Qbig, Qlittle;
-static Lisp_Object Qcoding_system_history;
-static Lisp_Object Qvalid_codes;
-static Lisp_Object QCcategory, QCmnemonic, QCdefault_char;
-static Lisp_Object QCdecode_translation_table, QCencode_translation_table;
-static Lisp_Object QCpost_read_conversion, QCpre_write_conversion;
-static Lisp_Object QCascii_compatible_p;
-
-Lisp_Object Qcall_process, Qcall_process_region;
-Lisp_Object Qstart_process, Qopen_network_stream;
-static Lisp_Object Qtarget_idx;
-
-static Lisp_Object Qinsufficient_source, Qinvalid_source, Qinterrupted;
-
-/* If a symbol has this property, evaluate the value to define the
- symbol as a coding system. */
-static Lisp_Object Qcoding_system_define_form;
-
/* Format of end-of-line decided by system. This is Qunix on
Unix and Mac, Qdos on DOS/Windows.
This has an effect only for external encoding (i.e. for output to
#ifdef emacs
-Lisp_Object Qcoding_system_p, Qcoding_system_error;
-
-/* Coding system emacs-mule and raw-text are for converting only
- end-of-line format. */
-Lisp_Object Qemacs_mule, Qraw_text;
-Lisp_Object Qutf_8_emacs;
-
-#if defined (WINDOWSNT) || defined (CYGWIN)
-static Lisp_Object Qutf_16le;
-#endif
-
/* Coding-systems are handed between Emacs Lisp programs and C internal
routines by the following three variables. */
/* Coding system to be used to encode text for terminal display when
#endif /* emacs */
-Lisp_Object Qtranslation_table;
-Lisp_Object Qtranslation_table_id;
-static Lisp_Object Qtranslation_table_for_decode;
-static Lisp_Object Qtranslation_table_for_encode;
-
/* Two special coding systems. */
static Lisp_Object Vsjis_coding_system;
static Lisp_Object Vbig5_coding_system;
DEFSYM (Qcoding_system_p, "coding-system-p");
+ /* Error signaled when there's a problem with detecting a coding system. */
DEFSYM (Qcoding_system_error, "coding-system-error");
Fput (Qcoding_system_error, Qerror_conditions,
listn (CONSTYPE_PURE, 2, Qcoding_system_error, Qerror));
DEFSYM (Qvalid_codes, "valid-codes");
+ /* Coding system emacs-mule and raw-text are for converting only
+ end-of-line format. */
DEFSYM (Qemacs_mule, "emacs-mule");
DEFSYM (QCcategory, ":category");
DEFSYM (Qinsufficient_source, "insufficient-source");
DEFSYM (Qinvalid_source, "invalid-source");
DEFSYM (Qinterrupted, "interrupted");
+
+ /* If a symbol has this property, evaluate the value to define the
+ symbol as a coding system. */
DEFSYM (Qcoding_system_define_form, "coding-system-define-form");
defsubr (&Scoding_system_p);
/* Header for coding system handler.
- Copyright (C) 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2015 Free Software Foundation, Inc.
Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
2005, 2006, 2007, 2008, 2009, 2010, 2011
National Institute of Advanced Industrial Science and Technology (AIST)
extern Lisp_Object preferred_coding_system (void);
-extern Lisp_Object Qutf_8, Qutf_8_emacs;
-
-extern Lisp_Object Qcoding_category_index;
-extern Lisp_Object Qcoding_system_p;
-extern Lisp_Object Qraw_text, Qemacs_mule, Qno_conversion, Qundecided;
-extern Lisp_Object Qbuffer_file_coding_system;
-
-extern Lisp_Object Qunix, Qdos;
-
-extern Lisp_Object Qtranslation_table;
-extern Lisp_Object Qtranslation_table_id;
-
#ifdef emacs
-extern Lisp_Object Qfile_coding_system;
-extern Lisp_Object Qcall_process, Qcall_process_region;
-extern Lisp_Object Qstart_process, Qopen_network_stream;
-extern Lisp_Object Qwrite_region;
extern char *emacs_strerror (int);
#endif
-/* Error signaled when there's a problem with detecting coding system */
-extern Lisp_Object Qcoding_system_error;
-
extern char emacs_mule_bytes[256];
#endif /* EMACS_CODING_H */
/* Definitions needed by most editing commands.
- Copyright (C) 1985, 1994, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1985, 1994, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Composite sequence support.
- Copyright (C) 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2015 Free Software Foundation, Inc.
Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
National Institute of Advanced Industrial Science and Technology (AIST)
Registration Number H14PRO021
*/
-Lisp_Object Qcomposition;
-
/* Table of pointers to the structure `composition' indexed by
COMPOSITION-ID. This structure is for storing information about
each composition except for COMPONENTS-VEC. */
COMPOSITION-ID. */
Lisp_Object composition_hash_table;
-static Lisp_Object Qauto_composed;
-static Lisp_Object Qauto_composition_function;
/* Maximum number of characters to look back for
auto-compositions. */
#define MAX_AUTO_COMPOSITION_LOOKBACK 3
}
}
}
- if (charpos == endpos)
+ if (charpos == endpos
+ && !(STRINGP (string) && endpos == SCHARS (string)))
{
/* We couldn't find a composition point before ENDPOS. But,
some character after ENDPOS may be composed with
/* Header for composite sequence handler.
- Copyright (C) 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2015 Free Software Foundation, Inc.
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
National Institute of Advanced Industrial Science and Technology (AIST)
Registration Number H14PRO021
#define CHECK_BORDER (CHECK_HEAD | CHECK_TAIL)
#define CHECK_ALL (CHECK_BORDER | CHECK_INSIDE)
-extern Lisp_Object Qcomposition;
extern Lisp_Object composition_hash_table;
extern ptrdiff_t get_composition_id (ptrdiff_t, ptrdiff_t, ptrdiff_t,
Lisp_Object, Lisp_Object);
/* conf_post.h --- configure.ac includes this via AH_BOTTOM
-Copyright (C) 1988, 1993-1994, 1999-2002, 2004-2014 Free Software
+Copyright (C) 1988, 1993-1994, 1999-2002, 2004-2015 Free Software
Foundation, Inc.
This file is part of GNU Emacs.
# define ATTRIBUTE_MALLOC
#endif
-#if 4 < __GNUC__ + (3 <= __GNUC_MINOR__)
+#if (__clang__ \
+ ? __has_attribute (alloc_size) \
+ : 4 < __GNUC__ + (3 <= __GNUC_MINOR__))
# define ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args))
#else
# define ATTRIBUTE_ALLOC_SIZE(args)
/* Cygwin support routines.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Header for Cygwin support routines.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Primitive operations on Lisp data types for GNU Emacs Lisp interpreter.
- Copyright (C) 1985-1986, 1988, 1993-1995, 1997-2014 Free Software
+ Copyright (C) 1985-1986, 1988, 1993-1995, 1997-2015 Free Software
Foundation, Inc.
This file is part of GNU Emacs.
#include "font.h"
#include "keymap.h"
-Lisp_Object Qnil, Qt, Qquote, Qlambda, Qunbound;
-static Lisp_Object Qsubr;
-Lisp_Object Qerror_conditions, Qerror_message, Qtop_level;
-Lisp_Object Qerror, Quser_error, Qquit, Qargs_out_of_range;
-static Lisp_Object Qwrong_length_argument;
-static Lisp_Object Qwrong_type_argument;
-Lisp_Object Qvoid_variable, Qvoid_function;
-static Lisp_Object Qcyclic_function_indirection;
-static Lisp_Object Qcyclic_variable_indirection;
-Lisp_Object Qcircular_list;
-static Lisp_Object Qsetting_constant;
-Lisp_Object Qinvalid_read_syntax;
-Lisp_Object Qinvalid_function, Qwrong_number_of_arguments, Qno_catch;
-Lisp_Object Qend_of_file, Qarith_error, Qmark_inactive;
-Lisp_Object Qbeginning_of_buffer, Qend_of_buffer, Qbuffer_read_only;
-Lisp_Object Qtext_read_only;
-
-Lisp_Object Qintegerp, Qwholenump, Qsymbolp, Qlistp, Qconsp;
-static Lisp_Object Qnatnump;
-Lisp_Object Qstringp, Qarrayp, Qsequencep, Qbufferp;
-Lisp_Object Qchar_or_string_p, Qmarkerp, Qinteger_or_marker_p, Qvectorp;
-Lisp_Object Qbool_vector_p;
-Lisp_Object Qbuffer_or_string_p;
-static Lisp_Object Qkeywordp, Qboundp;
-Lisp_Object Qfboundp;
-Lisp_Object Qchar_table_p, Qvector_or_char_table_p;
-
-Lisp_Object Qcdr;
-static Lisp_Object Qad_advice_info, Qad_activate_internal;
-
-static Lisp_Object Qdomain_error, Qsingularity_error, Qunderflow_error;
-Lisp_Object Qrange_error, Qoverflow_error;
-
-Lisp_Object Qfloatp;
-Lisp_Object Qnumberp, Qnumber_or_marker_p;
-
-Lisp_Object Qinteger, Qsymbol;
-static Lisp_Object Qcons, Qfloat, Qmisc, Qstring, Qvector;
-Lisp_Object Qwindow;
-static Lisp_Object Qoverlay, Qwindow_configuration;
-static Lisp_Object Qprocess, Qmarker;
-static Lisp_Object Qcompiled_function, Qframe;
-Lisp_Object Qbuffer;
-static Lisp_Object Qchar_table, Qbool_vector, Qhash_table;
-static Lisp_Object Qsubrp;
-static Lisp_Object Qmany, Qunevalled;
-Lisp_Object Qfont_spec, Qfont_entity, Qfont_object;
-static Lisp_Object Qdefun;
-
-Lisp_Object Qinteractive_form;
-static Lisp_Object Qdefalias_fset_function;
-
static void swap_in_symval_forwarding (struct Lisp_Symbol *,
struct Lisp_Buffer_Local_Value *);
PUT_ERROR (Qunderflow_error, Fcons (Qdomain_error, arith_tail),
"Arithmetic underflow error");
- staticpro (&Qnil);
- staticpro (&Qt);
- staticpro (&Qunbound);
-
/* Types that type-of returns. */
DEFSYM (Qinteger, "integer");
DEFSYM (Qsymbol, "symbol");
/* Elisp bindings for D-Bus.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
#endif
\f
-/* Subroutines. */
-static Lisp_Object Qdbus__init_bus;
-static Lisp_Object Qdbus_get_unique_name;
-static Lisp_Object Qdbus_message_internal;
-
-/* D-Bus error symbol. */
-static Lisp_Object Qdbus_error;
-
-/* Lisp symbols of the system and session buses. */
-static Lisp_Object QCdbus_system_bus, QCdbus_session_bus;
-
-/* Lisp symbol for method call timeout. */
-static Lisp_Object QCdbus_timeout;
-
-/* Lisp symbols of D-Bus types. */
-static Lisp_Object QCdbus_type_byte, QCdbus_type_boolean;
-static Lisp_Object QCdbus_type_int16, QCdbus_type_uint16;
-static Lisp_Object QCdbus_type_int32, QCdbus_type_uint32;
-static Lisp_Object QCdbus_type_int64, QCdbus_type_uint64;
-static Lisp_Object QCdbus_type_double, QCdbus_type_string;
-static Lisp_Object QCdbus_type_object_path, QCdbus_type_signature;
-#ifdef DBUS_TYPE_UNIX_FD
-static Lisp_Object QCdbus_type_unix_fd;
-#endif
-static Lisp_Object QCdbus_type_array, QCdbus_type_variant;
-static Lisp_Object QCdbus_type_struct, QCdbus_type_dict_entry;
-
-/* Lisp symbols of objects in `dbus-registered-objects-table'. */
-static Lisp_Object QCdbus_registered_serial, QCdbus_registered_method;
-static Lisp_Object QCdbus_registered_signal;
-
/* Alist of D-Bus buses we are polling for messages.
The key is the symbol or string of the bus, and the value is the
connection address. */
ptrdiff_t xlen = strlen (x);
if (DBUS_MAXIMUM_SIGNATURE_LENGTH - xlen <= siglen)
string_overflow ();
- strcat (signature, x);
+ strcpy (signature + siglen, x);
}
/* Compute SIGNATURE of OBJECT. It must have a form that it can be
DEFSYM (Qdbus_message_internal, "dbus-message-internal");
defsubr (&Sdbus_message_internal);
+ /* D-Bus error symbol. */
DEFSYM (Qdbus_error, "dbus-error");
Fput (Qdbus_error, Qerror_conditions,
list2 (Qdbus_error, Qerror));
Fput (Qdbus_error, Qerror_message,
build_pure_c_string ("D-Bus error"));
+ /* Lisp symbols of the system and session buses. */
DEFSYM (QCdbus_system_bus, ":system");
DEFSYM (QCdbus_session_bus, ":session");
+
+ /* Lisp symbol for method call timeout. */
DEFSYM (QCdbus_timeout, ":timeout");
+
+ /* Lisp symbols of D-Bus types. */
DEFSYM (QCdbus_type_byte, ":byte");
DEFSYM (QCdbus_type_boolean, ":boolean");
DEFSYM (QCdbus_type_int16, ":int16");
DEFSYM (QCdbus_type_variant, ":variant");
DEFSYM (QCdbus_type_struct, ":struct");
DEFSYM (QCdbus_type_dict_entry, ":dict-entry");
+
+ /* Lisp symbols of objects in `dbus-registered-objects-table'. */
DEFSYM (QCdbus_registered_serial, ":serial");
DEFSYM (QCdbus_registered_method, ":method");
DEFSYM (QCdbus_registered_signal, ":signal");
/* Interface to zlib.
- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
#include <verify.h>
-static Lisp_Object Qzlib_dll;
-
#ifdef WINDOWSNT
-#include <windows.h>
-#include "w32.h"
-
-/* Macro for defining functions that will be loaded from the zlib DLL. */
-#define DEF_ZLIB_FN(rettype,func,args) static rettype (FAR CDECL *fn_##func)args
-
-/* Macro for loading zlib functions from the library. */
-#define LOAD_ZLIB_FN(lib,func) { \
- fn_##func = (void *) GetProcAddress (lib, #func); \
- if (!fn_##func) return false; \
- }
+# include <windows.h>
+# include "w32.h"
-DEF_ZLIB_FN (int, inflateInit2_,
- (z_streamp strm, int windowBits, const char *version, int stream_size));
-
-DEF_ZLIB_FN (int, inflate,
- (z_streamp strm, int flush));
-
-DEF_ZLIB_FN (int, inflateEnd,
- (z_streamp strm));
+DEF_DLL_FN (int, inflateInit2_,
+ (z_streamp strm, int windowBits, const char *version,
+ int stream_size));
+DEF_DLL_FN (int, inflate, (z_streamp strm, int flush));
+DEF_DLL_FN (int, inflateEnd, (z_streamp strm));
static bool zlib_initialized;
if (!library)
return false;
- LOAD_ZLIB_FN (library, inflateInit2_);
- LOAD_ZLIB_FN (library, inflate);
- LOAD_ZLIB_FN (library, inflateEnd);
+ LOAD_DLL_FN (library, inflateInit2_);
+ LOAD_DLL_FN (library, inflate);
+ LOAD_DLL_FN (library, inflateEnd);
return true;
}
-#define fn_inflateInit2(strm, windowBits) \
- fn_inflateInit2_((strm), (windowBits), ZLIB_VERSION, sizeof(z_stream))
-
-#else /* !WINDOWSNT */
+# undef inflate
+# undef inflateEnd
+# undef inflateInit2_
-#define fn_inflateInit2 inflateInit2
-#define fn_inflate inflate
-#define fn_inflateEnd inflateEnd
+# define inflate fn_inflate
+# define inflateEnd fn_inflateEnd
+# define inflateInit2_ fn_inflateInit2_
#endif /* WINDOWSNT */
unwind_decompress (void *ddata)
{
struct decompress_unwind_data *data = ddata;
- fn_inflateEnd (data->stream);
+ inflateEnd (data->stream);
/* Delete any uncompressed data already inserted on error. */
if (data->start)
/* The magic number 32 apparently means "autodetect both the gzip and
zlib formats" according to zlib.h. */
- if (fn_inflateInit2 (&stream, MAX_WBITS + 32) != Z_OK)
+ if (inflateInit2 (&stream, MAX_WBITS + 32) != Z_OK)
return Qnil;
unwind_data.start = iend;
stream.avail_in = avail_in;
stream.next_out = GPT_ADDR;
stream.avail_out = avail_out;
- inflate_status = fn_inflate (&stream, Z_NO_FLUSH);
+ inflate_status = inflate (&stream, Z_NO_FLUSH);
pos_byte += avail_in - stream.avail_in;
decompressed = avail_out - stream.avail_out;
insert_from_gap (decompressed, decompressed, 0);
### deps.mk --- src/Makefile fragment for GNU Emacs
-## Copyright (C) 1985, 1987-1988, 1993-1995, 1999-2014
-## Free Software Foundation, Inc.
+## Copyright (C) 1985, 1987-1988, 1993-1995, 1999-2015 Free Software
+## Foundation, Inc.
## This file is part of GNU Emacs.
/* Lisp functions for making directory listings.
- Copyright (C) 1985-1986, 1993-1994, 1999-2014 Free Software
+ Copyright (C) 1985-1986, 1993-1994, 1999-2015 Free Software
Foundation, Inc.
This file is part of GNU Emacs.
#include "msdos.h" /* for fstatat */
#endif
-static Lisp_Object Qdirectory_files;
-static Lisp_Object Qdirectory_files_and_attributes;
-static Lisp_Object Qfile_name_completion;
-static Lisp_Object Qfile_name_all_completions;
-static Lisp_Object Qfile_attributes;
-static Lisp_Object Qfile_attributes_lessp;
-
static ptrdiff_t scmp (const char *, const char *, ptrdiff_t);
static Lisp_Object file_attributes (int, char const *, Lisp_Object);
\f
}
static int file_name_completion_stat (int, struct dirent *, struct stat *);
-static Lisp_Object Qdefault_directory;
static Lisp_Object
file_name_completion (Lisp_Object file, Lisp_Object dirname, bool all_flag,
/* Interface definitions for display code.
-Copyright (C) 1985, 1993-1994, 1997-2014 Free Software Foundation, Inc.
+Copyright (C) 1985, 1993-1994, 1997-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Lisp object source of this glyph. Currently either a buffer or a
string, if the glyph was produced from characters which came from
- a buffer or a string; or Lisp integer zero (a.k.a. "null object")
- if the glyph was inserted by redisplay for its own purposes, such
- as padding or truncation/continuation glyphs, or the
- overlay-arrow glyphs on TTYs. */
+ a buffer or a string; or nil if the glyph was inserted by
+ redisplay for its own purposes, such as padding, truncation, or
+ continuation glyphs, or the overlay-arrow glyphs on TTYs. */
Lisp_Object object;
/* Width in pixels. */
ptrdiff_t base_level_stop;
/* Maximum string or buffer position + 1. ZV when iterating over
- current_buffer. */
+ current_buffer. When iterating over a string in display_string,
+ this can be smaller or greater than the number of string
+ characters, depending on the values of PRECISION and FIELD_WIDTH
+ with which display_string was called. */
ptrdiff_t end_charpos;
/* C string to iterate over. Non-null means get characters from
Object is normally the buffer which is being rendered, but it can
also be a Lisp string in case the current display element comes
from an overlay string or from a display string (before- or
- after-string). It may also be nil when a C string is being
- rendered, e.g., during mode-line or header-line update. It can
- also be a cons cell of the form `(space ...)', when we produce a
- stretch glyph from a `display' specification. Finally, it can be
- a zero-valued Lisp integer, but only temporarily, when we are
+ after-string). It may also be a zero-valued Lisp integer when a
+ C string is being rendered, e.g., during mode-line or header-line
+ update. It can also be a cons cell of the form `(space ...)',
+ when we produce a stretch glyph from a `display' specification.
+ Finally, it can be nil, but only temporarily, when we are
producing special glyphs for display purposes, like truncation
and continuation glyphs, or blanks that extend each line to the
edge of the window on a TTY.
struct image_type
{
- /* A symbol uniquely identifying the image type, .e.g `jpeg'. */
- Lisp_Object *type;
+ /* A symbol uniquely identifying the image type, e.g., 'jpeg'. */
+ struct Lisp_Symbol *type;
/* Check that SPEC is a valid image specification for the given
image type. Value is true if SPEC is valid. */
enum move_operation_enum op);
bool in_display_vector_p (struct it *);
int frame_mode_line_height (struct frame *);
-extern Lisp_Object Qtool_bar;
extern bool redisplaying_p;
extern bool help_echo_showing_p;
extern Lisp_Object help_echo_string, help_echo_window;
int merge_faces (struct frame *, Lisp_Object, int, int);
int compute_char_face (struct frame *, int, Lisp_Object);
void free_all_realized_faces (Lisp_Object);
-extern Lisp_Object Qforeground_color, Qbackground_color;
extern char unspecified_fg[], unspecified_bg[];
/* Defined in xfns.c. */
void change_frame_size (struct frame *, int, int, bool, bool, bool, bool);
void init_display (void);
void syms_of_display (void);
-extern Lisp_Object Qredisplay_dont_pause;
extern void spec_glyph_lookup_face (struct window *, GLYPH *);
extern void fill_up_frame_row_with_spaces (struct glyph_row *, int);
/* Updating of data structures for redisplay.
-Copyright (C) 1985-1988, 1993-1995, 1997-2014 Free Software Foundation,
+Copyright (C) 1985-1988, 1993-1995, 1997-2015 Free Software Foundation,
Inc.
This file is part of GNU Emacs.
bool display_completed;
-Lisp_Object Qdisplay_table, Qredisplay_dont_pause;
-
/* True means SIGWINCH happened when not safe. */
static bool delayed_size_change;
Fset_buffer (old_current_buffer);
- *dx = x0 + it.first_visible_x - it.current_x;
+ *dx = to_x - it.current_x;
*dy = *y - it.current_y;
string = w->contents;
}
/* Add extra (default width) columns if clicked after EOL. */
- x1 = max (0, it.current_x + it.pixel_width - it.first_visible_x);
- if (x0 > x1)
- it.hpos += (x0 - x1) / WINDOW_FRAME_COLUMN_WIDTH (w);
+ x1 = max (0, it.current_x + it.pixel_width);
+ if (to_x > x1)
+ it.hpos += (to_x - x1) / WINDOW_FRAME_COLUMN_WIDTH (w);
*x = it.hpos;
*y = it.vpos;
frame_and_buffer_state = Fmake_vector (make_number (20), Qlambda);
staticpro (&frame_and_buffer_state);
+ /* This is the "purpose" slot of a display table. */
DEFSYM (Qdisplay_table, "display-table");
+
DEFSYM (Qredisplay_dont_pause, "redisplay-dont-pause");
DEFVAR_INT ("baud-rate", baud_rate,
/* Things for GLYPHS and glyph tables.
- Copyright (C) 1993, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1993, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Defined in indent.c. */
extern struct Lisp_Char_Table *buffer_display_table (void);
-/* This is the `purpose' slot of a display table. */
-extern Lisp_Object Qdisplay_table;
-
/* Return the current length of the GLYPH table,
or 0 if the table isn't currently valid. */
#define GLYPH_TABLE_LENGTH \
/* Record indices of function doc strings stored in a file.
-Copyright (C) 1985-1986, 1993-1995, 1997-2014 Free Software Foundation, Inc.
+Copyright (C) 1985-1986, 1993-1995, 1997-2015 Free Software Foundation,
+Inc.
This file is part of GNU Emacs.
#include "keyboard.h"
#include "keymap.h"
-Lisp_Object Qfunction_documentation;
-
/* Buffer used for reading from documentation file. */
static char *get_doc_string_buffer;
static ptrdiff_t get_doc_string_buffer_size;
static unsigned char *read_bytecode_pointer;
+static char const sibling_etc[] = "../etc/";
+
/* `readchar' in lread.c calls back here to fetch the next byte.
If UNREADFLAG is 1, we unread a byte. */
{
char *from, *to, *name, *p, *p1;
int fd;
- ptrdiff_t minsize;
int offset;
EMACS_INT position;
Lisp_Object file, tem, pos;
tem = Ffile_name_absolute_p (file);
file = ENCODE_FILE (file);
- if (NILP (tem))
- {
- Lisp_Object docdir = ENCODE_FILE (Vdoc_directory);
- minsize = SCHARS (docdir);
- /* sizeof ("../etc/") == 8 */
- if (minsize < 8)
- minsize = 8;
- name = SAFE_ALLOCA (minsize + SCHARS (file) + 8);
- char *z = lispstpcpy (name, docdir);
- strcpy (z, SSDATA (file));
- }
- else
- {
- name = SSDATA (file);
- }
+ Lisp_Object docdir
+ = NILP (tem) ? ENCODE_FILE (Vdoc_directory) : empty_unibyte_string;
+ ptrdiff_t docdir_sizemax = SBYTES (docdir) + 1;
+#ifndef CANNOT_DUMP
+ docdir_sizemax = max (docdir_sizemax, sizeof sibling_etc);
+#endif
+ name = SAFE_ALLOCA (docdir_sizemax + SBYTES (file));
+ lispstpcpy (lispstpcpy (name, docdir), file);
fd = emacs_open (name, O_RDONLY, 0);
if (fd < 0)
{
/* Preparing to dump; DOC file is probably not installed.
So check in ../etc. */
- strcpy (name, "../etc/");
- strcat (name, SSDATA (file));
+ lispstpcpy (stpcpy (name, sibling_etc), file);
fd = emacs_open (name, O_RDONLY, 0);
}
(0)
#endif /* CANNOT_DUMP */
{
- static char const sibling_etc[] = "../etc/";
dirname = sibling_etc;
dirlen = sizeof sibling_etc - 1;
}
count = SPECPDL_INDEX ();
USE_SAFE_ALLOCA;
name = SAFE_ALLOCA (dirlen + SBYTES (filename) + 1);
- strcpy (name, dirname);
- strcat (name, SSDATA (filename)); /*** Add this line ***/
+ lispstpcpy (stpcpy (name, dirname), filename); /*** Add this line ***/
/* Vbuild_files is nil when temacs is run, and non-nil after that. */
if (NILP (Vbuild_files))
/* Output like sprintf to a buffer of specified size.
Also takes args differently: pass one pointer to the end
of the format string in addition to the format string itself.
- Copyright (C) 1985, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1985, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* MS-DOS specific Lisp utilities. Coded by Manabu Higashida, 1991.
Major changes May-July 1993 Morten Welinder (only 10% original code left)
- Copyright (C) 1991, 1993, 1996-1998, 2001-2014 Free Software
+ Copyright (C) 1991, 1993, 1996-1998, 2001-2015 Free Software
Foundation, Inc.
This file is part of GNU Emacs.
Lisp_Object
msdos_stdcolor_name (int idx)
{
- extern Lisp_Object Qunspecified;
-
if (idx == FACE_TTY_DEFAULT_FG_COLOR)
return build_string (unspecified_fg);
else if (idx == FACE_TTY_DEFAULT_BG_COLOR)
Coded by Manabu Higashida, 1991.
Modified by Morten Welinder, 1993-1994.
-Copyright (C) 1991, 1994-1995, 1997, 1999, 2001-2014 Free Software
+Copyright (C) 1991, 1994-1995, 1997, 1999, 2001-2015 Free Software
Foundation, Inc.
This file is part of GNU Emacs.
/* Lisp functions pertaining to editing.
-Copyright (C) 1985-1987, 1989, 1993-2014 Free Software Foundation, Inc.
+Copyright (C) 1985-1987, 1989, 1993-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
# define HAVE_TM_GMTOFF false
#endif
-static Lisp_Object Qbuffer_access_fontify_functions;
-
-/* Symbol for the text property used to mark fields. */
-
-Lisp_Object Qfield;
-
-/* A special value for Qfield properties. */
-
-static Lisp_Object Qboundary;
-
/* The startup value of the TZ environment variable; null if unset. */
static char const *initial_tz;
It is OK (though a bit slower) if the user chooses this value. */
static char dump_tz_string[] = "TZ=UtC0";
+/* The cached value of Vsystem_name. This is used only to compare it
+ to Vsystem_name, so it need not be visible to the GC. */
+static Lisp_Object cached_system_name;
+
+static void
+init_and_cache_system_name (void)
+{
+ init_system_name ();
+ cached_system_name = Vsystem_name;
+}
+
void
init_editfns (void)
{
Lisp_Object tem;
/* Set up system_name even when dumping. */
- init_system_name ();
+ init_and_cache_system_name ();
#ifndef CANNOT_DUMP
/* When just dumping out, set the time zone to a known unlikely value
if (! NILP (tem))
{
if (! EQ (omark, nmark))
- {
- tem = intern ("activate-mark-hook");
- Frun_hooks (1, &tem);
- }
+ run_hook (intern ("activate-mark-hook"));
}
/* If mark has ceased to be active, run deactivate hook. */
else if (! NILP (tem1))
- {
- tem = intern ("deactivate-mark-hook");
- Frun_hooks (1, &tem);
- }
+ run_hook (intern ("deactivate-mark-hook"));
/* If buffer was visible in a window, and a different window was
selected, and the old selected window is still showing this
USE_SAFE_ALLOCA;
char *r = SAFE_ALLOCA (strlen (p) + SBYTES (login) + 1);
memcpy (r, p, q - p);
- r[q - p] = 0;
- strcat (r, SSDATA (login));
+ char *s = lispstpcpy (&r[q - p], login);
r[q - p] = upcase ((unsigned char) r[q - p]);
- strcat (r, q + 1);
+ strcpy (s, q + 1);
full = build_string (r);
SAFE_FREE ();
}
doc: /* Return the host name of the machine you are running on, as a string. */)
(void)
{
+ if (EQ (Vsystem_name, cached_system_name))
+ init_and_cache_system_name ();
return Vsystem_name;
}
DEFVAR_LISP ("system-name", Vsystem_name,
doc: /* The host name of the machine Emacs is running on. */);
+ Vsystem_name = cached_system_name = Qnil;
DEFVAR_LISP ("user-full-name", Vuser_full_name,
doc: /* The full name of the user logged in. */);
defsubr (&Sregion_beginning);
defsubr (&Sregion_end);
+ /* Symbol for the text property used to mark fields. */
DEFSYM (Qfield, "field");
+
+ /* A special value for Qfield properties. */
DEFSYM (Qboundary, "boundary");
+
defsubr (&Sfield_beginning);
defsubr (&Sfield_end);
defsubr (&Sfield_string);
/* XPM */
/* Emacs icon
-Copyright (C) 2008-2014 Free Software Foundation, Inc.
+Copyright (C) 2008-2015 Free Software Foundation, Inc.
Author: Kentaro Ohkouchi <nanasess@fsm.ne.jp>
/* Fully extensible Emacs, running on Unix, intended for GNU.
-Copyright (C) 1985-1987, 1993-1995, 1997-1999, 2001-2014
- Free Software Foundation, Inc.
+Copyright (C) 1985-1987, 1993-1995, 1997-1999, 2001-2015 Free Software
+Foundation, Inc.
This file is part of GNU Emacs.
extern void malloc_enable_thread (void);
#endif
-Lisp_Object Qfile_name_handler_alist;
-
-Lisp_Object Qrisky_local_variable;
-
-Lisp_Object Qkill_emacs;
-static Lisp_Object Qkill_emacs_hook;
-
/* If true, Emacs should not attempt to use a window-specific code,
but instead should use the virtual terminal under which it was started. */
bool inhibit_window_system;
/* Fsignal calls emacs_abort () if it sees that waiting_for_input is
set. */
waiting_for_input = 0;
- Frun_hooks (1, &Qkill_emacs_hook);
+ run_hook (Qkill_emacs_hook);
UNGCPRO;
#ifdef HAVE_X_WINDOWS
/* A Gtk Widget that inherits GtkFixed, but can be shrunk.
This file is only use when compiling with Gtk+ 3.
-Copyright (C) 2011-2014 Free Software Foundation, Inc.
+Copyright (C) 2011-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* A Gtk Widget that inherits GtkFixed, but can be shrunk.
This file is only use when compiling with Gtk+ 3.
-Copyright (C) 2011-2014 Free Software Foundation, Inc.
+Copyright (C) 2011-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Hey Emacs, this is -*- C -*- code! */
/*
-Copyright (C) 1993, 1995, 1997, 1999, 2001-2014 Free Software
+Copyright (C) 1993, 1995, 1997, 1999, 2001-2015 Free Software
Foundation, Inc.
This file is part of GNU Emacs.
/* Evaluator for GNU Emacs Lisp interpreter.
-Copyright (C) 1985-1987, 1993-1995, 1999-2014 Free Software Foundation,
+Copyright (C) 1985-1987, 1993-1995, 1999-2015 Free Software Foundation,
Inc.
This file is part of GNU Emacs.
int gcpro_level;
#endif
-Lisp_Object Qautoload, Qmacro, Qexit, Qinteractive, Qcommandp;
-Lisp_Object Qinhibit_quit;
-Lisp_Object Qand_rest;
-static Lisp_Object Qand_optional;
-static Lisp_Object Qinhibit_debugger;
-static Lisp_Object Qdeclare;
-Lisp_Object Qinternal_interpreter_environment, Qclosure;
-
-static Lisp_Object Qdebug;
-
-/* This holds either the symbol `run-hooks' or nil.
- It is nil at an early stage of startup, and when Emacs
- is shutting down. */
-
-Lisp_Object Vrun_hooks;
-
/* Non-nil means record all fset's and provide's, to be undone
if the file being autoloaded is not fully loaded.
They are recorded by being consed onto the front of Vautoload_queue:
Lisp_Object Vautoload_queue;
+/* This holds either the symbol `run-hooks' or nil.
+ It is nil at an early stage of startup, and when Emacs
+ is shutting down. */
+Lisp_Object Vrun_hooks;
+
/* Current number of specbindings allocated in specpdl, not counting
the dummy entry specpdl[-1]. */
usage: (run-hooks &rest HOOKS) */)
(ptrdiff_t nargs, Lisp_Object *args)
{
- Lisp_Object hook[1];
ptrdiff_t i;
for (i = 0; i < nargs; i++)
- {
- hook[0] = args[i];
- run_hook_with_args (1, hook, funcall_nil);
- }
+ run_hook (args[i]);
return Qnil;
}
}
}
+/* Run the hook HOOK, giving each function no args. */
+
+void
+run_hook (Lisp_Object hook)
+{
+ Frun_hook_with_args (1, &hook);
+}
+
/* Run the hook HOOK, giving each function the two args ARG1 and ARG2. */
void
(Just imagine if someone makes it buffer-local). */
Funintern (Qinternal_interpreter_environment, Qnil);
- DEFSYM (Vrun_hooks, "run-hooks");
+ Vrun_hooks = intern_c_string ("run-hooks");
+ staticpro (&Vrun_hooks);
staticpro (&Vautoload_queue);
Vautoload_queue = Qnil;
/* File IO for GNU Emacs.
-Copyright (C) 1985-1988, 1993-2014 Free Software Foundation, Inc.
+Copyright (C) 1985-1988, 1993-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
static bool valid_timestamp_file_system;
static dev_t timestamp_file_system;
-/* The symbol bound to coding-system-for-read when
- insert-file-contents is called for recovering a file. This is not
- an actual coding system name, but just an indicator to tell
- insert-file-contents to use `emacs-mule' with a special flag for
- auto saving and recovering a file. */
-static Lisp_Object Qauto_save_coding;
-
-/* Property name of a file name handler,
- which gives a list of operations it handles.. */
-static Lisp_Object Qoperations;
-
-/* Lisp functions for translating file formats. */
-static Lisp_Object Qformat_decode, Qformat_annotate_function;
-
-/* Lisp function for setting buffer-file-coding-system and the
- multibyteness of the current buffer after inserting a file. */
-static Lisp_Object Qafter_insert_file_set_coding;
-
-static Lisp_Object Qwrite_region_annotate_functions;
/* Each time an annotation function changes the buffer, the new buffer
is added here. */
static Lisp_Object Vwrite_region_annotation_buffers;
-static Lisp_Object Qdelete_by_moving_to_trash;
-
-/* Lisp function for moving files to trash. */
-static Lisp_Object Qmove_file_to_trash;
-
-/* Lisp function for recursively copying directories. */
-static Lisp_Object Qcopy_directory;
-
-/* Lisp function for recursively deleting directories. */
-static Lisp_Object Qdelete_directory;
-
-static Lisp_Object Qsubstitute_env_in_file_name;
-static Lisp_Object Qget_buffer_window_list;
-
-Lisp_Object Qfile_error, Qfile_notify_error;
-static Lisp_Object Qfile_already_exists, Qfile_date_error;
-static Lisp_Object Qexcl;
-Lisp_Object Qfile_name_history;
-
-static Lisp_Object Qcar_less_than_car;
-
static bool a_write (int, Lisp_Object, ptrdiff_t, ptrdiff_t,
Lisp_Object *, struct coding_system *);
static bool e_write (int, Lisp_Object, ptrdiff_t, ptrdiff_t,
}
\f
-static Lisp_Object Qexpand_file_name;
-static Lisp_Object Qsubstitute_in_file_name;
-static Lisp_Object Qdirectory_file_name;
-static Lisp_Object Qfile_name_directory;
-static Lisp_Object Qfile_name_nondirectory;
-static Lisp_Object Qunhandled_file_name_directory;
-static Lisp_Object Qfile_name_as_directory;
-static Lisp_Object Qcopy_file;
-static Lisp_Object Qmake_directory_internal;
-static Lisp_Object Qmake_directory;
-static Lisp_Object Qdelete_directory_internal;
-Lisp_Object Qdelete_file;
-static Lisp_Object Qrename_file;
-static Lisp_Object Qadd_name_to_file;
-static Lisp_Object Qmake_symbolic_link;
-Lisp_Object Qfile_exists_p;
-static Lisp_Object Qfile_executable_p;
-static Lisp_Object Qfile_readable_p;
-static Lisp_Object Qfile_writable_p;
-static Lisp_Object Qfile_symlink_p;
-static Lisp_Object Qaccess_file;
-Lisp_Object Qfile_directory_p;
-static Lisp_Object Qfile_regular_p;
-static Lisp_Object Qfile_accessible_directory_p;
-static Lisp_Object Qfile_modes;
-static Lisp_Object Qset_file_modes;
-static Lisp_Object Qset_file_times;
-static Lisp_Object Qfile_selinux_context;
-static Lisp_Object Qset_file_selinux_context;
-static Lisp_Object Qfile_acl;
-static Lisp_Object Qset_file_acl;
-static Lisp_Object Qfile_newer_than_file_p;
-Lisp_Object Qinsert_file_contents;
-Lisp_Object Qwrite_region;
-static Lisp_Object Qverify_visited_file_modtime;
-static Lisp_Object Qset_visited_file_modtime;
-
DEFUN ("find-file-name-handler", Ffind_file_name_handler,
Sfind_file_name_handler, 2, 2, 0,
doc: /* Return FILENAME's handler function for OPERATION, if it has one.
If VISIT is a string, it is a second file name;
the output goes to FILENAME, but the buffer is marked as visiting VISIT.
VISIT is also the file name to lock and unlock for clash detection.
-If VISIT is neither t nor nil nor a string,
- that means do not display the \"Wrote file\" message.
+If VISIT is neither t nor nil nor a string, or if Emacs is in batch mode,
+ do not display the \"Wrote file\" message.
The optional sixth arg LOCKNAME, if non-nil, specifies the name to
use for locking and unlocking, overriding FILENAME and VISIT.
The optional seventh arg MUSTBENEW, if non-nil, insists on a check
return Qnil;
}
- if (!auto_saving)
+ if (!auto_saving && !noninteractive)
message_with_string ((NUMBERP (append)
? "Updated %s"
: ! NILP (append)
void
syms_of_fileio (void)
{
+ /* Property name of a file name handler,
+ which gives a list of operations it handles. */
DEFSYM (Qoperations, "operations");
+
DEFSYM (Qexpand_file_name, "expand-file-name");
DEFSYM (Qsubstitute_in_file_name, "substitute-in-file-name");
DEFSYM (Qdirectory_file_name, "directory-file-name");
DEFSYM (Qwrite_region, "write-region");
DEFSYM (Qverify_visited_file_modtime, "verify-visited-file-modtime");
DEFSYM (Qset_visited_file_modtime, "set-visited-file-modtime");
+
+ /* The symbol bound to coding-system-for-read when
+ insert-file-contents is called for recovering a file. This is not
+ an actual coding system name, but just an indicator to tell
+ insert-file-contents to use `emacs-mule' with a special flag for
+ auto saving and recovering a file. */
DEFSYM (Qauto_save_coding, "auto-save-coding");
DEFSYM (Qfile_name_history, "file-name-history");
behaves as if file names were encoded in `utf-8'. */);
Vdefault_file_name_coding_system = Qnil;
+ /* Lisp functions for translating file formats. */
DEFSYM (Qformat_decode, "format-decode");
DEFSYM (Qformat_annotate_function, "format-annotate-function");
+
+ /* Lisp function for setting buffer-file-coding-system and the
+ multibyteness of the current buffer after inserting a file. */
DEFSYM (Qafter_insert_file_set_coding, "after-insert-file-set-coding");
+
DEFSYM (Qcar_less_than_car, "car-less-than-car");
Fput (Qfile_error, Qerror_conditions,
This includes interactive calls to `delete-file' and
`delete-directory' and the Dired deletion commands. */);
delete_by_moving_to_trash = 0;
- Qdelete_by_moving_to_trash = intern_c_string ("delete-by-moving-to-trash");
+ DEFSYM (Qdelete_by_moving_to_trash, "delete-by-moving-to-trash");
+ /* Lisp function for moving files to trash. */
DEFSYM (Qmove_file_to_trash, "move-file-to-trash");
+
+ /* Lisp function for recursively copying directories. */
DEFSYM (Qcopy_directory, "copy-directory");
+
+ /* Lisp function for recursively deleting directories. */
DEFSYM (Qdelete_directory, "delete-directory");
+
DEFSYM (Qsubstitute_env_in_file_name, "substitute-env-in-file-name");
DEFSYM (Qget_buffer_window_list, "get-buffer-window-list");
/* Lock files for editing.
-Copyright (C) 1985-1987, 1993-1994, 1996, 1998-2014
- Free Software Foundation, Inc.
+Copyright (C) 1985-1987, 1993-1994, 1996, 1998-2015 Free Software
+Foundation, Inc.
Author: Richard King
(according to authors.el)
return -1;
/* On current host? */
- if (STRINGP (Vsystem_name)
- && dot - (at + 1) == SBYTES (Vsystem_name)
- && memcmp (at + 1, SSDATA (Vsystem_name), SBYTES (Vsystem_name)) == 0)
+ Lisp_Object system_name = Fsystem_name ();
+ if (STRINGP (system_name)
+ && dot - (at + 1) == SBYTES (system_name)
+ && memcmp (at + 1, SSDATA (system_name), SBYTES (system_name)) == 0)
{
if (pid == getpid ())
ret = 2; /* We own it. */
/* Mark beginning of data space to dump as pure, for GNU Emacs.
- Copyright (C) 1997, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Primitive operations on floating point for GNU Emacs Lisp interpreter.
-Copyright (C) 1988, 1993-1994, 1999, 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 1988, 1993-1994, 1999, 2001-2015 Free Software Foundation,
+Inc.
Author: Wolfgang Rupprecht
(according to ack.texi)
/* Random utility Lisp functions.
-Copyright (C) 1985-1987, 1993-1995, 1997-2014 Free Software Foundation,
+Copyright (C) 1985-1987, 1993-1995, 1997-2015 Free Software Foundation,
Inc.
This file is part of GNU Emacs.
#include "xterm.h"
#endif
-Lisp_Object Qstring_lessp;
-static Lisp_Object Qstring_collate_lessp, Qstring_collate_equalp;
-static Lisp_Object Qprovide, Qrequire;
-static Lisp_Object Qyes_or_no_p_history;
-Lisp_Object Qcursor_in_echo_area;
-static Lisp_Object Qwidget_type;
-static Lisp_Object Qcodeset, Qdays, Qmonths, Qpaper;
-
-static Lisp_Object Qmd5, Qsha1, Qsha224, Qsha256, Qsha384, Qsha512;
-
static void sort_vector_copy (Lisp_Object, ptrdiff_t,
Lisp_Object [restrict], Lisp_Object [restrict]);
static bool internal_equal (Lisp_Object, Lisp_Object, int, bool, Lisp_Object);
return ret;
}
\f
-static Lisp_Object Qsubfeatures;
-
DEFUN ("featurep", Ffeaturep, Sfeaturep, 1, 2, 0,
doc: /* Return t if FEATURE is present in this Emacs.
return (NILP (tem)) ? Qnil : Qt;
}
-static Lisp_Object Qfuncall;
-
DEFUN ("provide", Fprovide, Sprovide, 1, 2, 0,
doc: /* Announce that FEATURE is a feature of the current Emacs.
The optional argument SUBFEATURES should be a list of symbols listing
static struct Lisp_Hash_Table *weak_hash_tables;
-/* Various symbols. */
-
-static Lisp_Object Qhash_table_p;
-static Lisp_Object Qkey, Qvalue, Qeql;
-Lisp_Object Qeq, Qequal;
-Lisp_Object QCtest, QCsize, QCrehash_size, QCrehash_threshold, QCweakness;
-static Lisp_Object Qhash_table_test, Qkey_or_value, Qkey_and_value;
-
\f
/***********************************************************************
Utilities
/* font.c -- "Font" primitives.
-Copyright (C) 2006-2014 Free Software Foundation, Inc.
+Copyright (C) 2006-2015 Free Software Foundation, Inc.
Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
National Institute of Advanced Industrial Science and Technology (AIST)
Registration Number H13PRO009
#include TERM_HEADER
#endif /* HAVE_WINDOW_SYSTEM */
-Lisp_Object Qopentype;
-
-/* Important character set strings. */
-Lisp_Object Qascii_0, Qiso8859_1, Qiso10646_1, Qunicode_bmp, Qunicode_sip;
-
#define DEFAULT_ENCODING Qiso8859_1
-/* Unicode category `Cf'. */
-static Lisp_Object QCf;
-
/* Vector of Vfont_weight_table, Vfont_slant_table, and Vfont_width_table. */
static Lisp_Object font_style_table;
{ 200, { "ultra-expanded", "ultraexpanded", "wide" }}
};
-Lisp_Object QCfoundry;
-static Lisp_Object QCadstyle, QCregistry;
-/* Symbols representing keys of font extra info. */
-Lisp_Object QCspacing, QCdpi, QCscalable, QCotf, QClang, QCscript, QCavgwidth;
-Lisp_Object QCantialias, QCfont_entity;
-static Lisp_Object QCfc_unknown_spec;
-/* Symbols representing values of font spacing property. */
-static Lisp_Object Qc, Qm, Qd;
-Lisp_Object Qp;
-/* Special ADSTYLE properties to avoid fonts used for Latin
- characters; used in xfont.c and ftfont.c. */
-Lisp_Object Qja, Qko;
-
-static Lisp_Object QCuser_spec;
-
/* Alist of font registry symbols and the corresponding charset
information. The information is retrieved from
Vfont_encoding_alist on demand.
return tem;
name = make_specified_string (str, nchars, len,
len != nchars && len == nbytes);
- return intern_driver (name, obarray, XINT (tem));
+ return intern_driver (name, obarray, tem);
}
/* Return a pixel size of font-spec SPEC on frame F. */
static const struct
{
/* Pointer to the key symbol. */
- Lisp_Object *key;
+ struct Lisp_Symbol *key;
/* Function to validate PROP's value VAL, or NULL if any value is
ok. The value is VAL or its regularized value if VAL is valid,
and Qerror if not. */
Lisp_Object (*validator) (Lisp_Object prop, Lisp_Object val);
} font_property_table[] =
- { { &QCtype, font_prop_validate_symbol },
- { &QCfoundry, font_prop_validate_symbol },
- { &QCfamily, font_prop_validate_symbol },
- { &QCadstyle, font_prop_validate_symbol },
- { &QCregistry, font_prop_validate_symbol },
- { &QCweight, font_prop_validate_style },
- { &QCslant, font_prop_validate_style },
- { &QCwidth, font_prop_validate_style },
- { &QCsize, font_prop_validate_non_neg },
- { &QCdpi, font_prop_validate_non_neg },
- { &QCspacing, font_prop_validate_spacing },
- { &QCavgwidth, font_prop_validate_non_neg },
+ { { XSYMBOL_INIT (QCtype), font_prop_validate_symbol },
+ { XSYMBOL_INIT (QCfoundry), font_prop_validate_symbol },
+ { XSYMBOL_INIT (QCfamily), font_prop_validate_symbol },
+ { XSYMBOL_INIT (QCadstyle), font_prop_validate_symbol },
+ { XSYMBOL_INIT (QCregistry), font_prop_validate_symbol },
+ { XSYMBOL_INIT (QCweight), font_prop_validate_style },
+ { XSYMBOL_INIT (QCslant), font_prop_validate_style },
+ { XSYMBOL_INIT (QCwidth), font_prop_validate_style },
+ { XSYMBOL_INIT (QCsize), font_prop_validate_non_neg },
+ { XSYMBOL_INIT (QCdpi), font_prop_validate_non_neg },
+ { XSYMBOL_INIT (QCspacing), font_prop_validate_spacing },
+ { XSYMBOL_INIT (QCavgwidth), font_prop_validate_non_neg },
/* The order of the above entries must match with enum
font_property_index. */
- { &QClang, font_prop_validate_symbol },
- { &QCscript, font_prop_validate_symbol },
- { &QCotf, font_prop_validate_otf }
+ { XSYMBOL_INIT (QClang), font_prop_validate_symbol },
+ { XSYMBOL_INIT (QCscript), font_prop_validate_symbol },
+ { XSYMBOL_INIT (QCotf), font_prop_validate_otf }
};
/* Return an index number of font property KEY or -1 if KEY is not an
int i;
for (i = 0; i < ARRAYELTS (font_property_table); i++)
- if (EQ (key, *font_property_table[i].key))
+ if (EQ (key, make_lisp_symbol (font_property_table[i].key)))
return i;
return -1;
}
if (NILP (val))
return val;
if (NILP (prop))
- prop = *font_property_table[idx].key;
+ prop = make_lisp_symbol (font_property_table[idx].key);
else
{
idx = get_font_prop_index (prop);
DEFSYM (Qopentype, "opentype");
+ /* Important character set symbols. */
DEFSYM (Qascii_0, "ascii-0");
DEFSYM (Qiso8859_1, "iso8859-1");
DEFSYM (Qiso10646_1, "iso10646-1");
DEFSYM (Qunicode_bmp, "unicode-bmp");
DEFSYM (Qunicode_sip, "unicode-sip");
+ /* Unicode category `Cf'. */
DEFSYM (QCf, "Cf");
+ /* Symbols representing keys of font extra info. */
DEFSYM (QCotf, ":otf");
DEFSYM (QClang, ":lang");
DEFSYM (QCscript, ":script");
DEFSYM (QCantialias, ":antialias");
-
DEFSYM (QCfoundry, ":foundry");
DEFSYM (QCadstyle, ":adstyle");
DEFSYM (QCregistry, ":registry");
DEFSYM (QCfont_entity, ":font-entity");
DEFSYM (QCfc_unknown_spec, ":fc-unknown-spec");
+ /* Symbols representing values of font spacing property. */
DEFSYM (Qc, "c");
DEFSYM (Qm, "m");
DEFSYM (Qp, "p");
DEFSYM (Qd, "d");
+ /* Special ADSTYLE properties to avoid fonts used for Latin
+ characters; used in xfont.c and ftfont.c. */
DEFSYM (Qja, "ja");
DEFSYM (Qko, "ko");
/* font.h -- Interface definition for font handling.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
National Institute of Advanced Industrial Science and Technology (AIST)
Registration Number H13PRO009
Note: Only the method `open' of a font-driver can create this
object, and it should never be modified by Lisp. */
-extern Lisp_Object Qfont_spec, Qfont_entity, Qfont_object;
/* An enumerator for each font property. This is used as an index to
the vector of FONT-SPEC and FONT-ENTITY.
#define FONT_BASE(f) ((f)->ascent)
#define FONT_DESCENT(f) ((f)->descent)
-extern Lisp_Object QCspacing, QCdpi, QCscalable, QCotf, QClang, QCscript;
-extern Lisp_Object QCavgwidth, QCantialias, QCfont_entity;
-extern Lisp_Object Qp;
-
-
-/* Important character set symbols. */
-extern Lisp_Object Qascii_0;
-extern Lisp_Object Qiso8859_1, Qiso10646_1, Qunicode_bmp, Qunicode_sip;
-
-/* Special ADSTYLE properties to avoid fonts used for Latin characters. */
-extern Lisp_Object Qja, Qko;
/* Structure for a font-spec. */
extern void syms_of_xfont (void);
extern void syms_of_ftxfont (void);
#ifdef HAVE_XFT
-extern Lisp_Object Qxft;
extern struct font_driver xftfont_driver;
extern void syms_of_xftfont (void);
#endif
extern void syms_of_w32font (void);
#endif /* HAVE_NTGUI */
#ifdef HAVE_NS
-extern Lisp_Object Qfontsize;
extern struct font_driver nsfont_driver;
extern void syms_of_nsfont (void);
extern void syms_of_macfont (void);
#define FONT_DEBUG
#endif
-extern Lisp_Object QCfoundry;
-
extern void font_add_log (const char *, Lisp_Object, Lisp_Object);
extern void font_deferred_log (const char *, Lisp_Object, Lisp_Object);
/* Fontset handler.
-Copyright (C) 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 2001-2015 Free Software Foundation, Inc.
Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
2005, 2006, 2007, 2008, 2009, 2010, 2011
National Institute of Advanced Industrial Science and Technology (AIST)
/********** VARIABLES and FUNCTION PROTOTYPES **********/
-static Lisp_Object Qfontset;
-static Lisp_Object Qfontset_info;
-static Lisp_Object Qprepend, Qappend;
-Lisp_Object Qlatin;
-
/* Vector containing all fontsets. */
static Lisp_Object Vfontset_table;
/* Header for fontset handler.
- Copyright (C) 1998, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1998, 2001-2015 Free Software Foundation, Inc.
Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
2005, 2006, 2007, 2008, 2009, 2010, 2011
National Institute of Advanced Industrial Science and Technology (AIST)
extern int fs_query_fontset (Lisp_Object, int);
extern Lisp_Object list_fontsets (struct frame *, Lisp_Object, int);
-extern Lisp_Object Qlatin;
extern Lisp_Object fontset_name (int);
extern Lisp_Object fontset_ascii (int);
/* Generic frame functions.
-Copyright (C) 1993-1995, 1997, 1999-2014 Free Software Foundation, Inc.
+Copyright (C) 1993-1995, 1997, 1999-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
#include "widget.h"
#endif
-#ifdef HAVE_NS
-Lisp_Object Qns_parse_geometry;
-#endif
-
-Lisp_Object Qframep, Qframe_live_p;
-Lisp_Object Qicon, Qmodeline;
-Lisp_Object Qonly, Qnone;
-Lisp_Object Qx, Qw32, Qpc, Qns;
-Lisp_Object Qvisible;
-Lisp_Object Qdisplay_type;
-static Lisp_Object Qbackground_mode;
-Lisp_Object Qnoelisp;
-
-static Lisp_Object Qx_frame_parameter;
-Lisp_Object Qx_resource_name;
-Lisp_Object Qterminal;
-
-/* Frame parameters (set or reported). */
-
-Lisp_Object Qauto_raise, Qauto_lower;
-Lisp_Object Qborder_color, Qborder_width;
-Lisp_Object Qcursor_color, Qcursor_type;
-Lisp_Object Qheight, Qwidth;
-Lisp_Object Qicon_left, Qicon_top, Qicon_type, Qicon_name;
-Lisp_Object Qtooltip;
-Lisp_Object Qinternal_border_width;
-Lisp_Object Qright_divider_width, Qbottom_divider_width;
-Lisp_Object Qmouse_color;
-Lisp_Object Qminibuffer;
-Lisp_Object Qscroll_bar_width, Qvertical_scroll_bars;
-Lisp_Object Qscroll_bar_height, Qhorizontal_scroll_bars;
-Lisp_Object Qvisibility;
-Lisp_Object Qscroll_bar_foreground, Qscroll_bar_background;
-Lisp_Object Qscreen_gamma;
-Lisp_Object Qline_spacing;
-static Lisp_Object Quser_position, Quser_size;
-Lisp_Object Qwait_for_wm;
-static Lisp_Object Qwindow_id;
-#ifdef HAVE_X_WINDOWS
-static Lisp_Object Qouter_window_id;
-#endif
-Lisp_Object Qparent_id;
-Lisp_Object Qtitle, Qname;
-static Lisp_Object Qexplicit_name;
-Lisp_Object Qunsplittable;
-Lisp_Object Qmenu_bar_lines, Qtool_bar_lines, Qtool_bar_position;
-Lisp_Object Qleft_fringe, Qright_fringe;
-Lisp_Object Qbuffer_predicate;
-static Lisp_Object Qbuffer_list, Qburied_buffer_list;
-Lisp_Object Qtty_color_mode;
-Lisp_Object Qtty, Qtty_type;
-
-Lisp_Object Qfullscreen, Qfullwidth, Qfullheight, Qfullboth, Qmaximized;
-Lisp_Object Qsticky;
-Lisp_Object Qfont_backend;
-Lisp_Object Qalpha;
-
-Lisp_Object Qface_set_after_frame_default;
-
-static Lisp_Object Qfocus_in_hook;
-static Lisp_Object Qfocus_out_hook;
-static Lisp_Object Qdelete_frame_functions;
-static Lisp_Object Qframe_windows_min_size;
-static Lisp_Object Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource;
-
-Lisp_Object Qframe_position, Qframe_outer_size, Qframe_inner_size;
-Lisp_Object Qexternal_border_size, Qtitle_height;
-Lisp_Object Qmenu_bar_external, Qmenu_bar_size;
-Lisp_Object Qtool_bar_external, Qtool_bar_size;
-
/* The currently selected frame. */
Lisp_Object selected_frame;
return type;
}
+/* Placeholder used by temacs -nw before window.el is loaded. */
+DEFUN ("frame-windows-min-size", Fframe_windows_min_size,
+ Sframe_windows_min_size, 4, 4, 0,
+ doc: /* */)
+ (Lisp_Object frame, Lisp_Object horizontal,
+ Lisp_Object ignore, Lisp_Object pixelwise)
+{
+ return make_number (0);
+}
+
static int
-frame_windows_min_size (Lisp_Object frame, Lisp_Object horizontal, Lisp_Object ignore, Lisp_Object pixelwise)
+frame_windows_min_size (Lisp_Object frame, Lisp_Object horizontal,
+ Lisp_Object ignore, Lisp_Object pixelwise)
{
- return XINT (call4 (Qframe_windows_min_size, frame, horizontal, ignore, pixelwise));
+ return XINT (call4 (Qframe_windows_min_size, frame, horizontal,
+ ignore, pixelwise));
}
{
/* Preserve prefix arg that the command loop just cleared. */
kset_prefix_arg (current_kboard, Vcurrent_prefix_arg);
- Frun_hooks (1, &Qmouse_leave_buffer_hook);
+ run_hook (Qmouse_leave_buffer_hook);
/* `switch-frame' implies a focus in. */
call1 (intern ("handle-focus-in"), event);
return do_switch_frame (event, 0, 0, Qnil);
struct frame_parm_table {
const char *name;
- Lisp_Object *variable;
+ struct Lisp_Symbol *sym;
};
static const struct frame_parm_table frame_parms[] =
{
- {"auto-raise", &Qauto_raise},
- {"auto-lower", &Qauto_lower},
+ {"auto-raise", XSYMBOL_INIT (Qauto_raise)},
+ {"auto-lower", XSYMBOL_INIT (Qauto_lower)},
{"background-color", 0},
- {"border-color", &Qborder_color},
- {"border-width", &Qborder_width},
- {"cursor-color", &Qcursor_color},
- {"cursor-type", &Qcursor_type},
+ {"border-color", XSYMBOL_INIT (Qborder_color)},
+ {"border-width", XSYMBOL_INIT (Qborder_width)},
+ {"cursor-color", XSYMBOL_INIT (Qcursor_color)},
+ {"cursor-type", XSYMBOL_INIT (Qcursor_type)},
{"font", 0},
{"foreground-color", 0},
- {"icon-name", &Qicon_name},
- {"icon-type", &Qicon_type},
- {"internal-border-width", &Qinternal_border_width},
- {"right-divider-width", &Qright_divider_width},
- {"bottom-divider-width", &Qbottom_divider_width},
- {"menu-bar-lines", &Qmenu_bar_lines},
- {"mouse-color", &Qmouse_color},
- {"name", &Qname},
- {"scroll-bar-width", &Qscroll_bar_width},
- {"scroll-bar-height", &Qscroll_bar_height},
- {"title", &Qtitle},
- {"unsplittable", &Qunsplittable},
- {"vertical-scroll-bars", &Qvertical_scroll_bars},
- {"horizontal-scroll-bars", &Qhorizontal_scroll_bars},
- {"visibility", &Qvisibility},
- {"tool-bar-lines", &Qtool_bar_lines},
- {"scroll-bar-foreground", &Qscroll_bar_foreground},
- {"scroll-bar-background", &Qscroll_bar_background},
- {"screen-gamma", &Qscreen_gamma},
- {"line-spacing", &Qline_spacing},
- {"left-fringe", &Qleft_fringe},
- {"right-fringe", &Qright_fringe},
- {"wait-for-wm", &Qwait_for_wm},
- {"fullscreen", &Qfullscreen},
- {"font-backend", &Qfont_backend},
- {"alpha", &Qalpha},
- {"sticky", &Qsticky},
- {"tool-bar-position", &Qtool_bar_position},
+ {"icon-name", XSYMBOL_INIT (Qicon_name)},
+ {"icon-type", XSYMBOL_INIT (Qicon_type)},
+ {"internal-border-width", XSYMBOL_INIT (Qinternal_border_width)},
+ {"right-divider-width", XSYMBOL_INIT (Qright_divider_width)},
+ {"bottom-divider-width", XSYMBOL_INIT (Qbottom_divider_width)},
+ {"menu-bar-lines", XSYMBOL_INIT (Qmenu_bar_lines)},
+ {"mouse-color", XSYMBOL_INIT (Qmouse_color)},
+ {"name", XSYMBOL_INIT (Qname)},
+ {"scroll-bar-width", XSYMBOL_INIT (Qscroll_bar_width)},
+ {"scroll-bar-height", XSYMBOL_INIT (Qscroll_bar_height)},
+ {"title", XSYMBOL_INIT (Qtitle)},
+ {"unsplittable", XSYMBOL_INIT (Qunsplittable)},
+ {"vertical-scroll-bars", XSYMBOL_INIT (Qvertical_scroll_bars)},
+ {"horizontal-scroll-bars", XSYMBOL_INIT (Qhorizontal_scroll_bars)},
+ {"visibility", XSYMBOL_INIT (Qvisibility)},
+ {"tool-bar-lines", XSYMBOL_INIT (Qtool_bar_lines)},
+ {"scroll-bar-foreground", XSYMBOL_INIT (Qscroll_bar_foreground)},
+ {"scroll-bar-background", XSYMBOL_INIT (Qscroll_bar_background)},
+ {"screen-gamma", XSYMBOL_INIT (Qscreen_gamma)},
+ {"line-spacing", XSYMBOL_INIT (Qline_spacing)},
+ {"left-fringe", XSYMBOL_INIT (Qleft_fringe)},
+ {"right-fringe", XSYMBOL_INIT (Qright_fringe)},
+ {"wait-for-wm", XSYMBOL_INIT (Qwait_for_wm)},
+ {"fullscreen", XSYMBOL_INIT (Qfullscreen)},
+ {"font-backend", XSYMBOL_INIT (Qfont_backend)},
+ {"alpha", XSYMBOL_INIT (Qalpha)},
+ {"sticky", XSYMBOL_INIT (Qsticky)},
+ {"tool-bar-position", XSYMBOL_INIT (Qtool_bar_position)},
};
#ifdef HAVE_WINDOW_SYSTEM
if ((width_change && width != FRAME_TEXT_WIDTH (f))
|| (height_change && height != FRAME_TEXT_HEIGHT (f))
- || f->new_height || f->new_width)
+ || (f->can_x_set_window_size && (f->new_height || f->new_width)))
{
/* If necessary provide default values for HEIGHT and WIDTH. Do
that here since otherwise a size change implied by an
/* Start with emacs.FRAMENAME for the name (the specific one)
and with `Emacs' for the class key (the general one). */
- lispstpcpy (name_key, Vx_resource_name);
- lispstpcpy (class_key, Vx_resource_class);
+ char *nz = lispstpcpy (name_key, Vx_resource_name);
+ char *cz = lispstpcpy (class_key, Vx_resource_class);
- strcat (class_key, ".");
- strcat (class_key, SSDATA (class));
+ *cz++ = '.';
+ cz = lispstpcpy (cz, class);
if (!NILP (component))
{
- strcat (class_key, ".");
- strcat (class_key, SSDATA (subclass));
+ *cz++ = '.';
+ lispstpcpy (cz, subclass);
- strcat (name_key, ".");
- strcat (name_key, SSDATA (component));
+ *nz++ = '.';
+ nz = lispstpcpy (nz, component);
}
- strcat (name_key, ".");
- strcat (name_key, SSDATA (attribute));
+ *nz++ = '.';
+ lispstpcpy (nz, attribute);
char *value = x_get_string_resource (rdb, name_key, class_key);
SAFE_FREE();
DEFSYM (Qns_parse_geometry, "ns-parse-geometry");
#endif
+ DEFSYM (Qalpha, "alpha");
+ DEFSYM (Qauto_lower, "auto-lower");
+ DEFSYM (Qauto_raise, "auto-raise");
+ DEFSYM (Qborder_color, "border-color");
+ DEFSYM (Qborder_width, "border-width");
+ DEFSYM (Qbottom_divider_width, "bottom-divider-width");
+ DEFSYM (Qcursor_color, "cursor-color");
+ DEFSYM (Qcursor_type, "cursor-type");
+ DEFSYM (Qfont_backend, "font-backend");
+ DEFSYM (Qfullscreen, "fullscreen");
+ DEFSYM (Qhorizontal_scroll_bars, "horizontal-scroll-bars");
+ DEFSYM (Qicon_name, "icon-name");
+ DEFSYM (Qicon_type, "icon-type");
+ DEFSYM (Qinternal_border_width, "internal-border-width");
+ DEFSYM (Qleft_fringe, "left-fringe");
+ DEFSYM (Qline_spacing, "line-spacing");
+ DEFSYM (Qmenu_bar_lines, "menu-bar-lines");
+ DEFSYM (Qmouse_color, "mouse-color");
+ DEFSYM (Qname, "name");
+ DEFSYM (Qright_divider_width, "right-divider-width");
+ DEFSYM (Qright_fringe, "right-fringe");
+ DEFSYM (Qscreen_gamma, "screen-gamma");
+ DEFSYM (Qscroll_bar_background, "scroll-bar-background");
+ DEFSYM (Qscroll_bar_foreground, "scroll-bar-foreground");
+ DEFSYM (Qscroll_bar_height, "scroll-bar-height");
+ DEFSYM (Qscroll_bar_width, "scroll-bar-width");
+ DEFSYM (Qsticky, "sticky");
+ DEFSYM (Qtitle, "title");
+ DEFSYM (Qtool_bar_lines, "tool-bar-lines");
+ DEFSYM (Qtool_bar_position, "tool-bar-position");
+ DEFSYM (Qunsplittable, "unsplittable");
+ DEFSYM (Qvertical_scroll_bars, "vertical-scroll-bars");
+ DEFSYM (Qvisibility, "visibility");
+ DEFSYM (Qwait_for_wm, "wait-for-wm");
+
{
int i;
for (i = 0; i < ARRAYELTS (frame_parms); i++)
{
- Lisp_Object v = intern_c_string (frame_parms[i].name);
- if (frame_parms[i].variable)
- {
- *frame_parms[i].variable = v;
- staticpro (frame_parms[i].variable);
- }
+ Lisp_Object v = (frame_parms[i].sym
+ ? make_lisp_symbol (frame_parms[i].sym)
+ : intern_c_string (frame_parms[i].name));
Fput (v, Qx_frame_parameter, make_number (i));
}
}
`vertical-scroll-bars'.
The default value is '(tool-bar-lines) on Lucid, Motif and Windows
-(which means that adding/removing a tool bar does not change the frame
+\(which means that adding/removing a tool bar does not change the frame
height), nil on all other window systems including GTK+ (which means
that changing any of the parameters listed above may change the size of
the frame), and `t' otherwise (which means the frame size never changes
defsubr (&Sframep);
defsubr (&Sframe_live_p);
defsubr (&Swindow_system);
+ defsubr (&Sframe_windows_min_size);
defsubr (&Smake_terminal_frame);
defsubr (&Shandle_switch_frame);
defsubr (&Sselect_frame);
/* Define frame-object for GNU Emacs.
- Copyright (C) 1993-1994, 1999-2014 Free Software Foundation, Inc.
+ Copyright (C) 1993-1994, 1999-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
(f)->iconified = (eassert (0 <= (i) && (i) <= 1), (i))
extern Lisp_Object selected_frame;
-extern Lisp_Object Qframep, Qframe_live_p;
-extern Lisp_Object Qtty, Qtty_type;
-extern Lisp_Object Qtty_color_mode;
-extern Lisp_Object Qterminal;
-extern Lisp_Object Qnoelisp;
extern struct frame *decode_window_system_frame (Lisp_Object);
extern struct frame *decode_live_frame (Lisp_Object);
Frame Parameters
***********************************************************************/
-extern Lisp_Object Qauto_raise, Qauto_lower;
-extern Lisp_Object Qborder_color, Qborder_width;
-extern Lisp_Object Qbuffer_predicate;
-extern Lisp_Object Qcursor_color, Qcursor_type;
-extern Lisp_Object Qfont;
-extern Lisp_Object Qicon, Qicon_name, Qicon_type, Qicon_left, Qicon_top;
-extern Lisp_Object Qinternal_border_width;
-extern Lisp_Object Qright_divider_width, Qbottom_divider_width;
-extern Lisp_Object Qtooltip;
-extern Lisp_Object Qmenu_bar_lines, Qtool_bar_lines, Qtool_bar_position;
-extern Lisp_Object Qmouse_color;
-extern Lisp_Object Qname, Qtitle;
-extern Lisp_Object Qparent_id;
-extern Lisp_Object Qunsplittable, Qvisibility;
-extern Lisp_Object Qscroll_bar_width, Qvertical_scroll_bars;
-extern Lisp_Object Qscroll_bar_height, Qhorizontal_scroll_bars;
-extern Lisp_Object Qscroll_bar_foreground, Qscroll_bar_background;
-extern Lisp_Object Qscreen_gamma;
-extern Lisp_Object Qline_spacing;
-extern Lisp_Object Qwait_for_wm;
-extern Lisp_Object Qfullscreen;
-extern Lisp_Object Qfullwidth, Qfullheight, Qfullboth, Qmaximized;
-extern Lisp_Object Qsticky;
-extern Lisp_Object Qfont_backend;
-extern Lisp_Object Qalpha;
-
-extern Lisp_Object Qleft_fringe, Qright_fringe;
-extern Lisp_Object Qheight, Qwidth;
-extern Lisp_Object Qminibuffer, Qmodeline;
-extern Lisp_Object Qx, Qw32, Qpc, Qns;
-extern Lisp_Object Qvisible;
-extern Lisp_Object Qdisplay_type;
-
-extern Lisp_Object Qx_resource_name;
-
-extern Lisp_Object Qtop, Qbox, Qbottom;
-extern Lisp_Object Qdisplay;
-
-extern Lisp_Object Qframe_position, Qframe_outer_size, Qframe_inner_size;
-extern Lisp_Object Qexternal_border_size, Qtitle_height;
-extern Lisp_Object Qmenu_bar_external, Qmenu_bar_size;
-extern Lisp_Object Qtool_bar_external, Qtool_bar_size;
-
-extern Lisp_Object Qrun_hook_with_args;
-
#ifdef HAVE_WINDOW_SYSTEM
/* The class of this X application. */
extern void x_set_offset (struct frame *, int, int, int);
extern void x_wm_set_size_hint (struct frame *f, long flags, bool user_position);
extern Lisp_Object x_new_font (struct frame *, Lisp_Object, int);
-extern Lisp_Object Qface_set_after_frame_default;
extern void x_set_frame_parameters (struct frame *, Lisp_Object);
extern void x_set_fullscreen (struct frame *, Lisp_Object, Lisp_Object);
extern void x_set_line_spacing (struct frame *, Lisp_Object, Lisp_Object);
/* Fringe handling (split from xdisp.c).
- Copyright (C) 1985-1988, 1993-1995, 1997-2014 Free Software
+ Copyright (C) 1985-1988, 1993-1995, 1997-2015 Free Software
Foundation, Inc.
This file is part of GNU Emacs.
must specify physical bitmap symbols.
*/
-static Lisp_Object Qtruncation, Qcontinuation, Qoverlay_arrow;
-static Lisp_Object Qempty_line, Qtop_bottom;
-static Lisp_Object Qhollow_small;
-
enum fringe_bitmap_align
{
ALIGN_BITMAP_CENTER = 0,
/* ftfont.c -- FreeType font driver.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
National Institute of Advanced Industrial Science and Technology (AIST)
Registration Number H13PRO009
#include "font.h"
#include "ftfont.h"
-/* Symbolic type of this font-driver. */
-static Lisp_Object Qfreetype;
-
-/* Fontconfig's generic families and their aliases. */
-static Lisp_Object Qmonospace, Qsans_serif, Qserif, Qmono, Qsans, Qsans__serif;
-
/* Flag to tell if FcInit is already called or not. */
static bool fc_initialized;
void
syms_of_ftfont (void)
{
+ /* Symbolic type of this font-driver. */
DEFSYM (Qfreetype, "freetype");
+
+ /* Fontconfig's generic families and their aliases. */
DEFSYM (Qmonospace, "monospace");
DEFSYM (Qsans_serif, "sans-serif");
DEFSYM (Qserif, "serif");
/* ftxfont.c -- FreeType font driver on X (without using XFT).
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
National Institute of Advanced Industrial Science and Technology (AIST)
Registration Number H13PRO009
/* FTX font driver. */
-static Lisp_Object Qftx;
-
struct font_driver ftxfont_driver;
struct ftxfont_frame_data
/* Emulate getpagesize on systems that lack it.
- Copyright (C) 1986, 1992, 1995, 2001-2014 Free Software Foundation,
+ Copyright (C) 1986, 1992, 1995, 2001-2015 Free Software Foundation,
Inc.
This file is part of GNU Emacs.
/* Filesystem notifications support with glib API.
- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
#include "process.h"
\f
-/* Subroutines. */
-static Lisp_Object Qgfile_add_watch;
-static Lisp_Object Qgfile_rm_watch;
-
-/* Filter objects. */
-static Lisp_Object Qwatch_mounts; /* G_FILE_MONITOR_WATCH_MOUNTS */
-static Lisp_Object Qsend_moved; /* G_FILE_MONITOR_SEND_MOVED */
-
-/* Event types. */
-static Lisp_Object Qchanged; /* G_FILE_MONITOR_EVENT_CHANGED */
-static Lisp_Object Qchanges_done_hint; /* G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT */
-static Lisp_Object Qdeleted; /* G_FILE_MONITOR_EVENT_DELETED */
-static Lisp_Object Qcreated; /* G_FILE_MONITOR_EVENT_CREATED */
-static Lisp_Object Qattribute_changed; /* G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED */
-static Lisp_Object Qpre_unmount; /* G_FILE_MONITOR_EVENT_PRE_UNMOUNT */
-static Lisp_Object Qunmounted; /* G_FILE_MONITOR_EVENT_UNMOUNTED */
-static Lisp_Object Qmoved; /* G_FILE_MONITOR_EVENT_MOVED */
-
static Lisp_Object watch_list;
+/* Convert a monitor to a Lisp integer and back. On all known glib
+ platforms, converting the sum of MONITOR and Lisp_Int0 directly to
+ a Lisp_Object value results in a Lisp integer, which is safe. */
+
+static Lisp_Object
+monitor_to_lisp (GFileMonitor *monitor)
+{
+ return XIL (TAG_PTR (Lisp_Int0, monitor));
+}
+
+static GFileMonitor *
+lisp_to_monitor (Lisp_Object watch_descriptor)
+{
+ return XUNTAG (watch_descriptor, Lisp_Int0);
+}
+
/* This is the callback function for arriving signals from
g_file_monitor. It shall create a Lisp event, and put it into
Emacs input queue. */
}
/* Determine callback function. */
- monitor_object = XIL ((intptr_t) monitor);
+ monitor_object = monitor_to_lisp (monitor);
eassert (INTEGERP (monitor_object));
watch_object = assq_no_quit (monitor_object, watch_list);
will be reported only in case of the 'moved' event. */)
(Lisp_Object file, Lisp_Object flags, Lisp_Object callback)
{
- Lisp_Object watch_descriptor, watch_object;
+ Lisp_Object watch_object;
GFile *gfile;
GFileMonitor *monitor;
GFileMonitorFlags gflags = G_FILE_MONITOR_NONE;
if (! monitor)
xsignal2 (Qfile_notify_error, build_string ("Cannot watch file"), file);
- /* On all known glib platforms, converting MONITOR directly to a
- Lisp_Object value results is a Lisp integer, which is safe. This
- assumption is dicey, though, so check it now. */
- watch_descriptor = XIL ((intptr_t) monitor);
+ Lisp_Object watch_descriptor = monitor_to_lisp (monitor);
+
+ /* Check the dicey assumption that monitor_to_lisp is safe. */
if (! INTEGERP (watch_descriptor))
{
g_object_unref (monitor);
WATCH-DESCRIPTOR should be an object returned by `gfile-add-watch'. */)
(Lisp_Object watch_descriptor)
{
- intptr_t int_monitor;
- GFileMonitor *monitor;
Lisp_Object watch_object = assq_no_quit (watch_descriptor, watch_list);
if (! CONSP (watch_object))
watch_descriptor);
eassert (INTEGERP (watch_descriptor));
- int_monitor = XLI (watch_descriptor);
- monitor = (GFileMonitor *) int_monitor;
+ GFileMonitor *monitor = lisp_to_monitor (watch_descriptor);
if (!g_file_monitor_cancel (monitor))
xsignal2 (Qfile_notify_error, build_string ("Could not rm watch"),
watch_descriptor);
void
syms_of_gfilenotify (void)
{
-
DEFSYM (Qgfile_add_watch, "gfile-add-watch");
defsubr (&Sgfile_add_watch);
DEFSYM (Qgfile_rm_watch, "gfile-rm-watch");
defsubr (&Sgfile_rm_watch);
- DEFSYM (Qwatch_mounts, "watch-mounts");
- DEFSYM (Qsend_moved, "send-moved");
- DEFSYM (Qchanged, "changed");
+ /* Filter objects. */
+ DEFSYM (Qwatch_mounts, "watch-mounts"); /* G_FILE_MONITOR_WATCH_MOUNTS */
+ DEFSYM (Qsend_moved, "send-moved"); /* G_FILE_MONITOR_SEND_MOVED */
+
+ /* Event types. */
+ DEFSYM (Qchanged, "changed"); /* G_FILE_MONITOR_EVENT_CHANGED */
DEFSYM (Qchanges_done_hint, "changes-done-hint");
- DEFSYM (Qdeleted, "deleted");
- DEFSYM (Qcreated, "created");
+ /* G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT */
+ DEFSYM (Qdeleted, "deleted"); /* G_FILE_MONITOR_EVENT_DELETED */
+ DEFSYM (Qcreated, "created"); /* G_FILE_MONITOR_EVENT_CREATED */
DEFSYM (Qattribute_changed, "attribute-changed");
- DEFSYM (Qpre_unmount, "pre-unmount");
- DEFSYM (Qunmounted, "unmounted");
- DEFSYM (Qmoved, "moved");
+ /* G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED */
+ DEFSYM (Qpre_unmount, "pre-unmount"); /* G_FILE_MONITOR_EVENT_PRE_UNMOUNT */
+ DEFSYM (Qunmounted, "unmounted"); /* G_FILE_MONITOR_EVENT_UNMOUNTED */
+ DEFSYM (Qmoved, "moved"); /* G_FILE_MONITOR_EVENT_MOVED */
staticpro (&watch_list);
/* Declarations for `malloc' and friends.
- Copyright (C) 1990-1993, 1995-1996, 1999, 2002-2007, 2013-2014 Free
+ Copyright (C) 1990-1993, 1995-1996, 1999, 2002-2007, 2013-2015 Free
Software Foundation, Inc.
Written May 1989 by Mike Haertel.
/* GnuTLS glue for GNU Emacs.
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
static bool emacs_gnutls_handle_error (gnutls_session_t, int);
-static Lisp_Object Qgnutls_dll;
-static Lisp_Object Qgnutls_code;
-static Lisp_Object Qgnutls_anon, Qgnutls_x509pki;
-static Lisp_Object Qgnutls_e_interrupted, Qgnutls_e_again,
- Qgnutls_e_invalid_session, Qgnutls_e_not_ready_for_handshake;
static bool gnutls_global_initialized;
-/* The following are for the property list of `gnutls-boot'. */
-static Lisp_Object QCgnutls_bootprop_priority;
-static Lisp_Object QCgnutls_bootprop_trustfiles;
-static Lisp_Object QCgnutls_bootprop_keylist;
-static Lisp_Object QCgnutls_bootprop_crlfiles;
-static Lisp_Object QCgnutls_bootprop_callbacks;
-static Lisp_Object QCgnutls_bootprop_loglevel;
-static Lisp_Object QCgnutls_bootprop_hostname;
-static Lisp_Object QCgnutls_bootprop_min_prime_bits;
-static Lisp_Object QCgnutls_bootprop_verify_flags;
-static Lisp_Object QCgnutls_bootprop_verify_error;
-
-/* Callback keys for `gnutls-boot'. Unused currently. */
-static Lisp_Object QCgnutls_bootprop_callbacks_verify;
-
static void gnutls_log_function (int, const char *);
static void gnutls_log_function2 (int, const char *, const char *);
#ifdef HAVE_GNUTLS3
\f
#ifdef WINDOWSNT
-/* Macro for defining functions that will be loaded from the GnuTLS DLL. */
-#define DEF_GNUTLS_FN(rettype,func,args) static rettype (FAR CDECL *fn_##func)args
-
-/* Macro for loading GnuTLS functions from the library. */
-#define LOAD_GNUTLS_FN(lib,func) { \
- fn_##func = (void *) GetProcAddress (lib, #func); \
- if (!fn_##func) return 0; \
- }
-
-DEF_GNUTLS_FN (gnutls_alert_description_t, gnutls_alert_get,
- (gnutls_session_t));
-DEF_GNUTLS_FN (const char *, gnutls_alert_get_name,
- (gnutls_alert_description_t));
-DEF_GNUTLS_FN (int, gnutls_alert_send_appropriate, (gnutls_session_t, int));
-DEF_GNUTLS_FN (int, gnutls_anon_allocate_client_credentials,
- (gnutls_anon_client_credentials_t *));
-DEF_GNUTLS_FN (void, gnutls_anon_free_client_credentials,
- (gnutls_anon_client_credentials_t));
-DEF_GNUTLS_FN (int, gnutls_bye, (gnutls_session_t, gnutls_close_request_t));
-DEF_GNUTLS_FN (int, gnutls_certificate_allocate_credentials,
- (gnutls_certificate_credentials_t *));
-DEF_GNUTLS_FN (void, gnutls_certificate_free_credentials,
- (gnutls_certificate_credentials_t));
-DEF_GNUTLS_FN (const gnutls_datum_t *, gnutls_certificate_get_peers,
- (gnutls_session_t, unsigned int *));
-DEF_GNUTLS_FN (void, gnutls_certificate_set_verify_flags,
- (gnutls_certificate_credentials_t, unsigned int));
-DEF_GNUTLS_FN (int, gnutls_certificate_set_x509_crl_file,
- (gnutls_certificate_credentials_t, const char *,
- gnutls_x509_crt_fmt_t));
-DEF_GNUTLS_FN (int, gnutls_certificate_set_x509_key_file,
- (gnutls_certificate_credentials_t, const char *, const char *,
- gnutls_x509_crt_fmt_t));
-#if GNUTLS_VERSION_MAJOR + \
- (GNUTLS_VERSION_MINOR > 0 || GNUTLS_VERSION_PATCH >= 20) > 3
-DEF_GNUTLS_FN (int, gnutls_certificate_set_x509_system_trust,
- (gnutls_certificate_credentials_t));
-#endif
-DEF_GNUTLS_FN (int, gnutls_certificate_set_x509_trust_file,
- (gnutls_certificate_credentials_t, const char *,
- gnutls_x509_crt_fmt_t));
-DEF_GNUTLS_FN (gnutls_certificate_type_t, gnutls_certificate_type_get,
- (gnutls_session_t));
-DEF_GNUTLS_FN (int, gnutls_certificate_verify_peers2,
- (gnutls_session_t, unsigned int *));
-DEF_GNUTLS_FN (int, gnutls_credentials_set,
- (gnutls_session_t, gnutls_credentials_type_t, void *));
-DEF_GNUTLS_FN (void, gnutls_deinit, (gnutls_session_t));
-DEF_GNUTLS_FN (void, gnutls_dh_set_prime_bits,
- (gnutls_session_t, unsigned int));
-DEF_GNUTLS_FN (int, gnutls_dh_get_prime_bits, (gnutls_session_t));
-DEF_GNUTLS_FN (int, gnutls_error_is_fatal, (int));
-DEF_GNUTLS_FN (int, gnutls_global_init, (void));
-DEF_GNUTLS_FN (void, gnutls_global_set_log_function, (gnutls_log_func));
-#ifdef HAVE_GNUTLS3
-DEF_GNUTLS_FN (void, gnutls_global_set_audit_log_function, (gnutls_audit_log_func));
-#endif
-DEF_GNUTLS_FN (void, gnutls_global_set_log_level, (int));
-DEF_GNUTLS_FN (void, gnutls_global_set_mem_functions,
- (gnutls_alloc_function, gnutls_alloc_function,
- gnutls_is_secure_function, gnutls_realloc_function,
- gnutls_free_function));
-DEF_GNUTLS_FN (int, gnutls_handshake, (gnutls_session_t));
-DEF_GNUTLS_FN (int, gnutls_init, (gnutls_session_t *, gnutls_connection_end_t));
-DEF_GNUTLS_FN (int, gnutls_priority_set_direct,
- (gnutls_session_t, const char *, const char **));
-DEF_GNUTLS_FN (size_t, gnutls_record_check_pending, (gnutls_session_t));
-DEF_GNUTLS_FN (ssize_t, gnutls_record_recv, (gnutls_session_t, void *, size_t));
-DEF_GNUTLS_FN (ssize_t, gnutls_record_send,
- (gnutls_session_t, const void *, size_t));
-DEF_GNUTLS_FN (const char *, gnutls_strerror, (int));
-DEF_GNUTLS_FN (void, gnutls_transport_set_errno, (gnutls_session_t, int));
-DEF_GNUTLS_FN (const char *, gnutls_check_version, (const char *));
-DEF_GNUTLS_FN (void, gnutls_transport_set_lowat, (gnutls_session_t, int));
-DEF_GNUTLS_FN (void, gnutls_transport_set_ptr2,
- (gnutls_session_t, gnutls_transport_ptr_t,
- gnutls_transport_ptr_t));
-DEF_GNUTLS_FN (void, gnutls_transport_set_pull_function,
- (gnutls_session_t, gnutls_pull_func));
-DEF_GNUTLS_FN (void, gnutls_transport_set_push_function,
- (gnutls_session_t, gnutls_push_func));
-DEF_GNUTLS_FN (int, gnutls_x509_crt_check_hostname,
- (gnutls_x509_crt_t, const char *));
-DEF_GNUTLS_FN (void, gnutls_x509_crt_deinit, (gnutls_x509_crt_t));
-DEF_GNUTLS_FN (int, gnutls_x509_crt_import,
- (gnutls_x509_crt_t, const gnutls_datum_t *,
- gnutls_x509_crt_fmt_t));
-DEF_GNUTLS_FN (int, gnutls_x509_crt_init, (gnutls_x509_crt_t *));
-DEF_GNUTLS_FN (int, gnutls_x509_crt_get_fingerprint,
- (gnutls_x509_crt_t,
- gnutls_digest_algorithm_t, void *, size_t *));
-DEF_GNUTLS_FN (int, gnutls_x509_crt_get_version,
- (gnutls_x509_crt_t));
-DEF_GNUTLS_FN (int, gnutls_x509_crt_get_serial,
- (gnutls_x509_crt_t, void *, size_t *));
-DEF_GNUTLS_FN (int, gnutls_x509_crt_get_issuer_dn,
- (gnutls_x509_crt_t, char *, size_t *));
-DEF_GNUTLS_FN (time_t, gnutls_x509_crt_get_activation_time,
- (gnutls_x509_crt_t));
-DEF_GNUTLS_FN (time_t, gnutls_x509_crt_get_expiration_time,
- (gnutls_x509_crt_t));
-DEF_GNUTLS_FN (int, gnutls_x509_crt_get_dn,
- (gnutls_x509_crt_t, char *, size_t *));
-DEF_GNUTLS_FN (int, gnutls_x509_crt_get_pk_algorithm,
- (gnutls_x509_crt_t, unsigned int *));
-DEF_GNUTLS_FN (const char*, gnutls_pk_algorithm_get_name,
- (gnutls_pk_algorithm_t));
-DEF_GNUTLS_FN (int, gnutls_pk_bits_to_sec_param,
- (gnutls_pk_algorithm_t, unsigned int));
-DEF_GNUTLS_FN (int, gnutls_x509_crt_get_issuer_unique_id,
- (gnutls_x509_crt_t, char *, size_t *));
-DEF_GNUTLS_FN (int, gnutls_x509_crt_get_subject_unique_id,
- (gnutls_x509_crt_t, char *, size_t *));
-DEF_GNUTLS_FN (int, gnutls_x509_crt_get_signature_algorithm,
- (gnutls_x509_crt_t));
-DEF_GNUTLS_FN (int, gnutls_x509_crt_get_signature,
- (gnutls_x509_crt_t, char *, size_t *));
-DEF_GNUTLS_FN (int, gnutls_x509_crt_get_key_id,
- (gnutls_x509_crt_t, unsigned int,
- unsigned char *, size_t *_size));
-DEF_GNUTLS_FN (const char*, gnutls_sec_param_get_name, (gnutls_sec_param_t));
-DEF_GNUTLS_FN (const char*, gnutls_sign_get_name, (gnutls_sign_algorithm_t));
-DEF_GNUTLS_FN (int, gnutls_server_name_set, (gnutls_session_t,
- gnutls_server_name_type_t,
- const void *, size_t));
-DEF_GNUTLS_FN (gnutls_kx_algorithm_t, gnutls_kx_get, (gnutls_session_t));
-DEF_GNUTLS_FN (const char*, gnutls_kx_get_name, (gnutls_kx_algorithm_t));
-DEF_GNUTLS_FN (gnutls_protocol_t, gnutls_protocol_get_version,
- (gnutls_session_t));
-DEF_GNUTLS_FN (const char*, gnutls_protocol_get_name, (gnutls_protocol_t));
-DEF_GNUTLS_FN (gnutls_cipher_algorithm_t, gnutls_cipher_get,
- (gnutls_session_t));
-DEF_GNUTLS_FN (const char*, gnutls_cipher_get_name,
- (gnutls_cipher_algorithm_t));
-DEF_GNUTLS_FN (gnutls_mac_algorithm_t, gnutls_mac_get, (gnutls_session_t));
-DEF_GNUTLS_FN (const char*, gnutls_mac_get_name, (gnutls_mac_algorithm_t));
+DEF_DLL_FN (gnutls_alert_description_t, gnutls_alert_get,
+ (gnutls_session_t));
+DEF_DLL_FN (const char *, gnutls_alert_get_name,
+ (gnutls_alert_description_t));
+DEF_DLL_FN (int, gnutls_alert_send_appropriate, (gnutls_session_t, int));
+DEF_DLL_FN (int, gnutls_anon_allocate_client_credentials,
+ (gnutls_anon_client_credentials_t *));
+DEF_DLL_FN (void, gnutls_anon_free_client_credentials,
+ (gnutls_anon_client_credentials_t));
+DEF_DLL_FN (int, gnutls_bye, (gnutls_session_t, gnutls_close_request_t));
+DEF_DLL_FN (int, gnutls_certificate_allocate_credentials,
+ (gnutls_certificate_credentials_t *));
+DEF_DLL_FN (void, gnutls_certificate_free_credentials,
+ (gnutls_certificate_credentials_t));
+DEF_DLL_FN (const gnutls_datum_t *, gnutls_certificate_get_peers,
+ (gnutls_session_t, unsigned int *));
+DEF_DLL_FN (void, gnutls_certificate_set_verify_flags,
+ (gnutls_certificate_credentials_t, unsigned int));
+DEF_DLL_FN (int, gnutls_certificate_set_x509_crl_file,
+ (gnutls_certificate_credentials_t, const char *,
+ gnutls_x509_crt_fmt_t));
+DEF_DLL_FN (int, gnutls_certificate_set_x509_key_file,
+ (gnutls_certificate_credentials_t, const char *, const char *,
+ gnutls_x509_crt_fmt_t));
+# if ((GNUTLS_VERSION_MAJOR \
+ + (GNUTLS_VERSION_MINOR > 0 || GNUTLS_VERSION_PATCH >= 20)) \
+ > 3)
+DEF_DLL_FN (int, gnutls_certificate_set_x509_system_trust,
+ (gnutls_certificate_credentials_t));
+# endif
+DEF_DLL_FN (int, gnutls_certificate_set_x509_trust_file,
+ (gnutls_certificate_credentials_t, const char *,
+ gnutls_x509_crt_fmt_t));
+DEF_DLL_FN (gnutls_certificate_type_t, gnutls_certificate_type_get,
+ (gnutls_session_t));
+DEF_DLL_FN (int, gnutls_certificate_verify_peers2,
+ (gnutls_session_t, unsigned int *));
+DEF_DLL_FN (int, gnutls_credentials_set,
+ (gnutls_session_t, gnutls_credentials_type_t, void *));
+DEF_DLL_FN (void, gnutls_deinit, (gnutls_session_t));
+DEF_DLL_FN (void, gnutls_dh_set_prime_bits,
+ (gnutls_session_t, unsigned int));
+DEF_DLL_FN (int, gnutls_dh_get_prime_bits, (gnutls_session_t));
+DEF_DLL_FN (int, gnutls_error_is_fatal, (int));
+DEF_DLL_FN (int, gnutls_global_init, (void));
+DEF_DLL_FN (void, gnutls_global_set_log_function, (gnutls_log_func));
+# ifdef HAVE_GNUTLS3
+DEF_DLL_FN (void, gnutls_global_set_audit_log_function, (gnutls_audit_log_func));
+# endif
+DEF_DLL_FN (void, gnutls_global_set_log_level, (int));
+DEF_DLL_FN (int, gnutls_handshake, (gnutls_session_t));
+DEF_DLL_FN (int, gnutls_init, (gnutls_session_t *, unsigned int));
+DEF_DLL_FN (int, gnutls_priority_set_direct,
+ (gnutls_session_t, const char *, const char **));
+DEF_DLL_FN (size_t, gnutls_record_check_pending, (gnutls_session_t));
+DEF_DLL_FN (ssize_t, gnutls_record_recv, (gnutls_session_t, void *, size_t));
+DEF_DLL_FN (ssize_t, gnutls_record_send,
+ (gnutls_session_t, const void *, size_t));
+DEF_DLL_FN (const char *, gnutls_strerror, (int));
+DEF_DLL_FN (void, gnutls_transport_set_errno, (gnutls_session_t, int));
+DEF_DLL_FN (const char *, gnutls_check_version, (const char *));
+DEF_DLL_FN (void, gnutls_transport_set_lowat, (gnutls_session_t, int));
+DEF_DLL_FN (void, gnutls_transport_set_ptr2,
+ (gnutls_session_t, gnutls_transport_ptr_t,
+ gnutls_transport_ptr_t));
+DEF_DLL_FN (void, gnutls_transport_set_pull_function,
+ (gnutls_session_t, gnutls_pull_func));
+DEF_DLL_FN (void, gnutls_transport_set_push_function,
+ (gnutls_session_t, gnutls_push_func));
+DEF_DLL_FN (int, gnutls_x509_crt_check_hostname,
+ (gnutls_x509_crt_t, const char *));
+DEF_DLL_FN (void, gnutls_x509_crt_deinit, (gnutls_x509_crt_t));
+DEF_DLL_FN (int, gnutls_x509_crt_import,
+ (gnutls_x509_crt_t, const gnutls_datum_t *,
+ gnutls_x509_crt_fmt_t));
+DEF_DLL_FN (int, gnutls_x509_crt_init, (gnutls_x509_crt_t *));
+DEF_DLL_FN (int, gnutls_x509_crt_get_fingerprint,
+ (gnutls_x509_crt_t,
+ gnutls_digest_algorithm_t, void *, size_t *));
+DEF_DLL_FN (int, gnutls_x509_crt_get_version,
+ (gnutls_x509_crt_t));
+DEF_DLL_FN (int, gnutls_x509_crt_get_serial,
+ (gnutls_x509_crt_t, void *, size_t *));
+DEF_DLL_FN (int, gnutls_x509_crt_get_issuer_dn,
+ (gnutls_x509_crt_t, char *, size_t *));
+DEF_DLL_FN (time_t, gnutls_x509_crt_get_activation_time,
+ (gnutls_x509_crt_t));
+DEF_DLL_FN (time_t, gnutls_x509_crt_get_expiration_time,
+ (gnutls_x509_crt_t));
+DEF_DLL_FN (int, gnutls_x509_crt_get_dn,
+ (gnutls_x509_crt_t, char *, size_t *));
+DEF_DLL_FN (int, gnutls_x509_crt_get_pk_algorithm,
+ (gnutls_x509_crt_t, unsigned int *));
+DEF_DLL_FN (const char*, gnutls_pk_algorithm_get_name,
+ (gnutls_pk_algorithm_t));
+DEF_DLL_FN (int, gnutls_pk_bits_to_sec_param,
+ (gnutls_pk_algorithm_t, unsigned int));
+DEF_DLL_FN (int, gnutls_x509_crt_get_issuer_unique_id,
+ (gnutls_x509_crt_t, char *, size_t *));
+DEF_DLL_FN (int, gnutls_x509_crt_get_subject_unique_id,
+ (gnutls_x509_crt_t, char *, size_t *));
+DEF_DLL_FN (int, gnutls_x509_crt_get_signature_algorithm,
+ (gnutls_x509_crt_t));
+DEF_DLL_FN (int, gnutls_x509_crt_get_signature,
+ (gnutls_x509_crt_t, char *, size_t *));
+DEF_DLL_FN (int, gnutls_x509_crt_get_key_id,
+ (gnutls_x509_crt_t, unsigned int, unsigned char *, size_t *_size));
+DEF_DLL_FN (const char*, gnutls_sec_param_get_name, (gnutls_sec_param_t));
+DEF_DLL_FN (const char*, gnutls_sign_get_name, (gnutls_sign_algorithm_t));
+DEF_DLL_FN (int, gnutls_server_name_set,
+ (gnutls_session_t, gnutls_server_name_type_t,
+ const void *, size_t));
+DEF_DLL_FN (gnutls_kx_algorithm_t, gnutls_kx_get, (gnutls_session_t));
+DEF_DLL_FN (const char*, gnutls_kx_get_name, (gnutls_kx_algorithm_t));
+DEF_DLL_FN (gnutls_protocol_t, gnutls_protocol_get_version,
+ (gnutls_session_t));
+DEF_DLL_FN (const char*, gnutls_protocol_get_name, (gnutls_protocol_t));
+DEF_DLL_FN (gnutls_cipher_algorithm_t, gnutls_cipher_get,
+ (gnutls_session_t));
+DEF_DLL_FN (const char*, gnutls_cipher_get_name,
+ (gnutls_cipher_algorithm_t));
+DEF_DLL_FN (gnutls_mac_algorithm_t, gnutls_mac_get, (gnutls_session_t));
+DEF_DLL_FN (const char*, gnutls_mac_get_name, (gnutls_mac_algorithm_t));
static bool
return 0;
}
- LOAD_GNUTLS_FN (library, gnutls_alert_get);
- LOAD_GNUTLS_FN (library, gnutls_alert_get_name);
- LOAD_GNUTLS_FN (library, gnutls_alert_send_appropriate);
- LOAD_GNUTLS_FN (library, gnutls_anon_allocate_client_credentials);
- LOAD_GNUTLS_FN (library, gnutls_anon_free_client_credentials);
- LOAD_GNUTLS_FN (library, gnutls_bye);
- LOAD_GNUTLS_FN (library, gnutls_certificate_allocate_credentials);
- LOAD_GNUTLS_FN (library, gnutls_certificate_free_credentials);
- LOAD_GNUTLS_FN (library, gnutls_certificate_get_peers);
- LOAD_GNUTLS_FN (library, gnutls_certificate_set_verify_flags);
- LOAD_GNUTLS_FN (library, gnutls_certificate_set_x509_crl_file);
- LOAD_GNUTLS_FN (library, gnutls_certificate_set_x509_key_file);
-#if GNUTLS_VERSION_MAJOR + \
- (GNUTLS_VERSION_MINOR > 0 || GNUTLS_VERSION_PATCH >= 20) > 3
- LOAD_GNUTLS_FN (library, gnutls_certificate_set_x509_system_trust);
-#endif
- LOAD_GNUTLS_FN (library, gnutls_certificate_set_x509_trust_file);
- LOAD_GNUTLS_FN (library, gnutls_certificate_type_get);
- LOAD_GNUTLS_FN (library, gnutls_certificate_verify_peers2);
- LOAD_GNUTLS_FN (library, gnutls_credentials_set);
- LOAD_GNUTLS_FN (library, gnutls_deinit);
- LOAD_GNUTLS_FN (library, gnutls_dh_set_prime_bits);
- LOAD_GNUTLS_FN (library, gnutls_dh_get_prime_bits);
- LOAD_GNUTLS_FN (library, gnutls_error_is_fatal);
- LOAD_GNUTLS_FN (library, gnutls_global_init);
- LOAD_GNUTLS_FN (library, gnutls_global_set_log_function);
-#ifdef HAVE_GNUTLS3
- LOAD_GNUTLS_FN (library, gnutls_global_set_audit_log_function);
-#endif
- LOAD_GNUTLS_FN (library, gnutls_global_set_log_level);
- LOAD_GNUTLS_FN (library, gnutls_global_set_mem_functions);
- LOAD_GNUTLS_FN (library, gnutls_handshake);
- LOAD_GNUTLS_FN (library, gnutls_init);
- LOAD_GNUTLS_FN (library, gnutls_priority_set_direct);
- LOAD_GNUTLS_FN (library, gnutls_record_check_pending);
- LOAD_GNUTLS_FN (library, gnutls_record_recv);
- LOAD_GNUTLS_FN (library, gnutls_record_send);
- LOAD_GNUTLS_FN (library, gnutls_strerror);
- LOAD_GNUTLS_FN (library, gnutls_transport_set_errno);
- LOAD_GNUTLS_FN (library, gnutls_check_version);
+ LOAD_DLL_FN (library, gnutls_alert_get);
+ LOAD_DLL_FN (library, gnutls_alert_get_name);
+ LOAD_DLL_FN (library, gnutls_alert_send_appropriate);
+ LOAD_DLL_FN (library, gnutls_anon_allocate_client_credentials);
+ LOAD_DLL_FN (library, gnutls_anon_free_client_credentials);
+ LOAD_DLL_FN (library, gnutls_bye);
+ LOAD_DLL_FN (library, gnutls_certificate_allocate_credentials);
+ LOAD_DLL_FN (library, gnutls_certificate_free_credentials);
+ LOAD_DLL_FN (library, gnutls_certificate_get_peers);
+ LOAD_DLL_FN (library, gnutls_certificate_set_verify_flags);
+ LOAD_DLL_FN (library, gnutls_certificate_set_x509_crl_file);
+ LOAD_DLL_FN (library, gnutls_certificate_set_x509_key_file);
+# if ((GNUTLS_VERSION_MAJOR \
+ + (GNUTLS_VERSION_MINOR > 0 || GNUTLS_VERSION_PATCH >= 20)) \
+ > 3)
+ LOAD_DLL_FN (library, gnutls_certificate_set_x509_system_trust);
+# endif
+ LOAD_DLL_FN (library, gnutls_certificate_set_x509_trust_file);
+ LOAD_DLL_FN (library, gnutls_certificate_type_get);
+ LOAD_DLL_FN (library, gnutls_certificate_verify_peers2);
+ LOAD_DLL_FN (library, gnutls_credentials_set);
+ LOAD_DLL_FN (library, gnutls_deinit);
+ LOAD_DLL_FN (library, gnutls_dh_set_prime_bits);
+ LOAD_DLL_FN (library, gnutls_dh_get_prime_bits);
+ LOAD_DLL_FN (library, gnutls_error_is_fatal);
+ LOAD_DLL_FN (library, gnutls_global_init);
+ LOAD_DLL_FN (library, gnutls_global_set_log_function);
+# ifdef HAVE_GNUTLS3
+ LOAD_DLL_FN (library, gnutls_global_set_audit_log_function);
+# endif
+ LOAD_DLL_FN (library, gnutls_global_set_log_level);
+ LOAD_DLL_FN (library, gnutls_handshake);
+ LOAD_DLL_FN (library, gnutls_init);
+ LOAD_DLL_FN (library, gnutls_priority_set_direct);
+ LOAD_DLL_FN (library, gnutls_record_check_pending);
+ LOAD_DLL_FN (library, gnutls_record_recv);
+ LOAD_DLL_FN (library, gnutls_record_send);
+ LOAD_DLL_FN (library, gnutls_strerror);
+ LOAD_DLL_FN (library, gnutls_transport_set_errno);
+ LOAD_DLL_FN (library, gnutls_check_version);
/* We don't need to call gnutls_transport_set_lowat in GnuTLS 2.11.1
and later, and the function was removed entirely in 3.0.0. */
if (!fn_gnutls_check_version ("2.11.1"))
- LOAD_GNUTLS_FN (library, gnutls_transport_set_lowat);
- LOAD_GNUTLS_FN (library, gnutls_transport_set_ptr2);
- LOAD_GNUTLS_FN (library, gnutls_transport_set_pull_function);
- LOAD_GNUTLS_FN (library, gnutls_transport_set_push_function);
- LOAD_GNUTLS_FN (library, gnutls_x509_crt_check_hostname);
- LOAD_GNUTLS_FN (library, gnutls_x509_crt_deinit);
- LOAD_GNUTLS_FN (library, gnutls_x509_crt_import);
- LOAD_GNUTLS_FN (library, gnutls_x509_crt_init);
- LOAD_GNUTLS_FN (library, gnutls_x509_crt_get_fingerprint);
- LOAD_GNUTLS_FN (library, gnutls_x509_crt_get_version);
- LOAD_GNUTLS_FN (library, gnutls_x509_crt_get_serial);
- LOAD_GNUTLS_FN (library, gnutls_x509_crt_get_issuer_dn);
- LOAD_GNUTLS_FN (library, gnutls_x509_crt_get_activation_time);
- LOAD_GNUTLS_FN (library, gnutls_x509_crt_get_expiration_time);
- LOAD_GNUTLS_FN (library, gnutls_x509_crt_get_dn);
- LOAD_GNUTLS_FN (library, gnutls_x509_crt_get_pk_algorithm);
- LOAD_GNUTLS_FN (library, gnutls_pk_algorithm_get_name);
- LOAD_GNUTLS_FN (library, gnutls_pk_bits_to_sec_param);
- LOAD_GNUTLS_FN (library, gnutls_x509_crt_get_issuer_unique_id);
- LOAD_GNUTLS_FN (library, gnutls_x509_crt_get_subject_unique_id);
- LOAD_GNUTLS_FN (library, gnutls_x509_crt_get_signature_algorithm);
- LOAD_GNUTLS_FN (library, gnutls_x509_crt_get_signature);
- LOAD_GNUTLS_FN (library, gnutls_x509_crt_get_key_id);
- LOAD_GNUTLS_FN (library, gnutls_sec_param_get_name);
- LOAD_GNUTLS_FN (library, gnutls_sign_get_name);
- LOAD_GNUTLS_FN (library, gnutls_server_name_set);
- LOAD_GNUTLS_FN (library, gnutls_kx_get);
- LOAD_GNUTLS_FN (library, gnutls_kx_get_name);
- LOAD_GNUTLS_FN (library, gnutls_protocol_get_version);
- LOAD_GNUTLS_FN (library, gnutls_protocol_get_name);
- LOAD_GNUTLS_FN (library, gnutls_cipher_get);
- LOAD_GNUTLS_FN (library, gnutls_cipher_get_name);
- LOAD_GNUTLS_FN (library, gnutls_mac_get);
- LOAD_GNUTLS_FN (library, gnutls_mac_get_name);
+ LOAD_DLL_FN (library, gnutls_transport_set_lowat);
+ LOAD_DLL_FN (library, gnutls_transport_set_ptr2);
+ LOAD_DLL_FN (library, gnutls_transport_set_pull_function);
+ LOAD_DLL_FN (library, gnutls_transport_set_push_function);
+ LOAD_DLL_FN (library, gnutls_x509_crt_check_hostname);
+ LOAD_DLL_FN (library, gnutls_x509_crt_deinit);
+ LOAD_DLL_FN (library, gnutls_x509_crt_import);
+ LOAD_DLL_FN (library, gnutls_x509_crt_init);
+ LOAD_DLL_FN (library, gnutls_x509_crt_get_fingerprint);
+ LOAD_DLL_FN (library, gnutls_x509_crt_get_version);
+ LOAD_DLL_FN (library, gnutls_x509_crt_get_serial);
+ LOAD_DLL_FN (library, gnutls_x509_crt_get_issuer_dn);
+ LOAD_DLL_FN (library, gnutls_x509_crt_get_activation_time);
+ LOAD_DLL_FN (library, gnutls_x509_crt_get_expiration_time);
+ LOAD_DLL_FN (library, gnutls_x509_crt_get_dn);
+ LOAD_DLL_FN (library, gnutls_x509_crt_get_pk_algorithm);
+ LOAD_DLL_FN (library, gnutls_pk_algorithm_get_name);
+ LOAD_DLL_FN (library, gnutls_pk_bits_to_sec_param);
+ LOAD_DLL_FN (library, gnutls_x509_crt_get_issuer_unique_id);
+ LOAD_DLL_FN (library, gnutls_x509_crt_get_subject_unique_id);
+ LOAD_DLL_FN (library, gnutls_x509_crt_get_signature_algorithm);
+ LOAD_DLL_FN (library, gnutls_x509_crt_get_signature);
+ LOAD_DLL_FN (library, gnutls_x509_crt_get_key_id);
+ LOAD_DLL_FN (library, gnutls_sec_param_get_name);
+ LOAD_DLL_FN (library, gnutls_sign_get_name);
+ LOAD_DLL_FN (library, gnutls_server_name_set);
+ LOAD_DLL_FN (library, gnutls_kx_get);
+ LOAD_DLL_FN (library, gnutls_kx_get_name);
+ LOAD_DLL_FN (library, gnutls_protocol_get_version);
+ LOAD_DLL_FN (library, gnutls_protocol_get_name);
+ LOAD_DLL_FN (library, gnutls_cipher_get);
+ LOAD_DLL_FN (library, gnutls_cipher_get_name);
+ LOAD_DLL_FN (library, gnutls_mac_get);
+ LOAD_DLL_FN (library, gnutls_mac_get_name);
max_log_level = global_gnutls_log_level;
return 1;
}
-#else /* !WINDOWSNT */
-
-#define fn_gnutls_alert_get gnutls_alert_get
-#define fn_gnutls_alert_get_name gnutls_alert_get_name
-#define fn_gnutls_alert_send_appropriate gnutls_alert_send_appropriate
-#define fn_gnutls_anon_allocate_client_credentials gnutls_anon_allocate_client_credentials
-#define fn_gnutls_anon_free_client_credentials gnutls_anon_free_client_credentials
-#define fn_gnutls_bye gnutls_bye
-#define fn_gnutls_certificate_allocate_credentials gnutls_certificate_allocate_credentials
-#define fn_gnutls_certificate_free_credentials gnutls_certificate_free_credentials
-#define fn_gnutls_certificate_get_peers gnutls_certificate_get_peers
-#define fn_gnutls_certificate_set_verify_flags gnutls_certificate_set_verify_flags
-#define fn_gnutls_certificate_set_x509_crl_file gnutls_certificate_set_x509_crl_file
-#define fn_gnutls_certificate_set_x509_key_file gnutls_certificate_set_x509_key_file
-#if GNUTLS_VERSION_MAJOR + \
- (GNUTLS_VERSION_MINOR > 0 || GNUTLS_VERSION_PATCH >= 20) > 3
-#define fn_gnutls_certificate_set_x509_system_trust gnutls_certificate_set_x509_system_trust
-#endif
-#define fn_gnutls_certificate_set_x509_trust_file gnutls_certificate_set_x509_trust_file
-#define fn_gnutls_certificate_type_get gnutls_certificate_type_get
-#define fn_gnutls_certificate_verify_peers2 gnutls_certificate_verify_peers2
-#define fn_gnutls_cipher_get gnutls_cipher_get
-#define fn_gnutls_cipher_get_name gnutls_cipher_get_name
-#define fn_gnutls_credentials_set gnutls_credentials_set
-#define fn_gnutls_deinit gnutls_deinit
-#define fn_gnutls_dh_get_prime_bits gnutls_dh_get_prime_bits
-#define fn_gnutls_dh_set_prime_bits gnutls_dh_set_prime_bits
-#define fn_gnutls_error_is_fatal gnutls_error_is_fatal
-#define fn_gnutls_global_init gnutls_global_init
-#ifdef HAVE_GNUTLS3
-#define fn_gnutls_global_set_audit_log_function gnutls_global_set_audit_log_function
+# define gnutls_alert_get fn_gnutls_alert_get
+# define gnutls_alert_get_name fn_gnutls_alert_get_name
+# define gnutls_alert_send_appropriate fn_gnutls_alert_send_appropriate
+# define gnutls_anon_allocate_client_credentials fn_gnutls_anon_allocate_client_credentials
+# define gnutls_anon_free_client_credentials fn_gnutls_anon_free_client_credentials
+# define gnutls_bye fn_gnutls_bye
+# define gnutls_certificate_allocate_credentials fn_gnutls_certificate_allocate_credentials
+# define gnutls_certificate_free_credentials fn_gnutls_certificate_free_credentials
+# define gnutls_certificate_get_peers fn_gnutls_certificate_get_peers
+# define gnutls_certificate_set_verify_flags fn_gnutls_certificate_set_verify_flags
+# define gnutls_certificate_set_x509_crl_file fn_gnutls_certificate_set_x509_crl_file
+# define gnutls_certificate_set_x509_key_file fn_gnutls_certificate_set_x509_key_file
+# define gnutls_certificate_set_x509_system_trust fn_gnutls_certificate_set_x509_system_trust
+# define gnutls_certificate_set_x509_trust_file fn_gnutls_certificate_set_x509_trust_file
+# define gnutls_certificate_type_get fn_gnutls_certificate_type_get
+# define gnutls_certificate_verify_peers2 fn_gnutls_certificate_verify_peers2
+# define gnutls_check_version fn_gnutls_check_version
+# define gnutls_cipher_get fn_gnutls_cipher_get
+# define gnutls_cipher_get_name fn_gnutls_cipher_get_name
+# define gnutls_credentials_set fn_gnutls_credentials_set
+# define gnutls_deinit fn_gnutls_deinit
+# define gnutls_dh_get_prime_bits fn_gnutls_dh_get_prime_bits
+# define gnutls_dh_set_prime_bits fn_gnutls_dh_set_prime_bits
+# define gnutls_error_is_fatal fn_gnutls_error_is_fatal
+# define gnutls_global_init fn_gnutls_global_init
+# define gnutls_global_set_audit_log_function fn_gnutls_global_set_audit_log_function
+# define gnutls_global_set_log_function fn_gnutls_global_set_log_function
+# define gnutls_global_set_log_level fn_gnutls_global_set_log_level
+# define gnutls_handshake fn_gnutls_handshake
+# define gnutls_init fn_gnutls_init
+# define gnutls_kx_get fn_gnutls_kx_get
+# define gnutls_kx_get_name fn_gnutls_kx_get_name
+# define gnutls_mac_get fn_gnutls_mac_get
+# define gnutls_mac_get_name fn_gnutls_mac_get_name
+# define gnutls_pk_algorithm_get_name fn_gnutls_pk_algorithm_get_name
+# define gnutls_pk_bits_to_sec_param fn_gnutls_pk_bits_to_sec_param
+# define gnutls_priority_set_direct fn_gnutls_priority_set_direct
+# define gnutls_protocol_get_name fn_gnutls_protocol_get_name
+# define gnutls_protocol_get_version fn_gnutls_protocol_get_version
+# define gnutls_record_check_pending fn_gnutls_record_check_pending
+# define gnutls_record_recv fn_gnutls_record_recv
+# define gnutls_record_send fn_gnutls_record_send
+# define gnutls_sec_param_get_name fn_gnutls_sec_param_get_name
+# define gnutls_server_name_set fn_gnutls_server_name_set
+# define gnutls_sign_get_name fn_gnutls_sign_get_name
+# define gnutls_strerror fn_gnutls_strerror
+# define gnutls_transport_set_errno fn_gnutls_transport_set_errno
+# define gnutls_transport_set_lowat fn_gnutls_transport_set_lowat
+# define gnutls_transport_set_ptr2 fn_gnutls_transport_set_ptr2
+# define gnutls_transport_set_pull_function fn_gnutls_transport_set_pull_function
+# define gnutls_transport_set_push_function fn_gnutls_transport_set_push_function
+# define gnutls_x509_crt_check_hostname fn_gnutls_x509_crt_check_hostname
+# define gnutls_x509_crt_deinit fn_gnutls_x509_crt_deinit
+# define gnutls_x509_crt_get_activation_time fn_gnutls_x509_crt_get_activation_time
+# define gnutls_x509_crt_get_dn fn_gnutls_x509_crt_get_dn
+# define gnutls_x509_crt_get_expiration_time fn_gnutls_x509_crt_get_expiration_time
+# define gnutls_x509_crt_get_fingerprint fn_gnutls_x509_crt_get_fingerprint
+# define gnutls_x509_crt_get_issuer_dn fn_gnutls_x509_crt_get_issuer_dn
+# define gnutls_x509_crt_get_issuer_unique_id fn_gnutls_x509_crt_get_issuer_unique_id
+# define gnutls_x509_crt_get_key_id fn_gnutls_x509_crt_get_key_id
+# define gnutls_x509_crt_get_pk_algorithm fn_gnutls_x509_crt_get_pk_algorithm
+# define gnutls_x509_crt_get_serial fn_gnutls_x509_crt_get_serial
+# define gnutls_x509_crt_get_signature fn_gnutls_x509_crt_get_signature
+# define gnutls_x509_crt_get_signature_algorithm fn_gnutls_x509_crt_get_signature_algorithm
+# define gnutls_x509_crt_get_subject_unique_id fn_gnutls_x509_crt_get_subject_unique_id
+# define gnutls_x509_crt_get_version fn_gnutls_x509_crt_get_version
+# define gnutls_x509_crt_import fn_gnutls_x509_crt_import
+# define gnutls_x509_crt_init fn_gnutls_x509_crt_init
+
#endif
-#define fn_gnutls_global_set_log_function gnutls_global_set_log_function
-#define fn_gnutls_global_set_log_level gnutls_global_set_log_level
-#define fn_gnutls_global_set_mem_functions gnutls_global_set_mem_functions
-#define fn_gnutls_handshake gnutls_handshake
-#define fn_gnutls_init gnutls_init
-#define fn_gnutls_kx_get gnutls_kx_get
-#define fn_gnutls_kx_get_name gnutls_kx_get_name
-#define fn_gnutls_mac_get gnutls_mac_get
-#define fn_gnutls_mac_get_name gnutls_mac_get_name
-#define fn_gnutls_pk_algorithm_get_name gnutls_pk_algorithm_get_name
-#define fn_gnutls_pk_bits_to_sec_param gnutls_pk_bits_to_sec_param
-#define fn_gnutls_priority_set_direct gnutls_priority_set_direct
-#define fn_gnutls_protocol_get_name gnutls_protocol_get_name
-#define fn_gnutls_protocol_get_version gnutls_protocol_get_version
-#define fn_gnutls_record_check_pending gnutls_record_check_pending
-#define fn_gnutls_record_recv gnutls_record_recv
-#define fn_gnutls_record_send gnutls_record_send
-#define fn_gnutls_sec_param_get_name gnutls_sec_param_get_name
-#define fn_gnutls_server_name_set gnutls_server_name_set
-#define fn_gnutls_sign_get_name gnutls_sign_get_name
-#define fn_gnutls_strerror gnutls_strerror
-#define fn_gnutls_transport_set_ptr2 gnutls_transport_set_ptr2
-#define fn_gnutls_x509_crt_check_hostname gnutls_x509_crt_check_hostname
-#define fn_gnutls_x509_crt_deinit gnutls_x509_crt_deinit
-#define fn_gnutls_x509_crt_get_activation_time gnutls_x509_crt_get_activation_time
-#define fn_gnutls_x509_crt_get_dn gnutls_x509_crt_get_dn
-#define fn_gnutls_x509_crt_get_expiration_time gnutls_x509_crt_get_expiration_time
-#define fn_gnutls_x509_crt_get_fingerprint gnutls_x509_crt_get_fingerprint
-#define fn_gnutls_x509_crt_get_issuer_dn gnutls_x509_crt_get_issuer_dn
-#define fn_gnutls_x509_crt_get_issuer_unique_id gnutls_x509_crt_get_issuer_unique_id
-#define fn_gnutls_x509_crt_get_key_id gnutls_x509_crt_get_key_id
-#define fn_gnutls_x509_crt_get_pk_algorithm gnutls_x509_crt_get_pk_algorithm
-#define fn_gnutls_x509_crt_get_serial gnutls_x509_crt_get_serial
-#define fn_gnutls_x509_crt_get_signature_algorithm gnutls_x509_crt_get_signature_algorithm
-#define fn_gnutls_x509_crt_get_subject_unique_id gnutls_x509_crt_get_subject_unique_id
-#define fn_gnutls_x509_crt_get_version gnutls_x509_crt_get_version
-#define fn_gnutls_x509_crt_import gnutls_x509_crt_import
-#define fn_gnutls_x509_crt_init gnutls_x509_crt_init
-
-#endif /* !WINDOWSNT */
\f
+/* Report memory exhaustion if ERR is an out-of-memory indication. */
+static void
+check_memory_full (int err)
+{
+ /* When GnuTLS exhausts memory, it doesn't say how much memory it
+ asked for, so tell the Emacs allocator that GnuTLS asked for no
+ bytes. This isn't accurate, but it's good enough. */
+ if (err == GNUTLS_E_MEMORY_ERROR)
+ memory_full (0);
+}
+
#ifdef HAVE_GNUTLS3
/* Log a simple audit message. */
static void
/* On W32 we cannot transfer socket handles between different runtime
libraries, so we tell GnuTLS to use our special push/pull
functions. */
- fn_gnutls_transport_set_ptr2 (state,
- (gnutls_transport_ptr_t) proc,
- (gnutls_transport_ptr_t) proc);
- fn_gnutls_transport_set_push_function (state, &emacs_gnutls_push);
- fn_gnutls_transport_set_pull_function (state, &emacs_gnutls_pull);
+ gnutls_transport_set_ptr2 (state,
+ (gnutls_transport_ptr_t) proc,
+ (gnutls_transport_ptr_t) proc);
+ gnutls_transport_set_push_function (state, &emacs_gnutls_push);
+ gnutls_transport_set_pull_function (state, &emacs_gnutls_pull);
/* For non blocking sockets or other custom made pull/push
functions the gnutls_transport_set_lowat must be called, with
zero by default in version 2.11.1, and the function
gnutls_transport_set_lowat was removed from the library in
version 2.99.0. */
- if (!fn_gnutls_check_version ("2.11.1"))
- fn_gnutls_transport_set_lowat (state, 0);
+ if (!gnutls_check_version ("2.11.1"))
+ gnutls_transport_set_lowat (state, 0);
#else
/* This is how GnuTLS takes sockets: as file descriptors passed
in. For an Emacs process socket, infd and outfd are the
same but we use this two-argument version for clarity. */
- fn_gnutls_transport_set_ptr2 (state,
- (void *) (intptr_t) proc->infd,
- (void *) (intptr_t) proc->outfd);
+ gnutls_transport_set_ptr2 (state,
+ (void *) (intptr_t) proc->infd,
+ (void *) (intptr_t) proc->outfd);
#endif
proc->gnutls_initstage = GNUTLS_STAGE_TRANSPORT_POINTERS_SET;
do
{
- ret = fn_gnutls_handshake (state);
+ ret = gnutls_handshake (state);
emacs_gnutls_handle_error (state, ret);
QUIT;
}
- while (ret < 0 && fn_gnutls_error_is_fatal (ret) == 0);
+ while (ret < 0 && gnutls_error_is_fatal (ret) == 0);
proc->gnutls_initstage = GNUTLS_STAGE_HANDSHAKE_TRIED;
}
else
{
- fn_gnutls_alert_send_appropriate (state, ret);
+ check_memory_full (gnutls_alert_send_appropriate (state, ret));
}
return ret;
}
ptrdiff_t
emacs_gnutls_record_check_pending (gnutls_session_t state)
{
- return fn_gnutls_record_check_pending (state);
+ return gnutls_record_check_pending (state);
}
#ifdef WINDOWSNT
void
emacs_gnutls_transport_set_errno (gnutls_session_t state, int err)
{
- fn_gnutls_transport_set_errno (state, err);
+ gnutls_transport_set_errno (state, err);
}
#endif
while (nbyte > 0)
{
- rtnval = fn_gnutls_record_send (state, buf, nbyte);
+ rtnval = gnutls_record_send (state, buf, nbyte);
if (rtnval < 0)
{
proc->gnutls_handshakes_tried = 0;
return 0;
}
- rtnval = fn_gnutls_record_recv (state, buf, nbyte);
+ rtnval = gnutls_record_recv (state, buf, nbyte);
if (rtnval >= 0)
return rtnval;
else if (rtnval == GNUTLS_E_UNEXPECTED_PACKET_LENGTH)
if (err >= 0)
return 1;
+ check_memory_full (err);
+
max_log_level = global_gnutls_log_level;
/* TODO: use gnutls-error-fatalp and gnutls-error-string. */
- str = fn_gnutls_strerror (err);
+ str = gnutls_strerror (err);
if (!str)
str = "unknown";
- if (fn_gnutls_error_is_fatal (err))
+ if (gnutls_error_is_fatal (err))
{
ret = 0;
GNUTLS_LOG2 (1, max_log_level, "fatal error:", str);
if (err == GNUTLS_E_WARNING_ALERT_RECEIVED
|| err == GNUTLS_E_FATAL_ALERT_RECEIVED)
{
- int alert = fn_gnutls_alert_get (session);
+ int alert = gnutls_alert_get (session);
int level = (err == GNUTLS_E_FATAL_ALERT_RECEIVED) ? 0 : 1;
- str = fn_gnutls_alert_get_name (alert);
+ str = gnutls_alert_get_name (alert);
if (!str)
str = "unknown";
return Qgnutls_e_invalid_session;
}
+ check_memory_full (err);
return make_number (err);
}
if (XPROCESS (proc)->gnutls_x509_cred)
{
GNUTLS_LOG (2, log_level, "Deallocating x509 credentials");
- fn_gnutls_certificate_free_credentials (XPROCESS (proc)->gnutls_x509_cred);
+ gnutls_certificate_free_credentials (XPROCESS (proc)->gnutls_x509_cred);
XPROCESS (proc)->gnutls_x509_cred = NULL;
}
if (XPROCESS (proc)->gnutls_anon_cred)
{
GNUTLS_LOG (2, log_level, "Deallocating anon credentials");
- fn_gnutls_anon_free_client_credentials (XPROCESS (proc)->gnutls_anon_cred);
+ gnutls_anon_free_client_credentials (XPROCESS (proc)->gnutls_anon_cred);
XPROCESS (proc)->gnutls_anon_cred = NULL;
}
if (XPROCESS (proc)->gnutls_state)
{
- fn_gnutls_deinit (XPROCESS (proc)->gnutls_state);
+ gnutls_deinit (XPROCESS (proc)->gnutls_state);
XPROCESS (proc)->gnutls_state = NULL;
if (GNUTLS_INITSTAGE (proc) >= GNUTLS_STAGE_INIT)
GNUTLS_INITSTAGE (proc) = GNUTLS_STAGE_INIT - 1;
if (! TYPE_RANGED_INTEGERP (int, err))
error ("Not an error symbol or code");
- if (0 == fn_gnutls_error_is_fatal (XINT (err)))
+ if (0 == gnutls_error_is_fatal (XINT (err)))
return Qnil;
return Qt;
if (! TYPE_RANGED_INTEGERP (int, err))
return build_string ("Not an error symbol or code");
- return build_string (fn_gnutls_strerror (XINT (err)));
+ return build_string (gnutls_strerror (XINT (err)));
}
DEFUN ("gnutls-deinit", Fgnutls_deinit, Sgnutls_deinit, 1, 1, 0,
/* Version. */
{
- int version = fn_gnutls_x509_crt_get_version (cert);
+ int version = gnutls_x509_crt_get_version (cert);
+ check_memory_full (version);
if (version >= GNUTLS_E_SUCCESS)
res = nconc2 (res, list2 (intern (":version"),
make_number (version)));
/* Serial. */
buf_size = 0;
- err = fn_gnutls_x509_crt_get_serial (cert, NULL, &buf_size);
+ err = gnutls_x509_crt_get_serial (cert, NULL, &buf_size);
+ check_memory_full (err);
if (err == GNUTLS_E_SHORT_MEMORY_BUFFER)
{
void *serial = xmalloc (buf_size);
- err = fn_gnutls_x509_crt_get_serial (cert, serial, &buf_size);
+ err = gnutls_x509_crt_get_serial (cert, serial, &buf_size);
+ check_memory_full (err);
if (err >= GNUTLS_E_SUCCESS)
res = nconc2 (res, list2 (intern (":serial-number"),
gnutls_hex_string (serial, buf_size, "")));
/* Issuer. */
buf_size = 0;
- err = fn_gnutls_x509_crt_get_issuer_dn (cert, NULL, &buf_size);
+ err = gnutls_x509_crt_get_issuer_dn (cert, NULL, &buf_size);
+ check_memory_full (err);
if (err == GNUTLS_E_SHORT_MEMORY_BUFFER)
{
char *dn = xmalloc (buf_size);
- err = fn_gnutls_x509_crt_get_issuer_dn (cert, dn, &buf_size);
+ err = gnutls_x509_crt_get_issuer_dn (cert, dn, &buf_size);
+ check_memory_full (err);
if (err >= GNUTLS_E_SUCCESS)
res = nconc2 (res, list2 (intern (":issuer"),
make_string (dn, buf_size)));
that might add 1 to the year length. */
char buf[INT_STRLEN_BOUND (int) + 1 + sizeof "-12-31"];
struct tm t;
- time_t tim = fn_gnutls_x509_crt_get_activation_time (cert);
+ time_t tim = gnutls_x509_crt_get_activation_time (cert);
if (gmtime_r (&tim, &t) && strftime (buf, sizeof buf, "%Y-%m-%d", &t))
res = nconc2 (res, list2 (intern (":valid-from"), build_string (buf)));
- tim = fn_gnutls_x509_crt_get_expiration_time (cert);
+ tim = gnutls_x509_crt_get_expiration_time (cert);
if (gmtime_r (&tim, &t) && strftime (buf, sizeof buf, "%Y-%m-%d", &t))
res = nconc2 (res, list2 (intern (":valid-to"), build_string (buf)));
}
/* Subject. */
buf_size = 0;
- err = fn_gnutls_x509_crt_get_dn (cert, NULL, &buf_size);
+ err = gnutls_x509_crt_get_dn (cert, NULL, &buf_size);
+ check_memory_full (err);
if (err == GNUTLS_E_SHORT_MEMORY_BUFFER)
{
char *dn = xmalloc (buf_size);
- err = fn_gnutls_x509_crt_get_dn (cert, dn, &buf_size);
+ err = gnutls_x509_crt_get_dn (cert, dn, &buf_size);
+ check_memory_full (err);
if (err >= GNUTLS_E_SUCCESS)
res = nconc2 (res, list2 (intern (":subject"),
make_string (dn, buf_size)));
{
unsigned int bits;
- err = fn_gnutls_x509_crt_get_pk_algorithm (cert, &bits);
+ err = gnutls_x509_crt_get_pk_algorithm (cert, &bits);
+ check_memory_full (err);
if (err >= GNUTLS_E_SUCCESS)
{
- const char *name = fn_gnutls_pk_algorithm_get_name (err);
+ const char *name = gnutls_pk_algorithm_get_name (err);
if (name)
res = nconc2 (res, list2 (intern (":public-key-algorithm"),
build_string (name)));
- name = fn_gnutls_sec_param_get_name (fn_gnutls_pk_bits_to_sec_param
- (err, bits));
+ name = gnutls_sec_param_get_name (gnutls_pk_bits_to_sec_param
+ (err, bits));
res = nconc2 (res, list2 (intern (":certificate-security-level"),
build_string (name)));
}
/* Unique IDs. */
buf_size = 0;
- err = fn_gnutls_x509_crt_get_issuer_unique_id (cert, NULL, &buf_size);
+ err = gnutls_x509_crt_get_issuer_unique_id (cert, NULL, &buf_size);
+ check_memory_full (err);
if (err == GNUTLS_E_SHORT_MEMORY_BUFFER)
{
char *buf = xmalloc (buf_size);
- err = fn_gnutls_x509_crt_get_issuer_unique_id (cert, buf, &buf_size);
+ err = gnutls_x509_crt_get_issuer_unique_id (cert, buf, &buf_size);
+ check_memory_full (err);
if (err >= GNUTLS_E_SUCCESS)
res = nconc2 (res, list2 (intern (":issuer-unique-id"),
make_string (buf, buf_size)));
}
buf_size = 0;
- err = fn_gnutls_x509_crt_get_subject_unique_id (cert, NULL, &buf_size);
+ err = gnutls_x509_crt_get_subject_unique_id (cert, NULL, &buf_size);
+ check_memory_full (err);
if (err == GNUTLS_E_SHORT_MEMORY_BUFFER)
{
char *buf = xmalloc (buf_size);
- err = fn_gnutls_x509_crt_get_subject_unique_id (cert, buf, &buf_size);
+ err = gnutls_x509_crt_get_subject_unique_id (cert, buf, &buf_size);
+ check_memory_full (err);
if (err >= GNUTLS_E_SUCCESS)
res = nconc2 (res, list2 (intern (":subject-unique-id"),
make_string (buf, buf_size)));
#endif
/* Signature. */
- err = fn_gnutls_x509_crt_get_signature_algorithm (cert);
+ err = gnutls_x509_crt_get_signature_algorithm (cert);
+ check_memory_full (err);
if (err >= GNUTLS_E_SUCCESS)
{
- const char *name = fn_gnutls_sign_get_name (err);
+ const char *name = gnutls_sign_get_name (err);
if (name)
res = nconc2 (res, list2 (intern (":signature-algorithm"),
build_string (name)));
/* Public key ID. */
buf_size = 0;
- err = fn_gnutls_x509_crt_get_key_id (cert, 0, NULL, &buf_size);
+ err = gnutls_x509_crt_get_key_id (cert, 0, NULL, &buf_size);
+ check_memory_full (err);
if (err == GNUTLS_E_SHORT_MEMORY_BUFFER)
{
void *buf = xmalloc (buf_size);
- err = fn_gnutls_x509_crt_get_key_id (cert, 0, buf, &buf_size);
+ err = gnutls_x509_crt_get_key_id (cert, 0, buf, &buf_size);
+ check_memory_full (err);
if (err >= GNUTLS_E_SUCCESS)
res = nconc2 (res, list2 (intern (":public-key-id"),
gnutls_hex_string (buf, buf_size, "sha1:")));
/* Certificate fingerprint. */
buf_size = 0;
- err = fn_gnutls_x509_crt_get_fingerprint (cert, GNUTLS_DIG_SHA1,
- NULL, &buf_size);
+ err = gnutls_x509_crt_get_fingerprint (cert, GNUTLS_DIG_SHA1,
+ NULL, &buf_size);
+ check_memory_full (err);
if (err == GNUTLS_E_SHORT_MEMORY_BUFFER)
{
void *buf = xmalloc (buf_size);
- err = fn_gnutls_x509_crt_get_fingerprint (cert, GNUTLS_DIG_SHA1,
- buf, &buf_size);
+ err = gnutls_x509_crt_get_fingerprint (cert, GNUTLS_DIG_SHA1,
+ buf, &buf_size);
+ check_memory_full (err);
if (err >= GNUTLS_E_SUCCESS)
res = nconc2 (res, list2 (intern (":certificate-id"),
gnutls_hex_string (buf, buf_size, "sha1:")));
/* Diffie-Hellman prime bits. */
{
- int bits = fn_gnutls_dh_get_prime_bits (state);
+ int bits = gnutls_dh_get_prime_bits (state);
+ check_memory_full (bits);
if (bits > 0)
result = nconc2 (result, list2 (intern (":diffie-hellman-prime-bits"),
make_number (bits)));
/* Key exchange. */
result = nconc2
(result, list2 (intern (":key-exchange"),
- build_string (fn_gnutls_kx_get_name
- (fn_gnutls_kx_get (state)))));
+ build_string (gnutls_kx_get_name
+ (gnutls_kx_get (state)))));
/* Protocol name. */
result = nconc2
(result, list2 (intern (":protocol"),
- build_string (fn_gnutls_protocol_get_name
- (fn_gnutls_protocol_get_version (state)))));
+ build_string (gnutls_protocol_get_name
+ (gnutls_protocol_get_version (state)))));
/* Cipher name. */
result = nconc2
(result, list2 (intern (":cipher"),
- build_string (fn_gnutls_cipher_get_name
- (fn_gnutls_cipher_get (state)))));
+ build_string (gnutls_cipher_get_name
+ (gnutls_cipher_get (state)))));
/* MAC name. */
result = nconc2
(result, list2 (intern (":mac"),
- build_string (fn_gnutls_mac_get_name
- (fn_gnutls_mac_get (state)))));
+ build_string (gnutls_mac_get_name
+ (gnutls_mac_get (state)))));
return result;
int ret = GNUTLS_E_SUCCESS;
if (!gnutls_global_initialized)
- {
- fn_gnutls_global_set_mem_functions (xmalloc, xmalloc, NULL,
- xrealloc, xfree);
- ret = fn_gnutls_global_init ();
- }
+ ret = gnutls_global_init ();
+
gnutls_global_initialized = 1;
return gnutls_make_error (ret);
if (TYPE_RANGED_INTEGERP (int, loglevel))
{
- fn_gnutls_global_set_log_function (gnutls_log_function);
+ gnutls_global_set_log_function (gnutls_log_function);
#ifdef HAVE_GNUTLS3
- fn_gnutls_global_set_audit_log_function (gnutls_audit_log_function);
+ gnutls_global_set_audit_log_function (gnutls_audit_log_function);
#endif
- fn_gnutls_global_set_log_level (XINT (loglevel));
+ gnutls_global_set_log_level (XINT (loglevel));
max_log_level = XINT (loglevel);
XPROCESS (proc)->gnutls_log_level = max_log_level;
}
unsigned int gnutls_verify_flags = GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT;
GNUTLS_LOG (2, max_log_level, "allocating x509 credentials");
- fn_gnutls_certificate_allocate_credentials (&x509_cred);
+ check_memory_full (gnutls_certificate_allocate_credentials (&x509_cred));
XPROCESS (proc)->gnutls_x509_cred = x509_cred;
verify_flags = Fplist_get (proplist, QCgnutls_bootprop_verify_flags);
else
GNUTLS_LOG (2, max_log_level, "ignoring invalid verify-flags");
- fn_gnutls_certificate_set_verify_flags (x509_cred, gnutls_verify_flags);
+ gnutls_certificate_set_verify_flags (x509_cred, gnutls_verify_flags);
}
else /* Qgnutls_anon: */
{
GNUTLS_LOG (2, max_log_level, "allocating anon credentials");
- fn_gnutls_anon_allocate_client_credentials (&anon_cred);
+ check_memory_full (gnutls_anon_allocate_client_credentials (&anon_cred));
XPROCESS (proc)->gnutls_anon_cred = anon_cred;
}
#if GNUTLS_VERSION_MAJOR + \
(GNUTLS_VERSION_MINOR > 0 || GNUTLS_VERSION_PATCH >= 20) > 3
- ret = fn_gnutls_certificate_set_x509_system_trust (x509_cred);
+ ret = gnutls_certificate_set_x509_system_trust (x509_cred);
if (ret < GNUTLS_E_SUCCESS)
- GNUTLS_LOG2i (4, max_log_level,
- "setting system trust failed with code ", ret);
+ {
+ check_memory_full (ret);
+ GNUTLS_LOG2i (4, max_log_level,
+ "setting system trust failed with code ", ret);
+ }
#endif
for (tail = trustfiles; CONSP (tail); tail = XCDR (tail))
name using the current ANSI codepage. */
trustfile = ansi_encode_filename (trustfile);
#endif
- ret = fn_gnutls_certificate_set_x509_trust_file
+ ret = gnutls_certificate_set_x509_trust_file
(x509_cred,
SSDATA (trustfile),
file_format);
#ifdef WINDOWSNT
crlfile = ansi_encode_filename (crlfile);
#endif
- ret = fn_gnutls_certificate_set_x509_crl_file
+ ret = gnutls_certificate_set_x509_crl_file
(x509_cred, SSDATA (crlfile), file_format);
if (ret < GNUTLS_E_SUCCESS)
keyfile = ansi_encode_filename (keyfile);
certfile = ansi_encode_filename (certfile);
#endif
- ret = fn_gnutls_certificate_set_x509_key_file
+ ret = gnutls_certificate_set_x509_key_file
(x509_cred, SSDATA (certfile), SSDATA (keyfile), file_format);
if (ret < GNUTLS_E_SUCCESS)
/* Call gnutls_init here: */
GNUTLS_LOG (1, max_log_level, "gnutls_init");
- ret = fn_gnutls_init (&state, GNUTLS_CLIENT);
+ ret = gnutls_init (&state, GNUTLS_CLIENT);
XPROCESS (proc)->gnutls_state = state;
if (ret < GNUTLS_E_SUCCESS)
return gnutls_make_error (ret);
}
GNUTLS_LOG (1, max_log_level, "setting the priority string");
- ret = fn_gnutls_priority_set_direct (state,
- priority_string_ptr,
- NULL);
+ ret = gnutls_priority_set_direct (state, priority_string_ptr, NULL);
if (ret < GNUTLS_E_SUCCESS)
return gnutls_make_error (ret);
GNUTLS_INITSTAGE (proc) = GNUTLS_STAGE_PRIORITY;
if (INTEGERP (prime_bits))
- fn_gnutls_dh_set_prime_bits (state, XUINT (prime_bits));
+ gnutls_dh_set_prime_bits (state, XUINT (prime_bits));
ret = EQ (type, Qgnutls_x509pki)
- ? fn_gnutls_credentials_set (state, GNUTLS_CRD_CERTIFICATE, x509_cred)
- : fn_gnutls_credentials_set (state, GNUTLS_CRD_ANON, anon_cred);
+ ? gnutls_credentials_set (state, GNUTLS_CRD_CERTIFICATE, x509_cred)
+ : gnutls_credentials_set (state, GNUTLS_CRD_ANON, anon_cred);
if (ret < GNUTLS_E_SUCCESS)
return gnutls_make_error (ret);
if (!gnutls_ip_address_p (c_hostname))
{
- ret = fn_gnutls_server_name_set (state, GNUTLS_NAME_DNS, c_hostname,
- strlen (c_hostname));
+ ret = gnutls_server_name_set (state, GNUTLS_NAME_DNS, c_hostname,
+ strlen (c_hostname));
if (ret < GNUTLS_E_SUCCESS)
return gnutls_make_error (ret);
}
check of the certificate's hostname with
gnutls_x509_crt_check_hostname against :hostname. */
- ret = fn_gnutls_certificate_verify_peers2 (state, &peer_verification);
+ ret = gnutls_certificate_verify_peers2 (state, &peer_verification);
if (ret < GNUTLS_E_SUCCESS)
return gnutls_make_error (ret);
/* Up to here the process is the same for X.509 certificates and
OpenPGP keys. From now on X.509 certificates are assumed. This
can be easily extended to work with openpgp keys as well. */
- if (fn_gnutls_certificate_type_get (state) == GNUTLS_CRT_X509)
+ if (gnutls_certificate_type_get (state) == GNUTLS_CRT_X509)
{
gnutls_x509_crt_t gnutls_verify_cert;
const gnutls_datum_t *gnutls_verify_cert_list;
unsigned int gnutls_verify_cert_list_size;
- ret = fn_gnutls_x509_crt_init (&gnutls_verify_cert);
+ ret = gnutls_x509_crt_init (&gnutls_verify_cert);
if (ret < GNUTLS_E_SUCCESS)
return gnutls_make_error (ret);
gnutls_verify_cert_list =
- fn_gnutls_certificate_get_peers (state, &gnutls_verify_cert_list_size);
+ gnutls_certificate_get_peers (state, &gnutls_verify_cert_list_size);
if (gnutls_verify_cert_list == NULL)
{
- fn_gnutls_x509_crt_deinit (gnutls_verify_cert);
+ gnutls_x509_crt_deinit (gnutls_verify_cert);
emacs_gnutls_deinit (proc);
error ("No x509 certificate was found\n");
}
/* We only check the first certificate in the given chain. */
- ret = fn_gnutls_x509_crt_import (gnutls_verify_cert,
+ ret = gnutls_x509_crt_import (gnutls_verify_cert,
&gnutls_verify_cert_list[0],
GNUTLS_X509_FMT_DER);
if (ret < GNUTLS_E_SUCCESS)
{
- fn_gnutls_x509_crt_deinit (gnutls_verify_cert);
+ gnutls_x509_crt_deinit (gnutls_verify_cert);
return gnutls_make_error (ret);
}
XPROCESS (proc)->gnutls_certificate = gnutls_verify_cert;
- if (!fn_gnutls_x509_crt_check_hostname (gnutls_verify_cert, c_hostname))
+ int err = gnutls_x509_crt_check_hostname (gnutls_verify_cert,
+ c_hostname);
+ check_memory_full (err);
+ if (!err)
{
XPROCESS (proc)->gnutls_extra_peer_verification |=
CERTIFICATE_NOT_MATCHING;
if (verify_error_all
|| !NILP (Fmember (QCgnutls_bootprop_hostname, verify_error)))
{
- fn_gnutls_x509_crt_deinit (gnutls_verify_cert);
+ gnutls_x509_crt_deinit (gnutls_verify_cert);
emacs_gnutls_deinit (proc);
error ("The x509 certificate does not match \"%s\"", c_hostname);
}
state = XPROCESS (proc)->gnutls_state;
- fn_gnutls_x509_crt_deinit (XPROCESS (proc)->gnutls_certificate);
+ gnutls_x509_crt_deinit (XPROCESS (proc)->gnutls_certificate);
- ret = fn_gnutls_bye (state,
- NILP (cont) ? GNUTLS_SHUT_RDWR : GNUTLS_SHUT_WR);
+ ret = gnutls_bye (state, NILP (cont) ? GNUTLS_SHUT_RDWR : GNUTLS_SHUT_WR);
return gnutls_make_error (ret);
}
DEFSYM (Qgnutls_code, "gnutls-code");
DEFSYM (Qgnutls_anon, "gnutls-anon");
DEFSYM (Qgnutls_x509pki, "gnutls-x509pki");
+
+ /* The following are for the property list of 'gnutls-boot'. */
DEFSYM (QCgnutls_bootprop_hostname, ":hostname");
DEFSYM (QCgnutls_bootprop_priority, ":priority");
DEFSYM (QCgnutls_bootprop_trustfiles, ":trustfiles");
DEFSYM (QCgnutls_bootprop_keylist, ":keylist");
DEFSYM (QCgnutls_bootprop_crlfiles, ":crlfiles");
DEFSYM (QCgnutls_bootprop_callbacks, ":callbacks");
- DEFSYM (QCgnutls_bootprop_callbacks_verify, "verify");
DEFSYM (QCgnutls_bootprop_min_prime_bits, ":min-prime-bits");
DEFSYM (QCgnutls_bootprop_loglevel, ":loglevel");
DEFSYM (QCgnutls_bootprop_verify_flags, ":verify-flags");
/* GnuTLS glue for GNU Emacs.
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Functions for creating and updating GTK widgets.
-Copyright (C) 2003-2014 Free Software Foundation, Inc.
+Copyright (C) 2003-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
if (x_gtk_file_dialog_help_text)
{
- msgbuf[0] = '\0';
+ char *z = msgbuf;
/* Gtk+ 2.10 has the file name text entry box integrated in the dialog.
Show the C-l help text only for versions < 2.10. */
if (gtk_check_version (2, 10, 0) && action != GTK_FILE_CHOOSER_ACTION_SAVE)
- strcat (msgbuf, "\nType C-l to display a file name text entry box.\n");
- strcat (msgbuf, "\nIf you don't like this file selector, use the "
+ z = stpcpy (z, "\nType C-l to display a file name text entry box.\n");
+ strcpy (z, "\nIf you don't like this file selector, use the "
"corresponding\nkey binding or customize "
"use-file-dialog to turn it off.");
/* Definitions and headers for GTK widgets.
-Copyright (C) 2003-2014 Free Software Foundation, Inc.
+Copyright (C) 2003-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Functions for image support on window system.
-Copyright (C) 1989, 1992-2014 Free Software Foundation, Inc.
+Copyright (C) 1989, 1992-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
#define x_defined_color w32_defined_color
#define DefaultDepthOfScreen(screen) (one_w32_display_info.n_cbits)
-/* Versions of libpng, libgif, and libjpeg that we were compiled with,
- or -1 if no PNG/GIF support was compiled in. This is tested by
- w32-win.el to correctly set up the alist used to search for the
- respective image libraries. */
-Lisp_Object Qlibpng_version, Qlibgif_version, Qlibjpeg_version;
-
#endif /* HAVE_NTGUI */
#ifdef HAVE_NS
#define DefaultDepthOfScreen(screen) x_display_list->n_planes
#endif /* HAVE_NS */
-
-/* The symbol `postscript' identifying images of this type. */
-
-static Lisp_Object Qpostscript;
-
static void x_disable_image (struct frame *, struct image *);
static void x_edge_detection (struct frame *, struct image *, Lisp_Object,
Lisp_Object);
static unsigned long *colors_in_color_table (int *n);
#endif
-static Lisp_Object QCmax_width, QCmax_height;
-
/* Code to deal with bitmaps. Bitmaps are referenced by their bitmap
id, which is just an int that this section returns. Bitmaps are
reference counted so they can be shared among frames.
static struct image_type *image_types;
-/* The symbol `xbm' which is used as the type symbol for XBM images. */
-
-static Lisp_Object Qxbm;
-
-/* Keywords. */
-
-Lisp_Object QCascent, QCmargin, QCrelief;
-Lisp_Object QCconversion;
-static Lisp_Object QCheuristic_mask;
-static Lisp_Object QCcolor_symbols;
-static Lisp_Object QCindex, QCmatrix, QCcolor_adjustment, QCmask, QCgeometry;
-static Lisp_Object QCcrop, QCrotation;
-
-/* Other symbols. */
-
-static Lisp_Object Qcount, Qextension_data, Qdelay;
-static Lisp_Object Qlaplace, Qemboss, Qedge_detection, Qheuristic;
-
/* Forward function prototypes. */
static struct image_type *lookup_image_type (Lisp_Object);
define_image_type (struct image_type *type)
{
struct image_type *p = NULL;
- Lisp_Object target_type = *type->type;
+ struct Lisp_Symbol *new_type = type->type;
bool type_valid = 1;
block_input ();
for (p = image_types; p; p = p->next)
- if (EQ (*p->type, target_type))
+ if (p->type == new_type)
goto done;
if (type->init)
{
#if defined HAVE_NTGUI && defined WINDOWSNT
/* If we failed to load the library before, don't try again. */
- Lisp_Object tested = Fassq (target_type, Vlibrary_cache);
+ Lisp_Object tested = Fassq (make_lisp_symbol (new_type), Vlibrary_cache);
if (CONSP (tested) && NILP (XCDR (tested)))
type_valid = 0;
else
#endif
{
type_valid = type->init ();
- CACHE_IMAGE_TYPE (target_type, type_valid ? Qt : Qnil);
+ CACHE_IMAGE_TYPE (make_lisp_symbol (new_type),
+ type_valid ? Qt : Qnil);
}
}
/* Do image transformations and compute masks, unless we
don't have the image yet. */
- if (!EQ (*img->type->type, Qpostscript))
+ if (!EQ (make_lisp_symbol (img->type->type), Qpostscript))
postprocess_image (f, img);
}
X / NS / W32 support code
***********************************************************************/
-#ifdef WINDOWSNT
-
-/* Macro for defining functions that will be loaded from image DLLs. */
-#define DEF_IMGLIB_FN(rettype,func,args) static rettype (FAR CDECL *fn_##func)args
-
-/* Macro for loading those image functions from the library. */
-#define LOAD_IMGLIB_FN(lib,func) { \
- fn_##func = (void *) GetProcAddress (lib, #func); \
- if (!fn_##func) return 0; \
- }
-
-#endif /* WINDOWSNT */
-
/* Return true if XIMG's size WIDTH x HEIGHT doesn't break the
windowing system.
WIDTH and HEIGHT must both be positive.
static struct image_type xbm_type =
{
- &Qxbm,
+ XSYMBOL_INIT (Qxbm),
xbm_image_p,
xbm_load,
x_clear_image,
#endif /* HAVE_XPM */
#if defined (HAVE_XPM) || defined (HAVE_NS)
-/* The symbol `xpm' identifying XPM-format images. */
-
-static Lisp_Object Qxpm;
/* Indices of image specification fields in xpm_format, below. */
static struct image_type xpm_type =
{
- &Qxpm,
+ XSYMBOL_INIT (Qxpm),
xpm_image_p,
xpm_load,
x_clear_image,
/* XPM library details. */
-DEF_IMGLIB_FN (void, XpmFreeAttributes, (XpmAttributes *));
-DEF_IMGLIB_FN (int, XpmCreateImageFromBuffer, (Display *, char *, xpm_XImage **,
- xpm_XImage **, XpmAttributes *));
-DEF_IMGLIB_FN (int, XpmReadFileToImage, (Display *, char *, xpm_XImage **,
- xpm_XImage **, XpmAttributes *));
-DEF_IMGLIB_FN (void, XImageFree, (xpm_XImage *));
+DEF_DLL_FN (void, XpmFreeAttributes, (XpmAttributes *));
+DEF_DLL_FN (int, XpmCreateImageFromBuffer,
+ (Display *, char *, xpm_XImage **,
+ xpm_XImage **, XpmAttributes *));
+DEF_DLL_FN (int, XpmReadFileToImage,
+ (Display *, char *, xpm_XImage **,
+ xpm_XImage **, XpmAttributes *));
+DEF_DLL_FN (void, XImageFree, (xpm_XImage *));
static bool
init_xpm_functions (void)
if (!(library = w32_delayed_load (Qxpm)))
return 0;
- LOAD_IMGLIB_FN (library, XpmFreeAttributes);
- LOAD_IMGLIB_FN (library, XpmCreateImageFromBuffer);
- LOAD_IMGLIB_FN (library, XpmReadFileToImage);
- LOAD_IMGLIB_FN (library, XImageFree);
+ LOAD_DLL_FN (library, XpmFreeAttributes);
+ LOAD_DLL_FN (library, XpmCreateImageFromBuffer);
+ LOAD_DLL_FN (library, XpmReadFileToImage);
+ LOAD_DLL_FN (library, XImageFree);
return 1;
}
-#endif /* WINDOWSNT */
+# undef XImageFree
+# undef XpmCreateImageFromBuffer
+# undef XpmFreeAttributes
+# undef XpmReadFileToImage
+
+# define XImageFree fn_XImageFree
+# define XpmCreateImageFromBuffer fn_XpmCreateImageFromBuffer
+# define XpmFreeAttributes fn_XpmFreeAttributes
+# define XpmReadFileToImage fn_XpmReadFileToImage
-#if defined HAVE_NTGUI && !defined WINDOWSNT
-/* Glue for code below */
-#define fn_XpmReadFileToImage XpmReadFileToImage
-#define fn_XpmCreateImageFromBuffer XpmCreateImageFromBuffer
-#define fn_XImageFree XImageFree
-#define fn_XpmFreeAttributes XpmFreeAttributes
-#endif /* HAVE_NTGUI && !WINDOWSNT */
+#endif /* WINDOWSNT */
/* Value is true if COLOR_SYMBOLS is a valid color symbols list
for XPM images. Such a list must consist of conses whose car and
#endif
/* XpmReadFileToPixmap is not available in the Windows port of
libxpm. But XpmReadFileToImage almost does what we want. */
- rc = fn_XpmReadFileToImage (&hdc, SDATA (file),
- &xpm_image, &xpm_mask,
- &attrs);
+ rc = XpmReadFileToImage (&hdc, SDATA (file),
+ &xpm_image, &xpm_mask,
+ &attrs);
#else
rc = XpmReadFileToImage (FRAME_X_DISPLAY (f), SSDATA (file),
&img->ximg, &img->mask_img,
#ifdef HAVE_NTGUI
/* XpmCreatePixmapFromBuffer is not available in the Windows port
of libxpm. But XpmCreateImageFromBuffer almost does what we want. */
- rc = fn_XpmCreateImageFromBuffer (&hdc, SDATA (buffer),
- &xpm_image, &xpm_mask,
- &attrs);
+ rc = XpmCreateImageFromBuffer (&hdc, SDATA (buffer),
+ &xpm_image, &xpm_mask,
+ &attrs);
#else
rc = XpmCreateImageFromBuffer (FRAME_X_DISPLAY (f), SSDATA (buffer),
&img->ximg, &img->mask_img,
img->pixmap = xpm_image->bitmap;
/* XImageFree in libXpm frees XImage struct without destroying
the bitmap, which is what we want. */
- fn_XImageFree (xpm_image);
+ XImageFree (xpm_image);
}
if (xpm_mask && xpm_mask->bitmap)
{
SelectObject (hdc, old_obj);
img->mask = xpm_mask->bitmap;
- fn_XImageFree (xpm_mask);
+ XImageFree (xpm_mask);
DeleteDC (hdc);
}
eassert (img->width > 0 && img->height > 0);
/* The call to XpmFreeAttributes below frees attrs.alloc_pixels. */
-#ifdef HAVE_NTGUI
- fn_XpmFreeAttributes (&attrs);
-#else
XpmFreeAttributes (&attrs);
-#endif /* HAVE_NTGUI */
#ifdef HAVE_X_WINDOWS
/* Maybe fill in the background field while we have ximg handy. */
static bool pbm_image_p (Lisp_Object object);
static bool pbm_load (struct frame *f, struct image *img);
-/* The symbol `pbm' identifying images of this type. */
-
-static Lisp_Object Qpbm;
-
/* Indices of image specification fields in gs_format, below. */
enum pbm_keyword_index
static struct image_type pbm_type =
{
- &Qpbm,
+ XSYMBOL_INIT (Qpbm),
pbm_image_p,
pbm_load,
x_clear_image,
static bool png_image_p (Lisp_Object object);
static bool png_load (struct frame *f, struct image *img);
-/* The symbol `png' identifying images of this type. */
-
-static Lisp_Object Qpng;
-
/* Indices of image specification fields in png_format, below. */
enum png_keyword_index
static struct image_type png_type =
{
- &Qpng,
+ XSYMBOL_INIT (Qpng),
png_image_p,
png_load,
x_clear_image,
#if defined HAVE_PNG && !defined HAVE_NS
-#ifdef WINDOWSNT
+# ifdef WINDOWSNT
/* PNG library details. */
-DEF_IMGLIB_FN (png_voidp, png_get_io_ptr, (png_structp));
-DEF_IMGLIB_FN (int, png_sig_cmp, (png_bytep, png_size_t, png_size_t));
-DEF_IMGLIB_FN (png_structp, png_create_read_struct, (png_const_charp, png_voidp,
- png_error_ptr, png_error_ptr));
-DEF_IMGLIB_FN (png_infop, png_create_info_struct, (png_structp));
-DEF_IMGLIB_FN (void, png_destroy_read_struct, (png_structpp, png_infopp, png_infopp));
-DEF_IMGLIB_FN (void, png_set_read_fn, (png_structp, png_voidp, png_rw_ptr));
-DEF_IMGLIB_FN (void, png_set_sig_bytes, (png_structp, int));
-DEF_IMGLIB_FN (void, png_read_info, (png_structp, png_infop));
-DEF_IMGLIB_FN (png_uint_32, png_get_IHDR, (png_structp, png_infop,
- png_uint_32 *, png_uint_32 *,
- int *, int *, int *, int *, int *));
-DEF_IMGLIB_FN (png_uint_32, png_get_valid, (png_structp, png_infop, png_uint_32));
-DEF_IMGLIB_FN (void, png_set_strip_16, (png_structp));
-DEF_IMGLIB_FN (void, png_set_expand, (png_structp));
-DEF_IMGLIB_FN (void, png_set_gray_to_rgb, (png_structp));
-DEF_IMGLIB_FN (void, png_set_background, (png_structp, png_color_16p,
- int, int, double));
-DEF_IMGLIB_FN (png_uint_32, png_get_bKGD, (png_structp, png_infop, png_color_16p *));
-DEF_IMGLIB_FN (void, png_read_update_info, (png_structp, png_infop));
-DEF_IMGLIB_FN (png_byte, png_get_channels, (png_structp, png_infop));
-DEF_IMGLIB_FN (png_size_t, png_get_rowbytes, (png_structp, png_infop));
-DEF_IMGLIB_FN (void, png_read_image, (png_structp, png_bytepp));
-DEF_IMGLIB_FN (void, png_read_end, (png_structp, png_infop));
-DEF_IMGLIB_FN (void, png_error, (png_structp, png_const_charp));
-
-#if (PNG_LIBPNG_VER >= 10500)
-DEF_IMGLIB_FN (void, png_longjmp, (png_structp, int)) PNG_NORETURN;
-DEF_IMGLIB_FN (jmp_buf *, png_set_longjmp_fn, (png_structp, png_longjmp_ptr, size_t));
-#endif /* libpng version >= 1.5 */
+DEF_DLL_FN (png_voidp, png_get_io_ptr, (png_structp));
+DEF_DLL_FN (int, png_sig_cmp, (png_bytep, png_size_t, png_size_t));
+DEF_DLL_FN (png_structp, png_create_read_struct,
+ (png_const_charp, png_voidp, png_error_ptr, png_error_ptr));
+DEF_DLL_FN (png_infop, png_create_info_struct, (png_structp));
+DEF_DLL_FN (void, png_destroy_read_struct,
+ (png_structpp, png_infopp, png_infopp));
+DEF_DLL_FN (void, png_set_read_fn, (png_structp, png_voidp, png_rw_ptr));
+DEF_DLL_FN (void, png_set_sig_bytes, (png_structp, int));
+DEF_DLL_FN (void, png_read_info, (png_structp, png_infop));
+DEF_DLL_FN (png_uint_32, png_get_IHDR,
+ (png_structp, png_infop, png_uint_32 *, png_uint_32 *,
+ int *, int *, int *, int *, int *));
+DEF_DLL_FN (png_uint_32, png_get_valid, (png_structp, png_infop, png_uint_32));
+DEF_DLL_FN (void, png_set_strip_16, (png_structp));
+DEF_DLL_FN (void, png_set_expand, (png_structp));
+DEF_DLL_FN (void, png_set_gray_to_rgb, (png_structp));
+DEF_DLL_FN (void, png_set_background,
+ (png_structp, png_color_16p, int, int, double));
+DEF_DLL_FN (png_uint_32, png_get_bKGD,
+ (png_structp, png_infop, png_color_16p *));
+DEF_DLL_FN (void, png_read_update_info, (png_structp, png_infop));
+DEF_DLL_FN (png_byte, png_get_channels, (png_structp, png_infop));
+DEF_DLL_FN (png_size_t, png_get_rowbytes, (png_structp, png_infop));
+DEF_DLL_FN (void, png_read_image, (png_structp, png_bytepp));
+DEF_DLL_FN (void, png_read_end, (png_structp, png_infop));
+DEF_DLL_FN (void, png_error, (png_structp, png_const_charp));
+
+# if (PNG_LIBPNG_VER >= 10500)
+DEF_DLL_FN (void, png_longjmp, (png_structp, int)) PNG_NORETURN;
+DEF_DLL_FN (jmp_buf *, png_set_longjmp_fn,
+ (png_structp, png_longjmp_ptr, size_t));
+# endif /* libpng version >= 1.5 */
static bool
init_png_functions (void)
if (!(library = w32_delayed_load (Qpng)))
return 0;
- LOAD_IMGLIB_FN (library, png_get_io_ptr);
- LOAD_IMGLIB_FN (library, png_sig_cmp);
- LOAD_IMGLIB_FN (library, png_create_read_struct);
- LOAD_IMGLIB_FN (library, png_create_info_struct);
- LOAD_IMGLIB_FN (library, png_destroy_read_struct);
- LOAD_IMGLIB_FN (library, png_set_read_fn);
- LOAD_IMGLIB_FN (library, png_set_sig_bytes);
- LOAD_IMGLIB_FN (library, png_read_info);
- LOAD_IMGLIB_FN (library, png_get_IHDR);
- LOAD_IMGLIB_FN (library, png_get_valid);
- LOAD_IMGLIB_FN (library, png_set_strip_16);
- LOAD_IMGLIB_FN (library, png_set_expand);
- LOAD_IMGLIB_FN (library, png_set_gray_to_rgb);
- LOAD_IMGLIB_FN (library, png_set_background);
- LOAD_IMGLIB_FN (library, png_get_bKGD);
- LOAD_IMGLIB_FN (library, png_read_update_info);
- LOAD_IMGLIB_FN (library, png_get_channels);
- LOAD_IMGLIB_FN (library, png_get_rowbytes);
- LOAD_IMGLIB_FN (library, png_read_image);
- LOAD_IMGLIB_FN (library, png_read_end);
- LOAD_IMGLIB_FN (library, png_error);
-
-#if (PNG_LIBPNG_VER >= 10500)
- LOAD_IMGLIB_FN (library, png_longjmp);
- LOAD_IMGLIB_FN (library, png_set_longjmp_fn);
-#endif /* libpng version >= 1.5 */
+ LOAD_DLL_FN (library, png_get_io_ptr);
+ LOAD_DLL_FN (library, png_sig_cmp);
+ LOAD_DLL_FN (library, png_create_read_struct);
+ LOAD_DLL_FN (library, png_create_info_struct);
+ LOAD_DLL_FN (library, png_destroy_read_struct);
+ LOAD_DLL_FN (library, png_set_read_fn);
+ LOAD_DLL_FN (library, png_set_sig_bytes);
+ LOAD_DLL_FN (library, png_read_info);
+ LOAD_DLL_FN (library, png_get_IHDR);
+ LOAD_DLL_FN (library, png_get_valid);
+ LOAD_DLL_FN (library, png_set_strip_16);
+ LOAD_DLL_FN (library, png_set_expand);
+ LOAD_DLL_FN (library, png_set_gray_to_rgb);
+ LOAD_DLL_FN (library, png_set_background);
+ LOAD_DLL_FN (library, png_get_bKGD);
+ LOAD_DLL_FN (library, png_read_update_info);
+ LOAD_DLL_FN (library, png_get_channels);
+ LOAD_DLL_FN (library, png_get_rowbytes);
+ LOAD_DLL_FN (library, png_read_image);
+ LOAD_DLL_FN (library, png_read_end);
+ LOAD_DLL_FN (library, png_error);
+
+# if (PNG_LIBPNG_VER >= 10500)
+ LOAD_DLL_FN (library, png_longjmp);
+ LOAD_DLL_FN (library, png_set_longjmp_fn);
+# endif /* libpng version >= 1.5 */
return 1;
}
-#else
-
-#define fn_png_get_io_ptr png_get_io_ptr
-#define fn_png_sig_cmp png_sig_cmp
-#define fn_png_create_read_struct png_create_read_struct
-#define fn_png_create_info_struct png_create_info_struct
-#define fn_png_destroy_read_struct png_destroy_read_struct
-#define fn_png_set_read_fn png_set_read_fn
-#define fn_png_set_sig_bytes png_set_sig_bytes
-#define fn_png_read_info png_read_info
-#define fn_png_get_IHDR png_get_IHDR
-#define fn_png_get_valid png_get_valid
-#define fn_png_set_strip_16 png_set_strip_16
-#define fn_png_set_expand png_set_expand
-#define fn_png_set_gray_to_rgb png_set_gray_to_rgb
-#define fn_png_set_background png_set_background
-#define fn_png_get_bKGD png_get_bKGD
-#define fn_png_read_update_info png_read_update_info
-#define fn_png_get_channels png_get_channels
-#define fn_png_get_rowbytes png_get_rowbytes
-#define fn_png_read_image png_read_image
-#define fn_png_read_end png_read_end
-#define fn_png_error png_error
-
-#if (PNG_LIBPNG_VER >= 10500)
-#define fn_png_longjmp png_longjmp
-#define fn_png_set_longjmp_fn png_set_longjmp_fn
-#endif /* libpng version >= 1.5 */
-#endif /* WINDOWSNT */
+# undef png_create_info_struct
+# undef png_create_read_struct
+# undef png_destroy_read_struct
+# undef png_error
+# undef png_get_bKGD
+# undef png_get_channels
+# undef png_get_IHDR
+# undef png_get_io_ptr
+# undef png_get_rowbytes
+# undef png_get_valid
+# undef png_longjmp
+# undef png_read_end
+# undef png_read_image
+# undef png_read_info
+# undef png_read_update_info
+# undef png_set_background
+# undef png_set_expand
+# undef png_set_gray_to_rgb
+# undef png_set_longjmp_fn
+# undef png_set_read_fn
+# undef png_set_sig_bytes
+# undef png_set_strip_16
+# undef png_sig_cmp
+
+# define png_create_info_struct fn_png_create_info_struct
+# define png_create_read_struct fn_png_create_read_struct
+# define png_destroy_read_struct fn_png_destroy_read_struct
+# define png_error fn_png_error
+# define png_get_bKGD fn_png_get_bKGD
+# define png_get_channels fn_png_get_channels
+# define png_get_IHDR fn_png_get_IHDR
+# define png_get_io_ptr fn_png_get_io_ptr
+# define png_get_rowbytes fn_png_get_rowbytes
+# define png_get_valid fn_png_get_valid
+# define png_longjmp fn_png_longjmp
+# define png_read_end fn_png_read_end
+# define png_read_image fn_png_read_image
+# define png_read_info fn_png_read_info
+# define png_read_update_info fn_png_read_update_info
+# define png_set_background fn_png_set_background
+# define png_set_expand fn_png_set_expand
+# define png_set_gray_to_rgb fn_png_set_gray_to_rgb
+# define png_set_longjmp_fn fn_png_set_longjmp_fn
+# define png_set_read_fn fn_png_set_read_fn
+# define png_set_sig_bytes fn_png_set_sig_bytes
+# define png_set_strip_16 fn_png_set_strip_16
+# define png_sig_cmp fn_png_sig_cmp
+
+# endif /* WINDOWSNT */
/* Fast implementations of setjmp and longjmp. Although setjmp and longjmp
will do, POSIX _setjmp and _longjmp (if available) are often faster.
Do not use sys_setjmp, as PNG supports only jmp_buf.
It's OK if the longjmp substitute restores the signal mask. */
-#ifdef HAVE__SETJMP
-# define FAST_SETJMP(j) _setjmp (j)
-# define FAST_LONGJMP _longjmp
-#else
-# define FAST_SETJMP(j) setjmp (j)
-# define FAST_LONGJMP longjmp
-#endif
-
-#if PNG_LIBPNG_VER < 10500
-#define PNG_LONGJMP(ptr) FAST_LONGJMP ((ptr)->jmpbuf, 1)
-#define PNG_JMPBUF(ptr) ((ptr)->jmpbuf)
-#else
+# ifdef HAVE__SETJMP
+# define FAST_SETJMP(j) _setjmp (j)
+# define FAST_LONGJMP _longjmp
+# else
+# define FAST_SETJMP(j) setjmp (j)
+# define FAST_LONGJMP longjmp
+# endif
+
+# if PNG_LIBPNG_VER < 10500
+# define PNG_LONGJMP(ptr) FAST_LONGJMP ((ptr)->jmpbuf, 1)
+# define PNG_JMPBUF(ptr) ((ptr)->jmpbuf)
+# else
/* In libpng version 1.5, the jmpbuf member is hidden. (Bug#7908) */
-#define PNG_LONGJMP(ptr) fn_png_longjmp (ptr, 1)
-#define PNG_JMPBUF(ptr) \
- (*fn_png_set_longjmp_fn (ptr, FAST_LONGJMP, sizeof (jmp_buf)))
-#endif
+# define PNG_LONGJMP(ptr) png_longjmp (ptr, 1)
+# define PNG_JMPBUF(ptr) \
+ (*png_set_longjmp_fn (ptr, FAST_LONGJMP, sizeof (jmp_buf)))
+# endif
/* Error and warning handlers installed when the PNG library
is initialized. */
static void
png_read_from_memory (png_structp png_ptr, png_bytep data, png_size_t length)
{
- struct png_memory_storage *tbr = fn_png_get_io_ptr (png_ptr);
+ struct png_memory_storage *tbr = png_get_io_ptr (png_ptr);
if (length > tbr->len - tbr->index)
- fn_png_error (png_ptr, "Read error");
+ png_error (png_ptr, "Read error");
memcpy (data, tbr->bytes + tbr->index, length);
tbr->index = tbr->index + length;
static void
png_read_from_file (png_structp png_ptr, png_bytep data, png_size_t length)
{
- FILE *fp = fn_png_get_io_ptr (png_ptr);
+ FILE *fp = png_get_io_ptr (png_ptr);
if (fread (data, 1, length, fp) < length)
- fn_png_error (png_ptr, "Read error");
+ png_error (png_ptr, "Read error");
}
/* Check PNG signature. */
if (fread (sig, 1, sizeof sig, fp) != sizeof sig
- || fn_png_sig_cmp (sig, 0, sizeof sig))
+ || png_sig_cmp (sig, 0, sizeof sig))
{
fclose (fp);
image_error ("Not a PNG file: `%s'", file, Qnil);
/* Check PNG signature. */
if (tbr.len < sizeof sig
- || fn_png_sig_cmp (tbr.bytes, 0, sizeof sig))
+ || png_sig_cmp (tbr.bytes, 0, sizeof sig))
{
image_error ("Not a PNG image: `%s'", img->spec, Qnil);
return 0;
}
/* Initialize read and info structs for PNG lib. */
- png_ptr = fn_png_create_read_struct (PNG_LIBPNG_VER_STRING,
+ png_ptr = png_create_read_struct (PNG_LIBPNG_VER_STRING,
NULL, my_png_error,
my_png_warning);
if (png_ptr)
{
- info_ptr = fn_png_create_info_struct (png_ptr);
- end_info = fn_png_create_info_struct (png_ptr);
+ info_ptr = png_create_info_struct (png_ptr);
+ end_info = png_create_info_struct (png_ptr);
}
c->png_ptr = png_ptr;
if (! (info_ptr && end_info))
{
- fn_png_destroy_read_struct (&c->png_ptr, &c->info_ptr, &c->end_info);
+ png_destroy_read_struct (&c->png_ptr, &c->info_ptr, &c->end_info);
png_ptr = 0;
}
if (! png_ptr)
{
error:
if (c->png_ptr)
- fn_png_destroy_read_struct (&c->png_ptr, &c->info_ptr, &c->end_info);
+ png_destroy_read_struct (&c->png_ptr, &c->info_ptr, &c->end_info);
xfree (c->pixels);
xfree (c->rows);
if (c->fp)
/* Read image info. */
if (!NILP (specified_data))
- fn_png_set_read_fn (png_ptr, &tbr, png_read_from_memory);
+ png_set_read_fn (png_ptr, &tbr, png_read_from_memory);
else
- fn_png_set_read_fn (png_ptr, fp, png_read_from_file);
+ png_set_read_fn (png_ptr, fp, png_read_from_file);
- fn_png_set_sig_bytes (png_ptr, sizeof sig);
- fn_png_read_info (png_ptr, info_ptr);
- fn_png_get_IHDR (png_ptr, info_ptr, &width, &height, &bit_depth, &color_type,
- &interlace_type, NULL, NULL);
+ png_set_sig_bytes (png_ptr, sizeof sig);
+ png_read_info (png_ptr, info_ptr);
+ png_get_IHDR (png_ptr, info_ptr, &width, &height, &bit_depth, &color_type,
+ &interlace_type, NULL, NULL);
if (! (width <= INT_MAX && height <= INT_MAX
&& check_image_size (f, width, height)))
/* If image contains simply transparency data, we prefer to
construct a clipping mask. */
- if (fn_png_get_valid (png_ptr, info_ptr, PNG_INFO_tRNS))
+ if (png_get_valid (png_ptr, info_ptr, PNG_INFO_tRNS))
transparent_p = 1;
else
transparent_p = 0;
/* Strip more than 8 bits per channel. */
if (bit_depth == 16)
- fn_png_set_strip_16 (png_ptr);
+ png_set_strip_16 (png_ptr);
/* Expand data to 24 bit RGB, or 8 bit grayscale, with alpha channel
if available. */
- fn_png_set_expand (png_ptr);
+ png_set_expand (png_ptr);
/* Convert grayscale images to RGB. */
if (color_type == PNG_COLOR_TYPE_GRAY
|| color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
- fn_png_set_gray_to_rgb (png_ptr);
+ png_set_gray_to_rgb (png_ptr);
/* Handle alpha channel by combining the image with a background
color. Do this only if a real alpha channel is supplied. For
bg.green = color.green >> shift;
bg.blue = color.blue >> shift;
- fn_png_set_background (png_ptr, &bg,
- PNG_BACKGROUND_GAMMA_SCREEN, 0, 1.0);
+ png_set_background (png_ptr, &bg,
+ PNG_BACKGROUND_GAMMA_SCREEN, 0, 1.0);
}
}
/* Update info structure. */
- fn_png_read_update_info (png_ptr, info_ptr);
+ png_read_update_info (png_ptr, info_ptr);
/* Get number of channels. Valid values are 1 for grayscale images
and images with a palette, 2 for grayscale images with transparency
information (alpha channel), 3 for RGB images, and 4 for RGB
images with alpha channel, i.e. RGBA. If conversions above were
sufficient we should only have 3 or 4 channels here. */
- channels = fn_png_get_channels (png_ptr, info_ptr);
+ channels = png_get_channels (png_ptr, info_ptr);
eassert (channels == 3 || channels == 4);
/* Number of bytes needed for one row of the image. */
- row_bytes = fn_png_get_rowbytes (png_ptr, info_ptr);
+ row_bytes = png_get_rowbytes (png_ptr, info_ptr);
/* Allocate memory for the image. */
if (min (PTRDIFF_MAX, SIZE_MAX) / sizeof *rows < height
rows[i] = pixels + i * row_bytes;
/* Read the entire image. */
- fn_png_read_image (png_ptr, rows);
- fn_png_read_end (png_ptr, info_ptr);
+ png_read_image (png_ptr, rows);
+ png_read_end (png_ptr, info_ptr);
if (fp)
{
fclose (fp);
overrode it. */
{
png_color_16 *bg;
- if (fn_png_get_bKGD (png_ptr, info_ptr, &bg))
+ if (png_get_bKGD (png_ptr, info_ptr, &bg))
{
img->background = lookup_rgb_color (f, bg->red, bg->green, bg->blue);
img->background_valid = 1;
}
}
-#ifdef COLOR_TABLE_SUPPORT
+# ifdef COLOR_TABLE_SUPPORT
/* Remember colors allocated for this image. */
img->colors = colors_in_color_table (&img->ncolors);
free_color_table ();
-#endif /* COLOR_TABLE_SUPPORT */
+# endif /* COLOR_TABLE_SUPPORT */
/* Clean up. */
- fn_png_destroy_read_struct (&c->png_ptr, &c->info_ptr, &c->end_info);
+ png_destroy_read_struct (&c->png_ptr, &c->info_ptr, &c->end_info);
xfree (rows);
xfree (pixels);
static bool jpeg_image_p (Lisp_Object object);
static bool jpeg_load (struct frame *f, struct image *img);
-/* The symbol `jpeg' identifying images of this type. */
-
-static Lisp_Object Qjpeg;
-
/* Indices of image specification fields in gs_format, below. */
enum jpeg_keyword_index
static struct image_type jpeg_type =
{
- &Qjpeg,
+ XSYMBOL_INIT (Qjpeg),
jpeg_image_p,
jpeg_load,
x_clear_image,
/* Work around a warning about HAVE_STDLIB_H being redefined in
jconfig.h. */
-#ifdef HAVE_STDLIB_H
-#undef HAVE_STDLIB_H
-#endif /* HAVE_STLIB_H */
+# ifdef HAVE_STDLIB_H
+# undef HAVE_STDLIB_H
+# endif
-#if defined (HAVE_NTGUI) && !defined (__WIN32__)
+# if defined (HAVE_NTGUI) && !defined (__WIN32__)
/* In older releases of the jpeg library, jpeglib.h will define boolean
differently depending on __WIN32__, so make sure it is defined. */
-#define __WIN32__ 1
-#endif
+# define __WIN32__ 1
+# endif
/* rpcndr.h (via windows.h) and jpeglib.h both define boolean types.
Some versions of jpeglib try to detect whether rpcndr.h is loaded,
different name. This name, jpeg_boolean, remains in effect through
the rest of image.c.
*/
-#if defined CYGWIN && defined HAVE_NTGUI
-#define boolean jpeg_boolean
-#endif
-#include <jpeglib.h>
-#include <jerror.h>
+# if defined CYGWIN && defined HAVE_NTGUI
+# define boolean jpeg_boolean
+# endif
+# include <jpeglib.h>
+# include <jerror.h>
-#ifdef WINDOWSNT
+# ifdef WINDOWSNT
/* JPEG library details. */
-DEF_IMGLIB_FN (void, jpeg_CreateDecompress, (j_decompress_ptr, int, size_t));
-DEF_IMGLIB_FN (boolean, jpeg_start_decompress, (j_decompress_ptr));
-DEF_IMGLIB_FN (boolean, jpeg_finish_decompress, (j_decompress_ptr));
-DEF_IMGLIB_FN (void, jpeg_destroy_decompress, (j_decompress_ptr));
-DEF_IMGLIB_FN (int, jpeg_read_header, (j_decompress_ptr, boolean));
-DEF_IMGLIB_FN (JDIMENSION, jpeg_read_scanlines, (j_decompress_ptr, JSAMPARRAY, JDIMENSION));
-DEF_IMGLIB_FN (struct jpeg_error_mgr *, jpeg_std_error, (struct jpeg_error_mgr *));
-DEF_IMGLIB_FN (boolean, jpeg_resync_to_restart, (j_decompress_ptr, int));
+DEF_DLL_FN (void, jpeg_CreateDecompress, (j_decompress_ptr, int, size_t));
+DEF_DLL_FN (boolean, jpeg_start_decompress, (j_decompress_ptr));
+DEF_DLL_FN (boolean, jpeg_finish_decompress, (j_decompress_ptr));
+DEF_DLL_FN (void, jpeg_destroy_decompress, (j_decompress_ptr));
+DEF_DLL_FN (int, jpeg_read_header, (j_decompress_ptr, boolean));
+DEF_DLL_FN (JDIMENSION, jpeg_read_scanlines,
+ (j_decompress_ptr, JSAMPARRAY, JDIMENSION));
+DEF_DLL_FN (struct jpeg_error_mgr *, jpeg_std_error,
+ (struct jpeg_error_mgr *));
+DEF_DLL_FN (boolean, jpeg_resync_to_restart, (j_decompress_ptr, int));
static bool
init_jpeg_functions (void)
if (!(library = w32_delayed_load (Qjpeg)))
return 0;
- LOAD_IMGLIB_FN (library, jpeg_finish_decompress);
- LOAD_IMGLIB_FN (library, jpeg_read_scanlines);
- LOAD_IMGLIB_FN (library, jpeg_start_decompress);
- LOAD_IMGLIB_FN (library, jpeg_read_header);
- LOAD_IMGLIB_FN (library, jpeg_CreateDecompress);
- LOAD_IMGLIB_FN (library, jpeg_destroy_decompress);
- LOAD_IMGLIB_FN (library, jpeg_std_error);
- LOAD_IMGLIB_FN (library, jpeg_resync_to_restart);
+ LOAD_DLL_FN (library, jpeg_finish_decompress);
+ LOAD_DLL_FN (library, jpeg_read_scanlines);
+ LOAD_DLL_FN (library, jpeg_start_decompress);
+ LOAD_DLL_FN (library, jpeg_read_header);
+ LOAD_DLL_FN (library, jpeg_CreateDecompress);
+ LOAD_DLL_FN (library, jpeg_destroy_decompress);
+ LOAD_DLL_FN (library, jpeg_std_error);
+ LOAD_DLL_FN (library, jpeg_resync_to_restart);
return 1;
}
+# undef jpeg_CreateDecompress
+# undef jpeg_destroy_decompress
+# undef jpeg_finish_decompress
+# undef jpeg_read_header
+# undef jpeg_read_scanlines
+# undef jpeg_resync_to_restart
+# undef jpeg_start_decompress
+# undef jpeg_std_error
+
+# define jpeg_CreateDecompress fn_jpeg_CreateDecompress
+# define jpeg_destroy_decompress fn_jpeg_destroy_decompress
+# define jpeg_finish_decompress fn_jpeg_finish_decompress
+# define jpeg_read_header fn_jpeg_read_header
+# define jpeg_read_scanlines fn_jpeg_read_scanlines
+# define jpeg_resync_to_restart fn_jpeg_resync_to_restart
+# define jpeg_start_decompress fn_jpeg_start_decompress
+# define jpeg_std_error fn_jpeg_std_error
+
/* Wrapper since we can't directly assign the function pointer
to another function pointer that was declared more completely easily. */
static boolean
jpeg_resync_to_restart_wrapper (j_decompress_ptr cinfo, int desired)
{
- return fn_jpeg_resync_to_restart (cinfo, desired);
+ return jpeg_resync_to_restart (cinfo, desired);
}
+# undef jpeg_resync_to_restart
+# define jpeg_resync_to_restart jpeg_resync_to_restart_wrapper
-#else
-
-#define fn_jpeg_CreateDecompress(a,b,c) jpeg_create_decompress (a)
-#define fn_jpeg_start_decompress jpeg_start_decompress
-#define fn_jpeg_finish_decompress jpeg_finish_decompress
-#define fn_jpeg_destroy_decompress jpeg_destroy_decompress
-#define fn_jpeg_read_header jpeg_read_header
-#define fn_jpeg_read_scanlines jpeg_read_scanlines
-#define fn_jpeg_std_error jpeg_std_error
-#define jpeg_resync_to_restart_wrapper jpeg_resync_to_restart
-
-#endif /* WINDOWSNT */
+# endif /* WINDOWSNT */
struct my_jpeg_error_mgr
{
src->init_source = our_common_init_source;
src->fill_input_buffer = our_memory_fill_input_buffer;
src->skip_input_data = our_memory_skip_input_data;
- src->resync_to_restart = jpeg_resync_to_restart_wrapper; /* Use default method. */
+ src->resync_to_restart = jpeg_resync_to_restart; /* Use default method. */
src->term_source = our_common_term_source;
src->bytes_in_buffer = len;
src->next_input_byte = data;
src->mgr.init_source = our_common_init_source;
src->mgr.fill_input_buffer = our_stdio_fill_input_buffer;
src->mgr.skip_input_data = our_stdio_skip_input_data;
- src->mgr.resync_to_restart = jpeg_resync_to_restart_wrapper; /* Use default method. */
+ src->mgr.resync_to_restart = jpeg_resync_to_restart; /* Use default. */
src->mgr.term_source = our_common_term_source;
src->mgr.bytes_in_buffer = 0;
src->mgr.next_input_byte = NULL;
/* Customize libjpeg's error handling to call my_error_exit when an
error is detected. This function will perform a longjmp. */
- mgr->cinfo.err = fn_jpeg_std_error (&mgr->pub);
+ mgr->cinfo.err = jpeg_std_error (&mgr->pub);
mgr->pub.error_exit = my_error_exit;
if (sys_setjmp (mgr->setjmp_buffer))
{
/* Close the input file and destroy the JPEG object. */
if (fp)
fclose (fp);
- fn_jpeg_destroy_decompress (&mgr->cinfo);
+ jpeg_destroy_decompress (&mgr->cinfo);
/* If we already have an XImage, free that. */
x_destroy_x_image (ximg);
/* Create the JPEG decompression object. Let it read from fp.
Read the JPEG image header. */
- fn_jpeg_CreateDecompress (&mgr->cinfo, JPEG_LIB_VERSION, sizeof *&mgr->cinfo);
+ jpeg_CreateDecompress (&mgr->cinfo, JPEG_LIB_VERSION, sizeof *&mgr->cinfo);
if (NILP (specified_data))
jpeg_file_src (&mgr->cinfo, fp);
jpeg_memory_src (&mgr->cinfo, SDATA (specified_data),
SBYTES (specified_data));
- fn_jpeg_read_header (&mgr->cinfo, 1);
+ jpeg_read_header (&mgr->cinfo, 1);
/* Customize decompression so that color quantization will be used.
Start decompression. */
mgr->cinfo.quantize_colors = 1;
- fn_jpeg_start_decompress (&mgr->cinfo);
+ jpeg_start_decompress (&mgr->cinfo);
width = img->width = mgr->cinfo.output_width;
height = img->height = mgr->cinfo.output_height;
JPOOL_IMAGE, row_stride, 1);
for (y = 0; y < height; ++y)
{
- fn_jpeg_read_scanlines (&mgr->cinfo, buffer, 1);
+ jpeg_read_scanlines (&mgr->cinfo, buffer, 1);
for (x = 0; x < mgr->cinfo.output_width; ++x)
XPutPixel (ximg, x, y, colors[buffer[0][x]]);
}
/* Clean up. */
- fn_jpeg_finish_decompress (&mgr->cinfo);
- fn_jpeg_destroy_decompress (&mgr->cinfo);
+ jpeg_finish_decompress (&mgr->cinfo);
+ jpeg_destroy_decompress (&mgr->cinfo);
if (fp)
fclose (fp);
static bool tiff_image_p (Lisp_Object object);
static bool tiff_load (struct frame *f, struct image *img);
-/* The symbol `tiff' identifying images of this type. */
-
-static Lisp_Object Qtiff;
-
/* Indices of image specification fields in tiff_format, below. */
enum tiff_keyword_index
static struct image_type tiff_type =
{
- &Qtiff,
+ XSYMBOL_INIT (Qtiff),
tiff_image_p,
tiff_load,
x_clear_image,
#ifdef HAVE_TIFF
-#include <tiffio.h>
+# include <tiffio.h>
-#ifdef WINDOWSNT
+# ifdef WINDOWSNT
/* TIFF library details. */
-DEF_IMGLIB_FN (TIFFErrorHandler, TIFFSetErrorHandler, (TIFFErrorHandler));
-DEF_IMGLIB_FN (TIFFErrorHandler, TIFFSetWarningHandler, (TIFFErrorHandler));
-DEF_IMGLIB_FN (TIFF *, TIFFOpen, (const char *, const char *));
-DEF_IMGLIB_FN (TIFF *, TIFFClientOpen, (const char *, const char *, thandle_t,
- TIFFReadWriteProc, TIFFReadWriteProc,
- TIFFSeekProc, TIFFCloseProc, TIFFSizeProc,
- TIFFMapFileProc, TIFFUnmapFileProc));
-DEF_IMGLIB_FN (int, TIFFGetField, (TIFF *, ttag_t, ...));
-DEF_IMGLIB_FN (int, TIFFReadRGBAImage, (TIFF *, uint32, uint32, uint32 *, int));
-DEF_IMGLIB_FN (void, TIFFClose, (TIFF *));
-DEF_IMGLIB_FN (int, TIFFSetDirectory, (TIFF *, tdir_t));
+DEF_DLL_FN (TIFFErrorHandler, TIFFSetErrorHandler, (TIFFErrorHandler));
+DEF_DLL_FN (TIFFErrorHandler, TIFFSetWarningHandler, (TIFFErrorHandler));
+DEF_DLL_FN (TIFF *, TIFFOpen, (const char *, const char *));
+DEF_DLL_FN (TIFF *, TIFFClientOpen,
+ (const char *, const char *, thandle_t, TIFFReadWriteProc,
+ TIFFReadWriteProc, TIFFSeekProc, TIFFCloseProc, TIFFSizeProc,
+ TIFFMapFileProc, TIFFUnmapFileProc));
+DEF_DLL_FN (int, TIFFGetField, (TIFF *, ttag_t, ...));
+DEF_DLL_FN (int, TIFFReadRGBAImage, (TIFF *, uint32, uint32, uint32 *, int));
+DEF_DLL_FN (void, TIFFClose, (TIFF *));
+DEF_DLL_FN (int, TIFFSetDirectory, (TIFF *, tdir_t));
static bool
init_tiff_functions (void)
if (!(library = w32_delayed_load (Qtiff)))
return 0;
- LOAD_IMGLIB_FN (library, TIFFSetErrorHandler);
- LOAD_IMGLIB_FN (library, TIFFSetWarningHandler);
- LOAD_IMGLIB_FN (library, TIFFOpen);
- LOAD_IMGLIB_FN (library, TIFFClientOpen);
- LOAD_IMGLIB_FN (library, TIFFGetField);
- LOAD_IMGLIB_FN (library, TIFFReadRGBAImage);
- LOAD_IMGLIB_FN (library, TIFFClose);
- LOAD_IMGLIB_FN (library, TIFFSetDirectory);
+ LOAD_DLL_FN (library, TIFFSetErrorHandler);
+ LOAD_DLL_FN (library, TIFFSetWarningHandler);
+ LOAD_DLL_FN (library, TIFFOpen);
+ LOAD_DLL_FN (library, TIFFClientOpen);
+ LOAD_DLL_FN (library, TIFFGetField);
+ LOAD_DLL_FN (library, TIFFReadRGBAImage);
+ LOAD_DLL_FN (library, TIFFClose);
+ LOAD_DLL_FN (library, TIFFSetDirectory);
return 1;
}
-#else
+# undef TIFFClientOpen
+# undef TIFFClose
+# undef TIFFGetField
+# undef TIFFOpen
+# undef TIFFReadRGBAImage
+# undef TIFFSetDirectory
+# undef TIFFSetErrorHandler
+# undef TIFFSetWarningHandler
-#define fn_TIFFSetErrorHandler TIFFSetErrorHandler
-#define fn_TIFFSetWarningHandler TIFFSetWarningHandler
-#define fn_TIFFOpen TIFFOpen
-#define fn_TIFFClientOpen TIFFClientOpen
-#define fn_TIFFGetField TIFFGetField
-#define fn_TIFFReadRGBAImage TIFFReadRGBAImage
-#define fn_TIFFClose TIFFClose
-#define fn_TIFFSetDirectory TIFFSetDirectory
-#endif /* WINDOWSNT */
+# define TIFFClientOpen fn_TIFFClientOpen
+# define TIFFClose fn_TIFFClose
+# define TIFFGetField fn_TIFFGetField
+# define TIFFOpen fn_TIFFOpen
+# define TIFFReadRGBAImage fn_TIFFReadRGBAImage
+# define TIFFSetDirectory fn_TIFFSetDirectory
+# define TIFFSetErrorHandler fn_TIFFSetErrorHandler
+# define TIFFSetWarningHandler fn_TIFFSetWarningHandler
+
+# endif /* WINDOWSNT */
/* Reading from a memory buffer for TIFF images Based on the PNG
compiler error compiling tiff_handler, see Bugzilla bug #17406
(http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17406). Declaring
this function as external works around that problem. */
-#if defined (__MINGW32__) && __GNUC__ == 3
-# define MINGW_STATIC
-#else
-# define MINGW_STATIC static
-#endif
+# if defined (__MINGW32__) && __GNUC__ == 3
+# define MINGW_STATIC
+# else
+# define MINGW_STATIC static
+# endif
MINGW_STATIC void
tiff_handler (const char *, const char *, const char *, va_list)
add_to_log (log_format, build_string (title),
make_string (buf, max (0, min (len, sizeof buf - 1))));
}
-#undef MINGW_STATIC
+# undef MINGW_STATIC
static void tiff_error_handler (const char *, const char *, va_list)
ATTRIBUTE_FORMAT_PRINTF (2, 0);
specified_file = image_spec_value (img->spec, QCfile, NULL);
specified_data = image_spec_value (img->spec, QCdata, NULL);
- fn_TIFFSetErrorHandler ((TIFFErrorHandler) tiff_error_handler);
- fn_TIFFSetWarningHandler ((TIFFErrorHandler) tiff_warning_handler);
+ TIFFSetErrorHandler ((TIFFErrorHandler) tiff_error_handler);
+ TIFFSetWarningHandler ((TIFFErrorHandler) tiff_warning_handler);
if (NILP (specified_data))
{
image_error ("Cannot find image file `%s'", specified_file, Qnil);
return 0;
}
-#ifdef WINDOWSNT
+# ifdef WINDOWSNT
file = ansi_encode_filename (file);
-#endif
+# endif
/* Try to open the image file. */
- tiff = fn_TIFFOpen (SSDATA (file), "r");
+ tiff = TIFFOpen (SSDATA (file), "r");
if (tiff == NULL)
{
image_error ("Cannot open `%s'", file, Qnil);
memsrc.len = SBYTES (specified_data);
memsrc.index = 0;
- tiff = fn_TIFFClientOpen ("memory_source", "r", (thandle_t)&memsrc,
- tiff_read_from_memory,
- tiff_write_from_memory,
- tiff_seek_in_memory,
- tiff_close_memory,
- tiff_size_of_memory,
- tiff_mmap_memory,
- tiff_unmap_memory);
+ tiff = TIFFClientOpen ("memory_source", "r", (thandle_t)&memsrc,
+ tiff_read_from_memory,
+ tiff_write_from_memory,
+ tiff_seek_in_memory,
+ tiff_close_memory,
+ tiff_size_of_memory,
+ tiff_mmap_memory,
+ tiff_unmap_memory);
if (!tiff)
{
{
EMACS_INT ino = XFASTINT (image);
if (! (TYPE_MINIMUM (tdir_t) <= ino && ino <= TYPE_MAXIMUM (tdir_t)
- && fn_TIFFSetDirectory (tiff, ino)))
+ && TIFFSetDirectory (tiff, ino)))
{
image_error ("Invalid image number `%s' in image `%s'",
image, img->spec);
- fn_TIFFClose (tiff);
+ TIFFClose (tiff);
return 0;
}
}
/* Get width and height of the image, and allocate a raster buffer
of width x height 32-bit values. */
- fn_TIFFGetField (tiff, TIFFTAG_IMAGEWIDTH, &width);
- fn_TIFFGetField (tiff, TIFFTAG_IMAGELENGTH, &height);
+ TIFFGetField (tiff, TIFFTAG_IMAGEWIDTH, &width);
+ TIFFGetField (tiff, TIFFTAG_IMAGELENGTH, &height);
if (!check_image_size (f, width, height))
{
image_error ("Invalid image size (see `max-image-size')", Qnil, Qnil);
- fn_TIFFClose (tiff);
+ TIFFClose (tiff);
return 0;
}
&& image_create_x_image_and_pixmap (f, img, width, height, 0,
&ximg, 0)))
{
- fn_TIFFClose (tiff);
+ TIFFClose (tiff);
return 0;
}
buf = xmalloc (sizeof *buf * width * height);
- rc = fn_TIFFReadRGBAImage (tiff, width, height, buf, 0);
+ rc = TIFFReadRGBAImage (tiff, width, height, buf, 0);
/* Count the number of images in the file. */
- for (count = 1; fn_TIFFSetDirectory (tiff, count); count++)
+ for (count = 1; TIFFSetDirectory (tiff, count); count++)
continue;
if (count > 1)
Fcons (make_number (count),
img->lisp_data));
- fn_TIFFClose (tiff);
+ TIFFClose (tiff);
if (!rc)
{
image_error ("Error reading TIFF image `%s'", img->spec, Qnil);
}
}
-#ifdef COLOR_TABLE_SUPPORT
+# ifdef COLOR_TABLE_SUPPORT
/* Remember the colors allocated for the image. Free the color table. */
img->colors = colors_in_color_table (&img->ncolors);
free_color_table ();
-#endif /* COLOR_TABLE_SUPPORT */
+# endif /* COLOR_TABLE_SUPPORT */
img->width = width;
img->height = height;
return 1;
}
-#else /* HAVE_TIFF */
+#elif defined HAVE_NS
-#ifdef HAVE_NS
static bool
tiff_load (struct frame *f, struct image *img)
{
image_spec_value (img->spec, QCfile, NULL),
image_spec_value (img->spec, QCdata, NULL));
}
-#endif /* HAVE_NS */
-#endif /* !HAVE_TIFF */
+#endif
\f
static bool gif_load (struct frame *f, struct image *img);
static void gif_clear_image (struct frame *f, struct image *img);
-/* The symbol `gif' identifying images of this type. */
-
-static Lisp_Object Qgif;
-
/* Indices of image specification fields in gif_format, below. */
enum gif_keyword_index
static struct image_type gif_type =
{
- &Qgif,
+ XSYMBOL_INIT (Qgif),
gif_image_p,
gif_load,
gif_clear_image,
#ifdef HAVE_GIF
-#if defined (HAVE_NTGUI)
+# ifdef HAVE_NTGUI
/* winuser.h might define DrawText to DrawTextA or DrawTextW.
Undefine before redefining to avoid a preprocessor warning. */
-#ifdef DrawText
-#undef DrawText
-#endif
+# ifdef DrawText
+# undef DrawText
+# endif
/* avoid conflict with QuickdrawText.h */
-#define DrawText gif_DrawText
-#include <gif_lib.h>
-#undef DrawText
+# define DrawText gif_DrawText
+# include <gif_lib.h>
+# undef DrawText
/* Giflib before 5.0 didn't define these macros (used only if HAVE_NTGUI). */
-#ifndef GIFLIB_MINOR
-#define GIFLIB_MINOR 0
-#endif
-#ifndef GIFLIB_RELEASE
-#define GIFLIB_RELEASE 0
-#endif
+# ifndef GIFLIB_MINOR
+# define GIFLIB_MINOR 0
+# endif
+# ifndef GIFLIB_RELEASE
+# define GIFLIB_RELEASE 0
+# endif
-#else /* HAVE_NTGUI */
+# else /* HAVE_NTGUI */
-#include <gif_lib.h>
+# include <gif_lib.h>
-#endif /* HAVE_NTGUI */
+# endif /* HAVE_NTGUI */
/* Giflib before 5.0 didn't define these macros. */
-#ifndef GIFLIB_MAJOR
-#define GIFLIB_MAJOR 4
-#endif
+# ifndef GIFLIB_MAJOR
+# define GIFLIB_MAJOR 4
+# endif
-#ifdef WINDOWSNT
+# ifdef WINDOWSNT
/* GIF library details. */
-#if 5 < GIFLIB_MAJOR + (1 <= GIFLIB_MINOR)
-DEF_IMGLIB_FN (int, DGifCloseFile, (GifFileType *, int *));
-#else
-DEF_IMGLIB_FN (int, DGifCloseFile, (GifFileType *));
-#endif
-DEF_IMGLIB_FN (int, DGifSlurp, (GifFileType *));
-#if GIFLIB_MAJOR < 5
-DEF_IMGLIB_FN (GifFileType *, DGifOpen, (void *, InputFunc));
-DEF_IMGLIB_FN (GifFileType *, DGifOpenFileName, (const char *));
-#else
-DEF_IMGLIB_FN (GifFileType *, DGifOpen, (void *, InputFunc, int *));
-DEF_IMGLIB_FN (GifFileType *, DGifOpenFileName, (const char *, int *));
-DEF_IMGLIB_FN (char *, GifErrorString, (int));
-#endif
+# if 5 < GIFLIB_MAJOR + (1 <= GIFLIB_MINOR)
+DEF_DLL_FN (int, DGifCloseFile, (GifFileType *, int *));
+# else
+DEF_DLL_FN (int, DGifCloseFile, (GifFileType *));
+# endif
+DEF_DLL_FN (int, DGifSlurp, (GifFileType *));
+# if GIFLIB_MAJOR < 5
+DEF_DLL_FN (GifFileType *, DGifOpen, (void *, InputFunc));
+DEF_DLL_FN (GifFileType *, DGifOpenFileName, (const char *));
+# else
+DEF_DLL_FN (GifFileType *, DGifOpen, (void *, InputFunc, int *));
+DEF_DLL_FN (GifFileType *, DGifOpenFileName, (const char *, int *));
+DEF_DLL_FN (char *, GifErrorString, (int));
+# endif
static bool
init_gif_functions (void)
if (!(library = w32_delayed_load (Qgif)))
return 0;
- LOAD_IMGLIB_FN (library, DGifCloseFile);
- LOAD_IMGLIB_FN (library, DGifSlurp);
- LOAD_IMGLIB_FN (library, DGifOpen);
- LOAD_IMGLIB_FN (library, DGifOpenFileName);
-#if GIFLIB_MAJOR >= 5
- LOAD_IMGLIB_FN (library, GifErrorString);
-#endif
+ LOAD_DLL_FN (library, DGifCloseFile);
+ LOAD_DLL_FN (library, DGifSlurp);
+ LOAD_DLL_FN (library, DGifOpen);
+ LOAD_DLL_FN (library, DGifOpenFileName);
+# if GIFLIB_MAJOR >= 5
+ LOAD_DLL_FN (library, GifErrorString);
+# endif
return 1;
}
-#else
+# undef DGifCloseFile
+# undef DGifOpen
+# undef DGifOpenFileName
+# undef DGifSlurp
+# undef GifErrorString
-#define fn_DGifCloseFile DGifCloseFile
-#define fn_DGifSlurp DGifSlurp
-#define fn_DGifOpen DGifOpen
-#define fn_DGifOpenFileName DGifOpenFileName
-#if 5 <= GIFLIB_MAJOR
-# define fn_GifErrorString GifErrorString
-#endif
+# define DGifCloseFile fn_DGifCloseFile
+# define DGifOpen fn_DGifOpen
+# define DGifOpenFileName fn_DGifOpenFileName
+# define DGifSlurp fn_DGifSlurp
+# define GifErrorString fn_GifErrorString
-#endif /* WINDOWSNT */
+# endif /* WINDOWSNT */
/* Reading a GIF image from memory
Based on the PNG memory stuff to a certain extent. */
int retval;
#if 5 < GIFLIB_MAJOR + (1 <= GIFLIB_MINOR)
- retval = fn_DGifCloseFile (gif, err);
+ retval = DGifCloseFile (gif, err);
#else
- retval = fn_DGifCloseFile (gif);
+ retval = DGifCloseFile (gif);
#if GIFLIB_MAJOR >= 5
if (err)
*err = gif->Error;
/* Open the GIF file. */
#if GIFLIB_MAJOR < 5
- gif = fn_DGifOpenFileName (SSDATA (file));
+ gif = DGifOpenFileName (SSDATA (file));
if (gif == NULL)
{
image_error ("Cannot open `%s'", file, Qnil);
return 0;
}
#else
- gif = fn_DGifOpenFileName (SSDATA (file), &gif_err);
+ gif = DGifOpenFileName (SSDATA (file), &gif_err);
if (gif == NULL)
{
image_error ("Cannot open `%s': %s",
- file, build_string (fn_GifErrorString (gif_err)));
+ file, build_string (GifErrorString (gif_err)));
return 0;
}
#endif
memsrc.index = 0;
#if GIFLIB_MAJOR < 5
- gif = fn_DGifOpen (&memsrc, gif_read_from_memory);
+ gif = DGifOpen (&memsrc, gif_read_from_memory);
if (!gif)
{
image_error ("Cannot open memory source `%s'", img->spec, Qnil);
return 0;
}
#else
- gif = fn_DGifOpen (&memsrc, gif_read_from_memory, &gif_err);
+ gif = DGifOpen (&memsrc, gif_read_from_memory, &gif_err);
if (!gif)
{
image_error ("Cannot open memory source `%s': %s",
- img->spec, build_string (fn_GifErrorString (gif_err)));
+ img->spec, build_string (GifErrorString (gif_err)));
return 0;
}
#endif
}
/* Read entire contents. */
- rc = fn_DGifSlurp (gif);
+ rc = DGifSlurp (gif);
if (rc == GIF_ERROR || gif->ImageCount <= 0)
{
image_error ("Error reading `%s'", img->spec, Qnil);
if (gif_close (gif, &gif_err) == GIF_ERROR)
{
#if 5 <= GIFLIB_MAJOR
- char *error_text = fn_GifErrorString (gif_err);
+ char *error_text = GifErrorString (gif_err);
if (error_text)
image_error ("Error closing `%s': %s",
*d_height = desired_height;
}
-static Lisp_Object Qimagemagick;
-
static bool imagemagick_image_p (Lisp_Object);
static bool imagemagick_load (struct frame *, struct image *);
static void imagemagick_clear_image (struct frame *, struct image *);
static struct image_type imagemagick_type =
{
- &Qimagemagick,
+ XSYMBOL_INIT (Qimagemagick),
imagemagick_image_p,
imagemagick_load,
imagemagick_clear_image,
SVG
***********************************************************************/
-#if defined (HAVE_RSVG)
+#ifdef HAVE_RSVG
/* Function prototypes. */
static bool svg_load_image (struct frame *, struct image *,
unsigned char *, ptrdiff_t, char *);
-/* The symbol `svg' identifying images of this type. */
-
-static Lisp_Object Qsvg;
-
/* Indices of image specification fields in svg_format, below. */
enum svg_keyword_index
{":background", IMAGE_STRING_OR_NIL_VALUE, 0}
};
-#if defined HAVE_NTGUI && defined WINDOWSNT
+# if defined HAVE_NTGUI && defined WINDOWSNT
static bool init_svg_functions (void);
-#else
+# else
#define init_svg_functions NULL
-#endif
+# endif
/* Structure describing the image type `svg'. Its the same type of
structure defined for all image formats, handled by emacs image
static struct image_type svg_type =
{
- &Qsvg,
+ XSYMBOL_INIT (Qsvg),
svg_image_p,
svg_load,
x_clear_image,
return fmt[SVG_FILE].count + fmt[SVG_DATA].count == 1;
}
-#include <librsvg/rsvg.h>
+# include <librsvg/rsvg.h>
-#ifdef WINDOWSNT
+# ifdef WINDOWSNT
/* SVG library functions. */
-DEF_IMGLIB_FN (RsvgHandle *, rsvg_handle_new, (void));
-DEF_IMGLIB_FN (void, rsvg_handle_get_dimensions, (RsvgHandle *, RsvgDimensionData *));
-DEF_IMGLIB_FN (gboolean, rsvg_handle_write, (RsvgHandle *, const guchar *, gsize, GError **));
-DEF_IMGLIB_FN (gboolean, rsvg_handle_close, (RsvgHandle *, GError **));
-DEF_IMGLIB_FN (GdkPixbuf *, rsvg_handle_get_pixbuf, (RsvgHandle *));
-DEF_IMGLIB_FN (void, rsvg_handle_set_base_uri, (RsvgHandle *, const char *));
-
-DEF_IMGLIB_FN (int, gdk_pixbuf_get_width, (const GdkPixbuf *));
-DEF_IMGLIB_FN (int, gdk_pixbuf_get_height, (const GdkPixbuf *));
-DEF_IMGLIB_FN (guchar *, gdk_pixbuf_get_pixels, (const GdkPixbuf *));
-DEF_IMGLIB_FN (int, gdk_pixbuf_get_rowstride, (const GdkPixbuf *));
-DEF_IMGLIB_FN (GdkColorspace, gdk_pixbuf_get_colorspace, (const GdkPixbuf *));
-DEF_IMGLIB_FN (int, gdk_pixbuf_get_n_channels, (const GdkPixbuf *));
-DEF_IMGLIB_FN (gboolean, gdk_pixbuf_get_has_alpha, (const GdkPixbuf *));
-DEF_IMGLIB_FN (int, gdk_pixbuf_get_bits_per_sample, (const GdkPixbuf *));
-
-#if ! GLIB_CHECK_VERSION (2, 36, 0)
-DEF_IMGLIB_FN (void, g_type_init, (void));
-#endif
-DEF_IMGLIB_FN (void, g_object_unref, (gpointer));
-DEF_IMGLIB_FN (void, g_error_free, (GError *));
-
-Lisp_Object Qgdk_pixbuf, Qglib, Qgobject;
+DEF_DLL_FN (RsvgHandle *, rsvg_handle_new, (void));
+DEF_DLL_FN (void, rsvg_handle_get_dimensions,
+ (RsvgHandle *, RsvgDimensionData *));
+DEF_DLL_FN (gboolean, rsvg_handle_write,
+ (RsvgHandle *, const guchar *, gsize, GError **));
+DEF_DLL_FN (gboolean, rsvg_handle_close, (RsvgHandle *, GError **));
+DEF_DLL_FN (GdkPixbuf *, rsvg_handle_get_pixbuf, (RsvgHandle *));
+DEF_DLL_FN (void, rsvg_handle_set_base_uri, (RsvgHandle *, const char *));
+
+DEF_DLL_FN (int, gdk_pixbuf_get_width, (const GdkPixbuf *));
+DEF_DLL_FN (int, gdk_pixbuf_get_height, (const GdkPixbuf *));
+DEF_DLL_FN (guchar *, gdk_pixbuf_get_pixels, (const GdkPixbuf *));
+DEF_DLL_FN (int, gdk_pixbuf_get_rowstride, (const GdkPixbuf *));
+DEF_DLL_FN (GdkColorspace, gdk_pixbuf_get_colorspace, (const GdkPixbuf *));
+DEF_DLL_FN (int, gdk_pixbuf_get_n_channels, (const GdkPixbuf *));
+DEF_DLL_FN (gboolean, gdk_pixbuf_get_has_alpha, (const GdkPixbuf *));
+DEF_DLL_FN (int, gdk_pixbuf_get_bits_per_sample, (const GdkPixbuf *));
+
+# if ! GLIB_CHECK_VERSION (2, 36, 0)
+DEF_DLL_FN (void, g_type_init, (void));
+# endif
+DEF_DLL_FN (void, g_object_unref, (gpointer));
+DEF_DLL_FN (void, g_error_free, (GError *));
static bool
init_svg_functions (void)
return 0;
}
- LOAD_IMGLIB_FN (library, rsvg_handle_new);
- LOAD_IMGLIB_FN (library, rsvg_handle_get_dimensions);
- LOAD_IMGLIB_FN (library, rsvg_handle_write);
- LOAD_IMGLIB_FN (library, rsvg_handle_close);
- LOAD_IMGLIB_FN (library, rsvg_handle_get_pixbuf);
- LOAD_IMGLIB_FN (library, rsvg_handle_set_base_uri);
-
- LOAD_IMGLIB_FN (gdklib, gdk_pixbuf_get_width);
- LOAD_IMGLIB_FN (gdklib, gdk_pixbuf_get_height);
- LOAD_IMGLIB_FN (gdklib, gdk_pixbuf_get_pixels);
- LOAD_IMGLIB_FN (gdklib, gdk_pixbuf_get_rowstride);
- LOAD_IMGLIB_FN (gdklib, gdk_pixbuf_get_colorspace);
- LOAD_IMGLIB_FN (gdklib, gdk_pixbuf_get_n_channels);
- LOAD_IMGLIB_FN (gdklib, gdk_pixbuf_get_has_alpha);
- LOAD_IMGLIB_FN (gdklib, gdk_pixbuf_get_bits_per_sample);
-
-#if ! GLIB_CHECK_VERSION (2, 36, 0)
- LOAD_IMGLIB_FN (gobject, g_type_init);
-#endif
- LOAD_IMGLIB_FN (gobject, g_object_unref);
- LOAD_IMGLIB_FN (glib, g_error_free);
+ LOAD_DLL_FN (library, rsvg_handle_new);
+ LOAD_DLL_FN (library, rsvg_handle_get_dimensions);
+ LOAD_DLL_FN (library, rsvg_handle_write);
+ LOAD_DLL_FN (library, rsvg_handle_close);
+ LOAD_DLL_FN (library, rsvg_handle_get_pixbuf);
+ LOAD_DLL_FN (library, rsvg_handle_set_base_uri);
+
+ LOAD_DLL_FN (gdklib, gdk_pixbuf_get_width);
+ LOAD_DLL_FN (gdklib, gdk_pixbuf_get_height);
+ LOAD_DLL_FN (gdklib, gdk_pixbuf_get_pixels);
+ LOAD_DLL_FN (gdklib, gdk_pixbuf_get_rowstride);
+ LOAD_DLL_FN (gdklib, gdk_pixbuf_get_colorspace);
+ LOAD_DLL_FN (gdklib, gdk_pixbuf_get_n_channels);
+ LOAD_DLL_FN (gdklib, gdk_pixbuf_get_has_alpha);
+ LOAD_DLL_FN (gdklib, gdk_pixbuf_get_bits_per_sample);
+
+# if ! GLIB_CHECK_VERSION (2, 36, 0)
+ LOAD_DLL_FN (gobject, g_type_init);
+# endif
+ LOAD_DLL_FN (gobject, g_object_unref);
+ LOAD_DLL_FN (glib, g_error_free);
return 1;
}
-#else
/* The following aliases for library functions allow dynamic loading
to be used on some platforms. */
-#define fn_rsvg_handle_new rsvg_handle_new
-#define fn_rsvg_handle_get_dimensions rsvg_handle_get_dimensions
-#define fn_rsvg_handle_write rsvg_handle_write
-#define fn_rsvg_handle_close rsvg_handle_close
-#define fn_rsvg_handle_get_pixbuf rsvg_handle_get_pixbuf
-#define fn_rsvg_handle_set_base_uri rsvg_handle_set_base_uri
-
-#define fn_gdk_pixbuf_get_width gdk_pixbuf_get_width
-#define fn_gdk_pixbuf_get_height gdk_pixbuf_get_height
-#define fn_gdk_pixbuf_get_pixels gdk_pixbuf_get_pixels
-#define fn_gdk_pixbuf_get_rowstride gdk_pixbuf_get_rowstride
-#define fn_gdk_pixbuf_get_colorspace gdk_pixbuf_get_colorspace
-#define fn_gdk_pixbuf_get_n_channels gdk_pixbuf_get_n_channels
-#define fn_gdk_pixbuf_get_has_alpha gdk_pixbuf_get_has_alpha
-#define fn_gdk_pixbuf_get_bits_per_sample gdk_pixbuf_get_bits_per_sample
-#if ! GLIB_CHECK_VERSION (2, 36, 0)
-#define fn_g_type_init g_type_init
-#endif
-#define fn_g_object_unref g_object_unref
-#define fn_g_error_free g_error_free
-#endif /* !WINDOWSNT */
+# undef gdk_pixbuf_get_bits_per_sample
+# undef gdk_pixbuf_get_colorspace
+# undef gdk_pixbuf_get_has_alpha
+# undef gdk_pixbuf_get_height
+# undef gdk_pixbuf_get_n_channels
+# undef gdk_pixbuf_get_pixels
+# undef gdk_pixbuf_get_rowstride
+# undef gdk_pixbuf_get_width
+# undef g_error_free
+# undef g_object_unref
+# undef g_type_init
+# undef rsvg_handle_close
+# undef rsvg_handle_get_dimensions
+# undef rsvg_handle_get_pixbuf
+# undef rsvg_handle_new
+# undef rsvg_handle_set_base_uri
+# undef rsvg_handle_write
+
+# define gdk_pixbuf_get_bits_per_sample fn_gdk_pixbuf_get_bits_per_sample
+# define gdk_pixbuf_get_colorspace fn_gdk_pixbuf_get_colorspace
+# define gdk_pixbuf_get_has_alpha fn_gdk_pixbuf_get_has_alpha
+# define gdk_pixbuf_get_height fn_gdk_pixbuf_get_height
+# define gdk_pixbuf_get_n_channels fn_gdk_pixbuf_get_n_channels
+# define gdk_pixbuf_get_pixels fn_gdk_pixbuf_get_pixels
+# define gdk_pixbuf_get_rowstride fn_gdk_pixbuf_get_rowstride
+# define gdk_pixbuf_get_width fn_gdk_pixbuf_get_width
+# define g_error_free fn_g_error_free
+# define g_object_unref fn_g_object_unref
+# define g_type_init fn_g_type_init
+# define rsvg_handle_close fn_rsvg_handle_close
+# define rsvg_handle_get_dimensions fn_rsvg_handle_get_dimensions
+# define rsvg_handle_get_pixbuf fn_rsvg_handle_get_pixbuf
+# define rsvg_handle_new fn_rsvg_handle_new
+# define rsvg_handle_set_base_uri fn_rsvg_handle_set_base_uri
+# define rsvg_handle_write fn_rsvg_handle_write
+
+# endif /* !WINDOWSNT */
/* Load SVG image IMG for use on frame F. Value is true if
successful. */
#if ! GLIB_CHECK_VERSION (2, 36, 0)
/* g_type_init is a glib function that must be called prior to
using gnome type library functions (obsolete since 2.36.0). */
- fn_g_type_init ();
+ g_type_init ();
#endif
/* Make a handle to a new rsvg object. */
- rsvg_handle = fn_rsvg_handle_new ();
+ rsvg_handle = rsvg_handle_new ();
/* Set base_uri for properly handling referenced images (via 'href').
See rsvg bug 596114 - "image refs are relative to curdir, not .svg file"
(https://bugzilla.gnome.org/show_bug.cgi?id=596114). */
if (filename)
- fn_rsvg_handle_set_base_uri(rsvg_handle, filename);
+ rsvg_handle_set_base_uri(rsvg_handle, filename);
/* Parse the contents argument and fill in the rsvg_handle. */
- fn_rsvg_handle_write (rsvg_handle, contents, size, &err);
+ rsvg_handle_write (rsvg_handle, contents, size, &err);
if (err) goto rsvg_error;
/* The parsing is complete, rsvg_handle is ready to used, close it
for further writes. */
- fn_rsvg_handle_close (rsvg_handle, &err);
+ rsvg_handle_close (rsvg_handle, &err);
if (err) goto rsvg_error;
- fn_rsvg_handle_get_dimensions (rsvg_handle, &dimension_data);
+ rsvg_handle_get_dimensions (rsvg_handle, &dimension_data);
if (! check_image_size (f, dimension_data.width, dimension_data.height))
{
image_error ("Invalid image size (see `max-image-size')", Qnil, Qnil);
/* We can now get a valid pixel buffer from the svg file, if all
went ok. */
- pixbuf = fn_rsvg_handle_get_pixbuf (rsvg_handle);
+ pixbuf = rsvg_handle_get_pixbuf (rsvg_handle);
if (!pixbuf) goto rsvg_error;
- fn_g_object_unref (rsvg_handle);
+ g_object_unref (rsvg_handle);
/* Extract some meta data from the svg handle. */
- width = fn_gdk_pixbuf_get_width (pixbuf);
- height = fn_gdk_pixbuf_get_height (pixbuf);
- pixels = fn_gdk_pixbuf_get_pixels (pixbuf);
- rowstride = fn_gdk_pixbuf_get_rowstride (pixbuf);
+ width = gdk_pixbuf_get_width (pixbuf);
+ height = gdk_pixbuf_get_height (pixbuf);
+ pixels = gdk_pixbuf_get_pixels (pixbuf);
+ rowstride = gdk_pixbuf_get_rowstride (pixbuf);
/* Validate the svg meta data. */
- eassert (fn_gdk_pixbuf_get_colorspace (pixbuf) == GDK_COLORSPACE_RGB);
- eassert (fn_gdk_pixbuf_get_n_channels (pixbuf) == 4);
- eassert (fn_gdk_pixbuf_get_has_alpha (pixbuf));
- eassert (fn_gdk_pixbuf_get_bits_per_sample (pixbuf) == 8);
+ eassert (gdk_pixbuf_get_colorspace (pixbuf) == GDK_COLORSPACE_RGB);
+ eassert (gdk_pixbuf_get_n_channels (pixbuf) == 4);
+ eassert (gdk_pixbuf_get_has_alpha (pixbuf));
+ eassert (gdk_pixbuf_get_bits_per_sample (pixbuf) == 8);
/* Try to create a x pixmap to hold the svg pixmap. */
if (!image_create_x_image_and_pixmap (f, img, width, height, 0, &ximg, 0))
{
- fn_g_object_unref (pixbuf);
+ g_object_unref (pixbuf);
return 0;
}
free_color_table ();
#endif /* COLOR_TABLE_SUPPORT */
- fn_g_object_unref (pixbuf);
+ g_object_unref (pixbuf);
img->width = width;
img->height = height;
return 1;
rsvg_error:
- fn_g_object_unref (rsvg_handle);
+ g_object_unref (rsvg_handle);
/* FIXME: Use error->message so the user knows what is the actual
problem with the image. */
image_error ("Error parsing SVG image `%s'", img->spec, Qnil);
- fn_g_error_free (err);
+ g_error_free (err);
return 0;
}
static bool gs_load (struct frame *f, struct image *img);
static void gs_clear_image (struct frame *f, struct image *img);
-/* Keyword symbols. */
-
-static Lisp_Object QCloader, QCbounding_box, QCpt_width, QCpt_height;
-
/* Indices of image specification fields in gs_format, below. */
enum gs_keyword_index
static struct image_type gs_type =
{
- &Qpostscript,
+ XSYMBOL_INIT (Qpostscript),
gs_image_p,
gs_load,
gs_clear_image,
non-numeric, there is no explicit limit on the size of images. */);
Vmax_image_size = make_float (MAX_IMAGE_SIZE);
+ /* Other symbols. */
DEFSYM (Qcount, "count");
DEFSYM (Qextension_data, "extension-data");
DEFSYM (Qdelay, "delay");
+ /* Keywords. */
DEFSYM (QCascent, ":ascent");
DEFSYM (QCmargin, ":margin");
DEFSYM (QCrelief, ":relief");
DEFSYM (QCcolor_adjustment, ":color-adjustment");
DEFSYM (QCmask, ":mask");
+ /* Other symbols. */
DEFSYM (Qlaplace, "laplace");
DEFSYM (Qemboss, "emboss");
DEFSYM (Qedge_detection, "edge-detection");
#endif /* HAVE_GHOSTSCRIPT */
#ifdef HAVE_NTGUI
+ /* Versions of libpng, libgif, and libjpeg that we were compiled with,
+ or -1 if no PNG/GIF support was compiled in. This is tested by
+ w32-win.el to correctly set up the alist used to search for the
+ respective image libraries. */
DEFSYM (Qlibpng_version, "libpng-version");
Fset (Qlibpng_version,
#if HAVE_PNG
/* Indentation functions.
- Copyright (C) 1985-1988, 1993-1995, 1998, 2000-2014 Free Software
+ Copyright (C) 1985-1988, 1993-1995, 1998, 2000-2015 Free Software
Foundation, Inc.
This file is part of GNU Emacs.
/* Definitions for interface to indent.c
- Copyright (C) 1985-1986, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1985-1986, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Inotify support for Emacs
-Copyright (C) 2012-2014 Free Software Foundation, Inc.
+Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
#include "frame.h" /* Required for termhooks.h. */
#include "termhooks.h"
-static Lisp_Object Qaccess; /* IN_ACCESS */
-static Lisp_Object Qattrib; /* IN_ATTRIB */
-static Lisp_Object Qclose_write; /* IN_CLOSE_WRITE */
-static Lisp_Object Qclose_nowrite; /* IN_CLOSE_NOWRITE */
-static Lisp_Object Qcreate; /* IN_CREATE */
-static Lisp_Object Qdelete; /* IN_DELETE */
-static Lisp_Object Qdelete_self; /* IN_DELETE_SELF */
-static Lisp_Object Qmodify; /* IN_MODIFY */
-static Lisp_Object Qmove_self; /* IN_MOVE_SELF */
-static Lisp_Object Qmoved_from; /* IN_MOVED_FROM */
-static Lisp_Object Qmoved_to; /* IN_MOVED_TO */
-static Lisp_Object Qopen; /* IN_OPEN */
-
-static Lisp_Object Qall_events; /* IN_ALL_EVENTS */
-static Lisp_Object Qmove; /* IN_MOVE */
-static Lisp_Object Qclose; /* IN_CLOSE */
-
-static Lisp_Object Qdont_follow; /* IN_DONT_FOLLOW */
-static Lisp_Object Qexcl_unlink; /* IN_EXCL_UNLINK */
-static Lisp_Object Qmask_add; /* IN_MASK_ADD */
-static Lisp_Object Qoneshot; /* IN_ONESHOT */
-static Lisp_Object Qonlydir; /* IN_ONLYDIR */
-
-static Lisp_Object Qignored; /* IN_IGNORED */
-static Lisp_Object Qisdir; /* IN_ISDIR */
-static Lisp_Object Qq_overflow; /* IN_Q_OVERFLOW */
-static Lisp_Object Qunmount; /* IN_UNMOUNT */
-
#include <sys/inotify.h>
#include <sys/ioctl.h>
void
syms_of_inotify (void)
{
- DEFSYM (Qaccess, "access");
- DEFSYM (Qattrib, "attrib");
- DEFSYM (Qclose_write, "close-write");
+ DEFSYM (Qaccess, "access"); /* IN_ACCESS */
+ DEFSYM (Qattrib, "attrib"); /* IN_ATTRIB */
+ DEFSYM (Qclose_write, "close-write"); /* IN_CLOSE_WRITE */
DEFSYM (Qclose_nowrite, "close-nowrite");
- DEFSYM (Qcreate, "create");
- DEFSYM (Qdelete, "delete");
- DEFSYM (Qdelete_self, "delete-self");
- DEFSYM (Qmodify, "modify");
- DEFSYM (Qmove_self, "move-self");
- DEFSYM (Qmoved_from, "moved-from");
- DEFSYM (Qmoved_to, "moved-to");
- DEFSYM (Qopen, "open");
-
- DEFSYM (Qall_events, "all-events");
- DEFSYM (Qmove, "move");
- DEFSYM (Qclose, "close");
-
- DEFSYM (Qdont_follow, "dont-follow");
- DEFSYM (Qexcl_unlink, "excl-unlink");
- DEFSYM (Qmask_add, "mask-add");
- DEFSYM (Qoneshot, "oneshot");
- DEFSYM (Qonlydir, "onlydir");
-
- DEFSYM (Qignored, "ignored");
- DEFSYM (Qisdir, "isdir");
- DEFSYM (Qq_overflow, "q-overflow");
- DEFSYM (Qunmount, "unmount");
+ /* IN_CLOSE_NOWRITE */
+ DEFSYM (Qcreate, "create"); /* IN_CREATE */
+ DEFSYM (Qdelete, "delete"); /* IN_DELETE */
+ DEFSYM (Qdelete_self, "delete-self"); /* IN_DELETE_SELF */
+ DEFSYM (Qmodify, "modify"); /* IN_MODIFY */
+ DEFSYM (Qmove_self, "move-self"); /* IN_MOVE_SELF */
+ DEFSYM (Qmoved_from, "moved-from"); /* IN_MOVED_FROM */
+ DEFSYM (Qmoved_to, "moved-to"); /* IN_MOVED_TO */
+ DEFSYM (Qopen, "open"); /* IN_OPEN */
+
+ DEFSYM (Qall_events, "all-events"); /* IN_ALL_EVENTS */
+ DEFSYM (Qmove, "move"); /* IN_MOVE */
+ DEFSYM (Qclose, "close"); /* IN_CLOSE */
+
+ DEFSYM (Qdont_follow, "dont-follow"); /* IN_DONT_FOLLOW */
+ DEFSYM (Qexcl_unlink, "excl-unlink"); /* IN_EXCL_UNLINK */
+ DEFSYM (Qmask_add, "mask-add"); /* IN_MASK_ADD */
+ DEFSYM (Qoneshot, "oneshot"); /* IN_ONESHOT */
+ DEFSYM (Qonlydir, "onlydir"); /* IN_ONLYDIR */
+
+ DEFSYM (Qignored, "ignored"); /* IN_IGNORED */
+ DEFSYM (Qisdir, "isdir"); /* IN_ISDIR */
+ DEFSYM (Qq_overflow, "q-overflow"); /* IN_Q_OVERFLOW */
+ DEFSYM (Qunmount, "unmount"); /* IN_UNMOUNT */
defsubr (&Sinotify_add_watch);
defsubr (&Sinotify_rm_watch);
/* Buffer insertion/deletion and gap motion for GNU Emacs.
-Copyright (C) 1985-1986, 1993-1995, 1997-2014 Free Software Foundation, Inc.
+Copyright (C) 1985-1986, 1993-1995, 1997-2015 Free Software Foundation,
+Inc.
This file is part of GNU Emacs.
/* Buffer which combine_after_change_list is about. */
static Lisp_Object combine_after_change_buffer;
-Lisp_Object Qinhibit_modification_hooks;
-
static void signal_before_change (ptrdiff_t, ptrdiff_t, ptrdiff_t *);
/* Also used in marker.c to enable expensive marker checks. */
bset_point_before_scroll (current_buffer, Qnil);
}
-Lisp_Object Qregion_extract_function;
-
/* Check that it is okay to modify the buffer between START and END,
which are char positions.
{
PRESERVE_VALUE;
PRESERVE_START_END;
- Frun_hooks (1, &Qfirst_change_hook);
+ run_hook (Qfirst_change_hook);
}
/* Now run the before-change-functions if any. */
/* Code for doing intervals.
- Copyright (C) 1993-1995, 1997-1998, 2001-2014 Free Software
+ Copyright (C) 1993-1995, 1997-1998, 2001-2015 Free Software
Foundation, Inc.
This file is part of GNU Emacs.
/* Definitions and global variables for intervals.
- Copyright (C) 1993-1994, 2000-2014 Free Software Foundation, Inc.
+ Copyright (C) 1993-1994, 2000-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Defined in xdisp.c. */
extern int invisible_p (Lisp_Object, Lisp_Object);
-/* Declared in textprop.c. */
-
-/* Types of hooks. */
-extern Lisp_Object Qpoint_left;
-extern Lisp_Object Qpoint_entered;
-extern Lisp_Object Qmodification_hooks;
-extern Lisp_Object Qcategory;
-extern Lisp_Object Qlocal_map;
-
-/* Visual properties text (including strings) may have. */
-extern Lisp_Object Qinvisible, Qintangible;
-
-/* Sticky properties. */
-extern Lisp_Object Qfront_sticky, Qrear_nonsticky;
-
+/* Defined in textprop.c. */
extern Lisp_Object copy_text_properties (Lisp_Object, Lisp_Object,
Lisp_Object, Lisp_Object,
Lisp_Object, Lisp_Object);
/* Keyboard and mouse input; editor command loop.
-Copyright (C) 1985-1989, 1993-1997, 1999-2014 Free Software Foundation, Inc.
+Copyright (C) 1985-1989, 1993-1997, 1999-2015 Free Software Foundation,
+Inc.
This file is part of GNU Emacs.
/* True in the single-kboard state, false in the any-kboard state. */
static bool single_kboard;
-/* Non-nil disable property on a command means
- do not execute it; call disabled-command-function's value instead. */
-Lisp_Object Qdisabled;
-static Lisp_Object Qdisabled_command_function;
-
#define NUM_RECENT_KEYS (300)
/* Index for storing next element into recent_keys. */
'volatile' here. */
Lisp_Object internal_last_event_frame;
-static Lisp_Object Qgui_set_selection, Qhandle_switch_frame;
-static Lisp_Object Qhandle_select_window;
-Lisp_Object QPRIMARY;
-
-static Lisp_Object Qself_insert_command;
-static Lisp_Object Qforward_char;
-static Lisp_Object Qbackward_char;
-Lisp_Object Qundefined;
-static Lisp_Object Qtimer_event_handler;
-
/* `read_key_sequence' stores here the command definition of the
key sequence that it reads. */
static Lisp_Object read_key_sequence_cmd;
static Lisp_Object read_key_sequence_remapped;
-static Lisp_Object Qinput_method_function;
-
-static Lisp_Object Qdeactivate_mark;
-
-Lisp_Object Qrecompute_lucid_menubar, Qactivate_menubar_hook;
-
-static Lisp_Object Qecho_area_clear_hook;
-
-/* Hooks to run before and after each command. */
-static Lisp_Object Qpre_command_hook;
-static Lisp_Object Qpost_command_hook;
-
-static Lisp_Object Qdeferred_action_function;
-
-static Lisp_Object Qdelayed_warnings_hook;
-
-static Lisp_Object Qinput_method_exit_on_first_char;
-static Lisp_Object Qinput_method_use_echo_area;
-
-static Lisp_Object Qhelp_form_show;
-
/* File in which we write all commands we read. */
static FILE *dribble;
/* True if more input was available last time we read an event.
Since redisplay can take a significant amount of time and is not
- indispensible to perform the user's commands, when input arrives
+ indispensable to perform the user's commands, when input arrives
"too fast", Emacs skips redisplay. More specifically, if the next
command has already been input when we finish the previous command,
we skip the intermediate redisplay.
dequeuing functions? Such a flag could be screwed up by interrupts
at inopportune times. */
-/* Symbols to head events. */
-static Lisp_Object Qmouse_movement;
-static Lisp_Object Qscroll_bar_movement;
-Lisp_Object Qswitch_frame;
-static Lisp_Object Qfocus_in, Qfocus_out;
-static Lisp_Object Qdelete_frame;
-static Lisp_Object Qiconify_frame;
-static Lisp_Object Qmake_frame_visible;
-static Lisp_Object Qselect_window;
-Lisp_Object Qhelp_echo;
-
-static Lisp_Object Qmouse_fixup_help_message;
-
-/* Symbols to denote kinds of events. */
-static Lisp_Object Qfunction_key;
-Lisp_Object Qmouse_click;
-#ifdef HAVE_NTGUI
-Lisp_Object Qlanguage_change;
-#endif
-static Lisp_Object Qdrag_n_drop;
-static Lisp_Object Qsave_session;
-#ifdef HAVE_DBUS
-static Lisp_Object Qdbus_event;
-#endif
-#ifdef USE_FILE_NOTIFY
-static Lisp_Object Qfile_notify;
-#endif /* USE_FILE_NOTIFY */
-static Lisp_Object Qconfig_changed_event;
-
-/* Lisp_Object Qmouse_movement; - also an event header */
-
-/* Properties of event headers. */
-Lisp_Object Qevent_kind;
-static Lisp_Object Qevent_symbol_elements;
-
-/* Menu and tool bar item parts. */
-static Lisp_Object Qmenu_enable;
-static Lisp_Object QCenable, QCvisible, QChelp, QCkeys, QCkey_sequence;
-Lisp_Object QCfilter;
-
-/* Non-nil disable property on a command means
- do not execute it; call disabled-command-function's value instead. */
-Lisp_Object QCtoggle, QCradio;
-static Lisp_Object QCbutton, QClabel;
-
-static Lisp_Object QCvert_only;
-
-/* An event header symbol HEAD may have a property named
- Qevent_symbol_element_mask, which is of the form (BASE MODIFIERS);
- BASE is the base, unmodified version of HEAD, and MODIFIERS is the
- mask of modifiers applied to it. If present, this is used to help
- speed up parse_modifiers. */
-Lisp_Object Qevent_symbol_element_mask;
-
-/* An unmodified event header BASE may have a property named
- Qmodifier_cache, which is an alist mapping modifier masks onto
- modified versions of BASE. If present, this helps speed up
- apply_modifiers. */
-static Lisp_Object Qmodifier_cache;
-
-/* Symbols to use for parts of windows. */
-Lisp_Object Qmode_line;
-Lisp_Object Qvertical_line;
-Lisp_Object Qright_divider, Qbottom_divider;
-Lisp_Object Qmenu_bar;
-
-static Lisp_Object Qecho_keystrokes;
-
static void recursive_edit_unwind (Lisp_Object buffer);
static Lisp_Object command_loop (void);
-static Lisp_Object Qcommand_execute;
static void echo_now (void);
static ptrdiff_t echo_length (void);
-static Lisp_Object Qpolling_period;
-
/* Incremented whenever a timer is run. */
unsigned timers_run;
}
if (current_buffer != prev_buffer || MODIFF != prev_modiff)
- {
- Lisp_Object hook = intern ("activate-mark-hook");
- Frun_hooks (1, &hook);
- }
+ run_hook (intern ("activate-mark-hook"));
}
Vsaved_region_selection = Qnil;
"drag-n-drop"
};
-/* Scroll bar parts. */
-static Lisp_Object Qabove_handle, Qhandle, Qbelow_handle;
-static Lisp_Object Qbefore_handle, Qhorizontal_handle, Qafter_handle;
-Lisp_Object Qup, Qdown, Qtop, Qbottom;
-static Lisp_Object Qleftmost, Qrightmost;
-static Lisp_Object Qend_scroll;
-static Lisp_Object Qratio;
-
/* An array of scroll bar parts, indexed by an enum scroll_bar_part value.
Note that Qnil corresponds to scroll_bar_nowhere and should not appear
in Lisp events. */
-static Lisp_Object *const scroll_bar_parts[] = {
- &Qnil, &Qabove_handle, &Qhandle, &Qbelow_handle,
- &Qup, &Qdown, &Qtop, &Qbottom, &Qend_scroll, &Qratio,
- &Qbefore_handle, &Qhorizontal_handle, &Qafter_handle,
- &Qleft, &Qright, &Qleftmost, &Qrightmost, &Qend_scroll, &Qratio
+static struct Lisp_Symbol *const scroll_bar_parts[] = {
+ XSYMBOL_INIT (Qnil), XSYMBOL_INIT (Qabove_handle), XSYMBOL_INIT (Qhandle),
+ XSYMBOL_INIT (Qbelow_handle), XSYMBOL_INIT (Qup), XSYMBOL_INIT (Qdown),
+ XSYMBOL_INIT (Qtop), XSYMBOL_INIT (Qbottom), XSYMBOL_INIT (Qend_scroll),
+ XSYMBOL_INIT (Qratio), XSYMBOL_INIT (Qbefore_handle),
+ XSYMBOL_INIT (Qhorizontal_handle), XSYMBOL_INIT (Qafter_handle),
+ XSYMBOL_INIT (Qleft), XSYMBOL_INIT (Qright), XSYMBOL_INIT (Qleftmost),
+ XSYMBOL_INIT (Qrightmost), XSYMBOL_INIT (Qend_scroll), XSYMBOL_INIT (Qratio)
};
/* A vector, indexed by button number, giving the down-going location
make_scroll_bar_position (struct input_event *ev, Lisp_Object type)
{
return list5 (ev->frame_or_window, type, Fcons (ev->x, ev->y),
- make_number (ev->timestamp), *scroll_bar_parts[ev->part]);
+ make_number (ev->timestamp),
+ make_lisp_symbol (scroll_bar_parts[ev->part]));
}
/* Given a struct input_event, build the lisp event which represents
{
Lisp_Object part_sym;
- part_sym = *scroll_bar_parts[(int) part];
+ part_sym = make_lisp_symbol (scroll_bar_parts[part]);
return list2 (Qscroll_bar_movement,
list5 (bar_window,
Qvertical_scroll_bar,
static int ntool_bar_items;
-/* The symbols `:image' and `:rtl'. */
-
-static Lisp_Object QCimage;
-static Lisp_Object QCrtl;
-
/* Function prototypes. */
static void init_tool_bar_items (Lisp_Object);
int old_height, old_width;
int width, height;
struct gcpro gcpro1;
- Lisp_Object hook;
if (tty_list && tty_list->next)
error ("There are other tty frames open; close them before suspending Emacs");
if (!NILP (stuffstring))
CHECK_STRING (stuffstring);
- /* Run the functions in suspend-hook. */
- hook = intern ("suspend-hook");
- Frun_hooks (1, &hook);
+ run_hook (intern ("suspend-hook"));
GCPRO1 (stuffstring);
get_tty_size (fileno (CURTTY ()->input), &old_width, &old_height);
height - FRAME_MENU_BAR_LINES (SELECTED_FRAME ()),
0, 0, 0, 0);
- /* Run suspend-resume-hook. */
- hook = intern ("suspend-resume-hook");
- Frun_hooks (1, &hook);
+ run_hook (intern ("suspend-resume-hook"));
UNGCPRO;
return Qnil;
#endif
}
-/* This type's only use is in syms_of_keyboard, to initialize the
- event header symbols and put properties on them. */
+/* This type's only use is in syms_of_keyboard, to put properties on the
+ event header symbols. */
struct event_head {
- Lisp_Object *var;
- const char *name;
- Lisp_Object *kind;
+ struct Lisp_Symbol *var;
+ struct Lisp_Symbol *kind;
};
+
+
static const struct event_head head_table[] = {
- {&Qmouse_movement, "mouse-movement", &Qmouse_movement},
- {&Qscroll_bar_movement, "scroll-bar-movement", &Qmouse_movement},
- {&Qswitch_frame, "switch-frame", &Qswitch_frame},
- {&Qfocus_in, "focus-in", &Qfocus_in},
- {&Qfocus_out, "focus-out", &Qfocus_out},
- {&Qdelete_frame, "delete-frame", &Qdelete_frame},
- {&Qiconify_frame, "iconify-frame", &Qiconify_frame},
- {&Qmake_frame_visible, "make-frame-visible", &Qmake_frame_visible},
+ {XSYMBOL_INIT (Qmouse_movement), XSYMBOL_INIT (Qmouse_movement)},
+ {XSYMBOL_INIT (Qscroll_bar_movement), XSYMBOL_INIT (Qmouse_movement)},
+
+ /* Some of the event heads. */
+ {XSYMBOL_INIT (Qswitch_frame), XSYMBOL_INIT (Qswitch_frame)},
+
+ {XSYMBOL_INIT (Qfocus_in), XSYMBOL_INIT (Qfocus_in)},
+ {XSYMBOL_INIT (Qfocus_out), XSYMBOL_INIT (Qfocus_out)},
+ {XSYMBOL_INIT (Qdelete_frame), XSYMBOL_INIT (Qdelete_frame)},
+ {XSYMBOL_INIT (Qiconify_frame), XSYMBOL_INIT (Qiconify_frame)},
+ {XSYMBOL_INIT (Qmake_frame_visible), XSYMBOL_INIT (Qmake_frame_visible)},
/* `select-window' should be handled just like `switch-frame'
in read_key_sequence. */
- {&Qselect_window, "select-window", &Qswitch_frame}
+ {XSYMBOL_INIT (Qselect_window), XSYMBOL_INIT (Qswitch_frame)}
};
void
DEFSYM (Qself_insert_command, "self-insert-command");
DEFSYM (Qforward_char, "forward-char");
DEFSYM (Qbackward_char, "backward-char");
+
+ /* Non-nil disable property on a command means do not execute it;
+ call disabled-command-function's value instead. */
DEFSYM (Qdisabled, "disabled");
+
DEFSYM (Qundefined, "undefined");
+
+ /* Hooks to run before and after each command. */
DEFSYM (Qpre_command_hook, "pre-command-hook");
DEFSYM (Qpost_command_hook, "post-command-hook");
+
DEFSYM (Qdeferred_action_function, "deferred-action-function");
DEFSYM (Qdelayed_warnings_hook, "delayed-warnings-hook");
DEFSYM (Qfunction_key, "function-key");
+
+ /* The values of Qevent_kind properties. */
DEFSYM (Qmouse_click, "mouse-click");
+
DEFSYM (Qdrag_n_drop, "drag-n-drop");
DEFSYM (Qsave_session, "save-session");
DEFSYM (Qconfig_changed_event, "config-changed-event");
+
+ /* Menu and tool bar item parts. */
DEFSYM (Qmenu_enable, "menu-enable");
#ifdef HAVE_NTGUI
DEFSYM (Qfile_notify, "file-notify");
#endif /* USE_FILE_NOTIFY */
+ /* Menu and tool bar item parts. */
DEFSYM (QCenable, ":enable");
DEFSYM (QCvisible, ":visible");
DEFSYM (QChelp, ":help");
DEFSYM (QCbutton, ":button");
DEFSYM (QCkeys, ":keys");
DEFSYM (QCkey_sequence, ":key-sequence");
+
+ /* Non-nil disable property on a command means
+ do not execute it; call disabled-command-function's value instead. */
DEFSYM (QCtoggle, ":toggle");
DEFSYM (QCradio, ":radio");
DEFSYM (QClabel, ":label");
DEFSYM (QCvert_only, ":vert-only");
- DEFSYM (Qmode_line, "mode-line");
+ /* Symbols to use for parts of windows. */
DEFSYM (Qvertical_line, "vertical-line");
- DEFSYM (Qmenu_bar, "menu-bar");
DEFSYM (Qright_divider, "right-divider");
DEFSYM (Qbottom_divider, "bottom-divider");
DEFSYM (Qleftmost, "leftmost");
DEFSYM (Qrightmost, "rightmost");
+ /* Properties of event headers. */
DEFSYM (Qevent_kind, "event-kind");
DEFSYM (Qevent_symbol_elements, "event-symbol-elements");
+
+ /* An event header symbol HEAD may have a property named
+ Qevent_symbol_element_mask, which is of the form (BASE MODIFIERS);
+ BASE is the base, unmodified version of HEAD, and MODIFIERS is the
+ mask of modifiers applied to it. If present, this is used to help
+ speed up parse_modifiers. */
DEFSYM (Qevent_symbol_element_mask, "event-symbol-element-mask");
+
+ /* An unmodified event header BASE may have a property named
+ Qmodifier_cache, which is an alist mapping modifier masks onto
+ modified versions of BASE. If present, this helps speed up
+ apply_modifiers. */
DEFSYM (Qmodifier_cache, "modifier-cache");
DEFSYM (Qrecompute_lucid_menubar, "recompute-lucid-menubar");
DEFSYM (Qpolling_period, "polling-period");
DEFSYM (Qgui_set_selection, "gui-set-selection");
+
+ /* The primary selection. */
DEFSYM (QPRIMARY, "PRIMARY");
+
DEFSYM (Qhandle_switch_frame, "handle-switch-frame");
DEFSYM (Qhandle_select_window, "handle-select-window");
Fset (Qinput_method_exit_on_first_char, Qnil);
Fset (Qinput_method_use_echo_area, Qnil);
+ /* Symbols to head events. */
+ DEFSYM (Qmouse_movement, "mouse-movement");
+ DEFSYM (Qscroll_bar_movement, "scroll-bar-movement");
+ DEFSYM (Qswitch_frame, "switch-frame");
+ DEFSYM (Qfocus_in, "focus-in");
+ DEFSYM (Qfocus_out, "focus-out");
+ DEFSYM (Qdelete_frame, "delete-frame");
+ DEFSYM (Qiconify_frame, "iconify-frame");
+ DEFSYM (Qmake_frame_visible, "make-frame-visible");
+ DEFSYM (Qselect_window, "select-window");
{
int i;
- int len = ARRAYELTS (head_table);
- for (i = 0; i < len; i++)
+ for (i = 0; i < ARRAYELTS (head_table); i++)
{
const struct event_head *p = &head_table[i];
- *p->var = intern_c_string (p->name);
- staticpro (p->var);
- Fput (*p->var, Qevent_kind, *p->kind);
- Fput (*p->var, Qevent_symbol_elements, list1 (*p->var));
+ Lisp_Object var = make_lisp_symbol (p->var);
+ Lisp_Object kind = make_lisp_symbol (p->kind);
+ Fput (var, Qevent_kind, kind);
+ Fput (var, Qevent_symbol_elements, list1 (var));
}
}
cancels any modification. */);
extra_keyboard_modifiers = 0;
+ DEFSYM (Qdeactivate_mark, "deactivate-mark");
DEFVAR_LISP ("deactivate-mark", Vdeactivate_mark,
doc: /* If an editing command sets this to t, deactivate the mark afterward.
The command loop sets this to nil before each command,
and tests the value when the command returns.
Buffer modification stores t in this variable. */);
Vdeactivate_mark = Qnil;
- DEFSYM (Qdeactivate_mark, "deactivate-mark");
Fmake_variable_buffer_local (Qdeactivate_mark);
DEFVAR_LISP ("pre-command-hook", Vpre_command_hook,
/* Declarations useful when processing input.
- Copyright (C) 1985-1987, 1993, 2001-2014 Free Software Foundation,
+ Copyright (C) 1985-1987, 1993, 2001-2015 Free Software Foundation,
Inc.
This file is part of GNU Emacs.
generated by the next character. */
extern Lisp_Object internal_last_event_frame;
\f
-extern Lisp_Object Qrecompute_lucid_menubar, Qactivate_menubar_hook;
-
/* This holds a Lisp vector that holds the properties of a single
menu item while decoding it in parse_menu_item.
Using a Lisp vector to hold this information while we decode it
#define POSN_INBUFFER_P(posn) (NILP (POSN_STRING (posn)))
#define POSN_BUFFER_POSN(posn) (Fnth (make_number (5), (posn)))
-/* Some of the event heads. */
-extern Lisp_Object Qswitch_frame;
-
-/* Properties on event heads. */
-extern Lisp_Object Qevent_kind;
-
-/* The values of Qevent_kind properties. */
-extern Lisp_Object Qmouse_click;
-
-extern Lisp_Object Qhelp_echo;
-
/* Getting the kind of an event head. */
#define EVENT_HEAD_KIND(event_head) \
(Fget ((event_head), Qevent_kind))
-/* Symbols to use for non-text mouse positions. */
-extern Lisp_Object Qmode_line, Qvertical_line, Qheader_line;
-extern Lisp_Object Qright_divider, Qbottom_divider;
-
/* True while doing kbd input. */
extern bool waiting_for_input;
extern bool ignore_mouse_drag_p;
-/* The primary selection. */
-extern Lisp_Object QPRIMARY;
-
extern Lisp_Object parse_modifiers (Lisp_Object);
extern Lisp_Object reorder_modifiers (Lisp_Object);
extern Lisp_Object read_char (int, Lisp_Object, Lisp_Object,
/* This is like Vthis_command, except that commands never set it. */
extern Lisp_Object real_this_command;
-/* Non-nil disable property on a command means
- do not execute it; call disabled-command-function's value instead. */
-extern Lisp_Object QCtoggle, QCradio;
-
-/* An event header symbol HEAD may have a property named
- Qevent_symbol_element_mask, which is of the form (BASE MODIFIERS);
- BASE is the base, unmodified version of HEAD, and MODIFIERS is the
- mask of modifiers applied to it. If present, this is used to help
- speed up parse_modifiers. */
-extern Lisp_Object Qevent_symbol_element_mask;
-
extern int quit_char;
extern unsigned int timers_run;
/* Manipulation of keymaps
- Copyright (C) 1985-1988, 1993-1995, 1998-2014 Free Software
+ Copyright (C) 1985-1988, 1993-1995, 1998-2015 Free Software
Foundation, Inc.
This file is part of GNU Emacs.
bindings when spaces are not encouraged
in the minibuf. */
-/* Keymap used for minibuffers when doing completion. */
-/* Keymap used for minibuffers when doing completion and require a match. */
-static Lisp_Object Qkeymapp, Qnon_ascii;
-Lisp_Object Qkeymap, Qmenu_item, Qremap;
-static Lisp_Object QCadvertised_binding;
-
/* Alist of elements like (DEL . "\d"). */
static Lisp_Object exclude_keys;
UNGCPRO;
}
-static Lisp_Object Qkeymap_canonicalize;
-
/* Same as map_keymap, but does it right, properly eliminating duplicate
bindings due to inheritance. */
void
}
return maps;
}
-static Lisp_Object Qsingle_key_description, Qkey_description;
/* This function cannot GC. */
Vwhere_is_preferred_modifier = Qnil;
where_is_preferred_modifier = 0;
+ DEFSYM (Qmenu_bar, "menu-bar");
+ DEFSYM (Qmode_line, "mode-line");
+
staticpro (&Vmouse_events);
Vmouse_events = listn (CONSTYPE_PURE, 9,
- intern_c_string ("menu-bar"),
+ Qmenu_bar,
intern_c_string ("tool-bar"),
intern_c_string ("header-line"),
- intern_c_string ("mode-line"),
+ Qmode_line,
intern_c_string ("mouse-1"),
intern_c_string ("mouse-2"),
intern_c_string ("mouse-3"),
DEFSYM (Qsingle_key_description, "single-key-description");
DEFSYM (Qkey_description, "key-description");
+
+ /* Keymap used for minibuffers when doing completion. */
+ /* Keymap used for minibuffers when doing completion and require a match. */
DEFSYM (Qkeymapp, "keymapp");
DEFSYM (Qnon_ascii, "non-ascii");
DEFSYM (Qmenu_item, "menu-item");
/* Functions to manipulate keymaps.
- Copyright (C) 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
#define KEY_DESCRIPTION_SIZE ((2 * 6) + 1 + (CHARACTERBITS / 3) + 1 + 1)
#define KEYMAPP(m) (!NILP (get_keymap (m, false, false)))
-extern Lisp_Object Qkeymap, Qmenu_bar;
-extern Lisp_Object Qremap;
-extern Lisp_Object Qmenu_item;
extern Lisp_Object current_global_map;
extern char *push_key_description (EMACS_INT, char *);
extern Lisp_Object access_keymap (Lisp_Object, Lisp_Object, bool, bool, bool);
/* Mark end of data space to dump as pure, for GNU Emacs.
- Copyright (C) 1985, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1985, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Fundamental definitions for GNU Emacs Lisp interpreter.
-Copyright (C) 1985-1987, 1993-1995, 1997-2014 Free Software Foundation,
+Copyright (C) 1985-1987, 1993-1995, 1997-2015 Free Software Foundation,
Inc.
This file is part of GNU Emacs.
#define lisp_h_XCONS(a) \
(eassert (CONSP (a)), (struct Lisp_Cons *) XUNTAG (a, Lisp_Cons))
#define lisp_h_XHASH(a) XUINT (a)
-#define lisp_h_XPNTR(a) ((void *) (intptr_t) (XLI (a) & VALMASK))
+#define lisp_h_XPNTR(a) \
+ (SYMBOLP (a) ? XSYMBOL (a) : (void *) ((intptr_t) (XLI (a) & VALMASK)))
#define lisp_h_XSYMBOL(a) \
- (eassert (SYMBOLP (a)), (struct Lisp_Symbol *) XUNTAG (a, Lisp_Symbol))
+ (eassert (SYMBOLP (a)), \
+ (struct Lisp_Symbol *) XUNTAGBASE (a, Lisp_Symbol, lispsym))
#ifndef GC_CHECK_CONS_LIST
# define lisp_h_check_cons_list() ((void) 0)
#endif
# define lisp_h_XFASTINT(a) XINT (a)
# define lisp_h_XINT(a) (XLI (a) >> INTTYPEBITS)
# define lisp_h_XTYPE(a) ((enum Lisp_Type) (XLI (a) & ~VALMASK))
-# define lisp_h_XUNTAG(a, type) ((void *) (XLI (a) - (type)))
+# define lisp_h_XUNTAG(a, type) ((void *) (intptr_t) (XLI (a) - (type)))
+# define lisp_h_XUNTAGBASE(a, type, base) \
+ ((void *) ((char *) (base) - (type) + (intptr_t) XLI (a)))
#endif
/* When compiling via gcc -O0, define the key operations as macros, as
# define XINT(a) lisp_h_XINT (a)
# define XTYPE(a) lisp_h_XTYPE (a)
# define XUNTAG(a, type) lisp_h_XUNTAG (a, type)
+# define XUNTAGBASE(a, type, base) lisp_h_XUNTAGBASE (a, type, base)
# endif
#endif
enum Lisp_Type
{
- /* Integer. XINT (obj) is the integer value. */
- Lisp_Int0 = 0,
- Lisp_Int1 = USE_LSB_TAG ? 1 << INTTYPEBITS : 1,
-
/* Symbol. XSYMBOL (object) points to a struct Lisp_Symbol. */
- Lisp_Symbol = 2,
+ Lisp_Symbol = 0,
/* Miscellaneous. XMISC (object) points to a union Lisp_Misc,
whose first member indicates the subtype. */
- Lisp_Misc = 3,
+ Lisp_Misc = 1,
+
+ /* Integer. XINT (obj) is the integer value. */
+ Lisp_Int0 = 2,
+ Lisp_Int1 = USE_LSB_TAG ? 6 : 3,
/* String. XSTRING (object) points to a struct Lisp_String.
The length of the string, and its contents, are stored therein. */
- Lisp_String = USE_LSB_TAG ? 1 : 1 << INTTYPEBITS,
+ Lisp_String = 4,
/* Vector of Lisp objects, or something resembling it.
XVECTOR (object) points to a struct Lisp_Vector, which contains
Lisp_Vectorlike = 5,
/* Cons. XCONS (object) points to a struct Lisp_Cons. */
- Lisp_Cons = 6,
+ Lisp_Cons = USE_LSB_TAG ? 3 : 6,
Lisp_Float = 7
};
typedef struct { EMACS_INT i; } Lisp_Object;
-#define LISP_INITIALLY_ZERO {0}
+#define LISP_INITIALLY(i) {i}
#undef CHECK_LISP_OBJECT_TYPE
enum CHECK_LISP_OBJECT_TYPE { CHECK_LISP_OBJECT_TYPE = true };
/* If a struct type is not wanted, define Lisp_Object as just a number. */
typedef EMACS_INT Lisp_Object;
-#define LISP_INITIALLY_ZERO 0
+#define LISP_INITIALLY(i) (i)
enum CHECK_LISP_OBJECT_TYPE { CHECK_LISP_OBJECT_TYPE = false };
#endif /* CHECK_LISP_OBJECT_TYPE */
+
+#define LISP_INITIALLY_ZERO LISP_INITIALLY (0)
\f
/* Forward declarations. */
INLINE bool (VECTORLIKEP) (Lisp_Object);
INLINE bool WINDOWP (Lisp_Object);
INLINE struct Lisp_Save_Value *XSAVE_VALUE (Lisp_Object);
+INLINE struct Lisp_Symbol *(XSYMBOL) (Lisp_Object);
+INLINE void *(XUNTAGBASE) (Lisp_Object, int, void *);
/* Defined in chartab.c. */
extern Lisp_Object char_table_ref (Lisp_Object, int);
extern void char_table_set (Lisp_Object, int, Lisp_Object);
/* Defined in data.c. */
-extern Lisp_Object Qarrayp, Qbufferp, Qbuffer_or_string_p, Qchar_table_p;
-extern Lisp_Object Qconsp, Qfloatp, Qintegerp, Qlambda, Qlistp, Qmarkerp, Qnil;
-extern Lisp_Object Qnumberp, Qstringp, Qsymbolp, Qt, Qvectorp;
-extern Lisp_Object Qbool_vector_p;
-extern Lisp_Object Qvector_or_char_table_p, Qwholenump;
-extern Lisp_Object Qwindow;
extern _Noreturn Lisp_Object wrong_type_argument (Lisp_Object, Lisp_Object);
extern _Noreturn void wrong_choice (Lisp_Object, Lisp_Object);
Used during startup to detect startup of dumped Emacs. */
extern bool initialized;
-/* Defined in eval.c. */
-extern Lisp_Object Qautoload;
-
/* Defined in floatfns.c. */
extern double extract_float (Lisp_Object);
-/* Defined in process.c. */
-extern Lisp_Object Qprocessp;
+\f
+/* Interned state of a symbol. */
+
+enum symbol_interned
+{
+ SYMBOL_UNINTERNED = 0,
+ SYMBOL_INTERNED = 1,
+ SYMBOL_INTERNED_IN_INITIAL_OBARRAY = 2
+};
-/* Defined in window.c. */
-extern Lisp_Object Qwindowp;
+enum symbol_redirect
+{
+ SYMBOL_PLAINVAL = 4,
+ SYMBOL_VARALIAS = 1,
+ SYMBOL_LOCALIZED = 2,
+ SYMBOL_FORWARDED = 3
+};
+
+struct Lisp_Symbol
+{
+ bool_bf gcmarkbit : 1;
+
+ /* Indicates where the value can be found:
+ 0 : it's a plain var, the value is in the `value' field.
+ 1 : it's a varalias, the value is really in the `alias' symbol.
+ 2 : it's a localized var, the value is in the `blv' object.
+ 3 : it's a forwarding variable, the value is in `forward'. */
+ ENUM_BF (symbol_redirect) redirect : 3;
+
+ /* Non-zero means symbol is constant, i.e. changing its value
+ should signal an error. If the value is 3, then the var
+ can be changed, but only by `defconst'. */
+ unsigned constant : 2;
+
+ /* Interned state of the symbol. This is an enumerator from
+ enum symbol_interned. */
+ unsigned interned : 2;
+
+ /* True means that this variable has been explicitly declared
+ special (with `defvar' etc), and shouldn't be lexically bound. */
+ bool_bf declared_special : 1;
+
+ /* True if pointed to from purespace and hence can't be GC'd. */
+ bool_bf pinned : 1;
+
+ /* The symbol's name, as a Lisp string. */
+ Lisp_Object name;
+
+ /* Value of the symbol or Qunbound if unbound. Which alternative of the
+ union is used depends on the `redirect' field above. */
+ union {
+ Lisp_Object value;
+ struct Lisp_Symbol *alias;
+ struct Lisp_Buffer_Local_Value *blv;
+ union Lisp_Fwd *fwd;
+ } val;
+
+ /* Function value of the symbol or Qnil if not fboundp. */
+ Lisp_Object function;
+
+ /* The symbol's property list. */
+ Lisp_Object plist;
+
+ /* Next symbol in obarray bucket, if the symbol is interned. */
+ struct Lisp_Symbol *next;
+};
+
+/* Declare a Lisp-callable function. The MAXARGS parameter has the same
+ meaning as in the DEFUN macro, and is used to construct a prototype. */
+/* We can use the same trick as in the DEFUN macro to generate the
+ appropriate prototype. */
+#define EXFUN(fnname, maxargs) \
+ extern Lisp_Object fnname DEFUN_ARGS_ ## maxargs
+
+/* Note that the weird token-substitution semantics of ANSI C makes
+ this work for MANY and UNEVALLED. */
+#define DEFUN_ARGS_MANY (ptrdiff_t, Lisp_Object *)
+#define DEFUN_ARGS_UNEVALLED (Lisp_Object)
+#define DEFUN_ARGS_0 (void)
+#define DEFUN_ARGS_1 (Lisp_Object)
+#define DEFUN_ARGS_2 (Lisp_Object, Lisp_Object)
+#define DEFUN_ARGS_3 (Lisp_Object, Lisp_Object, Lisp_Object)
+#define DEFUN_ARGS_4 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object)
+#define DEFUN_ARGS_5 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, \
+ Lisp_Object)
+#define DEFUN_ARGS_6 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, \
+ Lisp_Object, Lisp_Object)
+#define DEFUN_ARGS_7 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, \
+ Lisp_Object, Lisp_Object, Lisp_Object)
+#define DEFUN_ARGS_8 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, \
+ Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object)
+
+/* Yield an integer that contains TAG along with PTR. */
+#define TAG_PTR(tag, ptr) \
+ ((USE_LSB_TAG ? (tag) : (EMACS_UINT) (tag) << VALBITS) + (uintptr_t) (ptr))
+
+/* Yield an integer that tags PTR as a symbol. */
+#define TAG_SYMPTR(ptr) \
+ TAG_PTR (Lisp_Symbol, \
+ USE_LSB_TAG ? (char *) (ptr) - (char *) lispsym : (intptr_t) (ptr))
+
+/* Declare extern constants for Lisp symbols. These can be helpful
+ when using a debugger like GDB, on older platforms where the debug
+ format does not represent C macros. However, they don't work with
+ GCC if INTPTR_MAX != EMACS_INT_MAX. */
+#if EMACS_INT_MAX == INTPTR_MAX
+# define DEFINE_LISP_SYMBOL_BEGIN(name) \
+ DEFINE_GDB_SYMBOL_BEGIN (Lisp_Object, name)
+# define DEFINE_LISP_SYMBOL_END(name) \
+ DEFINE_GDB_SYMBOL_END (LISP_INITIALLY (TAG_SYMPTR (name)))
+#else
+# define DEFINE_LISP_SYMBOL_BEGIN(name) /* empty */
+# define DEFINE_LISP_SYMBOL_END(name) /* empty */
+#endif
+
+#include "globals.h"
-/* Defined in xdisp.c. */
-extern Lisp_Object Qimage;
-extern Lisp_Object Qfontification_functions;
-\f
/* Convert a Lisp_Object to the corresponding EMACS_INT and vice versa.
At the machine level, these operations are no-ops. */
LISP_MACRO_DEFUN (XLI, EMACS_INT, (Lisp_Object o), (o))
LISP_MACRO_DEFUN (XFASTINT, EMACS_INT, (Lisp_Object a), (a))
LISP_MACRO_DEFUN (XTYPE, enum Lisp_Type, (Lisp_Object a), (a))
LISP_MACRO_DEFUN (XUNTAG, void *, (Lisp_Object a, int type), (a, type))
+LISP_MACRO_DEFUN (XUNTAGBASE, void *, (Lisp_Object a, int type, void *base),
+ (a, type, base))
#else /* ! USE_LSB_TAG */
return USE_LSB_TAG ? i & ~VALMASK : i >> VALBITS;
}
+/* Extract A's pointer value, assuming A's type is TYPE.
+ If USE_LSB_TAG, add BASE to A's pointer value while extracting. */
+INLINE void *
+XUNTAGBASE (Lisp_Object a, int type, void *base)
+{
+ char *b = USE_LSB_TAG ? base : 0;
+ intptr_t i = USE_LSB_TAG ? XLI (a) - type : XLI (a) & VALMASK;
+ return b + i;
+}
+
/* Extract A's pointer value, assuming A's type is TYPE. */
INLINE void *
XUNTAG (Lisp_Object a, int type)
{
- if (USE_LSB_TAG)
- {
- intptr_t i = XLI (a) - type;
- return (void *) i;
- }
- return XPNTR (a);
+ intptr_t i = USE_LSB_TAG ? XLI (a) - type : XLI (a) & VALMASK;
+ return (void *) i;
}
#endif /* ! USE_LSB_TAG */
LISP_MACRO_DEFUN (XSYMBOL, struct Lisp_Symbol *, (Lisp_Object a), (a))
+/* XSYMBOL_INIT (Qfoo) is like XSYMBOL (Qfoo), except it is valid in
+ static initializers, and SYM must be a C-defined symbol. */
+#define XSYMBOL_INIT(sym) a##sym
+
INLINE struct Lisp_Float *
XFLOAT (Lisp_Object a)
{
INLINE Lisp_Object
make_lisp_ptr (void *ptr, enum Lisp_Type type)
{
- EMACS_UINT utype = type;
- EMACS_UINT typebits = USE_LSB_TAG ? type : utype << VALBITS;
- Lisp_Object a = XIL (typebits | (uintptr_t) ptr);
+ Lisp_Object a = XIL (TAG_PTR (type, ptr));
eassert (XTYPE (a) == type && XUNTAG (a, type) == ptr);
return a;
}
+INLINE Lisp_Object
+make_lisp_symbol (struct Lisp_Symbol *sym)
+{
+ Lisp_Object a = XIL (TAG_SYMPTR (sym));
+ eassert (XTYPE (a) == Lisp_Symbol
+ && XUNTAGBASE (a, Lisp_Symbol, lispsym) == sym);
+ return a;
+}
+
INLINE Lisp_Object
make_lisp_proc (struct Lisp_Process *p)
{
#define XSETCONS(a, b) ((a) = make_lisp_ptr (b, Lisp_Cons))
#define XSETVECTOR(a, b) ((a) = make_lisp_ptr (b, Lisp_Vectorlike))
#define XSETSTRING(a, b) ((a) = make_lisp_ptr (b, Lisp_String))
-#define XSETSYMBOL(a, b) ((a) = make_lisp_ptr (b, Lisp_Symbol))
+#define XSETSYMBOL(a, b) ((a) = make_lisp_symbol (b))
#define XSETFLOAT(a, b) ((a) = make_lisp_ptr (b, Lisp_Float))
#define XSETMISC(a, b) ((a) = make_lisp_ptr (b, Lisp_Misc))
Symbols
***********************************************************************/
-/* Interned state of a symbol. */
-
-enum symbol_interned
-{
- SYMBOL_UNINTERNED = 0,
- SYMBOL_INTERNED = 1,
- SYMBOL_INTERNED_IN_INITIAL_OBARRAY = 2
-};
-
-enum symbol_redirect
-{
- SYMBOL_PLAINVAL = 4,
- SYMBOL_VARALIAS = 1,
- SYMBOL_LOCALIZED = 2,
- SYMBOL_FORWARDED = 3
-};
-
-struct Lisp_Symbol
-{
- bool_bf gcmarkbit : 1;
-
- /* Indicates where the value can be found:
- 0 : it's a plain var, the value is in the `value' field.
- 1 : it's a varalias, the value is really in the `alias' symbol.
- 2 : it's a localized var, the value is in the `blv' object.
- 3 : it's a forwarding variable, the value is in `forward'. */
- ENUM_BF (symbol_redirect) redirect : 3;
-
- /* Non-zero means symbol is constant, i.e. changing its value
- should signal an error. If the value is 3, then the var
- can be changed, but only by `defconst'. */
- unsigned constant : 2;
-
- /* Interned state of the symbol. This is an enumerator from
- enum symbol_interned. */
- unsigned interned : 2;
-
- /* True means that this variable has been explicitly declared
- special (with `defvar' etc), and shouldn't be lexically bound. */
- bool_bf declared_special : 1;
-
- /* True if pointed to from purespace and hence can't be GC'd. */
- bool_bf pinned : 1;
-
- /* The symbol's name, as a Lisp string. */
- Lisp_Object name;
-
- /* Value of the symbol or Qunbound if unbound. Which alternative of the
- union is used depends on the `redirect' field above. */
- union {
- Lisp_Object value;
- struct Lisp_Symbol *alias;
- struct Lisp_Buffer_Local_Value *blv;
- union Lisp_Fwd *fwd;
- } val;
-
- /* Function value of the symbol or Qnil if not fboundp. */
- Lisp_Object function;
-
- /* The symbol's property list. */
- Lisp_Object plist;
-
- /* Next symbol in obarray bucket, if the symbol is interned. */
- struct Lisp_Symbol *next;
-};
-
/* Value is name of symbol. */
LISP_MACRO_DEFUN (SYMBOL_VAL, Lisp_Object, (struct Lisp_Symbol *sym), (sym))
LISP_MACRO_DEFUN (SYMBOL_CONSTANT_P, int, (Lisp_Object sym), (sym))
-#define DEFSYM(sym, name) \
- do { (sym) = intern_c_string ((name)); staticpro (&(sym)); } while (false)
+/* Placeholder for make-docfile to process. The actual symbol
+ definition is done by lread.c's defsym. */
+#define DEFSYM(sym, name) /* empty */
\f
/***********************************************************************
Lisp_Object fnname
#endif
-/* Note that the weird token-substitution semantics of ANSI C makes
- this work for MANY and UNEVALLED. */
-#define DEFUN_ARGS_MANY (ptrdiff_t, Lisp_Object *)
-#define DEFUN_ARGS_UNEVALLED (Lisp_Object)
-#define DEFUN_ARGS_0 (void)
-#define DEFUN_ARGS_1 (Lisp_Object)
-#define DEFUN_ARGS_2 (Lisp_Object, Lisp_Object)
-#define DEFUN_ARGS_3 (Lisp_Object, Lisp_Object, Lisp_Object)
-#define DEFUN_ARGS_4 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object)
-#define DEFUN_ARGS_5 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, \
- Lisp_Object)
-#define DEFUN_ARGS_6 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, \
- Lisp_Object, Lisp_Object)
-#define DEFUN_ARGS_7 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, \
- Lisp_Object, Lisp_Object, Lisp_Object)
-#define DEFUN_ARGS_8 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, \
- Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object)
-
/* True if OBJ is a Lisp function. */
INLINE bool
FUNCTIONP (Lisp_Object obj)
void staticpro (Lisp_Object *);
\f
-/* Declare a Lisp-callable function. The MAXARGS parameter has the same
- meaning as in the DEFUN macro, and is used to construct a prototype. */
-/* We can use the same trick as in the DEFUN macro to generate the
- appropriate prototype. */
-#define EXFUN(fnname, maxargs) \
- extern Lisp_Object fnname DEFUN_ARGS_ ## maxargs
-
-#include "globals.h"
-
/* Forward declarations for prototypes. */
struct window;
struct frame;
XSUB_CHAR_TABLE (table)->contents[idx] = val;
}
-/* Defined in data.c. */
-extern Lisp_Object Qquote, Qunbound;
-extern Lisp_Object Qerror_conditions, Qerror_message, Qtop_level;
-extern Lisp_Object Qerror, Qquit, Qargs_out_of_range;
-extern Lisp_Object Qvoid_variable, Qvoid_function;
-extern Lisp_Object Qinvalid_read_syntax;
-extern Lisp_Object Qinvalid_function, Qwrong_number_of_arguments, Qno_catch;
-extern Lisp_Object Quser_error, Qend_of_file, Qarith_error, Qmark_inactive;
-extern Lisp_Object Qbeginning_of_buffer, Qend_of_buffer, Qbuffer_read_only;
-extern Lisp_Object Qtext_read_only;
-extern Lisp_Object Qinteractive_form;
-extern Lisp_Object Qcircular_list;
-extern Lisp_Object Qsequencep;
-extern Lisp_Object Qchar_or_string_p, Qinteger_or_marker_p;
-extern Lisp_Object Qfboundp;
-
-extern Lisp_Object Qcdr;
-
-extern Lisp_Object Qrange_error, Qoverflow_error;
-
-extern Lisp_Object Qnumber_or_marker_p;
-
-extern Lisp_Object Qbuffer, Qinteger, Qsymbol;
-
/* Defined in data.c. */
extern Lisp_Object indirect_function (Lisp_Object);
extern Lisp_Object find_symbol_value (Lisp_Object);
extern void keys_of_cmds (void);
/* Defined in coding.c. */
-extern Lisp_Object Qcharset;
extern Lisp_Object detect_coding_system (const unsigned char *, ptrdiff_t,
ptrdiff_t, bool, bool, Lisp_Object);
extern void init_coding (void);
extern void syms_of_syntax (void);
/* Defined in fns.c. */
-extern Lisp_Object QCrehash_size, QCrehash_threshold;
enum { NEXT_ALMOST_PRIME_LIMIT = 11 };
extern EMACS_INT next_almost_prime (EMACS_INT) ATTRIBUTE_CONST;
extern Lisp_Object larger_vector (Lisp_Object, ptrdiff_t, ptrdiff_t);
extern void sweep_weak_hash_tables (void);
-extern Lisp_Object Qcursor_in_echo_area;
-extern Lisp_Object Qstring_lessp;
-extern Lisp_Object QCsize, QCtest, QCweakness, Qequal, Qeq;
EMACS_UINT hash_string (char const *, ptrdiff_t);
EMACS_UINT sxhash (Lisp_Object, int);
Lisp_Object make_hash_table (struct hash_table_test, Lisp_Object, Lisp_Object,
#endif /* HAVE_WINDOW_SYSTEM */
/* Defined in image.c. */
-extern Lisp_Object QCascent, QCmargin, QCrelief;
-extern Lisp_Object QCconversion;
extern int x_bitmap_mask (struct frame *, ptrdiff_t);
extern void reset_image_types (void);
extern void syms_of_image (void);
/* Defined in insdel.c. */
-extern Lisp_Object Qinhibit_modification_hooks;
-extern Lisp_Object Qregion_extract_function;
extern void move_gap_both (ptrdiff_t, ptrdiff_t);
extern _Noreturn void buffer_overflow (void);
extern void make_gap (ptrdiff_t);
extern Lisp_Object sit_for (Lisp_Object, bool, int);
/* Defined in xdisp.c. */
-extern Lisp_Object Qinhibit_point_motion_hooks;
-extern Lisp_Object Qinhibit_redisplay;
-extern Lisp_Object Qmenu_bar_update_hook;
-extern Lisp_Object Qwindow_scroll_functions;
-extern Lisp_Object Qoverriding_local_map, Qoverriding_terminal_local_map;
-extern Lisp_Object Qtext, Qboth, Qboth_horiz, Qtext_image_horiz;
-extern Lisp_Object Qspace, Qcenter, QCalign_to;
-extern Lisp_Object Qbar, Qhbar, Qhollow;
-extern Lisp_Object Qleft_margin, Qright_margin;
-extern Lisp_Object QCdata, QCfile;
-extern Lisp_Object QCmap;
-extern Lisp_Object Qrisky_local_variable;
extern bool noninteractive_need_newline;
extern Lisp_Object echo_area_buffer[2];
extern void add_to_log (const char *, Lisp_Object, Lisp_Object);
extern Lisp_Object pure_cons (Lisp_Object, Lisp_Object);
extern void make_byte_code (struct Lisp_Vector *);
-extern Lisp_Object Qautomatic_gc;
-extern Lisp_Object Qchar_table_extra_slots;
extern struct Lisp_Vector *allocate_vector (EMACS_INT);
/* Make an uninitialized vector for SIZE objects. NOTE: you must
/* Defined in print.c. */
extern Lisp_Object Vprin1_to_string_buffer;
extern void debug_print (Lisp_Object) EXTERNALLY_VISIBLE;
-extern Lisp_Object Qstandard_output;
-extern Lisp_Object Qexternal_debugging_output;
extern void temp_output_buffer_setup (const char *);
extern int print_level;
-extern Lisp_Object Qprint_escape_newlines;
extern void write_string (const char *, int);
extern void print_error_message (Lisp_Object, Lisp_Object, const char *,
Lisp_Object);
ATTRIBUTE_FORMAT_PRINTF (5, 0);
/* Defined in lread.c. */
-extern Lisp_Object Qsize, Qvariable_documentation, Qstandard_input;
-extern Lisp_Object Qbackquote, Qcomma, Qcomma_at, Qcomma_dot, Qfunction;
-extern Lisp_Object Qlexical_binding;
extern Lisp_Object check_obarray (Lisp_Object);
extern Lisp_Object intern_1 (const char *, ptrdiff_t);
extern Lisp_Object intern_c_string_1 (const char *, ptrdiff_t);
-extern Lisp_Object intern_driver (Lisp_Object, Lisp_Object, ptrdiff_t);
+extern Lisp_Object intern_driver (Lisp_Object, Lisp_Object, Lisp_Object);
+extern void init_symbol (Lisp_Object, Lisp_Object);
extern Lisp_Object oblookup (Lisp_Object, const char *, ptrdiff_t, ptrdiff_t);
INLINE void
LOADHIST_ATTACH (Lisp_Object x)
/* Defined in eval.c. */
extern EMACS_INT lisp_eval_depth;
-extern Lisp_Object Qexit, Qinteractive, Qcommandp, Qmacro;
-extern Lisp_Object Qinhibit_quit, Qinternal_interpreter_environment, Qclosure;
-extern Lisp_Object Qand_rest;
extern Lisp_Object Vautoload_queue;
+extern Lisp_Object Vrun_hooks;
extern Lisp_Object Vsignaling_function;
extern Lisp_Object inhibit_lisp_code;
extern struct handler *handlerlist;
call1 (Vrun_hooks, Qmy_funny_hook);
should no longer be used. */
-extern Lisp_Object Vrun_hooks;
+extern void run_hook (Lisp_Object);
extern void run_hook_with_args_2 (Lisp_Object, Lisp_Object, Lisp_Object);
extern Lisp_Object run_hook_with_args (ptrdiff_t nargs, Lisp_Object *args,
Lisp_Object (*funcall)
/* Defined in editfns.c. */
-extern Lisp_Object Qfield;
extern void insert1 (Lisp_Object);
extern Lisp_Object format2 (const char *, Lisp_Object, Lisp_Object);
extern Lisp_Object save_excursion_save (void);
/* Defined in fileio.c. */
-extern Lisp_Object Qfile_error;
-extern Lisp_Object Qfile_notify_error;
-extern Lisp_Object Qfile_exists_p;
-extern Lisp_Object Qfile_directory_p;
-extern Lisp_Object Qinsert_file_contents;
-extern Lisp_Object Qfile_name_history;
extern Lisp_Object expand_and_dir_to_file (Lisp_Object, Lisp_Object);
extern Lisp_Object write_region (Lisp_Object, Lisp_Object, Lisp_Object,
Lisp_Object, Lisp_Object, Lisp_Object,
extern void init_fileio (void);
extern void syms_of_fileio (void);
extern Lisp_Object make_temp_name (Lisp_Object, bool);
-extern Lisp_Object Qdelete_file;
/* Defined in search.c. */
extern void shrink_regexp_cache (void);
/* Defined in minibuf.c. */
-extern Lisp_Object Qcompletion_ignore_case;
extern Lisp_Object Vminibuffer_list;
extern Lisp_Object last_minibuf_string;
extern Lisp_Object get_minibuffer (EMACS_INT);
/* Defined in callint.c. */
-extern Lisp_Object Qminus, Qplus;
-extern Lisp_Object Qprogn;
-extern Lisp_Object Qwhen;
-extern Lisp_Object Qmouse_leave_buffer_hook;
extern void syms_of_callint (void);
/* Defined in casefiddle.c. */
-extern Lisp_Object Qidentity;
extern void syms_of_casefiddle (void);
extern void keys_of_casefiddle (void);
extern Lisp_Object echo_message_buffer;
extern struct kboard *echo_kboard;
extern void cancel_echoing (void);
-extern Lisp_Object Qdisabled, QCfilter;
-extern Lisp_Object Qup, Qdown;
extern Lisp_Object last_undo_boundary;
extern bool input_pending;
#ifdef HAVE_STACK_OVERFLOW_HANDLING
extern void syms_of_indent (void);
/* Defined in frame.c. */
-extern Lisp_Object Qonly, Qnone;
extern void store_frame_param (struct frame *, Lisp_Object, Lisp_Object);
extern void store_in_alist (Lisp_Object *, Lisp_Object, Lisp_Object);
extern Lisp_Object do_switch_frame (Lisp_Object, int, int, Lisp_Object);
#endif
extern Lisp_Object decode_env_path (const char *, const char *, bool);
extern Lisp_Object empty_unibyte_string, empty_multibyte_string;
-extern Lisp_Object Qfile_name_handler_alist;
extern _Noreturn void terminate_due_to_signal (int, int);
-extern Lisp_Object Qkill_emacs;
#ifdef WINDOWSNT
extern Lisp_Object Vlibrary_cache;
#endif
extern bool running_asynch_code;
/* Defined in process.c. */
-extern Lisp_Object QCtype, Qlocal;
extern void kill_buffer_processes (Lisp_Object);
extern int wait_reading_process_output (intmax_t, int, int, bool, Lisp_Object,
struct Lisp_Process *, int);
extern void syms_of_callproc (void);
/* Defined in doc.c. */
-extern Lisp_Object Qfunction_documentation;
extern Lisp_Object read_doc_string (Lisp_Object);
extern Lisp_Object get_doc_string (Lisp_Object, bool, bool);
extern void syms_of_doc (void);
extern void syms_of_macros (void);
/* Defined in undo.c. */
-extern Lisp_Object Qapply;
-extern Lisp_Object Qinhibit_read_only;
extern void truncate_undo_list (struct buffer *);
extern void record_insert (ptrdiff_t, ptrdiff_t);
extern void record_delete (ptrdiff_t, Lisp_Object, bool);
Lisp_Object, Lisp_Object,
Lisp_Object);
extern void syms_of_undo (void);
-/* Defined in textprop.c. */
-extern Lisp_Object Qmouse_face;
-extern Lisp_Object Qinsert_in_front_hooks, Qinsert_behind_hooks;
-extern Lisp_Object Qminibuffer_prompt;
+/* Defined in textprop.c. */
extern void report_interval_modification (Lisp_Object, Lisp_Object);
/* Defined in menu.c. */
#ifdef HAVE_WINDOW_SYSTEM
/* Defined in fontset.c. */
extern void syms_of_fontset (void);
-
-/* Defined in xfns.c, w32fns.c, or macfns.c. */
-extern Lisp_Object Qfont_param;
#endif
/* Defined in gfilenotify.c */
#endif
/* Defined in xfaces.c. */
-extern Lisp_Object Qdefault, Qfringe;
-extern Lisp_Object Qscroll_bar, Qcursor;
-extern Lisp_Object Qmode_line_inactive;
-extern Lisp_Object Qface;
-extern Lisp_Object Qnormal;
-extern Lisp_Object QCfamily, QCweight, QCslant;
-extern Lisp_Object QCheight, QCname, QCwidth, QCforeground, QCbackground;
-extern Lisp_Object Qextra_light, Qlight, Qsemi_light, Qsemi_bold;
-extern Lisp_Object Qbold, Qextra_bold, Qultra_bold;
-extern Lisp_Object Qoblique, Qitalic;
extern Lisp_Object Vface_alternative_font_family_alist;
extern Lisp_Object Vface_alternative_font_registry_alist;
extern void syms_of_xfaces (void);
### lisp.mk --- src/Makefile fragment for GNU Emacs
-## Copyright (C) 1985, 1987-1988, 1993-1995, 1999-2014 Free Software
+## Copyright (C) 1985, 1987-1988, 1993-1995, 1999-2015 Free Software
## Foundation, Inc.
## This file is part of GNU Emacs.
/* Lisp parsing and input streams.
-Copyright (C) 1985-1989, 1993-1995, 1997-2014 Free Software Foundation,
+Copyright (C) 1985-1989, 1993-1995, 1997-2015 Free Software Foundation,
Inc.
This file is part of GNU Emacs.
You should have received a copy of the GNU General Public License
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
+/* Tell globals.h to define tables needed by init_obarray. */
+#define DEFINE_SYMBOLS
#include <config.h>
#include "sysstdio.h"
#define file_tell ftell
#endif
-/* Hash table read constants. */
-static Lisp_Object Qhash_table, Qdata;
-static Lisp_Object Qtest;
-Lisp_Object Qsize;
-static Lisp_Object Qweakness;
-static Lisp_Object Qrehash_size;
-static Lisp_Object Qrehash_threshold;
-
-static Lisp_Object Qread_char, Qget_file_char, Qcurrent_load_list;
-Lisp_Object Qstandard_input;
-Lisp_Object Qvariable_documentation;
-static Lisp_Object Qascii_character, Qload, Qload_file_name;
-Lisp_Object Qbackquote, Qcomma, Qcomma_at, Qcomma_dot, Qfunction;
-static Lisp_Object Qinhibit_file_name_operation;
-static Lisp_Object Qeval_buffer_list;
-Lisp_Object Qlexical_binding;
-static Lisp_Object Qfile_truename, Qdo_after_load_evaluation; /* ACM 2006/5/16 */
-
-/* Used instead of Qget_file_char while loading *.elc files compiled
- by Emacs 21 or older. */
-static Lisp_Object Qget_emacs_mule_file_char;
-
-static Lisp_Object Qload_force_doc_strings;
-
-static Lisp_Object Qload_in_progress;
-
/* The association list of objects read with the #n=object form.
Each member of the list has the form (n . object), and is used to
look up the object for the corresponding #n# construct.
Fread initializes this to false, so we need not specbind it
or worry about what happens to it when there is an error. */
static bool new_backquote_flag;
-static Lisp_Object Qold_style_backquotes;
/* A list of file names for files being loaded in Fload. Used to
check for recursive loads. */
return file;
}
-static Lisp_Object Qdir_ok;
-
/* Search for a file whose name is STR, looking in directories
in the Lisp list PATH, and trying suffixes from SUFFIX.
On success, return a file descriptor (or 1 or -2 as described below).
return obarray;
}
-/* Intern a symbol with name STRING in OBARRAY using bucket INDEX. */
+/* Intern symbol SYM in OBARRAY using bucket INDEX. */
-Lisp_Object
-intern_driver (Lisp_Object string, Lisp_Object obarray, ptrdiff_t index)
+static Lisp_Object
+intern_sym (Lisp_Object sym, Lisp_Object obarray, Lisp_Object index)
{
- Lisp_Object *ptr, sym = Fmake_symbol (string);
+ Lisp_Object *ptr;
XSYMBOL (sym)->interned = (EQ (obarray, initial_obarray)
? SYMBOL_INTERNED_IN_INITIAL_OBARRAY
: SYMBOL_INTERNED);
- if ((SREF (string, 0) == ':') && EQ (obarray, initial_obarray))
+ if (SREF (SYMBOL_NAME (sym), 0) == ':' && EQ (obarray, initial_obarray))
{
XSYMBOL (sym)->constant = 1;
XSYMBOL (sym)->redirect = SYMBOL_PLAINVAL;
SET_SYMBOL_VAL (XSYMBOL (sym), sym);
}
- ptr = aref_addr (obarray, index);
+ ptr = aref_addr (obarray, XINT (index));
set_symbol_next (sym, SYMBOLP (*ptr) ? XSYMBOL (*ptr) : NULL);
*ptr = sym;
return sym;
}
+/* Intern a symbol with name STRING in OBARRAY using bucket INDEX. */
+
+Lisp_Object
+intern_driver (Lisp_Object string, Lisp_Object obarray, Lisp_Object index)
+{
+ return intern_sym (Fmake_symbol (string), obarray, index);
+}
+
/* Intern the C string STR: return a symbol with that name,
interned in the current obarray. */
Lisp_Object tem = oblookup (obarray, str, len, len);
return SYMBOLP (tem) ? tem : intern_driver (make_string (str, len),
- obarray, XINT (tem));
+ obarray, tem);
}
Lisp_Object
/* Creating a non-pure string from a string literal not implemented yet.
We could just use make_string here and live with the extra copy. */
eassert (!NILP (Vpurify_flag));
- tem = intern_driver (make_pure_c_string (str, len), obarray, XINT (tem));
+ tem = intern_driver (make_pure_c_string (str, len), obarray, tem);
}
return tem;
}
+
+static void
+define_symbol (Lisp_Object sym, char const *str)
+{
+ ptrdiff_t len = strlen (str);
+ Lisp_Object string = make_pure_c_string (str, len);
+ init_symbol (sym, string);
+
+ /* Qunbound is uninterned, so that it's not confused with any symbol
+ 'unbound' created by a Lisp program. */
+ if (! EQ (sym, Qunbound))
+ {
+ Lisp_Object bucket = oblookup (initial_obarray, str, len, len);
+ eassert (INTEGERP (bucket));
+ intern_sym (sym, initial_obarray, bucket);
+ }
+}
\f
DEFUN ("intern", Fintern, Sintern, 1, 2, 0,
doc: /* Return the canonical symbol whose name is STRING.
tem = oblookup (obarray, SSDATA (string), SCHARS (string), SBYTES (string));
if (!SYMBOLP (tem))
- tem = intern_driver (NILP (Vpurify_flag) ? string
- : Fpurecopy (string), obarray, XINT (tem));
+ tem = intern_driver (NILP (Vpurify_flag) ? string : Fpurecopy (string),
+ obarray, tem);
return tem;
}
initial_obarray = Vobarray;
staticpro (&initial_obarray);
- Qunbound = Fmake_symbol (build_pure_c_string ("unbound"));
- /* Set temporary dummy values to Qnil and Vpurify_flag to satisfy the
- NILP (Vpurify_flag) check in intern_c_string. */
- Qnil = make_number (-1); Vpurify_flag = make_number (1);
- Qnil = intern_c_string ("nil");
-
- /* Fmake_symbol inits fields of new symbols with Qunbound and Qnil,
- so those two need to be fixed manually. */
- SET_SYMBOL_VAL (XSYMBOL (Qunbound), Qunbound);
- set_symbol_function (Qunbound, Qnil);
- set_symbol_plist (Qunbound, Qnil);
+ for (int i = 0; i < ARRAYELTS (lispsym); i++)
+ define_symbol (make_lisp_symbol (&lispsym[i]), defsym_name[i]);
+
+ DEFSYM (Qunbound, "unbound");
+
+ DEFSYM (Qnil, "nil");
SET_SYMBOL_VAL (XSYMBOL (Qnil), Qnil);
XSYMBOL (Qnil)->constant = 1;
XSYMBOL (Qnil)->declared_special = true;
- set_symbol_plist (Qnil, Qnil);
- set_symbol_function (Qnil, Qnil);
- Qt = intern_c_string ("t");
+ DEFSYM (Qt, "t");
SET_SYMBOL_VAL (XSYMBOL (Qt), Qt);
XSYMBOL (Qt)->constant = 1;
XSYMBOL (Qt)->declared_special = true;
DEFSYM (Qstandard_input, "standard-input");
DEFSYM (Qread_char, "read-char");
DEFSYM (Qget_file_char, "get-file-char");
+
+ /* Used instead of Qget_file_char while loading *.elc files compiled
+ by Emacs 21 or older. */
DEFSYM (Qget_emacs_mule_file_char, "get-emacs-mule-file-char");
+
DEFSYM (Qload_force_doc_strings, "load-force-doc-strings");
DEFSYM (Qbackquote, "`");
/* Interface definition for Mac OSX Core text font backend.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Font driver on Mac OSX Core text.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
static struct font_driver macfont_driver;
-/* Core Text, for Mac OS X. */
-static Lisp_Object Qmac_ct;
-
static double mac_ctfont_get_advance_width_for_glyph (CTFontRef, CGGlyph);
static CGRect mac_ctfont_get_bounding_rect_for_glyph (CTFontRef, CGGlyph);
static CFArrayRef mac_ctfont_create_available_families (void);
CGFontIndex);
#endif
-/* The font property key specifying the font design destination. The
- value is an unsigned integer code: 0 for WYSIWYG, and 1 for Video
- text. (See the documentation of X Logical Font Description
- Conventions.) In the Mac font driver, 1 means the screen font is
- used for calculating some glyph metrics. You can see the
- difference with Monaco 8pt or 9pt, for example. */
-static Lisp_Object QCdestination;
-
-/* The boolean-valued font property key specifying the use of
- leading. */
-static Lisp_Object QCminspace;
-
struct macfont_metrics;
/* The actual structure for Mac font that can be cast to struct font. */
{
static struct font_driver mac_font_driver;
+ /* Core Text, for Mac OS X. */
DEFSYM (Qmac_ct, "mac-ct");
macfont_driver.type = Qmac_ct;
register_font_driver (&macfont_driver, NULL);
+ /* The font property key specifying the font design destination. The
+ value is an unsigned integer code: 0 for WYSIWYG, and 1 for Video
+ text. (See the documentation of X Logical Font Description
+ Conventions.) In the Mac font driver, 1 means the screen font is
+ used for calculating some glyph metrics. You can see the
+ difference with Monaco 8pt or 9pt, for example. */
DEFSYM (QCdestination, ":destination");
+
+ /* The boolean-valued font property key specifying the use of leading. */
DEFSYM (QCminspace, ":minspace");
}
/* Keyboard macros.
-Copyright (C) 1985-1986, 1993, 2000-2014 Free Software Foundation, Inc.
+Copyright (C) 1985-1986, 1993, 2000-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
#include "window.h"
#include "keyboard.h"
-static Lisp_Object Qexecute_kbd_macro;
-static Lisp_Object Qkbd_macro_termination_hook;
-
/* Number of successful iterations so far
for innermost keyboard macro.
This is not bound at each level,
tem = XCDR (info);
executing_kbd_macro_index = XINT (XCAR (tem));
Vreal_this_command = XCDR (tem);
- Frun_hooks (1, &Qkbd_macro_termination_hook);
+ run_hook (Qkbd_macro_termination_hook);
}
DEFUN ("execute-kbd-macro", Fexecute_kbd_macro, Sexecute_kbd_macro, 1, 3, 0,
/* Definitions for keyboard macro interpretation in GNU Emacs.
- Copyright (C) 1985, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1985, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
# -*- Makefile -*- for GNU Emacs on the Microsoft Windows API.
-# Copyright (C) 2000-2014 Free Software Foundation, Inc.
+# Copyright (C) 2000-2015 Free Software Foundation, Inc.
# This file is part of GNU Emacs.
/* Markers: examining, setting and deleting.
- Copyright (C) 1985, 1997-1998, 2001-2014 Free Software Foundation,
+ Copyright (C) 1985, 1997-1998, 2001-2015 Free Software Foundation,
Inc.
This file is part of GNU Emacs.
/* Platform-independent code for terminal communications.
-Copyright (C) 1986, 1988, 1993-1994, 1996, 1999-2014 Free Software
+Copyright (C) 1986, 1988, 1993-1994, 1996, 1999-2015 Free Software
Foundation, Inc.
This file is part of GNU Emacs.
/* Functions to manipulate menus.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
#include "systime.h" /* for Time */
#include "../lwlib/lwlib-widget.h"
-#ifdef HAVE_NTGUI
-extern Lisp_Object Qunsupported__w32_dialog;
-#endif
-
/* Bit fields used by terminal-specific menu_show_hook. */
enum {
/* Minibuffer input and completion.
-Copyright (C) 1985-1986, 1993-2014 Free Software Foundation, Inc.
+Copyright (C) 1985-1986, 1993-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
EMACS_INT minibuf_level;
-/* The maximum length of a minibuffer history. */
-
-static Lisp_Object Qhistory_length;
-
/* Fread_minibuffer leaves the input here as a string. */
Lisp_Object last_minibuf_string;
-static Lisp_Object Qminibuffer_history, Qbuffer_name_history;
-
-static Lisp_Object Qread_file_name_internal;
-
-/* Normal hooks for entry to and exit from minibuffer. */
-
-static Lisp_Object Qminibuffer_setup_hook;
-static Lisp_Object Qminibuffer_exit_hook;
-
-Lisp_Object Qcompletion_ignore_case;
-static Lisp_Object Qminibuffer_completion_table;
-static Lisp_Object Qminibuffer_completion_predicate;
-static Lisp_Object Qminibuffer_completion_confirm;
-static Lisp_Object Qcustom_variable_p;
-
-static Lisp_Object Qminibuffer_default;
-
-static Lisp_Object Qcurrent_input_method, Qactivate_input_method;
-
-static Lisp_Object Qcase_fold_search;
-
-static Lisp_Object Qread_expression_history;
-
/* Prompt to display in front of the mini-buffer contents. */
static Lisp_Object minibuf_prompt;
if (STRINGP (input_method) && !NILP (Ffboundp (Qactivate_input_method)))
call1 (Qactivate_input_method, input_method);
- Frun_hooks (1, &Qminibuffer_setup_hook);
+ run_hook (Qminibuffer_setup_hook);
/* Don't allow the user to undo past this point. */
bset_undo_list (current_buffer, Qnil);
return Qt;
}
-static Lisp_Object Qmetadata;
-
DEFUN ("internal-complete-buffer", Finternal_complete_buffer, Sinternal_complete_buffer, 3, 3, 0,
doc: /* Perform completion on buffer names.
STRING and PREDICATE have the same meanings as in `try-completion',
Fset (Qbuffer_name_history, Qnil);
DEFSYM (Qcustom_variable_p, "custom-variable-p");
+
+ /* Normal hooks for entry to and exit from minibuffer. */
DEFSYM (Qminibuffer_setup_hook, "minibuffer-setup-hook");
DEFSYM (Qminibuffer_exit_hook, "minibuffer-exit-hook");
+
+ /* The maximum length of a minibuffer history. */
DEFSYM (Qhistory_length, "history-length");
+
DEFSYM (Qcurrent_input_method, "current-input-method");
DEFSYM (Qactivate_input_method, "activate-input-method");
DEFSYM (Qcase_fold_search, "case-fold-search");
/* MS-DOS specific C utilities. -*- coding: cp850 -*-
-Copyright (C) 1993-1997, 1999-2014 Free Software Foundation, Inc.
+Copyright (C) 1993-1997, 1999-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* MS-DOS specific C utilities, interface.
- Copyright (C) 1993, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1993, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Functions for the NeXT/Open/GNUstep and MacOSX window system.
-Copyright (C) 1989, 1992-1994, 2005-2006, 2008-2014 Free Software
+Copyright (C) 1989, 1992-1994, 2005-2006, 2008-2015 Free Software
Foundation, Inc.
This file is part of GNU Emacs.
extern NSArray *ns_send_types, *ns_return_types, *ns_drag_types;
-extern Lisp_Object Qforeground_color;
-extern Lisp_Object Qbackground_color;
-extern Lisp_Object Qcursor_color;
-extern Lisp_Object Qinternal_border_width;
-extern Lisp_Object Qvisibility;
-extern Lisp_Object Qcursor_type;
-extern Lisp_Object Qicon_type;
-extern Lisp_Object Qicon_name;
-extern Lisp_Object Qicon_left;
-extern Lisp_Object Qicon_top;
-extern Lisp_Object Qtop;
-extern Lisp_Object Qdisplay;
-extern Lisp_Object Qvertical_scroll_bars;
-extern Lisp_Object Qhorizontal_scroll_bars;
-extern Lisp_Object Qauto_raise;
-extern Lisp_Object Qauto_lower;
-extern Lisp_Object Qbox;
-extern Lisp_Object Qscroll_bar_width;
-extern Lisp_Object Qscroll_bar_height;
-extern Lisp_Object Qx_resource_name;
-extern Lisp_Object Qface_set_after_frame_default;
-extern Lisp_Object Qunderline, Qundefined;
-extern Lisp_Object Qheight, Qminibuffer, Qname, Qonly, Qwidth;
-extern Lisp_Object Qunsplittable, Qmenu_bar_lines, Qbuffer_predicate, Qtitle;
-
-
-Lisp_Object Qbuffered;
-Lisp_Object Qfontsize;
-
EmacsTooltip *ns_tooltip = nil;
/* Need forward declaration here to preserve organizational integrity of file */
/* Font back-end driver for the NeXT/Open/GNUstep and MacOSX window system.
See font.h
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
#define NSFONT_TRACE 0
#define LCD_SMOOTHING_MARGIN 2
-extern Lisp_Object Qns;
-extern Lisp_Object Qnormal, Qbold, Qitalic;
-static Lisp_Object Qapple, Qroman, Qmedium;
-static Lisp_Object Qcondensed, Qexpanded;
-extern Lisp_Object Qappend;
extern float ns_antialias_threshold;
characterIndex: (NSUInteger)charIndex
{
len = glyphIndex+length;
- for (i =glyphIndex; i<len; i++)
+ for (i =glyphIndex; i<len; i++)
cglyphs[i] = glyphs[i-glyphIndex];
if (len > maxGlyph)
maxGlyph = len;
/* Definitions and headers for communication on the NeXT/Open/GNUstep API.
- Copyright (C) 1995, 2005, 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 1995, 2005, 2008-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Image support for the NeXT/Open/GNUstep and MacOSX window system.
- Copyright (C) 1989, 1992-1994, 2005-2006, 2008-2014 Free Software
+ Copyright (C) 1989, 1992-1994, 2005-2006, 2008-2015 Free Software
Foundation, Inc.
This file is part of GNU Emacs.
#include "nsterm.h"
#include "frame.h"
-extern Lisp_Object QCfile, QCdata;
-
/* call tracing */
#if 0
int image_trace_num = 0;
{
if ([rep respondsToSelector: @selector (getBitmapDataPlanes:)])
{
- NSBitmapImageRep *bmRep = (NSBitmapImageRep *) rep;
+ NSBitmapImageRep *bmr = (NSBitmapImageRep *) rep;
- if ([bmRep numberOfPlanes] >= 3)
- [bmRep getBitmapDataPlanes: pixmapData];
+ if ([bmr numberOfPlanes] >= 3)
+ [bmr getBitmapDataPlanes: pixmapData];
/* The next two lines cause the DPI of the image to be ignored.
This seems to be the behavior users expect. */
[self setScalesWhenResized: YES];
- [self setSize: NSMakeSize([bmRep pixelsWide], [bmRep pixelsHigh])];
+ [self setSize: NSMakeSize([bmr pixelsWide], [bmr pixelsHigh])];
break;
}
/* NeXT/Open/GNUstep and MacOSX Cocoa menu and toolbar module.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
#include "nsmenu_common.c"
#endif
-extern Lisp_Object Qundefined, Qmenu_enable, Qmenu_bar_update_hook;
-extern Lisp_Object QCtoggle, QCradio;
-
-Lisp_Object Qdebug_on_next_call;
-extern Lisp_Object Qoverriding_local_map, Qoverriding_terminal_local_map;
-
extern long context_menu_value;
EmacsMenu *mainMenu, *svcsMenu, *dockMenu;
/* NeXT/Open/GNUstep / MacOSX Cocoa selection processing for emacs.
- Copyright (C) 1993-1994, 2005-2006, 2008-2014 Free Software
+ Copyright (C) 1993-1994, 2005-2006, 2008-2015 Free Software
Foundation, Inc.
This file is part of GNU Emacs.
#include "termhooks.h"
#include "keyboard.h"
-static Lisp_Object QCLIPBOARD, QSECONDARY, QTEXT, QFILE_NAME;
-
static Lisp_Object Vselection_alist;
/* NSGeneralPboard is pretty much analogous to X11 CLIPBOARD */
if (EQ (selection, Qnil)) selection = QPRIMARY;
if (EQ (selection, Qt)) selection = QSECONDARY;
return ns_get_pb_change_count (selection)
- == ns_get_our_change_count_for (selection);
+ == ns_get_our_change_count_for (selection)
+ ? Qt : Qnil;
}
/* Definitions and headers for communication with NeXT/Open/GNUstep API.
- Copyright (C) 1989, 1993, 2005, 2008-2014 Free Software Foundation,
+ Copyright (C) 1989, 1993, 2005, 2008-2015 Free Software Foundation,
Inc.
This file is part of GNU Emacs.
void ns_dump_glyphstring (struct glyph_string *s);
/* Implemented in nsterm, published in or needed from nsfns. */
-extern Lisp_Object Qfontsize;
extern Lisp_Object ns_list_fonts (struct frame *f, Lisp_Object pattern,
int size, int maxnames);
extern void ns_clear_frame (struct frame *f);
/* NeXT/Open/GNUstep / MacOSX communication module.
-Copyright (C) 1989, 1993-1994, 2005-2006, 2008-2014 Free Software
+Copyright (C) 1989, 1993-1994, 2005-2006, 2008-2015 Free Software
Foundation, Inc.
This file is part of GNU Emacs.
0x1B, 0x1B /* escape */
};
-static Lisp_Object Qmodifier_value;
-Lisp_Object Qalt, Qcontrol, Qhyper, Qmeta, Qsuper;
-extern Lisp_Object Qcursor_color, Qcursor_type, Qns;
-
-static Lisp_Object QUTF8_STRING;
-static Lisp_Object Qcocoa, Qgnustep;
-static Lisp_Object Qfile, Qurl;
-
/* On OS X picks up the default NSGlobalDomain AppleAntiAliasingThreshold,
the maximum font size to NOT antialias. On GNUstep there is currently
no way to control this behavior. */
[view setBoundsOrigin: origin];
}
- change_frame_size (f, width, height, 0, 1, 0, pixelwise);
-/* SET_FRAME_GARBAGED (f); // this short-circuits expose call in drawRect */
-
- mark_window_cursors_off (XWINDOW (f->root_window));
- cancel_mouse_face (f);
-
+ [view updateFrameSize: NO];
unblock_input ();
-
- do_pending_window_change (0);
}
/* Lisp object printing and output streams.
-Copyright (C) 1985-1986, 1988, 1993-1995, 1997-2014 Free Software
+Copyright (C) 1985-1986, 1988, 1993-1995, 1997-2015 Free Software
Foundation, Inc.
This file is part of GNU Emacs.
#include "termhooks.h" /* For struct terminal. */
#include "font.h"
-Lisp_Object Qstandard_output;
-
-static Lisp_Object Qtemp_buffer_setup_hook;
-
-/* These are used to print like we read. */
-
-static Lisp_Object Qfloat_output_format;
-
#include <float.h>
#include <ftoastr.h>
/* Bytes stored in print_buffer. */
static ptrdiff_t print_buffer_pos_byte;
-Lisp_Object Qprint_escape_newlines;
-static Lisp_Object Qprint_escape_multibyte, Qprint_escape_nonascii;
-
/* Vprint_number_table is a table, that keeps objects that are going to
be printed, to allow use of #n= and #n# to express sharing.
For any given object, the table can give the following values:
Ferase_buffer ();
XSETBUFFER (buf, current_buffer);
- Frun_hooks (1, &Qtemp_buffer_setup_hook);
+ run_hook (Qtemp_buffer_setup_hook);
unbind_to (count, Qnil);
return object;
}
-/* The subroutine object for external-debugging-output is kept here
- for the convenience of the debugger. */
-Lisp_Object Qexternal_debugging_output;
-
DEFUN ("external-debugging-output", Fexternal_debugging_output, Sexternal_debugging_output, 1, 1, 0,
doc: /* Write CHARACTER to stderr.
You can call print while debugging emacs, and pass it this function
void
init_print_once (void)
{
+ /* The subroutine object for external-debugging-output is kept here
+ for the convenience of the debugger. */
DEFSYM (Qexternal_debugging_output, "external-debugging-output");
+
defsubr (&Sexternal_debugging_output);
}
/* Asynchronous subprocess control for GNU Emacs.
-Copyright (C) 1985-1988, 1993-1996, 1998-1999, 2001-2014
- Free Software Foundation, Inc.
+Copyright (C) 1985-1988, 1993-1996, 1998-1999, 2001-2015 Free Software
+Foundation, Inc.
This file is part of GNU Emacs.
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
# pragma GCC diagnostic ignored "-Wstrict-overflow"
#endif
-
-Lisp_Object Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname, Qtpgid;
-Lisp_Object Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcstime;
-Lisp_Object Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs;
-Lisp_Object Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtime, Qctime;
-Lisp_Object QCname, QCtype;
\f
/* True if keyboard input is on hold, zero otherwise. */
# define socket(domain, type, protocol) process_socket (domain, type, protocol)
#endif
-Lisp_Object Qprocessp;
-static Lisp_Object Qrun, Qstop, Qsignal;
-static Lisp_Object Qopen, Qclosed, Qconnect, Qfailed, Qlisten;
-Lisp_Object Qlocal;
-static Lisp_Object Qipv4, Qdatagram, Qseqpacket;
-static Lisp_Object Qreal, Qnetwork, Qserial;
-#ifdef AF_INET6
-static Lisp_Object Qipv6;
-#endif
-static Lisp_Object QCport, QCprocess;
-Lisp_Object QCspeed;
-Lisp_Object QCbytesize, QCstopbits, QCparity, Qodd, Qeven;
-Lisp_Object QCflowcontrol, Qhw, Qsw, QCsummary;
-static Lisp_Object QCbuffer, QChost, QCservice;
-static Lisp_Object QClocal, QCremote, QCcoding;
-static Lisp_Object QCserver, QCnowait, QCnoquery, QCstop;
-static Lisp_Object QCsentinel, QClog, QCoptions, QCplist;
-static Lisp_Object Qlast_nonmenu_event;
-static Lisp_Object Qinternal_default_process_sentinel;
-static Lisp_Object Qinternal_default_process_filter;
-
#define NETCONN_P(p) (EQ (XPROCESS (p)->type, Qnetwork))
#define NETCONN1_P(p) (EQ (p->type, Qnetwork))
#define SERIALCONN_P(p) (EQ (XPROCESS (p)->type, Qserial))
DEFSYM (Qsignal, "signal");
/* Qexit is already staticpro'd by syms_of_eval; don't staticpro it
- here again.
-
- Qexit = intern_c_string ("exit");
- staticpro (&Qexit); */
+ here again. */
DEFSYM (Qopen, "open");
DEFSYM (Qclosed, "closed");
/* Definitions for asynchronous process control in GNU Emacs.
- Copyright (C) 1985, 1994, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1985, 1994, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
when exiting. */
extern bool inhibit_sentinels;
-extern Lisp_Object Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname;
-extern Lisp_Object Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime;
-extern Lisp_Object Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs;
-extern Lisp_Object Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime;
-extern Lisp_Object Qtime, Qctime;
-extern Lisp_Object QCspeed;
-extern Lisp_Object QCbytesize, QCstopbits, QCparity, Qodd, Qeven;
-extern Lisp_Object QCflowcontrol, Qhw, Qsw, QCsummary;
-
/* Exit statuses for GNU programs that exec other programs. */
enum
{
/* Profiler implementation.
-Copyright (C) 2012-2014 Free Software Foundation, Inc.
+Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
typedef struct Lisp_Hash_Table log_t;
-static Lisp_Object Qprofiler_backtrace_equal;
static struct hash_table_test hashtest_profiler;
static Lisp_Object
/* How much read-only Lisp storage a dumped Emacs needs.
- Copyright (C) 1993, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1993, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Block-relocating memory allocator.
- Copyright (C) 1993, 1995, 2000-2014 Free Software Foundation, Inc.
+ Copyright (C) 1993, 1995, 2000-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
0.12. (Implements POSIX draft P1003.2/D11.2, except for some of the
internationalization features.)
- Copyright (C) 1993-2014 Free Software Foundation, Inc.
+ Copyright (C) 1993-2015 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
/* Definitions for data structures and routines for the regular
expression library, version 0.12.
- Copyright (C) 1985, 1989-1993, 1995, 2000-2014 Free Software
+ Copyright (C) 1985, 1989-1993, 1995, 2000-2015 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
/* Caching facts about regions of the buffer, for optimization.
-Copyright (C) 1985-1989, 1993, 1995, 2001-2014 Free Software Foundation,
+Copyright (C) 1985-1989, 1993, 1995, 2001-2015 Free Software Foundation,
Inc.
This file is part of GNU Emacs.
/* Header file: Caching facts about regions of the buffer, for optimization.
-Copyright (C) 1985-1986, 1993, 1995, 2001-2014 Free Software Foundation,
+Copyright (C) 1985-1986, 1993, 1995, 2001-2015 Free Software Foundation,
Inc.
This file is part of GNU Emacs.
/* Calculate what line insertion or deletion to do, and do it
-Copyright (C) 1985-1986, 1990, 1993-1994, 2001-2014 Free Software
+Copyright (C) 1985-1986, 1990, 1993-1994, 2001-2015 Free Software
Foundation, Inc.
This file is part of GNU Emacs.
/* String search routines for GNU Emacs.
-Copyright (C) 1985-1987, 1993-1994, 1997-1999, 2001-2014 Free Software
+Copyright (C) 1985-1987, 1993-1994, 1997-1999, 2001-2015 Free Software
Foundation, Inc.
This file is part of GNU Emacs.
Qnil if no searching has been done yet. */
static Lisp_Object last_thing_searched;
-/* Error condition signaled when regexp compile_pattern fails. */
-static Lisp_Object Qinvalid_regexp;
-
-/* Error condition used for failing searches. */
-static Lisp_Object Qsearch_failed;
-
static void set_search_regs (ptrdiff_t, ptrdiff_t);
static void save_search_regs (void);
static EMACS_INT simple_search (EMACS_INT, unsigned char *, ptrdiff_t,
}
searchbuf_head = &searchbufs[0];
+ /* Error condition used for failing searches. */
DEFSYM (Qsearch_failed, "search-failed");
+
+ /* Error condition signaled when regexp compile_pattern fails. */
DEFSYM (Qinvalid_regexp, "invalid-regexp");
Fput (Qsearch_failed, Qerror_conditions,
/* simulate `sbrk' with an array in .bss, for `unexec' support for Cygwin;
complete rewrite of xemacs Cygwin `unexec' code
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* sound.c -- sound support.
-Copyright (C) 1998-1999, 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 1998-1999, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* BEGIN: Common Definitions */
-/* Symbols. */
-
-static Lisp_Object QCvolume, QCdevice;
-static Lisp_Object Qsound;
-static Lisp_Object Qplay_sound_functions;
-
/* Indices of attributes in a sound attributes vector. */
enum sound_attr
/* GNU Emacs routines to deal with syntax tables; also word and list parsing.
- Copyright (C) 1985, 1987, 1993-1995, 1997-1999, 2001-2014 Free
+ Copyright (C) 1985, 1987, 1993-1995, 1997-1999, 2001-2015 Free
Software Foundation, Inc.
This file is part of GNU Emacs.
ST_STRING_STYLE = 256 + 2
};
-static Lisp_Object Qsyntax_table_p;
-static Lisp_Object Qsyntax_table, Qscan_error;
-
/* This is the internal form of the parse state used in parse-partial-sexp. */
struct lisp_parse_state
/* This has to be done here, before we call Fmake_char_table. */
DEFSYM (Qsyntax_table, "syntax-table");
- /* This variable is DEFSYMed in alloc.c and not initialized yet, so
- intern it here. NOTE: you must guarantee that init_syntax_once
- is called before all other users of this variable. */
- Qchar_table_extra_slots = intern_c_string ("char-table-extra-slots");
-
/* Create objects which can be shared among syntax tables. */
Vsyntax_code_object = make_uninit_vector (Smax);
for (i = 0; i < Smax; i++)
/* Declarations having to do with GNU Emacs syntax tables.
-Copyright (C) 1985, 1993-1994, 1997-1998, 2001-2014 Free Software
+Copyright (C) 1985, 1993-1994, 1997-1998, 2001-2015 Free Software
Foundation, Inc.
This file is part of GNU Emacs.
/* Interfaces to system-dependent kernel and library entries.
- Copyright (C) 1985-1988, 1993-1995, 1999-2014 Free Software
+ Copyright (C) 1985-1988, 1993-1995, 1999-2015 Free Software
Foundation, Inc.
This file is part of GNU Emacs.
#define _P_WAIT 0
int _cdecl _spawnlp (int, const char *, const char *, ...);
int _cdecl _getpid (void);
+/* The following is needed for O_CLOEXEC, F_SETFD, FD_CLOEXEC, and
+ several prototypes of functions called below. */
+#include <sys/socket.h>
#endif
#include "syssignal.h"
}
#endif /* HAVE_PTYS */
\f
-#ifdef HAVE_SOCKETS
-#include <sys/socket.h>
-#include <netdb.h>
-#endif /* HAVE_SOCKETS */
-
-#ifdef TRY_AGAIN
-#ifndef HAVE_H_ERRNO
-extern int h_errno;
-#endif
-#endif /* TRY_AGAIN */
-
void
init_system_name (void)
{
+ char *hostname_alloc = NULL;
+ char *hostname;
#ifndef HAVE_GETHOSTNAME
struct utsname uts;
uname (&uts);
- Vsystem_name = build_string (uts.nodename);
+ hostname = uts.nodename;
#else /* HAVE_GETHOSTNAME */
- char *hostname_alloc = NULL;
char hostname_buf[256];
ptrdiff_t hostname_size = sizeof hostname_buf;
- char *hostname = hostname_buf;
+ hostname = hostname_buf;
/* Try to get the host name; if the buffer is too short, try
again. Apparently, the only indication gethostname gives of
hostname = hostname_alloc = xpalloc (hostname_alloc, &hostname_size, 1,
min (PTRDIFF_MAX, SIZE_MAX), 1);
}
-#ifdef HAVE_SOCKETS
- /* Turn the hostname into the official, fully-qualified hostname.
- Don't do this if we're going to dump; this can confuse system
- libraries on some machines and make the dumped emacs core dump. */
-#ifndef CANNOT_DUMP
- if (initialized)
-#endif /* not CANNOT_DUMP */
- if (! strchr (hostname, '.'))
- {
- int count;
-#ifdef HAVE_GETADDRINFO
- struct addrinfo *res;
- struct addrinfo hints;
- int ret;
-
- memset (&hints, 0, sizeof (hints));
- hints.ai_socktype = SOCK_STREAM;
- hints.ai_flags = AI_CANONNAME;
-
- for (count = 0;; count++)
- {
- if ((ret = getaddrinfo (hostname, NULL, &hints, &res)) == 0
- || ret != EAI_AGAIN)
- break;
-
- if (count >= 5)
- break;
- Fsleep_for (make_number (1), Qnil);
- }
-
- if (ret == 0)
- {
- struct addrinfo *it = res;
- while (it)
- {
- char *fqdn = it->ai_canonname;
- if (fqdn && strchr (fqdn, '.')
- && strcmp (fqdn, "localhost.localdomain") != 0)
- break;
- it = it->ai_next;
- }
- if (it)
- {
- ptrdiff_t len = strlen (it->ai_canonname);
- if (hostname_size <= len)
- {
- hostname_size = len + 1;
- hostname = hostname_alloc = xrealloc (hostname_alloc,
- hostname_size);
- }
- strcpy (hostname, it->ai_canonname);
- }
- freeaddrinfo (res);
- }
-#else /* !HAVE_GETADDRINFO */
- struct hostent *hp;
- for (count = 0;; count++)
- {
-
-#ifdef TRY_AGAIN
- h_errno = 0;
-#endif
- hp = gethostbyname (hostname);
-#ifdef TRY_AGAIN
- if (! (hp == 0 && h_errno == TRY_AGAIN))
-#endif
-
- break;
-
- if (count >= 5)
- break;
- Fsleep_for (make_number (1), Qnil);
- }
-
- if (hp)
- {
- char *fqdn = (char *) hp->h_name;
-
- if (!strchr (fqdn, '.'))
- {
- /* We still don't have a fully qualified domain name.
- Try to find one in the list of alternate names */
- char **alias = hp->h_aliases;
- while (*alias
- && (!strchr (*alias, '.')
- || !strcmp (*alias, "localhost.localdomain")))
- alias++;
- if (*alias)
- fqdn = *alias;
- }
- hostname = fqdn;
- }
-#endif /* !HAVE_GETADDRINFO */
- }
-#endif /* HAVE_SOCKETS */
- Vsystem_name = build_string (hostname);
- xfree (hostname_alloc);
#endif /* HAVE_GETHOSTNAME */
- {
- char *p;
- for (p = SSDATA (Vsystem_name); *p; p++)
- if (*p == ' ' || *p == '\t')
- *p = '-';
- }
+ char *p;
+ for (p = hostname; *p; p++)
+ if (*p == ' ' || *p == '\t')
+ *p = '-';
+ if (! (STRINGP (Vsystem_name) && SBYTES (Vsystem_name) == p - hostname
+ && strcmp (SSDATA (Vsystem_name), hostname) == 0))
+ Vsystem_name = build_string (hostname);
+ xfree (hostname_alloc);
}
\f
sigset_t empty_mask;
/* sysselect.h - System-dependent definitions for the select function.
- Copyright (C) 1995, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1995, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* syssignal.h - System-dependent definitions for signals.
-Copyright (C) 1993, 1999, 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 1993, 1999, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* systime.h - System-dependent definitions for time manipulations.
- Copyright (C) 1993-1994, 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 1993-1994, 2002-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* systty.h - System-dependent definitions for terminals.
- Copyright (C) 1993-1994, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1993-1994, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Define wait system call interface for Emacs.
- Copyright (C) 1993-1995, 2000-2014 Free Software Foundation, Inc.
+ Copyright (C) 1993-1995, 2000-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Terminal control module for terminals described by TERMCAP
- Copyright (C) 1985-1987, 1993-1995, 1998, 2000-2014 Free Software
+ Copyright (C) 1985-1987, 1993-1995, 1998, 2000-2015 Free Software
Foundation, Inc.
This file is part of GNU Emacs.
static int max_frame_cols;
-static Lisp_Object Qtty_mode_set_strings;
-static Lisp_Object Qtty_mode_reset_strings;
-
\f
#ifdef HAVE_GPM
last menu help message. */
static int menu_help_paneno, menu_help_itemno;
-static Lisp_Object Qtty_menu_navigation_map, Qtty_menu_exit;
-static Lisp_Object Qtty_menu_prev_item, Qtty_menu_next_item;
-static Lisp_Object Qtty_menu_next_menu, Qtty_menu_prev_menu;
-static Lisp_Object Qtty_menu_select, Qtty_menu_ignore;
-static Lisp_Object Qtty_menu_mouse_movement;
-
typedef struct tty_menu_struct
{
int count;
/* Work-alike for termcap, plus extra features.
- Copyright (C) 1985-1986, 1993-1995, 2000-2008, 2011, 2013-2014 Free
+ Copyright (C) 1985-1986, 1993-1995, 2000-2008, 2011, 2013-2015 Free
Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
/* Flags and parameters describing terminal's characteristics.
- Copyright (C) 1985-1986, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1985-1986, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Parameters and display hooks for terminal devices.
-Copyright (C) 1985-1986, 1993-1994, 2001-2014 Free Software Foundation,
+Copyright (C) 1985-1986, 1993-1994, 2001-2015 Free Software Foundation,
Inc.
This file is part of GNU Emacs.
/* Functions related to terminal devices.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* The initial terminal device, created by initial_term_init. */
struct terminal *initial_terminal;
-Lisp_Object Qrun_hook_with_args;
-static Lisp_Object Qterminal_live_p;
-static Lisp_Object Qdelete_terminal_functions;
-
static void delete_initial_terminal (struct terminal *);
/* This setter is used only in this file, so it can be private. */
/* Interface from Emacs to terminfo.
- Copyright (C) 1985-1986, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1985-1986, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Flags and parameters describing user options for handling the terminal.
- Copyright (C) 1985-1986, 1990, 2001-2014 Free Software Foundation,
+ Copyright (C) 1985-1986, 1990, 2001-2015 Free Software Foundation,
Inc.
This file is part of GNU Emacs.
/* Interface code for dealing with text properties.
- Copyright (C) 1993-1995, 1997, 1999-2014 Free Software Foundation,
+ Copyright (C) 1993-1995, 1997, 1999-2015 Free Software Foundation,
Inc.
This file is part of GNU Emacs.
is enforced by the subrs installing properties onto the intervals. */
\f
-/* Types of hooks. */
-static Lisp_Object Qmouse_left;
-static Lisp_Object Qmouse_entered;
-Lisp_Object Qpoint_left;
-Lisp_Object Qpoint_entered;
-Lisp_Object Qcategory;
-Lisp_Object Qlocal_map;
-
-/* Visual properties text (including strings) may have. */
-static Lisp_Object Qforeground, Qbackground, Qunderline;
-Lisp_Object Qfont;
-static Lisp_Object Qstipple;
-Lisp_Object Qinvisible, Qintangible, Qmouse_face;
-static Lisp_Object Qread_only;
-Lisp_Object Qminibuffer_prompt;
enum property_set_type
{
TEXT_PROPERTY_APPEND
};
-/* Sticky properties. */
-Lisp_Object Qfront_sticky, Qrear_nonsticky;
-
/* If o1 is a cons whose cdr is a cons, return non-zero and set o2 to
the o1's cdr. Otherwise, return zero. This is handy for
traversing plists. */
interval_insert_in_front_hooks = Qnil;
- /* Common attributes one might give text */
+ /* Common attributes one might give text. */
DEFSYM (Qforeground, "foreground");
DEFSYM (Qbackground, "background");
DEFSYM (Qmouse_face, "mouse-face");
DEFSYM (Qminibuffer_prompt, "minibuffer-prompt");
- /* Properties that text might use to specify certain actions */
+ /* Properties that text might use to specify certain actions. */
DEFSYM (Qmouse_left, "mouse-left");
DEFSYM (Qmouse_entered, "mouse-entered");
/* Merge parameters into a termcap entry string.
- Copyright (C) 1985, 1987, 1993, 1995, 2000-2008, 2013-2014 Free
+ Copyright (C) 1985, 1987, 1993, 1995, 2000-2008, 2013-2015 Free
Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
}
*op = 0;
while (doup-- > 0)
- strcat (op, up);
+ op = stpcpy (op, up);
while (doleft-- > 0)
- strcat (op, left);
+ op = stpcpy (op, left);
return outstring;
}
\f
/* Interface definitions for termcap entries.
-Copyright (C) 2011-2014 Free Software Foundation, Inc.
+Copyright (C) 2011-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* undo handling for GNU Emacs.
- Copyright (C) 1990, 1993-1994, 2000-2014 Free Software Foundation,
+ Copyright (C) 1990, 1993-1994, 2000-2015 Free Software Foundation,
Inc.
This file is part of GNU Emacs.
static struct buffer *last_boundary_buffer;
static ptrdiff_t last_boundary_position;
-Lisp_Object Qinhibit_read_only;
-
-/* Marker for function call undo list elements. */
-
-Lisp_Object Qapply;
-
/* The first time a command records something for undo.
it also allocates the undo-boundary object
which will be added to the list at the end of the command.
syms_of_undo (void)
{
DEFSYM (Qinhibit_read_only, "inhibit-read-only");
+
+ /* Marker for function call undo list elements. */
DEFSYM (Qapply, "apply");
pending_boundary = Qnil;
/* Dump an executable image.
- Copyright (C) 1985-1988, 1999, 2001-2014 Free Software Foundation,
+ Copyright (C) 1985-1988, 1999, 2001-2015 Free Software Foundation,
Inc.
This file is part of GNU Emacs.
-/* Copyright (C) 1985-1988, 1992-1994, 2001-2014 Free Software
+/* Copyright (C) 1985-1988, 1992-1994, 2001-2015 Free Software
* Foundation, Inc.
This file is part of GNU Emacs.
/* unexec() support for Cygwin;
complete rewrite of xemacs Cygwin unexec() code
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
-/* Copyright (C) 1985-1988, 1990, 1992, 1999-2014 Free Software
+/* Copyright (C) 1985-1988, 1990, 1992, 1999-2015 Free Software
Foundation, Inc.
This file is part of GNU Emacs.
/* Dump Emacs in Mach-O format for use on Mac OS X.
- Copyright (C) 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* unexec for GNU Emacs on Windows NT.
- Copyright (C) 1994, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1994, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Functions for memory limit warnings.
- Copyright (C) 1990, 1992, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1990, 1992, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* 16-bit Windows Selection processing for emacs on MS-Windows
-Copyright (C) 1996-1997, 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 1996-1997, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Utility and Unix shadow routines for GNU Emacs on the Microsoft Windows API.
-Copyright (C) 1994-1995, 2000-2014 Free Software Foundation, Inc.
+Copyright (C) 1994-1995, 2000-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
typedef HRESULT (WINAPI * ShGetFolderPath_fn)
(IN HWND, IN int, IN HANDLE, IN DWORD, OUT char *);
-Lisp_Object QCloaded_from;
-
void globals_of_w32 (void);
static DWORD get_rid (PSID);
static int is_symlink (const char *);
int ln;
strcpy (filename, dir_pathname);
- ln = strlen (filename) - 1;
- if (!IS_DIRECTORY_SEP (filename[ln]))
- strcat (filename, "\\");
- strcat (filename, "*");
+ ln = strlen (filename);
+ if (!IS_DIRECTORY_SEP (filename[ln - 1]))
+ filename[ln++] = '\\';
+ strcpy (filename + ln, "*");
/* Note: No need to resolve symlinks in FILENAME, because
FindFirst opens the directory that is the target of a
{
/* Make sure root directories end in a slash. */
if (!IS_DIRECTORY_SEP (name[len-1]))
- strcat (name, "\\");
+ strcpy (name + len, "\\");
if (GetDriveType (name) < 2)
{
errno = ENOENT;
p--;
if (p > linkfn)
strncpy (tem, linkfn, p - linkfn);
- tem[p - linkfn] = '\0';
- strcat (tem, filename);
+ strcpy (tem + (p - linkfn), filename);
dir_access = faccessat (AT_FDCWD, tem, D_OK, AT_EACCESS);
}
else
#define EMACS_W32_H
/* Support routines for the NT version of Emacs.
- Copyright (C) 1994, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1994, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
extern int _sys_read_ahead (int fd);
extern int _sys_wait_accept (int fd);
-extern Lisp_Object QCloaded_from;
extern HMODULE w32_delayed_load (Lisp_Object);
extern int (WINAPI *pMultiByteToWideChar)(UINT,DWORD,LPCSTR,int,LPWSTR,int);
const void* buf, size_t sz);
#endif /* HAVE_GNUTLS */
+/* Definine a function that will be loaded from a DLL. */
+#define DEF_DLL_FN(type, func, args) static type (FAR CDECL *fn_##func) args
+
+/* Load a function from the DLL. */
+#define LOAD_DLL_FN(lib, func) \
+ do \
+ { \
+ fn_##func = (void *) GetProcAddress (lib, #func); \
+ if (!fn_##func) \
+ return false; \
+ } \
+ while (false)
+
#endif /* EMACS_W32_H */
/* Common functions for Microsoft Windows builds of Emacs
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Terminal hooks for GNU Emacs on the Microsoft Windows API.
- Copyright (C) 1992, 1999, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1992, 1999, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Graphical user interface functions for the Microsoft Windows API.
-Copyright (C) 1989, 1992-2014 Free Software Foundation, Inc.
+Copyright (C) 1989, 1992-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
#define IDC_HAND MAKEINTRESOURCE(32649)
#endif
-Lisp_Object Qundefined_color;
-Lisp_Object Qcancel_timer;
-Lisp_Object Qfont_param;
-Lisp_Object Qhyper;
-Lisp_Object Qsuper;
-Lisp_Object Qmeta;
-Lisp_Object Qalt;
-Lisp_Object Qctrl;
-Lisp_Object Qcontrol;
-Lisp_Object Qshift;
-static Lisp_Object Qgeometry, Qworkarea, Qmm_size, Qframes;
-
-
/* Prefix for system colors. */
#define SYSTEM_COLOR_PREFIX "System"
#define SYSTEM_COLOR_PREFIX_LEN (sizeof (SYSTEM_COLOR_PREFIX) - 1)
place the cursor there. Don't include the width of
this glyph. */
last = &row->glyphs[TEXT_AREA][row->used[TEXT_AREA] - 1];
- if (INTEGERP (last->object))
+ if (NILP (last->object))
row_width -= last->pixel_width;
}
else
Don't count that glyph. */
struct glyph *g = row->glyphs[TEXT_AREA];
- if (g->type == STRETCH_GLYPH && INTEGERP (g->object))
+ if (g->type == STRETCH_GLYPH && NILP (g->object))
{
row_width -= g->pixel_width;
seen_reversed_p = 1;
if (row->used[TEXT_AREA] && !row->reversed_p)
{
last = &row->glyphs[TEXT_AREA][row->used[TEXT_AREA] - 1];
- if (INTEGERP (last->object))
+ if (NILP (last->object))
row_width -= last->pixel_width;
}
/* Font backend for the Microsoft Windows API.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
#define JOHAB_CHARSET 130
#endif
-Lisp_Object Qgdi;
-Lisp_Object Quniscribe;
-static Lisp_Object QCformat;
-static Lisp_Object Qmonospace, Qsansserif, Qmono, Qsans, Qsans_serif;
-static Lisp_Object Qserif, Qscript, Qdecorative;
-static Lisp_Object Qraster, Qoutline, Qunknown;
-
-/* antialiasing */
-static Lisp_Object Qstandard, Qsubpixel, Qnatural;
-
-/* languages */
-static Lisp_Object Qzh;
-
-/* scripts */
-static Lisp_Object Qgreek, Qcoptic, Qcyrillic, Qarmenian, Qhebrew;
-static Lisp_Object Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali;
-static Lisp_Object Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu;
-static Lisp_Object Qkannada, Qmalayalam, Qsinhala, Qthai, Qlao;
-static Lisp_Object Qtibetan, Qmyanmar, Qgeorgian, Qhangul, Qethiopic;
-static Lisp_Object Qcherokee, Qcanadian_aboriginal, Qogham, Qrunic;
-static Lisp_Object Qkhmer, Qmongolian, Qbraille, Qhan;
-static Lisp_Object Qideographic_description, Qcjk_misc, Qkana, Qbopomofo;
-static Lisp_Object Qkanbun, Qyi, Qbyzantine_musical_symbol;
-static Lisp_Object Qmusical_symbol, Qmathematical, Qcham, Qphonetic;
-/* Not defined in characters.el, but referenced in fontset.el. */
-static Lisp_Object Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot;
-static Lisp_Object Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi;
-static Lisp_Object Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya;
-static Lisp_Object Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri;
-static Lisp_Object Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic;
-
-/* W32 charsets: for use in Vw32_charset_info_alist. */
-static Lisp_Object Qw32_charset_ansi, Qw32_charset_default;
-static Lisp_Object Qw32_charset_symbol, Qw32_charset_shiftjis;
-static Lisp_Object Qw32_charset_hangeul, Qw32_charset_gb2312;
-static Lisp_Object Qw32_charset_chinesebig5, Qw32_charset_oem;
-static Lisp_Object Qw32_charset_easteurope, Qw32_charset_turkish;
-static Lisp_Object Qw32_charset_baltic, Qw32_charset_russian;
-static Lisp_Object Qw32_charset_arabic, Qw32_charset_greek;
-static Lisp_Object Qw32_charset_hebrew, Qw32_charset_vietnamese;
-static Lisp_Object Qw32_charset_thai, Qw32_charset_johab, Qw32_charset_mac;
-
-/* Font spacing symbols - defined in font.c. */
-extern Lisp_Object Qc, Qp, Qm;
-
static void fill_in_logfont (struct frame *, LOGFONT *, Lisp_Object);
static BYTE w32_antialias_type (Lisp_Object);
Lisp_Object obarray = check_obarray (Vobarray);
Lisp_Object tem = oblookup (obarray, SDATA (str), len, len);
/* This code is similar to intern function from lread.c. */
- return SYMBOLP (tem) ? tem : intern_driver (str, obarray, XINT (tem));
+ return SYMBOLP (tem) ? tem : intern_driver (str, obarray, tem);
}
/* w32 implementation of get_cache for font backend.
/* Shared GDI and Uniscribe Font backend declarations for the Windows API.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Definitions and headers for communication on the Microsoft Windows API.
- Copyright (C) 1995, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1995, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Heap management routines for GNU Emacs on the Microsoft Windows
- API. Copyright (C) 1994, 2001-2014 Free Software Foundation, Inc.
+ API. Copyright (C) 1994, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Heap management routines (including unexec) for GNU Emacs on Windows NT.
- Copyright (C) 1994, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1994, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Input event support for Emacs on the Microsoft Windows API.
- Copyright (C) 1992-1993, 1995, 2001-2014 Free Software Foundation,
+ Copyright (C) 1992-1993, 1995, 2001-2015 Free Software Foundation,
Inc.
This file is part of GNU Emacs.
/* Input routines for GNU Emacs on the Microsoft Windows API.
- Copyright (C) 1995, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1995, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Menu support for GNU Emacs on the Microsoft Windows API.
- Copyright (C) 1986, 1988, 1993-1994, 1996, 1998-1999, 2001-2014 Free
+ Copyright (C) 1986, 1988, 1993-1994, 1996, 1998-1999, 2001-2015 Free
Software Foundation, Inc.
This file is part of GNU Emacs.
MessageBoxW_Proc unicode_message_box = NULL;
#endif /* NTGUI_UNICODE */
-Lisp_Object Qdebug_on_next_call, Qunsupported__w32_dialog;
-
void set_frame_menubar (struct frame *, bool, bool);
#ifdef HAVE_DIALOGS
if (wv->key != NULL)
{
out_string = SAFE_ALLOCA (strlen (wv->name) + strlen (wv->key) + 2);
- strcpy (out_string, wv->name);
- strcat (out_string, "\t");
- strcat (out_string, wv->key);
+ p = stpcpy (out_string, wv->name);
+ p = stpcpy (p, "\t");
+ strcpy (p, wv->key);
}
else
out_string = (char *)wv->name;
/* Filesystem notifications support for GNU Emacs on the Microsoft Windows API.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
DWORD notifications_size;
void *notifications_desc;
-static Lisp_Object Qfile_name, Qdirectory_name, Qattributes;
-static Lisp_Object Qlast_write_time, Qlast_access_time, Qcreation_time;
-static Lisp_Object Qsecurity_desc, Qsubtree, watch_list;
+static Lisp_Object watch_list;
/* Signal to the main thread that we have file notifications for it to
process. */
/* Process support for GNU Emacs on the Microsoft Windows API.
-Copyright (C) 1992, 1995, 1999-2014 Free Software Foundation, Inc.
+Copyright (C) 1992, 1995, 1999-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
+ ((DWORD_PTR)(var) - (section)->VirtualAddress) \
+ (filedata).file_base))
-Lisp_Object Qhigh, Qlow;
-
/* Signal handlers...SIG_DFL == 0 so this is initialized correctly. */
static signal_handler sig_handlers[NSIG];
if (egetenv ("CMDPROXY"))
strcpy (cmdname, egetenv ("CMDPROXY"));
else
- {
- lispstpcpy (cmdname, Vinvocation_directory);
- strcat (cmdname, "cmdproxy.exe");
- }
+ strcpy (lispstpcpy (cmdname, Vinvocation_directory), "cmdproxy.exe");
/* Can't use unixtodos_filename here, since that needs its file
name argument encoded in UTF-8. */
DEFUN ("w32-get-codepage-charset", Fw32_get_codepage_charset,
Sw32_get_codepage_charset, 1, 1, 0,
doc: /* Return charset ID corresponding to codepage CP.
-Returns nil if the codepage is not valid. */)
+Returns nil if the codepage is not valid or its charset ID could
+not be determined.
+
+Note that this function is only guaranteed to work with ANSI
+codepages; most console codepages are not supported and will
+yield nil. */)
(Lisp_Object cp)
{
CHARSETINFO info;
if (GetLocaleInfo (try_lcid, LOCALE_SABBREVLANGNAME,
locval, LOCALE_NAME_MAX_LENGTH))
{
+ size_t locval_len;
+
/* This is for when they only specify the language, as in "ENU". */
if (stricmp (locval, lname) == 0)
{
found_lcid = try_lcid;
return FALSE;
}
- strcat (locval, "_");
+ locval_len = strlen (locval);
+ strcpy (locval + locval_len, "_");
if (GetLocaleInfo (try_lcid, LOCALE_SABBREVCTRYNAME,
- locval + strlen (locval), LOCALE_NAME_MAX_LENGTH))
+ locval + locval_len + 1, LOCALE_NAME_MAX_LENGTH))
{
- size_t locval_len = strlen (locval);
-
+ locval_len = strlen (locval);
if (strnicmp (locval, lname, locval_len) == 0
&& (lname[locval_len] == '.'
|| lname[locval_len] == '\0'))
/* Emulate the X Resource Manager through the registry.
- Copyright (C) 1990, 1993-1994, 2001-2014 Free Software Foundation,
+ Copyright (C) 1990, 1993-1994, 2001-2015 Free Software Foundation,
Inc.
This file is part of GNU Emacs.
/* Selection processing for Emacs on the Microsoft Windows API.
-Copyright (C) 1993-1994, 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 1993-1994, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
static void setup_windows_coding_system (Lisp_Object coding_system,
struct coding_system * coding);
-
-/* A remnant from X11: Symbol for the CLIPBORD selection type. Other
- selections are not used on Windows, so we don't need symbols for
- PRIMARY and SECONDARY. */
-Lisp_Object QCLIPBOARD;
-
/* Internal pseudo-constants, initialized in globals_of_w32select()
based on current system parameters. */
static LCID DEFAULT_LCID;
static UINT ANSICP, OEMCP;
-static Lisp_Object QUNICODE, QANSICP, QOEMCP;
+static Lisp_Object QANSICP, QOEMCP;
/* A hidden window just for the clipboard management. */
static HWND clipboard_owner;
/* Selection processing for Emacs on the Microsoft W32 API.
-Copyright (C) 1993-1994, 2001-2014 Free Software Foundation, Inc.
+Copyright (C) 1993-1994, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Implementation of GUI terminal on the Microsoft Windows API.
-Copyright (C) 1989, 1993-2014 Free Software Foundation, Inc.
+Copyright (C) 1989, 1993-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
static void x_check_font (struct frame *, struct font *);
#endif
-static Lisp_Object Qvendor_specific_keysyms;
-static Lisp_Object Qadded, Qremoved, Qmodified;
-static Lisp_Object Qrenamed_from, Qrenamed_to;
-
\f
/***********************************************************************
Debugging
/* Definitions and headers for communication on the Microsoft Windows API.
- Copyright (C) 1995, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1995, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Font backend for the Microsoft W32 Uniscribe API.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
int uniscribe_available = 0;
-/* Defined in w32font.c, since it is required there as well. */
-extern Lisp_Object Quniscribe;
-extern Lisp_Object Qopentype;
-
/* EnumFontFamiliesEx callback. */
static int CALLBACK ALIGN_STACK add_opentype_font_name_to_list (ENUMLOGFONTEX *,
NEWTEXTMETRICEX *,
/* Functions taken directly from X sources for use with the Microsoft Windows API.
- Copyright (C) 1989, 1992-1995, 1999, 2001-2014 Free Software
+ Copyright (C) 1989, 1992-1995, 1999, 2001-2015 Free Software
Foundation, Inc.
This file is part of GNU Emacs.
/* The emacs frame widget.
- Copyright (C) 1992-1993, 2000-2014 Free Software Foundation, Inc.
+ Copyright (C) 1992-1993, 2000-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* The emacs frame widget public header file.
- Copyright (C) 1993, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1993, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* The emacs frame widget private header file.
- Copyright (C) 1993, 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 1993, 2001-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Window creation, deletion and examination for GNU Emacs.
Does not include redisplay.
- Copyright (C) 1985-1987, 1993-1998, 2000-2014 Free Software
+ Copyright (C) 1985-1987, 1993-1998, 2000-2015 Free Software
Foundation, Inc.
This file is part of GNU Emacs.
#include "msdos.h"
#endif
-Lisp_Object Qwindowp, Qwindow_live_p;
-static Lisp_Object Qwindow_valid_p;
-static Lisp_Object Qwindow_configuration_p;
-static Lisp_Object Qrecord_window_buffer;
-static Lisp_Object Qwindow_deletable_p, Qdelete_window, Qdisplay_buffer;
-static Lisp_Object Qreplace_buffer_in_windows, Qget_mru_window;
-static Lisp_Object Qwindow_resize_root_window, Qwindow_resize_root_window_vertically;
-static Lisp_Object Qwindow_sanitize_window_sizes;
-static Lisp_Object Qwindow_pixel_to_total;
-static Lisp_Object Qscroll_up, Qscroll_down, Qscroll_command;
-static Lisp_Object Qsafe, Qabove, Qbelow, Qwindow_size, Qclone_of;
-static Lisp_Object Qfloor, Qceiling;
-static Lisp_Object Qwindow_point_insertion_type;
-
static int displayed_window_lines (struct window *);
static int count_windows (struct window *);
static int get_leaf_windows (struct window *, struct window **, int);
shown as the selected window when the minibuffer is selected. */
Lisp_Object minibuf_selected_window;
-/* Hook run at end of temp_output_buffer_show. */
-static Lisp_Object Qtemp_buffer_show_hook;
-
/* Incremented for each window created. */
static int sequence_number;
-/* Hook to run when window config changes. */
-static Lisp_Object Qwindow_configuration_change_hook;
-
/* Used by the function window_scroll_pixel_based. */
static int window_scroll_pixel_based_preserve_x;
static int window_scroll_pixel_based_preserve_y;
If PIXELWISE is nil, return the largest integer smaller than WINDOW's
pixel width divided by the character width of WINDOW's frame. This
means that if a column at the right of the text area is only partially
-visible, that column is not counted. */)
+visible, that column is not counted.
+
+Note that the returned value includes the column reserved for the
+continuation glyph. */)
(Lisp_Object window, Lisp_Object pixelwise)
{
return make_number (window_body_width (decode_live_window (window),
return call5 (Qwindow_resize_root_window, window, delta, horizontal, ignore, pixelwise);
}
+/* Placeholder used by temacs -nw before window.el is loaded. */
+DEFUN ("window--sanitize-window-sizes", Fwindow__sanitize_window_sizes,
+ Swindow__sanitize_window_sizes, 2, 2, 0,
+ doc: /* */)
+ (Lisp_Object frame, Lisp_Object horizontal)
+{
+ return Qnil;
+}
Lisp_Object
sanitize_window_sizes (Lisp_Object frame, Lisp_Object horizontal)
record_unwind_protect (select_window_norecord, prev_window);
Fselect_window (window, Qt);
Fset_buffer (w->contents);
- Frun_hooks (1, &Qtemp_buffer_show_hook);
+ run_hook (Qtemp_buffer_show_hook);
unbind_to (count, Qnil);
}
}
defsubr (&Sset_window_display_table);
defsubr (&Snext_window);
defsubr (&Sprevious_window);
+ defsubr (&Swindow__sanitize_window_sizes);
defsubr (&Sget_buffer_window);
defsubr (&Sdelete_other_windows_internal);
defsubr (&Sdelete_window_internal);
/* Window definitions for GNU Emacs.
- Copyright (C) 1985-1986, 1993, 1995, 1997-2014 Free Software
+ Copyright (C) 1985-1986, 1993, 1995, 1997-2015 Free Software
Foundation, Inc.
This file is part of GNU Emacs.
CHECK_TYPE (WINDOW_LIVE_P (WINDOW), Qwindow_live_p, WINDOW)
/* These used to be in lisp.h. */
-extern Lisp_Object Qwindow_live_p;
extern Lisp_Object Vwindow_list;
extern Lisp_Object window_list (void);
/* Display generation from window structure and buffer text.
-Copyright (C) 1985-1988, 1993-1995, 1997-2014 Free Software Foundation,
+Copyright (C) 1985-1988, 1993-1995, 1997-2015 Free Software Foundation,
Inc.
This file is part of GNU Emacs.
#define INFINITY 10000000
-Lisp_Object Qoverriding_local_map, Qoverriding_terminal_local_map;
-Lisp_Object Qwindow_scroll_functions;
-static Lisp_Object Qwindow_text_change_functions;
-static Lisp_Object Qredisplay_end_trigger_functions;
-Lisp_Object Qinhibit_point_motion_hooks;
-static Lisp_Object QCeval, QCpropertize;
-Lisp_Object QCfile, QCdata;
-static Lisp_Object Qfontified;
-static Lisp_Object Qgrow_only;
-static Lisp_Object Qinhibit_eval_during_redisplay;
-static Lisp_Object Qbuffer_position, Qposition, Qobject;
-static Lisp_Object Qright_to_left, Qleft_to_right;
-
-/* Cursor shapes. */
-Lisp_Object Qbar, Qhbar, Qbox, Qhollow;
-
-/* Pointer shapes. */
-static Lisp_Object Qarrow, Qhand;
-Lisp_Object Qtext;
-
/* Holds the list (error). */
static Lisp_Object list_of_error;
-Lisp_Object Qfontification_functions;
-
-static Lisp_Object Qwrap_prefix;
-static Lisp_Object Qline_prefix;
-static Lisp_Object Qredisplay_internal;
-
-/* Non-nil means don't actually do any redisplay. */
-
-Lisp_Object Qinhibit_redisplay;
-
-/* Names of text properties relevant for redisplay. */
-
-Lisp_Object Qdisplay;
-
-Lisp_Object Qspace, QCalign_to;
-static Lisp_Object QCrelative_width, QCrelative_height;
-Lisp_Object Qleft_margin, Qright_margin;
-static Lisp_Object Qspace_width, Qraise;
-static Lisp_Object Qslice;
-Lisp_Object Qcenter;
-static Lisp_Object Qmargin, Qpointer;
-static Lisp_Object Qline_height;
-
#ifdef HAVE_WINDOW_SYSTEM
/* Test if overflow newline into fringe. Called with iterator IT
&& (*BYTE_POS_ADDR (IT_BYTEPOS (*it)) == ' ' \
|| *BYTE_POS_ADDR (IT_BYTEPOS (*it)) == '\t')))) \
-/* Name of the face used to highlight trailing whitespace. */
-
-static Lisp_Object Qtrailing_whitespace;
-
-/* Name and number of the face used to highlight escape glyphs. */
-
-static Lisp_Object Qescape_glyph;
-
-/* Name and number of the face used to highlight non-breaking spaces. */
-
-static Lisp_Object Qnobreak_space;
-
-/* The symbol `image' which is the car of the lists used to represent
- images in Lisp. Also a tool bar style. */
-
-Lisp_Object Qimage;
-
-/* The image map types. */
-Lisp_Object QCmap;
-static Lisp_Object QCpointer;
-static Lisp_Object Qrect, Qcircle, Qpoly;
-
-/* Tool bar styles */
-Lisp_Object Qboth, Qboth_horiz, Qtext_image_horiz;
-
/* Non-zero means print newline to stdout before next mini-buffer
message. */
static struct buffer *this_line_buffer;
-
-/* Values of those variables at last redisplay are stored as
- properties on `overlay-arrow-position' symbol. However, if
- Voverlay_arrow_position is a marker, last-arrow-position is its
- numerical position. */
-
-static Lisp_Object Qlast_arrow_position, Qlast_arrow_string;
-
-/* Alternative overlay-arrow-string and overlay-arrow-bitmap
- properties on a symbol in overlay-arrow-variable-list. */
-
-static Lisp_Object Qoverlay_arrow_string, Qoverlay_arrow_bitmap;
-
-Lisp_Object Qmenu_bar_update_hook;
-
/* Nonzero if an overlay arrow has been displayed in this window. */
static bool overlay_arrow_seen;
static bool message_buf_print;
-/* The symbol `inhibit-menubar-update' and its DEFVAR_BOOL variable. */
-
-static Lisp_Object Qinhibit_menubar_update;
-static Lisp_Object Qmessage_truncate_lines;
-
/* Set to 1 in clear_message to make redisplay_internal aware
of an emptied echo area. */
#define TRACE_MOVE(x) (void) 0
#endif
-static Lisp_Object Qauto_hscroll_mode;
-
/* Buffer being redisplayed -- for redisplay_window_error. */
static struct buffer *displayed_buffer;
struct props
{
/* The name of the property. */
- Lisp_Object *name;
+ struct Lisp_Symbol *name;
/* A unique index for the property. */
enum prop_idx idx;
static struct props it_props[] =
{
- {&Qfontified, FONTIFIED_PROP_IDX, handle_fontified_prop},
+ {XSYMBOL_INIT (Qfontified), FONTIFIED_PROP_IDX, handle_fontified_prop},
/* Handle `face' before `display' because some sub-properties of
`display' need to know the face. */
- {&Qface, FACE_PROP_IDX, handle_face_prop},
- {&Qdisplay, DISPLAY_PROP_IDX, handle_display_prop},
- {&Qinvisible, INVISIBLE_PROP_IDX, handle_invisible_prop},
- {&Qcomposition, COMPOSITION_PROP_IDX, handle_composition_prop},
+ {XSYMBOL_INIT (Qface), FACE_PROP_IDX, handle_face_prop},
+ {XSYMBOL_INIT (Qdisplay), DISPLAY_PROP_IDX, handle_display_prop},
+ {XSYMBOL_INIT (Qinvisible), INVISIBLE_PROP_IDX, handle_invisible_prop},
+ {XSYMBOL_INIT (Qcomposition), COMPOSITION_PROP_IDX, handle_composition_prop},
{NULL, 0, NULL}
};
bool redisplaying_p;
-static Lisp_Object Qinhibit_free_realized_faces;
-static Lisp_Object Qmode_line_default_help_echo;
-
/* If a string, XTread_socket generates an event to display that string.
(The display is done in read_char.) */
#endif /* HAVE_WINDOW_SYSTEM */
-/* Name of the face used to display glyphless characters. */
-static Lisp_Object Qglyphless_char;
-
-/* Symbol for the purpose of Vglyphless_char_display. */
-static Lisp_Object Qglyphless_char_display;
-
-/* Method symbols for Vglyphless_char_display. */
-static Lisp_Object Qhex_code, Qempty_box, Qthin_space, Qzero_width;
-
/* Default number of seconds to wait before displaying an hourglass
cursor. */
#define DEFAULT_HOURGLASS_DELAY 1
struct text_pos top;
int visible_p = 0;
struct buffer *old_buffer = NULL;
+ bool r2l = false;
if (FRAME_INITIAL_P (XFRAME (WINDOW_FRAME (w))))
return visible_p;
*rowh = max (0, (min (bottom_y, it.last_visible_y)
- max (top_y, window_top_y)));
*vpos = it.vpos;
+ if (it.bidi_it.paragraph_dir == R2L)
+ r2l = true;
}
}
else
- max (it2.current_y,
WINDOW_HEADER_LINE_HEIGHT (w))));
*vpos = it2.vpos;
+ if (it2.bidi_it.paragraph_dir == R2L)
+ r2l = true;
}
else
bidi_unshelve_cache (it2data, 1);
if (old_buffer)
set_buffer_internal_1 (old_buffer);
- if (visible_p && w->hscroll > 0)
- *x -=
- window_hscroll_limited (w, WINDOW_XFRAME (w))
- * WINDOW_FRAME_COLUMN_WIDTH (w);
+ if (visible_p)
+ {
+ if (w->hscroll > 0)
+ *x -=
+ window_hscroll_limited (w, WINDOW_XFRAME (w))
+ * WINDOW_FRAME_COLUMN_WIDTH (w);
+ /* For lines in an R2L paragraph, we need to mirror the X pixel
+ coordinate wrt the text area. For the reasons, see the
+ commentary in buffer_posn_from_coords and the explanation of
+ the geometry used by the move_it_* functions at the end of
+ the large commentary near the beginning of this file. */
+ if (r2l)
+ *x = window_box_width (w, TEXT_AREA) - *x - 1;
+ }
#if 0
/* Debugging code. */
return retval;
}
-static Lisp_Object Qeval;
-
Lisp_Object
safe_eval (Lisp_Object sexpr)
{
/* Get properties here. */
for (p = it_props; p->handler; ++p)
- values_here[p->idx] = textget (iv->plist, *p->name);
+ values_here[p->idx] = textget (iv->plist, make_lisp_symbol (p->name));
/* Look for an interval following iv that has different
properties. */
{
for (p = it_props; p->handler; ++p)
{
- Lisp_Object new_value;
-
- new_value = textget (next_iv->plist, *p->name);
+ Lisp_Object new_value = textget (next_iv->plist,
+ make_lisp_symbol (p->name));
if (!EQ (values_here[p->idx], new_value))
break;
}
else if (it->cmp_it.id >= 0)
{
/* We are currently getting glyphs from a composition. */
- int i;
-
if (! it->bidi_p)
{
IT_CHARPOS (*it) += it->cmp_it.nchars;
IT_BYTEPOS (*it) += it->cmp_it.nbytes;
- if (it->cmp_it.to < it->cmp_it.nglyphs)
- {
- it->cmp_it.from = it->cmp_it.to;
- }
- else
- {
- it->cmp_it.id = -1;
- composition_compute_stop_pos (&it->cmp_it, IT_CHARPOS (*it),
- IT_BYTEPOS (*it),
- it->end_charpos, Qnil);
- }
}
- else if (! it->cmp_it.reversed_p)
+ else
{
- /* Composition created while scanning forward. */
+ int i;
+
/* Update IT's char/byte positions to point to the first
character of the next grapheme cluster, or to the
character visually after the current composition. */
bidi_move_to_visually_next (&it->bidi_it);
IT_BYTEPOS (*it) = it->bidi_it.bytepos;
IT_CHARPOS (*it) = it->bidi_it.charpos;
+ }
- if (it->cmp_it.to < it->cmp_it.nglyphs)
- {
- /* Proceed to the next grapheme cluster. */
- it->cmp_it.from = it->cmp_it.to;
- }
- else
- {
- /* No more grapheme clusters in this composition.
- Find the next stop position. */
- ptrdiff_t stop = it->end_charpos;
- if (it->bidi_it.scan_dir < 0)
- /* Now we are scanning backward and don't know
- where to stop. */
- stop = -1;
- composition_compute_stop_pos (&it->cmp_it, IT_CHARPOS (*it),
- IT_BYTEPOS (*it), stop, Qnil);
- }
+ if ((! it->bidi_p || ! it->cmp_it.reversed_p)
+ && it->cmp_it.to < it->cmp_it.nglyphs)
+ {
+ /* Composition created while scanning forward. Proceed
+ to the next grapheme cluster. */
+ it->cmp_it.from = it->cmp_it.to;
+ }
+ else if ((it->bidi_p && it->cmp_it.reversed_p)
+ && it->cmp_it.from > 0)
+ {
+ /* Composition created while scanning backward. Proceed
+ to the previous grapheme cluster. */
+ it->cmp_it.to = it->cmp_it.from;
}
else
{
- /* Composition created while scanning backward. */
- /* Update IT's char/byte positions to point to the last
- character of the previous grapheme cluster, or the
- character visually after the current composition. */
- for (i = 0; i < it->cmp_it.nchars; i++)
- bidi_move_to_visually_next (&it->bidi_it);
- IT_BYTEPOS (*it) = it->bidi_it.bytepos;
- IT_CHARPOS (*it) = it->bidi_it.charpos;
- if (it->cmp_it.from > 0)
- {
- /* Proceed to the previous grapheme cluster. */
- it->cmp_it.to = it->cmp_it.from;
- }
- else
- {
- /* No more grapheme clusters in this composition.
- Find the next stop position. */
- ptrdiff_t stop = it->end_charpos;
- if (it->bidi_it.scan_dir < 0)
- /* Now we are scanning backward and don't know
- where to stop. */
- stop = -1;
- composition_compute_stop_pos (&it->cmp_it, IT_CHARPOS (*it),
- IT_BYTEPOS (*it), stop, Qnil);
- }
+ /* No more grapheme clusters in this composition.
+ Find the next stop position. */
+ ptrdiff_t stop = it->end_charpos;
+
+ if (it->bidi_it.scan_dir < 0)
+ /* Now we are scanning backward and don't know
+ where to stop. */
+ stop = -1;
+ composition_compute_stop_pos (&it->cmp_it, IT_CHARPOS (*it),
+ IT_BYTEPOS (*it), stop, Qnil);
}
}
else
}
if (it->cmp_it.id >= 0)
{
- int i;
-
+ /* We are delivering display elements from a composition.
+ Update the string position past the grapheme cluster
+ we've just processed. */
if (! it->bidi_p)
{
IT_STRING_CHARPOS (*it) += it->cmp_it.nchars;
IT_STRING_BYTEPOS (*it) += it->cmp_it.nbytes;
- if (it->cmp_it.to < it->cmp_it.nglyphs)
- it->cmp_it.from = it->cmp_it.to;
- else
- {
- it->cmp_it.id = -1;
- composition_compute_stop_pos (&it->cmp_it,
- IT_STRING_CHARPOS (*it),
- IT_STRING_BYTEPOS (*it),
- it->end_charpos, it->string);
- }
}
- else if (! it->cmp_it.reversed_p)
+ else
{
+ int i;
+
for (i = 0; i < it->cmp_it.nchars; i++)
bidi_move_to_visually_next (&it->bidi_it);
IT_STRING_BYTEPOS (*it) = it->bidi_it.bytepos;
IT_STRING_CHARPOS (*it) = it->bidi_it.charpos;
+ }
- if (it->cmp_it.to < it->cmp_it.nglyphs)
- it->cmp_it.from = it->cmp_it.to;
- else
- {
- ptrdiff_t stop = it->end_charpos;
- if (it->bidi_it.scan_dir < 0)
- stop = -1;
- composition_compute_stop_pos (&it->cmp_it,
- IT_STRING_CHARPOS (*it),
- IT_STRING_BYTEPOS (*it), stop,
- it->string);
- }
+ /* Did we exhaust all the grapheme clusters of this
+ composition? */
+ if ((! it->bidi_p || ! it->cmp_it.reversed_p)
+ && (it->cmp_it.to < it->cmp_it.nglyphs))
+ {
+ /* Not all the grapheme clusters were processed yet;
+ advance to the next cluster. */
+ it->cmp_it.from = it->cmp_it.to;
+ }
+ else if ((it->bidi_p && it->cmp_it.reversed_p)
+ && it->cmp_it.from > 0)
+ {
+ /* Likewise: advance to the next cluster, but going in
+ the reverse direction. */
+ it->cmp_it.to = it->cmp_it.from;
}
else
{
- for (i = 0; i < it->cmp_it.nchars; i++)
- bidi_move_to_visually_next (&it->bidi_it);
- IT_STRING_BYTEPOS (*it) = it->bidi_it.bytepos;
- IT_STRING_CHARPOS (*it) = it->bidi_it.charpos;
- if (it->cmp_it.from > 0)
- it->cmp_it.to = it->cmp_it.from;
- else
+ /* This composition was fully processed; find the next
+ candidate place for checking for composed
+ characters. */
+ /* Always limit string searches to the string length;
+ any padding spaces are not part of the string, and
+ there cannot be any compositions in that padding. */
+ ptrdiff_t stop = SCHARS (it->string);
+
+ if (it->bidi_p && it->bidi_it.scan_dir < 0)
+ stop = -1;
+ else if (it->end_charpos < stop)
{
- ptrdiff_t stop = it->end_charpos;
- if (it->bidi_it.scan_dir < 0)
- stop = -1;
- composition_compute_stop_pos (&it->cmp_it,
- IT_STRING_CHARPOS (*it),
- IT_STRING_BYTEPOS (*it), stop,
- it->string);
+ /* Cf. PRECISION in reseat_to_string: we might be
+ limited in how many of the string characters we
+ need to deliver. */
+ stop = it->end_charpos;
}
+ composition_compute_stop_pos (&it->cmp_it,
+ IT_STRING_CHARPOS (*it),
+ IT_STRING_BYTEPOS (*it), stop,
+ it->string);
}
}
else
bidi_move_to_visually_next (&it->bidi_it);
IT_STRING_BYTEPOS (*it) = it->bidi_it.bytepos;
IT_STRING_CHARPOS (*it) = it->bidi_it.charpos;
+ /* If the scan direction changes, we may need to update
+ the place where to check for composed characters. */
if (prev_scan_dir != it->bidi_it.scan_dir)
{
- ptrdiff_t stop = it->end_charpos;
+ ptrdiff_t stop = SCHARS (it->string);
if (it->bidi_it.scan_dir < 0)
stop = -1;
+ else if (it->end_charpos < stop)
+ stop = it->end_charpos;
+
composition_compute_stop_pos (&it->cmp_it,
IT_STRING_CHARPOS (*it),
IT_STRING_BYTEPOS (*it), stop,
eassert (!it->bidi_p || it->s == it->bidi_it.string.s);
it->what = IT_CHARACTER;
BYTEPOS (it->position) = CHARPOS (it->position) = 0;
- it->object = Qnil;
+ it->object = make_number (0);
/* With bidi reordering, the character to display might not be the
character at IT_CHARPOS. BIDI_IT.FIRST_ELT non-zero means that
specbind (Qinhibit_free_realized_faces, Qnil);
/* Record this function, so it appears on the profiler's backtraces. */
- record_in_backtrace (Qredisplay_internal, &Qnil, 0);
+ record_in_backtrace (Qredisplay_internal, 0, 0);
FOR_EACH_FRAME (tail, frame)
XFRAME (frame)->already_hscrolled_p = 0;
if (!row->reversed_p)
{
while (glyph < end
- && INTEGERP (glyph->object)
+ && NILP (glyph->object)
&& glyph->charpos < 0)
{
x += glyph->pixel_width;
++glyph;
}
while (end > glyph
- && INTEGERP ((end - 1)->object)
+ && NILP ((end - 1)->object)
/* CHARPOS is zero for blanks and stretch glyphs
inserted by extend_face_to_end_of_line. */
&& (end - 1)->charpos <= 0)
glyph += row->used[TEXT_AREA] - 1;
while (glyph > end + 1
- && INTEGERP (glyph->object)
+ && NILP (glyph->object)
&& glyph->charpos < 0)
{
--glyph;
x -= glyph->pixel_width;
}
- if (INTEGERP (glyph->object) && glyph->charpos < 0)
+ if (NILP (glyph->object) && glyph->charpos < 0)
--glyph;
/* By default, in reversed rows we put the cursor on the
rightmost (first in the reading order) glyph. */
for (g = end + 1; g < glyph; g++)
x += g->pixel_width;
while (end < glyph
- && INTEGERP ((end + 1)->object)
+ && NILP ((end + 1)->object)
&& (end + 1)->charpos <= 0)
++end;
glyph_before = glyph + 1;
while (/* not marched to end of glyph row */
glyph < end
/* glyph was not inserted by redisplay for internal purposes */
- && !INTEGERP (glyph->object))
+ && !NILP (glyph->object))
{
if (BUFFERP (glyph->object))
{
++glyph;
}
else if (glyph > end) /* row is reversed */
- while (!INTEGERP (glyph->object))
+ while (!NILP (glyph->object))
{
if (BUFFERP (glyph->object))
{
&& BUFFERP (glyph->object) && glyph->charpos == pt_old)
&& !(bpos_max <= pt_old && pt_old <= bpos_covered))
{
- /* An empty line has a single glyph whose OBJECT is zero and
+ /* An empty line has a single glyph whose OBJECT is nil and
whose CHARPOS is the position of a newline on that line.
Note that on a TTY, there are more glyphs after that, which
were produced by extend_face_to_end_of_line, but their
CHARPOS is zero or negative. */
int empty_line_p =
(row->reversed_p ? glyph > glyphs_end : glyph < glyphs_end)
- && INTEGERP (glyph->object) && glyph->charpos > 0
+ && NILP (glyph->object) && glyph->charpos > 0
/* On a TTY, continued and truncated rows also have a glyph at
- their end whose OBJECT is zero and whose CHARPOS is
+ their end whose OBJECT is nil and whose CHARPOS is
positive (the continuation and truncation glyphs), but such
rows are obviously not "empty". */
&& !(row->continued_p || row->truncated_on_right_p);
&& string_from_text_prop)
/* this candidate is from newline and its
position is not an exact match */
- || (INTEGERP (glyph->object)
+ || (NILP (glyph->object)
&& glyph->charpos != pt_old)))))
return 0;
/* If this candidate gives an exact match, use that. */
terminating newline of a line, and point is on that
newline, it wins because it's an exact match. */
|| (!row->continued_p
- && INTEGERP (glyph->object)
+ && NILP (glyph->object)
&& glyph->charpos == 0
&& pt_old == MATRIX_ROW_END_CHARPOS (row) - 1))
/* Otherwise, keep the candidate that comes from a row
exact_match_p =
(BUFFERP (g->object) && g->charpos == PT)
- || (INTEGERP (g->object)
+ || (NILP (g->object)
&& (g->charpos == PT
|| (g->charpos == 0 && endpos - 1 == PT)));
}
? 'B'
: (STRINGP (glyph->object)
? 'S'
- : (INTEGERP (glyph->object)
+ : (NILP (glyph->object)
? '0'
: '-'))),
glyph->pixel_width,
? 'B'
: (STRINGP (glyph->object)
? 'S'
- : (INTEGERP (glyph->object)
+ : (NILP (glyph->object)
? '0'
: '-'))),
glyph->pixel_width,
? 'B'
: (STRINGP (glyph->object)
? 'S'
- : (INTEGERP (glyph->object)
+ : (NILP (glyph->object)
? '0'
: '-'))),
glyph->pixel_width,
? 'B'
: (STRINGP (glyph->object)
? 'S'
- : (INTEGERP (glyph->object)
+ : (NILP (glyph->object)
? '0'
: '-'))),
glyph->pixel_width,
struct glyph *glyph = row->glyphs[area] + i;
if (i == row->used[area] - 1
&& area == TEXT_AREA
- && INTEGERP (glyph->object)
+ && NILP (glyph->object)
&& glyph->type == CHAR_GLYPH
&& glyph->u.ch == ' ')
{
truncate_it.area = TEXT_AREA;
truncate_it.glyph_row->used[TEXT_AREA] = 0;
CHARPOS (truncate_it.position) = BYTEPOS (truncate_it.position) = -1;
- truncate_it.object = make_number (0);
+ truncate_it.object = Qnil;
produce_special_glyphs (&truncate_it, IT_TRUNCATION);
/* Overwrite glyphs from IT with truncation glyphs. */
it->what = IT_CHARACTER;
memset (&it->position, 0, sizeof it->position);
- it->object = make_number (0);
+ it->object = Qnil;
it->c = it->char_to_display = ' ';
it->len = 1;
else
it->face_id = face->id;
it->start_of_box_run_p = 0;
- append_stretch_glyph (it, make_number (0), stretch_width,
+ append_stretch_glyph (it, Qnil, stretch_width,
it->ascent + it->descent, stretch_ascent);
it->position = saved_pos;
it->avoid_cursor_p = saved_avoid_cursor;
it->what = IT_CHARACTER;
memset (&it->position, 0, sizeof it->position);
- it->object = make_number (0);
+ it->object = Qnil;
it->c = it->char_to_display = ' ';
it->len = 1;
{
while (glyph >= start
&& glyph->type == CHAR_GLYPH
- && INTEGERP (glyph->object))
+ && NILP (glyph->object))
--glyph;
}
else
{
while (glyph <= start
&& glyph->type == CHAR_GLYPH
- && INTEGERP (glyph->object))
+ && NILP (glyph->object))
++glyph;
}
{
start = r1->glyphs[TEXT_AREA];
end = start + r1->used[TEXT_AREA];
- /* Glyphs inserted by redisplay have an integer (zero)
- as their object. */
+ /* Glyphs inserted by redisplay have nil as their object. */
while (end > start
- && INTEGERP ((end - 1)->object)
+ && NILP ((end - 1)->object)
&& (end - 1)->charpos <= 0)
--end;
if (end > start)
end = r1->glyphs[TEXT_AREA] - 1;
start = end + r1->used[TEXT_AREA];
while (end < start
- && INTEGERP ((end + 1)->object)
+ && NILP ((end + 1)->object)
&& (end + 1)->charpos <= 0)
++end;
if (end < start)
#define ROW_GLYPH_NEWLINE_P(ROW,GLYPH) \
(!(ROW)->continued_p \
- && INTEGERP ((GLYPH)->object) \
+ && NILP ((GLYPH)->object) \
&& (GLYPH)->type == CHAR_GLYPH \
&& (GLYPH)->u.ch == ' ' \
&& (GLYPH)->charpos >= 0 \
w->cursor.vpos = -1;
return make_number (PT);
}
- else if (!INTEGERP (g->object) && !EQ (g->object, gpt->object))
+ else if (!NILP (g->object) && !EQ (g->object, gpt->object))
{
ptrdiff_t new_pos;
return make_number (PT);
}
}
- if (g == e || INTEGERP (g->object))
+ if (g == e || NILP (g->object))
{
if (row->truncated_on_left_p || row->truncated_on_right_p)
goto simulate_display;
EOB also has one glyph, but its charpos is -1. */
|| (row->ends_at_zv_p
&& !row->reversed_p
- && INTEGERP (g->object)
+ && NILP (g->object)
&& g->type == CHAR_GLYPH
&& g->u.ch == ' '))
{
|| g->type == STRETCH_GLYPH
|| (row->ends_at_zv_p
&& row->reversed_p
- && INTEGERP (g->object)
+ && NILP (g->object)
&& g->type == CHAR_GLYPH
&& g->u.ch == ' '))
{
/* Skip over glyphs at the start of the row that was
generated by redisplay for its own needs. */
while (g < e
- && INTEGERP (g->object)
+ && NILP (g->object)
&& g->charpos < 0)
g++;
g1 = g;
/* Count the "interesting" glyphs in this row. */
- for (nglyphs = 0; g < e && !INTEGERP (g->object); g++)
+ for (nglyphs = 0; g < e && !NILP (g->object); g++)
nglyphs++;
/* Create and fill the array. */
g = row->glyphs[TEXT_AREA] + row->used[TEXT_AREA] - 1;
e = row->glyphs[TEXT_AREA] - 1;
while (g > e
- && INTEGERP (g->object)
+ && NILP (g->object)
&& g->charpos < 0)
g--;
g1 = g;
- for (nglyphs = 0; g > e && !INTEGERP (g->object); g--)
+ for (nglyphs = 0; g > e && !NILP (g->object); g--)
nglyphs++;
levels = make_uninit_vector (nglyphs);
for (i = 0; g1 > g; i++, g1--)
GLYPH glyph;
temp_it = *it;
- temp_it.object = make_number (0);
+ temp_it.object = Qnil;
memset (&temp_it.current, 0, sizeof temp_it.current);
if (what == IT_CONTINUATION)
(((temp_it.ascent + temp_it.descent)
* FONT_BASE (font)) / FONT_HEIGHT (font));
- append_stretch_glyph (&temp_it, make_number (0), stretch_width,
+ append_stretch_glyph (&temp_it, Qnil, stretch_width,
temp_it.ascent + temp_it.descent,
stretch_ascent);
}
while (g < e)
{
- if (((BUFFERP (g->object) || INTEGERP (g->object))
+ if (((BUFFERP (g->object) || NILP (g->object))
&& start_charpos <= g->charpos && g->charpos < end_charpos)
/* A glyph that comes from DISP_STRING is by
definition to be highlighted. */
while (g < e)
{
- if (((BUFFERP (g->object) || INTEGERP (g->object))
+ if (((BUFFERP (g->object) || NILP (g->object))
&& ((start_charpos <= g->charpos && g->charpos < end_charpos)
/* If the buffer position of the first glyph in
the row is equal to END_CHARPOS, it means
{
struct glyph *beg = prev->glyphs[TEXT_AREA];
glyph = beg + prev->used[TEXT_AREA];
- while (--glyph >= beg && INTEGERP (glyph->object));
+ while (--glyph >= beg && NILP (glyph->object));
if (glyph < beg
|| !(EQ (glyph->object, before_string)
|| EQ (glyph->object, disp_string)))
/* Skip truncation glyphs at the start of the glyph row. */
if (MATRIX_ROW_DISPLAYS_TEXT_P (r1))
for (; glyph < end
- && INTEGERP (glyph->object)
+ && NILP (glyph->object)
&& glyph->charpos < 0;
++glyph)
x += glyph->pixel_width;
or DISP_STRING, and the first glyph from buffer whose
position is between START_CHARPOS and END_CHARPOS. */
for (; glyph < end
- && !INTEGERP (glyph->object)
+ && !NILP (glyph->object)
&& !EQ (glyph->object, disp_string)
&& !(BUFFERP (glyph->object)
&& (glyph->charpos >= start_charpos
/* Skip truncation glyphs at the start of the glyph row. */
if (MATRIX_ROW_DISPLAYS_TEXT_P (r1))
for (; glyph > end
- && INTEGERP (glyph->object)
+ && NILP (glyph->object)
&& glyph->charpos < 0;
--glyph)
;
or DISP_STRING, and the first glyph from buffer whose
position is between START_CHARPOS and END_CHARPOS. */
for (; glyph > end
- && !INTEGERP (glyph->object)
+ && !NILP (glyph->object)
&& !EQ (glyph->object, disp_string)
&& !(BUFFERP (glyph->object)
&& (glyph->charpos >= start_charpos
row, and also blanks and stretch glyphs inserted by
extend_face_to_end_of_line. */
while (end > glyph
- && INTEGERP ((end - 1)->object))
+ && NILP ((end - 1)->object))
--end;
/* Scan the rest of the glyph row from the end, looking for the
first glyph that comes from BEFORE_STRING, AFTER_STRING, or
and END_CHARPOS */
for (--end;
end > glyph
- && !INTEGERP (end->object)
+ && !NILP (end->object)
&& !EQ (end->object, disp_string)
&& !(BUFFERP (end->object)
&& (end->charpos >= start_charpos
x = r2->x;
end++;
while (end < glyph
- && INTEGERP (end->object))
+ && NILP (end->object))
{
x += end->pixel_width;
++end;
and END_CHARPOS */
for ( ;
end < glyph
- && !INTEGERP (end->object)
+ && !NILP (end->object)
&& !EQ (end->object, disp_string)
&& !(BUFFERP (end->object)
&& (end->charpos >= start_charpos
if (glyph == NULL
|| area != TEXT_AREA
|| !MATRIX_ROW_DISPLAYS_TEXT_P (MATRIX_ROW (w->current_matrix, vpos))
- /* Glyph's OBJECT is an integer for glyphs inserted by the
+ /* Glyph's OBJECT is nil for glyphs inserted by the
display engine for its internal purposes, like truncation
and continuation glyphs and blanks beyond the end of
line's text on text terminals. If we are over such a
glyph, we are not over any text. */
- || INTEGERP (glyph->object)
+ || NILP (glyph->object)
/* R2L rows have a stretch glyph at their front, which
stands for no text, whereas L2R rows have no glyphs at
all beyond the end of text. Treat such stretch glyphs
Vmessage_stack = Qnil;
staticpro (&Vmessage_stack);
+ /* Non-nil means don't actually do any redisplay. */
DEFSYM (Qinhibit_redisplay, "inhibit-redisplay");
+
DEFSYM (Qredisplay_internal, "redisplay_internal (C function)");
message_dolog_marker1 = Fmake_marker ();
DEFSYM (Qinhibit_point_motion_hooks, "inhibit-point-motion-hooks");
DEFSYM (Qeval, "eval");
DEFSYM (QCdata, ":data");
+
+ /* Names of text properties relevant for redisplay. */
DEFSYM (Qdisplay, "display");
DEFSYM (Qspace_width, "space-width");
DEFSYM (Qraise, "raise");
DEFSYM (QCfile, ":file");
DEFSYM (Qfontified, "fontified");
DEFSYM (Qfontification_functions, "fontification-functions");
+
+ /* Name of the face used to highlight trailing whitespace. */
DEFSYM (Qtrailing_whitespace, "trailing-whitespace");
+
+ /* Name and number of the face used to highlight escape glyphs. */
DEFSYM (Qescape_glyph, "escape-glyph");
+
+ /* Name and number of the face used to highlight non-breaking spaces. */
DEFSYM (Qnobreak_space, "nobreak-space");
+
+ /* The symbol 'image' which is the car of the lists used to represent
+ images in Lisp. Also a tool bar style. */
DEFSYM (Qimage, "image");
+
+ /* Tool bar styles. */
DEFSYM (Qtext, "text");
DEFSYM (Qboth, "both");
DEFSYM (Qboth_horiz, "both-horiz");
DEFSYM (Qtext_image_horiz, "text-image-horiz");
+
+ /* The image map types. */
DEFSYM (QCmap, ":map");
DEFSYM (QCpointer, ":pointer");
DEFSYM (Qrect, "rect");
DEFSYM (Qcircle, "circle");
DEFSYM (Qpoly, "poly");
+
+ /* The symbol `inhibit-menubar-update' and its DEFVAR_BOOL variable. */
+ DEFSYM (Qinhibit_menubar_update, "inhibit-menubar-update");
DEFSYM (Qmessage_truncate_lines, "message-truncate-lines");
+
DEFSYM (Qgrow_only, "grow-only");
- DEFSYM (Qinhibit_menubar_update, "inhibit-menubar-update");
DEFSYM (Qinhibit_eval_during_redisplay, "inhibit-eval-during-redisplay");
DEFSYM (Qposition, "position");
DEFSYM (Qbuffer_position, "buffer-position");
DEFSYM (Qobject, "object");
+
+ /* Cursor shapes. */
DEFSYM (Qbar, "bar");
DEFSYM (Qhbar, "hbar");
DEFSYM (Qbox, "box");
DEFSYM (Qhollow, "hollow");
+
+ /* Pointer shapes. */
DEFSYM (Qhand, "hand");
DEFSYM (Qarrow, "arrow");
+ /* also Qtext */
+
DEFSYM (Qinhibit_free_realized_faces, "inhibit-free-realized-faces");
list_of_error = list1 (list2 (intern_c_string ("error"),
intern_c_string ("void-variable")));
staticpro (&list_of_error);
+ /* Values of those variables at last redisplay are stored as
+ properties on 'overlay-arrow-position' symbol. However, if
+ Voverlay_arrow_position is a marker, last-arrow-position is its
+ numerical position. */
DEFSYM (Qlast_arrow_position, "last-arrow-position");
DEFSYM (Qlast_arrow_string, "last-arrow-string");
+
+ /* Alternative overlay-arrow-string and overlay-arrow-bitmap
+ properties on a symbol in overlay-arrow-variable-list. */
DEFSYM (Qoverlay_arrow_string, "overlay-arrow-string");
DEFSYM (Qoverlay_arrow_bitmap, "overlay-arrow-bitmap");
hourglass_shown_p = 0;
#endif /* HAVE_WINDOW_SYSTEM */
+ /* Name of the face used to display glyphless characters. */
DEFSYM (Qglyphless_char, "glyphless-char");
+
+ /* Method symbols for Vglyphless_char_display. */
DEFSYM (Qhex_code, "hex-code");
DEFSYM (Qempty_box, "empty-box");
DEFSYM (Qthin_space, "thin-space");
or t (meaning all windows). */);
Vpre_redisplay_function = intern ("ignore");
+ /* Symbol for the purpose of Vglyphless_char_display. */
DEFSYM (Qglyphless_char_display, "glyphless-char-display");
Fput (Qglyphless_char_display, Qchar_table_extra_slots, make_number (1));
/* xfaces.c -- "Face" primitives.
-Copyright (C) 1993-1994, 1998-2014 Free Software Foundation, Inc.
+Copyright (C) 1993-1994, 1998-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
#define FACE_CACHE_BUCKETS_SIZE 1001
-/* Keyword symbols used for face attribute names. */
-
-Lisp_Object QCfamily, QCheight, QCweight, QCslant;
-static Lisp_Object QCunderline;
-static Lisp_Object QCinverse_video, QCstipple;
-Lisp_Object QCforeground, QCbackground;
-Lisp_Object QCwidth;
-static Lisp_Object QCfont, QCbold, QCitalic;
-static Lisp_Object QCreverse_video;
-static Lisp_Object QCoverline, QCstrike_through, QCbox, QCinherit;
-static Lisp_Object QCfontset, QCdistant_foreground;
-
-/* Symbols used for attribute values. */
-
-Lisp_Object Qnormal;
-Lisp_Object Qbold;
-static Lisp_Object Qline, Qwave;
-Lisp_Object Qextra_light, Qlight;
-Lisp_Object Qsemi_light, Qsemi_bold, Qextra_bold, Qultra_bold;
-Lisp_Object Qoblique;
-Lisp_Object Qitalic;
-static Lisp_Object Qreleased_button, Qpressed_button;
-static Lisp_Object QCstyle, QCcolor, QCline_width;
-Lisp_Object Qunspecified; /* used in dosfns.c */
-static Lisp_Object QCignore_defface;
-
char unspecified_fg[] = "unspecified-fg", unspecified_bg[] = "unspecified-bg";
-/* The name of the function to call when the background of the frame
- has changed, frame_set_background_mode. */
-
-static Lisp_Object Qframe_set_background_mode;
-
-/* Names of basic faces. */
-
-Lisp_Object Qdefault, Qtool_bar, Qfringe;
-static Lisp_Object Qregion;
-Lisp_Object Qheader_line, Qscroll_bar, Qcursor;
-static Lisp_Object Qborder, Qmouse, Qmenu;
-Lisp_Object Qmode_line_inactive;
-static Lisp_Object Qvertical_border;
-static Lisp_Object Qwindow_divider;
-static Lisp_Object Qwindow_divider_first_pixel;
-static Lisp_Object Qwindow_divider_last_pixel;
-
-/* The symbol `face-alias'. A symbols having that property is an
- alias for another face. Value of the property is the name of
- the aliased face. */
-
-static Lisp_Object Qface_alias;
-
/* Alist of alternative font families. Each element is of the form
(FAMILY FAMILY1 FAMILY2 ...). If fonts of FAMILY can't be loaded,
try FAMILY1, then FAMILY2, ... */
Lisp_Object Vface_alternative_font_registry_alist;
-/* Allowed scalable fonts. A value of nil means don't allow any
- scalable fonts. A value of t means allow the use of any scalable
- font. Otherwise, value must be a list of regular expressions. A
- font may be scaled if its name matches a regular expression in the
- list. */
-
-static Lisp_Object Qscalable_fonts_allowed;
-
-/* The symbols `foreground-color' and `background-color' which can be
- used as part of a `face' property. This is for compatibility with
- Emacs 20.2. */
-
-Lisp_Object Qforeground_color, Qbackground_color;
-
-/* The symbols `face' and `mouse-face' used as text properties. */
-
-Lisp_Object Qface;
-
-/* Property for basic faces which other faces cannot inherit. */
-
-static Lisp_Object Qface_no_inherit;
-
-/* Error symbol for wrong_type_argument in load_pixmap. */
-
-static Lisp_Object Qbitmap_spec_p;
-
/* The next ID to assign to Lisp faces. */
static int next_lface_id;
static Lisp_Object *lface_id_to_name;
static ptrdiff_t lface_id_to_name_size;
-/* TTY color-related functions (defined in tty-colors.el). */
-
-static Lisp_Object Qtty_color_desc, Qtty_color_by_index, Qtty_color_standard_values;
-
-/* The name of the function used to compute colors on TTYs. */
-
-static Lisp_Object Qtty_color_alist;
-
#ifdef HAVE_WINDOW_SYSTEM
/* Counter for calls to clear_face_cache. If this counter reaches
void
syms_of_xfaces (void)
{
+ /* The symbols `face' and `mouse-face' used as text properties. */
DEFSYM (Qface, "face");
+
+ /* Property for basic faces which other faces cannot inherit. */
DEFSYM (Qface_no_inherit, "face-no-inherit");
+
+ /* Error symbol for wrong_type_argument in load_pixmap. */
DEFSYM (Qbitmap_spec_p, "bitmap-spec-p");
+
+ /* The name of the function to call when the background of the frame
+ has changed, frame_set_background_mode. */
DEFSYM (Qframe_set_background_mode, "frame-set-background-mode");
/* Lisp face attribute keywords. */
DEFSYM (Qultra_bold, "ultra-bold");
DEFSYM (Qoblique, "oblique");
DEFSYM (Qitalic, "italic");
+
+ /* The symbols `foreground-color' and `background-color' which can be
+ used as part of a `face' property. This is for compatibility with
+ Emacs 20.2. */
DEFSYM (Qbackground_color, "background-color");
DEFSYM (Qforeground_color, "foreground-color");
+
DEFSYM (Qunspecified, "unspecified");
DEFSYM (QCignore_defface, ":ignore-defface");
+ /* The symbol `face-alias'. A symbol having that property is an
+ alias for another face. Value of the property is the name of
+ the aliased face. */
DEFSYM (Qface_alias, "face-alias");
+
+ /* Names of basic faces. */
DEFSYM (Qdefault, "default");
DEFSYM (Qtool_bar, "tool-bar");
DEFSYM (Qregion, "region");
DEFSYM (Qmouse, "mouse");
DEFSYM (Qmode_line_inactive, "mode-line-inactive");
DEFSYM (Qvertical_border, "vertical-border");
+
+ /* TTY color-related functions (defined in tty-colors.el). */
DEFSYM (Qwindow_divider, "window-divider");
DEFSYM (Qwindow_divider_first_pixel, "window-divider-first-pixel");
DEFSYM (Qwindow_divider_last_pixel, "window-divider-last-pixel");
DEFSYM (Qtty_color_desc, "tty-color-desc");
DEFSYM (Qtty_color_standard_values, "tty-color-standard-values");
DEFSYM (Qtty_color_by_index, "tty-color-by-index");
+
+ /* The name of the function used to compute colors on TTYs. */
DEFSYM (Qtty_color_alist, "tty-color-alist");
+
+ /* Allowed scalable fonts. A value of nil means don't allow any
+ scalable fonts. A value of t means allow the use of any scalable
+ font. Otherwise, value must be a list of regular expressions. A
+ font may be scaled if its name matches a regular expression in the
+ list. */
DEFSYM (Qscalable_fonts_allowed, "scalable-fonts-allowed");
Vparam_value_alist = list1 (Fcons (Qnil, Qnil));
/* Functions for the X window system.
-Copyright (C) 1989, 1992-2014 Free Software Foundation, Inc.
+Copyright (C) 1989, 1992-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
#define MAXREQUEST(dpy) (XMaxRequestSize (dpy))
-static Lisp_Object Qundefined_color;
-static Lisp_Object Qcompound_text, Qcancel_timer;
-Lisp_Object Qfont_param;
-
#ifdef GLYPH_DEBUG
static ptrdiff_t image_cache_refcount;
static int dpyinfo_refcount;
{
const char *sep = motif ? ";" : ",";
char *fontsetname;
+ char *z;
/* Make a fontset name from the base font name. */
if (xic_default_fontset == base_fontname)
{
/* There is no base font name, use the default. */
fontsetname = xmalloc (strlen (base_fontname) + 2);
- strcpy (fontsetname, base_fontname);
+ z = stpcpy (fontsetname, base_fontname);
}
else
{
Use the specified font plus the default. */
fontsetname = xmalloc (strlen (base_fontname)
+ strlen (xic_default_fontset) + 3);
- strcpy (fontsetname, base_fontname);
- strcat (fontsetname, sep);
- strcat (fontsetname, xic_default_fontset);
+ z = stpcpy (fontsetname, base_fontname);
+ z = stpcpy (z, sep);
+ z = stpcpy (z, xic_default_fontset);
}
else
{
/* Build the font spec that matches all. */
len = p - p2 + strlen (allcs) + strlen (all) + strlen (allfamilies) + 1;
font_all = alloca (len);
- strcpy (font_all, allfamilies);
- strcat (font_all, all);
- memcpy (font_all + strlen (all) + strlen (allfamilies), p2, p - p2);
- strcpy (font_all + strlen (all) + strlen (allfamilies) + (p - p2),
- allcs);
+ z = stpcpy (font_all, allfamilies);
+ z = stpcpy (z, all);
+ memcpy (z, p2, p - p2);
+ strcpy (z + (p - p2), allcs);
/* Build the actual font set name. */
len = strlen (base_fontname) + strlen (font_allcs)
+ strlen (font_allfamilies) + strlen (font_all) + 5;
fontsetname = xmalloc (len);
- strcpy (fontsetname, base_fontname);
- strcat (fontsetname, sep);
- strcat (fontsetname, font_allcs);
- strcat (fontsetname, sep);
- strcat (fontsetname, font_allfamilies);
- strcat (fontsetname, sep);
- strcat (fontsetname, font_all);
+ z = stpcpy (fontsetname, base_fontname);
+ z = stpcpy (z, sep);
+ z = stpcpy (z, font_allcs);
+ z = stpcpy (z, sep);
+ z = stpcpy (z, font_allfamilies);
+ z = stpcpy (z, sep);
+ z = stpcpy (z, font_all);
}
}
if (motif)
- return strcat (fontsetname, ":");
+ strcpy (z, ":");
return fontsetname;
}
#endif /* HAVE_X_WINDOWS && USE_X_TOOLKIT */
if (!row->reversed_p)
{
last = &row->glyphs[TEXT_AREA][row->used[TEXT_AREA] - 1];
- if (INTEGERP (last->object))
+ if (NILP (last->object))
row_width -= last->pixel_width;
}
else
Don't count that glyph. */
struct glyph *g = row->glyphs[TEXT_AREA];
- if (g->type == STRETCH_GLYPH && INTEGERP (g->object))
+ if (g->type == STRETCH_GLYPH && NILP (g->object))
{
row_width -= g->pixel_width;
seen_reversed_p = 1;
if (row->used[TEXT_AREA] && !row->reversed_p)
{
last = &row->glyphs[TEXT_AREA][row->used[TEXT_AREA] - 1];
- if (INTEGERP (last->object))
+ if (NILP (last->object))
row_width -= last->pixel_width;
}
/* xfont.c -- X core font driver.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
National Institute of Advanced Industrial Science and Technology (AIST)
Registration Number H13PRO009
/* xftfont.c -- XFT font driver.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
National Institute of Advanced Industrial Science and Technology (AIST)
Registration Number H13PRO009
/* Xft font driver. */
-Lisp_Object Qxft;
-static Lisp_Object QChinting, QCautohint, QChintstyle, QCrgba, QCembolden,
- QClcdfilter;
/* The actual structure for Xft font that can be cast to struct
font. */
/* Function for handling the GLib event loop.
-Copyright (C) 2009-2014 Free Software Foundation, Inc.
+Copyright (C) 2009-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Header for xg_select.
-Copyright (C) 2009-2014 Free Software Foundation, Inc.
+Copyright (C) 2009-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* X Communication module for terminals which understand the X protocol.
-Copyright (C) 1986, 1988, 1993-1994, 1996, 1999-2014 Free Software
+Copyright (C) 1986, 1988, 1993-1994, 1996, 1999-2015 Free Software
Foundation, Inc.
This file is part of GNU Emacs.
#define TRUE 1
#endif /* no TRUE */
-static Lisp_Object Qdebug_on_next_call;
-
+\f
/* Flag which when set indicates a dialog or menu has been posted by
Xt on behalf of one of the widget sets. */
static int popup_activated_flag;
/* Interface to libxml2.
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
#include "buffer.h"
\f
-static Lisp_Object Qlibxml2_dll;
-
#ifdef WINDOWSNT
-#include <windows.h>
-#include "w32.h"
-
-/* Macro for defining functions that will be loaded from the libxml2 DLL. */
-#define DEF_XML2_FN(rettype,func,args) static rettype (FAR CDECL *fn_##func)args
+# include <windows.h>
+# include "w32.h"
-/* Macro for loading libxml2 functions from the library. */
-#define LOAD_XML2_FN(lib,func) { \
- fn_##func = (void *) GetProcAddress (lib, #func); \
- if (!fn_##func) goto bad_library; \
- }
-
-DEF_XML2_FN (htmlDocPtr, htmlReadMemory,
+DEF_DLL_FN (htmlDocPtr, htmlReadMemory,
(const char *, int, const char *, const char *, int));
-DEF_XML2_FN (xmlDocPtr, xmlReadMemory,
+DEF_DLL_FN (xmlDocPtr, xmlReadMemory,
(const char *, int, const char *, const char *, int));
-DEF_XML2_FN (xmlNodePtr, xmlDocGetRootElement, (xmlDocPtr));
-DEF_XML2_FN (void, xmlFreeDoc, (xmlDocPtr));
-DEF_XML2_FN (void, xmlCleanupParser, (void));
-DEF_XML2_FN (void, xmlCheckVersion, (int));
+DEF_DLL_FN (xmlNodePtr, xmlDocGetRootElement, (xmlDocPtr));
+DEF_DLL_FN (void, xmlFreeDoc, (xmlDocPtr));
+DEF_DLL_FN (void, xmlCleanupParser, (void));
+DEF_DLL_FN (void, xmlCheckVersion, (int));
static int
libxml2_loaded_p (void)
return 0;
}
-#else /* !WINDOWSNT */
+# undef htmlReadMemory
+# undef xmlCheckVersion
+# undef xmlCleanupParser
+# undef xmlDocGetRootElement
+# undef xmlFreeDoc
+# undef xmlReadMemory
+
+# define htmlReadMemory fn_htmlReadMemory
+# define xmlCheckVersion fn_xmlCheckVersion
+# define xmlCleanupParser fn_xmlCleanupParser
+# define xmlDocGetRootElement fn_xmlDocGetRootElement
+# define xmlFreeDoc fn_xmlFreeDoc
+# define xmlReadMemory fn_xmlReadMemory
+
+static bool
+load_dll_functions (HMODULE library)
+{
+ LOAD_DLL_FN (library, htmlReadMemory);
+ LOAD_DLL_FN (library, xmlReadMemory);
+ LOAD_DLL_FN (library, xmlDocGetRootElement);
+ LOAD_DLL_FN (library, xmlFreeDoc);
+ LOAD_DLL_FN (library, xmlCleanupParser);
+ LOAD_DLL_FN (library, xmlCheckVersion);
+ return true;
+}
-#define fn_htmlReadMemory htmlReadMemory
-#define fn_xmlReadMemory xmlReadMemory
-#define fn_xmlDocGetRootElement xmlDocGetRootElement
-#define fn_xmlFreeDoc xmlFreeDoc
-#define fn_xmlCleanupParser xmlCleanupParser
-#define fn_xmlCheckVersion xmlCheckVersion
+#else /* !WINDOWSNT */
static int
libxml2_loaded_p (void)
return 0;
}
- /* LOAD_XML2_FN jumps to bad_library if it fails to find the
- named function. */
- LOAD_XML2_FN (library, htmlReadMemory);
- LOAD_XML2_FN (library, xmlReadMemory);
- LOAD_XML2_FN (library, xmlDocGetRootElement);
- LOAD_XML2_FN (library, xmlFreeDoc);
- LOAD_XML2_FN (library, xmlCleanupParser);
- LOAD_XML2_FN (library, xmlCheckVersion);
+ if (! load_dll_functions (library))
+ goto bad_library;
Vlibrary_cache = Fcons (Fcons (Qlibxml2_dll, Qt), Vlibrary_cache);
return 1;
const char *burl = "";
ptrdiff_t istart, iend, istart_byte, iend_byte;
- fn_xmlCheckVersion (LIBXML_VERSION);
+ xmlCheckVersion (LIBXML_VERSION);
validate_region (&start, &end);
}
if (htmlp)
- doc = fn_htmlReadMemory ((char *) BYTE_POS_ADDR (istart_byte),
- iend_byte - istart_byte, burl, "utf-8",
- HTML_PARSE_RECOVER|HTML_PARSE_NONET|
- HTML_PARSE_NOWARNING|HTML_PARSE_NOERROR|
- HTML_PARSE_NOBLANKS);
+ doc = htmlReadMemory ((char *) BYTE_POS_ADDR (istart_byte),
+ iend_byte - istart_byte, burl, "utf-8",
+ HTML_PARSE_RECOVER|HTML_PARSE_NONET|
+ HTML_PARSE_NOWARNING|HTML_PARSE_NOERROR|
+ HTML_PARSE_NOBLANKS);
else
- doc = fn_xmlReadMemory ((char *) BYTE_POS_ADDR (istart_byte),
- iend_byte - istart_byte, burl, "utf-8",
- XML_PARSE_NONET|XML_PARSE_NOWARNING|
- XML_PARSE_NOBLANKS |XML_PARSE_NOERROR);
+ doc = xmlReadMemory ((char *) BYTE_POS_ADDR (istart_byte),
+ iend_byte - istart_byte, burl, "utf-8",
+ XML_PARSE_NONET|XML_PARSE_NOWARNING|
+ XML_PARSE_NOBLANKS |XML_PARSE_NOERROR);
if (doc != NULL)
{
if (NILP (result)) {
/* The document doesn't have toplevel comments or we discarded
them. Get the tree the proper way. */
- xmlNode *node = fn_xmlDocGetRootElement (doc);
+ xmlNode *node = xmlDocGetRootElement (doc);
if (node != NULL)
result = make_dom (node);
} else
result = Fcons (intern ("top"),
Fcons (Qnil, Fnreverse (Fcons (r, result))));
- fn_xmlFreeDoc (doc);
+ xmlFreeDoc (doc);
}
return result;
xml_cleanup_parser (void)
{
if (libxml2_loaded_p ())
- fn_xmlCleanupParser ();
+ xmlCleanupParser ();
}
DEFUN ("libxml-parse-html-region", Flibxml_parse_html_region,
/* Deal with the X Resource Manager.
- Copyright (C) 1990, 1993-1994, 2000-2014 Free Software Foundation,
+ Copyright (C) 1990, 1993-1994, 2000-2015 Free Software Foundation,
Inc.
Author: Joseph Arceneaux
if (ptr == NULL)
return xstrdup ("/");
- copy = xmalloc (strlen (ptr) + 2);
- strcpy (copy, ptr);
- return strcat (copy, "/");
+ ptrdiff_t len = strlen (ptr);
+ copy = xmalloc (len + 2);
+ strcpy (copy + len, "/");
+ return memcpy (copy, ptr, len);
}
return db;
}
+static char const xdefaults[] = ".Xdefaults";
static XrmDatabase
get_user_db (Display *display)
db = XrmGetStringDatabase (xdefs);
else
{
- char *home;
- char *xdefault;
-
- home = gethomedir ();
- xdefault = xmalloc (strlen (home) + sizeof ".Xdefaults");
- strcpy (xdefault, home);
- strcat (xdefault, ".Xdefaults");
- db = XrmGetFileDatabase (xdefault);
- xfree (home);
- xfree (xdefault);
+ char *home = gethomedir ();
+ ptrdiff_t homelen = strlen (home);
+ char *filename = xrealloc (home, homelen + sizeof xdefaults);
+ strcpy (filename + homelen, xdefaults);
+ db = XrmGetFileDatabase (filename);
+ xfree (filename);
}
#ifdef HAVE_XSCREENRESOURCESTRING
get_environ_db (void)
{
XrmDatabase db;
- char *p;
- char *path = 0;
+ char *p = getenv ("XENVIRONMENT");
+ char *filename = 0;
- if ((p = getenv ("XENVIRONMENT")) == NULL)
+ if (!p)
{
- static char const xdefaults[] = ".Xdefaults-";
char *home = gethomedir ();
- char const *host = SSDATA (Vsystem_name);
- ptrdiff_t pathsize = (strlen (home) + sizeof xdefaults
- + SBYTES (Vsystem_name));
- path = xrealloc (home, pathsize);
- strcat (strcat (path, xdefaults), host);
- p = path;
+ ptrdiff_t homelen = strlen (home);
+ Lisp_Object system_name = Fsystem_name ();
+ ptrdiff_t filenamesize = (homelen + sizeof xdefaults
+ + SBYTES (system_name));
+ p = filename = xrealloc (home, filenamesize);
+ lispstpcpy (stpcpy (filename + homelen, xdefaults), system_name);
}
db = XrmGetFileDatabase (p);
- xfree (path);
+ xfree (filename);
return db;
}
/* X Selection processing for Emacs.
- Copyright (C) 1993-1997, 2000-2014 Free Software Foundation, Inc.
+ Copyright (C) 1993-1997, 2000-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
struct selection_data;
static void x_decline_selection_request (struct input_event *);
-static int x_convert_selection (struct input_event *, Lisp_Object, Lisp_Object,
- Atom, int, struct x_display_info *);
-static int waiting_for_other_props_on_window (Display *, Window);
+static bool x_convert_selection (struct input_event *, Lisp_Object,
+ Lisp_Object, Atom, bool,
+ struct x_display_info *);
+static bool waiting_for_other_props_on_window (Display *, Window);
static struct prop_location *expect_property_change (Display *, Window,
Atom, int);
static void unexpect_property_change (struct prop_location *);
#define TRACE2(fmt, a0, a1) (void) 0
#endif
-
-static Lisp_Object QSECONDARY, QSTRING, QINTEGER, QCLIPBOARD, QTIMESTAMP,
- QTEXT, QDELETE, QMULTIPLE, QINCR, QEMACS_TMP, QTARGETS, QATOM, QNULL,
- QATOM_PAIR, QCLIPBOARD_MANAGER, QSAVE_TARGETS;
-
-static Lisp_Object QCOMPOUND_TEXT; /* This is a type of selection. */
-static Lisp_Object QUTF8_STRING; /* This is a type of selection. */
-
-static Lisp_Object Qcompound_text_with_extensions;
-
-static Lisp_Object Qforeign_selection;
-static Lisp_Object Qx_lost_selection_functions, Qx_sent_selection_functions;
-
/* Bytes needed to represent 'long' data. This is as per libX11; it
is not necessarily sizeof (long). */
#define X_LONG_SIZE 4
static Lisp_Object
x_get_local_selection (Lisp_Object selection_symbol, Lisp_Object target_type,
- int local_request, struct x_display_info *dpyinfo)
+ bool local_request, struct x_display_info *dpyinfo)
{
Lisp_Object local_value;
Lisp_Object handler_fn, value, check;
ptrdiff_t size;
int format;
Atom type;
- int nofree;
+ bool nofree;
Atom property;
/* This can be set to non-NULL during x_reply_selection_request, if
the selection is waiting for an INCR transfer to complete. Don't
for (cs = converted_selections; cs; cs = next)
{
next = cs->next;
- if (cs->nofree == 0 && cs->data)
+ if (! cs->nofree && cs->data)
xfree (cs->data);
xfree (cs);
}
Window window;
Atom property;
int desired_state;
- int arrived;
+ bool arrived;
struct prop_location *next;
};
Lisp_Object target_symbol = x_atom_to_symbol (dpyinfo, target);
Atom property = SELECTION_EVENT_PROPERTY (event);
Lisp_Object local_selection_data;
- int success = 0;
+ bool success = false;
ptrdiff_t count = SPECPDL_INDEX ();
GCPRO2 (local_selection_data, target_symbol);
if (subproperty != None)
x_convert_selection (event, selection_symbol, subtarget,
- subproperty, 1, dpyinfo);
+ subproperty, true, dpyinfo);
}
- success = 1;
+ success = true;
}
else
{
property = SELECTION_EVENT_TARGET (event);
success = x_convert_selection (event, selection_symbol,
target_symbol, property,
- 0, dpyinfo);
+ false, dpyinfo);
}
DONE:
/* Perform the requested selection conversion, and write the data to
the converted_selections linked list, where it can be accessed by
- x_reply_selection_request. If FOR_MULTIPLE is non-zero, write out
+ x_reply_selection_request. If FOR_MULTIPLE, write out
the data even if conversion fails, using conversion_fail_tag.
- Return 0 if the selection failed to convert, 1 otherwise. */
+ Return true iff successful. */
-static int
+static bool
x_convert_selection (struct input_event *event, Lisp_Object selection_symbol,
Lisp_Object target_symbol, Atom property,
- int for_multiple, struct x_display_info *dpyinfo)
+ bool for_multiple, struct x_display_info *dpyinfo)
{
struct gcpro gcpro1;
Lisp_Object lisp_selection;
lisp_selection
= x_get_local_selection (selection_symbol, target_symbol,
- 0, dpyinfo);
+ false, dpyinfo);
/* A nil return value means we can't perform the conversion. */
if (NILP (lisp_selection)
cs->size = 1;
cs->format = 32;
cs->type = XA_ATOM;
- cs->nofree = 1;
+ cs->nofree = true;
cs->property = property;
cs->wait_object = NULL;
cs->next = converted_selections;
}
UNGCPRO;
- return 0;
+ return false;
}
/* Otherwise, record the converted selection to binary. */
cs = xmalloc (sizeof *cs);
cs->data = NULL;
- cs->nofree = 1;
+ cs->nofree = true;
cs->property = property;
cs->wait_object = NULL;
cs->next = converted_selections;
converted_selections = cs;
lisp_data_to_selection_data (dpyinfo, lisp_selection, cs);
UNGCPRO;
- return 1;
+ return true;
}
\f
/* Handle a SelectionClear event EVENT, which indicates that some
}
}
\f
-/* Nonzero if any properties for DISPLAY and WINDOW
+/* True if any properties for DISPLAY and WINDOW
are on the list of what we are waiting for. */
-static int
+static bool
waiting_for_other_props_on_window (Display *display, Window window)
{
- struct prop_location *rest = property_change_wait_list;
- while (rest)
- if (rest->display == display && rest->window == window)
- return 1;
- else
- rest = rest->next;
- return 0;
+ for (struct prop_location *p = property_change_wait_list; p; p = p->next)
+ if (p->display == display && p->window == window)
+ return true;
+ return false;
}
/* Add an entry to the list of property changes we are waiting for.
pl->property = property;
pl->desired_state = state;
pl->next = property_change_wait_list;
- pl->arrived = 0;
+ pl->arrived = false;
property_change_wait_list = pl;
return pl;
}
EMACS_INT secs = timeout / 1000;
int nsecs = (timeout % 1000) * 1000000;
TRACE2 (" Waiting %"pI"d secs, %d nsecs", secs, nsecs);
- wait_reading_process_output (secs, nsecs, 0, 0,
+ wait_reading_process_output (secs, nsecs, 0, false,
property_change_reply, NULL, 0);
if (NILP (XCAR (property_change_reply)))
(event->state == PropertyDelete ? "deletion" : "change"),
XGetAtomName (event->display, event->atom));
- rest->arrived = 1;
+ rest->arrived = true;
/* If this is the one wait_for_property_change is waiting for,
tell it to wake up. */
during this time. In fact, the SAVE_TARGETS mechanism requires
us to handle a clipboard manager's requests before it returns
SelectionNotify. */
-#if 0
+#if false
x_start_queuing_selection_requests ();
record_unwind_protect_void (x_stop_queuing_selection_requests);
#endif
secs = timeout / 1000;
nsecs = (timeout % 1000) * 1000000;
TRACE1 (" Start waiting %"pI"d secs for SelectionNotify", secs);
- wait_reading_process_output (secs, nsecs, 0, 0,
+ wait_reading_process_output (secs, nsecs, 0, false,
reading_selection_reply, NULL, 0);
TRACE1 (" Got event = %d", !NILP (XCAR (reading_selection_reply)));
x_get_window_property (Display *display, Window window, Atom property,
unsigned char **data_ret, ptrdiff_t *bytes_ret,
Atom *actual_type_ret, int *actual_format_ret,
- unsigned long *actual_size_ret, int delete_p)
+ unsigned long *actual_size_ret)
{
ptrdiff_t total_size;
unsigned long bytes_remaining;
XFlush (display);
unblock_input ();
- while (1)
+ while (true)
{
unsigned char *tmp_data;
ptrdiff_t tmp_size_bytes;
TRACE0 (" Get property value");
x_get_window_property (display, window, property,
&tmp_data, &tmp_size_bytes,
- type_ret, format_ret, size_ret, 1);
+ type_ret, format_ret, size_ret);
TRACE1 (" Read increment of %"pD"d bytes", tmp_size_bytes);
TRACE0 ("Reading selection data");
x_get_window_property (display, window, property, &data, &bytes,
- &actual_type, &actual_format, &actual_size, 1);
+ &actual_type, &actual_format, &actual_size);
if (! data)
{
- int there_is_a_selection_owner;
block_input ();
- there_is_a_selection_owner
- = XGetSelectionOwner (display, selection_atom);
+ bool there_is_a_selection_owner
+ = XGetSelectionOwner (display, selection_atom) != 0;
unblock_input ();
if (there_is_a_selection_owner)
signal_error ("Selection owner couldn't convert",
Lisp_Object type = Qnil;
eassert (cs != NULL);
- cs->nofree = 0;
+ cs->nofree = false;
if (CONSP (obj) && SYMBOLP (XCAR (obj)))
{
cs->format = 8;
cs->size = SBYTES (obj);
cs->data = SDATA (obj);
- cs->nofree = 1;
+ cs->nofree = true;
}
else if (SYMBOLP (obj))
{
if (!f)
error ("X selection unavailable for this frame");
- val = x_get_local_selection (selection_symbol, target_type, 1,
+ val = x_get_local_selection (selection_symbol, target_type, true,
FRAME_DISPLAY_INFO (f));
if (NILP (val) && FRAME_LIVE_P (f))
/* Convert an XClientMessageEvent to a Lisp event of type DRAG_N_DROP_EVENT. */
-int
+bool
x_handle_dnd_message (struct frame *f, const XClientMessageEvent *event,
struct x_display_info *dpyinfo, struct input_event *bufp)
{
for (i = 0; i < dpyinfo->x_dnd_atoms_length; ++i)
if (dpyinfo->x_dnd_atoms[i] == event->message_type) break;
- if (i == dpyinfo->x_dnd_atoms_length) return 0;
+ if (i == dpyinfo->x_dnd_atoms_length) return false;
XSETFRAME (frame, f);
bufp->arg = vec;
bufp->modifiers = 0;
- return 1;
+ return true;
}
DEFUN ("x-send-client-message", Fx_send_client_message,
Window wdest;
XEvent event;
struct frame *f = decode_window_system_frame (from);
- int to_root;
+ bool to_root;
CHECK_NUMBER (format);
CHECK_CONS (values);
event then goes to clients selecting for events on the root window. */
x_catch_errors (dpyinfo->display);
{
- int propagate = to_root ? False : True;
+ bool propagate = !to_root;
long mask = to_root ? 0xffffff : 0;
XSendEvent (dpyinfo->display, wdest, propagate, mask, &event);
DEFSYM (QCLIPBOARD, "CLIPBOARD");
DEFSYM (QTIMESTAMP, "TIMESTAMP");
DEFSYM (QTEXT, "TEXT");
+
+ /* These are types of selection. */
DEFSYM (QCOMPOUND_TEXT, "COMPOUND_TEXT");
DEFSYM (QUTF8_STRING, "UTF8_STRING");
+
DEFSYM (QDELETE, "DELETE");
DEFSYM (QMULTIPLE, "MULTIPLE");
DEFSYM (QINCR, "INCR");
/* Functions for handling font and other changes dynamically.
-Copyright (C) 2009-2014 Free Software Foundation, Inc.
+Copyright (C) 2009-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
static char *current_mono_font;
static char *current_font;
static struct x_display_info *first_dpyinfo;
-static Lisp_Object Qmonospace_font_name, Qfont_name, Qfont_render,
- Qtool_bar_style;
static Lisp_Object current_tool_bar_style;
/* Store an config changed event in to the event queue. */
kbd_buffer_store_event (&event);
}
-/* Return non-zero if DPYINFO is still valid. */
-static int
+/* Return true if DPYINFO is still valid. */
+static bool
dpyinfo_valid (struct x_display_info *dpyinfo)
{
- int found = 0;
+ bool found = false;
if (dpyinfo != NULL)
{
struct x_display_info *d;
/* First 4 bytes is a serial number, skip that. */
- if (bytes < 12) return BadLength;
+ if (bytes < 12) return settings_seen;
memcpy (&n_settings, prop+8, 4);
if (my_bo != that_bo) n_settings = bswap_32 (n_settings);
bytes_parsed = 12;
CARD32 vlen, ival = 0;
char name[128]; /* The names we are looking for are not this long. */
char sval[128]; /* The values we are looking for are not this long. */
- int want_this;
+ bool want_this;
int to_cpy;
sval[0] = '\0';
memcpy (&nlen, prop+bytes_parsed, 2);
bytes_parsed += 2;
if (my_bo != that_bo) nlen = bswap_16 (nlen);
- if (bytes_parsed+nlen > bytes) return BadLength;
- to_cpy = nlen > 127 ? 127 : nlen;
+ if (bytes_parsed + nlen > bytes) return settings_seen;
+ to_cpy = min (nlen, sizeof name - 1);
memcpy (name, prop+bytes_parsed, to_cpy);
name[to_cpy] = '\0';
bytes_parsed = PAD (bytes_parsed);
bytes_parsed += 4; /* Skip serial for this value */
- if (bytes_parsed > bytes) return BadLength;
+ if (bytes_parsed > bytes) return settings_seen;
- want_this =
+ want_this = strcmp (XSETTINGS_TOOL_BAR_STYLE, name) == 0;
#ifdef HAVE_XFT
- (nlen > 6 && strncmp (name, "Xft/", 4) == 0)
- || strcmp (XSETTINGS_FONT_NAME, name) == 0
- ||
+ if ((nlen > 6 && memcmp (name, "Xft/", 4) == 0)
+ || strcmp (XSETTINGS_FONT_NAME, name) == 0)
+ want_this = true;
#endif
- strcmp (XSETTINGS_TOOL_BAR_STYLE, name) == 0;
switch (type)
{
case 0: /* Integer */
- if (bytes_parsed+4 > bytes) return BadLength;
+ if (bytes_parsed + 4 > bytes) return settings_seen;
if (want_this)
{
memcpy (&ival, prop+bytes_parsed, 4);
break;
case 1: /* String */
- if (bytes_parsed+4 > bytes) return BadLength;
+ if (bytes_parsed + 4 > bytes) return settings_seen;
memcpy (&vlen, prop+bytes_parsed, 4);
bytes_parsed += 4;
if (my_bo != that_bo) vlen = bswap_32 (vlen);
if (want_this)
{
- to_cpy = vlen > 127 ? 127 : vlen;
+ to_cpy = min (vlen, sizeof sval - 1);
memcpy (sval, prop+bytes_parsed, to_cpy);
sval[to_cpy] = '\0';
}
case 2: /* RGB value */
/* No need to parse this */
- if (bytes_parsed+8 > bytes) return BadLength;
+ if (bytes_parsed + 8 > bytes) return settings_seen;
bytes_parsed += 8; /* 4 values (r, b, g, alpha), 2 bytes each. */
break;
default: /* Parse Error */
- return BadValue;
+ return settings_seen;
}
if (want_this)
{
- ++settings_seen;
if (strcmp (name, XSETTINGS_TOOL_BAR_STYLE) == 0)
{
dupstring (&settings->tb_style, sval);
settings->seen &= ~SEEN_LCDFILTER;
}
#endif /* HAVE_XFT */
+ else
+ want_this = false;
+ settings_seen += want_this;
}
}
/* Read settings from the XSettings property window on display for DPYINFO.
Store settings read in SETTINGS.
- Return non-zero if successful, zero if not. */
+ Return true iff successful. */
-static int
+static bool
read_settings (struct x_display_info *dpyinfo, struct xsettings *settings)
{
Atom act_type;
unsigned char *prop = NULL;
Display *dpy = dpyinfo->display;
int rc;
+ bool got_settings = false;
x_catch_errors (dpy);
rc = XGetWindowProperty (dpy,
if (rc == Success && prop != NULL && act_form == 8 && nitems > 0
&& act_type == dpyinfo->Xatom_xsettings_prop)
- rc = parse_settings (prop, nitems, settings);
+ got_settings = parse_settings (prop, nitems, settings) != 0;
XFree (prop);
x_uncatch_errors ();
- return rc != 0;
+ return got_settings;
}
/* Apply Xft settings in SETTINGS to the Xft library.
- If SEND_EVENT_P is non-zero store a Lisp event that Xft settings changed. */
+ Store a Lisp event that Xft settings changed. */
static void
apply_xft_settings (struct x_display_info *dpyinfo,
- int send_event_p,
struct xsettings *settings)
{
#ifdef HAVE_XFT
FcPattern *pat;
struct xsettings oldsettings;
- int changed = 0;
+ bool changed = false;
memset (&oldsettings, 0, sizeof (oldsettings));
pat = FcPatternCreate ();
{
FcPatternDel (pat, FC_ANTIALIAS);
FcPatternAddBool (pat, FC_ANTIALIAS, settings->aa);
- ++changed;
+ changed = true;
oldsettings.aa = settings->aa;
}
{
FcPatternDel (pat, FC_HINTING);
FcPatternAddBool (pat, FC_HINTING, settings->hinting);
- ++changed;
+ changed = true;
oldsettings.hinting = settings->hinting;
}
if ((settings->seen & SEEN_RGBA) != 0 && oldsettings.rgba != settings->rgba)
FcPatternDel (pat, FC_RGBA);
FcPatternAddInteger (pat, FC_RGBA, settings->rgba);
oldsettings.rgba = settings->rgba;
- ++changed;
+ changed = true;
}
/* Older fontconfig versions don't have FC_LCD_FILTER. */
{
FcPatternDel (pat, FC_LCD_FILTER);
FcPatternAddInteger (pat, FC_LCD_FILTER, settings->lcdfilter);
- ++changed;
+ changed = true;
oldsettings.lcdfilter = settings->lcdfilter;
}
{
FcPatternDel (pat, FC_HINT_STYLE);
FcPatternAddInteger (pat, FC_HINT_STYLE, settings->hintstyle);
- ++changed;
+ changed = true;
oldsettings.hintstyle = settings->hintstyle;
}
#endif
{
FcPatternDel (pat, FC_DPI);
FcPatternAddDouble (pat, FC_DPI, settings->dpi);
- ++changed;
+ changed = true;
oldsettings.dpi = settings->dpi;
/* Changing the DPI on this display affects all frames on it.
char buf[sizeof format + d_formats * d_growth + lf_formats * lf_growth];
XftDefaultSet (dpyinfo->display, pat);
- if (send_event_p)
- store_config_changed_event (Qfont_render,
- XCAR (dpyinfo->name_list_element));
+ store_config_changed_event (Qfont_render,
+ XCAR (dpyinfo->name_list_element));
Vxft_settings
= make_formatted_string (buf, format,
oldsettings.aa, oldsettings.hinting,
}
/* Read XSettings from the display for DPYINFO.
- If SEND_EVENT_P is non-zero store a Lisp event settings that changed. */
+ If SEND_EVENT_P store a Lisp event settings that changed. */
static void
-read_and_apply_settings (struct x_display_info *dpyinfo, int send_event_p)
+read_and_apply_settings (struct x_display_info *dpyinfo, bool send_event_p)
{
struct xsettings settings;
if (!read_settings (dpyinfo, &settings))
return;
- apply_xft_settings (dpyinfo, True, &settings);
+ apply_xft_settings (dpyinfo, &settings);
if (settings.seen & SEEN_TB_STYLE)
{
if (send_event_p)
void
xft_settings_event (struct x_display_info *dpyinfo, const XEvent *event)
{
- bool check_window_p = 0, apply_settings_p = 0;
+ bool check_window_p = false, apply_settings_p = false;
switch (event->type)
{
case DestroyNotify:
if (dpyinfo->xsettings_window == event->xany.window)
- check_window_p = 1;
+ check_window_p = true;
break;
case ClientMessage:
if (event->xclient.message_type == dpyinfo->Xatom_xsettings_mgr
&& event->xclient.data.l[1] == dpyinfo->Xatom_xsettings_sel
&& event->xclient.window == dpyinfo->root_window)
- check_window_p = 1;
+ check_window_p = true;
break;
case PropertyNotify:
if (event->xproperty.window == dpyinfo->xsettings_window
&& event->xproperty.state == PropertyNewValue
&& event->xproperty.atom == dpyinfo->Xatom_xsettings_prop)
- apply_settings_p = 1;
+ apply_settings_p = true;
break;
}
dpyinfo->xsettings_window = None;
get_prop_window (dpyinfo);
if (dpyinfo->xsettings_window != None)
- apply_settings_p = 1;
+ apply_settings_p = true;
}
if (apply_settings_p)
- read_and_apply_settings (dpyinfo, True);
+ read_and_apply_settings (dpyinfo, true);
}
/* Initialize GSettings and read startup values. */
{
#ifdef HAVE_GSETTINGS
GVariant *val;
- int schema_found = 0;
+ bool schema_found = false;
#if ! GLIB_CHECK_VERSION (2, 36, 0)
g_type_init ();
get_prop_window (dpyinfo);
if (dpyinfo->xsettings_window != None)
- read_and_apply_settings (dpyinfo, False);
+ read_and_apply_settings (dpyinfo, false);
unblock_input ();
}
When this is non-nil and the system defined fixed width font changes, we
update frames dynamically.
If this variable is nil, Emacs ignores system font changes. */);
- use_system_font = 0;
+ use_system_font = false;
DEFVAR_LISP ("xft-settings", Vxft_settings,
doc: /* Font settings applied to Xft. */);
/* Functions for handle font changes dynamically.
-Copyright (C) 2009-2014 Free Software Foundation, Inc.
+Copyright (C) 2009-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Session management module for systems which understand the X Session
management protocol.
-Copyright (C) 2002-2014 Free Software Foundation, Inc.
+Copyright (C) 2002-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* A flag that says if we are in shutdown interactions or not. */
-static int doing_interact;
+static bool doing_interact;
/* The session manager object for the session manager connection. */
kbd_buffer_store_event (&emacs_event);
}
-/* Return non-zero if we have a connection to a session manager. */
+/* Return true if we have a connection to a session manager. */
-int
+bool
x_session_have_connection (void)
{
return ice_fd != -1;
static void
smc_interact_CB (SmcConn smcConn, SmPointer clientData)
{
- doing_interact = True;
+ doing_interact = true;
emacs_event.kind = SAVE_SESSION_EVENT;
emacs_event.arg = Qnil;
}
props[props_idx]->vals[vp_idx++].value = emacs_program;
smid_opt = xmalloc (strlen (SMID_OPT) + strlen (client_id) + 1);
- strcpy (smid_opt, SMID_OPT);
- strcat (smid_opt, client_id);
+ strcpy (stpcpy (smid_opt, SMID_OPT), client_id);
props[props_idx]->vals[vp_idx].length = strlen (smid_opt);
props[props_idx]->vals[vp_idx++].value = smid_opt;
if (cwd)
{
chdir_opt = xmalloc (strlen (CHDIR_OPT) + strlen (cwd) + 1);
- strcpy (chdir_opt, CHDIR_OPT);
- strcat (chdir_opt, cwd);
+ strcpy (stpcpy (chdir_opt, CHDIR_OPT), cwd);
props[props_idx]->vals[vp_idx].length = strlen (chdir_opt);
props[props_idx]->vals[vp_idx++].value = chdir_opt;
ptrdiff_t name_len = 0;
ice_fd = -1;
- doing_interact = False;
+ doing_interact = false;
/* Check if we where started by the session manager. If so, we will
have a previous id. */
- if (! EQ (Vx_session_previous_id, Qnil) && STRINGP (Vx_session_previous_id))
+ if (! NILP (Vx_session_previous_id) && STRINGP (Vx_session_previous_id))
previous_id = SSDATA (Vx_session_previous_id);
/* Construct the path to the Emacs program. */
- if (! EQ (Vinvocation_directory, Qnil))
+ if (! NILP (Vinvocation_directory))
name_len += SBYTES (Vinvocation_directory);
name_len += SBYTES (Vinvocation_name);
emacs_program = xmalloc (name_len + 1);
char *z = emacs_program;
- if (! EQ (Vinvocation_directory, Qnil))
+ if (! NILP (Vinvocation_directory))
z = lispstpcpy (z, Vinvocation_directory);
lispstpcpy (z, Vinvocation_name);
Do not call this function yourself. */)
(Lisp_Object event)
{
- int kill_emacs = CONSP (event) && CONSP (XCDR (event))
- && EQ (Qt, XCAR (XCDR (event)));
+ bool kill_emacs = (CONSP (event) && CONSP (XCDR (event))
+ && EQ (Qt, XCAR (XCDR (event))));
/* Check doing_interact so that we don't do anything if someone called
this at the wrong time. */
if (doing_interact && ! kill_emacs)
{
- Bool cancel_shutdown = False;
-
- cancel_shutdown = ! EQ (call0 (intern ("emacs-session-save")), Qnil);
+ bool cancel_shutdown = ! NILP (call0 (intern ("emacs-session-save")));
SmcInteractDone (smc_conn, cancel_shutdown);
SmcSaveYourselfDone (smc_conn, True);
- doing_interact = False;
+ doing_interact = false;
}
else if (kill_emacs)
{
prevent. Fix this in next version. */
Fkill_emacs (Qnil);
-#if 0
+#if false
/* This will not be reached, but we want kill-emacs-hook to be run. */
SmcCloseConnection (smc_conn, 0, 0);
ice_connection_closed ();
/* X Communication module for terminals which understand the X protocol.
-Copyright (C) 1989, 1993-2014 Free Software Foundation, Inc.
+Copyright (C) 1989, 1993-2015 Free Software Foundation, Inc.
This file is part of GNU Emacs.
static int x_noop_count;
-static Lisp_Object Qalt, Qhyper, Qmeta, Qsuper, Qmodifier_value;
-
-static Lisp_Object Qvendor_specific_keysyms;
-static Lisp_Object Qlatin_1;
-
#ifdef USE_GTK
/* The name of the Emacs icon file. */
static Lisp_Object xg_default_icon_file;
-
-/* Used in gtkutil.c. */
-Lisp_Object Qx_gtk_map_stock;
#endif
/* Some functions take this as char *, not const char *. */
switch (f->want_fullscreen)
{
case FULLSCREEN_BOTH:
- if (cur == FULLSCREEN_WIDTH || cur == FULLSCREEN_MAXIMIZED
- || cur == FULLSCREEN_HEIGHT)
- set_wm_state (frame, false,
- dpyinfo->Xatom_net_wm_state_maximized_horz,
- dpyinfo->Xatom_net_wm_state_maximized_vert);
- set_wm_state (frame, true,
- dpyinfo->Xatom_net_wm_state_fullscreen, None);
+ if (cur != FULLSCREEN_BOTH)
+ set_wm_state (frame, true, dpyinfo->Xatom_net_wm_state_fullscreen,
+ None);
break;
case FULLSCREEN_WIDTH:
if (cur == FULLSCREEN_BOTH || cur == FULLSCREEN_HEIGHT
x_wait_for_event (f, ConfigureNotify);
else
{
- change_frame_size (f, pixelwidth, pixelheight, false, true, false, true);
+ change_frame_size (f, width, height, false, true, false, true);
x_sync (f);
}
}
same_x_server (const char *name1, const char *name2)
{
bool seen_colon = false;
- const char *system_name = SSDATA (Vsystem_name);
- ptrdiff_t system_name_length = SBYTES (Vsystem_name);
+ Lisp_Object sysname = Fsystem_name ();
+ const char *system_name = SSDATA (sysname);
+ ptrdiff_t system_name_length = SBYTES (sysname);
ptrdiff_t length_until_period = 0;
while (system_name[length_until_period] != 0
#endif
lim = min (PTRDIFF_MAX, SIZE_MAX) - sizeof "@";
- if (lim - SBYTES (Vinvocation_name) < SBYTES (Vsystem_name))
+ Lisp_Object system_name = Fsystem_name ();
+ if (lim - SBYTES (Vinvocation_name) < SBYTES (system_name))
memory_full (SIZE_MAX);
dpyinfo->x_id = ++x_display_id;
dpyinfo->x_id_name = xmalloc (SBYTES (Vinvocation_name)
- + SBYTES (Vsystem_name) + 2);
+ + SBYTES (system_name) + 2);
char *nametail = lispstpcpy (dpyinfo->x_id_name, Vinvocation_name);
*nametail++ = '@';
- lispstpcpy (nametail, Vsystem_name);
+ lispstpcpy (nametail, system_name);
/* Figure out which modifier bits mean what. */
x_find_modifier_meanings (dpyinfo);
/* Definitions and headers for communication with X protocol.
- Copyright (C) 1989, 1993-1994, 1998-2014 Free Software Foundation,
+ Copyright (C) 1989, 1993-1994, 1998-2015 Free Software Foundation,
Inc.
This file is part of GNU Emacs.
Lisp_Object format,
Lisp_Object values);
-extern int x_handle_dnd_message (struct frame *,
- const XClientMessageEvent *,
- struct x_display_info *,
- struct input_event *);
+extern bool x_handle_dnd_message (struct frame *,
+ const XClientMessageEvent *,
+ struct x_display_info *,
+ struct input_event *);
extern int x_check_property_data (Lisp_Object);
extern void x_fill_property_data (Display *,
Lisp_Object,
/* Defined in xsmfns.c */
#ifdef HAVE_X_SM
extern void x_session_initialize (struct x_display_info *dpyinfo);
-extern int x_session_have_connection (void);
+extern bool x_session_have_connection (void);
extern void x_session_close (void);
#endif
-/* Defined in xterm.c */
-
-extern Lisp_Object Qx_gtk_map_stock;
/* Is the frame embedded into another application? */
* automated/eieio-test-methodinvoke.el (eieio-test-method-store):
Update reference to eieio--generic-call-key.
-2015-01-07 Stefan Monnier <monnier@iro.umontreal.ca>
+2015-01-08 Stefan Monnier <monnier@iro.umontreal.ca>
* automated/eieio-tests.el: Use cl-lib. Don't use <class> as a variable.
Don't use <class>-list types and <class>-list-p predicates.
(eieio-test-method-order-list-4):
Don't use <class> as a variable.
-2015-01-05 Stefan Monnier <monnier@iro.umontreal.ca>
+2015-01-08 Stefan Monnier <monnier@iro.umontreal.ca>
* automated/eieio-tests.el (eieio-test-04-static-method)
(eieio-test-05-static-method-2): Use oref-default to access
Move from eieio-core.el. Rename from eieio-attribute-to-initarg.
Change arg to be a class object. Update all callers.
-2014-12-29 Stefan Monnier <monnier@iro.umontreal.ca>
+2015-01-08 Stefan Monnier <monnier@iro.umontreal.ca>
* automated/eieio-test-methodinvoke.el (eieio-test-method-store):
Adjust to new semantics of eieio--scoped-class.
(eieio-test-match): Improve error feedback.
-2014-12-23 Stefan Monnier <monnier@iro.umontreal.ca>
+2015-01-08 Stefan Monnier <monnier@iro.umontreal.ca>
* automated/eieio-tests.el: Remove dummy object names.
* automated/eieio-test-persist.el (persistent-with-objs-slot-subs):
The type FOO-child is the same as FOO.
-2014-12-22 Stefan Monnier <monnier@iro.umontreal.ca>
+2015-01-08 Stefan Monnier <monnier@iro.umontreal.ca>
* automated/eieio-test-methodinvoke.el (eieio-test-method-store):
Remove use of eieio-generic-call-methodname.
(eieio-test-method-order-list-7, eieio-test-method-order-list-8):
Adjust the expected result accordingly.
+2015-01-01 Michael Albinus <michael.albinus@gmx.de>
+
+ * automated/tramp-tests.el (tramp--test-smb-or-windows-nt-p):
+ New defun.
+ (tramp-test30-special-characters): Use it. (Bug#19463)
+ (tramp--test-check-files): Filter nil file names out.
+
+2015-01-01 Michael Albinus <michael.albinus@gmx.de>
+
+ Sync with Tramp 2.2.11.
+
+ * automated/tramp-tests.el (tramp-test30-special-characters):
+ Skip test on MS-Windows.
+
+2014-12-27 Glenn Morris <rgm@gnu.org>
+
+ * automated/let-alist.el: Load dependency.
+
+2014-12-27 Fabián Ezequiel Gallina <fgallina@gnu.org>
+
+ * automated/python-tests.el
+ (python-shell-completion-native-interpreter-disabled-p-1): New test.
+
+2014-12-27 Fabián Ezequiel Gallina <fgallina@gnu.org>
+
+ * automated/python-tests.el (python-shell-get-or-create-process-1)
+ (python-shell-get-or-create-process-2)
+ (python-shell-get-or-create-process-3): Remove tests.
+
+2014-12-27 Fabián Ezequiel Gallina <fgallina@gnu.org>
+
+ * automated/python-tests.el (python-shell-buffer-substring-9): New test.
+
+2014-12-27 Fabián Ezequiel Gallina <fgallina@gnu.org>
+
+ * automated/python-tests.el (python-shell-buffer-substring-1)
+ (python-shell-buffer-substring-2, python-shell-buffer-substring-3)
+ (python-shell-buffer-substring-4, python-shell-buffer-substring-5)
+ (python-shell-buffer-substring-6, python-shell-buffer-substring-7)
+ (python-shell-buffer-substring-8)
+ (python-info-encoding-from-cookie-1)
+ (python-info-encoding-from-cookie-2)
+ (python-info-encoding-from-cookie-3)
+ (python-info-encoding-from-cookie-4)
+ (python-info-encoding-from-cookie-5)
+ (python-info-encoding-from-cookie-6)
+ (python-info-encoding-from-cookie-7, python-info-encoding-1)
+ (python-info-encoding-2): New tests.
+
+2014-12-27 Michael Albinus <michael.albinus@gmx.de>
+
+ * automated/tramp-tests.el (tramp-test17-insert-directory): Do not
+ expect a given order of "." and "..".
+
+2014-12-27 Fabián Ezequiel Gallina <fgallina@gnu.org>
+
+ * automated/python-tests.el (python-indent-electric-colon-2)
+ (python-indent-electric-colon-3): New tests.
+
+2014-12-27 João Távora <joaotavora@gmail.com>
+
+ * automated/electric-tests.el (autowrapping-7): Tests for
+ tex-mode.
+
+2014-12-27 Glenn Morris <rgm@gnu.org>
+
+ * automated/flymake/warnpred/test.pl: Tweak format, since the
+ previous one seems to have stopped giving a warning with perl 5.20.1.
+
+2014-12-26 Fabián Ezequiel Gallina <fgallina@gnu.org>
+
+ * automated/python-tests.el (python-shell-get-process-name-1)
+ (python-shell-internal-get-process-name-1): Cleanup.
+ (python-shell-get-process-name-2)
+ (python-shell-internal-get-process-name-2): New tests.
+ (python-shell-calculate-command-1)
+ (python-shell-calculate-process-environment-3)
+ (python-shell-calculate-exec-path-2, python-shell-make-comint-1)
+ (python-shell-make-comint-2, python-shell-make-comint-4)
+ (python-shell-get-process-1, python-util-clone-local-variables-1):
+ Replace obsolete function and variable references with current.
+
2014-12-19 Artur Malabarba <bruce.connor.am@gmail.com>
* automated/let-alist.el: require `cl-lib'
2014-10-22 Noam Postavsky <npostavs@users.sourceforget.net>
- * test/automated/process-tests.el (process-test-quoted-batfile):
+ * automated/process-tests.el (process-test-quoted-batfile):
New test.
2014-10-20 Glenn Morris <rgm@gnu.org>
### @configure_input@
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
# This file is part of GNU Emacs.
;;; add-log-tests.el --- Test suite for add-log.
-;; Copyright (C) 2013-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
;; Author: Masatake YAMATO <yamato@redhat.com>
;; Keywords: vc tools
;;; advice-tests.el --- Test suite for the new advice thingy.
-;; Copyright (C) 2012-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
;;; bytecomp-testsuite.el
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Shigeru Fukaya <shigeru.fukaya@gmail.com>
;; Created: November 2008
;;; calc-tests.el --- tests for calc -*- lexical-binding: t; -*-
-;; Copyright (C) 2014 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
;; Author: Leo Liu <sdl.web@gmail.com>
;; Keywords: maint
;;; cl-lib.el --- tests for emacs-lisp/cl-lib.el
-;; Copyright (C) 2013-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
;;; comint-testsuite.el
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
;;; compile-tests.el --- Test suite for font parsing.
-;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
;; Author: Chong Yidong <cyd@stupidchicken.com>
;; Keywords: internal
;;; completion-tests.el --- Tests for completion functions -*- lexical-binding: t; -*-
-;; Copyright (C) 2013-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
;; Keywords:
;;; core-elisp-tests.el --- Testing some core Elisp rules
-;; Copyright (C) 2013-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
;; Keywords:
;;; data-tests.el --- tests for src/data.c
-;; Copyright (C) 2013-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
@arr = [1,2,3,4];
-@arr[1] = -1;
+my $b = @arr[1];
;;; dbus-tests.el --- Tests of D-Bus integration into Emacs
-;; Copyright (C) 2013-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
;; Author: Michael Albinus <michael.albinus@gmx.de>
;;; decoder-tests.el --- test for text decoder
-;; Copyright (C) 2013-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
;; Author: Kenichi Handa <handa@gnu.org>
;;; eieio-testsinvoke.el -- eieio tests for method invocation
-;; Copyright (C) 2005, 2008, 2010, 2013-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2008, 2010, 2013-2015 Free Software Foundation,
+;; Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;;; eieio-persist.el --- Tests for eieio-persistent class
-;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; eieio-tests.el -- eieio tests routines
-;; Copyright (C) 1999-2003, 2005-2010, 2012-2015 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2003, 2005-2010, 2012-2015 Free Software
+;; Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;;; electric-tests.el --- tests for electric.el
-;; Copyright (C) 2013-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
;; Author: João Távora <joaotavora@gmail.com>
;; Keywords:
(cl-progv
(mapcar #'car bindings)
(mapcar #'cdr bindings)
- (self-insert-command 1))))
+ (call-interactively (key-binding `[,last-command-event])))))
(should (equal (buffer-substring-no-properties (point-min) (point-max))
expected-string))
(should (equal (point)
(skip-chars-backward "\"")
(mark-sexp -1)))
+(define-electric-pair-test autowrapping-7
+ "foo" "\"" :expected-string "``foo''" :expected-point 8
+ :modes '(tex-mode)
+ :fixture-fn #'(lambda ()
+ (electric-pair-mode 1)
+ (goto-char (point-max))
+ (skip-chars-backward "\"")
+ (mark-sexp -1)))
+
(provide 'electric-tests)
;;; electric-tests.el ends here
;;; ert-tests.el --- ERT's self-tests -*- lexical-binding: t -*-
-;; Copyright (C) 2007-2008, 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2008, 2010-2015 Free Software Foundation, Inc.
;; Author: Christian Ohler <ohler@gnu.org>
;;; ert-x-tests.el --- Tests for ert-x.el
-;; Copyright (C) 2008, 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008, 2010-2015 Free Software Foundation, Inc.
;; Author: Phil Hagelberg
;; Christian Ohler <ohler@gnu.org>
;;; tests/eshell.el --- Eshell test suite
-;; Copyright (C) 1999-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2015 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;;; f90.el --- tests for progmodes/f90.el
-;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
;; Author: Glenn Morris <rgm@gnu.org>
;;; file-notify-tests.el --- Tests of file notifications
-;; Copyright (C) 2013-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
;; Author: Michael Albinus <michael.albinus@gmx.de>
;;; files.el --- tests for file handling.
-;; Copyright (C) 2012-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
;;; flymake-tests.el --- Test suite for flymake
-;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
;; Author: Eduard Wiebe <usenet@pusto.de>
;;; fns-tests.el --- tests for src/fns.c
-;; Copyright (C) 2014 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
;;; font-parse-tests.el --- Test suite for font parsing.
-;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
;; Author: Chong Yidong <cyd@stupidchicken.com>
;; Keywords: internal
;;; gnus-tests.el --- Wrapper for the Gnus tests
-;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
;; Author: Teodor Zlatanov <tzz@lifelogs.com>
;;; help-fns.el --- tests for help-fns.el
-;; Copyright (C) 2014 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
;; Maintainer: emacs-devel@gnu.org
;; icalendar-tests.el --- Test suite for icalendar.el
-;; Copyright (C) 2005, 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2008-2015 Free Software Foundation, Inc.
;; Author: Ulf Jasper <ulf.jasper@web.de>
;; Created: March 2005
;;; imenu-tests.el --- Test suite for imenu.
-;; Copyright (C) 2013-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
;; Author: Masatake YAMATO <yamato@redhat.com>
;; Keywords: tools convenience
;;; info-xref.el --- tests for info-xref.el
-;; Copyright (C) 2013-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
;;; inotify-tests.el --- Test suite for inotify. -*- lexical-binding: t -*-
-;; Copyright (C) 2012-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
;; Author: Rüdiger Sonderfeld <ruediger@c-plusplus.de>
;; Keywords: internal
;;; let-alist.el --- tests for file handling. -*- lexical-binding: t; -*-
-;; Copyright (C) 2012-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
(require 'ert)
(require 'cl-lib)
+(require 'let-alist)
(ert-deftest let-alist-surface-test ()
"Tests basic macro expansion for `let-alist'."
'(nil 1 1 2 nil)))))
(ert-deftest let-alist-remove-dot ()
- "Remove firt dot from symbol."
+ "Remove first dot from symbol."
(should (equal (let-alist--remove-dot 'hi) 'hi))
(should (equal (let-alist--remove-dot '.hi) 'hi))
(should (equal (let-alist--remove-dot '..hi) '.hi)))
;;; lexbind-tests.el --- Testing the lexbind byte-compiler
-;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
;; Keywords:
;;; libxml-parse-tests.el --- Test suite for libxml parsing.
-;; Copyright (C) 2014 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
;; Author: Ulf Jasper <ulf.jasper@web.de>
;; Keywords: internal
;;; man-tests.el --- Test suite for man.
-;; Copyright (C) 2013-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
;; Author: Wolfgang Jenkner <wjenkner@inode.at>
;; Keywords: help, internal, unix
;;; mule-util --- tests for international/mule-util.el -*- coding: utf-8; -*-
-;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2015 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
;;; newsticker-testsuite.el --- Test suite for newsticker.
-;; Copyright (C) 2003-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2015 Free Software Foundation, Inc.
;; Author: Ulf Jasper <ulf.jasper@web.de>
;; Keywords: News, RSS, Atom
;;; occur-tests.el --- Test suite for occur.
-;; Copyright (C) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2010-2015 Free Software Foundation, Inc.
;; Author: Juri Linkov <juri@jurta.org>
;; Keywords: matching, internal
;;; package-test.el --- Tests for the Emacs package system
-;; Copyright (C) 2013-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
;; Author: Daniel Hackney <dan@haxney.org>
;; Version: 1.0
;;; pcase-tests.el --- Test suite for pcase macro.
-;; Copyright (C) 2012-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
;;; print-tests.el --- tests for src/print.c -*- lexical-binding: t; -*-
-;; Copyright (C) 2014 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
;;; process-tests.el --- Testing the process facilities
-;; Copyright (C) 2013-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2015 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
;;; python-tests.el --- Test suite for python.el
-;; Copyright (C) 2013-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
(python-tests-self-insert ":")
(should (= (current-indentation) 0))))
+(ert-deftest python-indent-electric-colon-2 ()
+ "Test indentation case for dedenter."
+ (python-tests-with-temp-buffer
+ "
+if do:
+ something()
+ else
+"
+ (python-tests-look-at "else")
+ (goto-char (line-end-position))
+ (python-tests-self-insert ":")
+ (should (= (current-indentation) 0))))
+
+(ert-deftest python-indent-electric-colon-3 ()
+ "Test indentation case for multi-line dedenter."
+ (python-tests-with-temp-buffer
+ "
+if do:
+ something()
+ elif (this
+ and
+ that)
+"
+ (python-tests-look-at "that)")
+ (goto-char (line-end-position))
+ (python-tests-self-insert ":")
+ (python-tests-look-at "elif" -1)
+ (should (= (current-indentation) 0))
+ (python-tests-look-at "and")
+ (should (= (current-indentation) 6))
+ (python-tests-look-at "that)")
+ (should (= (current-indentation) 6))))
+
(ert-deftest python-indent-region-1 ()
"Test indentation case from Bug#18843."
(let ((contents "
(defvar python-tests-shell-interpreter "python")
(ert-deftest python-shell-get-process-name-1 ()
- "Check process name calculation on different scenarios."
+ "Check process name calculation sans `buffer-file-name'."
(python-tests-with-temp-buffer
- ""
- (should (string= (python-shell-get-process-name nil)
- python-shell-buffer-name))
- ;; When the `current-buffer' doesn't have `buffer-file-name', even
- ;; if dedicated flag is non-nil should not include its name.
- (should (string= (python-shell-get-process-name t)
- python-shell-buffer-name)))
+ ""
+ (should (string= (python-shell-get-process-name nil)
+ python-shell-buffer-name))
+ (should (string= (python-shell-get-process-name t)
+ (format "%s[%s]" python-shell-buffer-name (buffer-name))))))
+
+(ert-deftest python-shell-get-process-name-2 ()
+ "Check process name calculation with `buffer-file-name'."
(python-tests-with-temp-file
- ""
- ;; `buffer-file-name' is non-nil but the dedicated flag is nil and
- ;; should be respected.
- (should (string= (python-shell-get-process-name nil)
- python-shell-buffer-name))
- (should (string=
- (python-shell-get-process-name t)
- (format "%s[%s]" python-shell-buffer-name buffer-file-name)))))
+ ""
+ ;; `buffer-file-name' is non-nil but the dedicated flag is nil and
+ ;; should be respected.
+ (should (string= (python-shell-get-process-name nil)
+ python-shell-buffer-name))
+ (should (string=
+ (python-shell-get-process-name t)
+ (format "%s[%s]" python-shell-buffer-name (buffer-name))))))
(ert-deftest python-shell-internal-get-process-name-1 ()
- "Check the internal process name is config-unique."
- (let* ((python-shell-interpreter python-tests-shell-interpreter)
- (python-shell-interpreter-args "")
- (python-shell-prompt-regexp ">>> ")
- (python-shell-prompt-block-regexp "[.][.][.] ")
- (python-shell-setup-codes "")
- (python-shell-process-environment "")
- (python-shell-extra-pythonpaths "")
- (python-shell-exec-path "")
- (python-shell-virtualenv-path "")
- (expected (python-tests-with-temp-buffer
- "" (python-shell-internal-get-process-name))))
- ;; Same configurations should match.
- (should
- (string= expected
- (python-tests-with-temp-buffer
- "" (python-shell-internal-get-process-name))))
- (let ((python-shell-interpreter-args "-B"))
- ;; A minimal change should generate different names.
- (should
- (not (string=
- expected
- (python-tests-with-temp-buffer
- "" (python-shell-internal-get-process-name))))))))
-
-(ert-deftest python-shell-parse-command-1 ()
+ "Check the internal process name is buffer-unique sans `buffer-file-name'."
+ (python-tests-with-temp-buffer
+ ""
+ (should (string= (python-shell-internal-get-process-name)
+ (format "%s[%s]" python-shell-internal-buffer-name (buffer-name))))))
+
+(ert-deftest python-shell-internal-get-process-name-2 ()
+ "Check the internal process name is buffer-unique with `buffer-file-name'."
+ (python-tests-with-temp-file
+ ""
+ (should (string= (python-shell-internal-get-process-name)
+ (format "%s[%s]" python-shell-internal-buffer-name (buffer-name))))))
+
+(ert-deftest python-shell-calculate-command-1 ()
"Check the command to execute is calculated correctly.
Using `python-shell-interpreter' and
`python-shell-interpreter-args'."
(format "%s %s"
python-shell-interpreter
python-shell-interpreter-args)
- (python-shell-parse-command)))))
+ (python-shell-calculate-command)))))
(ert-deftest python-shell-calculate-process-environment-1 ()
"Test `python-shell-process-environment' modification."
path-separator original-pythonpath)))))
(ert-deftest python-shell-calculate-process-environment-3 ()
- "Test `python-shell-virtualenv-path' modification."
+ "Test `python-shell-virtualenv-root' modification."
(let* ((original-path (or (getenv "PATH") ""))
- (python-shell-virtualenv-path
+ (python-shell-virtualenv-root
(directory-file-name user-emacs-directory))
(process-environment
(python-shell-calculate-process-environment)))
(should (not (getenv "PYTHONHOME")))
- (should (string= (getenv "VIRTUAL_ENV") python-shell-virtualenv-path))
+ (should (string= (getenv "VIRTUAL_ENV") python-shell-virtualenv-root))
(should (equal (getenv "PATH")
(format "%s/bin%s%s"
- python-shell-virtualenv-path
+ python-shell-virtualenv-root
path-separator original-path)))))
(ert-deftest python-shell-calculate-process-environment-4 ()
(ert-deftest python-shell-calculate-exec-path-2 ()
"Test `python-shell-exec-path' modification."
(let* ((original-exec-path exec-path)
- (python-shell-virtualenv-path
+ (python-shell-virtualenv-root
(directory-file-name (expand-file-name user-emacs-directory)))
(exec-path (python-shell-calculate-exec-path)))
(should (equal
exec-path
(append (cons
- (format "%s/bin" python-shell-virtualenv-path)
+ (format "%s/bin" python-shell-virtualenv-root)
original-exec-path))))))
(ert-deftest python-shell-make-comint-1 ()
(shell-buffer
(python-tests-with-temp-buffer
"" (python-shell-make-comint
- (python-shell-parse-command) proc-name)))
+ (python-shell-calculate-command) proc-name)))
(process (get-buffer-process shell-buffer)))
(unwind-protect
(progn
(shell-buffer
(python-tests-with-temp-buffer
"" (python-shell-make-comint
- (python-shell-parse-command) proc-name nil t)))
+ (python-shell-calculate-command) proc-name nil t)))
(process (get-buffer-process shell-buffer)))
(unwind-protect
(progn
(setenv "PYTHONSTARTUP" startup-file)
(python-tests-with-temp-buffer
"" (python-shell-make-comint
- (python-shell-parse-command) proc-name nil))))
+ (python-shell-calculate-command) proc-name nil))))
(process (get-buffer-process shell-buffer)))
(unwind-protect
(progn
(dedicated-proc-name (python-shell-get-process-name t))
(global-shell-buffer
(python-shell-make-comint
- (python-shell-parse-command) global-proc-name))
+ (python-shell-calculate-command) global-proc-name))
(dedicated-shell-buffer
(python-shell-make-comint
- (python-shell-parse-command) dedicated-proc-name))
+ (python-shell-calculate-command) dedicated-proc-name))
(global-process (get-buffer-process global-shell-buffer))
(dedicated-process (get-buffer-process dedicated-shell-buffer)))
(unwind-protect
(ignore-errors (kill-buffer global-shell-buffer))
(ignore-errors (kill-buffer dedicated-shell-buffer))))))
-(ert-deftest python-shell-get-or-create-process-1 ()
- "Check shell dedicated process creation."
- (skip-unless (executable-find python-tests-shell-interpreter))
- (python-tests-with-temp-file
- ""
- (let* ((cmd
- (concat (executable-find python-tests-shell-interpreter) " -i"))
- (use-dialog-box)
- (dedicated-process-name (python-shell-get-process-name t))
- (dedicated-process (python-shell-get-or-create-process cmd t))
- (dedicated-shell-buffer (process-buffer dedicated-process)))
- (unwind-protect
- (progn
- (set-process-query-on-exit-flag dedicated-process nil)
- ;; should be dedicated.
- (should (equal (process-name dedicated-process)
- dedicated-process-name))
- (kill-buffer dedicated-shell-buffer)
- ;; Check there are no processes for current buffer.
- (should (not (python-shell-get-process))))
- (ignore-errors (kill-buffer dedicated-shell-buffer))))))
-
-(ert-deftest python-shell-get-or-create-process-2 ()
- "Check shell global process creation."
- (skip-unless (executable-find python-tests-shell-interpreter))
- (python-tests-with-temp-file
- ""
- (let* ((cmd
- (concat (executable-find python-tests-shell-interpreter) " -i"))
- (use-dialog-box)
- (process-name (python-shell-get-process-name nil))
- (process (python-shell-get-or-create-process cmd))
- (shell-buffer (process-buffer process)))
- (unwind-protect
- (progn
- (set-process-query-on-exit-flag process nil)
- ;; should be global.
- (should (equal (process-name process) process-name))
- (kill-buffer shell-buffer)
- ;; Check there are no processes for current buffer.
- (should (not (python-shell-get-process))))
- (ignore-errors (kill-buffer shell-buffer))))))
-
-(ert-deftest python-shell-get-or-create-process-3 ()
- "Check shell dedicated/global process preference."
- (skip-unless (executable-find python-tests-shell-interpreter))
- (python-tests-with-temp-file
- ""
- (let* ((cmd
- (concat (executable-find python-tests-shell-interpreter) " -i"))
- (python-shell-interpreter python-tests-shell-interpreter)
- (use-dialog-box)
- (dedicated-process-name (python-shell-get-process-name t))
- (global-process)
- (dedicated-process))
- (progn
- ;; Create global process
- (run-python cmd nil)
- (setq global-process (get-buffer-process "*Python*"))
- (should global-process)
- (set-process-query-on-exit-flag global-process nil)
- ;; Create dedicated process
- (run-python cmd t)
- (setq dedicated-process (get-process dedicated-process-name))
- (should dedicated-process)
- (set-process-query-on-exit-flag dedicated-process nil)
- ;; Prefer dedicated.
- (should (equal (python-shell-get-or-create-process)
- dedicated-process))
- ;; Kill the dedicated so the global takes over.
- (kill-buffer (process-buffer dedicated-process))
- ;; Detect global.
- (should (equal (python-shell-get-or-create-process) global-process))
- ;; Kill the global.
- (kill-buffer (process-buffer global-process))
- ;; Check there are no processes for current buffer.
- (should (not (python-shell-get-process)))))))
-
(ert-deftest python-shell-internal-get-or-create-process-1 ()
"Check internal shell process creation fallback."
(skip-unless (executable-find python-tests-shell-interpreter))
"^\\(o\\.t \\|\\)")))
(ignore-errors (delete-file startup-file)))))
+(ert-deftest python-shell-buffer-substring-1 ()
+ "Selecting a substring of the whole buffer must match its contents."
+ (python-tests-with-temp-buffer
+ "
+class Foo(models.Model):
+ pass
+
+
+class Bar(models.Model):
+ pass
+"
+ (should (string= (buffer-string)
+ (python-shell-buffer-substring (point-min) (point-max))))))
+
+(ert-deftest python-shell-buffer-substring-2 ()
+ "Main block should be removed if NOMAIN is non-nil."
+ (python-tests-with-temp-buffer
+ "
+class Foo(models.Model):
+ pass
+
+class Bar(models.Model):
+ pass
+
+if __name__ == \"__main__\":
+ foo = Foo()
+ print (foo)
+"
+ (should (string= (python-shell-buffer-substring (point-min) (point-max) t)
+ "
+class Foo(models.Model):
+ pass
+
+class Bar(models.Model):
+ pass
+
+
+
+
+"))))
+
+(ert-deftest python-shell-buffer-substring-3 ()
+ "Main block should be removed if NOMAIN is non-nil."
+ (python-tests-with-temp-buffer
+ "
+class Foo(models.Model):
+ pass
+
+if __name__ == \"__main__\":
+ foo = Foo()
+ print (foo)
+
+class Bar(models.Model):
+ pass
+"
+ (should (string= (python-shell-buffer-substring (point-min) (point-max) t)
+ "
+class Foo(models.Model):
+ pass
+
+
+
+
+
+class Bar(models.Model):
+ pass
+"))))
+
+(ert-deftest python-shell-buffer-substring-4 ()
+ "Coding cookie should be added for substrings."
+ (python-tests-with-temp-buffer
+ "# coding: latin-1
+
+class Foo(models.Model):
+ pass
+
+if __name__ == \"__main__\":
+ foo = Foo()
+ print (foo)
+
+class Bar(models.Model):
+ pass
+"
+ (should (string= (python-shell-buffer-substring
+ (python-tests-look-at "class Foo(models.Model):")
+ (progn (python-nav-forward-sexp) (point)))
+ "# -*- coding: latin-1 -*-
+
+class Foo(models.Model):
+ pass"))))
+
+(ert-deftest python-shell-buffer-substring-5 ()
+ "The proper amount of blank lines is added for a substring."
+ (python-tests-with-temp-buffer
+ "# coding: latin-1
+
+class Foo(models.Model):
+ pass
+
+if __name__ == \"__main__\":
+ foo = Foo()
+ print (foo)
+
+class Bar(models.Model):
+ pass
+"
+ (should (string= (python-shell-buffer-substring
+ (python-tests-look-at "class Bar(models.Model):")
+ (progn (python-nav-forward-sexp) (point)))
+ "# -*- coding: latin-1 -*-
+
+
+
+
+
+
+
+
+class Bar(models.Model):
+ pass"))))
+
+(ert-deftest python-shell-buffer-substring-6 ()
+ "Handle substring with coding cookie in the second line."
+ (python-tests-with-temp-buffer
+ "
+# coding: latin-1
+
+class Foo(models.Model):
+ pass
+
+if __name__ == \"__main__\":
+ foo = Foo()
+ print (foo)
+
+class Bar(models.Model):
+ pass
+"
+ (should (string= (python-shell-buffer-substring
+ (python-tests-look-at "# coding: latin-1")
+ (python-tests-look-at "if __name__ == \"__main__\":"))
+ "# -*- coding: latin-1 -*-
+
+
+class Foo(models.Model):
+ pass
+
+"))))
+
+(ert-deftest python-shell-buffer-substring-7 ()
+ "Ensure first coding cookie gets precedence."
+ (python-tests-with-temp-buffer
+ "# coding: utf-8
+# coding: latin-1
+
+class Foo(models.Model):
+ pass
+
+if __name__ == \"__main__\":
+ foo = Foo()
+ print (foo)
+
+class Bar(models.Model):
+ pass
+"
+ (should (string= (python-shell-buffer-substring
+ (python-tests-look-at "# coding: latin-1")
+ (python-tests-look-at "if __name__ == \"__main__\":"))
+ "# -*- coding: utf-8 -*-
+
+
+class Foo(models.Model):
+ pass
+
+"))))
+
+(ert-deftest python-shell-buffer-substring-8 ()
+ "Ensure first coding cookie gets precedence when sending whole buffer."
+ (python-tests-with-temp-buffer
+ "# coding: utf-8
+# coding: latin-1
+
+class Foo(models.Model):
+ pass
+"
+ (should (string= (python-shell-buffer-substring (point-min) (point-max))
+ "# coding: utf-8
+
+
+class Foo(models.Model):
+ pass
+"))))
+
+(ert-deftest python-shell-buffer-substring-9 ()
+ "Check substring starting from `point-min'."
+ (python-tests-with-temp-buffer
+ "# coding: utf-8
+
+class Foo(models.Model):
+ pass
+
+class Bar(models.Model):
+ pass
+"
+ (should (string= (python-shell-buffer-substring
+ (point-min)
+ (python-tests-look-at "class Bar(models.Model):"))
+ "# coding: utf-8
+
+class Foo(models.Model):
+ pass
+
+"))))
+
\f
;;; Shell completion
+(ert-deftest python-shell-completion-native-interpreter-disabled-p-1 ()
+ (let* ((python-shell-completion-native-disabled-interpreters (list "pypy"))
+ (python-shell-interpreter "/some/path/to/bin/pypy"))
+ (should (python-shell-completion-native-interpreter-disabled-p))))
+
+
+
\f
;;; PDB Track integration
(forward-line 1)
(should (python-info-current-line-empty-p))))
+(ert-deftest python-info-encoding-from-cookie-1 ()
+ "Should detect it on first line."
+ (python-tests-with-temp-buffer
+ "# coding=latin-1
+
+foo = True # another comment
+"
+ (should (eq (python-info-encoding-from-cookie) 'latin-1))))
+
+(ert-deftest python-info-encoding-from-cookie-2 ()
+ "Should detect it on second line."
+ (python-tests-with-temp-buffer
+ "
+# coding=latin-1
+
+foo = True # another comment
+"
+ (should (eq (python-info-encoding-from-cookie) 'latin-1))))
+
+(ert-deftest python-info-encoding-from-cookie-3 ()
+ "Should not be detected on third line (and following ones)."
+ (python-tests-with-temp-buffer
+ "
+
+# coding=latin-1
+foo = True # another comment
+"
+ (should (not (python-info-encoding-from-cookie)))))
+
+(ert-deftest python-info-encoding-from-cookie-4 ()
+ "Should detect Emacs style."
+ (python-tests-with-temp-buffer
+ "# -*- coding: latin-1 -*-
+
+foo = True # another comment"
+ (should (eq (python-info-encoding-from-cookie) 'latin-1))))
+
+(ert-deftest python-info-encoding-from-cookie-5 ()
+ "Should detect Vim style."
+ (python-tests-with-temp-buffer
+ "# vim: set fileencoding=latin-1 :
+
+foo = True # another comment"
+ (should (eq (python-info-encoding-from-cookie) 'latin-1))))
+
+(ert-deftest python-info-encoding-from-cookie-6 ()
+ "First cookie wins."
+ (python-tests-with-temp-buffer
+ "# -*- coding: iso-8859-1 -*-
+# vim: set fileencoding=latin-1 :
+
+foo = True # another comment"
+ (should (eq (python-info-encoding-from-cookie) 'iso-8859-1))))
+
+(ert-deftest python-info-encoding-from-cookie-7 ()
+ "First cookie wins."
+ (python-tests-with-temp-buffer
+ "# vim: set fileencoding=latin-1 :
+# -*- coding: iso-8859-1 -*-
+
+foo = True # another comment"
+ (should (eq (python-info-encoding-from-cookie) 'latin-1))))
+
+(ert-deftest python-info-encoding-1 ()
+ "Should return the detected encoding from cookie."
+ (python-tests-with-temp-buffer
+ "# vim: set fileencoding=latin-1 :
+
+foo = True # another comment"
+ (should (eq (python-info-encoding) 'latin-1))))
+
+(ert-deftest python-info-encoding-2 ()
+ "Should default to utf-8."
+ (python-tests-with-temp-buffer
+ "# No encoding for you
+
+foo = True # another comment"
+ (should (eq (python-info-encoding) 'utf-8))))
+
\f
;;; Utility functions
. "from IPython.core.completerlib import module_completion")
(python-shell-completion-string-code
. "';'.join(get_ipython().Completer.all_completions('''%s'''))\n")
- (python-shell-virtualenv-path
+ (python-shell-virtualenv-root
. "/home/user/.virtualenvs/project"))))
(with-current-buffer buffer
(kill-all-local-variables)
;;; reftex-tests.el --- Test suite for reftex. -*- lexical-binding: t -*-
-;; Copyright (C) 2013-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
;; Author: Rüdiger Sonderfeld <ruediger@c-plusplus.de>
;; Keywords: internal
;;; regexp-tests.el --- Test suite for regular expression handling.
-;; Copyright (C) 2013-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
;; Keywords: internal
;;; ruby-mode-tests.el --- Test suite for ruby-mode
-;; Copyright (C) 2012-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
;;; seq-tests.el --- Tests for sequences.el
-;; Copyright (C) 2014 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
;; Author: Nicolas Petton <petton.nicolas@gmail.com>
;; Maintainer: emacs-devel@gnu.org
;;; subr-x-tests.el --- Testing the extended lisp routines
-;; Copyright (C) 2014 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
;; Author: Fabián E. Gallina <fgallina@gnu.org>
;; Keywords:
;;; subword-tests.el --- Testing the subword rules
-;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
;; Keywords:
;;; syntax-tests.el --- Testing syntax rules and basic movement -*- lexical-binding: t -*-
-;; Copyright (C) 2014 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
;; Author: Daniel Colascione <dancol@dancol.org>
;; Keywords:
;;; thingatpt.el --- tests for thing-at-point.
-;; Copyright (C) 2013-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
;;; tildify-test.el --- ERT tests for tildify.el -*- lexical-binding: t -*-
-;; Copyright (C) 2014 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
;; Author: Michal Nazarewicz <mina86@mina86.com>
;; Version: 4.5
;;; timer-tests.el --- tests for timers -*- lexical-binding:t -*-
-;; Copyright (C) 2013-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
;;; tramp-tests.el --- Tests of remote file access
-;; Copyright (C) 2013-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
;; Author: Michael Albinus <michael.albinus@gmx.de>
(goto-char (point-min))
(should
(looking-at-p
- "\\(total.+[[:digit:]]+\n\\)?.+ \\.\n.+ \\.\\.\n.+ foo$"))))
+ (concat
+ ;; There might be a summary line.
+ "\\(total.+[[:digit:]]+\n\\)?"
+ ;; We don't know in which order "." and ".." appear.
+ "\\(.+ \\.?\\.\n\\)\\{2\\}"
+ ".+ foo$")))))
(ignore-errors (delete-directory tmp-name1 'recursive)))))
(ert-deftest tramp-test18-file-attributes ()
(ignore-errors (delete-directory tmp-name1 'recursive)))))
+(defun tramp--test-smb-or-windows-nt-p ()
+ "Check, whether the locale or remote host runs MS Windows.
+This requires restrictions of file name syntax."
+ (or (eq system-type 'windows-nt)
+ (eq (tramp-find-foreign-file-name-handler
+ tramp-test-temporary-file-directory)
+ 'tramp-smb-file-name-handler)))
+
(defun tramp--test-check-files (&rest files)
"Runs a simple but comprehensive test over every file in FILES."
(let ((tmp-name1 (tramp--test-make-temp-name))
(progn
(make-directory tmp-name1)
(make-directory tmp-name2)
- (dolist (elt files)
+ (dolist (elt (delq nil files))
(let ((file1 (expand-file-name elt tmp-name1))
(file2 (expand-file-name elt tmp-name2)))
(write-region elt nil file1)
(memq
(tramp-find-foreign-file-name-handler tramp-test-temporary-file-directory)
'(tramp-adb-file-name-handler
- tramp-gvfs-file-name-handler
- tramp-smb-file-name-handler))))
+ tramp-gvfs-file-name-handler))))
;; Newlines, slashes and backslashes in file names are not supported.
;; So we don't test.
(tramp--test-check-files
- " foo\tbar baz\t"
+ (if (tramp--test-smb-or-windows-nt-p) "foo bar baz" " foo\tbar baz\t")
"$foo$bar$$baz$"
"-foo-bar-baz-"
"%foo%bar%baz%"
"&foo&bar&baz&"
- "?foo?bar?baz?"
- "*foo*bar*baz*"
- "'foo\"bar'baz\""
+ (unless (tramp--test-smb-or-windows-nt-p) "?foo?bar?baz?")
+ (unless (tramp--test-smb-or-windows-nt-p) "*foo*bar*baz*")
+ (if (tramp--test-smb-or-windows-nt-p) "'foo'bar'baz'" "'foo\"bar'baz\"")
"#foo~bar#baz~"
- "!foo|bar!baz|"
- ":foo;bar:baz;"
- "<foo>bar<baz>"
+ (if (tramp--test-smb-or-windows-nt-p) "!foo!bar!baz!" "!foo|bar!baz|")
+ (if (tramp--test-smb-or-windows-nt-p) ";foo;bar;baz;" ":foo;bar:baz;")
+ (unless (tramp--test-smb-or-windows-nt-p) "<foo>bar<baz>")
"(foo)bar(baz)"
"[foo]bar[baz]"
"{foo}bar{baz}"))
;; doesn't work well when an interactive password must be provided.
;; * Fix `tramp-test27-start-file-process' for `nc' and on MS
;; Windows (`process-send-eof'?).
-;; * Fix `tramp-test28-shell-command' on MS Windows (nasty plink message).
-;; * Fix `tramp-test30-special-characters' for `adb', `nc' and `smb'.
-;; * Fix `tramp-test31-utf8' for MS Windows and `nc'/`telnet' (when
-;; target is a dumb busybox). Seems to be in `directory-files'.
+;; * Fix `tramp-test30-special-characters' for `adb' and `nc'.
+;; * Fix `tramp-test31-utf8' for `nc'/`telnet' (when target is a dumb
+;; busybox). Seems to be in `directory-files'.
;; * Fix Bug#16928. Set expected error of `tramp-test32-asynchronous-requests'.
;; * Fix `tramp-test34-unload' (Not all symbols are unbound). Set
;; expected error.
;;; undo-tests.el --- Tests of primitive-undo
-;; Copyright (C) 2012-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
;; Author: Aaron S. Hawley <aaron.s.hawley@gmail.com>
;;; url-future-tests.el --- Test suite for url-future.
-;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
;; Author: Teodor Zlatanov <tzz@lifelogs.com>
;; Keywords: data
;;; url-util-tests.el --- Test suite for url-util.
-;; Copyright (C) 2012-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
;; Author: Teodor Zlatanov <tzz@lifelogs.com>
;; Keywords: data
;;; vc-bzr.el --- tests for vc/vc-bzr.el
-;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2015 Free Software Foundation, Inc.
;; Author: Glenn Morris <rgm@gnu.org>
;; Maintainer: emacs-devel@gnu.org
;;; vc-tests.el --- Tests of different backends of vc.el
-;; Copyright (C) 2014 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
;; Author: Michael Albinus <michael.albinus@gmx.de>
;;; xml-parse-tests.el --- Test suite for XML parsing.
-;; Copyright (C) 2012-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
;; Author: Chong Yidong <cyd@stupidchicken.com>
;; Keywords: internal
;;; zlib-tests.el --- Test suite for zlib.
-;; Copyright (C) 2013-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
;; Author: Lars Ingebrigtsen <larsi@gnus.org>
;;; biditest.el --- test bidi reordering in GNU Emacs display engine.
-;; Copyright (C) 2013-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
;; Author: Eli Zaretskii
;; Maintainer: emacs-devel@gnu.org
;;; cedet-utests.el --- Run all unit tests in the CEDET suite.
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; ede-tests.el --- Some tests for the Emacs Development Environment
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; semantic-ia-utest.el --- Analyzer unit tests
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; semantic-utest.el --- Miscellaneous Semantic tests.
-;;; Copyright (C) 2003-2004, 2007-2014 Free Software Foundation, Inc.
+;;; Copyright (C) 2003-2004, 2007-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;;; semantic-utest-c.el --- C based parsing tests.
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
;;; semantic-utest.el --- Tests for semantic's parsing system.
-;;; Copyright (C) 2003-2004, 2007-2014 Free Software Foundation, Inc.
+;;; Copyright (C) 2003-2004, 2007-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;;; srecode-tests.el --- Some tests for CEDET's srecode
-;; Copyright (C) 2008-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2008-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
/* test.c --- Semantic unit test for C.
- Copyright (C) 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2015 Free Software Foundation, Inc.
Author: Eric M. Ludlam <eric@siege-engine.com>
;;; test.el --- Unit test file for Semantic Emacs Lisp support.
-;; Copyright (C) 2005-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2005-2015 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
# test.make --- Semantic unit test for Make -*- makefile -*-
-# Copyright (C) 2001-2002, 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2002, 2010-2015 Free Software Foundation, Inc.
# Author: Eric M. Ludlam <eric@siege-engine.com>
// testdoublens.cpp --- semantic-ia-utest completion engine unit tests
-// Copyright (C) 2008-2014 Free Software Foundation, Inc.
+// Copyright (C) 2008-2015 Free Software Foundation, Inc.
// Author: Eric M. Ludlam <eric@siege-engine.com>
// testdoublens.hpp --- Header file used in one of the Semantic tests
-// Copyright (C) 2008-2014 Free Software Foundation, Inc.
+// Copyright (C) 2008-2015 Free Software Foundation, Inc.
// Author: Eric M. Ludlam <eric@siege-engine.com>
// testjavacomp.java --- Semantic unit test for Java
-// Copyright (C) 2009-2014 Free Software Foundation, Inc.
+// Copyright (C) 2009-2015 Free Software Foundation, Inc.
// Author: Eric M. Ludlam <eric@siege-engine.com>
/** testpolymorph.cpp --- A sequence of polymorphism examples.
*
- * Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ * Copyright (C) 2009-2015 Free Software Foundation, Inc.
*
* Author: Eric M. Ludlam <eric@siege-engine.com>
*
/* testspp.cpp --- Semantic unit test for the C preprocessor
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
Author: Eric M. Ludlam <eric@siege-engine.com>
/* testsppreplace.c --- unit test for CPP/SPP Replacement
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
Author: Eric M. Ludlam <eric@siege-engine.com>
/* testsppreplaced.c --- unit test for CPP/SPP Replacement
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
Author: Eric M. Ludlam <eric@siege-engine.com>
// testsubclass.cpp --- unit test for analyzer and complex C++ inheritance
-// Copyright (C) 2007-2014 Free Software Foundation, Inc.
+// Copyright (C) 2007-2015 Free Software Foundation, Inc.
// Author: Eric M. Ludlam <eric@siege-engine.com>
// testsubclass.hh --- unit test for analyzer and complex C++ inheritance
-// Copyright (C) 2007-2014 Free Software Foundation, Inc.
+// Copyright (C) 2007-2015 Free Software Foundation, Inc.
// Author: Eric M. Ludlam <eric@siege-engine.com>
// testtypedefs.cpp --- Sample with some fake bits out of std::string
-// Copyright (C) 2008-2014 Free Software Foundation, Inc.
+// Copyright (C) 2008-2015 Free Software Foundation, Inc.
// Author: Eric M. Ludlam <eric@siege-engine.com>
/* testvarnames.cpp
Test variable and function names, lists of variables on one line, etc.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Author: Eric M. Ludlam <eric@siege-engine.com>
var e = 100500,
+ 1;
+function test ()
+{
+ return /[/]/.test ('/') // (bug#19397)
+}
+
var f = bar('/protocols/')
baz();
{ GPC demo program for the CRT unit.
-Copyright (C) 1999-2006, 2013-2014 Free Software Foundation, Inc.
+Copyright (C) 1999-2006, 2013-2015 Free Software Foundation, Inc.
Author: Frank Heckenbach <frank@pascal.gnu.de>
;;; redisplay-testsuite.el --- Test suite for redisplay.
-;; Copyright (C) 2009-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2015 Free Software Foundation, Inc.
;; Author: Chong Yidong <cyd@stupidchicken.com>
;; Keywords: internal
;;; rmailmm.el --- tests for mail/rmailmm.el
-;; Copyright (C) 2006-2014 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2015 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.