Commit graph

278 commits

Author SHA1 Message Date
Glenn Morris
5d1e62e329 When autoload-timestamps is nil, use a dummy timestamp rather than "t".
* lisp/emacs-lisp/autoload.el (autoload--non-timestamp): New constant.
(autoload-generate-file-autoloads, autoload-find-destination)
(update-directory-autoloads): Use autoload--non-timestamp.
2016-04-23 17:59:06 -07:00
Phillip Lord
16af826eac Prevent bootstrap autoload backup files
* lisp/emacs-lisp/autoload (autoload-find-generated-file): Suppress
   backups in newly created file.

  (autoload-ensure-default-file): Function split into two.
  (autoload-ensure-file-writeable): New function from split.

  (Bug#23203)
2016-04-20 13:30:23 +01:00
Paul Eggert
dd92b5f504 Merge from origin/emacs-25
32364bb substitute-command-keys keeps quotes’ text props
567ab52 * src/xwidget.c (x_draw_xwidget_glyph_string): More clipping ...
24b87a1 Add semantic-symref-filepattern-alist entry for lisp-interact...
cc0b713 Perform xref searches without visiting unopened files
5045575 Revert "Prevent bootstrap autoload backup files"
2016-04-18 14:05:31 -07:00
Phillip Lord
50455754b5 Revert "Prevent bootstrap autoload backup files"
This reverts commit c23c965bb9.
2016-04-12 18:00:50 +01:00
Paul Eggert
7c2c2196fd Merge from origin/emacs-25
ca50981 Improve time zone documentation
c23c965 Prevent bootstrap autoload backup files
9344612 Disable multicolor fonts on OS X since they are not supported...
c41ce1c Capitalize “Universal Time” in documentation
10597c9 Don't use 'find-program'
2016-04-12 08:50:47 -07:00
Phillip Lord
c23c965bb9 Prevent bootstrap autoload backup files
* lisp/emacs-lisp/autoload (autoload-find-generated-file): Suppress
   backups in newly created file.

  (autoload-ensure-default-file): Function split into two.
  (autoload-ensure-file-writeable): New function from split.

  (Bug#23203)
2016-04-12 12:45:33 +01:00
Glenn Morris
2855e5df28 * lisp/emacs-lisp/autoload.el (autoload-timestamps):
Experiment with setting to nil.

; * etc/NEWS: Mention this.
2016-02-29 21:10:42 -08:00
Glenn Morris
4694f2f906 * lisp/emacs-lisp/autoload.el (autoload-find-destination):
Fix 6-week old merge error.
2016-02-29 21:03:47 -08:00
Glenn Morris
d84bc5555a * lisp/emacs-lisp/autoload.el (update-file-autoloads):
Ensure timestamps.
2016-02-29 20:51:47 -08:00
John Wiegley
fee9e3ff5e Merge from origin/emacs-25
ce4a052 Add defvar-local to lisp-imenu-generic-expression
a0121bc Revert commit b1e3d14845
76fe2d5 * lisp/emacs-lisp/autoload.el (autoload-find-destination): Doc fix.
1ae088f * lisp/emacs-lisp/autoload.el (autoload-find-destination):
b6b47af Properly encode/decode base64Binary data in SOAP
c632466 Obey coding-system-for-write when writing stdout/stderr in batch
2f32cb5 * doc/misc/efaq.texi (Packages that do not come with Emacs):
        Update the URI of MELPA and marmalade-repo.
        Reported by CHENG Goa <chenggao@royau.me> in
        https://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00390.html.
d2937aa * lisp/progmodes/opascal.el (opascal-mode-syntax-table):
5330c25 * lisp/progmodes/xscheme.el (xscheme-prompt-for-expression-exit):
7380990 Remove function wrongly on AWK Mode value of context
fontification hook.
d400753 * src/buffer.c: Stick with ASCII in doc string.
221240c Reword transient-mark-mode doc string
977d3ea Update doc string of 'selective-display'
229c3fa Make C++ buffers writeable when writing their initial text
        properties.
f5c762c Additional changes for "make check-expensive"
1729cf3 ; * admin/MAINTAINERS: Remove myself.
33219d3 Apply text properties for <, > in new after-change function
        (C++ Java Modes).
2016-01-11 22:50:30 -08:00
John Wiegley
1dd4f26ab6 Merge from origin/emacs-25
ef33bc7 Spelling and grammar fixes
9c3dbab Fix copyright years by hand
0e96320 Update copyright year to 2016
2016-01-11 22:48:07 -08:00
Glenn Morris
4580671f5e ; * lisp/emacs-lisp/autoload.el (autoload-timestamps): Doc tweak. 2016-01-06 23:51:34 -08:00
Glenn Morris
a0b7842700 ; * lisp/emacs-lisp/autoload.el update-directory-autoloads): Fix typo in previous. 2016-01-06 23:35:53 -08:00
Glenn Morris
3517db2d39 Allow creation of loaddefs files without timestamps.
* lisp/emacs-lisp/autoload.el (autoload-timestamps): New variable.
(autoload-generate-file-autoloads, update-directory-autoloads):
If autoload-timestamps is nil, write "t" instead of file timestamp.
(autoload-find-destination, update-directory-autoloads):
If timestamp is "t", use the modtime of the output file instead.

; * etc/NEWS: Mention this.
2016-01-06 23:33:33 -08:00
Glenn Morris
76fe2d526e * lisp/emacs-lisp/autoload.el (autoload-find-destination): Doc fix. 2016-01-06 20:36:46 -05:00
Glenn Morris
1ae088fba7 * lisp/emacs-lisp/autoload.el (autoload-find-destination):
Avoid specifying the length of a time object (it has not been "2"
for some time).
2016-01-06 19:56:47 -05:00
Paul Eggert
0e963201d0 Update copyright year to 2016
Run admin/update-copyright.
2016-01-01 01:34:24 -08:00
Stephen Leake
fed091f7c2 add file name to autoload error messages.
* lisp/emacs-lisp/autoload.el (autoload-save-buffers): add condition-case
  to add file name to error message.
2015-07-22 04:31:44 -05:00
Glenn Morris
5200c2baef Improve reproducibility of generated loaddefs file.
* lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
Make the return value the modtime of the input file (if no autoloads).
(update-directory-autoloads): In the "no autoloads" section,
use "most recent modtime" rather than "current time".

; http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00688.html
2015-06-30 14:59:04 -04:00
Paul Eggert
00ec2dd7af Don't require help-fns when not needed
* lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
* lisp/emacs-lisp/elint.el:
Don't require help-fns at the top level.
* lisp/emacs-lisp/advice.el (ad-arglist):
* lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
Don't require help-fns.  (Bug#17001)
2015-05-20 08:24:23 -07:00
Artur Malabarba
3ba6b3a9c1 Speed up byte-compilation and autoload generation by avoiding mode-hooks
This prevents emacs-lisp-mode-hook from being run everytime an
autoload file is generated, which can account for a fraction of
package installation time depending on the hooks the user has
configured.

* lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.

* lisp/emacs-lisp/autoload.el (autoload-find-file)
(autoload-find-generated-file): Use delay-mode-hooks.
2015-04-12 03:57:59 +01:00
Paul Eggert
cd2d58c1c8 Less 'make' chatter in batch mode
* admin/unidata/unidata-gen.el (unidata-gen-files):
* lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
* lisp/emacs-lisp/bytecomp.el (byte-compile-file):
* lisp/files.el (save-buffer, basic-save-buffer):
* lisp/international/quail.el (quail-update-leim-list-file):
Don't output messages like "Generating ..." in batch mode.
2015-01-03 18:29:23 -08:00
Paul Eggert
7e09ef09a4 Update copyright year to 2015
Run admin/update-copyright.
2015-01-01 14:26:41 -08:00
Stefan Monnier
f0e8c1eac2 New macro `define-inline'.
* lisp/emacs-lisp/inline.el: New file.
2014-12-01 09:45:15 -05:00
Glenn Morris
ddce73d32f Revert previous accidental commit 2014-11-04 21:08:12 -08:00
Glenn Morris
6a278b64f7 Merge from emacs-24; up to 117669 2014-11-04 21:04:30 -08:00
Glenn Morris
0224bf74b2 Get rid of the AUTOGEN_VCS variable in lisp/Makefile
* lisp/emacs-lisp/autoload.el (autoload-ensure-writable): New variable.
(autoload-ensure-default-file): Maybe make existing output writable.

* lisp/Makefile.in (AUTOGEN_VCS): Remove.
(autoloads): Use autoload-ensure-writable rather than AUTOGEN_VCS.
2014-06-30 14:26:34 -04:00
Paul Eggert
ba3189039a Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
Glenn Morris
ca7dd4cd17 * lisp/Makefile.in (autoloads): Do not use abs_lisp.
This should stop recent weirdness, eg:
http://lists.gnu.org/archive/html/emacs-diffs/2013-10/msg00381.html

* lisp/emacs-lisp/autoload.el: Comment.
2013-10-30 16:27:35 -04:00
Glenn Morris
4f85b47922 * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
`newline' does not respect `standard-output', so use `princ'.

Otherwise you can get \n inserted in the wrong buffer, eg
http://lists.gnu.org/archive/html/emacs-diffs/2013-10/msg00379.html
2013-10-30 16:03:07 -04:00
Stefan Monnier
7d22ce18d4 * lisp/emacs-lisp/autoload.el (autoload--setup-output): New function,
extracted from autoload--insert-text.
(autoload--insert-text): Remove.
(autoload--print-cookie-text): New function, extracted from
autoload--insert-cookie-text.
(autoload--insert-cookie-text): Remove.
(autoload-generate-file-autoloads): Adjust calls accordingly.
2013-07-22 19:21:14 -04:00
Stefan Monnier
66bd25ab33 * lisp/emacs-lisp/package.el: Don't activate packages older than builtin.
(package-obsolete-list): Rename from package-obsolete-alist, and make
it into a simple list of package-desc.
(package-strip-version): Remove.
(package-built-in-p): Use package--builtin-versions.
(package-mark-obsolete): Simplify.
(package-process-define-package): Mark it obsolete if older than the
builtin version.
(package-handle-response): Use line-end-position.
(package-read-archive-contents, package--download-one-archive):
Simplify.
(package--add-to-archive-contents): Skip if older than the builtin or
installed version.
(package-menu-describe-package): Fix last change.
(package-list-unversioned): New var.
(package-menu--generate): Use it.

* lisp/Makefile.in (autoloads): Set autoload-builtin-package-versions.

* lisp/startup.el (package--builtin-versions): New var.
(package-subdirectory-regexp): Remove.
(package--description-file): Hard code its value instead.

* lisp/emacs-lisp/autoload.el: Manage package--builtin-versions.
(autoload--insert-text, autoload--insert-cookie-text): New functions.
(autoload-builtin-package-versions): New variable.
(autoload-generate-file-autoloads): Use them.
Remove the list of autoloaded functions/macros from the
(autoload...) comments.
2013-06-15 11:36:11 -04:00
Glenn Morris
0060ac73c0 * lisp/emacs-lisp/autoload.el (generated-autoload-load-name): Doc fix. 2013-05-11 16:58:36 -07:00
Paul Eggert
ab422c4d68 Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
Stefan Monnier
13af0d109f * lisp/emacs-lisp/autoload.el (make-autoload): Add `cl-defmacro' to the
forms that define macros.

Fixes: debbugs:12593
2012-10-07 11:15:16 -04:00
Chong Yidong
5725bd2cc0 Merge from emacs-24; up to 2012-05-02T11:38:01Z!lekktu@gmail.com 2012-08-11 10:13:55 +08:00
Glenn Morris
7aacaf15a2 Disable local eval: in some places
* tutorial.el (help-with-tutorial):
* emacs-lisp/copyright.el (copyright-update-directory):
* emacs-lisp/autoload.el (autoload-find-generated-file)
(autoload-find-file): Disable local eval: (for insurance).
2012-08-09 23:53:52 -07:00
Stefan Monnier
7abaf5ccc9 Autoload more carefully from Lisp. Follow aliases for function properties.
* lisp/subr.el (autoloadp): New function.
(symbol-file): Use it.
(function-get): New function.
* lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Use function-get and
autoload-do-load.
* lisp/emacs-lisp/lisp-mode.el (lisp-font-lock-syntactic-face-function)
(lisp-indent-function):
* lisp/emacs-lisp/gv.el (gv-get):
* lisp/emacs-lisp/edebug.el (get-edebug-spec, edebug-basic-spec):
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form):
* lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
* lisp/emacs-lisp/autoload.el (make-autoload, autoload-print-form):
Use function-get.
* lisp/emacs-lisp/cl.el: Don't propagate function properties any more.

