1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-30 09:00:31 -08:00
Commit graph

2455 commits

Author SHA1 Message Date
Glenn Morris
6d099b2e18 * admin/admin.el: Fix paren typo in previous. 2014-11-22 14:57:39 -08:00
Glenn Morris
84e2f13cd5 Further reduce number of versioned files storing Emacs version number.
* configure.ac (comma_version, comma_space_version) [mingw32]:
New output variables.
(nt/emacs.rc, nt/emacsclient.rc) [mingw32]: New output files.

* make-dist: Update nt/ for *.rc -> *.rc.in changes.

* nt/emacs.rc.in, nt/emacsclient.rc.in: Rename from nt/emacs.rc, emacsclient.rc.
Let configure generate the real files, and set the version numbers.

* lib-src/Makefile.in (emacsclient.res): Update deps for nt/emacsclient.rc
now being in the build directory, not the source directory.

* nt/Makefile.in (distclean): Delete *.rc.
(emacs.res): Update deps for nt/emacsclient.rc now being in the
build directory, not the source directory.

* admin/admin.el (set-version): No more need to update nt/*.rc.

* admin/authors.el (authors-renamed-files-alist): Add .rc.in files.
2014-11-22 14:07:48 -08:00
Lars Magne Ingebrigtsen
1af9075908 Set the push default to "current", which should work everywhere 2014-11-16 15:54:12 +01:00
Lars Magne Ingebrigtsen
af19cccc83 Mention how to get rid of X11 warnings 2014-11-16 15:31:20 +01:00
Stefan Monnier
9075fcc193 Merge from emacs-24 2014-11-16 00:22:20 -05:00
Glenn Morris
899a5a9882 Backport 2014-06-30 admin/update_autogen change
* admin/update_autogen: Auto-detect VCS in use.
(vcs): New variable.
(status, commit, main): Handle git.
2014-11-15 18:16:28 -05:00
Lars Magne Ingebrigtsen
5fa7b7181a Use cherry-pick -xe instead of git log amend 2014-11-15 19:25:45 +01:00
Lars Magne Ingebrigtsen
788bc73c80 Add a draft of a very simple git workflow 2014-11-15 17:06:34 +01:00
Andreas Schwab
51475d535e Use annotated tags for releases
* make-tarball.txt: Make annotated tag and push it out.
2014-11-13 17:57:56 +01:00
Eric S. Raymond
ac03795dc4 Git transition patch
All bzr revision IDS, and all CVS revision IDs for which a commit
could be identified, were changed to time-date!committer version
stamps. All .cvsignore files in the history became .gitignore files.
Fixes-bug annotations from bzr were copied into the corresponding
commit comments.

(The first .cvsignore commit was 1999-09-30T14:07:54Z!fx@gnu.org>.
The last CVS commit was <2009-12-27T08:11:12Z!cyd@stupidchicken.com>)

Committer/author email addresses are generally correct for the
transition day, not necessarily when the commit was originally made.
2014-11-11 13:28:05 -05:00
Eric S. Raymond
7148318abc Git transition patch
All bzr revision IDS, and all CVS revision IDs for which a commit
could be identified, were changed to time-date!committer version
stamps. All .cvsignore files in the history became .gitignore files.
Fixes-bug annotations from bzr were copied into the corresponding
commit comments.

(The first .cvsignore commit was 1999-09-30T14:07:54Z!fx@gnu.org>.
The last CVS commit was <2009-12-27T08:11:12Z!cyd@stupidchicken.com>)

Committer/author email addresses are generally correct for the
transition day, not necessarily when the commit was originally made.
2014-11-11 13:28:02 -05:00
Glenn Morris
c832df2ec2 Merge from emacs-24; up to 117698 2014-11-09 23:39:35 -08:00
Glenn Morris
be1f31616a Further reduce the number of versioned files storing the version number
* configure.ac (doc/man/emacs.1): Generate it.

* Makefile.in (top_bootclean): Remove doc/man/emacs.1.

* make-dist: Do not distribute doc/man/emacs.1.

* admin/admin.el (set-version): No need to update doc/man/emacs.1.

* doc/man/emacs.1.in: Rename from emacs.1.

* .bzrignore: Add doc/man/emacs.1.
2014-11-09 18:01:56 -08:00
Glenn Morris
f452367d4a * admin/admin.el: Comments. 2014-11-09 17:22:24 -08:00
Glenn Morris
9be1c1edb0 ChangeLog fix 2014-11-09 17:16:27 -08:00
Glenn Morris
4e65e7e2b9 Stop keeping etc/refcards/emacsver.tex in the repository
* configure.ac (etc/refcards/emacsver.tex): Generate it.

* Makefile.in (etc-emacsver): New PHONY rule.
(bootstrap-clean): Delete etc/refcards/emacsver.tex.

* admin/admin.el (set-version): No need to update etc/refcards/emacsver.tex.
(set-copyright): Update etc/refcards/emacsver.tex.in.

* etc/refcards/emacsver.tex.in: Rename from emacsver.tex.

* .bzrignore: Add etc/refcards/emacsver.tex.
2014-11-09 16:57:01 -08:00
Glenn Morris
a16d6f90ee Stop keeping doc/emacs/emacsver.texi in the repository
* configure.ac (doc/emacs/emacsver.texi): Generate it.

* make-dist (doc/emacs/emacsver.texi) [update]: No longer check it.

* doc/emacs/Makefile.in (top_srcdir, version): New, set by configure.
(doc-emacsver): New rule.
(bootstrap-clean, maintainer-clean): Delete emacsver.texi.
(emacsver.texi.in): Rename from emacsver.texi.

* admin/admin.el (set-version): No need to update doc/emacs/emacsver.texi.
(make-manuals-dist-output-variables): Add top_srcdir.
(make-manuals-dist--1): Handle @version@ specially.

* .bzrignore: Add doc/emacs/emacsver.texi.
2014-11-09 16:17:17 -08:00
David Engster
5d4da32d4e Update from CEDET trunk.
* grammars/c.by (template-type): Add :template-specifier and
:typevar to capture extra details about the template.
(opt-post-fcn-modifiers): Splice in the found symbol into the
return value correctly.
(QUESTION): New punctuation.
(expression): Add ternary conditional support.

* grammars/scheme.by (MODULE): New token.
(scheme): Handle expanding the MODULE tag.
(scheme-list): Remove closeparen required match.
(scheme-in-list): Remove extraneous matches for DEFINE.  Add
support for MODULE Simplify matching for code & make work.
(name-args, name-arg-list, name-arg-expand): Make it work.

* semantic.el (semantic-mode): Add/remove 3
completion-at-point-functions.
(semantic-completion-at-point-function): Removed.
(semantic-analyze-completion-at-point-function)
(semantic-analyze-notc-completion-at-point-function)
(semantic-analyze-nolongprefix-completion-at-point-function): New
completion at point functions.

* semantic/doc.el (semantic-doc-snarf-comment-for-tag): Fix case
when comment-end is empty string.

* semantic/debug.el
(semantic-debug-parser-debugger-source): New buffer local
variable.
(semantic-debug-interface): Add 'nil' initform to overlays.
(semantic-debug-mode): Remove read-only tags from buffers on exit.
(semantic-debug): Add autoload cookie.  Force the language
specific debugger to load.

* semantic/db.el (generic::semanticdb-full-filename): New generic
method to allow this method to be used on buffer names via an
associated database.

* semantic/symref.el
(semantic-symref-cleanup-recent-buffers-fcn): When cleaning up
buffers, don't clean up buffers that are being used (i.e., in a
window) when the hook fires.
(semantic-symref-recently-opened-buffers): New tracking variable.
(semantic-symref-cleanup-recent-buffers-fcn): New hook fcn.
(semantic-symref-result-get-tags): Move logic into
`semantic-symref-hit-to-tag-via-buffer', and cleanup buffers via
the symref cleanup function in post-command-hook.
(semantic-symref-hit-to-tag-via-buffer): Logic that used to be
from above.
(semantic-symref-hit-to-tag-via-db): New.

* semantic/analyze.el:
(semantic-analyze-find-tag-sequence-default): If first entry in
sequence is the only one, apply tagclass filter.
(semantic-analyze-princ-sequence): Show slot even if empty.
(semantic-analyze-find-tag-sequence)
(semantic-analyze-find-tag-sequence-default): Add flags argument.
Add support for forcing the final entry of the sequence to be of
class variable.
(semantic-analyze-find-tag): Fix bug where input class filter was
ignored if there was a typecache match.
(semantic-analyze-current-context-default): For assignments, the
assignee now must be of class variable.

* semantic/analyze/complete.el
(semantic-analyze-possible-completions-default): Add
'no-longprefix' flag.  When used, the prefix and prefixtypes are
shortened to just the last symbol.

* semantic/bovine/c.el (semantic-c-do-lex-if): Catch errors from
'hideif', and push to the parser warning stack.
(semantic-lex-cpp-define): When a comment is at the end of a
macro, do not subtract an extra 1 from the found position.  Fixes
bug with: #define foo (a)/**/ adding an extra ')' to the stream.

