1. 20 Oct, 2014 1 commit
  2. 14 Mar, 2014 1 commit
    • Glenn Morris's avatar
      Move some help functions from help-fns.el to help.el, which is preloaded. · 56759cf1
      Glenn Morris authored
      They are now needed by eg the function `documentation' in some circumstances.
      
      * lisp/help-fns.el (help-split-fundoc, help-add-fundoc-usage)
      (help-function-arglist, help-make-usage): Move from here...
      
      * lisp/help.el (help-split-fundoc, help-add-fundoc-usage)
      (help-function-arglist, help-make-usage): ... to here. 
      
      * lisp/emacs-lisp/bytecomp.el (byte-compile-lambda): Do not load help-fns.
      
      Fixes: debbugs:17001
      56759cf1
  3. 10 Feb, 2014 1 commit
  4. 07 Feb, 2014 1 commit
  5. 24 Jan, 2014 1 commit
  6. 15 Jan, 2014 1 commit
  7. 06 Jan, 2014 1 commit
    • Stefan Monnier's avatar
      * lisp/abbrev.el (define-abbrev): Beware new meaning of fboundp. · 6bdd9204
      Stefan Monnier authored
      * lisp/emacs-lisp/elint.el (elint-find-builtins):
      * lisp/emacs-lisp/eldoc.el (eldoc-symbol-function):
      * lisp/emacs-lisp/bytecomp.el (byte-compile-callargs-warn)
      (byte-compile-file-form-defmumble, byte-compile, byte-compile-form):
      * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
      * lisp/apropos.el (apropos-safe-documentation):
      * lisp/subr.el (symbol-file): Remove redundant fboundp.
      * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter): Use defalias.
      6bdd9204
  8. 01 Jan, 2014 1 commit
  9. 30 Nov, 2013 1 commit
    • Glenn Morris's avatar
      Make the `interactive-only' bytecomp warning like the `obsolete' one · 3e2fb4db
      Glenn Morris authored
      * emacs-lisp/bytecomp.el (byte-compile-form):
      Make the `interactive-only' warning like the `obsolete' one.
      
      * comint.el (comint-run):
      * files.el (insert-file-literally, insert-file):
      * replace.el (replace-string, replace-regexp):
      * simple.el (beginning-of-buffer, end-of-buffer, delete-backward-char)
      (goto-line, insert-buffer, next-line, previous-line):
      Tweak `interactive-only' spec.
      3e2fb4db
  10. 25 Nov, 2013 2 commits
  11. 30 Oct, 2013 1 commit
    • Stefan Monnier's avatar
      Cleanup namespace of dos-w32.el. · ae4002ce
      Stefan Monnier authored
      * lisp/dos-w32.el (minibuffer-history-case-insensitive-variables)
      (path-separator, null-device, buffer-file-coding-system)
      (lpr-headers-switches): Check system-type before modifying them.
      (find-buffer-file-type-coding-system): Mark obsolete.
      (w32-find-file-not-found-set-buffer-file-coding-system): Rename from
      find-file-not-found-set-buffer-file-coding-system.
      (w32-untranslated-filesystem-list, w32-untranslated-canonical-name):
      (w32-add-untranslated-filesystem, w32-remove-untranslated-filesystem)
      (w32-direct-print-region-use-command-dot-com, w32-untranslated-file-p):
      (w32-direct-print-region-helper, w32-direct-print-region-function)
      (w32-direct-ps-print-region-function): Rename by adding a "w32-" prefix.
      * lisp/startup.el (normal-top-level-add-subdirs-to-load-path):
      * lisp/ps-print.el (ps-print-region-function):
      * lisp/lpr.el (print-region-function): Use new name.
      
      * lisp/simple.el (copy-region-as-kill): Fix call to region-extract-function.
      
      * lisp/emacs-lisp/bytecomp.el (byte-defop-compiler): Add new `2-and' handler.
      (byte-compile-and-folded): New function.
      (=, <, >, <=, >=): Use it.
      ae4002ce
  12. 03 Oct, 2013 1 commit
    • Stefan Monnier's avatar
      Introduce new bytecodes for efficient catch/condition-case in lexbind. · adf2aa61
      Stefan Monnier authored
      * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
      Optimize under `condition-case' and `catch' if
      byte-compile--use-old-handlers is nil.
      (disassemble-offset): Handle new bytecodes.
      
      * lisp/emacs-lisp/bytecomp.el (byte-pushcatch, byte-pushconditioncase)
      (byte-pophandler): New byte codes.
      (byte-goto-ops): Adjust accordingly.
      (byte-compile--use-old-handlers): New var.
      (byte-compile-catch): Use new byte codes depending on
      byte-compile--use-old-handlers.
      (byte-compile-condition-case--old): Rename from
      byte-compile-condition-case.
      (byte-compile-condition-case--new): New function.
      (byte-compile-condition-case): New function that dispatches depending
      on byte-compile--use-old-handlers.
      (byte-compile-unwind-protect): Pass a function to byte-unwind-protect
      when we can.
      
      * lisp/emacs-lisp/cconv.el (cconv-convert, cconv-analyse-form): Adjust for
      the new compilation scheme using the new byte-codes.
      
      * src/alloc.c (Fgarbage_collect): Merge scans of handlerlist and catchlist,
      and make them unconditional now that they're heap-allocated.
      
      * src/bytecode.c (BYTE_CODES): Add Bpushcatch, Bpushconditioncase
      and Bpophandler.
      (bcall0): New function.
      (exec_byte_code): Add corresponding cases.  Improve error message when
      encountering an invalid byte-code.  Let Bunwind_protect accept
      a function (rather than a list of expressions) as argument.
      
      * src/eval.c (catchlist): Remove (merge with handlerlist).
      (handlerlist, lisp_eval_depth): Not static any more.
      (internal_catch, internal_condition_case, internal_condition_case_1)
      (internal_condition_case_2, internal_condition_case_n):
      Use PUSH_HANDLER.
      (unwind_to_catch, Fthrow, Fsignal): Adjust to merged
      handlerlist/catchlist.
      (internal_lisp_condition_case): Use PUSH_HANDLER.  Adjust to new
      handlerlist which can only handle a single condition-case handler at
      a time.
      (find_handler_clause): Simplify since we only a single branch here
      any more.
      
      * src/lisp.h (struct handler): Merge struct handler and struct catchtag.
      (PUSH_HANDLER): New macro.
      (catchlist): Remove.
      (handlerlist): Always declare.
      adf2aa61
  13. 30 Aug, 2013 1 commit
  14. 16 Aug, 2013 1 commit
  15. 08 Aug, 2013 1 commit
  16. 07 Aug, 2013 1 commit
  17. 19 Jun, 2013 1 commit
  18. 14 Jun, 2013 1 commit
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/bytecomp.el (byte-compile-force-lexical-warnings): New var. · 0b31660d
      Stefan Monnier authored
      (byte-compile-preprocess): Use it.
      (byte-compile-file-form-defalias): Try a bit harder to use macros we
      can't quite recognize.
      (byte-compile-add-to-list): Remove.
      * lisp/emacs-lisp/cconv.el (cconv-warnings-only): New function.
      (cconv-closure-convert): Add assertion.
      
      * lisp/emacs-lisp/map-ynp.el: Use lexical-binding.
      (map-y-or-n-p): Remove unused vars `tail' and `object'.
      Factor out some repeated code.
      * etc/NEWS (utf-8 for el): Move to the incompatible section.
      0b31660d
  19. 08 Jun, 2013 1 commit
    • Glenn Morris's avatar
      Improve previous bytecomp fix · 467f3b33
      Glenn Morris authored
      * lisp/emacs-lisp/bytecomp.el (byte-compile-char-before)
      (byte-compile-backward-char, byte-compile-backward-word):
      Improve previous change, to handle non-explicit nil.
      467f3b33
  20. 06 Jun, 2013 1 commit
    • Glenn Morris's avatar
      bytecomp fix for bug#14565 · 961166f5
      Glenn Morris authored
      * lisp/emacs-lisp/bytecomp.el (byte-compile-char-before)
      (byte-compile-backward-char, byte-compile-backward-word):
      Handle explicit nil arguments.
      961166f5
  21. 05 Jun, 2013 1 commit
    • Stefan Monnier's avatar
      Fix compilation error with simultaneous dynamic+lexical scoping. · 208d0342
      Stefan Monnier authored
      Add warning when a defvar appears after the first let-binding.
      * lisp/emacs-lisp/bytecomp.el (byte-compile-lexical-variables): New var.
      (byte-compile-close-variables): Initialize it.
      (byte-compile--declare-var): New function.
      (byte-compile-file-form-defvar)
      (byte-compile-file-form-define-abbrev-table)
      (byte-compile-file-form-custom-declare-variable): Use it.
      (byte-compile-make-lambda-lexenv): Change the argument.  Simplify.
      (byte-compile-lambda): Share call to byte-compile-arglist-vars.
      (byte-compile-bind): Handle dynamic bindings that shadow
      lexical bindings.
      (byte-compile-unbind): Make arg non-optional.
      (byte-compile-let): Simplify.
      * lisp/emacs-lisp/cconv.el (byte-compile-lexical-variables): Declare var.
      (cconv--analyse-function, cconv-analyse-form): Populate it.
      Protect byte-compile-bound-variables to limit the scope of defvars.
      (cconv-analyse-form): Add missing rule for (defvar <foo>).
      Remove unneeded rule for `declare'.
      
      * lisp/emacs-lisp/cl-macs.el (cl--compiler-macro-adjoin): Use macroexp-let2
      so as to avoid depending on cl-adjoin at run-time.
      * lisp/emacs-lisp/cl-lib.el (cl-pushnew): Use backquotes.
      
      * lisp/emacs-lisp/macroexp.el (macroexp--compiling-p): New function.
      (macroexp--warn-and-return): Use it.
      208d0342
  22. 28 May, 2013 1 commit
  23. 22 May, 2013 1 commit
  24. 08 May, 2013 1 commit
    • Juanma Barranquero's avatar
      Silence byte-compiler warnings. · 5cb15713
      Juanma Barranquero authored
      * lisp/emacs-lisp/bytecomp.el (byte-compile-insert-header):
      * lisp/faces.el (crm-separator): Silence byte-compiler.
      * lisp/progmodes/gud.el (gdb-speedbar-auto-raise, gud-tooltip-mode)
        (tool-bar-map): Remove unneeded defvars.
      5cb15713
  25. 20 Apr, 2013 1 commit
  26. 25 Feb, 2013 2 commits
    • Stefan Monnier's avatar
    • Eli Zaretskii's avatar
      Implement CLASH_DETECTION for MS-Windows. · 343a2aef
      Eli Zaretskii authored
       src/filelock.c [WINDOWSNT]: Include w32.h.
       (MAKE_LOCK_NAME): Don't use 'lock', it clashes with MS runtime
       function of that name.  Up-case the macro arguments.
       (IS_LOCK_FILE): New macro.
       (fill_in_lock_file_name): Use IS_LOCK_FILE instead of S_ISLNK.
       (create_lock_file): New function, with body extracted from
       lock_file_1.
       [WINDOWSNT]: Implement lock files by writing a regular file with
       the lock information as its contents.
       (read_lock_data): New function, on Posix platforms just calls
       emacs_readlinkat.
       [WINDOWSNT]: Read the lock info from the file.
       (current_lock_owner): Call read_lock_data instead of calling
       emacs_readlinkat directly.
       (lock_file) [WINDOWSNT]: Run the file name through
       dostounix_filename.
       src/w32proc.c (sys_kill): Support the case of SIG = 0, in which case
       just check if the process by that PID exists.
       src/w32.c (sys_open): Don't reset the _O_CREAT flag if _O_EXCL is
       also present, as doing so will fail to error out if the file
       already exists.
       src/makefile.w32-in ($(BLD)/filelock.$(O)): Depend on src/w32.h.
      
       nt/inc/ms-w32.h (BOOT_TIME_FILE): Define.
       nt/config.nt (CLASH_DETECTION): Define to 1.
      
       lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Reject files
       that match "\`\.#", to avoid compiling lock files, even if they
       are readable (as they are on MS-Windows).
      
       doc/emacs/files.texi (Interlocking): Don't refer to symlinks as the
       exclusive means of locking files.
      
       etc/NEWS: Mention support for lock files on MS-Windows.
      343a2aef
  27. 23 Feb, 2013 1 commit
  28. 09 Feb, 2013 1 commit
    • Eli Zaretskii's avatar
      Remove all references to buffer-file-type and related features. · 8549f9e8
      Eli Zaretskii authored
       src/xdisp.c (decode_mode_spec): Remove handling of %t.
      
       lisp/net/ange-ftp.el (ange-ftp-insert-file-contents): Don't reference
       buffer-file-type.
       lisp/mail/feedmail.el (feedmail-force-binary-write): Doc fix.
       (feedmail-run-the-queue, feedmail-dump-message-to-queue)
       (feedmail-send-it-immediately): Don't bind buffer-file-type, bind
       coding-system-for-write instead.
       lisp/jka-compr.el (jka-compr-write-region): Don't bind
       buffer-file-type.
       lisp/emacs-lisp/bytecomp.el (byte-compile-file): Don't bind
       buffer-file-type.
       lisp/files.el (file-name-buffer-file-type-alist): Remove defvar.
       (insert-file-contents-literally): Remove reference to
       file-name-buffer-file-type-alist.
       lisp/dos-w32.el (file-name-buffer-file-type-alist): Deprecate and
       make-obsolete.
       (find-buffer-file-type-match, find-buffer-file-type): Remove.
       (find-buffer-file-type-coding-system): Remove references to
       find-buffer-file-type-match, find-buffer-file-type, and
       buffer-file-type.
       Don't put find-buffer-file-type-coding-system into
       file-coding-system-alist.
       (find-file-binary, find-file-text): Bind coding-system-for-read
       instead of file-name-buffer-file-type-alist.
       lisp/erc/erc-dcc.el (erc-dcc-get-file): Don't reference buffer-file-type.
      
       doc/emacs/msdog.texi (Text and Binary): Delete the description of
       file-name-buffer-file-type-alist.
      
       doc/lispref/modes.texi (%-Constructs): Remove the description of %t.
       doc/lispref/nonascii.texi (MS-DOS File Types): Delete node.
      
      Fixes: debbugs:12989
      8549f9e8
  29. 01 Jan, 2013 1 commit
  30. 23 Nov, 2012 1 commit
  31. 20 Nov, 2012 1 commit
  32. 09 Nov, 2012 1 commit
  33. 08 Nov, 2012 1 commit
  34. 02 Nov, 2012 1 commit
  35. 11 Oct, 2012 1 commit
  36. 01 Oct, 2012 1 commit
  37. 28 Sep, 2012 1 commit
  38. 20 Sep, 2012 1 commit