* src/eval.c (Fautoload_do_load): Rename from do_autoload, export to Lisp,
add argument, tune behavior, and adjust all callers.

* lisp/speedbar.el (speedbar-add-localized-speedbar-support):
* lisp/emacs-lisp/disass.el (disassemble-internal):
* lisp/desktop.el (desktop-load-file):
* lisp/help-fns.el (help-function-arglist, find-lisp-object-file-name)
(describe-function-1):
* lisp/emacs-lisp/find-func.el (find-function-noselect):
* lisp/emacs-lisp/elp.el (elp-instrument-function):
* lisp/emacs-lisp/advice.el (ad-has-proper-definition):
* lisp/apropos.el (apropos-safe-documentation, apropos-macrop):
* lisp/emacs-lisp/debug.el (debug-on-entry):
* lisp/emacs-lisp/cl-macs.el (cl-compiler-macroexpand):
* lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
* lisp/calc/calc.el (name): Use autoloadp & autoload-do-load.
2012-07-25 21:27:33 -04:00
Stefan Monnier
f58e0fd503 Reduce use of (require 'cl).
* admin/bzrmerge.el: Use cl-lib.
* leim/quail/hangul.el: Don't require CL.
* leim/quail/ipa.el: Use cl-lib.
* vc/smerge-mode.el, vc/pcvs.el, vc/pcvs-util.el, vc/pcvs-info.el:
* vc/diff-mode.el, vc/cvs-status.el, uniquify.el, scroll-bar.el:
* register.el, progmodes/sh-script.el, net/gnutls.el, net/dbus.el:
* msb.el, mpc.el, minibuffer.el, international/ucs-normalize.el:
* international/quail.el, info-xref.el, imenu.el, image-mode.el:
* font-lock.el, filesets.el, edmacro.el, doc-view.el, bookmark.el:
* battery.el, avoid.el, abbrev.el: Use cl-lib.
* vc/pcvs-parse.el, vc/pcvs-defs.el, vc/log-view.el, vc/log-edit.el:
* vc/diff.el, simple.el, pcomplete.el, lpr.el, comint.el, loadhist.el:
* jit-lock.el, international/iso-ascii.el, info.el, frame.el, bs.el:
* emulation/crisp.el, electric.el, dired.el, cus-dep.el, composite.el:
* calculator.el, autorevert.el, apropos.el: Don't require CL.
* emacs-bytecomp.el (byte-recompile-directory, display-call-tree)
(byte-compile-unfold-bcf, byte-compile-check-variable):
* emacs-byte-opt.el (byte-compile-trueconstp)
(byte-compile-nilconstp):
* emacs-autoload.el (make-autoload): Use pcase.
* face-remap.el (text-scale-adjust): Simplify pcase patterns.
2012-07-10 07:51:54 -04:00
Stefan Monnier
a12ac9d795 * lisp/emacs-lisp/autoload.el (make-autoload): Accept nil doc-string-elt.
Add cl-defun and cl-defmacro.

Fixes: debbugs:11649
2012-06-13 08:46:33 -04:00
Stefan Monnier
f80efb8695 Reduce use of cl in lisp/emacs-lisp/.
* lisp/emacs-lisp/timer.el, lisp/emacs-lisp/syntax.el, lisp/emacs-lisp/smie.el:
* lisp/emacs-lisp/ewoc.el, lisp/emacs-lisp/cconv.el,lisp/emacs-lisp/derived.el:
* lisp/emacs-lisp/byte-opt.el, lisp/emacs-lisp/autoload.el: Convert to cl-lib.
* lisp/emacs-lisp/easymenu.el, lisp/emacs-lisp/easy-mmode.el:
* lisp/emacs-lisp/bytecomp.el: Use pcase instead of `cl'.
* lisp/emacs-lisp/cl-lib.el: Get rid of special cl-macs auto load.
2012-06-10 09:28:26 -04:00
Stefan Monnier
500fcedc32 Add declare' for defun'. Align `defmacro's with it.
* lisp/emacs-lisp/easy-mmode.el (define-minor-mode)
(define-globalized-minor-mode): Don't autoload the var definitions.
* lisp/emacs-lisp/byte-run.el: Use lexical-binding.
(defun-declarations-alist, macro-declarations-alist): New vars.
(defmacro, defun): Use them.
(make-obsolete, define-obsolete-function-alias)
(make-obsolete-variable, define-obsolete-variable-alias):
Use `declare'.
(macro-declaration-function): Mark obsolete.
* lisp/emacs-lisp/autoload.el: Use lexical-binding.
(make-autoload): Add `expansion' arg.  Rely more on macro expansion.
2012-05-30 21:41:17 -04:00
Stefan Monnier
2a718f6fbc * lisp/emacs-lisp/autoload.el (autoload-make-program): Remove, unused. 2012-04-10 16:15:08 -04:00
Glenn Morris
acaf905b11 Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
Eli Zaretskii
283430a1df Fix "make autoloads" on MS-Windows.
lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads): On
 MS-DOS and MS-Windows, compare with loaddefs.el case-insensitively.