* semantic/bovine/scm.el (semantic-lex-scheme-symbol): Allow
symbols to be one char long.

* semantic/bovine/grammar.el
(bovine-grammar-calculate-source-on-path): New.
(bovine-grammar-setupcode-builder): Use it.

* ede.el (ede/detect): New require.
(ede-version): Bump version
(ede-initialize-state-current-buffer): Use new
`ede-detect-directory-for-project' to detect projects first
instead of depending on currente dir only.
(ede-delete-project-from-global-list): New.
(ede-flush-deleted-projects): Use above.
(ede-check-project-query-fcn): New variable
(ede-check-project-directory): Use above when querying the user.
Added to support unit testing of this security measure.
(ede-initialize-state-current-buffer): Use
`ede-directory-project-cons' instead of the -detect- fcn to take
advantage of the cache.  Pass found project into
`ede-load-project-file'.
(ede-load-project-file): Add new input DETECTIN.
(ede-rescan-toplevel): Get the proj root a better way.
(ede-load-project-file): Return the loaded object.  When asking
for existing project, ask for an exact match.
(ede-initialize-state-current-buffer): Simplify some conditional
logic.
(ede-load-project-file): Simplify conditional logic.
(ede-global-list-sanity-check): New Testing fcn.
(ede-parent-project): Replace old code with call to faster
`ede-find-subproject-for-directory'.
(ede-load-project-file): Use
`ede-directory-get-toplevel-open-project' instead of above
deleted.  Rename "pfc" to "autoloader".  Use
`ede-directory-project-cons' to detect a project.  Delete no
project found case where we search up the tree.

