1. 13 Dec, 2013 15 commits
  2. 12 Dec, 2013 25 commits
    • Fabián Ezequiel Gallina's avatar
      * lisp/progmodes/python.el (python-indent-calculate-indentation): Fix · bc9222c9
      Fabián Ezequiel Gallina authored
      de-denters cornercase.
      
      * test/automated/python-tests.el (python-indent-dedenters-2): New test.
      
      Fixes: debbugs:15731
      bc9222c9
    • Glenn Morris's avatar
      Generate info/dir from .texi files rather than .info files · b55e11bf
      Glenn Morris authored
      * Makefile.in (install-info): Handle missing info/dir.
      (info_dir_deps): New variable.
      (${srcdir}/info/dir): Depend on .texi files rather than .info files.
      (check-info): Update topics.
      
      * build-aux/make-info-dir: Use .texi files rather than .info files.
      Update topics.
      
      * doc/lispintro/emacs-lisp-intro.texi:
      * doc/lispref/elisp.texi:
      Tweak dircategory (all the others use "Emacs" + lower-case).
      b55e11bf
    • David Engster's avatar
      Merge from CEDET upstream. · 2cc82b9f
      David Engster authored
      2cc82b9f
    • David Engster's avatar
      Merge with CEDET upstream. · b0fe992f
      David Engster authored
      * admin/grammars/c.by (expr-binop): Add MOD.
      (variablearg): Add 'opt-assign'.
      (variablearg, varnamelist): Add default values so that it can be
      later expanded into the tag.
      (opt-stuff-after-symbol): Rename to 'brackets-after-symbol' and
      remove empty match.
      (multi-stage-dereference): Adapt to above rename.
      (unaryexpression): Use 'symbol' instead of 'namespace-symbol',
      since the latter also leads to an empty match at the end which
      would make this too greedy.
      (variablearg-opt-name): Support parsing of function pointers
      inside an argument list.
      
      * semantic/analyze.el
      (semantic-analyze-find-tag-sequence-default): Always add scope to
      the local miniscope for each type.  Otherwise, structure tags are
      not analyzed correctly.  Also, always search the extended
      miniscope even when not dealing with types.
      
      * semantic/ctxt.el (semantic-get-local-variables-default): Also
      try to parse local variables for buffers which are currently
      marked as unparseable.  Otherwise, it is often impossible to
      complete local variables.
      
      * semantic/scope.el (semantic-analyze-scoped-types-default): If we
      cannot find a type in the typecache, also look into the the types
      we already found.  This is necessary since in C++, a 'using
      namespace' can be dependend on a previous one.
      (semantic-completable-tags-from-type): When creating the list of
      completable types, pull in types which are referenced through
      'using' statements, and also preserve their filenames.
      
      * semanitc/bovine/c.el (semantic/analyze/refs): Require.
      (semantic-analyze-tag-references): New override.  Mainly copied
      from the default implementation, but if nothing could be found (or
      just the tag itself), drop all namespaces from the scope and
      search again.  This is necessary for implementations which are
      defined outside of the namespace and only pull those in through
      'using' statements.
      (semantic-ctxt-scoped-types): Go through all tags around point and
      search them for using statements.  In the case for using
      statements outside of function scope, append them in the correct
      order instead of using 'cons'.  This is important since using
      statements may depend on previous ones.
      (semantic-expand-c-tag-namelist): Do not try to parse struct
      definitions as default values.  The grammar parser seems to return
      the point positions slightly differently (as a cons instead of a
      list).  Also, set parent for typedefs to 'nil'.  It does not
      really make sense to set a parent class for typedefs, and it can
      also lead to endless loops when calculating scope.
      (semantic-c-reconstitute-token): Change handling of function
      pointers; instead of seeing them as variables, handle them as
      functions with a 'function-pointer' attribute.  Also, correctly
      deal with function pointers as function arguments.
      (semantic-c-reconstitute-function-arglist): New function to parse
      function pointers inside an argument list.
      (semantic-format-tag-name): Use 'function-pointer' attribute
      instead of the old 'functionpointer-flag'.
      (semantic-cpp-lexer): Use new `semantic-lex-spp-paren-or-list'.
      
      * semantic/bovine/gcc.el (semantic-gcc-setup): Add 'features.h' to
      the list of files whose preprocessor symbols are included.  This
      pulls in things like __USE_POSIX and similar.
      
      * semantic/format.el (semantic-format-tag-prototype-default):
      Display default values if available.
      
      * semantic/analyze/refs.el (semantic-analyze-refs-impl)
      (semantic-analyze-refs-proto): Add 'default-value' as ignorable in
      call to `semantic-tag-similar-p'.
      
      * semantic/db-mode.el (semanticdb-semantic-init-hook-fcn): Always
      set buffer for `semanticdb-current-table'.
      
      * semantic/db.el (semanticdb-table::semanticdb-refresh-table): The
      previous change turned up a bug in this method.  Since the current
      table now correctly has a buffer set, the first clause in the
      `cond' would be taken, but there was a `save-excursion' missing.
      
      * semantic/lex-spp.el (semantic-c-end-of-macro): Declare.
      (semantic-lex-spp-token-macro-to-macro-stream): Deal with macros
      which open/close a scope.  For this, leave an overlay if we
      encounter a single open paren and return a semantic-list in the
      lexer.  When this list gets expanded, retrieve the old position
      from the overlay.  See the comments in the function for further
      details.
      (semantic-lex-spp-find-closing-macro): New function to find the
      next macro which closes scope (i.e., has a closing paren).
      (semantic-lex-spp-replace-or-symbol-or-keyword): Go to end of
      closing macro if necessary.
      (semantic-lex-spp-paren-or-list): New lexer to specially deal with
      parens in macro definitions.
      
      * semantic/decorate/mode.el (semantic-decoration-mode): Do not
      decorate available tags immediately but in an idle timer, since
      EDE will usually not be activated yet, which will make it
      impossible to find project includes.
      
      * semantic/decorate/include.el
      (semantic-decoration-on-includes-highlight-default): Remove
      'unloaded' from throttle when decorating includes, otherwise all
      would be loaded.  Rename 'table' to 'currenttable' to make things
      clearer.
      
      * ede/linux.el (cl): Require during compile.
      
      * ede/linux.el (project-linux-build-directory-default)
      (project-linux-architecture-default): Add customizable variables.
      (ede-linux-project): Add additional slots to track Linux-specific
      information (out-of-tree build directory and selected
      architecture).
      (ede-linux--get-build-directory, ede-linux--get-archs)
      (ede-linux--detect-architecture, ede-linux--get-architecture)
      (ede-linux--include-path): Added function to detect Linux-specific
      information.
      (ede-linux-load): Set new Linux-specific information when creating
      a project.
      (ede-expand-filename-impl): Use new and more accurate include
      information.
      
      * semantic/scope.el (semantic-calculate-scope): Return a clone of
      the scopecache, so that everyone is working with its own (shallow)
      copy.  Otherwise, if one caller is resetting the scope, it would
      be reset for all others working with the scope cache as well.
      b0fe992f
    • Eli Zaretskii's avatar
      Remove stale comment from fileio.c. · 163e9935
      Eli Zaretskii authored
      163e9935
    • Paul Eggert's avatar
      Spelling fixes. · 32e93c9e
      Paul Eggert authored
      32e93c9e
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/nadvice.el: Add `depth' property to manage ordering. · cb3a1380
      Stefan Monnier authored
      (advice--make): Pay attention to `depth'.
      (advice--make-1): Don't autoload commands eagerly.
      * lisp/emacs-lisp/elp.el (elp-instrument-function):
      * lisp/emacs-lisp/trace.el (trace-function-internal):
      * lisp/emacs-lisp/debug.el (debug-on-entry): Keep them "first".
      
      * lisp/iswitchb.el (iswitchb-mode): Don't belittle ido.
      cb3a1380
    • Paul Eggert's avatar
      Avoid undefined behavior with huge regexp interval counts. · 4618713a
      Paul Eggert authored
      * regex.c (GET_INTERVAL_COUNT): Rename from 'GET_UNSIGNED_NUMBER',
      since it's now specialized to interval counts.	All uses changed.
      Do not assume wrapraound on signed integer overflow.
      (regex_compile): Simplify based on the above changes.
      4618713a
    • Eli Zaretskii's avatar
      Support MS-Windows file names that use characters outside of ANSI codepage. · 01633a17
      Eli Zaretskii authored
       src/w32.c (get_file_security, set_file_security)
       (create_symbolic_link): Separate pointers and boolean flags for
       ANSI and Unicode APIs.  Use the latter if w32_unicode_filenames is
       non-zero, else the former.
       (codepage_for_filenames, filename_to_utf16, )
       (filename_from_utf16, filename_to_ansi, filename_from_ansi): New
       functions.
       (init_user_info): Allow $HOME and $SHELL to include non-ANSI
       characters.
       (normalize_filename): Lose the DBCS code, now works on UTF-8.
       Accept only one argument; all callers changed.
       (dostounix_filename): Remove the second argument, now works in
       UTF-8.  All callers changed.
       (parse_root): Lose DBCS code.
       (get_long_basename, w32_get_short_filename, init_environment)
       (GetCachedVolumeInformation, sys_readdir, open_unc_volume)
       (read_unc_volume, logon_network_drive, faccessat, sys_chdir)
       (sys_chmod, sys_creat, sys_fopen, sys_link, sys_mkdir, sys_open)
       (sys_rename_replace, sys_rmdir, sys_unlink, stat_worker, utime)
       (is_symlink, readlink, chase_symlinks, w32_delayed_load): Work in
       Unicode mode if w32_unicode_filenames is non-zero, in ANSI mode
       otherwise.
       (ansi_encode_filename): New function.
       (get_emacs_configuration, get_emacs_configuration_options):
       Functions deleted.
       (add_volume_info, GetCachedVolumeInformation): Run the input file
       name through unixtodos_filename, to ensure it is stored and
       referenced in canonical form.
       (get_volume_info): Lose the DBCS code, now works in UTF-8.
       (logon_network_drive, sys_link, utime): Improve error handling.
       (sys_access): New function.
       (hashval, generate_inode_val): Unused functions deleted.
       (symlink, readlink, readlinkat): Lose DBCS code, now works in UTF-8.
       (check_windows_init_file): Convert error message from UTF-8 to
       ANSI codepage, for display in the message box.
       (globals_of_w32): Set w32_unicode_filenames according to the OS
       version.
       src/w32term.c (construct_drag_n_drop): Work in Unicode mode when
       w32_unicode_filenames is non-zero, ANSI mode otherwise.
       (syms_of_w32term): Declare w32-unicode-filenames.
       src/w32proc.c (new_child, delete_child): Remove code that handled
       unused pending_deletion and input_file members of the child struct.
       (create_child, sys_spawnve): Convert all file names to ANSI
       codepage.  Use ANSI APIs explicitly; forcibly fail if any file
       name cannot be encoded in ANSI codepage.  Don't use
       unixtodos_filename, mirror slashes by hand.
       (record_infile, record_pending_deletion): Functions deleted.
       (Fw32_short_file_name): Call w32_get_short_filename instead of
       GetShortPathName.
       src/w32notify.c (add_watch): Work in Unicode mode when
       w32_unicode_filenames is non-zero, ANSI mode otherwise.
       (Fw32notify_add_watch): Rewrite to avoid using GetFullPathName;
       instead, do the same with Lisp primitives.
       src/w32fns.c (file_dialog_callback, Fx_file_dialog)
       (Fsystem_move_file_to_trash, Fw32_shell_execute)
       (Ffile_system_info, Fdefault_printer_name): Work in Unicode mode
       when w32_unicode_filenames is non-zero, ANSI mode otherwise.
       (Fw32_shell_execute): Improve error reporting.
       (Fdefault_printer_name): Ifdef away for Cygwin.
       src/w32.h (struct _child_process): Remove input_file and
       pending_deletion members that are no longer used.
       (dostounix_filename, w32_get_short_filename, filename_from_ansi)
       (filename_to_ansi, filename_from_utf16, filename_to_utf16)
       (ansi_encode_filename): New and updated prototypes.
       src/unexw32.c (open_input_file, open_output_file, unexec): Use ANSI
       APIs explicitly.
       (unexec): Don't use dostounix_filename, it expects a file name in
       UTF-8.  Instead, mirror backslashes by hand.  Convert NEW_NAME to
       ANSI encoding.
       src/fileio.c (Ffile_name_directory, file_name_as_directory)
       (directory_file_name, Fexpand_file_name)
       (Fsubstitute_in_file_name) [WINDOWSNT]: Adapt to the change in
       arguments of dostounix_filename.
       (Fexpand_file_name) [WINDOWSNT]: Convert value of $HOME to UTF-8.
       use MAX_UTF8_PATH for size of file-name strings.
       (emacs_readlinkat): Build an explicitly unibyte string for file
       names.
       (syms_of_fileio) <file-name-coding-system>
       default-file-name-coding-system>: Mention MS-Windows peculiarities.
       src/emacs.c (init_cmdargs) [WINDOWSNT]: Convert argv[0] to UTF-8.
       (main) [WINDOWSNT]: Convert the argv[] elements that are files or
       directories to UTF-8.
       (decode_env_path) [WINDOWSNT]: Convert file names taken from the
       environment, and each element of the input PATH, to UTF-8.
       src/dired.c (file_attributes): Use build_unibyte_string explicitly
       to make Lisp strings from user and group names.
       src/coding.h (ENCODE_FILE, DECODE_FILE): Just call encode_file and
       decode_file.
       src/coding.c (decode_file_name, encode_file_name): New functions.
       src/termcap.c (tgetent): Adapt to the change in arguments of
       dostounix_filename.
       src/sysdep.c (sys_subshell) [WINDOWSNT]: Use MAX_UTF8_PATH for file
       names.
       src/msdos.c (dostounix_filename, init_environment): Adapt to the
       change in arguments of dostounix_filename.
       src/image.c (xpm_load, tiff_load, gif_load, imagemagick_load)
       [WINDOWSNT]: Encode file names passed to the image libraries in
       ANSI codepage.
       src/gnutls.c (Fgnutls_boot): Encode all file names passed to GnuTLS.
       [WINDOWSNT]: Convert file names to the current ANSI codepage.
       src/filelock.c (lock_file) [WINDOWSNT]: Adapt to the change in
       arguments of dostounix_filename.
      
       nt/inc/ms-w32.h (MAX_UTF8_PATH): New macro.
       (opendir, closedir, readdir, seekdir): Redirect to replacement
       functions.
       nt/inc/dirent.h: Make d_name[] be MAXNAMELEN*4 characters long.
      
       lisp/term/w32-win.el (w32-handle-dropped-file):
       lisp/startup.el (normal-top-level):
       lisp/net/browse-url.el (browse-url-file-url):
       lisp/dnd.el (dnd-get-local-file-name): On MS-Windows, encode and
       decode file names using 'utf-8' rather than
       file-name-coding-system.
      
       doc/emacs/mule.texi (File Name Coding): Document file-name encoding
       peculiarities on MS-Windows.
      
       doc/lispref/nonascii.texi (Encoding and I/O): Document file-name encoding
       peculiarities on MS-Windows.
      
       etc/NEWS: Mention support on MS-Windows of file names outside of the
       current locale.
      
      Fixes: debbugs:7100
      01633a17
    • Dmitry Antipov's avatar
      * font.h (struct font_entity) [HAVE_NS]: New field to record · cf86e18b
      Dmitry Antipov authored
      font driver which was used to create this entity.
      (struct font) [HAVE_WINDOW_SYSTEM]: New field to record
      frame where the font was opened.
      (font_close_object): Add prototype.
      * font.c (font_make_entity) [HAVE_NS]: Zero out driver field.
      (font_close_object): Not static any more.  Lost frame arg.
      Adjust comment and users.
      * alloc.c (cleanup_vector): Call font_close_object to adjust
      per-frame font counters correctly.  If HAVE_NS, also call
      driver-specific cleanup for font-entity objects.
      * ftfont.c (ftfont_open):
      * nsfont.m (nsfont_open):
      * w32font.c (w32font_open_internal):
      * xfont.c (xfont_open):
      * xftfont.c (xftfont_open): Save frame pointer in font object.
      * macfont.m (macfont_open): Likewise.
      (macfont_descriptor_entity): Save driver pointer to be able
      to call its free_entity routine when font-entity is swept.
      * ftxfont.c (ftxfont_open): Add eassert because frame
      pointer should be saved by ftfont_driver.open.
      cf86e18b
    • Michael Albinus's avatar
      * tramp.texi (direntry): Use ssh but rsh. · c4246a60
      Michael Albinus authored
      (all): Encode all environment variable names with @env{...}.
      (Bug Reports): Refer to Testing node.
      c4246a60
    • Glenn Morris's avatar
      89f01d7d
    • Glenn Morris's avatar
      f5011847
    • Glenn Morris's avatar
    • Glenn Morris's avatar
      Stop keeping info/dir in the repository. · 62bd73fa
      Glenn Morris authored
      * build-aux/dir_top: Move here from admin/.
      
      * build-aux/make-info-dir: New script.
      
      * Makefile.in (bootstrap-clean): Delete info/.
      (info-dir, ${srcdir}/info/dir): New rules.
      (info): Also make info-dir.
      (check-info): Rename from check-info-dir.
      Instead of info/dir entries, check @dircategory in info/*.info.
      
      * make-dist: Use `info' rule rather than `info-real'.
      No more info/COPYING (not even the right license for info/ files).
      
      * info/: Remove from repository.
      
      * admin/update_autogen (info_dir):
      Use dir_top from build-aux/ rather than admin/.
      
      * .bzrignore: Ignore info/ altogether.
      
      * doc/emacs/Makefile.in: Comment.
      62bd73fa
    • Dmitry Antipov's avatar
      * dispextern.h (FACE_SUITABLE_FOR_CHAR_P): Remove unused macro. · 397a32c1
      Dmitry Antipov authored
      (FACE_FOR_CHAR): Simplify because face_for_char does the same.
      * fontset.c (face_suitable_for_char_p) [0]: Remove unused function.
      (font_for_char): Prefer ptrdiff_t to int for buffer position.
      (face_for_char): Likewise.  Rearrange eassert and return ASCII
      face for CHAR_BYTE8_P.
      * fontset.h (font_for_char, face_for_char): Adjust prototypes.
      397a32c1
    • Fabián Ezequiel Gallina's avatar
      * lisp/progmodes/python.el (python-indent-context) · 09faee72
      Fabián Ezequiel Gallina authored
      (python-indent-calculate-indentation): Fix auto-identation
      behavior for comment blocks.
      
      * test/automated/python-tests.el (python-indent-after-comment-1)
      (python-indent-after-comment-2): New tests.
      
      Fixes: debbugs:15916
      09faee72
    • Paul Eggert's avatar
      Revert my most-recent change re Solaris. · 139f5284
      Paul Eggert authored
      139f5284
    • Glenn Morris's avatar
      f4f84024
    • Dmitry Antipov's avatar
      * xterm.c (x_make_frame_visible): Restore hack which is needed when · 96542302
      Dmitry Antipov authored
      input polling is used.  This is still meaningful for Cygwin, see
      http://lists.gnu.org/archive/html/emacs-devel/2013-12/msg00351.html.
      * keyboard.c (poll_for_input_1, input_polling_used): Define
      unconditionally.
      96542302
    • Nathan Trapuzzano's avatar
      * lisp/progmodes/python.el (python-indent-calculate-indentation): When · f54de22e
      Nathan Trapuzzano authored
      determining indentation, don't treat "return", "pass", etc., as
      operators when they are just string constituents. 
      
      * automated/python-test.el (python-indent-block-enders-1): Rename
      from python-indent-block-enders.
      (python-indent-block-enders-2): New test.
      
      Fixes: debbugs:15812
      f54de22e
    • Glenn Morris's avatar
      Auto-commit of info/dir files. · 6cc4c89b
      Glenn Morris authored
      6cc4c89b
    • Glenn Morris's avatar
      675f2d6d
    • Glenn Morris's avatar
      Add support for auto-generating info/dir · f9405d87
      Glenn Morris authored
      * admin/update_autogen: Add option to generate info/dir.
      (Usage): Add -I.
      (info_flag): New variable.
      (-I): New option.
      (doc): Maybe check its status.
      (info_dir): New function.
      
      * admin/dir_top: New file.
      
      * doc/emacs/emacs.texi:
      * doc/lispintro/emacs-lisp-intro.texi:
      * doc/lispref/elisp.texi:
      * doc/misc/autotype.texi, doc/misc/cc-mode.texi, doc/misc/ediff.texi:
      * doc/misc/ert.texi, doc/misc/htmlfontify.texi, doc/misc/ido.texi:
      * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/srecode.texi:
      * doc/misc/todo-mode.texi, doc/misc/tramp.texi:
      Sync direntry with info/dir version.
      f9405d87
    • Juri Linkov's avatar
      * lisp/uniquify.el (uniquify-buffer-name-style): Change default to `post-forward-angle-brackets'. · d5ccb7be
      Juri Linkov authored
      * lisp/menu-bar.el (menu-bar-options-menu): Don't require preloaded `uniquify'.
      Change default to `post-forward-angle-brackets'.
      
      http://lists.gnu.org/archive/html/emacs-devel/2013-12/msg00317.html
      d5ccb7be