2011-11-23 20:39:38 +02:00
Stefan Monnier
f04a3be94b * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads): Simplify. 2011-11-21 09:22:02 -05:00
Glenn Morris
a8e1496d75 autoload.el fix for bug#10049
* lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
Ignore buffer-local generated-autoload-file if it is the same
as the global value.
2011-11-17 16:34:16 -05:00
Glenn Morris
4a72048482 Remove the SOME_MACHINE_LISP distinction in src/Makefile.in.
See discussion in http://debbugs.gnu.org/8302

* configure.in (NS_SUPPORT, MOUSE_SUPPORT, TOOLTIP_SUPPORT)
(WINDOW_SUPPORT): Remove output variables that are no longer used.

* lib-src/makefile.w32-in (echolisp): Remove rule that is no longer needed.
(clean): No more echolisp.tmp.

* .bzrignore: Remove lib-src/echolisp.tmp.

* lisp/emacs-lisp/autoload.el (batch-update-autoloads):
Set autoload-excludes by parsing lisp/loadup.el rather than Makefiles.

* lisp/loadup.el: Update commentary.

* msdos/sed1x.inp (TOOLTIP_SUPPORT, WINDOW_SUPPORT):
* msdos/sed1v2.inp (MSDOS_SUPPORT, NS_SUPPORT, MOUSE_SUPPORT)
(TOOLTIP_SUPPORT, WINDOW_SUPPORT): No need to edit these any more.