* ede/auto.el (ede-project-autoload): Fix doc typo.  Add
`:root-only' slot.
(ede-auto-load-project): Doc update: warn to not use.
(ede-dir-to-projectfile): Deleted.
(ede-project-autoload-dirmatch): Add subdir-only slot.  Make
configdatastash unbound by default.
(ede-do-dirmatch): If subdir-only is true, then don't allow exact
matches.  Account for configdatastash as unbound.  Assume value of
nil means no tool installed.  Make sure loaded path matches from
beginning.  Stash the regexp, not the raw string.
(ede-project-class-files): Note that makefile and automake are not
root only.
(ede-auto-detect-in-dir): New (for use with `ede/detect.el').
(ede-project-dirmatch-p): Deleted.
(ede-project-root-directory): Remove body, return nil.
(ede-project-autoload): :proj-root-dirmatch can be null & doc fix.
(ede-auto-detect-in-dir): If there is no :proj-file, check for a
dirmatch.

* ede/generic.el (ede/config): Replace require of ede.
(ede-generic-new-autoloader): Generic projects are now safe by
default.  Note this is NOT a root only project.
(project-rescan, ede-project-root, ede-generic-target-java)
(ede-java-classpath, ede-find-subproject-for-directory): New.
(ede-enable-generic-projects): Add new autoloaders for git, bzr,
hg, sv, CVS.
(ede-generic-vc-project)
(ede-generic-vc-project::ede-generic-setup-configuration): New.
(ede-generic-config): Remove slots: c-include-path,
c-preprocessor-table, c-preprocessor-files, classpath,
build-command, debug-command, run command.  Inherit from
ede-extra-config-build, ede-extra-config-program.  Make
run-command :value match :custom so only strings are accepted.
Add some more :group slot specifiers.
(ede-generic-project): Add mixins `ede-project-with-config-c' and
`ede-project-with-config-java'. Inherit from
`ede-project-with-config-build',
`ede-project-with-config-program'.  Subclass
`ede-project-with-config'.  Remove duplication from new baseclass.
(ede-generic-target): Inherit from `ede-target-with-config-build',
`ede-target-with-config-program'. Subclass `ede-target-with-config'.
(ede-generic-target-c-cpp): Add mixin `ede-target-with-config-c'.
(ede-generic-target-java): Add mixin `ede-target-with-config-java'.
(ede-preprocessor-map, ede-system-include-path)
(edejava-classpath): Deleted, moved to config.el.
(project-compile-project, project-compile-target)
(project-debug-target, project-run-target): Deleted.
(ede-generic-get-configuration, ede-generic-setup-configuration)
(ede-commit-project, project-rescan)
(ede-generic-project::ede-customize)
(ede-generic-target::ede-customize)
(ede-generic-config::eieio-done-customizing)
(ede-generic-config::ede-commit): Deleted.  Subsumed by new
baseclass.
(ede-preprocessor-map, ede-system-include-path)
(project-debug-target, project-run-target): Call new
`ede-config-get-configuration' instead of old version.
(ede-generic-load): Do not add to global list here.

* ede/files.el (ede-find-project-root)
(ede-files-find-existing)
(ede-directory-get-toplevel-open-project-new): Deleted.
(ede-project-root-directory): Use `ede-project-root' first.
(ede-project-directory-remove-hash)
(ede--directory-project-from-hash)
(ede--directory-project-add-description-to-hash): Rename to make
internal symbols (via --).  Expand input dir first.
(ede-directory-project-p): Doc fix (note obsoleted.)
(ede-toplevel-project-or-nil): Alias to `ede-toplevel-project'.
(ede-toplevel-project): Doc Fix.  Delete commented out old code.
Simplify returning result from ede-detect-directory-for-project.
(ede-directory-get-open-project): Support when
inodes are disabled.  If disabled to str compare on root project.
(ede-directory-get-toplevel-open-project): Enabled nested
projects.  When doing directory name matching, save the 'short'
version of an answer (non-exact match) and eventually select the
shortest answer at the end.  Expand the filename of tested
projects.  Better support for when inodes are disabled.  Add
'exact' option so that it will return a project that is an exact
match.
(ede-find-subproject-for-directory): Small optimization to run
`file-truename' less often.
(ede-directory-project-p): Move content, then use
`ede-directory-project-cons'.  Use
`ede-detect-directory-for-project', replacing old detection loop.
(ede-directory-project-cons): New, from above.
(ede-toplevel-project): Toss old scanning code.  Use
`ede-detect-directory-for-project' instead.
(ede-directory-get-toplevel-open-project-new): New.

* ede/linux.el (ede-linux-project-root): Deleted.
(ede-project-autoload): Remove dirmatch entry - it is no longer
needed.

* lisp/cedet/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
explicity ask filesystem if Project.ede is there.

* ede/config.el:
* ede/detect.el: New files.

* ede/project-am.el (project-run-target): Add "./" to program to
run for systems where '.' isn't in PATH.
(project-am-load): Remove old code regarding `ede-constructing'.
Just read in the makefiles.

* ede/linux.el (ede-linux-load): Do not add to global list here.
Don't check for existing anymore.
(project-rescan): New.
(ede-linux-project-list, ede-linux-file-existing): Deleted.
(ede-linux-project-root): Delete body.  Need symbol for autoloads
for now.
(ede-linux-project): No longer instance tracker.
(ede-project-autoload): Don't provide :proj-root

* ede/emacs.el (ede-emacs-load): Do not add project to global list
here.  Don't look for existing first.
(ede-project-autoload): Remove dirmatch entry - it is no longer
needed.  Don't provide proj-root anymore.
(ede-emacs-project-list, ede-emacs-file-existing): Delete.
(ede-emacs-project-root): Remove body (need symbol for loaddefs
still).
(ede-emacs-project): Do not instance track anymore.

* ede/cpp-root.el (initialize-instance): Remove commented code.
Add note about why we are adding the project to the master list.
Make sure if we are replacing a prev version, remove from global
list.
(ede-cpp-root-file-existing)
(ede-cpp-root-project-file-for-dir)
(ede-cpp-root-count, ede-cpp-root-project-root, ede-cpp-root-load)
(ede-project-autoload cpp-root): Deleted.
(ede-project-root-directory): Return :directory instead of
calculating from :file.
(project-rescan): New.