* src/Makefile.in (MSDOS_SUPPORT_REAL, MSDOS_SUPPORT, NS_SUPPORT)
(REAL_MOUSE_SUPPORT, GPM_MOUSE_SUPPORT, MOUSE_SUPPORT, TOOLTIP_SUPPORT)
(BASE_WINDOW_SUPPORT, X_WINDOW_SUPPORT, WINDOW_SUPPORT): Remove.
(lisp): Set the order to that of loadup.el.
(shortlisp): Make it a copy of $lisp.
(SOME_MACHINE_LISP): Remove.
($(etc)/DOC): Depend just on $lisp, not $SOME_MACHINE_LISP too.
Use just $shortlisp, not $SOME_MACHINE_LISP too.
2011-05-18 23:04:16 -07:00
Chong Yidong
9ed7c8cbce Make autoloading commands prompt for autoload file (Bug#7989)
* emacs-lisp/autoload.el (generated-autoload-file): Set to nil.
(autoload-find-generated-file): New function.
(generate-file-autoloads): Bind generated-autoload-file to
buffer-file-name.
(update-file-autoloads, update-directory-autoloads): Use
autoload-find-generated-file.  If called interactively, prompt for
output file.
(batch-update-autoloads): Doc fix.
2011-05-04 11:38:41 -04:00
Chong Yidong
b7d22a83c2 * emacs-lisp/autoload.el (generated-autoload-file): Doc fix (Bug#7989). 2011-05-03 11:33:05 -04:00