* ede/base.el (ede-toplevel): Only use buffer cached value if
subproj not passed in.

* srecode/java.el (srecode-semantic-handle-:java): Fix case when
an EDE project didn't support java paths.

* 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.

* emacs-lisp/eieio-custom.el (eieio-customize-object): Set
eieio-cog (current group) to g, which is an improved form of input
group.

* srecode/doc-cpp.srt (mode): Set to c mode so this works with
both C and C++.
2014-11-10 01:04:30 +01:00
Eli Zaretskii
03400ec333 Fix bug #18955 with failure generating macuvs.h on MS-Windows.
admin/unidata/Makefile.in (${top_srcdir}/src/macuvs.h): Use
 unmsys--file-name.
2014-11-09 22:44:51 +02:00
Glenn Morris
da95e2399e Merge from emacs-24; up to 117691 2014-11-08 18:06:29 -08:00
Glenn Morris
e4ed201ff9 Replace doc/*/Makefile.in dist rules with code in admin/admin.el
* admin/admin.el (make-manuals-dist-output-variables)
(make-manuals-dist--1, make-manuals-dist): New.
Replaces doc/*/Makefile.in `dist' rules.

* doc/emacs/Makefile.in (version): Remove variable.
(clean): No longer delete dist tarfile.
(dist): Remove rule; replace with code in admin.el.

* doc/lispintro/Makefile.in (version): Remove variable.
(clean): No longer delete dist tarfile.
(dist): Remove rule; replace with code in admin.el.

* doc/lispref/Makefile.in (version): Remove variable.
(clean): No longer delete dist tarfile.
(dist): Remove rule; replace with code in admin.el.

* doc/misc/Makefile.in (version): Remove variable.
(clean): No longer delete dist tarfile.
(dist): Remove rule; replace with code in admin.el.
2014-11-08 18:02:51 -08:00
Paul Eggert
a9f1618de8 Spelling fixes; tweak explanation of commit messages.
* admin/notes/repo: Avoid "DVCS" acronym without first explaining it.
Mention using the first line of a ChangeLog as the topic line, and
that commit messages should use UTF-8.
* lisp/mouse.el (mouse-drag-line): Fix misspelling of "right-fringe".
2014-11-04 09:46:49 -08:00
Glenn Morris
d5d8ca30e5 Merge from emacs-24; up to 117656 2014-11-01 11:05:30 -07:00
Eli Zaretskii
eeeaca5cb5 admin/ChangeLog: Fix a typo. 2014-10-31 11:40:27 +02:00
Eli Zaretskii
b8ff3a9f98 Minor fixes in the changes in preparation for git migration.
src/Makefile.in (repo-update): Fix a typo and slightly reword
 commentary.

 admin/notes/repo (Notes): Reword the stylistic guidance for commit log
 messages so that they are in line with Emacs development practices
 and style guidance.
2014-10-31 11:32:11 +02:00
Eric S. Raymond
1ad9ad3bfe Backport from trunk more changes in preparation for git migration.
admin/notes/bzr: Renamed to notes/repo, reorganixed to separate
 VCS-dependent from VCS-independent stuff.  Added guidance about
 commit-comment format under DVCSes.
 admin/notes/BRANCH: Merged into notes/repo.

 lisp/version.el: Fix some fallback values to conform to the actual
 release number.
2014-10-31 11:06:47 +02:00
Eric S. Raymond
cac77f92e3 Backport changes in preparation for git migration from trunk.
admin: Changes in several documents.
 autogen.sh: Neutralize language specific to a repository type.

 doc/misc/efaq-w32.texi: Neutralized language specific to a repository type.

 doc/misc/gnus-coding.txt: Neutralized language specific to a repository type.

 lisp/Makefile.in: Change some production names so they're neutral
 about the repository type.
2014-10-31 11:03:23 +02:00
Eric S. Raymond
ea1c65d4bb Guidance on commit-comment formats. 2014-10-26 20:50:32 -04:00
Eric S. Raymond
12983c7798 More preparation for git tramsition. Reorganize to sparate our dependencies. 2014-10-26 20:27:55 -04:00
Eric S. Raymond
fb85c184db Merge BRANCH into repo, because it belongs with the developer advice. Also...
...this helps prepare for the repository move.
2014-10-26 07:15:06 -04:00
Eric S. Raymond
a4566cad72 Neutralize some language specific to a repository type. 2014-10-26 07:01:58 -04:00
Eric S. Raymond
5070ebb0c2 Rename the 'bzr' notes file to 'repo'. For two reasons:
1. A significant portion of the advice is independent of any 
specific version-control sytem.

2. Doing the rename now means it is easier to compose a multi-file 
patch that can be applied to fix the tree on the day of the git move.
2014-10-26 06:12:44 -04:00
Eric S. Raymond
8e297e0a84 Looking for .bzr as a check for top-level directory will soon be a bad idea.
Fortunately the other two checks should be quite sufficient.
2014-10-25 16:11:24 -04:00
Eric S. Raymond
08072a468b Preparing foe git transition. 2014-10-25 15:36:23 -04:00
Eric S. Raymond
2a7753ce3e Neutralize language specific to a repository type. 2014-10-25 14:53:20 -04:00
Eric S. Raymond
c1609a8cce Preparing for git transition; replace bzr-specific language. 2014-10-25 14:48:49 -04:00
Stefan Monnier
eed18bf1fd Merge from emacs-24 2014-10-20 21:17:06 -04:00
Glenn Morris
8a85c254de Merge from emacs-24; up to 2014-07-28T06:28:15Z!dmantipov@yandex.ru 2014-10-20 20:59:41 +01:00
Glenn Morris
83bad90efe Add 24.4 release ChangeLog entries 2014-10-20 20:21:15 +01:00
Eli Zaretskii
ed7ebd933a Update the bidirectional reordering engine for Unicode 6.3 and 7.0.
src/bidi.c (bidi_ignore_explicit_marks_for_paragraph_level): Remove
 variable.
 (bidi_get_type): Return the isolate initiators and terminator
 types.
 (bidi_isolate_fmt_char, bidi_paired_bracket_type)
 (bidi_fetch_char_skip_isolates, find_first_strong_char)
 (bidi_find_bracket_pairs, bidi_resolve_brackets): New functions.
 (bidi_set_sos_type): Renamed from bidi_set_sor_type and updated
 for the new features.
 (bidi_push_embedding_level, bidi_pop_embedding_level): Update to
 push and pop correctly for isolates.
 (bidi_remember_char): Modified to accept an additional argument
 and record the bidi type according to its value.
 (bidi_cache_iterator_state): Accept an additional argument to only
 update an existing state.  Handle the new members of struct bidi_it.
 (bidi_cache_find): Arguments changed: no lnger accepts a level,
 instead accepts a flag telling it whether it is okay to return
 unresolved neutrals.
 (bidi_initialize): Initiate and staticpro the bracket-type uniprop
 table.  Initialize new isolate-related members.
 (bidi_paragraph_init): Some code factored out into
 find_first_strong_char.
 (bidi_resolve_explicit_1): Function deleted, its code incorporated
 into bidi_resolve_explicit.
 (bidi_resolve_explicit): Support the isolate initiators and
 terminator.  Fix handling of embeddings and overrides according to
 new UBA requirements.  Record information about previously seen
 characters here (moved from bidi_level_of_next_char).
 (bidi_resolve_weak): Adapt to changes in struct members.
 (FLAG_EMBEDDING_INSIDE, FLAG_OPPOSITE_INSIDE, MAX_BPA_STACK)
 (STORE_BRACKET_CHARPOS, PUSH_BPA_STACK): New macros.
 (bidi_resolve_neutral): Call bidi_resolve_brackets to handle the
 paired bracket resolution.  Handle isolate initiators and
 terminator.
 (bidi_type_of_next_char): Remove unneeded code for BN limit.
 (bidi_level_of_next_char): Move the code that records information
 about previous characters to bidi_resolve_explicit.  Fix logic of
 resolving neutrals and make sure their cache entries are updated.
 Remove now unneeded special handling of PDF level.
 src/dispextern.h (struct glyph): Enlarge the width of resolved_level.
 (BIDI_MAXDEPTH): New macro, renamed from BIDI_MAXLEVEL and
 enlarged per Unicode 6.3.
 (enum bidi_bracket_type_t): New data type.
 (struct bidi_saved_info): Leave only 2 type members out of 4.
 Remove bytepos.
 (struct bidi_stack): Add members necessary to support isolating
 sequences.
 (struct bidi_it): Add new members necessary to support isolating
 sequences and bracket pair resolution.
 src/xdisp.c (Fbidi_resolved_levels): New function.
 (syms_of_xdisp): Defsubr it.
 (append_glyph, append_composite_glyph, produce_image_glyph)
 (append_stretch_glyph, append_glyphless_glyph): Convert aborts to
 assertions.
 (syms_of_xdisp) <inhibit-bidi-mirroring>: New variable.
 src/term.c (append_glyph, append_composite_glyph)
 (append_glyphless_glyph): Convert aborts to assertions.
 src/.gdbinit (pgx): Display the character codepoint, resolved level,
 and bidi type also for glyphless glyphs.

 lisp/simple.el (what-cursor-position): Update to support the new bidi
 characters.
 lisp/descr-text.el (describe-char): Update to support the new bidi
 characters.

 admin/unidata/unidata-gen.el (unidata-prop-alist): New properties
 'paired-bracket' and 'bracket-type', in support of the UBA 6.3.
 (unidata-gen-table): Support PROP-IDX being a function.
 (unidata-describe-bidi-bracket-type, unidata-gen-brackets-list)
 (unidata-gen-bracket-type-list): New functions.
 (unidata-check): Support checking the 'bracket-type' attribute.
 (unidata-gen-files): Don't create backups for uni-*.el files.
 admin/unidata/Makefile.in (${unidir}/charprop.el): Depend on
 BidiMirroring.txt and BidiBrackets.txt.
 admin/unidata/BidiBrackets.txt: New file, from Unicode.

 etc/NEWS: Mention the UBA implementation update.
 etc/HELLO: Remove now unneeded directional control characters.

 doc/lispref/nonascii.texi (Character Properties): Document the new
 properties 'bracket-type' and 'paired-bracket'.
 doc/lisprefdisplay.texi (Bidirectional Display): Update the version of the
 UBA to which we are conforming.

 test/BidiCharacterTest.txt: New file, from Unicode.
 test/biditest.el: New file.
2014-10-15 17:11:25 +03:00
Eli Zaretskii
b8ec977659 Merge from trunk. 2014-10-15 16:16:10 +03:00
Glenn Morris
c1cd371ab5 * admin/notes/versioning: Relocate and rewrite. 2014-10-15 00:12:31 -07:00
Glenn Morris
12e8ede75c Remove some admin/notes files
* admin/notes/lel-TODO: Remove.  This has not turned out to be a
useful way to get things documented.

* admin/notes/exit-value, admin/notes/iftc: Remove.
These don't seem to have any particular relationship to Emacs development.
2014-10-15 00:07:29 -07:00
Eli Zaretskii
e3060a0c4d Merge from trunk and resolve conflicts. 2014-10-14 21:10:37 +03:00
Glenn Morris
2cae8632b7 Merge from emacs-24; up to 2014-07-27T01:00:26Z!fgallina@gnu.org 2014-10-13 16:55:41 -04:00
Glenn Morris
b1d5ab0352 Merge from emacs-24; up to 2014-07-26T11:58:24Z!schwab@linux-m68k.org 2014-10-12 15:56:45 -07:00
Paul Eggert
cc541e588a Spelling fixes. 2014-10-12 13:09:15 -07:00
Glenn Morris
2222349c25 * admin/make-tarball.txt: Small additions. 2014-10-12 11:41:05 -07:00
Paul Eggert
4c4c5b9121 Fix putenv race conditions with undefined behavior.
Do all putenv calls before Emacs creates any threads.
Use a safer way to modify the TZ environment variable in the
presence of multiple threads.  For further thread-safety,
prefer localtime_r and gmtime_r to localtime and gmtime,
and prefer struct tm's tm_gmtoff (if available) to calling
both localtime_r and gmtime_r.
* configure.ac (LOCALTIME_CACHE): Remove.
We needn't worry about SunOS 4 any more; Sun dropped support in 2003.
All uses of LOCALTIME_CACHE removed.  This simplifies the fix.
(tzalloc): Add check for this function.
* admin/merge-gnulib (GNULIB_MODULES): Add time_r, since Emacs now
calls localtime_r and gmtime_r directly.
* src/dbusbind.c (Fdbus__init_bus): Move xputenv call from here ...
(init_dbusbind): ... to this new function.
* src/emacs.c (main) [HAVE_DBUS]: Call it before creating threads.
* src/xterm.c (x_term_init): Move xputenv call from here ...
(init_xterm): ... to this new function.
* src/emacs.c (main) [USE_GTK]: Call it before creating threads.
* src/editfns.c (HAVE_TM_GMTOFF): Default to false.
(dump_tz_string): New constant.
(init_editfns): Use it.  This centralizes the dump_tz stuff.
Call set_time_zone_rule here, so that its xputenv is done
before Emacs goes multithreaded.
(mktime_z) [!HAVE_TZALLOC]: New function, which is typically
thread-safe enough for Emacs.
(format_time_string, Fdecode_time, Fcurrent_time_string)
(Fcurrent_time_zone):
Prefer localtime_r and gmtime_r, which are more thread-safe, to
localtime and gmtime.  Remove now-unnecessary calls to block_input.
(tm_gmtoff): New static function.
(Fdecode_time, Fcurrent_time_zone): Use it.
(Fencode_time): Use mktime_z, for better thread-safety.
(set_time_zone_rule): Now static.  Rewrite to be mostly thread-safe,
i.e., not quite thread-safe but good enough for Emacs typical usage.
Do not reclaim storage that is in the environment; let it leak.
Always call tzset, since localtime_r does not.
* src/emacs.c (dump_tz, Fdump_emacs) [HAVE_TZSET]: Remove dump_tz stuff.
This is now done in init_editfns.
* src/systime.h (mktime_z, timezone_t, tzalloc, tzfree) [!HAVE_TZALLOC]:
New macros and declarations, for platforms lacking tzalloc & friends.

Fixes: debbugs:8705
2014-10-11 23:09:50 -07:00
Thien-Thi Nguyen
28c3bdd8d6 [maint] Start Emacs versioning doc; nfc.
* admin/versioning: New file.
2014-10-10 09:54:08 +02:00