diff options
Diffstat (limited to 'lisp')
277 files changed, 3315 insertions, 2390 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index ddd306b98df..c9cece95445 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -6,7 +6,7 @@ 2012-04-20 Chong Yidong <cyd@gnu.org> - * progmodes/gdb-mi.el (gdb): Revert 2012-04-19 change. + * progmodes/gdb-mi.el (gdb): Revert previous change. (gdb-inferior-io--init-proc): New function. (gdb-init-1): Use it. (gdb-inferior-io-sentinel): New sentinel for the gdb-inferior pty, @@ -27,7 +27,7 @@ (window--resize-this-window, adjust-window-trailing-edge) (enlarge-window, shrink-window): Doc fixes. -2012-04-19 Chong Yidong <cyd@gnu.org> +2012-04-20 Chong Yidong <cyd@gnu.org> * progmodes/gdb-mi.el (gdb-inferior-io--maybe-delete-pty): New function to call delete-process on the gdb-inferior buffer's pty. @@ -41,19 +41,17 @@ * comint.el (make-comint-in-buffer, comint-exec): Doc fix. -2012-04-18 Chong Yidong <cyd@gnu.org> - * progmodes/grep.el (grep, rgrep): Doc fix (Bug#11268). -2012-04-18 Glenn Morris <rgm@gnu.org> +2012-04-20 Glenn Morris <rgm@gnu.org> * net/network-stream.el (open-network-stream): Doc fix. -2012-04-17 Chong Yidong <cyd@gnu.org> +2012-04-20 Chong Yidong <cyd@gnu.org> * emacs-lisp/tabulated-list.el (tabulated-list-print): Fix typos. -2012-04-16 Alan Mackenzie <acm@muc.de> +2012-04-20 Alan Mackenzie <acm@muc.de> Ensure searching for keywords is case sensitive. @@ -61,82 +59,363 @@ (c-electric-paren, c-beginning-of-defun, c-end-of-defun) (c-defun-name, c-mark-function, c-cpp-define-name) (c-comment-indent, c-scan-conditionals, c-indent-defun) - (c-context-line-break): bind case-fold-search to nil. + (c-context-line-break): Bind case-fold-search to nil. - * progmodes/cc-mode.el (c-font-lock-fontify-region): bind + * progmodes/cc-mode.el (c-font-lock-fontify-region): Bind case-fold-search to nil. -2012-04-16 Chong Yidong <cyd@gnu.org> +2012-04-20 Chong Yidong <cyd@gnu.org> * mail/sendmail.el (mail-bury): Call return action with the right Rmail buffer (Bug#11242). -2012-04-15 Chong Yidong <cyd@gnu.org> - * server.el (server-process-filter): Handle corner case where both tty and nowait options are present (Bug#11102). +2012-04-20 Eli Zaretskii <eliz@gnu.org> + + * version.el (emacs-bzr-version, emacs-bzr-get-version): Doc fixes. + (top level): Put into the executable the ident-style '$Id:' tag on + windows-nt as well. + +2012-04-19 Stefan Monnier <monnier@iro.umontreal.ca> + + * electric.el (electric-indent-post-self-insert-function): Check that + electric-indent-mode is enabled in current buffer. + +2012-04-19 Juanma Barranquero <lekktu@gmail.com> + + * imenu.el (imenu-progress-message): Restore; it is "used" in + erc/erc-imenu.el and net/snmp-mode.el. + +2012-04-19 Juanma Barranquero <lekktu@gmail.com> + + * avoid.el (mouse-avoidance-mode): Mark unused arg. + (mouse-avoidance-nudge-mouse): Remove unused binding. + + * bs.el (bs-toggle-readonly): Call `toggle-read-only' interactively. + + * descr-text.el (describe-char): + * progmodes/python.el (python-describe-symbol): + Don't call `toggle-read-only', set `buffer-read-only'. + + * imenu.el (imenu-default-goto-function): Mark unused args. + (imenu-progress-message): Remove obsolete macro; all callers changed. + + * subr.el (keymap-canonicalize): Remove unused binding. + (read-passwd): Mark unused arg. + + * tutorial.el (tutorial--display-changes): Remove unused binding. + (tutorial--save-tutorial-to): Remove unused variable. + + * emacs-lisp/package.el (define-package, package-menu-mark-delete) + (package-menu-mark-install, package-menu-mark-unmark): Mark unused args. + (package-generate-autoloads, package-menu--generate) + (package-menu--find-upgrades): Remove unused bindings. + + * emulation/cua-rect.el (cua-restrict-regexp-rectangle) + (cua-restrict-prefix-rectangle): Doc fixes. Remove unused bindings. + (cua--mouse-ignore, cua--delete-rectangle, cua--extract-rectangle) + (cua--indent-rectangle, cua-open-rectangle, cua-close-rectangle) + (cua-blank-rectangle, cua-string-rectangle, cua-replace-in-rectangle) + (cua-incr-rectangle, cua-sequence-rectangle, cua--convert-rectangle-as) + (cua--rectangle-aux-replace, cua--left-fill-rectangle) + (cua-scroll-rectangle-up, cua-scroll-rectangle-down) + (cua-delete-char-rectangle): Mark unused args. + (cua-align-rectangle): Remove unused binding. + + * mail/rmail.el (compilation--message->loc) + (epa--find-coding-system-for-mime-charset): Declare. + + * net/dbus.el (dbus-register-service): Declare. + (dbus-name-owner-changed-handler): Remove unused binding. + + * nxml/nxml-mode.el (nxml-electric-slash, nxml-in-mixed-content-p) + (nxml-compute-indent-from-matching-start-tag): Remove unused variables. + (nxml-scan-backward-within): Mark unused arg. + (nxml-dynamic-markup-word): Remove unused binding. + + * mouse.el (mouse-menu-major-mode-map): + * emacs-lisp/authors.el (authors-scan-change-log) + (authors-add-to-author-list): + * emacs-lisp/avl-tree.el (avl-tree--enter-balance): + * emacs-lisp/smie.el (smie-auto-fill): + * mail/sendmail.el (mail-bury): + * mail/unrmail.el (unrmail): + * net/tls.el (open-tls-stream): + * textmodes/picture.el (picture-mouse-set-point): + Remove unused bindings. + +2012-04-19 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-action-password): Let-bind + `enable-recursive-minibuffers' to t. + +2012-04-18 Sam Steingold <sds@gnu.org> + + * progmodes/gud.el (gud-key-prefix): Use :type 'key-sequence + instead of 'string to accommodate values like [f11]. + Always use `vconcat' instead of `concat' on it, like in `gud-def'. + * progmodes/gdb-mi.el: Likewise. + +2012-04-18 Leo Liu <sdl.web@gmail.com> + + * abbrev.el (edit-abbrevs): Move point to the abbrev table of + current buffer. + (prepare-abbrev-list-buffer): Enter edit-abbrevs-mode only if + LOCAL is nil. + +2012-04-18 Chong Yidong <cyd@gnu.org> + + * simple.el (line-move): Use forward-line if in batch mode + (Bug#11053). + +2012-04-18 Christopher Schmidt <christopher@ch.ristopher.com> + + * files.el (after-find-file): Do not try to add a final newline if + the buffer is read-only (Bug#11156). + +2012-04-17 Richard Stallman <rms@gnu.org> + + * mail/rmail.el (rmail-start-mail): + Pass (rmail-mail-return...) for the return-action. + Pass (rmail-yank-current-message...) for the yank-action. + (rmail-yank-current-message): New function. + (rmail-mail): Pass the Rmail buffer, not view buffer, for replybuffer. + (rmail-reply): Likewise. + (rmail-forward): Pass the Rmail buffer, not nil, for replybuffer. + + * mail/sendmail.el (mail-bury): Choose the first rmail-mode + buffer, not the last. Reject temp buffers. Use the rmail-mode + buffer, not newbuf. + +2012-04-17 Juanma Barranquero <lekktu@gmail.com> + + * server.el (server-ensure-safe-dir): Simplify. + +2012-04-17 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/smie.el: Provide smarter auto-filling. + (smie-auto-fill): New function. + (smie-setup): Use it. + + * newcomment.el (comment-choose-indent): Obey comment-inline-offset. + +2012-04-17 Philipp Haselwarter <philipp.haselwarter@gmx.de> (tiny change) + + * newcomment.el (comment-inline-offset): New custom var (bug#11090). + (comment-indent): Use it. + +2012-04-17 Vincent Belaïche <vincentb1@users.sourceforge.net> + + * ses.el: The overall change is to add cell renaming, that is + setting fancy names for cell symbols other than name matching + "\\`[A-Z]+[0-9]+\\'" regexp . + (ses-localvars): Add ses--renamed-cell-symb-list. + (ses-create-cell-variable): New defun. + (ses-destroy-cell-variable-range): Respect ses--numrows, ses--numcols. + (ses-relocate-formula): Relocate formulas only for cells the + symbols of which are not renamed, i.e. symbols whose names do not + match regexp "\\`[A-Z]+[0-9]+\\'". + (ses-relocate-all): Relocate values only for cells the symbols of + which are not renamed. + (ses-load): Create cells variables as the (ses-cell ...) are read, + in order to check row col consistency with cell symbol name only + for cells that are not renamed. + (ses-replace-name-in-formula): New defun. + (ses-rename-cell): New defun. + +2012-04-17 Peter Oliver <bzr@mavit.org.uk> (tiny change) + + * progmodes/perl-mode.el (perl-indent-parens-as-block): + New option (bug#11118). + (perl-calculate-indent): Respect it. + +2012-04-17 Glenn Morris <rgm@gnu.org> + + * dired-aux.el (dired-mark-read-string): Doc fix. + +2012-04-17 Dmitry Antipov <dmantipov@yandex.ru> + + * dired-aux.el (dired-mark-read-string): Offer optional completion. + (dired-do-chxxx): Complete chown, chgrp over users, groups. (Bug#7900) + +2012-04-17 Glenn Morris <rgm@gnu.org> + + * mouse.el (mouse-drag-track): + * speedbar.el (speedbar-frame-mode): + Use auto-hscroll-mode rather than the alias automatic-hscrolling. + +2012-04-16 Leo Liu <sdl.web@gmail.com> + + * progmodes/python.el: Trivial cleanup. + +2012-04-16 Glenn Morris <rgm@gnu.org> + + * vc/vc.el (vc-string-prefix-p): + * vc/pcvs-util.el (cvs-string-prefix-p): + * textmodes/tex-mode.el (latex-string-prefix-p, tex-string-prefix-p): + * mpc.el (mpc-string-prefix-p): + Make all of these into obsolete aliases for string-prefix-p. + Update callers. + * vc/pcvs.el, vc/vc-dispatcher.el, vc/vc-dir.el: Update callers. + + * textmodes/two-column.el: Move custom options to the start. + (frame-width): Remove compat definition. + (2C-associate-buffer, 2C-dissociate): + Use with-current-buffer rather than save-excursion. + (2C-dissociate): Force a mode-line update. + (2C-autoscroll): Use ignore-errors. + + * emacs-lisp/eieio-opt.el (describe-class, describe-generic): + Autoload trivia. + + * emacs-lisp/cl-extra.el (*random-state*): + Remove unnecessary declaration. + + * calendar/cal-tex.el (cal-tex-end-document): Trivial clarification. + + * play/cookie1.el (cookie-snarf): + Give an explicit error if input file cannot be read. + + * play/yow.el (yow-file): Use expand-file-name rather than concat. + + * progmodes/perl-mode.el (c-macro-expand): + Remove unnecessary autoload (it is in loaddefs.el). + + * textmodes/picture.el (picture-desired-column) + (picture-update-desired-column): Convert comments to doc-strings. + (picture-substitute): Remove function. + (picture-mode-map): Initialize in the defvar. + + * woman.el: Remove eval-after-load for tar-mode. + * tar-mode.el (tar-mode-map): Add woman binding and menu entry. + (woman-tar-extract-file): Autoload it. + + * frame.el (automatic-hscrolling): Make this alias obsolete. + +2012-04-12 Agustín Martín Domingo <agustin.martin@hispalinux.es> + + * ispell.el (ispell-set-spellchecker-params): Post-process + `ispell-dictionary-alist' to use [:alpha:] and utf-8 if possible. + (ispell-dictionary-base-alist): Revert to original XEmacs + friendly version for default. [:alpha:] will be added in + `ispell-set-spellchecker-params' if needed + +2012-04-16 Chong Yidong <cyd@gnu.org> + + * image.el (imagemagick--extension-regexp): New variable. + (imagemagick-register-types): Use it. + (imagemagick-types-inhibit): Add :set function. Allow new value + of t to inhibit all types. + + * emacs-lisp/regexp-opt.el (regexp-opt-charset): Avoid cl macros, + so we can preload it. + + * loadup.el (fboundp): Preload regexp-opt, needed by + imagemagick-register-types. + +2012-04-15 Chong Yidong <cyd@gnu.org> + + * frame.el (scrolling): Remove nearly unused customization group. + + * scroll-all.el (scroll-all-mode): Move to windows group. + +2012-04-15 Chong Yidong <cyd@gnu.org> + + * bindings.el (goto-map): Bind goto-char to M-g c (Bug#11240). + +2012-04-15 Stefan Monnier <monnier@iro.umontreal.ca> + + Avoid the use of ((lambda ...) ...) in lexical-binding code. + * emacs-lisp/easy-mmode.el (define-minor-mode): Use funcall (bug#11241). + 2012-04-15 Glenn Morris <rgm@gnu.org> * simple.el (process-file-side-effects): Doc fix. -2012-04-14 Glenn Morris <rgm@gnu.org> +2012-04-15 Glenn Morris <rgm@gnu.org> * international/mule-cmds.el (set-language-environment): Doc fix. +2012-04-14 Juanma Barranquero <lekktu@gmail.com> + + * server.el (server-auth-key, server-generate-key): Doc fixes. + (server-get-auth-key): Doc fix. Use `string-match-p'. + (server-start): Reflow docstring. + +2012-04-14 Lars Ingebrigtsen <larsi@gnus.org> + + * server.el (server-generate-key): `called-interactively-p' + requires a parameter. + +2012-04-14 Michal Nazarewicz <mina86@mina86.com> + + * server.el (server-auth-key): New variable. + (server-generate-key, server-get-auth-key): New function. + (server-start): Use the new variable and functions to allow + setting a permanent server key (bug#9423). + +2012-04-14 Leo Liu <sdl.web@gmail.com> + + * vc/diff-mode.el (diff-file-prev/next): Fix typo. + +2012-04-14 Paul Eggert <eggert@cs.ucla.edu> + + Spelling fixes. + * hexl.el (hexl-rulerize): Rename from hexl-rulerise, since + Emacs uses American spelling. + +2012-04-14 Juanma Barranquero <lekktu@gmail.com> + + * emacs-lock.el (emacs-lock-locked-buffer-functions): New hook. + (emacs-lock--exit-locked-buffer): Return the locked buffer. Doc fix. + (emacs-lock--kill-emacs-hook, emacs-lock--kill-emacs-query-functions) + (emacs-lock--kill-buffer-query-functions): Run new hook. (Bug#11017) + 2012-04-14 Stefan Monnier <monnier@iro.umontreal.ca> - Avoid the use of ((lambda ...) ...) in lexical-binding code. - * emacs-lisp/easy-mmode.el (define-minor-mode):Use funcall (bug#11241). + * progmodes/which-func.el (which-func-modes): Change default. -2012-04-13 Kim F. Storm <storm@cua.dk> +2012-04-14 Kim F. Storm <storm@cua.dk> * emulation/cua-base.el (cua-exchange-point-and-mark): Just call exchange-point-and-mark if cua-enable-cua-keys is nil (Bug#11191). -2012-04-12 Chong Yidong <cyd@gnu.org> +2012-04-14 Chong Yidong <cyd@gnu.org> * custom.el (custom-theme-set-variables): Doc fix. -2012-04-12 Glenn Morris <rgm@gnu.org> +2012-04-14 Glenn Morris <rgm@gnu.org> * international/mule.el (set-auto-coding-for-load): Doc fix. -2012-04-11 Stefan Monnier <monnier@iro.umontreal.ca> - - * imenu.el (imenu-add-to-menubar): `current-local-map' can be nil. - Reported by Noah Friedman. Backport from trunk. +2012-04-14 Alan Mackenzie <acm@muc.de> -2012-04-11 Alan Mackenzie <acm@muc.de> - - * progmodes/cc-menus.el (cc-imenu-objc-generic-expression): - Make imenu work again for Objective C Mode. Correct the *-index - values, these having been disturbed by a previous change in 2011-08. + * progmodes/cc-menus.el (cc-imenu-objc-generic-expression): Make + imenu work again for Objective C Mode. Correct the *-index values, + these having been disturbed by a previous change in 2011-08. * progmodes/cc-engine.el (c-before-change-check-<>-operators): Correct two search limits. -2012-04-10 Stefan Monnier <monnier@iro.umontreal.ca> +2012-04-14 Stefan Monnier <monnier@iro.umontreal.ca> * startup.el (command-line-1): Inhibit splash from daemon (bug#10996). -2012-04-10 Andreas Schwab <schwab@linux-m68k.org> +2012-04-14 Andreas Schwab <schwab@linux-m68k.org> * international/characters.el: Fix sorting. -2012-04-10 Eli Zaretskii <eliz@gnu.org> +2012-04-14 Eli Zaretskii <eliz@gnu.org> * international/characters.el: Add more missing Latin case pairs. -2012-04-10 Andreas Schwab <schwab@linux-m68k.org> - - * international/characters.el: Recover lost case pairs. - -2012-04-10 Glenn Morris <rgm@gnu.org> +2012-04-14 Glenn Morris <rgm@gnu.org> * files.el (dir-locals-set-class-variables): Doc fix. -2012-04-09 Eli Zaretskii <eliz@gnu.org> +2012-04-14 Eli Zaretskii <eliz@gnu.org> * international/characters.el: Add set-case-syntax-pair call for LATIN CAPITAL LETTER Y WITH DIAERESIS RET and its lower-case @@ -144,29 +423,300 @@ * simple.el (shell-command-on-region): Doc fix. (Bug#11208) -2012-04-09 Glenn Morris <rgm@gnu.org> +2012-04-14 Glenn Morris <rgm@gnu.org> * calendar/holidays.el (calendar-check-holidays): Doc fix. -2012-04-08 Eli Zaretskii <eliz@gnu.org> +2012-04-14 Eli Zaretskii <eliz@gnu.org> - * textmodes/ispell.el (ispell-dictionary-base-alist): Add data for - Hebrew. + * textmodes/ispell.el (ispell-dictionary-base-alist): + Add data for Hebrew. -2012-04-08 Chong Yidong <cyd@gnu.org> +2012-04-14 Chong Yidong <cyd@gnu.org> - * net/rcirc.el (rcirc-cmd-quit): Revert 2012-03-18 change - (Bug#11192). + * net/rcirc.el (rcirc-cmd-quit): + Revert 2012-03-18 change (Bug#11192). -2012-04-07 Glenn Morris <rgm@gnu.org> +2012-04-14 Glenn Morris <rgm@gnu.org> * pcmpl-rpm.el (pcomplete/rpm): Handle -qf. -2012-04-07 Eli Zaretskii <eliz@gnu.org> +2012-04-14 Eli Zaretskii <eliz@gnu.org> * minibuffer.el (completion-in-region-mode-map): Bind completion-help-at-point to M-? rather than ?. (Bug#11182) +2012-04-13 Vivek Dasmohapatra <vivek@etla.org> + + * hexl.el (hexl-insert-char): Make display sizes other than 16 work. + +2012-04-13 Masatake YAMATO <yamato@redhat.com> + + * minibuffer.el (minibuffer-local-filename-syntax): New variable + to allow `C-M-f' and `C-M-b' to move to the nearest path + separator (bug#9511). + +2012-04-13 Lars Ingebrigtsen <larsi@gnus.org> + + * avoid.el: Require cl when compiling. And also move the + `provide' to the end. + +2012-04-13 Thierry Volpiatto <thierry.volpiatto@gmail.com> + + * avoid.el (mouse-avoidance-banish-position): New variable. + (mouse-avoidance-banish-destination): Use it (bug#10165). + +2012-04-13 Leo Liu <sdl.web@gmail.com> + + * progmodes/which-func.el (which-func-modes): Add objc-mode. + +2012-04-13 Ken Brown <kbrown@cornell.edu> + + * net/browse-url.el (browse-url-file-url): Remove Cygwin hack; + this is no longer needed now that cygstart understands file:// URLs. + (browse-url-filename-alist): For the same reason, don't modify + file:// URLs on Cygwin. + +2012-04-13 Stefan Monnier <monnier@iro.umontreal.ca> + + * emulation/cua-base.el (cua--pre-command-handler-1): Don't activate + the region on shift if the binding is already shifted (bug#11221). + +2012-04-12 Glenn Morris <rgm@gnu.org> + + * mail/mailpost.el: Move to obsolete/. + +2012-04-12 Drew Adams <drew.adams@oracle.com> + + * imenu.el (imenu--generic-function): Ignore invisible definitions + (bug#10123). + +2012-04-12 Vivek Dasmohapatra <vivek@etla.org> + + * hexl.el (hexl-bits): New variable. + (hexl-options): Mention the variable in the doc string. + (hexl-rulerise, hexl-line-displen): New functions. + (hexl-mode): Mention the new variable. + (hexl-mode, hexl-current-address, hexl-current-address): + Use the displen. + (hexl-ascii-start-column): New function. + (hexl-address-to-marker, hexl-beginning-of-line, hexl-options) + (hexl-insert-char, hexl-mode-ruler): Use the displen (bug#4941). + +2012-04-12 Agustín Martín Domingo <agustin.martin@hispalinux.es> + + * textmodes/flyspell.el (flyspell-large-region): For hunspell, use + '("-i" ENCODING), in 2 separate command-line arguments, to specify + the encoding, as expected by hunspell. + +2012-04-12 Stefan Monnier <monnier@iro.umontreal.ca> + + * battery.el (battery--linux-sysfs-regexp): New const. + (battery-status-function): Use it. Remove yeeloong special case. + (battery-yeeloong-sysfs): Remove. + (battery-echo-area-format): Remove yeeloong special case. + +2012-04-11 Stefan Monnier <monnier@iro.umontreal.ca> + + * imenu.el (imenu-add-to-menubar): `current-local-map' can be nil. + Reported by Noah Friedman. + + * subr.el (read-passwd): Use read-string. + +2012-04-11 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * vcursor.el (vcursor-move): Increase the priority of the overlay + (bug#9663). + +2012-04-11 Deniz Dogan <deniz.a.m.dogan@gmail.com> + + * net/rcirc.el (rcirc-kill-channel-buffers): New variable. + (rcirc-kill-buffer-hook): Use it to kill channel buffers (bug#5128). + +2012-04-11 William Stevenson <yhvh2000@gmail.com> + + * textmodes/artist.el (artist-mode): Convert artist-mode to use + define-minor-mode (bug#10760). + +2012-04-11 Wolfgang Jenkner <wjenkner@inode.at> (tiny change) + + * progmodes/grep.el (rgrep): Tweak the find command line so + that directories matching `grep-find-ignored-files' won't be + pruned (bug#10351). + +2012-04-11 Chong Yidong <cyd@gnu.org> + + * startup.el (command-line): Remove support for long-obsolete + variable font-lock-face-attributes. + +2012-04-11 Glenn Morris <rgm@gnu.org> + + * vc/vc-bzr.el (vc-bzr-status): Avoid condition-case-unless-debug. + +2012-04-11 Stefan Monnier <monnier@iro.umontreal.ca> + + * window.el (window--state-get-1): Obey window-point-insertion-type. + +2012-04-11 Lennart Borgman <lennart.borgman@gmail.com> + + * emacs-lisp/lisp.el (narrow-to-defun): `beginning-of-defun' goes + to previous function when point is on the first character of a + function. Take care of that in `narrow-to-defun' (bug#6157). + +2012-04-11 Glenn Morris <rgm@gnu.org> + + * vc/vc-bzr.el (vc-bzr-status): Handle all errors, + not just file-errors. + + * vc/vc-bzr.el (vc-bzr-sha1-program, sha1-program): Remove. + (vc-bzr-sha1): Use internal sha1. + +2012-04-11 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/flymake.el (flymake-mode): Beware read-only dirs (bug#8954). + +2012-04-10 Sébastien Gross <seb@chezwam.org> (tiny change) + + * progmodes/hideshow.el (hs-hide-all): Don't infloop on comments + that start in the middle of the line (bug#10496). + +2012-04-10 Dan Nicolaescu <dann@gnu.org> + + * battery.el (battery-linux-proc-acpi): Only one battery is + discharged at a time, but that seems to confuse battery.el when + computing `rate-type' for the battery not being discharged + (bug#10332). + +2012-04-10 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/autoload.el (autoload-make-program): Remove, unused. + + * international/quail.el: Use dolist and simplify. + (quail-define-package, quail-update-keyboard-layout) + (quail-define-rules): Use dolist. + (quail-insert-kbd-layout, quail-get-translation): CSE. + + * tmm.el: Use dolist, remove left over hook. + (tmm-prompt, tmm-define-keys, tmm-shortcut, tmm-get-keybind): + Use dolist. + (calendar-load-hook): Don't mess with it. + + * vc/vc-annotate.el (vc-annotate-show-diff-revision-at-line-internal): + Use derived-mode-p. Run the diff asynchronously. + +2012-04-10 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * obsolete/mouse-sel.el: Add an Obsolete-since header. + +2012-04-10 Juanma Barranquero <lekktu@gmail.com> + + * misc.el: Display absolute path of loaded DLLs (bug#10424). + (list-dynamic-libraries--loaded): New function. + (list-dynamic-libraries--refresh): Use it. + +2012-04-10 Nathan Weizenbaum <nweiz@google.com> + + * progmodes/python.el (python-fill-paragraph): + Make python-fill-region in a multiline string work when font-lock is + disabled (bug#7018). + +2012-04-10 Laimonas Vėbra <laimonas.vebra@gmail.com> (tiny change) + + * language/european.el (cp775): Add oem/legacy (en)coding on + DOS/MS Windows for the Baltic languages. There are still plenty + of texts written in this encoding/codepage (bug#6519). + +2012-04-10 Glenn Morris <rgm@gnu.org> + + * cus-start.el (eol-mnemonic-unix, eol-mnemonic-dos, eol-mnemonic-mac): + Add :standard values, reducing "rogue" customs in emacs -Q a bit more. + +2012-04-10 Florian Adamsky <florian@adamsky.it> (tiny change) + + * recentf.el (recentf-dialog-mode-map): Add two keybindings for + next-line "n" and previous-line "p" in order to make recentf more + consistent with ibuffer, dired or org-mode (bug#9387). + +2012-04-10 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * image.el (put-image): Return the overlay created instead of the + optional input string (bug#7834). Note that this may break code + that is (for some reason or other) depending on `put-image' + returning the string. + + * mouse-sel.el (mouse-sel-mode): Mark as obsolete (bug#6174). + + * simple.el (zap-to-char): Allow zapping using input methods + (bug#1580). + + * textmodes/fill.el (fill-region): Leave point and mark where they + were before filling (bug#5399). + +2012-04-09 Glenn Morris <rgm@gnu.org> + + * version.el (emacs-bzr-get-version): + Handle lightweight checkouts of local branches. + +2012-04-09 Andreas Schwab <schwab@linux-m68k.org> + + * international/characters.el: Recover lost case pairs. (Bug#11209) + +2012-04-09 Chong Yidong <cyd@gnu.org> + + * custom.el (custom-variable-p): Return nil for non-symbol + arguments instead of signaling an error. + (user-variable-p): Obsolete alias for custom-variable-p. + + * apropos.el (apropos-variable): + * files-x.el (read-file-local-variable): + * simple.el (set-variable): + * woman.el (woman-mini-help): + * emacs-lisp/byte-opt.el (side-effect-free-fns): Callers changed. + +2012-04-09 Glenn Morris <rgm@gnu.org> + + * startup.el (normal-top-level): Don't look for leim-list.el + in places where it will not be found. (Bug#910) + + * international/mule-cmds.el (set-default-coding-systems): + * files.el (normal-mode): + Remove guarded calls to ucs-set-table-for-input. (Bug#9821) + This function was removed with ucs-tables.el in 2008. + +2012-04-08 Eli Zaretskii <eliz@gnu.org> + + * textmodes/ispell.el (ispell-check-version): For hunspell, set + ispell-encoding8-command to "-i", without a trailing space. + (ispell-start-process): For hunspell, use '("-i" ENCODING), in 2 + separate command-line arguments, to specify the encoding, since + that's how hunspell expects it. + +2012-04-08 Glenn Morris <rgm@gnu.org> + + * loadup.el: Load bindings before cus-start. + This reduces somewhat the number of "rogue" settings in emacs -Q. + +2012-04-07 Glenn Morris <rgm@gnu.org> + + * version.el (emacs-bzr-get-version): New function. + (emacs-bzr-version): New variable. + * loadup.el (emacs-bzr-version): Set it. (Bug#8054) + * mail/emacsbug.el (report-emacs-bug): Include bzr version. + +2012-04-07 Eli Zaretskii <eliz@gnu.org> + + * international/uni-bidi.el, international/uni-category.el: + * international/uni-combining.el, international/uni-decimal.el: + * international/uni-decomposition.el, international/uni-digit.el: + * international/uni-lowercase.el, international/uni-mirrored.el: + * international/uni-name.el, international/uni-numeric.el: + * international/uni-titlecase.el, international/uni-uppercase.el: + Update for Unicode 6.1. + +2012-04-07 Eli Zaretskii <eliz@gnu.org> + + * term/w32-win.el (dynamic-library-alist): Add libxml2 DLLs. + 2012-04-05 Lars Magne Ingebrigtsen <larsi@gnus.org> * window.el (shrink-window): Mention the `window-min-height' @@ -264,8 +814,8 @@ 2012-03-30 Agustín Martín Domingo <agustin.martin@hispalinux.es> * ispell.el (ispell-get-extended-character-mode): Disable - extended-char-mode for hunspell. hunspell does not support it and - treats ~word as ordinary words in pipe mode. + extended-char-mode for hunspell. hunspell does not support it + and treats ~word as ordinary words in pipe mode. 2012-03-30 Glenn Morris <rgm@gnu.org> @@ -495,7 +1045,7 @@ (hfy-face-to-css-default): Same as the earlier `hfy-face-to-css'. (hfy-face-to-css): Re-defined to be a variable. (hfy-compile-stylesheet): Modify. Allow stylesheet to be built - over multiple runs. This is made possible by having the caller let + over multiple runs. This is made possible by having the caller let bind a special variable `hfy-user-sheet-assoc'. (htmlfontify-string): New defun. (hfy-compile-face-map): Make sure that the last char in the @@ -728,7 +1278,7 @@ 2012-03-09 Michael Albinus <michael.albinus@gmx.de> - * net/dbus.el: (dbus-property-handler): Return empty array if + * net/dbus.el (dbus-property-handler): Return empty array if there are no properties. 2012-03-09 Leo Liu <sdl.web@gmail.com> @@ -1065,10 +1615,6 @@ 2012-02-24 Thierry Volpiatto <thierry.volpiatto@gmail.com> - * files.el (file-subdir-of-p): Fix typo. - -2012-02-24 Thierry Volpiatto <thierry.volpiatto@gmail.com> - * files.el (files-equal-p, file-subdir-of-p): New functions. (copy-directory): Error when trying to copy a directory on itself. Add missing copy-contents arg to tramp handler. @@ -1332,7 +1878,7 @@ 2012-02-12 Alan Mackenzie <acm@muc.de> Fix infinite loop with long macros. - * cc-engine.el (c-state-safe-place): Handle macros properly. + * progmodes/cc-engine.el (c-state-safe-place): Handle macros properly. 2012-02-12 Chong Yidong <cyd@gnu.org> @@ -1595,11 +2141,10 @@ 2012-02-06 Lars Ingebrigtsen <larsi@gnus.org> - * progmodes/cc-mode.el - (c-standard-font-lock-fontify-region-function): Set the default at - load time, too, so that `font-lock-fontify-buffer' can be called - without setting up the entire mode first. This fixes a bug in - `mm-inline-text' with C MIME parts. + * progmodes/cc-mode.el (c-standard-font-lock-fontify-region-function): + Set the default at load time, too, so that `font-lock-fontify-buffer' + can be called without setting up the entire mode first. This fixes + a bug in `mm-inline-text' with C MIME parts. 2012-02-06 Chong Yidong <cyd@gnu.org> diff --git a/lisp/ChangeLog.11 b/lisp/ChangeLog.11 index 0b4e62f9e91..8ea7d40c004 100644 --- a/lisp/ChangeLog.11 +++ b/lisp/ChangeLog.11 @@ -10889,7 +10889,7 @@ 2004-01-29 Jari Aalto <jari.aalto@poboxes.com> * progmodes/executable.el (executable-command-find-posix-p): - New. Check if find handles arguments Posix-style. + New. Check if find handles arguments POSIX-style. * progmodes/grep.el (grep-compute-defaults): Use executable-command-find-posix-p. diff --git a/lisp/ChangeLog.12 b/lisp/ChangeLog.12 index 9611eaa21b4..2361528abb3 100644 --- a/lisp/ChangeLog.12 +++ b/lisp/ChangeLog.12 @@ -12449,7 +12449,7 @@ * calendar/appt.el (diary-selective-display): Add defvar. - * sort.el (sort-columns): Use Posix arg syntax for `sort'. + * sort.el (sort-columns): Use POSIX arg syntax for `sort'. * isearch.el (search-whitespace-regexp): Fix custom type. diff --git a/lisp/ChangeLog.6 b/lisp/ChangeLog.6 index 85301ef78e1..5d79470bd2a 100644 --- a/lisp/ChangeLog.6 +++ b/lisp/ChangeLog.6 @@ -715,7 +715,7 @@ * ediff-diff.el (ediff-setup-fine-diff-regions): Allow diff options to be passed to the diff program. - (ediff-make-diff2-buffer): Don't run Posix diff on remote files. + (ediff-make-diff2-buffer): Don't run POSIX diff on remote files. (ediff-make-diff2-buffer): Refuses to diff remote files. (ediff-make-diff2-buffer, ediff-setup-diff-regions): Changed functions. (ediff-make-diff2-buffer): New function. diff --git a/lisp/abbrev.el b/lisp/abbrev.el index 3845c4ce4e6..7f54d3dc253 100644 --- a/lisp/abbrev.el +++ b/lisp/abbrev.el @@ -134,10 +134,13 @@ Otherwise display all abbrevs." (push table empty-tables) (insert-abbrev-table-description table t))) (dolist (table (nreverse empty-tables)) - (insert-abbrev-table-description table t)))) + (insert-abbrev-table-description table t))) + ;; Note: `list-abbrevs' can dispaly only local abbrevs, in + ;; which case editing could lose abbrevs of other tables. Thus + ;; enter `edit-abbrevs-mode' only if LOCAL is nil. + (edit-abbrevs-mode)) (goto-char (point-min)) (set-buffer-modified-p nil) - (edit-abbrevs-mode) (current-buffer)))) (defun edit-abbrevs-mode () @@ -152,7 +155,8 @@ Otherwise display all abbrevs." (defun edit-abbrevs () "Alter abbrev definitions by editing a list of them. -Selects a buffer containing a list of abbrev definitions. +Selects a buffer containing a list of abbrev definitions with +point located in the abbrev table of current buffer. You can edit them and type \\<edit-abbrevs-map>\\[edit-abbrevs-redefine] to redefine abbrevs according to your editing. Buffer contains a header line for each abbrev table, @@ -163,7 +167,12 @@ where NAME and EXPANSION are strings with quotes, USECOUNT is an integer, and HOOK is any valid function or may be omitted (it is usually omitted)." (interactive) - (switch-to-buffer (prepare-abbrev-list-buffer))) + (let ((table-name (abbrev-table-name local-abbrev-table))) + (switch-to-buffer (prepare-abbrev-list-buffer)) + (when (and table-name + (search-forward + (concat "(" (symbol-name table-name) ")\n\n") nil t)) + (goto-char (match-end 0))))) (defun edit-abbrevs-redefine () "Redefine abbrevs according to current buffer contents." diff --git a/lisp/allout-widgets.el b/lisp/allout-widgets.el index 86d567bcdde..16420d8af27 100644 --- a/lisp/allout-widgets.el +++ b/lisp/allout-widgets.el @@ -153,7 +153,7 @@ See `allout-widgets-mode' for allout widgets mode features." ) ;; ;;;_ = allout-widgets-allow-unruly-edits ;; (defcustom allout-widgets-allow-unruly-edits nil -;; "*Control whether manual edits are restricted to maintain outline integrity. +;; "Control whether manual edits are restricted to maintain outline integrity. ;; When nil, manual edits must either be within an item's body or encompass ;; one or more items completely - eg, killing topics as entities, rather than @@ -203,21 +203,21 @@ See `allout-widgets-mode' for allout widgets mode features." ;;;_ = allout-widgets-item-image-properties-emacs (defcustom allout-widgets-item-image-properties-emacs '(:ascent center :mask (heuristic t)) - "*Default properties item widget images in mainline Emacs." + "Default properties item widget images in mainline Emacs." :version "24.1" :type 'plist :group 'allout-widgets) ;;;_ = allout-widgets-item-image-properties-xemacs (defcustom allout-widgets-item-image-properties-xemacs nil - "*Default properties item widget images in XEmacs." + "Default properties item widget images in XEmacs." :version "24.1" :type 'plist :group 'allout-widgets) ;;;_ . Developer ;;;_ = allout-widgets-run-unit-tests-on-load (defcustom allout-widgets-run-unit-tests-on-load nil - "*When non-nil, unit tests will be run at end of loading allout-widgets. + "When non-nil, unit tests will be run at end of loading allout-widgets. Generally, allout widgets code developers are the only ones who'll want to set this. @@ -232,7 +232,7 @@ See `allout-widgets-run-unit-tests' to see what's run." :group 'allout-widgets-developer) ;;;_ = allout-widgets-time-decoration-activity (defcustom allout-widgets-time-decoration-activity nil - "*Retain timing info of the last cooperative redecoration. + "Retain timing info of the last cooperative redecoration. The details are retained as the value of `allout-widgets-last-decoration-timing'. @@ -244,7 +244,7 @@ set this." :group 'allout-widgets-developer) ;;;_ = allout-widgets-hook-error-post-time 0 (defcustom allout-widgets-hook-error-post-time 0 - "*Amount of time to sit showing hook error messages. + "Amount of time to sit showing hook error messages. 0 is minimal, or nil to not post to the message area. @@ -254,7 +254,7 @@ This is for debugging purposes." :group 'allout-widgets-developer) ;;;_ = allout-widgets-maintain-tally nil (defcustom allout-widgets-maintain-tally nil - "*If non-nil, maintain a collection of widgets, `allout-widgets-tally'. + "If non-nil, maintain a collection of widgets, `allout-widgets-tally'. This is for debugging purposes. @@ -290,7 +290,7 @@ The number varies according to the evanescence of objects on a (format ":%s" (hash-table-count allout-widgets-tally)))) ;;;_ = allout-widgets-track-decoration nil (defcustom allout-widgets-track-decoration nil - "*If non-nil, show cursor position of each item decoration. + "If non-nil, show cursor position of each item decoration. This is for debugging purposes, and generally set at need in a buffer rather than as a prevailing configuration \(but it's handy @@ -416,7 +416,7 @@ onto the front.") ;;;_ , Widget-specific outline text format ;;;_ = allout-escaped-prefix-regexp (defvar allout-escaped-prefix-regexp "" - "*Regular expression for body text that would look like an item prefix if + "Regular expression for body text that would look like an item prefix if not altered with an escape sequence.") (make-variable-buffer-local 'allout-escaped-prefix-regexp) ;;;_ , Widget element formatting diff --git a/lisp/allout.el b/lisp/allout.el index 3eed3c7d23e..4883e4244a8 100644 --- a/lisp/allout.el +++ b/lisp/allout.el @@ -945,7 +945,7 @@ case the value of `allout-default-layout' is used.") ;;;_ : Topic header format ;;;_ = allout-regexp (defvar allout-regexp "" - "*Regular expression to match the beginning of a heading line. + "Regular expression to match the beginning of a heading line. Any line whose beginning matches this regexp is considered a heading. This var is set according to the user configuration vars @@ -965,7 +965,7 @@ and `allout-distinctive-bullets-string'.") (make-variable-buffer-local 'allout-bullets-string-len) ;;;_ = allout-depth-specific-regexp (defvar allout-depth-specific-regexp "" - "*Regular expression to match a heading line prefix for a particular depth. + "Regular expression to match a heading line prefix for a particular depth. This expression is used to search for depth-specific topic headers at depth 2 and greater. Use `allout-depth-one-regexp' @@ -978,7 +978,7 @@ topic prefix to be matched.") (make-variable-buffer-local 'allout-depth-specific-regexp) ;;;_ = allout-depth-one-regexp (defvar allout-depth-one-regexp "" - "*Regular expression to match a heading line prefix for depth one. + "Regular expression to match a heading line prefix for depth one. This var is set according to the user configuration vars by `set-allout-regexp'. It is prepared with format strings for two @@ -1403,10 +1403,10 @@ their settings before allout-mode was started." ,expr)) ;;;_ = allout-mode-hook (defvar allout-mode-hook nil - "*Hook that's run when allout mode starts.") + "Hook that's run when allout mode starts.") ;;;_ = allout-mode-deactivate-hook (defvar allout-mode-deactivate-hook nil - "*Hook that's run when allout mode ends.") + "Hook that's run when allout mode ends.") (define-obsolete-variable-alias 'allout-mode-deactivate-hook 'allout-mode-off-hook "24.1") ;;;_ = allout-exposure-category @@ -1414,7 +1414,7 @@ their settings before allout-mode was started." "Symbol for use as allout invisible-text overlay category.") ;;;_ = allout-exposure-change-hook (defvar allout-exposure-change-hook nil - "*Hook that's run after allout outline subtree exposure changes. + "Hook that's run after allout outline subtree exposure changes. It is run at the conclusion of `allout-flag-region'. @@ -1427,7 +1427,7 @@ Functions on the hook must take three arguments: This hook might be invoked multiple times by a single command.") ;;;_ = allout-structure-added-hook (defvar allout-structure-added-hook nil - "*Hook that's run after addition of items to the outline. + "Hook that's run after addition of items to the outline. Functions on the hook should take two arguments: @@ -1437,7 +1437,7 @@ Functions on the hook should take two arguments: This hook might be invoked multiple times by a single command.") ;;;_ = allout-structure-deleted-hook (defvar allout-structure-deleted-hook nil - "*Hook that's run after disciplined deletion of subtrees from the outline. + "Hook that's run after disciplined deletion of subtrees from the outline. Functions on the hook must take two arguments: @@ -1450,7 +1450,7 @@ specifically edits that native allout routines do not control. This hook might be invoked multiple times by a single command.") ;;;_ = allout-structure-shifted-hook (defvar allout-structure-shifted-hook nil - "*Hook that's run after shifting of items in the outline. + "Hook that's run after shifting of items in the outline. Functions on the hook should take two arguments: @@ -1463,12 +1463,12 @@ that native allout routines do not control. This hook might be invoked multiple times by a single command.") ;;;_ = allout-after-copy-or-kill-hook (defvar allout-after-copy-or-kill-hook nil - "*Hook that's run after copying outline text. + "Hook that's run after copying outline text. Functions on the hook should not require any arguments.") ;;;_ = allout-post-undo-hook (defvar allout-post-undo-hook nil - "*Hook that's run after undo activity. + "Hook that's run after undo activity. The item that's current when the hook is run *may* be the one that was affected by the undo. diff --git a/lisp/apropos.el b/lisp/apropos.el index 423656c21fa..56b27e9b9b4 100644 --- a/lisp/apropos.el +++ b/lisp/apropos.el @@ -466,7 +466,7 @@ normal variables." #'(lambda (symbol) (and (boundp symbol) (get symbol 'variable-documentation))) - 'user-variable-p))) + 'custom-variable-p))) ;; For auld lang syne: ;;;###autoload diff --git a/lisp/avoid.el b/lisp/avoid.el index 17d99fd6517..bfe15de0ca2 100644 --- a/lisp/avoid.el +++ b/lisp/avoid.el @@ -67,7 +67,7 @@ ;;; Code: -(provide 'avoid) +(eval-when-compile (require 'cl)) (defgroup avoid nil "Make mouse pointer stay out of the way of editing." @@ -80,7 +80,7 @@ See function `mouse-avoidance-mode' for possible values. Setting this variable directly does not take effect; use either \\[customize] or the function `mouse-avoidance-mode'." - :set (lambda (symbol value) + :set (lambda (_symbol value) ;; 'none below prevents toggling when value is nil. (mouse-avoidance-mode (or value 'none))) :initialize 'custom-initialize-default @@ -115,6 +115,23 @@ Only applies in Mouse Avoidance modes `animate' and `jump'." :type 'integer :group 'avoid) +(defcustom mouse-avoidance-banish-position '((frame-or-window . frame) + (side . right) + (side-pos . 3) + (top-or-bottom . top) + (top-or-bottom-pos . 0)) + "Position to which Mouse Avoidance mode `banish' moves the mouse. +An alist where keywords mean: +FRAME-OR-WINDOW: banish the mouse to corner of frame or window. +SIDE: banish the mouse on right or left corner of frame or window. +SIDE-POS: Distance from right or left edge of frame or window. +TOP-OR-BOTTOM: banish the mouse to top or bottom of frame or window. +TOP-OR-BOTTOM-POS: Distance from top or bottom edge of frame or window." + :group 'avoid + :type '(alist :key-type symbol :value-type symbol) + :options '(frame-or-window side (side-pos integer) + top-or-bottom (top-or-bottom-pos integer))) + ;; Internal variables (defvar mouse-avoidance-state nil) (defvar mouse-avoidance-pointer-shapes nil) @@ -183,13 +200,45 @@ Acceptable distance is defined by `mouse-avoidance-threshold'." (defun mouse-avoidance-banish-destination () "The position to which Mouse Avoidance mode `banish' moves the mouse. -You can redefine this if you want the mouse banished to a different corner." - (let* ((pos (window-edges))) - (cons (- (nth 2 pos) 2) - (nth 1 pos)))) + +If you want the mouse banished to a different corner set +`mouse-avoidance-banish-position' as you need." + (let* ((fra-or-win (assoc-default + 'frame-or-window + mouse-avoidance-banish-position 'eq)) + (list-values (case fra-or-win + (frame (list 0 0 (frame-width) (frame-height))) + (window (window-edges)))) + (alist (loop for v in list-values + for k in '(left top right bottom) + collect (cons k v))) + (side (assoc-default + 'side + mouse-avoidance-banish-position 'eq)) + (side-dist (assoc-default + 'side-pos + mouse-avoidance-banish-position 'eq)) + (top-or-bottom (assoc-default + 'top-or-bottom + mouse-avoidance-banish-position 'eq)) + (top-or-bottom-dist (assoc-default + 'top-or-bottom-pos + mouse-avoidance-banish-position 'eq)) + (side-fn (case side + (left '+) + (right '-))) + (top-or-bottom-fn (case top-or-bottom + (top '+) + (bottom '-)))) + (cons (funcall side-fn ; -/+ + (assoc-default side alist 'eq) ; right or left + side-dist) ; distance from side + (funcall top-or-bottom-fn ; -/+ + (assoc-default top-or-bottom alist 'eq) ; top/bottom + top-or-bottom-dist)))) ; distance from top/bottom (defun mouse-avoidance-banish-mouse () - ;; Put the mouse pointer in the upper-right corner of the current frame. + "Put the mouse pointer to `mouse-avoidance-banish-position'." (mouse-avoidance-set-mouse-position (mouse-avoidance-banish-destination))) (defsubst mouse-avoidance-delta (cur delta dist var min max) @@ -218,7 +267,6 @@ You can redefine this if you want the mouse banished to a different corner." ;; For these modes, state keeps track of the total offset that we've ;; accumulated, and tries to keep it close to zero. (let* ((cur (mouse-position)) - (cur-frame (car cur)) (cur-pos (cdr cur)) (pos (window-edges)) (wleft (pop pos)) @@ -408,4 +456,6 @@ definition of \"random distance\".)" (if mouse-avoidance-mode (mouse-avoidance-mode mouse-avoidance-mode)) +(provide 'avoid) + ;;; avoid.el ends here diff --git a/lisp/battery.el b/lisp/battery.el index 5eb22b83f85..dcfe07121b3 100644 --- a/lisp/battery.el +++ b/lisp/battery.el @@ -39,6 +39,9 @@ :prefix "battery-" :group 'hardware) +;; Either BATn or yeeloong-bat, basically. +(defconst battery--linux-sysfs-regexp "[bB][aA][tT][0-9]?$") + (defcustom battery-status-function (cond ((and (eq system-type 'gnu/linux) (file-readable-p "/proc/apm")) @@ -48,12 +51,9 @@ 'battery-linux-proc-acpi) ((and (eq system-type 'gnu/linux) (file-directory-p "/sys/class/power_supply/") - (directory-files "/sys/class/power_supply/" nil "BAT[0-9]$")) + (directory-files "/sys/class/power_supply/" nil + battery--linux-sysfs-regexp)) 'battery-linux-sysfs) - ((and (eq system-type 'gnu/linux) - (file-directory-p "/sys/class/power_supply/yeeloong-bat/") - (directory-files "/sys/class/power_supply/yeeloong-bat/" nil "charge_")) - 'battery-yeeloong-sysfs) ((and (eq system-type 'darwin) (condition-case nil (with-temp-buffer @@ -81,8 +81,6 @@ introduced by a `%' character in a control string." "Power %L, battery %B (%p%% load, remaining time %t)") ((eq battery-status-function 'battery-pmset) "%L power, battery %B (%p%% load, remaining time %t)") - ((eq battery-status-function 'battery-yeeloong-sysfs) - "%L power, battery %B (%p%% load, remaining time %t)") (battery-status-function "Power %L, battery %B (%p%% load, remaining time %t)")) "Control string formatting the string to display in the echo area. @@ -344,14 +342,15 @@ The following %-sequences are provided: (setq charging-state (match-string 1))) (when (re-search-forward "present rate: +\\([0-9]+\\) \\(m[AW]\\)$" nil t) - (setq rate (+ (or rate 0) (string-to-number (match-string 1))) - rate-type (or (and rate-type + (setq rate (+ (or rate 0) (string-to-number (match-string 1)))) + (when (> rate 0) + (setq rate-type (or (and rate-type (if (string= rate-type (match-string 2)) rate-type (error "Inconsistent rate types (%s vs. %s)" rate-type (match-string 2)))) - (match-string 2)))) + (match-string 2))))) (when (re-search-forward "remaining capacity: +\\([0-9]+\\) m[AW]h$" nil t) (setq capacity @@ -447,7 +446,8 @@ The following %-sequences are provided: (with-temp-buffer (dolist (dir (ignore-errors (directory-files - "/sys/class/power_supply/" t "BAT[0-9]$"))) + "/sys/class/power_supply/" t + battery--linux-sysfs-regexp))) (erase-buffer) (ignore-errors (insert-file-contents (expand-file-name "uevent" dir))) @@ -524,91 +524,6 @@ The following %-sequences are provided: "AC" "BAT") "N/A"))))) - -(defun battery-yeeloong-sysfs () - "Get ACPI status information from Linux (the kernel). -This function works only on the Lemote Yeeloong. - -The following %-sequences are provided: -%c Current capacity (mAh) -%r Current rate -%B Battery status (verbose) -%b Battery status, empty means high, `-' means low, - `!' means critical, and `+' means charging -%L AC line status (verbose) -%p Battery load percentage -%m Remaining time (to charge or discharge) in minutes -%h Remaining time (to charge or discharge) in hours -%t Remaining time (to charge or discharge) in the form `h:min'" - - (let (capacity - capacity-level - status - ac-online - hours - current-now - charge-full - charge-now) - - (with-temp-buffer - (ignore-errors - (insert-file-contents "/sys/class/power_supply/yeeloong-bat/uevent") - (goto-char 1) - (search-forward "POWER_SUPPLY_CHARGE_NOW=") - (setq charge-now (read (current-buffer))) - (goto-char 1) - (search-forward "POWER_SUPPLY_CHARGE_FULL=") - (setq charge-full (read (current-buffer))) - (goto-char 1) - (search-forward "POWER_SUPPLY_CURRENT_NOW=") - (setq current-now (read (current-buffer))) - (goto-char 1) - (search-forward "POWER_SUPPLY_CAPACITY_LEVEL=") - (setq capacity-level (buffer-substring (point) (line-end-position))) - (goto-char 1) - (search-forward "POWER_SUPPLY_STATUS=") - (setq status (buffer-substring (point) (line-end-position)))) - - (erase-buffer) - (ignore-errors - (insert-file-contents - "/sys/class/power_supply/yeeloong-ac/online") - (goto-char 1) - (setq ac-online (read (current-buffer))) - (erase-buffer))) - - - (setq capacity (round (/ (* charge-now 100.0) charge-full))) - (when (and current-now (not (= current-now 0))) - (if (< current-now 0) - ;; Charging - (setq hours (/ (- charge-now charge-full) (+ 0.0 current-now))) - ;; Discharging - (setq hours (/ charge-now (+ 0.0 current-now))))) - - (list (cons ?c (if charge-now - (number-to-string charge-now) - "N/A")) - (cons ?r current-now) - (cons ?B (cond ((equal capacity-level "Full") "full") - ((equal status "Charging") "charging") - ((equal capacity-level "Low") "low") - ((equal capacity-level "Critical") "critical") - (t "high"))) - (cons ?b (cond ((equal capacity-level "Full") " ") - ((equal status "Charging") "+") - ((equal capacity-level "Low") "-") - ((equal capacity-level "Critical") "!") - (t " "))) - (cons ?h (if hours (number-to-string hours) "N/A")) - (cons ?m (if hours (number-to-string (* 60 hours)) "N/A")) - (cons ?t (if hours - (format "%d:%d" - (/ (round (* 60 hours)) 60) - (% (round (* 60 hours)) 60)) - "N/A")) - (cons ?p (if capacity (number-to-string capacity) "N/A")) - (cons ?L (if (eq ac-online 1) "AC" "BAT"))))) ;;; `pmset' interface for Darwin (OS X). diff --git a/lisp/bindings.el b/lisp/bindings.el index a87f321c936..8cfeecf5b40 100644 --- a/lisp/bindings.el +++ b/lisp/bindings.el @@ -868,6 +868,7 @@ if `inhibit-field-text-motion' is non-nil." "Keymap for navigation commands.") (define-key esc-map "g" goto-map) +(define-key goto-map "c" 'goto-char) (define-key goto-map "g" 'goto-line) (define-key goto-map "\M-g" 'goto-line) (define-key goto-map "n" 'next-error) diff --git a/lisp/bs.el b/lisp/bs.el index 64c1183b64d..08d05a946e3 100644 --- a/lisp/bs.el +++ b/lisp/bs.el @@ -964,7 +964,7 @@ Default is `bs--current-sort-function'." Uses function `toggle-read-only'." (interactive) (with-current-buffer (bs--current-buffer) - (toggle-read-only)) + (call-interactively 'toggle-read-only)) (bs--update-current-line)) (defun bs-clear-modified () diff --git a/lisp/calc/calc-units.el b/lisp/calc/calc-units.el index dcbf845c371..9d2583085a2 100644 --- a/lisp/calc/calc-units.el +++ b/lisp/calc/calc-units.el @@ -302,7 +302,7 @@ (defvar math-additional-units nil - "*Additional units table for user-defined units. + "Additional units table for user-defined units. Must be formatted like `math-standard-units'. If you change this, be sure to set `math-units-table' to nil to ensure that the combined units table will be rebuilt.") diff --git a/lisp/calc/calc.el b/lisp/calc/calc.el index 41cdb491cfa..5224d1aa4f8 100644 --- a/lisp/calc/calc.el +++ b/lisp/calc/calc.el @@ -817,7 +817,7 @@ If nil, selections displayed but ignored.") Used by `calc-user-invocation'.") (defcalcmodevar calc-show-banner t - "*If non-nil, show a friendly greeting above the stack.") + "If non-nil, show a friendly greeting above the stack.") (defconst calc-local-var-list '(calc-stack calc-stack-top diff --git a/lisp/calendar/cal-tex.el b/lisp/calendar/cal-tex.el index 14899431e2a..0ae2b38eaf6 100644 --- a/lisp/calendar/cal-tex.el +++ b/lisp/calendar/cal-tex.el @@ -1,6 +1,6 @@ ;;; cal-tex.el --- calendar functions for printing calendars with LaTeX -;; Copyright (C) 1995, 2001-2012 Free Software Foundation, Inc. +;; Copyright (C) 1995, 2001-2012 Free Software Foundation, Inc. ;; Author: Steve Fisk <fisk@bowdoin.edu> ;; Edward M. Reingold <reingold@cs.uiuc.edu> @@ -1588,8 +1588,7 @@ informative header, and run HOOK." (cal-tex-e-document) (or (and cal-tex-preamble-extra (string-match "inputenc" cal-tex-preamble-extra)) - (not (re-search-backward "[^[:ascii:]]" nil 'move)) - (progn + (when (re-search-backward "[^[:ascii:]]" nil 'move) (goto-char (point-min)) (when (search-forward "documentclass" nil t) (forward-line 1) diff --git a/lisp/cedet/data-debug.el b/lisp/cedet/data-debug.el index d930a20fba5..03dca6ceccc 100644 --- a/lisp/cedet/data-debug.el +++ b/lisp/cedet/data-debug.el @@ -872,7 +872,7 @@ If PARENT is non-nil, it is somehow related as a parent to thing." "Keymap used in data-debug.") (defcustom data-debug-mode-hook nil - "*Hook run when data-debug starts." + "Hook run when data-debug starts." :group 'data-debug :type 'hook) diff --git a/lisp/cedet/pulse.el b/lisp/cedet/pulse.el index 746ee0b89af..8f367d918dc 100644 --- a/lisp/cedet/pulse.el +++ b/lisp/cedet/pulse.el @@ -77,7 +77,7 @@ this flag is ignored." (:background "#AAAA33")) (((class color) (background light)) (:background "#FFFFAA"))) - "*Face used at beginning of a highlight." + "Face used at beginning of a highlight." :group 'pulse) (defface pulse-highlight-face @@ -85,7 +85,7 @@ this flag is ignored." (:background "#AAAA33")) (((class color) (background light)) (:background "#FFFFAA"))) - "*Face used during a pulse for display. *DO NOT CUSTOMIZE* + "Face used during a pulse for display. *DO NOT CUSTOMIZE* Face used for temporary highlighting of tags for effect." :group 'pulse) diff --git a/lisp/cedet/semantic.el b/lisp/cedet/semantic.el index 0ed031019be..aeb5241b2d0 100644 --- a/lisp/cedet/semantic.el +++ b/lisp/cedet/semantic.el @@ -550,14 +550,14 @@ is requested." ) (defvar semantic-working-type 'percent - "*The type of working message to use when parsing. + "The type of working message to use when parsing. 'percent means we are doing a linear parse through the buffer. 'dynamic means we are reparsing specific tags.") (semantic-varalias-obsolete 'semantic-bovination-working-type 'semantic-working-type "23.2") (defvar semantic-minimum-working-buffer-size (* 1024 5) - "*The minimum size of a buffer before working messages are displayed. + "The minimum size of a buffer before working messages are displayed. Buffers smaller than this will parse silently. Buffers larger than this will display the working progress bar.") diff --git a/lisp/completion.el b/lisp/completion.el index ceb272fad6d..9c6cd60c96c 100644 --- a/lisp/completion.el +++ b/lisp/completion.el @@ -344,18 +344,18 @@ are automatically added to the completion database." :group 'completion) ;;(defvar *record-cmpl-statistics-p* nil -;; "*If non-nil, record completion statistics.") +;; "If non-nil, record completion statistics.") ;;(defvar *completion-auto-save-period* 1800 -;; "*The period in seconds to wait for emacs to be idle before autosaving +;; "The period in seconds to wait for emacs to be idle before autosaving ;;the completions. Default is a 1/2 hour.") (defvar completion-min-length 6 - "*The minimum length of a stored completion. + "The minimum length of a stored completion. DON'T CHANGE WITHOUT RECOMPILING ! This is used by macros.") (defvar completion-max-length 200 - "*The maximum length of a stored completion. + "The maximum length of a stored completion. DON'T CHANGE WITHOUT RECOMPILING ! This is used by macros.") (defvar completion-prefix-min-length 3 diff --git a/lisp/cus-start.el b/lisp/cus-start.el index fbba49951d1..83973e4a534 100644 --- a/lisp/cus-start.el +++ b/lisp/cus-start.el @@ -138,9 +138,18 @@ Leaving \"Default\" unchecked is equivalent with specifying a default of ;; coding.c (inhibit-eol-conversion mule boolean) (eol-mnemonic-undecided mule string) - (eol-mnemonic-unix mule string) - (eol-mnemonic-dos mule string) - (eol-mnemonic-mac mule string) + ;; startup.el fiddles with the values. IMO, would be + ;; simpler to just use #ifdefs in coding.c. + (eol-mnemonic-unix mule string nil + :standard + (if (memq system-type '(ms-dos windows-nt)) + "(Unix)" ":")) + (eol-mnemonic-dos mule string nil + :standard + (if (memq system-type '(ms-dos windows-nt)) + "\\" "(DOS)")) + (eol-mnemonic-mac mule string nil + :standard "(Mac)") (file-coding-system-alist mule (alist diff --git a/lisp/custom.el b/lisp/custom.el index 71dcfb424e5..611d5688f30 100644 --- a/lisp/custom.el +++ b/lisp/custom.el @@ -599,15 +599,17 @@ If NOSET is non-nil, don't bother autoloading LOAD when setting the variable." (put symbol 'custom-autoload (if noset 'noset t)) (custom-add-load symbol load)) -;; This test is also in the C code of `user-variable-p'. (defun custom-variable-p (variable) "Return non-nil if VARIABLE is a customizable variable. A customizable variable is either (i) a variable whose property list contains a non-nil `standard-value' or `custom-autoload' property, or (ii) an alias for another customizable variable." - (setq variable (indirect-variable variable)) - (or (get variable 'standard-value) - (get variable 'custom-autoload))) + (when (symbolp variable) + (setq variable (indirect-variable variable)) + (or (get variable 'standard-value) + (get variable 'custom-autoload)))) + +(define-obsolete-function-alias 'user-variable-p 'custom-variable-p "24.2") (defun custom-note-var-changed (variable) "Inform Custom that VARIABLE has been set (changed). diff --git a/lisp/descr-text.el b/lisp/descr-text.el index d2995ab790d..50b32fc8f2e 100644 --- a/lisp/descr-text.el +++ b/lisp/descr-text.el @@ -806,7 +806,7 @@ relevant to POS." (format " %s: %s\n" elt val))))))) (if text-props-desc (insert text-props-desc)) - (toggle-read-only 1)))))) + (setq buffer-read-only t)))))) (define-obsolete-function-alias 'describe-char-after 'describe-char "22.1") diff --git a/lisp/dframe.el b/lisp/dframe.el index d3356197a2b..2cdf4784eb0 100644 --- a/lisp/dframe.el +++ b/lisp/dframe.el @@ -157,22 +157,22 @@ selected frame and the focus will change to that frame." :type 'hook) (defvar dframe-track-mouse-function nil - "*A function to call when the mouse is moved in the given frame. + "A function to call when the mouse is moved in the given frame. Typically used to display info about the line under the mouse.") (make-variable-buffer-local 'dframe-track-mouse-function) (defvar dframe-help-echo-function nil - "*A function to call when help-echo is used in newer versions of Emacs. + "A function to call when help-echo is used in newer versions of Emacs. Typically used to display info about the line under the mouse.") (make-variable-buffer-local 'dframe-help-echo-function) (defvar dframe-mouse-click-function nil - "*A function to call when the mouse is clicked. + "A function to call when the mouse is clicked. Valid clicks are mouse 2, our double mouse 1.") (make-variable-buffer-local 'dframe-mouse-click-function) (defvar dframe-mouse-position-function nil - "*A function to call to position the cursor for a mouse click.") + "A function to call to position the cursor for a mouse click.") (make-variable-buffer-local 'dframe-mouse-position-function) (defvar dframe-power-click nil diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el index 0795b0175a2..8a499c47464 100644 --- a/lisp/dired-aux.el +++ b/lisp/dired-aux.el @@ -245,7 +245,11 @@ List has a form of (file-name full-file-name (attribute-list))." " (default now): " ": "))) (new-attribute (dired-mark-read-string prompt nil op-symbol - arg files default)) + arg files default + (cond ((eq op-symbol 'chown) + (system-users)) + ((eq op-symbol 'chgrp) + (system-groups))))) (operation (concat program " " new-attribute)) failures) (setq failures @@ -385,7 +389,7 @@ Uses the shell command coming from variables `lpr-command' and (dired-run-shell-command (dired-shell-stuff-it command file-list nil)))) (defun dired-mark-read-string (prompt initial op-symbol arg files - &optional default-value) + &optional default-value collection) "Read args for a Dired marked-files command, prompting with PROMPT. Return the user input (a string). @@ -397,11 +401,14 @@ FILES should be a list of file names. DEFAULT-VALUE, if non-nil, should be a \"standard\" value or list of such values, available via history commands. Note that if the user enters empty input, this function returns the empty string, -not DEFAULT-VALUE." +not DEFAULT-VALUE. + +Optional argument COLLECTION is a collection of possible completions, +suitable for use by `completing-read'." (dired-mark-pop-up nil op-symbol files - 'read-from-minibuffer + 'completing-read (format prompt (dired-mark-prompt arg files)) - initial nil nil nil default-value)) + collection nil nil initial nil default-value nil)) ;;; Cleaning a directory: flagging some backups for deletion. diff --git a/lisp/dired.el b/lisp/dired.el index d322752e15f..77fe9cb7614 100644 --- a/lisp/dired.el +++ b/lisp/dired.el @@ -3736,7 +3736,7 @@ Ask means pop up a menu for the user to select one of copy, move or link." ;;;;;; dired-run-shell-command dired-do-shell-command dired-do-async-shell-command ;;;;;; dired-clean-directory dired-do-print dired-do-touch dired-do-chown ;;;;;; dired-do-chgrp dired-do-chmod dired-compare-directories dired-backup-diff -;;;;;; dired-diff) "dired-aux" "dired-aux.el" "58d623eb8e68e472e6164a1bcae83360") +;;;;;; dired-diff) "dired-aux" "dired-aux.el" "de7e4c64718c8ba8438a6397a460bf23") ;;; Generated autoloads from dired-aux.el (autoload 'dired-diff "dired-aux" "\ diff --git a/lisp/dos-w32.el b/lisp/dos-w32.el index d84e3737c91..071c7b71263 100644 --- a/lisp/dos-w32.el +++ b/lisp/dos-w32.el @@ -55,7 +55,7 @@ ("\\.tp[ulpw]$" . t) ; borland Pascal stuff ("[:/]tags$" . nil) ; emacs TAGS file ) - "*Alist for distinguishing text files from binary files. + "Alist for distinguishing text files from binary files. Each element has the form (REGEXP . TYPE), where REGEXP is matched against the file name, and TYPE is nil for text, t for binary.") @@ -283,7 +283,7 @@ filesystem mounted on drive Z:, FILESYSTEM could be \"Z:\"." ;;; Support for printing under DOS/Windows, see lpr.el and ps-print.el. (defvar direct-print-region-use-command-dot-com t - "*Control whether command.com is used to print on Windows 9x.") + "Control whether command.com is used to print on Windows 9x.") ;; Function to actually send data to the printer port. ;; Supports writing directly, and using various programs. diff --git a/lisp/electric.el b/lisp/electric.el index 50c9010a74e..6a31ba1f1d3 100644 --- a/lisp/electric.el +++ b/lisp/electric.el @@ -215,6 +215,7 @@ point right after that char, and it should return t to cause indentation, ;; it looks challenging. (let (pos) (when (and + electric-indent-mode ;; Don't reindent while inserting spaces at beginning of line. (or (not (memq last-command-event '(?\s ?\t))) (save-excursion (skip-chars-backward " \t") (not (bolp)))) diff --git a/lisp/emacs-lisp/authors.el b/lisp/emacs-lisp/authors.el index 6f2c6f73eca..a7f8dad54ed 100644 --- a/lisp/emacs-lisp/authors.el +++ b/lisp/emacs-lisp/authors.el @@ -1,4 +1,4 @@ -;;; authors.el --- utility for maintaining Emacs's AUTHORS file -*-coding: utf-8;-*- +;;; authors.el --- utility for maintaining Emacs's AUTHORS file -*-coding: utf-8 -*- ;; Copyright (C) 2000-2012 Free Software Foundation, Inc. @@ -829,7 +829,7 @@ with the file and the number of each action: (enable-local-eval nil) (existing-buffer (get-file-buffer log-file)) (buffer (find-file-noselect log-file)) - authors file pos) + authors pos) (with-current-buffer buffer (save-restriction (widen) @@ -943,8 +943,7 @@ and changed by AUTHOR." (file (car change)) (filestat (if (authors-public-domain-p file) (concat file " (public domain)") - file)) - slot) + file))) (cond ((assq :wrote actions) (setq wrote-list (cons filestat wrote-list))) ((assq :cowrote actions) diff --git a/lisp/emacs-lisp/autoload.el b/lisp/emacs-lisp/autoload.el index 5af666b9ded..921b08b10a8 100644 --- a/lisp/emacs-lisp/autoload.el +++ b/lisp/emacs-lisp/autoload.el @@ -762,9 +762,6 @@ write its autoloads into the specified file instead." (define-obsolete-function-alias 'update-autoloads-from-directories 'update-directory-autoloads "22.1") -(defvar autoload-make-program (or (getenv "MAKE") "make") - "Name of the make program in use during the Emacs build process.") - ;;;###autoload (defun batch-update-autoloads () "Update loaddefs.el autoloads in batch mode. diff --git a/lisp/emacs-lisp/avl-tree.el b/lisp/emacs-lisp/avl-tree.el index 9f348767478..1f00677cd00 100644 --- a/lisp/emacs-lisp/avl-tree.el +++ b/lisp/emacs-lisp/avl-tree.el @@ -260,7 +260,7 @@ Return t if the height of the tree has grown." (opp (avl-tree--switch-dir dir)) ;; direction 0,1 -> sign factor -1,+1 (sgn (avl-tree--dir-to-sign dir)) - p1 p2 b2 result) + p1 p2 b2) (cond ((< (* sgn (avl-tree--node-balance br)) 0) (setf (avl-tree--node-balance br) 0) diff --git a/lisp/emacs-lisp/byte-opt.el b/lisp/emacs-lisp/byte-opt.el index 78ac29d89df..3b324a09659 100644 --- a/lisp/emacs-lisp/byte-opt.el +++ b/lisp/emacs-lisp/byte-opt.el @@ -1237,7 +1237,7 @@ string-to-multibyte tan truncate unibyte-char-to-multibyte upcase user-full-name - user-login-name user-original-login-name user-variable-p + user-login-name user-original-login-name custom-variable-p vconcat window-buffer window-dedicated-p window-edges window-height window-hscroll window-minibuffer-p window-width diff --git a/lisp/emacs-lisp/chart.el b/lisp/emacs-lisp/chart.el index 19766feac5a..2e3abb2e9d3 100644 --- a/lisp/emacs-lisp/chart.el +++ b/lisp/emacs-lisp/chart.el @@ -82,7 +82,7 @@ Colors will be the background color.") Useful if new Emacs is used on B&W display.") (defcustom chart-face-use-pixmaps nil - "*Non-nil to use fancy pixmaps in the background of chart face colors." + "Non-nil to use fancy pixmaps in the background of chart face colors." :group 'eieio :type 'boolean) diff --git a/lisp/emacs-lisp/cl-extra.el b/lisp/emacs-lisp/cl-extra.el index 9ac5ce7d2f0..9a3d8cf705b 100644 --- a/lisp/emacs-lisp/cl-extra.el +++ b/lisp/emacs-lisp/cl-extra.el @@ -1,6 +1,6 @@ ;;; cl-extra.el --- Common Lisp features, part 2 -;; Copyright (C) 1993, 2000-2012 Free Software Foundation, Inc. +;; Copyright (C) 1993, 2000-2012 Free Software Foundation, Inc. ;; Author: Dave Gillespie <daveg@synaptics.com> ;; Keywords: extensions @@ -430,7 +430,6 @@ With two arguments, return rounding and remainder of their quotient." ;; Random numbers. -(defvar *random-state*) ;;;###autoload (defun random* (lim &optional state) "Return a random nonnegative number less than LIM, an integer or float. diff --git a/lisp/emacs-lisp/cl-loaddefs.el b/lisp/emacs-lisp/cl-loaddefs.el index 5bb86628bb8..9e0099bb649 100644 --- a/lisp/emacs-lisp/cl-loaddefs.el +++ b/lisp/emacs-lisp/cl-loaddefs.el @@ -10,7 +10,7 @@ ;;;;;; ceiling* floor* isqrt lcm gcd cl-progv-before cl-set-frame-visible-p ;;;;;; cl-map-overlays cl-map-intervals cl-map-keymap-recursively ;;;;;; notevery notany every some mapcon mapcan mapl maplist map -;;;;;; cl-mapcar-many equalp coerce) "cl-extra" "cl-extra.el" "c172dda6770ce18b556561481bfefbb2") +;;;;;; cl-mapcar-many equalp coerce) "cl-extra" "cl-extra.el" "5a8a7f7ec2dc453113b8cbda577f2acb") ;;; Generated autoloads from cl-extra.el (autoload 'coerce "cl-extra" "\ diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el index 67ffd6d5d31..f47feebe5d2 100644 --- a/lisp/emacs-lisp/edebug.el +++ b/lisp/emacs-lisp/edebug.el @@ -3744,7 +3744,7 @@ This prints the value into current buffer." ;; FIXME eh? (defvar gud-inhibit-global-bindings - "*Non-nil means don't do global rebindings of C-x C-a subcommands.") + "Non-nil means don't do global rebindings of C-x C-a subcommands.") ;; Global GUD bindings for all emacs-lisp-mode buffers. (unless gud-inhibit-global-bindings diff --git a/lisp/emacs-lisp/eieio-opt.el b/lisp/emacs-lisp/eieio-opt.el index 10816aaa43c..a899839f68a 100644 --- a/lisp/emacs-lisp/eieio-opt.el +++ b/lisp/emacs-lisp/eieio-opt.el @@ -72,8 +72,7 @@ Argument CH-PREFIX is another character prefix to display." ;;; CLASS COMPLETION / DOCUMENTATION -;;;###autoload -(defalias 'describe-class 'eieio-describe-class) +;;;###autoload(defalias 'describe-class 'eieio-describe-class) ;;;###autoload (defun eieio-describe-class (class &optional headerfcn) @@ -305,8 +304,7 @@ are not abstract." ;;; METHOD COMPLETION / DOC (defalias 'describe-method 'eieio-describe-generic) -;;;###autoload -(defalias 'describe-generic 'eieio-describe-generic) +;;;###autoload(defalias 'describe-generic 'eieio-describe-generic) (defalias 'eieio-describe-method 'eieio-describe-generic) ;;;###autoload diff --git a/lisp/emacs-lisp/eieio.el b/lisp/emacs-lisp/eieio.el index cdf7237b766..768eba58ee1 100644 --- a/lisp/emacs-lisp/eieio.el +++ b/lisp/emacs-lisp/eieio.el @@ -79,7 +79,7 @@ ;; (defvar eieio-hook nil - "*This hook is executed, then cleared each time `defclass' is called.") + "This hook is executed, then cleared each time `defclass' is called.") (defvar eieio-error-unsupported-class-tags nil "Non-nil to throw an error if an encountered tag is unsupported. @@ -87,7 +87,7 @@ This may prevent classes from CLOS applications from being used with EIEIO since EIEIO does not support all CLOS tags.") (defvar eieio-skip-typecheck nil - "*If non-nil, skip all slot typechecking. + "If non-nil, skip all slot typechecking. Set this to t permanently if a program is functioning well to get a small speed increase. This variable is also used internally to handle default setting for optimization purposes.") @@ -2044,7 +2044,7 @@ During executions, the list is first generated, then as each next method is called, the next method is popped off the stack.") (defvar eieio-pre-method-execution-hooks nil - "*Hooks run just before a method is executed. + "Hooks run just before a method is executed. The hook function must accept one argument, the list of forms about to be executed.") @@ -3051,7 +3051,7 @@ Optional argument GROUP is the sub-group of slots to display. ;;;### (autoloads (eieio-help-mode-augmentation-maybee eieio-describe-generic ;;;;;; eieio-describe-constructor eieio-describe-class eieio-browse) -;;;;;; "eieio-opt" "eieio-opt.el" "e2814881441ad23759409687502f0ee1") +;;;;;; "eieio-opt" "eieio-opt.el" "d808328f9c0156ecbd412d77ba8c569e") ;;; Generated autoloads from eieio-opt.el (autoload 'eieio-browse "eieio-opt" "\ @@ -3060,7 +3060,6 @@ If optional ROOT-CLASS, then start with that, otherwise start with variable `eieio-default-superclass'. \(fn &optional ROOT-CLASS)" t nil) - (defalias 'describe-class 'eieio-describe-class) (autoload 'eieio-describe-class "eieio-opt" "\ @@ -3075,7 +3074,6 @@ Describe the constructor function FCN. Uses `eieio-describe-class' to describe the class being constructed. \(fn FCN)" t nil) - (defalias 'describe-generic 'eieio-describe-generic) (autoload 'eieio-describe-generic "eieio-opt" "\ diff --git a/lisp/emacs-lisp/ert-x.el b/lisp/emacs-lisp/ert-x.el index 257d0528cbc..a7916354c91 100644 --- a/lisp/emacs-lisp/ert-x.el +++ b/lisp/emacs-lisp/ert-x.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2008, 2010-2012 Free Software Foundation, Inc. ;; Author: Lennart Borgman (lennart O borgman A gmail O com) -;; Author: Christian Ohler <ohler@gnu.org> +;; Christian Ohler <ohler@gnu.org> ;; This file is part of GNU Emacs. diff --git a/lisp/emacs-lisp/ert.el b/lisp/emacs-lisp/ert.el index 9cbe29bf322..ad5e20cb8a4 100644 --- a/lisp/emacs-lisp/ert.el +++ b/lisp/emacs-lisp/ert.el @@ -1405,7 +1405,7 @@ RESULT must be an `ert-test-result-with-condition'." ;;; Running tests in batch mode. (defvar ert-batch-backtrace-right-margin 70 - "*The maximum line length for printing backtraces in `ert-run-tests-batch'.") + "The maximum line length for printing backtraces in `ert-run-tests-batch'.") ;;;###autoload (defun ert-run-tests-batch (&optional selector) diff --git a/lisp/emacs-lisp/lisp.el b/lisp/emacs-lisp/lisp.el index 4efdc3240cd..bcb7fab026b 100644 --- a/lisp/emacs-lisp/lisp.el +++ b/lisp/emacs-lisp/lisp.el @@ -447,7 +447,21 @@ Optional ARG is ignored." ;; Try first in this order for the sake of languages with nested ;; functions where several can end at the same place as with ;; the offside rule, e.g. Python. - (beginning-of-defun) + + ;; Finding the start of the function is a bit problematic since + ;; `beginning-of-defun' when we are on the first character of + ;; the function might go to the previous function. + ;; + ;; Therefore we first move one character forward and then call + ;; `beginning-of-defun'. However now we must check that we did + ;; not move into the next function. + (let ((here (point))) + (unless (eolp) + (forward-char)) + (beginning-of-defun) + (when (< (point) here) + (goto-char here) + (beginning-of-defun))) (setq beg (point)) (end-of-defun) (setq end (point)) diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el index 5b158eb994f..4b868f72899 100644 --- a/lisp/emacs-lisp/package.el +++ b/lisp/emacs-lisp/package.el @@ -524,7 +524,7 @@ Required package `%s-%s' is unavailable" (defun define-package (name-string version-string &optional docstring requirements - &rest extra-properties) + &rest _extra-properties) "Define a new package. NAME-STRING is the name of the package, as a string. VERSION-STRING is the version of the package, as a string. @@ -584,7 +584,7 @@ EXTRA-PROPERTIES is currently unused." (defun package-generate-autoloads (name pkg-dir) (require 'autoload) ;Load before we let-bind generated-autoload-file! (let* ((auto-name (concat name "-autoloads.el")) - (ignore-name (concat name "-pkg.el")) + ;;(ignore-name (concat name "-pkg.el")) (generated-autoload-file (expand-file-name auto-name pkg-dir)) (version-control 'never)) (unless (fboundp 'autoload-ensure-default-file) @@ -1389,7 +1389,7 @@ If REMEMBER-POS is non-nil, keep point on the same entry. PACKAGES should be t, which means to display all known packages, or a list of package names (symbols) to display." ;; Construct list of ((PACKAGE . VERSION) STATUS DESCRIPTION). - (let (info-list name builtin) + (let (info-list name) ;; Installed packages: (dolist (elt package-alist) (setq name (car elt)) @@ -1474,21 +1474,21 @@ If optional arg BUTTON is non-nil, describe its associated package." (describe-package package)))) ;; fixme numeric argument -(defun package-menu-mark-delete (&optional num) +(defun package-menu-mark-delete (&optional _num) "Mark a package for deletion and move to the next line." (interactive "p") (if (member (package-menu-get-status) '("installed" "obsolete")) (tabulated-list-put-tag "D" t) (forward-line))) -(defun package-menu-mark-install (&optional num) +(defun package-menu-mark-install (&optional _num) "Mark a package for installation and move to the next line." (interactive "p") (if (string-equal (package-menu-get-status) "available") (tabulated-list-put-tag "I" t) (forward-line))) -(defun package-menu-mark-unmark (&optional num) +(defun package-menu-mark-unmark (&optional _num) "Clear any marks on a package and move to the next line." (interactive "p") (tabulated-list-put-tag " " t)) @@ -1530,8 +1530,7 @@ If optional arg BUTTON is non-nil, describe its associated package." (dolist (entry tabulated-list-entries) ;; ENTRY is ((NAME . VERSION) [NAME VERSION STATUS DOC]) (let ((pkg (car entry)) - (status (aref (cadr entry) 2)) - old) + (status (aref (cadr entry) 2))) (cond ((equal status "installed") (push pkg installed)) ((equal status "available") diff --git a/lisp/emacs-lisp/regexp-opt.el b/lisp/emacs-lisp/regexp-opt.el index 6d12fe19277..72e3c398dc0 100644 --- a/lisp/emacs-lisp/regexp-opt.el +++ b/lisp/emacs-lisp/regexp-opt.el @@ -136,9 +136,6 @@ This means the number of non-shy regexp grouping constructs ;;; Workhorse functions. -(eval-when-compile - (require 'cl)) - (defun regexp-opt-group (strings &optional paren lax) "Return a regexp to match a string in the sorted list STRINGS. If PAREN non-nil, output regexp parentheses around returned regexp. @@ -248,15 +245,15 @@ Merges keywords to avoid backtracking in Emacs's regexp matcher." ;; ;; Make a character map but extract character set meta characters. (dolist (char chars) - (case char - (?\] - (setq bracket "]")) - (?^ - (setq caret "^")) - (?- - (setq dash "-")) - (otherwise - (aset charmap char t)))) + (cond + ((eq char ?\]) + (setq bracket "]")) + ((eq char ?^) + (setq caret "^")) + ((eq char ?-) + (setq dash "-")) + (t + (aset charmap char t)))) ;; ;; Make a character set from the map using ranges where applicable. (map-char-table @@ -268,14 +265,14 @@ Merges keywords to avoid backtracking in Emacs's regexp matcher." (setq charset (format "%s%c-%c" charset start end)) (while (>= end start) (setq charset (format "%s%c" charset start)) - (incf start))) + (setq start (1+ start)))) (setq start (car c) end (cdr c))) (if (= (1- c) end) (setq end c) (if (> end (+ start 2)) (setq charset (format "%s%c-%c" charset start end)) (while (>= end start) (setq charset (format "%s%c" charset start)) - (incf start))) + (setq start (1+ start)))) (setq start c end c))))) charmap) (when (>= end start) @@ -283,7 +280,7 @@ Merges keywords to avoid backtracking in Emacs's regexp matcher." (setq charset (format "%s%c-%c" charset start end)) (while (>= end start) (setq charset (format "%s%c" charset start)) - (incf start)))) + (setq start (1+ start))))) ;; ;; Make sure a caret is not first and a dash is first or last. (if (and (string-equal charset "") (string-equal bracket "")) diff --git a/lisp/emacs-lisp/smie.el b/lisp/emacs-lisp/smie.el index 2a12f03e514..cafa1942a09 100644 --- a/lisp/emacs-lisp/smie.el +++ b/lisp/emacs-lisp/smie.el @@ -1602,6 +1602,36 @@ to which that point should be aligned, if we were to reindent it.") (save-excursion (indent-line-to indent)) (indent-line-to indent))))) +(defun smie-auto-fill () + (let ((fc (current-fill-column))) + (while (and fc (> (current-column) fc)) + (cond + ((not (or (nth 8 (save-excursion + (syntax-ppss (line-beginning-position)))) + (nth 8 (syntax-ppss)))) + (save-excursion + (beginning-of-line) + (smie-indent-forward-token) + (let ((bsf (point)) + (gain 0) + curcol) + (while (<= (setq curcol (current-column)) fc) + ;; FIXME? `smie-indent-calculate' can (and often will) + ;; return a result that actually depends on the presence/absence + ;; of a newline, so the gain computed here may not be accurate, + ;; but in practice it seems to works well enough. + (let* ((newcol (smie-indent-calculate)) + (newgain (- curcol newcol))) + (when (> newgain gain) + (setq gain newgain) + (setq bsf (point)))) + (smie-indent-forward-token)) + (when (> gain 0) + (goto-char bsf) + (newline-and-indent))))) + (t (do-auto-fill)))))) + + (defun smie-setup (grammar rules-function &rest keywords) "Setup SMIE navigation and indentation. GRAMMAR is a grammar table generated by `smie-prec2->grammar'. @@ -1612,6 +1642,7 @@ KEYWORDS are additional arguments, which can use the following keywords: (set (make-local-variable 'smie-rules-function) rules-function) (set (make-local-variable 'smie-grammar) grammar) (set (make-local-variable 'indent-line-function) 'smie-indent-line) + (set (make-local-variable 'normal-auto-fill-function) 'smie-auto-fill) (set (make-local-variable 'forward-sexp-function) 'smie-forward-sexp-command) (while keywords diff --git a/lisp/emacs-lisp/timer.el b/lisp/emacs-lisp/timer.el index b6b7c266263..87b6cceb24b 100644 --- a/lisp/emacs-lisp/timer.el +++ b/lisp/emacs-lisp/timer.el @@ -241,7 +241,7 @@ and idle timers such as are scheduled by `run-with-idle-timer'." "Third-to-last timer that was run.") (defvar timer-max-repeats 10 - "*Maximum number of times to repeat a timer, if many repeats are delayed. + "Maximum number of times to repeat a timer, if many repeats are delayed. Timer invocations can be delayed because Emacs is suspended or busy, or because the system's time changes. If such an occurrence makes it appear that many invocations are overdue, this variable controls diff --git a/lisp/emacs-lock.el b/lisp/emacs-lock.el index 743b828326c..f5954564a2f 100644 --- a/lisp/emacs-lock.el +++ b/lisp/emacs-lock.el @@ -81,6 +81,13 @@ for both actions (NOT RECOMMENDED)." :group 'emacs-lock :version "24.1") +(defcustom emacs-lock-locked-buffer-functions nil + "Abnormal hook run when Emacs Lock prevents exiting Emacs, or killing a buffer. +The functions get one argument, the first locked buffer found." + :type 'hook + :group 'emacs-lock + :version "24.2") + (defvar emacs-lock-mode nil "If non-nil, the current buffer is locked. It can be one of the following values: @@ -119,40 +126,45 @@ See `emacs-lock-unlockable-modes'." (or (eq unlock 'all) (eq unlock action)))))) (defun emacs-lock--exit-locked-buffer () - "Return the name of the first exit-locked buffer found." + "Return the first exit-locked buffer found." (save-current-buffer (catch :found (dolist (buffer (buffer-list)) (set-buffer buffer) (unless (or (emacs-lock--can-auto-unlock 'exit) (memq emacs-lock-mode '(nil kill))) - (throw :found (buffer-name)))) + (throw :found buffer))) nil))) (defun emacs-lock--kill-emacs-hook () "Signal an error if any buffer is exit-locked. Used from `kill-emacs-hook' (which see)." - (let ((buffer-name (emacs-lock--exit-locked-buffer))) - (when buffer-name - (error "Emacs cannot exit because buffer %S is locked" buffer-name)))) + (let ((locked (emacs-lock--exit-locked-buffer))) + (when locked + (run-hook-with-args 'emacs-lock-locked-buffer-functions locked) + (error "Emacs cannot exit because buffer %S is locked" + (buffer-name locked))))) (defun emacs-lock--kill-emacs-query-functions () "Display a message if any buffer is exit-locked. Return a value appropriate for `kill-emacs-query-functions' (which see)." (let ((locked (emacs-lock--exit-locked-buffer))) - (or (not locked) - (progn - (message "Emacs cannot exit because buffer %S is locked" locked) - nil)))) + (if (not locked) + t + (run-hook-with-args 'emacs-lock-locked-buffer-functions locked) + (message "Emacs cannot exit because buffer %S is locked" + (buffer-name locked)) + nil))) (defun emacs-lock--kill-buffer-query-functions () "Display a message if the current buffer is kill-locked. Return a value appropriate for `kill-buffer-query-functions' (which see)." - (or (emacs-lock--can-auto-unlock 'kill) - (memq emacs-lock-mode '(nil exit)) - (progn - (message "Buffer %S is locked and cannot be killed" (buffer-name)) - nil))) + (if (or (emacs-lock--can-auto-unlock 'kill) + (memq emacs-lock-mode '(nil exit))) + t + (run-hook-with-args 'emacs-lock-locked-buffer-functions (current-buffer)) + (message "Buffer %S is locked and cannot be killed" (buffer-name)) + nil)) (defun emacs-lock--set-mode (mode arg) "Setter function for `emacs-lock-mode'." diff --git a/lisp/emulation/cua-base.el b/lisp/emulation/cua-base.el index c31f634dd5c..ba6127b4cba 100644 --- a/lisp/emulation/cua-base.el +++ b/lisp/emulation/cua-base.el @@ -1252,22 +1252,7 @@ If ARG is the atom `-', scroll upward by nearly full screen." ;; (and region not started with C-SPC). ;; If rectangle is active, expand rectangle in specified direction and ;; ignore the movement. - ((if window-system - ;; Shortcut for window-system, assuming that input-decode-map is empty. - (memq 'shift (event-modifiers - (aref (this-single-command-raw-keys) 0))) - (or - ;; Check if the final key-sequence was shifted. - (memq 'shift (event-modifiers - (aref (this-single-command-keys) 0))) - ;; If not, maybe the raw key-sequence was mapped by input-decode-map - ;; to a shifted key (and then mapped down to its unshifted form). - (let* ((keys (this-single-command-raw-keys)) - (ev (lookup-key input-decode-map keys))) - (or (and (vector ev) (memq 'shift (event-modifiers (aref ev 0)))) - ;; Or maybe, the raw key-sequence was not an escape sequence - ;; and was shifted (and then mapped down to its unshifted form). - (memq 'shift (event-modifiers (aref keys 0))))))) + (this-command-keys-shift-translated (unless mark-active (push-mark-command nil t)) (setq cua--last-region-shifted t) diff --git a/lisp/emulation/cua-rect.el b/lisp/emulation/cua-rect.el index e3aade760dc..4286afba938 100644 --- a/lisp/emulation/cua-rect.el +++ b/lisp/emulation/cua-rect.el @@ -465,7 +465,7 @@ If command is repeated at same position, delete the rectangle." (cua-copy-rectangle arg) (setq cua--mouse-last-pos (cons (point) cua--last-killed-rectangle))))) -(defun cua--mouse-ignore (event) +(defun cua--mouse-ignore (_event) (interactive "e") (setq this-command last-command)) @@ -609,12 +609,12 @@ If command is repeated at same position, delete the rectangle." (let ((lines 0)) (if (not (cua--rectangle-virtual-edges)) (cua--rectangle-operation nil nil t 2 t - (lambda (s e l r v) + (lambda (s e _l _r _v) (setq lines (1+ lines)) (if (and (> e s) (<= e (point-max))) (delete-region s e)))) (cua--rectangle-operation nil 1 t nil t - (lambda (s e l r v) + (lambda (s e _l _r _v) (setq lines (1+ lines)) (when (and (> e s) (<= e (point-max))) (delete-region s e))))) @@ -624,10 +624,10 @@ If command is repeated at same position, delete the rectangle." (let (rect) (if (not (cua--rectangle-virtual-edges)) (cua--rectangle-operation nil nil nil nil nil ; do not tabify - (lambda (s e l r) + (lambda (s e _l _r) (setq rect (cons (cua--filter-buffer-noprops s e) rect)))) (cua--rectangle-operation nil 1 nil nil nil ; do not tabify - (lambda (s e l r v) + (lambda (s e l r _v) (let ((copy t) (bs 0) (as 0) row) (if (= s e) (setq e (1+ e))) (goto-char s) @@ -840,7 +840,7 @@ If command is repeated at same position, delete the rectangle." (pad (cua--rectangle-virtual-edges)) indent) (cua--rectangle-operation (if clear 'clear 'corners) nil t pad nil - (lambda (s e l r) + (lambda (_s _e l _r) (move-to-column col pad) (if (and (eolp) (< (current-column) col)) @@ -905,10 +905,10 @@ With prefix argument, activate previous rectangle if possible." (cua-help-for-region t)))) (defun cua-restrict-regexp-rectangle (arg) - "Restrict rectangle to lines (not) matching REGEXP. -With prefix argument, the toggle restriction." + "Restrict rectangle to lines (not) matching regexp. +With prefix argument, toggle restriction." (interactive "P") - (let ((r (cua--rectangle-restriction)) regexp) + (let ((r (cua--rectangle-restriction))) (if (and r (null (car (cdr r)))) (if arg (cua--rectangle-restriction (car r) nil (not (car (cdr (cdr r))))) @@ -919,9 +919,9 @@ With prefix argument, the toggle restriction." (defun cua-restrict-prefix-rectangle (arg) "Restrict rectangle to lines (not) starting with CHAR. -With prefix argument, the toggle restriction." +With prefix argument, toggle restriction." (interactive "P") - (let ((r (cua--rectangle-restriction)) regexp) + (let ((r (cua--rectangle-restriction))) (if (and r (car (cdr r))) (if arg (cua--rectangle-restriction (car r) t (not (car (cdr (cdr r))))) @@ -1000,7 +1000,7 @@ The text previously in the region is not overwritten by the blanks, but instead winds up to the right of the rectangle." (interactive) (cua--rectangle-operation 'corners nil t 1 nil - (lambda (s e l r) + (lambda (_s _e l r) (skip-chars-forward " \t") (let ((ws (- (current-column) l)) (p (point))) @@ -1015,7 +1015,7 @@ at that column is deleted. With prefix arg, also delete whitespace to the left of that column." (interactive "P") (cua--rectangle-operation 'clear nil t 1 nil - (lambda (s e l r) + (lambda (s _e _l _r) (when arg (skip-syntax-backward " " (line-beginning-position)) (setq s (point))) @@ -1027,7 +1027,7 @@ With prefix arg, also delete whitespace to the left of that column." The text previously in the rectangle is overwritten by the blanks." (interactive) (cua--rectangle-operation 'keep nil nil 1 nil - (lambda (s e l r) + (lambda (s e _l _r) (goto-char e) (skip-syntax-forward " " (line-end-position)) (setq e (point)) @@ -1040,20 +1040,19 @@ The text previously in the rectangle is overwritten by the blanks." (defun cua-align-rectangle () "Align rectangle lines to left column." (interactive) - (let (x) - (cua--rectangle-operation 'clear nil t t nil - (lambda (s e l r) - (let ((b (line-beginning-position))) - (skip-syntax-backward "^ " b) - (skip-syntax-backward " " b) - (setq s (point))) - (skip-syntax-forward " " (line-end-position)) - (delete-region s (point)) - (indent-to l)) - (lambda (l r) - (move-to-column l) - ;; (setq cua-save-point (point)) - )))) + (cua--rectangle-operation 'clear nil t t nil + (lambda (s _e l _r) + (let ((b (line-beginning-position))) + (skip-syntax-backward "^ " b) + (skip-syntax-backward " " b) + (setq s (point))) + (skip-syntax-forward " " (line-end-position)) + (delete-region s (point)) + (indent-to l)) + (lambda (l _r) + (move-to-column l) + ;; (setq cua-save-point (point)) + ))) (declare-function cua--cut-rectangle-to-global-mark "cua-gmrk" (as-text)) (declare-function cua--copy-rectangle-to-global-mark "cua-gmrk" (as-text)) @@ -1087,7 +1086,7 @@ The text previously in the rectangle is overwritten by the blanks." The length of STRING need not be the same as the rectangle width." (interactive "sString rectangle: ") (cua--rectangle-operation 'keep nil t t nil - (lambda (s e l r) + (lambda (s e l _r) (delete-region s e) (skip-chars-forward " \t") (let ((ws (- (current-column) l))) @@ -1095,7 +1094,7 @@ The length of STRING need not be the same as the rectangle width." (insert string) (indent-to (+ (current-column) ws)))) (unless (cua--rectangle-restriction) - (lambda (l r) + (lambda (l _r) (cua--rectangle-right (max l (+ l (length string) -1))))))) (defun cua-fill-char-rectangle (character) @@ -1113,7 +1112,7 @@ The length of STRING need not be the same as the rectangle width." (if buffer-read-only (message "Cannot replace in read-only buffer") (cua--rectangle-operation 'keep nil t 1 nil - (lambda (s e l r) + (lambda (_s e _l _r) (if (re-search-forward regexp e t) (replace-match newtext nil nil)))))) @@ -1121,7 +1120,7 @@ The length of STRING need not be the same as the rectangle width." "Increment each line of CUA rectangle by prefix amount." (interactive "p") (cua--rectangle-operation 'keep nil t 1 nil - (lambda (s e l r) + (lambda (_s e _l _r) (cond ((re-search-forward "0x\\([0-9a-fA-F]+\\)" e t) (let* ((txt (cua--filter-buffer-noprops (match-beginning 1) (match-end 1))) @@ -1154,14 +1153,14 @@ The numbers are formatted according to the FORMAT string." (setq format cua--rectangle-seq-format) (setq cua--rectangle-seq-format format)) (cua--rectangle-operation 'clear nil t 1 nil - (lambda (s e l r) + (lambda (s e _l _r) (delete-region s e) (insert (format format first)) (setq first (+ first incr))))) (defmacro cua--convert-rectangle-as (command tabify) `(cua--rectangle-operation 'clear nil nil nil ,tabify - (lambda (s e l r) + (lambda (s e _l _r) (,command s e)))) (defun cua-upcase-rectangle () @@ -1218,7 +1217,7 @@ The numbers are formatted according to the FORMAT string." (if cua--debug (print z auxbuf)) (cua--rectangle-operation nil nil t pad nil - (lambda (s e l r) + (lambda (s e l _r) (let (cc) (goto-char e) (skip-chars-forward " \t") @@ -1249,7 +1248,7 @@ The numbers are formatted according to the FORMAT string." (put 'cua--rectangle-aux-replace 'lisp-indent-function 4) -(defun cua--left-fill-rectangle (start end) +(defun cua--left-fill-rectangle (_start _end) (beginning-of-line) (while (< (point) (point-max)) (delete-horizontal-space nil) @@ -1298,7 +1297,7 @@ With prefix arg, replace rectangle with output from command." "Remove the first line of the rectangle and scroll remaining lines up." (interactive) (cua--rectangle-aux-replace 0 t t t t - (lambda (s e) + (lambda (s _e) (if (= (forward-line 1) 0) (delete-region s (point)))))) @@ -1307,7 +1306,7 @@ With prefix arg, replace rectangle with output from command." The remaining lines are scrolled down, losing the last line." (interactive) (cua--rectangle-aux-replace 0 t t t t - (lambda (s e) + (lambda (s _e) (goto-char s) (insert "\n")))) @@ -1337,7 +1336,7 @@ With prefix arg, indent to that column." (pad (cua--rectangle-virtual-edges)) indent) (cua--rectangle-operation 'corners nil t pad nil - (lambda (s e l r) + (lambda (_s _e l r) (move-to-column (if (cua--rectangle-right-side t) (max (1+ r) col) l) diff --git a/lisp/emulation/viper-cmd.el b/lisp/emulation/viper-cmd.el index 68f40349454..111ce34dc1a 100644 --- a/lisp/emulation/viper-cmd.el +++ b/lisp/emulation/viper-cmd.el @@ -2119,7 +2119,7 @@ Undo previous insertion and inserts new." (defcustom viper-smart-suffix-list '("" "tex" "c" "cc" "C" "java" "el" "html" "htm" "xml" "pl" "flr" "P" "p" "h" "H") - "*List of suffixes that Viper tries to append to filenames ending with a `.'. + "List of suffixes that Viper tries to append to filenames ending with a `.'. This is useful when the current directory contains files with the same prefix and many different suffixes. Usually, only one of the suffixes represents an editable file. However, file completion will stop at the `.' diff --git a/lisp/emulation/viper-ex.el b/lisp/emulation/viper-ex.el index 3d538f1bd0d..acaedde3004 100644 --- a/lisp/emulation/viper-ex.el +++ b/lisp/emulation/viper-ex.el @@ -368,14 +368,14 @@ corresponding function symbol." (defvar viper-keep-reading-filename nil) (defcustom ex-cycle-other-window t - "*If t, :n and :b cycles through files and buffers in other window. + "If t, :n and :b cycles through files and buffers in other window. Then :N and :B cycles in the current window. If nil, this behavior is reversed." :type 'boolean :group 'viper-ex) (defcustom ex-cycle-through-non-files nil - "*Cycle through *scratch* and other buffers that don't visit any file." + "Cycle through *scratch* and other buffers that don't visit any file." :type 'boolean :group 'viper-ex) diff --git a/lisp/emulation/viper-init.el b/lisp/emulation/viper-init.el index f8ab5a1f805..76a8c410676 100644 --- a/lisp/emulation/viper-init.el +++ b/lisp/emulation/viper-init.el @@ -372,7 +372,7 @@ Use `M-x viper-set-expert-level' to change this.") (defconst viper-buffer-undo-list-mark 'viper) (defcustom viper-keep-point-on-undo nil - "*Non-nil means not to move point while undoing commands. + "Non-nil means not to move point while undoing commands. This style is different from Emacs and Vi. Try it to see if it better fits your working style." :type 'boolean @@ -403,7 +403,7 @@ delete the text being replaced, as in standard Vi." :group 'viper) (defcustom viper-replace-overlay-cursor-color "Red" - "*Cursor color when Viper is in Replace state." + "Cursor color when Viper is in Replace state." :type 'string :group 'viper) @@ -450,7 +450,7 @@ is non-nil." (defcustom viper-use-replace-region-delimiters (or (not (viper-has-face-support-p)) (and (featurep 'xemacs) (eq (viper-device-type) 'tty))) - "*If non-nil, Viper will always use `viper-replace-region-end-delimiter' and + "If non-nil, Viper will always use `viper-replace-region-end-delimiter' and `viper-replace-region-start-delimiter' to delimit replacement regions, even on color displays. By default, the delimiters are used only on TTYs." :type 'boolean @@ -519,7 +519,7 @@ text." ;; Fast keyseq and ESC keyseq timeouts (defcustom viper-fast-keyseq-timeout 200 - "*Key sequence separated by no more than this many milliseconds is viewed as a Vi-style macro, if such a macro is defined. + "Key sequence separated by no more than this many milliseconds is viewed as a Vi-style macro, if such a macro is defined. Setting this too high may slow down your typing. Setting this value too low will make it hard to use Vi-style timeout macros." :type 'integer @@ -549,14 +549,14 @@ will make it hard to use Vi-style timeout macros." (viper-deflocalvar viper-auto-indent nil "") (defcustom viper-auto-indent nil - "*Enable autoindent, if t. + "Enable autoindent, if t. This is a buffer-local variable." :type 'boolean :group 'viper) (viper-deflocalvar viper-electric-mode t "") (defcustom viper-electric-mode t - "*If t, electrify Viper. + "If t, electrify Viper. Currently, this only electrifies auto-indentation, making it appropriate to the mode of the buffer. This means that auto-indentation will depart from standard Vi and will indent @@ -566,7 +566,7 @@ programs and LaTeX documents." :group 'viper) (defcustom viper-shift-width 8 - "*The value of the shiftwidth. + "The value of the shiftwidth. This determines the number of columns by which the Ctl-t moves the cursor in the Insert state." :type 'integer @@ -575,7 +575,7 @@ the Insert state." ;; Variables for repeating destructive commands (defcustom viper-keep-point-on-repeat t - "*If t, don't move point when repeating previous command. + "If t, don't move point when repeating previous command. This is useful for doing repeated changes with the '.' key. The user can change this to nil, if she likes when the cursor moves to a new place after repeating previous Vi command." @@ -668,18 +668,18 @@ to a new place after repeating previous Vi command." (defvar viper-s-forward nil) (defcustom viper-case-fold-search nil - "*If not nil, search ignores cases." + "If not nil, search ignores cases." :type 'boolean :group 'viper-search) (defcustom viper-re-search t - "*If not nil, search is regexp search, otherwise vanilla search." + "If not nil, search is regexp search, otherwise vanilla search." :type 'boolean :tag "Regexp Search" :group 'viper-search) (defcustom viper-search-scroll-threshold 2 - "*If search lands within this threshold from the window top/bottom, + "If search lands within this threshold from the window top/bottom, the window will be scrolled up or down appropriately, to reveal context. If you want Viper search to behave as usual in Vi, set this variable to a negative number." @@ -687,32 +687,32 @@ negative number." :group 'viper-search) (defcustom viper-re-query-replace t - "*If t then do regexp replace, if nil then do string replace." + "If t then do regexp replace, if nil then do string replace." :type 'boolean :tag "Regexp Query Replace" :group 'viper-search) (defcustom viper-re-replace t - "*If t, do regexp replace. nil means do string replace." + "If t, do regexp replace. nil means do string replace." :type 'boolean :tag "Regexp Replace" :group 'viper-search) (defcustom viper-parse-sexp-ignore-comments t - "*If t, `%' ignores the parentheses that occur inside comments." + "If t, `%' ignores the parentheses that occur inside comments." :type 'boolean :group 'viper) (viper-deflocalvar viper-ex-style-motion t "") (defcustom viper-ex-style-motion t - "*If t, the commands l,h do not cross lines, etc (Ex-style). + "If t, the commands l,h do not cross lines, etc (Ex-style). If nil, these commands cross line boundaries." :type 'boolean :group 'viper) (viper-deflocalvar viper-ex-style-editing t "") (defcustom viper-ex-style-editing t - "*If t, Ex-style behavior while editing in Vi command and insert states. + "If t, Ex-style behavior while editing in Vi command and insert states. `Backspace' and `Delete' don't cross line boundaries in insert. `X' and `x' can't delete characters across line boundary in Vi, etc. Note: this doesn't preclude `Backspace' and `Delete' from deleting characters @@ -724,32 +724,32 @@ If nil, the above commands can work across lines." (viper-deflocalvar viper-ESC-moves-cursor-back viper-ex-style-editing "") (defcustom viper-ESC-moves-cursor-back nil - "*If t, ESC moves cursor back when changing from insert to vi state. + "If t, ESC moves cursor back when changing from insert to vi state. If nil, the cursor stays where it was when ESC was hit." :type 'boolean :group 'viper) (viper-deflocalvar viper-delete-backwards-in-replace nil "") (defcustom viper-delete-backwards-in-replace nil - "*If t, DEL key will delete characters while moving the cursor backwards. + "If t, DEL key will delete characters while moving the cursor backwards. If nil, the cursor will move backwards without deleting anything." :type 'boolean :group 'viper) (defcustom viper-buffer-search-char nil - "*Key used for buffer-searching. Must be a character type, e.g., ?g." + "Key used for buffer-searching. Must be a character type, e.g., ?g." :type '(choice (const nil) character) :group 'viper-search) (defcustom viper-search-wrap-around t - "*If t, search wraps around." + "If t, search wraps around." :type 'boolean :tag "Search Wraps Around" :group 'viper-search) (viper-deflocalvar viper-related-files-and-buffers-ring nil "") (defcustom viper-related-files-and-buffers-ring nil - "*List of file and buffer names that are considered to be related to the current buffer. + "List of file and buffer names that are considered to be related to the current buffer. Related buffers can be cycled through via :R and :P commands." :type 'boolean :group 'viper-misc) @@ -771,7 +771,7 @@ Related buffers can be cycled through via :R and :P commands." "^\\\\[sb][a-z]*{.*}\\s-*$\\|" ; latex "^@node\\|@table\\|^@m?enu\\|^@itemize\\|^@if\\|" ; texinfo "^.+:-") ; prolog - "*Regexps for Headings. Used by \[\[ and \]\].") + "Regexps for Headings. Used by \[\[ and \]\].") (defvar viper-heading-end (concat "^}\\|" ; C/C++ @@ -826,7 +826,7 @@ Related buffers can be cycled through via :R and :P commands." (defface viper-search '((((class color)) (:foreground "Black" :background "khaki")) (t (:underline t :stipple "gray3"))) - "*Face used to flash out the search pattern." + "Face used to flash out the search pattern." :group 'viper-highlighting) ;; An internal variable. Viper takes the face from here. (defvar viper-search-face 'viper-search @@ -838,7 +838,7 @@ this variable represents.") (defface viper-replace-overlay '((((class color)) (:foreground "Black" :background "darkseagreen2")) (t (:underline t :stipple "gray3"))) - "*Face for highlighting replace regions on a window display." + "Face for highlighting replace regions on a window display." :group 'viper-highlighting) ;; An internal variable. Viper takes the face from here. (defvar viper-replace-overlay-face 'viper-replace-overlay @@ -946,19 +946,19 @@ Should be set in `~/.viper' file." :group 'viper) (defcustom viper-vi-state-hook 'viper-restore-cursor-type - "*Hooks run just before the switch to Vi mode is completed." + "Hooks run just before the switch to Vi mode is completed." :type 'hook :group 'viper-hooks) (defcustom viper-insert-state-hook 'viper-set-insert-cursor-type - "*Hooks run just before the switch to Insert mode is completed." + "Hooks run just before the switch to Insert mode is completed." :type 'hook :group 'viper-hooks) (defcustom viper-replace-state-hook 'viper-restore-cursor-type - "*Hooks run just before the switch to Replace mode is completed." + "Hooks run just before the switch to Replace mode is completed." :type 'hook :group 'viper-hooks) (defcustom viper-emacs-state-hook 'viper-restore-cursor-type - "*Hooks run just before the switch to Emacs mode is completed." + "Hooks run just before the switch to Emacs mode is completed." :type 'hook :group 'viper-hooks) @@ -980,7 +980,7 @@ Should be set in `~/.viper' file." (setq cursor-type '(bar . 2)))) (defun viper-ESC-keyseq-timeout () - "*Key sequence beginning with ESC and separated by no more than this many milliseconds is considered to be generated by a keyboard function key. + "Key sequence beginning with ESC and separated by no more than this many milliseconds is considered to be generated by a keyboard function key. Setting this too high may slow down switching from insert to vi state. Setting this value too low will make it impossible to use function keys in insert mode on a dumb terminal." diff --git a/lisp/emulation/viper-keym.el b/lisp/emulation/viper-keym.el index 65638dfff3c..ad1e32b5546 100644 --- a/lisp/emulation/viper-keym.el +++ b/lisp/emulation/viper-keym.el @@ -48,19 +48,19 @@ ;;; Emacs keys in other states. (defcustom viper-want-emacs-keys-in-insert t - "*Set to nil if you want complete Vi compatibility in insert mode. + "Set to nil if you want complete Vi compatibility in insert mode. Complete compatibility with Vi is not recommended for power use of Viper." :type 'boolean :group 'viper) (defcustom viper-want-emacs-keys-in-vi t - "*Set to nil if you want complete Vi compatibility in Vi mode. + "Set to nil if you want complete Vi compatibility in Vi mode. Full Vi compatibility is not recommended for power use of Viper." :type 'boolean :group 'viper) (defcustom viper-no-multiple-ESC t - "*If true, multiple ESC in Vi mode will cause bell to ring. + "If true, multiple ESC in Vi mode will cause bell to ring. This is set to t on a windowing terminal and to 'twice on a dumb terminal (unless the user level is 1, 2, or 5). On a dumb terminal, this enables cursor keys and is generally more convenient, as terminals usually @@ -71,7 +71,7 @@ as is allowed by the major mode in effect." :group 'viper) (defcustom viper-want-ctl-h-help nil - "*If non-nil, C-h gets bound to help-command; otherwise, C-h gets the usual Vi bindings." + "If non-nil, C-h gets bound to help-command; otherwise, C-h gets the usual Vi bindings." :type 'boolean :group 'viper) diff --git a/lisp/emulation/viper-mous.el b/lisp/emulation/viper-mous.el index 58d8fb45b92..eda1a7ec937 100644 --- a/lisp/emulation/viper-mous.el +++ b/lisp/emulation/viper-mous.el @@ -63,7 +63,7 @@ (defvar viper-current-frame-saved (selected-frame)) (defcustom viper-surrounding-word-function 'viper-surrounding-word - "*Function that determines what constitutes a word for clicking events. + "Function that determines what constitutes a word for clicking events. Takes two parameters: a COUNT, indicating how many words to return, and CLICK-COUNT, telling whether this is the first click, a double-click, or a triple-click." @@ -77,7 +77,7 @@ or a triple-click." mouse-track-multi-click-time double-click-time) 500) - "*Time interval in millisecond within which successive mouse clicks are + "Time interval in millisecond within which successive mouse clicks are considered related." :type 'integer :group 'viper-mouse) @@ -624,7 +624,7 @@ bindings in the Viper manual." (defcustom viper-mouse-search-key '(meta shift 1) - "*Key used to click-search in Viper. + "Key used to click-search in Viper. This must be a list that specifies the mouse button and modifiers. The supported modifiers are `meta', `shift', and `control'. For instance, `(meta shift 1)' means that holding the meta and shift @@ -640,7 +640,7 @@ This buffer may be different from the one where the click occurred." :group 'viper-mouse) (defcustom viper-mouse-insert-key '(meta shift 2) - "*Key used to click-insert in Viper. + "Key used to click-insert in Viper. Must be a list that specifies the mouse button and modifiers. The supported modifiers are `meta', `shift', and `control'. For instance, `(meta shift 2)' means that holding the meta and shift keys diff --git a/lisp/emulation/viper-util.el b/lisp/emulation/viper-util.el index cdeef733bc5..4afa379f389 100644 --- a/lisp/emulation/viper-util.el +++ b/lisp/emulation/viper-util.el @@ -1323,7 +1323,7 @@ sets the default value." (viper-update-syntax-classes)) (defcustom viper-syntax-preference 'reformed-vi - "*Syntax type characterizing Viper's alphanumeric symbols. + "Syntax type characterizing Viper's alphanumeric symbols. Affects movement and change commands that deal with Vi-style words. Works best when set in the hooks to various major modes. diff --git a/lisp/emulation/viper.el b/lisp/emulation/viper.el index 12c186e234e..9cf6c91265e 100644 --- a/lisp/emulation/viper.el +++ b/lisp/emulation/viper.el @@ -435,7 +435,7 @@ widget." view-mode vm-mode vm-summary-mode) - "*A list of major modes that should come up in Emacs state. + "A list of major modes that should come up in Emacs state. Normally, Viper would bring buffers up in Emacs state, unless the corresponding major mode has been placed on `viper-vi-state-mode-list' or `viper-insert-state-mode-list'. So, don't place a new mode on this list, @@ -451,7 +451,7 @@ unless it is coming up in a wrong Viper state." erc-mode eshell-mode shell-mode) - "*A list of major modes that should come up in Vi Insert state." + "A list of major modes that should come up in Vi Insert state." :type '(repeat symbol) :group 'viper-misc) diff --git a/lisp/epa.el b/lisp/epa.el index 3b9933f6984..58f4026a773 100644 --- a/lisp/epa.el +++ b/lisp/epa.el @@ -177,18 +177,18 @@ the separate window." (20 . ?G))) (defvar epa-protocol 'OpenPGP - "*The default protocol. + "The default protocol. The value can be either OpenPGP or CMS. You should bind this variable with `let', but do not set it globally.") (defvar epa-armor nil - "*If non-nil, epa commands create ASCII armored output. + "If non-nil, epa commands create ASCII armored output. You should bind this variable with `let', but do not set it globally.") (defvar epa-textmode nil - "*If non-nil, epa commands treat input files as text. + "If non-nil, epa commands treat input files as text. You should bind this variable with `let', but do not set it globally.") diff --git a/lisp/erc/ChangeLog b/lisp/erc/ChangeLog index af853c4e230..06c6d42ed39 100644 --- a/lisp/erc/ChangeLog +++ b/lisp/erc/ChangeLog @@ -1,3 +1,28 @@ +2012-04-11 Vivek Dasmohapatra <vivek@etla.org> + + * erc-services.el (erc-nickserv-passwords): Don't display the + password (bug#4459). + +2012-04-10 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * erc-join.el (erc-server-join-channel): New function to look up + the channel password via auth-source. + (erc-autojoin-channels): Use it. + (erc-autojoin-after-ident): Ditto. + (erc-autojoin-channels-alist): Mention auth-source. + +2012-04-10 Deniz Dogan <deniz@dogan.se> (tiny change) + + * erc.el (erc-display-prompt): Adds the field text property to the + ERC prompt. This allows users to use `kill-whole-line' to kill + all text back to the prompt given that it's on a single line + (bug#10841). + +2012-04-09 Chong Yidong <cyd@gnu.org> + + * erc.el (erc-cmd-SET): Call custom-variable-p instead of + user-variable-p. + 2012-02-08 Glenn Morris <rgm@gnu.org> * erc-backend.el (erc-coding-system-precedence): diff --git a/lisp/erc/erc-autoaway.el b/lisp/erc/erc-autoaway.el index 699c4e20552..ab429a12589 100644 --- a/lisp/erc/erc-autoaway.el +++ b/lisp/erc/erc-autoaway.el @@ -138,7 +138,7 @@ Related variables: `erc-public-away-p' and `erc-away-nickname'." (remove-hook 'erc-server-305-functions 'erc-autoaway-reset-indicators)))) (defcustom erc-autoaway-idle-method 'user - "*The method used to determine how long you have been idle. + "The method used to determine how long you have been idle. If 'user, the time of the last command sent to Emacs is used. If 'emacs, the idle time in Emacs is used. If 'irc, the time of the last IRC command is used. @@ -160,7 +160,7 @@ definitions of being idle." (set sym val)))) (defcustom erc-auto-set-away t - "*If non-nil, set away after `erc-autoaway-idle-seconds' seconds of idling. + "If non-nil, set away after `erc-autoaway-idle-seconds' seconds of idling. ERC autoaway mode can set you away when you idle, and set you no longer away when you type something. This variable controls whether you will be set away when you idle. See `erc-auto-discard-away' for @@ -169,7 +169,7 @@ the other half." :type 'boolean) (defcustom erc-auto-discard-away t - "*If non-nil, sending anything when away automatically discards away state. + "If non-nil, sending anything when away automatically discards away state. ERC autoaway mode can set you away when you idle, and set you no longer away when you type something. This variable controls whether you will be set no longer away when you type something. See @@ -179,13 +179,13 @@ See also `erc-autoaway-no-auto-discard-regexp'." :type 'boolean) (defcustom erc-autoaway-no-auto-discard-regexp "^/g?away.*$" - "*Input that matches this will not automatically discard away status. + "Input that matches this will not automatically discard away status. See `erc-auto-discard-away'." :group 'erc-autoaway :type 'regexp) (defcustom erc-autoaway-idle-seconds 1800 - "*Number of seconds after which ERC will set you automatically away. + "Number of seconds after which ERC will set you automatically away. If you are changing this variable using lisp instead of customizing it, you have to run `erc-autoaway-reestablish-idletimer' afterwards." :group 'erc-autoaway @@ -197,7 +197,7 @@ you have to run `erc-autoaway-reestablish-idletimer' afterwards." (defcustom erc-autoaway-message "I'm gone (autoaway after %i seconds of idletime)" - "*Message ERC will use when setting you automatically away. + "Message ERC will use when setting you automatically away. It is used as a `format' string with the argument of the idletime in seconds." :group 'erc-autoaway diff --git a/lisp/erc/erc-backend.el b/lisp/erc/erc-backend.el index 7bc56584eaf..62f524ed001 100644 --- a/lisp/erc/erc-backend.el +++ b/lisp/erc/erc-backend.el @@ -311,7 +311,7 @@ If a key is pressed while ERC is waiting, it will stop waiting." :type 'number) (defcustom erc-split-line-length 440 - "*The maximum length of a single message. + "The maximum length of a single message. If a message exceeds this size, it is broken into multiple ones. IRC allows for lines up to 512 bytes. Two of them are CR LF. @@ -379,14 +379,14 @@ It should take same arguments as `open-network-stream' does." :type 'function) (defcustom erc-server-prevent-duplicates '("301") - "*Either nil or a list of strings. + "Either nil or a list of strings. Each string is a IRC message type, like PRIVMSG or NOTICE. All Message types in that list of subjected to duplicate prevention." :type '(choice (const nil) (list string)) :group 'erc-server) (defcustom erc-server-duplicate-timeout 60 - "*The time allowed in seconds between duplicate messages. + "The time allowed in seconds between duplicate messages. If two identical messages arrive within this value of one another, the second isn't displayed." @@ -399,7 +399,7 @@ isn't displayed." ;; (http://www.nongnu.org/circe) (defcustom erc-server-flood-margin 10 - "*A margin on how much excess data we send. + "A margin on how much excess data we send. The flood protection algorithm of ERC works like the one detailed in RFC 2813, section 5.8 \"Flood control of clients\". @@ -423,14 +423,14 @@ protection algorithm." ;; Ping handling (defcustom erc-server-send-ping-interval 30 - "*Interval of sending pings to the server, in seconds. + "Interval of sending pings to the server, in seconds. If this is set to nil, pinging the server is disabled." :group 'erc-server :type '(choice (const :tag "Disabled" nil) (integer :tag "Seconds"))) (defcustom erc-server-send-ping-timeout 120 - "*If the time between ping and response is greater than this, reconnect. + "If the time between ping and response is greater than this, reconnect. The time is in seconds. This must be greater than or equal to the value for diff --git a/lisp/erc/erc-button.el b/lisp/erc/erc-button.el index 17b8c457f38..727e3de58e8 100644 --- a/lisp/erc/erc-button.el +++ b/lisp/erc/erc-button.el @@ -115,13 +115,13 @@ longer than `erc-fill-column'." :type 'boolean) (defcustom erc-button-rfc-url "http://www.faqs.org/rfcs/rfc%s.html" - "*URL used to browse rfc references. + "URL used to browse rfc references. %s is replaced by the number." :group 'erc-button :type 'string) (defcustom erc-button-google-url "http://www.google.com/search?q=%s" - "*URL used to browse Google search references. + "URL used to browse Google search references. %s is replaced by the search string." :group 'erc-button :type 'string) @@ -155,7 +155,7 @@ longer than `erc-fill-column'." 1) ;; other ("\\s-\\(@\\([0-9][0-9][0-9]\\)\\)" 1 t erc-button-beats-to-time 2)) - "*Alist of regexps matching buttons in ERC buffers. + "Alist of regexps matching buttons in ERC buffers. Each entry has the form (REGEXP BUTTON FORM CALLBACK PAR...), where REGEXP is the string matching text around the button or a symbol @@ -198,12 +198,12 @@ PAR is a number of a regexp grouping whose text will be passed to (integer :tag "Regexp section number"))))) (defcustom erc-emacswiki-url "http://www.emacswiki.org/cgi-bin/wiki.pl?" - "*URL of the EmacsWiki Homepage." + "URL of the EmacsWiki Homepage." :group 'erc-button :type 'string) (defcustom erc-emacswiki-lisp-url "http://www.emacswiki.org/elisp/" - "*URL of the EmacsWiki ELisp area." + "URL of the EmacsWiki ELisp area." :group 'erc-button :type 'string) @@ -488,7 +488,7 @@ For use on `completion-at-point-functions'." ("Query" . (erc-cmd-QUERY nick)) ("Whois" . (erc-cmd-WHOIS nick)) ("Lastlog" . (erc-cmd-LASTLOG nick))) - "*An alist of possible actions to take on a nickname. + "An alist of possible actions to take on a nickname. An entry looks like (\"Action\" . SEXP) where SEXP is evaluated with the variable `nick' bound to the nick in question. diff --git a/lisp/erc/erc-dcc.el b/lisp/erc/erc-dcc.el index f68b3591fbb..ba87cf63993 100644 --- a/lisp/erc/erc-dcc.el +++ b/lisp/erc/erc-dcc.el @@ -75,7 +75,7 @@ IRC users." :group 'erc) (defcustom erc-dcc-verbose nil - "*If non-nil, be verbose about DCC activity reporting." + "If non-nil, be verbose about DCC activity reporting." :group 'erc-dcc :type 'boolean) @@ -316,7 +316,7 @@ Should be set to a string or nil. If nil, use the value of :valid-regexp erc-dcc-ipv4-regexp))) (defcustom erc-dcc-send-request 'ask - "*How to treat incoming DCC Send requests. + "How to treat incoming DCC Send requests. 'ask - Report the Send request, and wait for the user to manually accept it You might want to set `erc-dcc-auto-masks' for this. 'auto - Automatically accept the request and begin downloading the file @@ -405,7 +405,7 @@ the accepted connection." ;;; Interactive command handling (defcustom erc-dcc-get-default-directory nil - "*Default directory for incoming DCC file transfers. + "Default directory for incoming DCC file transfers. If this is nil, then the current value of `default-directory' is used." :group 'erc-dcc :type '(choice (const nil :tag "Default directory") directory)) @@ -719,7 +719,7 @@ match, returns that regexp and nil otherwise." "^DCC CHAT +chat +\\([0-9]+\\) +\\([0-9]+\\)") (defcustom erc-dcc-chat-request 'ask - "*How to treat incoming DCC Chat requests. + "How to treat incoming DCC Chat requests. 'ask - Report the Chat request, and wait for the user to manually accept it 'auto - Automatically accept the request and open a new chat window 'ignore - Ignore incoming DCC chat requests completely." @@ -777,12 +777,12 @@ match, returns that regexp and nil otherwise." ;;; SEND handling (defcustom erc-dcc-block-size 1024 - "*Block size to use for DCC SEND sessions." + "Block size to use for DCC SEND sessions." :group 'erc-dcc :type 'integer) (defcustom erc-dcc-pump-bytes nil - "*If set to an integer, keep sending until that number of bytes are + "If set to an integer, keep sending until that number of bytes are unconfirmed." :group 'erc-dcc :type '(choice (const nil) integer)) @@ -856,7 +856,7 @@ bytes sent." (defcustom erc-dcc-send-connect-hook '(erc-dcc-display-send erc-dcc-send-block) - "*Hook run whenever the remote end of a DCC SEND offer connected to your + "Hook run whenever the remote end of a DCC SEND offer connected to your listening port." :group 'erc-dcc :type 'hook) @@ -1046,12 +1046,12 @@ transfer is complete." ;;; CHAT handling (defcustom erc-dcc-chat-buffer-name-format "DCC-CHAT-%s" - "*Format to use for DCC Chat buffer names." + "Format to use for DCC Chat buffer names." :group 'erc-dcc :type 'string) (defcustom erc-dcc-chat-mode-hook nil - "*Hook calls when `erc-dcc-chat-mode' finished setting up the buffer." + "Hook calls when `erc-dcc-chat-mode' finished setting up the buffer." :group 'erc-dcc :type 'hook) @@ -1100,7 +1100,7 @@ Possible values are: ask, auto, ignore." (defalias 'pcomplete/erc-mode/SREQ 'pcomplete/erc-mode/CREQ) (defvar erc-dcc-chat-filter-hook '(erc-dcc-chat-parse-output) - "*Hook to run after doing parsing (and possible insertion) of DCC messages.") + "Hook to run after doing parsing (and possible insertion) of DCC messages.") (defvar erc-dcc-chat-mode-map (let ((map (make-sparse-keymap))) diff --git a/lisp/erc/erc-goodies.el b/lisp/erc/erc-goodies.el index bf74ed7be87..acff76beb16 100644 --- a/lisp/erc/erc-goodies.el +++ b/lisp/erc/erc-goodies.el @@ -183,7 +183,7 @@ themselves." :group 'erc) (defcustom erc-interpret-controls-p t - "*If non-nil, display IRC colors and other highlighting effects. + "If non-nil, display IRC colors and other highlighting effects. If this is set to the symbol `remove', ERC removes all IRC colors and highlighting effects. When this variable is non-nil, it can cause Emacs to run @@ -196,7 +196,7 @@ emergency (message flood) it can be turned off to save processing time. See (const :tag "Display raw control characters" nil))) (defcustom erc-interpret-mirc-color nil - "*If non-nil, ERC will interpret mIRC color codes." + "If non-nil, ERC will interpret mIRC color codes." :group 'erc-control-characters :type 'boolean) diff --git a/lisp/erc/erc-join.el b/lisp/erc/erc-join.el index da894ba5977..85d1edf6427 100644 --- a/lisp/erc/erc-join.el +++ b/lisp/erc/erc-join.el @@ -32,6 +32,7 @@ ;;; Code: (require 'erc) +(require 'auth-source) (eval-when-compile (require 'cl)) (defgroup erc-autojoin nil @@ -56,6 +57,13 @@ Every element in the alist has the form (SERVER . CHANNELS). SERVER is a regexp matching the server, and channels is the list of channels to join. +If the channel(s) require channel keys for joining, the passwords +are found via auth-source. For instance, if you use ~/.authinfo +as your auth-source backend, then put something like the +following in that file: + +machine irc.example.net login \"#fsf\" password sEcReT + Customize this variable to set the value for your first connect. Once you are connected and join and part channels, this alist keeps track of what channels you are on, and will join them @@ -131,7 +139,7 @@ This function is run from `erc-nickserv-identified-hook'." (when (string-match (car l) server) (dolist (chan (cdr l)) (unless (erc-member-ignore-case chan joined) - (erc-server-send (concat "join " chan)))))))) + (erc-server-join-channel server chan))))))) nil) (defun erc-autojoin-channels (server nick) @@ -148,10 +156,25 @@ This function is run from `erc-nickserv-identified-hook'." (dolist (l erc-autojoin-channels-alist) (when (string-match (car l) server) (dolist (chan (cdr l)) - (erc-server-send (concat "join " chan)))))) + (erc-server-join-channel server chan))))) ;; Return nil to avoid stomping on any other hook funcs. nil) +(defun erc-server-join-channel (server channel) + (let* ((secret (plist-get (nth 0 (auth-source-search + :max 1 + :host server + :port "irc" + :user channel)) + :secret)) + (password (if (functionp secret) + (funcall secret) + secret))) + (erc-server-send (concat "join " channel + (if password + (concat " " password) + ""))))) + (defun erc-autojoin-add (proc parsed) "Add the channel being joined to `erc-autojoin-channels-alist'." (let* ((chnl (erc-response.contents parsed)) diff --git a/lisp/erc/erc-log.el b/lisp/erc/erc-log.el index 9f50a1d117c..eefe51ae706 100644 --- a/lisp/erc/erc-log.el +++ b/lisp/erc/erc-log.el @@ -101,7 +101,7 @@ :group 'erc) (defcustom erc-generate-log-file-name-function 'erc-generate-log-file-name-long - "*A function to generate a log filename. + "A function to generate a log filename. The function must take five arguments: BUFFER, TARGET, NICK, SERVER and PORT. BUFFER is the buffer to be saved, TARGET is the name of the channel, or the target of the query, @@ -157,12 +157,12 @@ arguments." (const :tag "Disable logging" nil))) (defcustom erc-log-insert-log-on-open nil - "*Insert log file contents into the buffer if a log file exists." + "Insert log file contents into the buffer if a log file exists." :group 'erc-log :type 'boolean) (defcustom erc-save-buffer-on-part t - "*Save the channel buffer content using `erc-save-buffer-in-logs' on PART. + "Save the channel buffer content using `erc-save-buffer-in-logs' on PART. If you set this to nil, you may want to enable both `erc-log-write-after-send' and `erc-log-write-after-insert'." @@ -170,7 +170,7 @@ If you set this to nil, you may want to enable both :type 'boolean) (defcustom erc-save-queries-on-quit t - "*Save all query (also channel) buffers of the server on QUIT. + "Save all query (also channel) buffers of the server on QUIT. If you set this to nil, you may want to enable both `erc-log-write-after-send' and `erc-log-write-after-insert'." @@ -178,7 +178,7 @@ If you set this to nil, you may want to enable both :type 'boolean) (defcustom erc-log-write-after-send nil - "*If non-nil, write to log file after every message you send. + "If non-nil, write to log file after every message you send. If you set this to nil, you may want to enable both `erc-save-buffer-on-part' and `erc-save-queries-on-quit'." @@ -186,7 +186,7 @@ If you set this to nil, you may want to enable both :type 'boolean) (defcustom erc-log-write-after-insert nil - "*If non-nil, write to log file when new text is added to a + "If non-nil, write to log file when new text is added to a logged ERC buffer. If you set this to nil, you may want to enable both @@ -197,14 +197,14 @@ If you set this to nil, you may want to enable both (defcustom erc-log-file-coding-system (if (featurep 'xemacs) 'binary 'emacs-mule) - "*The coding system ERC should use for writing log files. + "The coding system ERC should use for writing log files. This should ideally, be a \"catch-all\" coding system, like `emacs-mule', or `iso-2022-7bit'." :group 'erc-log) (defcustom erc-log-filter-function nil - "*If non-nil, pass text through the given function before writing it to + "If non-nil, pass text through the given function before writing it to a log file. The function should take one argument, which is the text to filter." diff --git a/lisp/erc/erc-match.el b/lisp/erc/erc-match.el index 2a61247307f..dd9e02dfab5 100644 --- a/lisp/erc/erc-match.el +++ b/lisp/erc/erc-match.el @@ -83,7 +83,7 @@ Useful to mark nicks from dangerous hosts." :type '(repeat regexp)) (defcustom erc-current-nick-highlight-type 'keyword - "*Determines how to highlight text in which your current nickname appears + "Determines how to highlight text in which your current nickname appears \(does not apply to text sent by you\). The following values are allowed: @@ -105,7 +105,7 @@ Any other value disables highlighting of current nickname altogether." (const all))) (defcustom erc-pal-highlight-type 'nick - "*Determines how to highlight messages by pals. + "Determines how to highlight messages by pals. See `erc-pals'. The following values are allowed: @@ -121,7 +121,7 @@ Any other value disables pal highlighting altogether." (const all))) (defcustom erc-fool-highlight-type 'nick - "*Determines how to highlight messages by fools. + "Determines how to highlight messages by fools. See `erc-fools'. The following values are allowed: @@ -137,7 +137,7 @@ Any other value disables fool highlighting altogether." (const all))) (defcustom erc-keyword-highlight-type 'keyword - "*Determines how to highlight messages containing keywords. + "Determines how to highlight messages containing keywords. See variable `erc-keywords'. The following values are allowed: @@ -152,7 +152,7 @@ Any other value disables keyword highlighting altogether." (const all))) (defcustom erc-dangerous-host-highlight-type 'nick - "*Determines how to highlight messages by nicks from dangerous-hosts. + "Determines how to highlight messages by nicks from dangerous-hosts. See `erc-dangerous-hosts'. The following values are allowed: diff --git a/lisp/erc/erc-notify.el b/lisp/erc/erc-notify.el index d1a33405765..3bf82c13f19 100644 --- a/lisp/erc/erc-notify.el +++ b/lisp/erc/erc-notify.el @@ -40,19 +40,19 @@ :group 'erc) (defcustom erc-notify-list nil - "*List of nicknames you want to be notified about online/offline + "List of nicknames you want to be notified about online/offline status change." :group 'erc-notify :type '(repeat string)) (defcustom erc-notify-interval 60 - "*Time interval (in seconds) for checking online status of notified + "Time interval (in seconds) for checking online status of notified people." :group 'erc-notify :type 'integer) (defcustom erc-notify-signon-hook nil - "*Hook run after someone on `erc-notify-list' has signed on. + "Hook run after someone on `erc-notify-list' has signed on. Two arguments are passed to the function, SERVER and NICK, both strings." :group 'erc-notify @@ -60,7 +60,7 @@ strings." :options '(erc-notify-signon)) (defcustom erc-notify-signoff-hook nil - "*Hook run after someone on `erc-notify-list' has signed off. + "Hook run after someone on `erc-notify-list' has signed off. Two arguments are passed to the function, SERVER and NICK, both strings." :group 'erc-notify diff --git a/lisp/erc/erc-pcomplete.el b/lisp/erc/erc-pcomplete.el index ba27b0374aa..d3cbe8a5804 100644 --- a/lisp/erc/erc-pcomplete.el +++ b/lisp/erc/erc-pcomplete.el @@ -49,7 +49,7 @@ :group 'erc) (defcustom erc-pcomplete-nick-postfix ":" - "*When `pcomplete' is used in the first word after the prompt, + "When `pcomplete' is used in the first word after the prompt, add this string to nicks completed." :group 'erc-pcomplete :type 'string) diff --git a/lisp/erc/erc-services.el b/lisp/erc/erc-services.el index 66eb341b47a..5986d81efed 100644 --- a/lisp/erc/erc-services.el +++ b/lisp/erc/erc-services.el @@ -195,7 +195,8 @@ Example of use: (repeat :tag "Nickname and password" (cons :tag "Identity" (string :tag "Nick") - (string :tag "Password")))))) + (string :tag "Password" + :secret ?*)))))) ;; Variables: diff --git a/lisp/erc/erc-sound.el b/lisp/erc/erc-sound.el index 569abad2a08..8b44cb5146c 100644 --- a/lisp/erc/erc-sound.el +++ b/lisp/erc/erc-sound.el @@ -62,7 +62,7 @@ and play sound files as requested." :group 'erc) (defcustom erc-play-sound t - "*Play sounds when you receive CTCP SOUND requests." + "Play sounds when you receive CTCP SOUND requests." :group 'erc-sound :type 'boolean) diff --git a/lisp/erc/erc-stamp.el b/lisp/erc/erc-stamp.el index e02b045ebd2..4d55e21da72 100644 --- a/lisp/erc/erc-stamp.el +++ b/lisp/erc/erc-stamp.el @@ -47,7 +47,7 @@ in your .emacs file or interactively using `load-library'." :group 'erc) (defcustom erc-timestamp-format "[%H:%M]" - "*If set to a string, messages will be timestamped. + "If set to a string, messages will be timestamped. This string is processed using `format-time-string'. Good examples are \"%T\" and \"%H:%M\". @@ -57,7 +57,7 @@ If nil, timestamping is turned off." (string))) (defcustom erc-timestamp-format-left "\n[%a %b %e %Y]\n" - "*If set to a string, messages will be timestamped. + "If set to a string, messages will be timestamped. This string is processed using `format-time-string'. Good examples are \"%T\" and \"%H:%M\". @@ -71,7 +71,7 @@ If nil, timestamping is turned off." (string))) (defcustom erc-timestamp-format-right " [%H:%M]" - "*If set to a string, messages will be timestamped. + "If set to a string, messages will be timestamped. This string is processed using `format-time-string'. Good examples are \"%T\" and \"%H:%M\". @@ -85,7 +85,7 @@ If nil, timestamping is turned off." (string))) (defcustom erc-insert-timestamp-function 'erc-insert-timestamp-left-and-right - "*Function to use to insert timestamps. + "Function to use to insert timestamps. It takes a single argument STRING which is the final string which all text-properties already appended. This function only cares about @@ -102,7 +102,7 @@ You will probably want to set function)) (defcustom erc-away-timestamp-format "<%H:%M>" - "*Timestamp format used when marked as being away. + "Timestamp format used when marked as being away. If nil, timestamping is turned off when away unless `erc-timestamp-format' is set. @@ -114,7 +114,7 @@ If `erc-timestamp-format' is set, this will not be used." (defcustom erc-insert-away-timestamp-function 'erc-insert-timestamp-left-and-right - "*Function to use to insert the away timestamp. + "Function to use to insert the away timestamp. See `erc-insert-timestamp-function' for details." :group 'erc-stamp @@ -124,7 +124,7 @@ See `erc-insert-timestamp-function' for details." function)) (defcustom erc-hide-timestamps nil - "*If non-nil, timestamps will be invisible. + "If non-nil, timestamps will be invisible. This is useful for logging, because, although timestamps will be hidden, they will still be present in the logs." @@ -132,7 +132,7 @@ hidden, they will still be present in the logs." :type 'boolean) (defcustom erc-echo-timestamps nil - "*If non-nil, print timestamp in the minibuffer when point is moved. + "If non-nil, print timestamp in the minibuffer when point is moved. Using this variable, you can turn off normal timestamping, and simply move point to an irc message to see its timestamp printed in the minibuffer." @@ -140,14 +140,14 @@ printed in the minibuffer." :type 'boolean) (defcustom erc-echo-timestamp-format "Timestamped %A, %H:%M:%S" - "*Format string to be used when `erc-echo-timestamps' is non-nil. + "Format string to be used when `erc-echo-timestamps' is non-nil. This string specifies the format of the timestamp being echoed in the minibuffer." :group 'erc-stamp :type 'string) (defcustom erc-timestamp-intangible t - "*Whether the timestamps should be intangible, i.e. prevent the point + "Whether the timestamps should be intangible, i.e. prevent the point from entering them and instead jump over them." :group 'erc-stamp :type 'boolean) @@ -205,7 +205,7 @@ This is used when `erc-insert-timestamp-function' is set to (make-variable-buffer-local 'erc-timestamp-last-inserted-right) (defcustom erc-timestamp-only-if-changed-flag t - "*Insert timestamp only if its value changed since last insertion. + "Insert timestamp only if its value changed since last insertion. If `erc-insert-timestamp-function' is `erc-insert-timestamp-left', a string of spaces which is the same size as the timestamp is added to the beginning of the line in its place. If you use @@ -215,7 +215,7 @@ timestamp." :type 'boolean) (defcustom erc-timestamp-right-column nil - "*If non-nil, the column at which the timestamp is inserted, + "If non-nil, the column at which the timestamp is inserted, if the timestamp is to be printed to the right. If nil, `erc-insert-timestamp-right' will use other means to determine the correct column." @@ -227,7 +227,7 @@ the correct column." (defcustom erc-timestamp-use-align-to (and (not (featurep 'xemacs)) (>= emacs-major-version 22) (eq window-system 'x)) - "*If non-nil, use the :align-to display property to align the stamp. + "If non-nil, use the :align-to display property to align the stamp. This gives better results when variable-width characters (like Asian language characters and math symbols) precede a timestamp. Unfortunately, it only works in Emacs 22 and when using the X diff --git a/lisp/erc/erc-track.el b/lisp/erc/erc-track.el index ac899302c3c..e4a41089539 100644 --- a/lisp/erc/erc-track.el +++ b/lisp/erc/erc-track.el @@ -93,13 +93,13 @@ Activity means that there was no user input in the last 10 seconds." :type '(repeat string)) (defcustom erc-track-remove-disconnected-buffers nil - "*If true, remove buffers associated with a server that is + "If true, remove buffers associated with a server that is disconnected from `erc-modified-channels-alist'." :group 'erc-track :type 'boolean) (defcustom erc-track-exclude-types '("NICK" "333" "353") - "*List of message types to be ignored. + "List of message types to be ignored. This list could look like '(\"JOIN\" \"PART\"). By default, exclude changes of nicknames (NICK), display of who @@ -109,7 +109,7 @@ channel (353)." :type 'erc-message-type) (defcustom erc-track-exclude-server-buffer nil - "*If true, don't perform tracking on the server buffer; this is + "If true, don't perform tracking on the server buffer; this is useful for excluding all the things like MOTDs from the server and other miscellaneous functions." :group 'erc-track @@ -127,7 +127,7 @@ the mode-line should be reduced to." :type 'number) (defcustom erc-track-shorten-aggressively nil - "*If non-nil, channel names will be shortened more aggressively. + "If non-nil, channel names will be shortened more aggressively. Usually, names are not shortened if this will save only one character. Example: If there are two channels, #linux-de and #linux-fr, then normally these will not be shortened. When shortening aggressively, @@ -150,7 +150,7 @@ This setting is used by `erc-track-shorten-names'." (const :tag "Max" max))) (defcustom erc-track-shorten-function 'erc-track-shorten-names - "*This function will be used to reduce the channel names before display. + "This function will be used to reduce the channel names before display. It takes one argument, CHANNEL-NAMES which is a list of strings. It should return a list of strings of the same number of elements. If nil instead of a function, shortening is disabled." @@ -169,7 +169,7 @@ notification of channel activity." :type 'hook) (defcustom erc-track-use-faces t - "*Use faces in the mode-line. + "Use faces in the mode-line. The faces used are the same as used for text in the buffers. \(e.g. `erc-pal-face' is used if a pal sent a message to that channel.)" :group 'erc-track diff --git a/lisp/erc/erc-truncate.el b/lisp/erc/erc-truncate.el index 6aa4e718d0a..dd47c601ea8 100644 --- a/lisp/erc/erc-truncate.el +++ b/lisp/erc/erc-truncate.el @@ -36,7 +36,7 @@ :group 'erc) (defcustom erc-max-buffer-size 30000 - "*Maximum size in chars of each ERC buffer. + "Maximum size in chars of each ERC buffer. Used only when auto-truncation is enabled. \(see `erc-truncate-buffer' and `erc-insert-post-hook')." :group 'erc-truncate diff --git a/lisp/erc/erc-xdcc.el b/lisp/erc/erc-xdcc.el index 98e26dd9af0..0328c407aa0 100644 --- a/lisp/erc/erc-xdcc.el +++ b/lisp/erc/erc-xdcc.el @@ -29,13 +29,13 @@ (require 'erc-dcc) (defcustom erc-xdcc-files nil - "*List of files to offer via XDCC. + "List of files to offer via XDCC. Your friends should issue \"/ctcp yournick XDCC list\" to see this." :group 'erc-dcc :type '(repeat file)) (defcustom erc-xdcc-verbose-flag t - "*Report XDCC CTCP requests in the server buffer." + "Report XDCC CTCP requests in the server buffer." :group 'erc-dcc :type 'boolean) @@ -43,7 +43,7 @@ Your friends should issue \"/ctcp yournick XDCC list\" to see this." '(("help" . erc-xdcc-help) ("list" . erc-xdcc-list) ("send" . erc-xdcc-send)) - "*Sub-command handler alist for XDCC CTCP queries." + "Sub-command handler alist for XDCC CTCP queries." :group 'erc-dcc :type '(alist :key-type (string :tag "Sub-command") :value-type function)) @@ -54,7 +54,7 @@ Your friends should issue \"/ctcp yournick XDCC list\" to see this." ("Type \"/ctcp " (erc-current-nick) " XDCC list\" to see the list of offered files, then type \"/ctcp " (erc-current-nick) " XDCC send #\" to get a particular file number.")) - "*Help text sent in response to XDCC help command. + "Help text sent in response to XDCC help command. A list of messages, each consisting of strings and expressions, expressions being evaluated and should return strings." :group 'erc-dcc diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el index b95d42b154a..b79c2fd6c5e 100644 --- a/lisp/erc/erc.el +++ b/lisp/erc/erc.el @@ -255,7 +255,7 @@ If nil, only \"> \" will be shown." (repeat :inline t :tag "Others" (string :tag "IRC Message Type")))) (defcustom erc-hide-list nil - "*List of IRC type messages to hide. + "List of IRC type messages to hide. A typical value would be '(\"JOIN\" \"PART\" \"QUIT\")." :group 'erc-ignore :type 'erc-message-type) @@ -653,12 +653,12 @@ This only has any meaning if the variable `erc-command-indicator' is non-nil." prompt)))) (defcustom erc-notice-prefix "*** " - "*Prefix for all notices." + "Prefix for all notices." :group 'erc-display :type 'string) (defcustom erc-notice-highlight-type 'all - "*Determines how to highlight notices. + "Determines how to highlight notices. See `erc-notice-prefix'. The following values are allowed: @@ -673,7 +673,7 @@ Any other value disables notice's highlighting altogether." (const :tag "don't highlight notices at all" nil))) (defcustom erc-echo-notice-hook nil - "*Specifies a list of functions to call to echo a private + "Specifies a list of functions to call to echo a private notice. Each function is called with four arguments, the string to display, the parsed server message, the target buffer (or nil), and the sender. The functions are called in order, until a @@ -704,7 +704,7 @@ See also: `erc-echo-notice-always-hook', (defcustom erc-echo-notice-always-hook '(erc-echo-notice-in-default-buffer) - "*Specifies a list of functions to call to echo a private + "Specifies a list of functions to call to echo a private notice. Each function is called with four arguments, the string to display, the parsed server message, the target buffer (or nil), and the sender. The functions are called in order, and all @@ -736,17 +736,17 @@ See also: `erc-echo-notice-hook', ;; other tunable parameters (defcustom erc-whowas-on-nosuchnick nil - "*If non-nil, do a whowas on a nick if no such nick." + "If non-nil, do a whowas on a nick if no such nick." :group 'erc :type 'boolean) (defcustom erc-verbose-server-ping nil - "*If non-nil, show every time you get a PING or PONG from the server." + "If non-nil, show every time you get a PING or PONG from the server." :group 'erc-paranoia :type 'boolean) (defcustom erc-public-away-p nil - "*Let others know you are back when you are no longer marked away. + "Let others know you are back when you are no longer marked away. This happens in this form: * <nick> is back (gone for <time>) @@ -755,7 +755,7 @@ Many consider it impolite to do so automatically." :type 'boolean) (defcustom erc-away-nickname nil - "*The nickname to take when you are marked as being away." + "The nickname to take when you are marked as being away." :group 'erc :type '(choice (const nil) string)) @@ -796,7 +796,7 @@ If nil, ERC will call `system-name' to get this information." string)) (defcustom erc-ignore-list nil - "*List of regexps matching user identifiers to ignore. + "List of regexps matching user identifiers to ignore. A user identifier has the form \"nick!login@host\". If an identifier matches, the message from the person will not be @@ -806,7 +806,7 @@ processed." (make-variable-buffer-local 'erc-ignore-list) (defcustom erc-ignore-reply-list nil - "*List of regexps matching user identifiers to ignore completely. + "List of regexps matching user identifiers to ignore completely. This differs from `erc-ignore-list' in that it also ignores any messages directed at the user. @@ -824,7 +824,7 @@ people. You can update the ERC internal info using /WHO *." :type '(repeat regexp)) (defvar erc-flood-protect t - "*If non-nil, flood protection is enabled. + "If non-nil, flood protection is enabled. Flooding is sending too much information to the server in too short of an interval, which may cause the server to terminate the connection. @@ -854,7 +854,7 @@ directory in the list." :type '(repeat directory)) (defcustom erc-script-echo t - "*If non-nil, echo the IRC script commands locally." + "If non-nil, echo the IRC script commands locally." :group 'erc-scripts :type 'boolean) @@ -929,7 +929,7 @@ will be used as the part message." :type '(repeat (list regexp (choice (string) (function))))) (defcustom erc-quit-reason 'erc-quit-reason-normal - "*A function which returns the reason for quitting. + "A function which returns the reason for quitting. The function is passed a single argument, the string typed by the user after \"/quit\"." @@ -1480,7 +1480,7 @@ The available choices are: (const :tag "Use current buffer" t))) (defcustom erc-frame-alist nil - "*Alist of frame parameters for creating erc frames. + "Alist of frame parameters for creating erc frames. A value of nil means to use `default-frame-alist'." :group 'erc-buffers :type '(repeat (cons :format "%v" @@ -1488,13 +1488,13 @@ A value of nil means to use `default-frame-alist'." (sexp :tag "Value")))) (defcustom erc-frame-dedicated-flag nil - "*Non-nil means the erc frames are dedicated to that buffer. + "Non-nil means the erc frames are dedicated to that buffer. This only has effect when `erc-join-buffer' is set to `frame'." :group 'erc-buffers :type 'boolean) (defcustom erc-reuse-frames t - "*Determines whether new frames are always created. + "Determines whether new frames are always created. Non-nil means that a new frame is not created to display an ERC buffer if there is already a window displaying it. This only has effect when `erc-join-buffer' is set to `frame'." @@ -1511,7 +1511,7 @@ effect when `erc-join-buffer' is set to `frame'." (t nil))) (defcustom erc-reuse-buffers t - "*If nil, create new buffers on joining a channel/query. + "If nil, create new buffers on joining a channel/query. If non-nil, a new buffer will only be created when you join channels with same names on different servers, or have query buffers open with nicks of the same name on different servers. Otherwise, @@ -2616,7 +2616,7 @@ VALUE is computed by evaluating the rest of LINE in Lisp." (if (consp val) (concat "\n" (pp-to-string val)) (format " %S\n" val))))) - (apropos-internal "^erc-" 'user-variable-p)))) + (apropos-internal "^erc-" 'custom-variable-p)))) (current-buffer)) t) (t nil))) (defalias 'erc-cmd-VAR 'erc-cmd-SET) @@ -3646,6 +3646,7 @@ If FACE is non-nil, it will be used to propertize the prompt. If it is nil, 'start-open t ; XEmacs 'rear-nonsticky t ; Emacs 'erc-prompt t + 'field t 'front-sticky t 'read-only t)) (erc-put-text-property 0 (1- (length prompt)) @@ -3799,7 +3800,7 @@ This places `point' just after the prompt, or at the beginning of the line." (defcustom erc-default-server-hook '(erc-debug-missing-hooks erc-default-server-handler) - "*Default for server messages which aren't covered by `erc-server-hooks'." + "Default for server messages which aren't covered by `erc-server-hooks'." :group 'erc-server-hooks :type 'hook) @@ -4017,7 +4018,7 @@ and as second argument the event parsed as a vector." str)) (defcustom erc-format-nick-function 'erc-format-nick - "*Function to format a nickname for message display." + "Function to format a nickname for message display." :group 'erc-display :type 'function) @@ -4575,7 +4576,7 @@ channel." (run-hooks 'erc-channel-members-changed-hook))) (defcustom erc-channel-members-changed-hook nil - "*This hook is called every time the variable `channel-members' changes. + "This hook is called every time the variable `channel-members' changes. The buffer where the change happened is current while this hook is called." :group 'erc-hooks :type 'hook) @@ -6386,17 +6387,17 @@ See also `format-spec'." (add-hook 'kill-buffer-hook 'erc-kill-buffer-function) (defcustom erc-kill-server-hook '(erc-kill-server) - "*Invoked whenever a server-buffer is killed via `kill-buffer'." + "Invoked whenever a server-buffer is killed via `kill-buffer'." :group 'erc-hooks :type 'hook) (defcustom erc-kill-channel-hook '(erc-kill-channel) - "*Invoked whenever a channel-buffer is killed via `kill-buffer'." + "Invoked whenever a channel-buffer is killed via `kill-buffer'." :group 'erc-hooks :type 'hook) (defcustom erc-kill-buffer-hook nil - "*Hook run whenever a non-server or channel buffer is killed. + "Hook run whenever a non-server or channel buffer is killed. See also `kill-buffer'." :group 'erc-hooks diff --git a/lisp/facemenu.el b/lisp/facemenu.el index 743115839b2..e76b61fdacb 100644 --- a/lisp/facemenu.el +++ b/lisp/facemenu.el @@ -132,7 +132,7 @@ just before \"Other\" at the end." ,(purecopy "^font-lock-") ,(purecopy "^gnus-") ,(purecopy "^message-") ,(purecopy "^ediff-") ,(purecopy "^term-") ,(purecopy "^vc-") ,(purecopy "^widget-") ,(purecopy "^custom-") ,(purecopy "^vm-")) - "*List of faces that are of no interest to the user.") + "List of faces that are of no interest to the user.") (make-obsolete-variable 'facemenu-unlisted-faces 'facemenu-listed-faces "22.1,\n and has no effect on the Face menu") diff --git a/lisp/faces.el b/lisp/faces.el index 0256f8d951a..8eacf5bcfe2 100644 --- a/lisp/faces.el +++ b/lisp/faces.el @@ -1212,7 +1212,7 @@ Value is a list (FACE NEW-VALUE) where FACE is the face read (defconst list-faces-sample-text "abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ" - "*Text string to display as the sample text for `list-faces-display'.") + "Text string to display as the sample text for `list-faces-display'.") ;; The name list-faces would be more consistent, but let's avoid a diff --git a/lisp/ffap.el b/lisp/ffap.el index 99017d27490..52ffc9905ed 100644 --- a/lisp/ffap.el +++ b/lisp/ffap.el @@ -1472,7 +1472,7 @@ and the functions `ffap-file-at-point' and `ffap-url-at-point'." ;;; Menu support (`ffap-menu'): (defvar ffap-menu-regexp nil - "*If non-nil, overrides `ffap-next-regexp' during `ffap-menu'. + "If non-nil, overrides `ffap-next-regexp' during `ffap-menu'. Make this more restrictive for faster menu building. For example, try \":/\" for URL (and some ftp) references.") diff --git a/lisp/files-x.el b/lisp/files-x.el index b4a04401a77..e28e2ba83e3 100644 --- a/lisp/files-x.el +++ b/lisp/files-x.el @@ -49,7 +49,7 @@ Intended to be used in the `interactive' spec of (format "%s: " prompt)) obarray (lambda (sym) - (or (user-variable-p sym) + (or (custom-variable-p sym) (get sym 'safe-local-variable) (memq sym '(mode eval coding unibyte)))) nil nil nil default nil)) diff --git a/lisp/files.el b/lisp/files.el index 8df2942195e..d757e1a277c 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -2152,6 +2152,7 @@ unless NOMODES is non-nil." (/= (char-after (1- (point-max))) ?\n) (not (and (eq selective-display t) (= (char-after (1- (point-max))) ?\r))) + (not buffer-read-only) (save-excursion (goto-char (point-max)) (insert "\n"))) @@ -2205,10 +2206,7 @@ in that case, this function acts as if `enable-local-variables' were t." (boundp 'font-lock-keywords) (eq (car font-lock-keywords) t)) (setq font-lock-keywords (cadr font-lock-keywords)) - (font-lock-mode 1)) - - (if (fboundp 'ucs-set-table-for-input) ; don't lose when building - (ucs-set-table-for-input))) + (font-lock-mode 1))) (defcustom auto-mode-case-fold t "Non-nil means to try second pass through `auto-mode-alist'. diff --git a/lisp/find-file.el b/lisp/find-file.el index 19fa8283b06..fe1ab96add9 100644 --- a/lisp/find-file.el +++ b/lisp/find-file.el @@ -190,7 +190,7 @@ To override this, give an argument to `ff-find-other-file'." ) ;; We include `ff-treat-as-special' documentation here so that autoload ;; can make it available to be read prior to loading this file. - "*List of special constructs for `ff-treat-as-special' to recognize. + "List of special constructs for `ff-treat-as-special' to recognize. Each element, tried in order, has the form (REGEXP . EXTRACT). If REGEXP matches the current line (from the beginning of the line), `ff-treat-as-special' calls function EXTRACT with no args. diff --git a/lisp/follow.el b/lisp/follow.el index a29f733148c..850cb7b22db 100644 --- a/lisp/follow.el +++ b/lisp/follow.el @@ -393,7 +393,7 @@ are \" Fw\", or simply \"\"." :group 'follow) (defvar follow-avoid-tail-recenter-p (not (featurep 'xemacs)) - "*When non-nil, patch Emacs so that tail windows won't be recentered. + "When non-nil, patch Emacs so that tail windows won't be recentered. A \"tail window\" is a window that displays only the end of the buffer. Normally it is practical for the user that empty @@ -424,7 +424,7 @@ To mark other commands as suitable for caching, set the symbol property `follow-mode-use-cache' to non-nil.") (defvar follow-debug nil - "*Non-nil when debugging Follow mode.") + "Non-nil when debugging Follow mode.") ;; Internal variables: diff --git a/lisp/font-lock.el b/lisp/font-lock.el index b65828ca1d7..910585f21f1 100644 --- a/lisp/font-lock.el +++ b/lisp/font-lock.el @@ -492,11 +492,11 @@ This is normally set via `font-lock-add-keywords' and `font-lock-remove-keywords'.") (defvar font-lock-keywords-only nil - "*Non-nil means Font Lock should not fontify comments or strings. + "Non-nil means Font Lock should not fontify comments or strings. This is normally set via `font-lock-defaults'.") (defvar font-lock-keywords-case-fold-search nil - "*Non-nil means the patterns in `font-lock-keywords' are case-insensitive. + "Non-nil means the patterns in `font-lock-keywords' are case-insensitive. This is set via the function `font-lock-set-defaults', based on the CASE-FOLD argument of `font-lock-defaults'.") (make-variable-buffer-local 'font-lock-keywords-case-fold-search) @@ -556,7 +556,7 @@ If this is nil, the major mode's syntax table is used. This is normally set via `font-lock-defaults'.") (defvar font-lock-beginning-of-syntax-function nil - "*Non-nil means use this function to move back outside all constructs. + "Non-nil means use this function to move back outside all constructs. When called with no args it should move point backward to a place which is not in a string or comment and not within any bracket-pairs (or else, a place such that any bracket-pairs outside it can be ignored for Emacs @@ -571,7 +571,7 @@ This is normally set via `font-lock-defaults'.") 'syntax-begin-function "23.3" 'set) (defvar font-lock-mark-block-function nil - "*Non-nil means use this function to mark a block of text. + "Non-nil means use this function to mark a block of text. When called with no args it should leave point at the beginning of any enclosing textual block and mark at the end. This is normally set via `font-lock-defaults'.") diff --git a/lisp/forms.el b/lisp/forms.el index 007d85caacf..38670e42bdd 100644 --- a/lisp/forms.el +++ b/lisp/forms.el @@ -2031,7 +2031,7 @@ Usage: (setq forms-number-of-fields ;;; Debugging (defvar forms--debug nil - "*Enables forms-mode debugging if not nil.") + "Enables forms-mode debugging if not nil.") (defun forms--debug (&rest args) "Internal debugging routine." diff --git a/lisp/frame.el b/lisp/frame.el index 1cd6c0cf181..1ee9d966ef1 100644 --- a/lisp/frame.el +++ b/lisp/frame.el @@ -1557,21 +1557,6 @@ left untouched. FRAME nil or omitted means use the selected frame." 'delete-frame-functions "22.1") -;; Highlighting trailing whitespace. - -(make-variable-buffer-local 'show-trailing-whitespace) - - -;; Scrolling - -(defgroup scrolling nil - "Scrolling windows." - :version "21.1" - :group 'frames) - -(defvaralias 'automatic-hscrolling 'auto-hscroll-mode) - - ;; Blinking cursor (defgroup cursor nil @@ -1663,6 +1648,14 @@ terminals, cursor blinking is controlled by the terminal." (define-key ctl-x-5-map "0" 'delete-frame) (define-key ctl-x-5-map "o" 'other-frame) + +;; Misc. + +;; Only marked as obsolete in 24.2. +(define-obsolete-variable-alias 'automatic-hscrolling 'auto-hscroll-mode "22.1") + +(make-variable-buffer-local 'show-trailing-whitespace) + (provide 'frame) ;;; frame.el ends here diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index b1f298bdb16..52f140d9192 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,10 +1,12 @@ -2012-04-12 Lars Magne Ingebrigtsen <larsi@gnus.org> +2012-04-16 Glenn Morris <rgm@gnu.org> + + * nndraft.el (nndraft-request-list): Fix declaration. + +2012-04-14 Lars Magne Ingebrigtsen <larsi@gnus.org> * gnus-msg.el (gnus-inews-insert-gcc): Don't do the alist stuff when we don't have a current group. -2012-04-10 Lars Magne Ingebrigtsen <larsi@gnus.org> - * gnus-msg.el (gnus-inews-insert-gcc): Protect against when we don't have a group name. diff --git a/lisp/gnus/nndraft.el b/lisp/gnus/nndraft.el index 1800d0c02de..da50720ebbe 100644 --- a/lisp/gnus/nndraft.el +++ b/lisp/gnus/nndraft.el @@ -37,7 +37,8 @@ (require 'mm-util) (eval-when-compile (require 'cl)) -(declare-function nndraft-request-list "nnmh" (&rest args)) +;; The nnoo-import at the end, I think. +(declare-function nndraft-request-list "nndraft" (&rest args) t) (nnoo-declare nndraft nnmh) diff --git a/lisp/hexl.el b/lisp/hexl.el index 538d218e38e..bedcc6b10b9 100644 --- a/lisp/hexl.el +++ b/lisp/hexl.el @@ -51,6 +51,14 @@ "Edit a file in a hex dump format using the hexl filter." :group 'data) +(defcustom hexl-bits 16 + "The bit grouping that hexl will use." + :type '(choice (const 8 ) + (const 16) + (const 32) + (const 64)) + :group 'hexl + :version "24.2") (defcustom hexl-program "hexl" "The program that will hexlify and dehexlify its stdin. @@ -67,7 +75,9 @@ and \"-de\" when dehexlifying a buffer." (defcustom hexl-options (format "-hex %s" hexl-iso) "Space separated options to `hexl-program' that suit your needs. -Quoting cannot be used, so the arguments cannot themselves contain spaces." +Quoting cannot be used, so the arguments cannot themselves contain spaces. +If you wish to set the `-group-by-X-bits' options, set `hexl-bits' instead, +as that will override any bit grouping options set here." :type 'string :group 'hexl) @@ -212,10 +222,34 @@ Quoting cannot be used, so the arguments cannot themselves contain spaces." (2 'hexl-ascii-region t t))) "Font lock keywords used in `hexl-mode'.") +(defun hexl-rulerize (string bits) + (let ((size (/ bits 4)) (strlen (length string)) (pos 0) (ruler "")) + (while (< pos strlen) + (setq ruler (concat ruler " " (substring string pos (+ pos size)))) + (setq pos (+ pos size))) + (substring ruler 1) )) + +(defvar hexl-rulers + (mapcar + (lambda (bits) + (cons bits + (concat " 87654321 " + (hexl-rulerize "00112233445566778899aabbccddeeff" bits) + " 0123456789abcdef"))) + '(8 16 32 64))) ;; routines (put 'hexl-mode 'mode-class 'special) +;; 10 chars for the "address: " +;; 32 chars for the hexlified bytes +;; 1 char for the space +;; 16 chars for the character display +;; X chars for the spaces (128 bits divided by the hexl-bits) +;; 1 char for the newline. +(defun hexl-line-displen () + "The length of a hexl display line (varies with `hexl-bits')." + (+ 60 (/ 128 (or hexl-bits 16)))) (defun hexl-mode--minor-mode-p (var) (memq var '(ruler-mode hl-line-mode))) @@ -248,7 +282,7 @@ using the function `hexlify-buffer'. Each line in the buffer has an \"address\" (displayed in hexadecimal) representing the offset into the file that the characters on this line are at and 16 characters from the file (displayed as hexadecimal -values grouped every 16 bits) and as their ASCII values. +values grouped every `hexl-bits' bits) and as their ASCII values. If any of the characters (displayed as ASCII characters) are unprintable (control or meta characters) they will be replaced as @@ -330,10 +364,7 @@ You can use \\[hexl-find-file] to visit a file in Hexl mode. (hexlify-buffer) (restore-buffer-modified-p modified)) (set (make-local-variable 'hexl-max-address) - (let* ((full-lines (/ (buffer-size) 68)) - (last-line (% (buffer-size) 68)) - (last-line-bytes (% last-line 52))) - (+ last-line-bytes (* full-lines 16) -1))) + (+ (* (/ (1- (buffer-size)) (hexl-line-displen)) 16) 15)) (condition-case nil (hexl-goto-address original-point) (error nil))) @@ -510,17 +541,20 @@ Ask the user for confirmation." (defun hexl-current-address (&optional validate) "Return current hexl-address." (interactive) - (let ((current-column (- (% (- (point) (point-min) -1) 68) 11)) + (let ((current-column + (- (% (- (point) (point-min) -1) (hexl-line-displen)) 11)) (hexl-address 0)) (if (< current-column 0) (if validate (error "Point is not on a character in the file") (setq current-column 0))) (setq hexl-address - (+ (* (/ (- (point) (point-min) -1) 68) 16) - (if (>= current-column 41) - (- current-column 41) - (/ (- current-column (/ current-column 5)) 2)))) + (+ (* (/ (- (point) (point-min) -1) + (hexl-line-displen)) 16) + (if (>= current-column (- (hexl-ascii-start-column) 10)) + (- current-column (- (hexl-ascii-start-column) 10)) + (/ (- current-column + (/ current-column (1+ (/ hexl-bits 4)))) 2)))) (when (called-interactively-p 'interactive) (message "Current address is %d/0x%08x" hexl-address hexl-address)) hexl-address)) @@ -531,10 +565,18 @@ This function is intended to be used as eldoc callback." (let ((addr (hexl-current-address))) (format "Current address is %d/0x%08x" addr addr))) +(defun hexl-ascii-start-column () + "Column at which the ascii portion of the hexl display starts." + (+ 43 (/ 128 hexl-bits))) + (defun hexl-address-to-marker (address) "Return buffer position for ADDRESS." (interactive "nAddress: ") - (+ (* (/ address 16) 68) 10 (point-min) (/ (* (% address 16) 5) 2))) + (let ((N (* (% address 16) 2))) + (+ (* (/ address 16) (hexl-line-displen)) ; hexl line no * display length + 10 ; 10 chars for the "address: " prefix + (point-min) ; base offset (point usually starts at 1, not 0) + (+ N (/ N (/ hexl-bits 4))) )) ) ; char offset into hexl display line (defun hexl-goto-address (address) "Go to hexl-mode (decimal) address ADDRESS. @@ -700,7 +742,7 @@ With prefix arg N, puts point N bytes of the way from the true beginning." (defun hexl-beginning-of-line () "Goto beginning of line in hexl mode." (interactive) - (goto-char (+ (* (/ (point) 68) 68) 11))) + (goto-char (+ (* (/ (point) (hexl-line-displen)) (hexl-line-displen)) 11))) (defun hexl-end-of-line () "Goto end of line in hexl mode." @@ -776,6 +818,17 @@ You may also type octal digits, to insert a character with that code." ;00000000: 0011 2233 4455 6677 8899 aabb ccdd eeff 0123456789ABCDEF +(defun hexl-options (&optional test) + "Combine `hexl-bits' with `hexl-options', altering `hexl-options' as needed +to produce the command line options to pass to the hexl command." + (let ((opts (or test hexl-options))) + (when (memq hexl-bits '(8 16 32 64)) + (when (string-match "\\(.*\\)-group-by-[0-9]+-bits\\(.*\\)" opts) + (setq opts (concat (match-string 1 opts) + (match-string 2 opts)))) + (setq opts (format "%s -group-by-%d-bits " opts hexl-bits)) ) + opts)) + ;;;###autoload (defun hexlify-buffer () "Convert a binary buffer to hexl format. @@ -798,7 +851,7 @@ This discards the buffer's undo information." (mapcar (lambda (s) (if (not (multibyte-string-p s)) s (encode-coding-string s locale-coding-system))) - (split-string hexl-options))) + (split-string (hexl-options)))) (if (> (point) (hexl-address-to-marker hexl-max-address)) (hexl-goto-address hexl-max-address)))) @@ -815,7 +868,7 @@ This discards the buffer's undo information." (buffer-undo-list t)) (apply 'call-process-region (point-min) (point-max) (expand-file-name hexl-program exec-directory) - t t nil "-de" (split-string hexl-options)))) + t t nil "-de" (split-string (hexl-options))))) (defun hexl-char-after-point () "Return char for ASCII hex digits at point." @@ -911,13 +964,12 @@ CH must be a unibyte character whose value is between 0 and 255." (error "Invalid character 0x%x -- must be in the range [0..255]" ch)) (let ((address (hexl-current-address t))) (while (> num 0) - (let ((hex-position - (+ (* (/ address 16) 68) - 10 (point-min) - (* 2 (% address 16)) - (/ (% address 16) 2))) + (let ((hex-position (hexl-address-to-marker address)) (ascii-position - (+ (* (/ address 16) 68) 51 (point-min) (% address 16))) + (+ (* (/ address 16) (hexl-line-displen)) + (hexl-ascii-start-column) + (point-min) + (% address 16))) at-ascii-position) (if (= (point) ascii-position) (setq at-ascii-position t)) @@ -933,7 +985,7 @@ CH must be a unibyte character whose value is between 0 and 255." (if at-ascii-position (progn (beginning-of-line) - (forward-char 51) + (forward-char (hexl-ascii-start-column)) (forward-char (% address 16))))) (setq num (1- num))))) @@ -1041,7 +1093,7 @@ This function is assumed to be used as callback function for `hl-line-mode'." (defun hexl-follow-ascii-find () "Find and highlight the ASCII element corresponding to current point." - (let ((pos (+ 51 + (let ((pos (+ (hexl-ascii-start-column) (- (point) (current-column)) (mod (hexl-current-address) 16)))) (move-overlay hexl-ascii-overlay pos (1+ pos)) @@ -1050,7 +1102,7 @@ This function is assumed to be used as callback function for `hl-line-mode'." (defun hexl-mode-ruler () "Return a string ruler for hexl mode." (let* ((highlight (mod (hexl-current-address) 16)) - (s " 87654321 0011 2233 4455 6677 8899 aabb ccdd eeff 0123456789abcdef") + (s (cdr (assq hexl-bits hexl-rulers))) (pos 0)) (set-text-properties 0 (length s) nil s) ;; Turn spaces in the header into stretch specs so they work @@ -1062,12 +1114,12 @@ This function is assumed to be used as callback function for `hl-line-mode'." `(space :align-to ,(1- pos)) s)) ;; Highlight the current column. - (put-text-property (+ 11 (/ (* 5 highlight) 2)) - (+ 13 (/ (* 5 highlight) 2)) - 'face 'highlight s) + (let ( (offset (+ (* 2 highlight) (/ (* 8 highlight) hexl-bits))) ) + (put-text-property (+ 11 offset) (+ 13 offset) 'face 'highlight s)) ;; Highlight the current ascii column - (put-text-property (+ 13 39 highlight) (+ 13 40 highlight) - 'face 'highlight s) + (put-text-property (+ (hexl-ascii-start-column) highlight 1) + (+ (hexl-ascii-start-column) highlight 2) + 'face 'highlight s) s)) ;; startup stuff. diff --git a/lisp/ido.el b/lisp/ido.el index fe94c7f225e..bbf3fe2a1d0 100644 --- a/lisp/ido.el +++ b/lisp/ido.el @@ -872,7 +872,7 @@ The following variables are available, but should not be changed: :group 'ido) (defvar ido-rewrite-file-prompt-rules nil - "*Alist of rewriting rules for directory names in ido prompts. + "Alist of rewriting rules for directory names in ido prompts. A list of elements of the form (FROM . TO) or (FROM . FUNC), each meaning to rewrite the directory name if matched by FROM by either substituting the matched string by TO or calling the function FUNC @@ -894,7 +894,7 @@ Otherwise, only the current list of matches is shown." :group 'ido) (defvar ido-all-frames 'visible - "*Argument to pass to `walk-windows' when finding visible files. + "Argument to pass to `walk-windows' when finding visible files. See documentation of `walk-windows' for useful values.") (defcustom ido-minibuffer-setup-hook nil diff --git a/lisp/image.el b/lisp/image.el index be1b1ef8f48..348c208781e 100644 --- a/lisp/image.el +++ b/lisp/image.el @@ -412,7 +412,8 @@ means display it in the right marginal area." (prop (if (null area) image (list (list 'margin area) image)))) (put-text-property 0 (length string) 'display prop string) (overlay-put overlay 'put-image t) - (overlay-put overlay 'before-string string)))) + (overlay-put overlay 'before-string string) + overlay))) ;;;###autoload @@ -684,26 +685,16 @@ The minimum delay between successive frames is 0.01s." image n count time-elapsed limit)))) -(defcustom imagemagick-types-inhibit - '(C HTML HTM TXT PDF) - "ImageMagick types that should not be visited in Image mode. -This should be a list of symbols, each of which should be one of -the ImageMagick types listed in `imagemagick-types'. These image -types are not registered by `imagemagick-register-types'. - -If Emacs is compiled without ImageMagick support, this variable -has no effect." - :type '(choice (const :tag "Let ImageMagick handle all types it can" nil) - (repeat symbol)) - ;; Ideally, would have a :set function that checks if we already did - ;; imagemagick-register-types, and if so undoes it, then redoes it. - :version "24.1" - :group 'image) +(defvar imagemagick--file-regexp nil + "File extension regexp for ImageMagick files, if any. +This is the extension installed into `auto-mode-alist' and +`image-type-file-name-regexps' by `imagemagick-register-types'.") ;;;###autoload (defun imagemagick-register-types () "Register file types that can be handled by ImageMagick. -This registers the ImageMagick types listed in `imagemagick-types', +This function is called at startup, after loading the init file. +It registers the ImageMagick types listed in `imagemagick-types', excluding those listed in `imagemagick-types-inhibit'. Registered image types are added to `auto-mode-alist', so that @@ -713,14 +704,45 @@ recognizes these files as having image type `imagemagick'. If Emacs is compiled without ImageMagick support, do nothing." (when (fboundp 'imagemagick-types) - (let ((im-types '())) - (dolist (im-type (imagemagick-types)) - (unless (memq im-type imagemagick-types-inhibit) - (push (downcase (symbol-name im-type)) im-types))) - (let ((extension (concat "\\." (regexp-opt im-types) "\\'"))) - (push (cons extension 'image-mode) auto-mode-alist) - (push (cons extension 'imagemagick) - image-type-file-name-regexps))))) + (let ((re (if (eq imagemagick-types-inhibit t) + ;; Use a bogus regexp to inhibit matches. + "\\'a" + (let ((types)) + (dolist (type (imagemagick-types)) + (unless (memq type imagemagick-types-inhibit) + (push (downcase (symbol-name type)) types))) + (concat "\\." (regexp-opt types) "\\'")))) + (ama-elt (car (member (cons imagemagick--file-regexp 'image-mode) + auto-mode-alist))) + (itfnr-elt (car (member (cons imagemagick--file-regexp 'imagemagick) + image-type-file-name-regexps)))) + (if ama-elt + (setcar ama-elt re) + (push (cons re 'image-mode) auto-mode-alist)) + (if itfnr-elt + (setcar itfnr-elt re) + (push (cons re 'imagemagick) image-type-file-name-regexps)) + (setq imagemagick--file-regexp re)))) + +(defcustom imagemagick-types-inhibit + '(C HTML HTM TXT PDF) + "List of ImageMagick types that should not be treated as images. +This should be a list of symbols, each of which should be one of +the ImageMagick types listed in `imagemagick-types'. The listed +image types are not registered by `imagemagick-register-types'. + +If the value is t, inhibit the use of ImageMagick for images. + +If Emacs is compiled without ImageMagick support, this variable +has no effect." + :type '(choice (const :tag "Support all ImageMagick types" nil) + (const :tag "Disable all ImageMagick types" t) + (repeat symbol)) + :set (lambda (symbol value) + (set-default symbol value) + (imagemagick-register-types)) + :version "24.1" + :group 'image) (provide 'image) diff --git a/lisp/imenu.el b/lisp/imenu.el index 5472f4246d1..12ac3540925 100644 --- a/lisp/imenu.el +++ b/lisp/imenu.el @@ -280,13 +280,13 @@ The function in this variable is called when selecting a normal index-item.") ;; `(and ;; imenu-scanning-message ;; (let ((pos ,(if relpos -;; relpos -;; `(imenu--relative-position ,reverse)))) -;; (if ,(if relpos t -;; `(> pos (+ 5 ,prevpos))) -;; (progn -;; (message imenu-scanning-message pos) -;; (setq ,prevpos pos))))) +;; relpos +;; `(imenu--relative-position ,reverse)))) +;; (if ,(if relpos t +;; `(> pos (+ 5 ,prevpos))) +;; (progn +;; (message imenu-scanning-message pos) +;; (setq ,prevpos pos))))) ) @@ -338,13 +338,10 @@ Don't move point." (let ((index-alist '()) (index-var-alist '()) (index-type-alist '()) - (index-unknown-alist '()) - prev-pos) + (index-unknown-alist '())) (goto-char (point-max)) - (imenu-progress-message prev-pos 0) ;; Search for the function (while (beginning-of-defun) - (imenu-progress-message prev-pos nil t) (save-match-data (and (looking-at "(def") (save-excursion @@ -371,7 +368,6 @@ Don't move point." (forward-sexp 2) (push (imenu-example--name-and-position) index-unknown-alist))))))) - (imenu-progress-message prev-pos 100) (and index-var-alist (push (cons "Variables" index-var-alist) index-alist)) @@ -396,15 +392,13 @@ Don't move point." (defun imenu-example--create-c-index (&optional regexp) (let ((index-alist '()) - prev-pos char) + char) (goto-char (point-min)) - (imenu-progress-message prev-pos 0) ;; Search for the function (save-match-data (while (re-search-forward (or regexp imenu-example--function-name-regexp-c) nil t) - (imenu-progress-message prev-pos) (backward-up-list 1) (save-excursion (goto-char (scan-sexps (point) 1)) @@ -412,7 +406,6 @@ Don't move point." ;; Skip this function name if it is a prototype declaration. (if (not (eq char ?\;)) (push (imenu-example--name-and-position) index-alist)))) - (imenu-progress-message prev-pos 100) (nreverse index-alist))) (make-obsolete 'imenu-example--create-c-index "your own" "23.2") @@ -684,22 +677,19 @@ The alternate method, which is the one most often used, is to call (cond ((and imenu-prev-index-position-function imenu-extract-index-name-function) (let ((index-alist '()) (pos (point)) - prev-pos name) + name) (goto-char (point-max)) - (imenu-progress-message prev-pos 0 t) ;; Search for the function (while (funcall imenu-prev-index-position-function) (when (= pos (point)) (error "Infinite loop at %s:%d: imenu-prev-index-position-function does not move point" (buffer-name) pos)) (setq pos (point)) - (imenu-progress-message prev-pos nil t) (save-excursion (setq name (funcall imenu-extract-index-name-function))) (and (stringp name) ;; [ydi] updated for imenu-use-markers (push (cons name (if imenu-use-markers (point-marker) (point))) index-alist))) - (imenu-progress-message prev-pos 100 t) index-alist)) ;; Use generic expression if possible. ((and imenu-generic-expression) @@ -765,7 +755,6 @@ They may also be nested index alists like: depending on PATTERNS." (let ((index-alist (list 'dummy)) - prev-pos (case-fold-search (if (or (local-variable-p 'imenu-case-fold-search) (not (local-variable-p 'font-lock-defaults))) imenu-case-fold-search @@ -782,7 +771,6 @@ depending on PATTERNS." (modify-syntax-entry c (cdr syn) table)) (car syn)))) (goto-char (point-max)) - (imenu-progress-message prev-pos 0 t) (unwind-protect ; for syntax table (save-match-data (set-syntax-table table) @@ -800,7 +788,17 @@ depending on PATTERNS." (goto-char (point-max)) (while (and (if (functionp regexp) (funcall regexp) - (re-search-backward regexp nil t)) + (and + (re-search-backward regexp nil t) + ;; Do not count invisible definitions. + (let ((invis (invisible-p (point)))) + (or (not invis) + (progn + (while (and invis + (not (bobp))) + (setq invis (not (re-search-backward + regexp nil 'move)))) + (not invis)))))) ;; Exit the loop if we get an empty match, ;; because it means a bad regexp was specified. (not (= (match-beginning 0) (match-end 0)))) @@ -810,7 +808,6 @@ depending on PATTERNS." (goto-char (match-beginning index)) (beginning-of-line) (setq beg (point)) - (imenu-progress-message prev-pos nil t) ;; Add this sort of submenu only when we've found an ;; item for it, avoiding empty, duff menus. (unless (assoc menu-title index-alist) @@ -835,7 +832,6 @@ depending on PATTERNS." ;; keep making progress backwards. (goto-char start)))) (set-syntax-table old-table))) - (imenu-progress-message prev-pos 100 t) ;; Sort each submenu by position. ;; This is in case one submenu gets items from two different regexps. (dolist (item index-alist) @@ -1029,7 +1025,7 @@ to `imenu-update-menubar'.") (imenu item) nil)) -(defun imenu-default-goto-function (name position &optional rest) +(defun imenu-default-goto-function (_name position &optional _rest) "Move to the given position. NAME is ignored. POSITION is where to move. REST is also ignored. diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el index 0e1640ffef5..02d37f86da0 100644 --- a/lisp/international/mule-cmds.el +++ b/lisp/international/mule-cmds.el @@ -353,10 +353,6 @@ This also sets the following values: if CODING-SYSTEM is ASCII-compatible" (check-coding-system coding-system) (setq-default buffer-file-coding-system coding-system) - (if (fboundp 'ucs-set-table-for-input) - (dolist (buffer (buffer-list)) - (or (local-variable-p 'buffer-file-coding-system buffer) - (ucs-set-table-for-input buffer)))) (if (eq system-type 'darwin) ;; The file-name coding system on Darwin systems is always utf-8. diff --git a/lisp/international/quail.el b/lisp/international/quail.el index 70e6d4b69cb..4d69e2fdbcb 100644 --- a/lisp/international/quail.el +++ b/lisp/international/quail.el @@ -486,19 +486,15 @@ non-Quail commands." (setq translation-keymap (copy-keymap (if simple quail-simple-translation-keymap quail-translation-keymap))) - (while translation-keys - (define-key translation-keymap - (car (car translation-keys)) (cdr (car translation-keys))) - (setq translation-keys (cdr translation-keys)))) + (dolist (trans translation-keys) + (define-key translation-keymap (car trans) (cdr trans)))) (setq translation-keymap (if simple quail-simple-translation-keymap quail-translation-keymap))) (when conversion-keys (setq conversion-keymap (copy-keymap quail-conversion-keymap)) - (while conversion-keys - (define-key conversion-keymap - (car (car conversion-keys)) (cdr (car conversion-keys))) - (setq conversion-keys (cdr conversion-keys)))) + (dolist (conv conversion-keys) + (define-key conversion-keymap (car conv) (cdr conv)))) (quail-add-package (list name title (list nil) guidance (or docstring "") translation-keymap @@ -720,12 +716,11 @@ The command `quail-set-keyboard-layout' usually sets this variable." (setq quail-keyboard-layout-substitution subst-list) ;; If there are additional key locations, map them to missing ;; key locations. - (while missing-list + (dolist (missing missing-list) (while (and subst-list (cdr (car subst-list))) (setq subst-list (cdr subst-list))) (if subst-list - (setcdr (car subst-list) (car missing-list))) - (setq missing-list (cdr missing-list)))))) + (setcdr (car subst-list) missing)))))) (defcustom quail-keyboard-layout-type "standard" "Type of keyboard layout used in Quail base input method. @@ -806,9 +801,10 @@ The format of KBD-LAYOUT is the same as `quail-keyboard-layout'." (if translation (progn (if (consp translation) - (if (> (length (cdr translation)) 0) - (setq translation (aref (cdr translation) 0)) - (setq translation " "))) + (setq translation + (if (> (length (cdr translation)) 0) + (aref (cdr translation) 0) + " "))) (setq done-list (cons translation done-list))) (setq translation (aref kbd-layout i))) (aset layout i translation)) @@ -834,17 +830,19 @@ The format of KBD-LAYOUT is the same as `quail-keyboard-layout'." (if (< (if (stringp lower) (string-width lower) (char-width lower)) 2) (insert " ")) (if (characterp lower) - (if (eq (get-char-code-property lower 'general-category) 'Mn) - ;; Pad the left and right of non-spacing characters. - (setq lower (compose-string (string lower) 0 1 - (format "\t%c\t" lower))) - (setq lower (string lower)))) + (setq lower + (if (eq (get-char-code-property lower 'general-category) 'Mn) + ;; Pad the left and right of non-spacing characters. + (compose-string (string lower) 0 1 + (format "\t%c\t" lower)) + (string lower)))) (if (characterp upper) - (if (eq (get-char-code-property upper 'general-category) 'Mn) - ;; Pad the left and right of non-spacing characters. - (setq upper (compose-string (string upper) 0 1 - (format "\t%c\t" upper))) - (setq upper (string upper)))) + (setq upper + (if (eq (get-char-code-property upper 'general-category) 'Mn) + ;; Pad the left and right of non-spacing characters. + (compose-string (string upper) 0 1 + (format "\t%c\t" upper)) + (string upper)))) (insert (bidi-string-mark-left-to-right lower) (propertize " " 'invisible t) (bidi-string-mark-left-to-right upper)) @@ -1032,8 +1030,8 @@ the following annotation types are supported. (let ((map (list nil)) (decode-map (if (not no-decode-map) (list 'decode-map))) key trans) - (while l - (setq key (car (car l)) trans (car (cdr (car l))) l (cdr l)) + (dolist (el l) + (setq key (car el) trans (car (cdr el))) (quail-defrule-internal key trans map t decode-map props)) `(if (prog1 (quail-decode-map) (quail-install-map ',map)) @@ -1201,7 +1199,7 @@ function `quail-define-rules' for the detail." (if (stringp trans) (setq trans (string-to-vector trans)))) (let ((new (quail-vunion prevchars trans))) - (setq trans + (setq trans (if (equal new prevchars) ;; Nothing to change, get back to orig value. prev @@ -1215,10 +1213,8 @@ where VECTOR is a vector of candidates (character or string) for the translation, and INDEX points into VECTOR to specify the currently selected translation." (if (and def (symbolp def)) - (if (functionp def) - ;; DEF is a symbol of a function which returns valid translation. - (setq def (funcall def key len)) - (setq def nil))) + ;; DEF is a symbol of a function which returns valid translation. + (setq def (if (functionp def) (funcall def key len)))) (if (and (consp def) (not (vectorp (cdr def)))) (setq def (car def))) diff --git a/lisp/international/uni-bidi.el b/lisp/international/uni-bidi.el index 4d86fc821fa..0dfabdd65da 100644 --- a/lisp/international/uni-bidi.el +++ b/lisp/international/uni-bidi.el @@ -4,9 +4,9 @@ ;; See lisp/international/README for the copyright and permission notice. (define-char-code-property 'bidi-class #^[1 nil char-code-property-table #^^[3 0 5 5 5 5 5 5 5 5 5 17 6 17 18 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 17 18 19 19 14 14 14 19 19 19 19 19 13 15 13 15 15 3 3 3 3 3 3 3 3 3 3 15 19 19 19 19 19 19 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 19 19 19 19 19 19 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 19 19 19 19 5] #^^[1 0 #^^[2 0 -#^^[3 0 5 5 5 5 5 5 5 5 5 17 6 17 18 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 17 18 19 19 14 14 14 19 19 19 19 19 13 15 13 15 15 3 3 3 3 3 3 3 3 3 3 15 19 19 19 19 19 19 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 19 19 19 19 19 19 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 19 19 19 19 5] "
" 1 1 1 "¹
" "ð" "î" 1 "ö" 1 "
¸" "°" "Ö" "³" "¦«" "
«¤" 2 "·" "º" "¹" "¹
" "º" "½¥
" "¾
" "¼" "Á" "Ê©" "±±" "±²" "³" "
¤¹"] #^^[2 4096 "" "â" 1 1 1 1 "Ý " "æ" "ÿ" 1 1 1 1 "ã" "" "·" "ñ" "©Ö" " º" "Þ¢" "½" 1 "°
¨" " ¼" "¬È" "Ð" 1 "À§" 1 1 1 "½"] #^^[2 8192 " -
" "
¡" "
" "ð" "
ì" 19 "¶Å
" "Þ" "§ " "Î" 19 19 19 "¬Ó" "ÿ" "˲" 1 1 19 19 19 19 "ͦ" 1 1 "å" "ÿ" "à " "²Î" "Ù" 19 "Ö"] #^^[2 12288 "
À" "Ú" 1 "À¤" "±" "±°" "÷
" "Þ" 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] #^^[2 16384 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 "ÀÀ" 1 1 1 1] 1 1 1 1 #^^[2 36864 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -#^^[3 40832 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]] #^^[2 40960 1 1 1 1 1 1 1 1 1 "·¹" 1 1 "ß" "ð" "¢Þ" "÷" "º" "Ä" "¦®" "°Ã" "©³" "°
¾" 1 "å" 1 1 1 1 1 1 1 1] 1 1 #^^[2 53248 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] 1 #^^[2 61440 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 "
¦°" 7 7 7 "¾À" "ý" "
" "ÿ" "
" "à
"]] #^^[1 65536 #^^[2 65536 1 1 "¾À" "
á" 1 1 1 1 1 1 1 1 1 1 1 1 2 2 "à" 2 "
¨À" 2 "¹À" 2 2 2 2 2 "à" 2 2 2] #^^[2 69632 "¶" "±Å" 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] #^^[2 73728 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] #^^[2 77824 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] 1 1 #^^[2 90112 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] 1 1 1 1 #^^[2 110592 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] 1 #^^[2 118784 1 1 "ç
" "Ò" "º" 1 "ש" 1 1 1 1 1 1 "Û¤" "¹°" "¹²" 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] #^^[2 122880 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2] #^^[2 126976 "¬Ð" " " "õ" 1 1 1 "¡Æ" "¥
" "¿¾" "ë" "¤" "û
" "°" "ƺ" "ô" 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]] #^^[1 131072 1 1 1 1 1 1 1 1 1 1 #^^[2 172032 1 1 1 1 1 1 1 1 1 1 1 1 1 +#^^[3 0 5 5 5 5 5 5 5 5 5 17 6 17 18 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 17 18 19 19 14 14 14 19 19 19 19 19 13 15 13 15 15 3 3 3 3 3 3 3 3 3 3 15 19 19 19 19 19 19 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 19 19 19 19 19 19 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 19 19 19 19 5] "
" 1 1 1 "¹
" "ð" "î" 1 "ö" 1 "¸" "
°" "Ö" "³" "¦«" "
«¤" " ·" "·" "º" "¹" "¹
" "º" "½¥
" "¾
" "¼" "Á" "Ê©" "±±" "±²" "³" "
¤¹"] #^^[2 4096 "" "â" 1 1 1 1 "Ý " "æ" "ÿ" 1 1 1 1 "ã" "" "´" "ñ" "©Ö" " º" "Þ¢" "½" 1 "°
¨" " º" "¬È" "Ð" 1 "À§" 1 1 1 "½"] #^^[2 8192 " +
" "
¡" "
" "ð" "
ì" 19 "¶Å
" "Þ" "§ " "Î" 19 19 19 "¬Ó" "ÿ" 19 1 1 19 19 19 19 "ͦ" 1 1 "å" "ÿ" "à " "¼Ä" "Ù" 19 "Ö"] #^^[2 12288 "
À" "Ú" 1 "À¤" "±" "±°" "÷
" "Þ" 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] #^^[2 16384 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 "ÀÀ" 1 1 1 1] 1 1 1 1 #^^[2 36864 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +#^^[3 40832 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]] #^^[2 40960 1 1 1 1 1 1 1 1 1 "·¹" 1 1 "ß" "Ð" "¢Þ" "÷" "º" "Ä" "¦®" "°Ã" "©³" "°
ª" 1 "å" 1 1 1 1 1 1 1 1] 1 1 #^^[2 53248 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] 1 #^^[2 61440 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 "
¦°" 7 7 7 "¾À" "ý" "
" "ÿ" "
" "à
"]] #^^[1 65536 #^^[2 65536 1 1 "¾À" "
á" 1 1 1 1 1 1 1 1 1 1 1 1 2 2 "à" 2 "
¨À" 2 "¹À" 2 2 2 2 2 "à" 2 2 2] #^^[2 69632 "¶" "±Å" "¤
Ë" "´Á" 1 1 1 1 1 1 1 1 1 "«È" 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] #^^[2 73728 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] #^^[2 77824 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] 1 1 #^^[2 90112 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 "í"] 1 1 1 1 #^^[2 110592 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] 1 #^^[2 118784 1 1 "ç
" "Ò" "º" 1 "ש" 1 1 1 1 1 1 "Û¤" "¹°" "¹²" 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] #^^[2 122880 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 "" "
´" 2 2] #^^[2 126976 "¬Ð" " " "ß" 1 1 1 "¡Æ" "¥
" "¿¾" "ø" "¾" "û
" "Á°" "ƺ" "ô" 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]] #^^[1 131072 1 1 1 1 1 1 1 1 1 1 #^^[2 172032 1 1 1 1 1 1 1 1 1 1 1 1 1 #^^[3 173696 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] #^^[2 176128 1 1 1 1 1 1 1 1 1 1 1 1 1 1 #^^[3 177920 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] 1 #^^[3 178176 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] 1 1 1 #^^[2 192512 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]] 1 1 1 1 1 1 1 1 1 1 1 #^^[1 917504 #^^[2 917504 "à" 1 16 "ð" 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] #^^[1 983040 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 #^^[2 1044480 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 diff --git a/lisp/international/uni-category.el b/lisp/international/uni-category.el index 94b7c18b6e2..f0ccde477cc 100644 --- a/lisp/international/uni-category.el +++ b/lisp/international/uni-category.el @@ -4,21 +4,21 @@ ;; See lisp/international/README for the copyright and permission notice. (define-char-code-property 'general-category #^[30 nil char-code-property-table #^^[3 0 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 23 18 18 18 20 18 18 18 14 15 18 19 18 13 18 18 9 9 9 9 9 9 9 9 9 9 18 18 19 19 19 18 18 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 14 18 15 21 12 21 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 14 19 15 19 26] #^^[1 0 #^^[2 0 -#^^[3 0 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 23 18 18 18 20 18 18 18 14 15 18 19 18 13 18 18 9 9 9 9 9 9 9 9 9 9 18 18 19 19 19 18 18 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 14 18 15 21 12 21 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 14 19 15 19 26] " " "" "" "±" "
" "ð" "£
" "°°" "
" "¦" "
" " " "Ô " "³" "¦ ¡
" "
¡" 30 "¶ " " " " " "
" "
" "
" "
" "
" "© " "" "° ¤" "
¢" "
¤" "
¤
¥"] #^^[2 4096 "« " " ¦«" 5 5 "É " "¡¨" "Ã" "Õ" "
ÿ" 5 5 5 "í" "Ë -" "" "´ " "
£´" "©
Æ" "
" "¬ ¢" "µ" " Ò" "¯
" " ¦" "¤
" "Ð" "¬¶" "¥§" "" "" "" "
"] #^^[2 8192 "
" "" "
+#^^[3 0 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 23 18 18 18 20 18 18 18 14 15 18 19 18 13 18 18 9 9 9 9 9 9 9 9 9 9 18 18 19 19 19 18 18 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 14 18 15 21 12 21 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 14 19 15 19 26] " " "" "" "±" "
" "ð" "£
" "°°" "
" "¦" "
" "
" "Ô " "³" "¦ ¡
" "
¡" " ·" "¶ " " " " " "
" "
" "
" "
" "
" "© " "" "° ¤" "
" " ¤" "
¤
¥"] #^^[2 4096 "« " " ¦
«" 5 5 "É " "¡¨" "Ã" "Õ" "
ÿ" 5 5 5 "í" "Ë +" "" "´ " "
£´" "©
Æ" "
" "¬ ¢" "µ" " Ò" "¯
" " ¬" "¤
" "À" "¬¿" "¥§" "" "" "" "
"] #^^[2 8192 "
" "" "
" " -
" 19 19 "Ñ" "¨" "§ " "Î" 22 "·¶" "ï" 22 "ç" "¬
" 22 22 19 "¿ " 19 19 "°¦" 30 "¯¯" "" "¦¶" " " "
Î" "Ù" 22 "Ö"] #^^[2 12288 " +
" 19 19 "Ñ" "¨" "§ " "Î" 22 "·¶" "ï" 22 "ç" "¬
" 22 22 19 "¿ " 19 19 "°¦" 30 "¯¯" "
" "¦
¸" " " "
Ä" "Ù" 22 "Ö"] #^^[2 12288 " -
-¿" "
Ú" "
©Ï" "
¤" "§ " "§¿" 22 22 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5] #^^[2 16384 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 "¶À" 5 5 5 5] 5 5 5 5 #^^[2 36864 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 -#^^[3 40832 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30]] #^^[2 40960 "ê" 5 5 5 5 5 5 5 5 "·¨" 5 5 " " "Æ -" "" "Ð
" "´" "² " " " "¯ " "© " "°
" "Ñ" "À£ " 5 5 5 5 5 5 5 5] 5 5 #^^[2 53248 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 "¤±" 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30] 29 #^^[2 61440 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 5 5 "®¾" "Ú¦" "
º" "²" 5 5 "¾°" "¶¨" "
" "ý" "
" ""]] #^^[1 65536 #^^[2 65536 "¢" "û
" " +
+¿" "
Ú" "
©Ï" "
¤" " " "§¿" 22 22 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5] #^^[2 16384 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 "¶À" 5 5 5 5] 5 5 5 5 #^^[2 36864 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 +#^^[3 40832 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30]] #^^[2 40960 "ê" 5 5 5 5 5 5 5 5 "·¨" 5 5 " " "Æ +" "" "Í
" "´" "² " " " "¯ " "© " "°
" "Ñ" "À£ " 5 5 5 5 5 5 5 5] 5 5 #^^[2 53248 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 "¤±" 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30] 29 #^^[2 61440 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 5 5 "î" "Ú¦" "
º" "²" 5 5 "¾°" "¶¨" "
" "ý" "
" ""]] #^^[1 65536 #^^[2 65536 "¢" "û
" " µ" "
´" 30 "±¯" " µ" "¤ -
ª" "¨¨°" " Ö" 30 30 30 30 30 30 "¬ " 30 "
À" 30 "
" 30 "¶
" 30 "É·" 30 30 30 "à" 30 30 30] #^^[2 69632 "µ " "¾" 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30] #^^[2 73728 5 5 5 5 5 5 "ï" 30 " -ã" 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30] #^^[2 77824 5 5 5 5 5 5 5 5 "¯Ñ" 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30] 30 30 #^^[2 90112 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 5 5 5 5 "¹Ç" 30 30 30 30 30 30 30 30 30 30 30] 30 30 30 30 #^^[2 110592 "þ" 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30] 30 #^^[2 118784 22 "ö" "§¼
" "°¢" "º" 30 "×" 30 "" "" "
" "" "" "" "" " ²" 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30] 30 #^^[2 126976 "¬Ð" " " "
º" "Ë" "«
®" 30 "¡Æ" "¥
" "¿¾" "ø" "¾" "û
" "°" "ƺ" "ô" 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30]] #^^[1 131072 5 5 5 5 5 5 5 5 5 5 #^^[2 172032 5 5 5 5 5 5 5 5 5 5 5 5 5 +
ª" "¨¨°" " Ö" 30 30 30 30 30 30 "¬ " 30 "
À" "¸À" "
" 30 "¶
" 30 "É·" 30 30 30 "à" 30 30 30] #^^[2 69632 "µ " " " "¤
¼" "° ¦" 30 30 30 30 30 30 30 30 30 "« ¶" 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30] #^^[2 73728 5 5 5 5 5 5 "ï" 30 " +ã" 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30] #^^[2 77824 5 5 5 5 5 5 5 5 "¯Ñ" 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30] 30 30 #^^[2 90112 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 5 5 5 5 "¹Ç" 30 30 30 30 30 30 30 30 30 "Å®" "à"] 30 30 30 30 #^^[2 110592 "þ" 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30] 30 #^^[2 118784 22 "ö" "§¼
" "°¢" "º" 30 "×" 30 "" "" "
" "" "" "" "" " ²" 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30] #^^[2 122880 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 "" "
´" 30 30] #^^[2 126976 "¬Ð" " " "
¼" "Ë" "«
®" 30 "¡Æ" "¥
" "¿¾" "ø" "¾" "û
" "Á°" "ƺ" "ô" 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30]] #^^[1 131072 5 5 5 5 5 5 5 5 5 5 #^^[2 172032 5 5 5 5 5 5 5 5 5 5 5 5 5 #^^[3 173696 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30] 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5] #^^[2 176128 5 5 5 5 5 5 5 5 5 5 5 5 5 5 #^^[3 177920 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 30 30 30 30 30 30 30 30 30 30 30 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5] 5 #^^[3 178176 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30] 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30] 30 30 30 #^^[2 192512 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 5 5 5 5 "â" 30 30 30 30 30 30 30 30 30 30 30]] 30 30 30 30 30 30 30 30 30 30 30 #^^[1 917504 #^^[2 917504 "à" 30 6 "ð" 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30] 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30] #^^[1 983040 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 #^^[2 1044480 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 diff --git a/lisp/international/uni-combining.el b/lisp/international/uni-combining.el index 1437ff9acbd..3863f95f881 100644 --- a/lisp/international/uni-combining.el +++ b/lisp/international/uni-combining.el @@ -6,9 +6,9 @@ - " 1 1 "
ø" 1 "
¸" "° !\"#$
%" "Ö" "&µ" "ë" "
«¤" 1 "¼'(«" "¼'(²" "¼'(²" "¼'(²" "¼'(²" "Í(²" "Í()*©" "¼'(²" "Í(²" "Ê(µ" "¸++(,´" "¸--.´" "·/01
0" "0(¾¹"] #^^[2 4096 "·'((Å" "ò" 1 1 1 1 "Ý " 1 1 1 1 1 1 1 "((Ë" "Ò(¢" 1 "©Ö" "¹Ä" 1 "Ç(" 1 "´'(¦" "ª(»'((" "·'È" "Ð
" 1 "À + " 1 1 "
ø" 1 "
¸" "° !\"#$
%" "Ö" "&µ" "ë" "
«¤" "ä !\"" "¼'(«" "¼'(²" "¼'(²" "¼'(²" "¼'(²" "Í(²" "Í()*©" "¼'(²" "Í(²" "Ê(µ" "¸++(,´" "¸--.´" "·/01
0" "0(¾¹"] #^^[2 4096 "·'((Å" "ò" 1 1 1 1 "Ý " 1 1 1 1 1 1 1 "((Ë" "Ò(¢" 1 "©Ö" "¹Ä" 1 "Ç(" 1 "´'(¦" "ª((º'((" "·'È" "Ð
" 1 "À 2 " 1 1 1 1] #^^[2 8192 1 "Ð" 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 "ï" "ÿ(" "à " 1 1 1 1] #^^[2 12288 "ª344Ð" "55å" 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] #^^[2 16384 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] 1 1 1 1 #^^[2 36864 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -#^^[3 40832 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]] #^^[2 40960 1 1 1 1 1 1 1 1 1 1 1 1 "ï" "ð" 1 1 "(ù" "Ä(" "«¥(¬" "³'(¿" 1 "°
¾" 1 "í(" 1 1 1 1 1 1 1 1] 1 1 #^^[2 53248 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] 1 #^^[2 61440 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 "6á" 1 1 1 1 1 " Ù" 1 1 1]] #^^[1 65536 #^^[2 65536 1 1 1 "ý" 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 "¨(À" 1 1 1 1 1 1 1 1 1 1 1] #^^[2 69632 "Æ(¹" "¹('Å" 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] #^^[2 73728 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] #^^[2 77824 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] 1 1 #^^[2 90112 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] 1 1 1 1 #^^[2 110592 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] 1 #^^[2 118784 1 1 "å7
" "
Ò" "»" 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] 1 #^^[2 126976 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]] #^^[1 131072 1 1 1 1 1 1 1 1 1 1 #^^[2 172032 1 1 1 1 1 1 1 1 1 1 1 1 1 +#^^[3 40832 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]] #^^[2 40960 1 1 1 1 1 1 1 1 1 1 1 1 "ï" "Ð" 1 1 "(ù" "Ä(" "«¥(¬" "³'(¿" 1 "°
´(" 1 "í(" 1 1 1 1 1 1 1 1] 1 1 #^^[2 53248 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] 1 #^^[2 61440 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 "6á" 1 1 1 1 1 " Ù" 1 1 1]] #^^[1 65536 #^^[2 65536 1 1 1 "ý" 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 "¨(À" 1 1 1 1 1 1 1 1 1 1 1] #^^[2 69632 "Æ(¹" "¹('Å" "°((Ë" "À(¿" 1 1 1 1 1 1 1 1 1 "¶('È" 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] #^^[2 73728 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] #^^[2 77824 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] 1 1 #^^[2 90112 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] 1 1 1 1 #^^[2 110592 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] 1 #^^[2 118784 1 1 "å7
" "
Ò" "»" 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] #^^[2 122880 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] #^^[2 126976 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]] #^^[1 131072 1 1 1 1 1 1 1 1 1 1 #^^[2 172032 1 1 1 1 1 1 1 1 1 1 1 1 1 #^^[3 173696 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] #^^[2 176128 1 1 1 1 1 1 1 1 1 1 1 1 1 1 #^^[3 177920 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] 1 #^^[3 178176 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] 1 1 1 #^^[2 192512 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]] 1 1 1 1 1 1 1 1 1 1 1 #^^[1 917504 #^^[2 917504 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] #^^[1 983040 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 #^^[2 1044480 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 diff --git a/lisp/international/uni-decimal.el b/lisp/international/uni-decimal.el Binary files differindex 096257add20..1866e7c4354 100644 --- a/lisp/international/uni-decimal.el +++ b/lisp/international/uni-decimal.el diff --git a/lisp/international/uni-decomposition.el b/lisp/international/uni-decomposition.el Binary files differindex b9660cdab0a..2bcca9e60fb 100644 --- a/lisp/international/uni-decomposition.el +++ b/lisp/international/uni-decomposition.el diff --git a/lisp/international/uni-digit.el b/lisp/international/uni-digit.el Binary files differindex efb78b0e43d..405d59784a7 100644 --- a/lisp/international/uni-digit.el +++ b/lisp/international/uni-digit.el diff --git a/lisp/international/uni-lowercase.el b/lisp/international/uni-lowercase.el Binary files differindex 7afd9503cb3..81196499150 100644 --- a/lisp/international/uni-lowercase.el +++ b/lisp/international/uni-lowercase.el diff --git a/lisp/international/uni-mirrored.el b/lisp/international/uni-mirrored.el Binary files differindex e650166c24c..c34184c0d6b 100644 --- a/lisp/international/uni-mirrored.el +++ b/lisp/international/uni-mirrored.el diff --git a/lisp/international/uni-name.el b/lisp/international/uni-name.el Binary files differindex c3e5f2e5907..458957ef366 100644 --- a/lisp/international/uni-name.el +++ b/lisp/international/uni-name.el diff --git a/lisp/international/uni-numeric.el b/lisp/international/uni-numeric.el Binary files differindex a1865f1fb23..9f0d3079259 100644 --- a/lisp/international/uni-numeric.el +++ b/lisp/international/uni-numeric.el diff --git a/lisp/international/uni-titlecase.el b/lisp/international/uni-titlecase.el Binary files differindex 517edb20445..e3454a4dd3d 100644 --- a/lisp/international/uni-titlecase.el +++ b/lisp/international/uni-titlecase.el diff --git a/lisp/international/uni-uppercase.el b/lisp/international/uni-uppercase.el Binary files differindex fcb22d72470..85112406d75 100644 --- a/lisp/international/uni-uppercase.el +++ b/lisp/international/uni-uppercase.el diff --git a/lisp/iswitchb.el b/lisp/iswitchb.el index 86cef14960e..9600bd1db2d 100644 --- a/lisp/iswitchb.el +++ b/lisp/iswitchb.el @@ -373,7 +373,7 @@ See also `iswitchb-newbuffer'." :group 'iswitchb) (defvar iswitchb-all-frames 'visible - "*Argument to pass to `walk-windows' when finding visible buffers. + "Argument to pass to `walk-windows' when finding visible buffers. See documentation of `walk-windows' for useful values.") (defcustom iswitchb-minibuffer-setup-hook nil diff --git a/lisp/kmacro.el b/lisp/kmacro.el index c8dd05f7c4d..b715e44387e 100644 --- a/lisp/kmacro.el +++ b/lisp/kmacro.el @@ -231,12 +231,12 @@ macro to be executed before appending to it." ;;; Keyboard macro counter (defvar kmacro-counter 0 - "*Current keyboard macro counter.") + "Current keyboard macro counter.") (defvar kmacro-default-counter-format "%d") (defvar kmacro-counter-format "%d" - "*Current keyboard macro counter format.") + "Current keyboard macro counter format.") (defvar kmacro-counter-format-start kmacro-counter-format "Macro format at start of macro execution.") diff --git a/lisp/language/ethio-util.el b/lisp/language/ethio-util.el index e61645c10fc..90e649c574c 100644 --- a/lisp/language/ethio-util.el +++ b/lisp/language/ethio-util.el @@ -99,34 +99,34 @@ ;; (defvar ethio-primary-language 'tigrigna - "*Symbol that defines the primary language in SERA --> FIDEL conversion. + "Symbol that defines the primary language in SERA --> FIDEL conversion. The value should be one of: `tigrigna', `amharic' or `english'.") (defvar ethio-secondary-language 'english - "*Symbol that defines the secondary language in SERA --> FIDEL conversion. + "Symbol that defines the secondary language in SERA --> FIDEL conversion. The value should be one of: `tigrigna', `amharic' or `english'.") (defvar ethio-use-colon-for-colon nil - "*Non-nil means associate ASCII colon with Ethiopic colon. + "Non-nil means associate ASCII colon with Ethiopic colon. If nil, associate ASCII colon with Ethiopic word separator, i.e., two vertically stacked dots. All SERA <--> FIDEL converters refer this variable.") (defvar ethio-use-three-dot-question nil - "*Non-nil means associate ASCII question mark with Ethiopic old style question mark (three vertically stacked dots). + "Non-nil means associate ASCII question mark with Ethiopic old style question mark (three vertically stacked dots). If nil, associate ASCII question mark with Ethiopic stylized question mark. All SERA <--> FIDEL converters refer this variable.") (defvar ethio-quote-vowel-always nil - "*Non-nil means always put an apostrophe before an isolated vowel (except at word initial) in FIDEL --> SERA conversion. + "Non-nil means always put an apostrophe before an isolated vowel (except at word initial) in FIDEL --> SERA conversion. If nil, put an apostrophe only between a 6th-form consonant and an isolated vowel.") (defvar ethio-W-sixth-always nil - "*Non-nil means convert the Wu-form of a 12-form consonant to \"W'\" instead of \"Wu\" in FIDEL --> SERA conversion.") + "Non-nil means convert the Wu-form of a 12-form consonant to \"W'\" instead of \"Wu\" in FIDEL --> SERA conversion.") (defvar ethio-numeric-reduction 0 - "*Degree of reduction in converting Ethiopic digits into Arabic digits. + "Degree of reduction in converting Ethiopic digits into Arabic digits. Should be 0, 1 or 2. For example, ({10}{9}{100}{80}{7}) is converted into: `10`9`100`80`7 if `ethio-numeric-reduction' is 0, @@ -134,7 +134,7 @@ For example, ({10}{9}{100}{80}{7}) is converted into: `10900807 if `ethio-numeric-reduction' is 2.") (defvar ethio-java-save-lowercase nil - "*Non-nil means save Ethiopic characters in lowercase hex numbers to Java files. + "Non-nil means save Ethiopic characters in lowercase hex numbers to Java files. If nil, use uppercases.") (defun ethio-prefer-amharic-p () diff --git a/lisp/language/european.el b/lisp/language/european.el index b658f93d90f..259c06755a0 100644 --- a/lisp/language/european.el +++ b/lisp/language/european.el @@ -324,6 +324,14 @@ Latin-9 is sometimes nicknamed `Latin-0'.")) :mime-charset 'windows-1257) (define-coding-system-alias 'cp1257 'windows-1257) +(define-coding-system 'cp775 + "DOS codepage 775 (PC Baltic, MS-DOS Baltic Rim)" + :coding-type 'charset + :mnemonic ?D + :charset-list '(cp775) + :mime-charset 'cp775) +(define-coding-system-alias 'ibm775 'cp775) + (define-coding-system 'cp850 "DOS codepage 850 (Western European)" :coding-type 'charset diff --git a/lisp/language/korea-util.el b/lisp/language/korea-util.el index f8dfdf45d00..ee8ebb7b2e7 100644 --- a/lisp/language/korea-util.el +++ b/lisp/language/korea-util.el @@ -32,7 +32,7 @@ (purecopy (if (string-match "3" (or (getenv "HANGUL_KEYBOARD_TYPE") "")) "3" "")) - "*The kind of Korean keyboard for Korean input method. + "The kind of Korean keyboard for Korean input method. \"\" for 2, \"3\" for 3.") ;; functions useful for Korean text input diff --git a/lisp/language/tibet-util.el b/lisp/language/tibet-util.el index 66795201f7f..f6dd15bf222 100644 --- a/lisp/language/tibet-util.el +++ b/lisp/language/tibet-util.el @@ -398,7 +398,7 @@ See also docstring of the function tibetan-compose-region." )))) (defvar tibetan-strict-unicode t - "*Flag to control Tibetan canonicalizing for Unicode. + "Flag to control Tibetan canonicalizing for Unicode. If non-nil, the vowel a is removed and composite vowels are decomposed before writing buffer in Unicode. See also diff --git a/lisp/loadup.el b/lisp/loadup.el index b7af41d6246..f7ffa27a9ed 100644 --- a/lisp/loadup.el +++ b/lisp/loadup.el @@ -89,12 +89,12 @@ (load "widget") (load "custom") (load "emacs-lisp/map-ynp") -(load "cus-start") (load "international/mule") (load "international/mule-conf") (load "env") (load "format") (load "bindings") +(load "cus-start") (load "window") ; Needed here for `replace-buffer-in-windows'. (setq load-source-file-function 'load-with-code-conversion) (load "files") @@ -193,6 +193,8 @@ (if (fboundp 'x-create-frame) (progn (load "fringe") + ;; Needed by `imagemagick-register-types' + (load "emacs-lisp/regexp-opt") (load "image") (load "international/fontset") (load "dnd") @@ -259,6 +261,8 @@ (versions (mapcar (function (lambda (name) (string-to-number (substring name (length base))))) files))) + (setq emacs-bzr-version (condition-case nil (emacs-bzr-get-version) + (error nil))) ;; `emacs-version' is a constant, so we shouldn't change it with `setq'. (defconst emacs-version (format "%s.%d" diff --git a/lisp/mail/binhex.el b/lisp/mail/binhex.el index dd76ce90809..40ea8fa4a82 100644 --- a/lisp/mail/binhex.el +++ b/lisp/mail/binhex.el @@ -43,20 +43,20 @@ :group 'news) (defcustom binhex-decoder-program "hexbin" - "*Non-nil value should be a string that names a binhex decoder. + "Non-nil value should be a string that names a binhex decoder. The program should expect to read binhex data on its standard input and write the converted data to its standard output." :type 'string :group 'binhex) (defcustom binhex-decoder-switches '("-d") - "*List of command line flags passed to the command `binhex-decoder-program'." + "List of command line flags passed to the command `binhex-decoder-program'." :group 'binhex :type '(repeat string)) (defcustom binhex-use-external (executable-find binhex-decoder-program) - "*Use external binhex program." + "Use external binhex program." :version "22.1" :group 'binhex :type 'boolean) diff --git a/lisp/mail/emacsbug.el b/lisp/mail/emacsbug.el index 1a02ae7c519..33b73335a7d 100644 --- a/lisp/mail/emacsbug.el +++ b/lisp/mail/emacsbug.el @@ -239,6 +239,8 @@ usually do not have translators for other languages.\n\n"))) (add-text-properties (1+ user-point) (point) prompt-properties) (insert "\n\nIn " (emacs-version) "\n") + (if (stringp emacs-bzr-version) + (insert "Bzr revision: " emacs-bzr-version "\n")) (if (fboundp 'x-server-vendor) (condition-case nil ;; This is used not only for X11 but also W32 and others. diff --git a/lisp/mail/feedmail.el b/lisp/mail/feedmail.el index 039f3dca4a2..f35560841e2 100644 --- a/lisp/mail/feedmail.el +++ b/lisp/mail/feedmail.el @@ -1340,7 +1340,7 @@ Example 'defadvice' for mail-send: (defvar feedmail-queue-runner-is-active nil - "*Non-nil means we're inside the logic of the queue-running loop. + "Non-nil means we're inside the logic of the queue-running loop. That is, iterating over all messages in the queue to send them. In that case, the value is the name of the queued message file currently being processed. This can be used for differentiating customized code @@ -1371,11 +1371,11 @@ call to `feedmail-run-the-queue'." (defvar feedmail-mail-send-hook nil - "*See documentation for `feedmail-mail-send-hook-splitter'.") + "See documentation for `feedmail-mail-send-hook-splitter'.") (defvar feedmail-mail-send-hook-queued nil - "*See documentation for `feedmail-mail-send-hook-splitter'.") + "See documentation for `feedmail-mail-send-hook-splitter'.") (defun feedmail-confirm-addresses-hook-example () @@ -1514,7 +1514,7 @@ function, for example, to archive all of your sent messages someplace (defvar feedmail-is-a-resend nil - "*Non-nil means the message is a Resend (in the RFC-822 sense). + "Non-nil means the message is a Resend (in the RFC-822 sense). This affects the composition of certain headers. feedmail sets this variable as soon as it starts prepping the message text buffer, so any user-supplied functions can rely on it. Users shouldn't set or change this @@ -1586,7 +1586,7 @@ messages to make sure it works as expected." ;; feedmail-buffer-to-binmail, feedmail-buffer-to-sendmail, and -;; feedmail-buffer-to-smptmail are the only things provided for values +;; feedmail-buffer-to-smtpmail are the only things provided for values ;; for the variable feedmail-buffer-eating-function. It's pretty easy ;; to write your own, though. (defun feedmail-buffer-to-binmail (prepped errors-to addr-listoid) diff --git a/lisp/mail/footnote.el b/lisp/mail/footnote.el index 05949d0eccf..c0a63ef197c 100644 --- a/lisp/mail/footnote.el +++ b/lisp/mail/footnote.el @@ -129,7 +129,7 @@ has no effect on buffers already displaying footnotes." (defvar footnote-signature-separator (if (boundp 'message-signature-separator) message-signature-separator "^-- $") - "*String used to recognize .signatures.") + "String used to recognize .signatures.") ;;; Private variables diff --git a/lisp/mail/hashcash.el b/lisp/mail/hashcash.el index 279b5f7b460..fd8d2633818 100644 --- a/lisp/mail/hashcash.el +++ b/lisp/mail/hashcash.el @@ -58,14 +58,14 @@ :group 'mail) (defcustom hashcash-default-payment 20 - "*The default number of bits to pay to unknown users. + "The default number of bits to pay to unknown users. If this is zero, no payment header will be generated. See `hashcash-payment-alist'." :type 'integer :group 'hashcash) (defcustom hashcash-payment-alist '() - "*An association list mapping email addresses to payment amounts. + "An association list mapping email addresses to payment amounts. Elements may consist of (ADDR AMOUNT) or (ADDR STRING AMOUNT), where ADDR is the email address of the intended recipient and AMOUNT is the value of hashcash payment to be made to that user. STRING, if @@ -80,33 +80,33 @@ present, is the string to be hashed; if not present ADDR will be used." :group 'hashcash) (defcustom hashcash-default-accept-payment 20 - "*The default minimum number of bits to accept on incoming payments." + "The default minimum number of bits to accept on incoming payments." :type 'integer :group 'hashcash) (defcustom hashcash-accept-resources `((,user-mail-address nil)) - "*An association list mapping hashcash resources to payment amounts. + "An association list mapping hashcash resources to payment amounts. Resources named here are to be accepted in incoming payments. If the corresponding AMOUNT is NIL, the value of `hashcash-default-accept-payment' is used instead." :group 'hashcash) (defcustom hashcash-path (executable-find "hashcash") - "*The path to the hashcash binary." + "The path to the hashcash binary." :group 'hashcash) (defcustom hashcash-extra-generate-parameters nil - "*A list of parameter strings passed to `hashcash-path' when minting. + "A list of parameter strings passed to `hashcash-path' when minting. For example, you may want to set this to '(\"-Z2\") to reduce header length." :type '(repeat string) :group 'hashcash) (defcustom hashcash-double-spend-database "hashcash.db" - "*The path to the double-spending database." + "The path to the double-spending database." :group 'hashcash) (defcustom hashcash-in-news nil - "*Specifies whether or not hashcash payments should be made to newsgroups." + "Specifies whether or not hashcash payments should be made to newsgroups." :type 'boolean :group 'hashcash) diff --git a/lisp/mail/mail-extr.el b/lisp/mail/mail-extr.el index 6af9c2478fc..32f99ac1465 100644 --- a/lisp/mail/mail-extr.el +++ b/lisp/mail/mail-extr.el @@ -218,14 +218,14 @@ ;; (defcustom mail-extr-guess-middle-initial nil - "*Whether to try to guess middle initial from mail address. + "Whether to try to guess middle initial from mail address. If true, then when we see an address like \"John Smith <jqs@host.com>\" we will assume that \"John Q. Smith\" is the fellow's name." :type 'boolean :group 'mail-extr) (defcustom mail-extr-ignore-single-names nil - "*Whether to ignore a name that is just a single word. + "Whether to ignore a name that is just a single word. If true, then when we see an address like \"Idiot <dumb@stupid.com>\" we will act as though we couldn't find a full name in the address." :type 'boolean @@ -244,19 +244,19 @@ we will act as though we couldn't find a full name in the address." (defcustom mail-extr-full-name-prefixes (purecopy "\\(Prof\\|D[Rr]\\|Mrs?\\|Rev\\|Rabbi\\|SysOp\\|LCDR\\)\\.?[ \t\n]") - "*Matches prefixes to the full name that identify a person's position. + "Matches prefixes to the full name that identify a person's position. These are stripped from the full name because they do not contribute to uniquely identifying the person." :type 'regexp :group 'mail-extr) (defcustom mail-extr-@-binds-tighter-than-! nil - "*Whether the local mail transport agent looks at ! before @." + "Whether the local mail transport agent looks at ! before @." :type 'boolean :group 'mail-extr) (defcustom mail-extr-mangle-uucp nil - "*Whether to throw away information in UUCP addresses + "Whether to throw away information in UUCP addresses by translating things like \"foo!bar!baz@host\" into \"baz@bar.UUCP\"." :type 'boolean :group 'mail-extr) @@ -1454,7 +1454,7 @@ consing a string.)" )) (defcustom mail-extr-disable-voodoo "\\cj" - "*If it is a regexp, names matching it will never be modified. + "If it is a regexp, names matching it will never be modified. If it is neither nil nor a string, modifying of names will never take place. It affects how `mail-extract-address-components' works." :type '(choice (regexp :size 0) diff --git a/lisp/mail/mail-hist.el b/lisp/mail/mail-hist.el index 0e79992aebe..dd489e3c6a9 100644 --- a/lisp/mail/mail-hist.el +++ b/lisp/mail/mail-hist.el @@ -78,14 +78,14 @@ Used for knowing which history list to look in when the user asks for previous/next input.") (defcustom mail-hist-history-size (or kill-ring-max 1729) - "*The maximum number of elements in a mail field's history. + "The maximum number of elements in a mail field's history. Oldest elements are dumped first." :type 'integer :group 'mail-hist) ;;;###autoload (defcustom mail-hist-keep-history t - "*Non-nil means keep a history for headers and text of outgoing mail." + "Non-nil means keep a history for headers and text of outgoing mail." :type 'boolean :group 'mail-hist) @@ -182,7 +182,7 @@ HEADER is a string without the colon." (cdr (assoc header mail-hist-header-ring-alist))) (defcustom mail-hist-text-size-limit nil - "*Don't store any header or body with more than this many characters. + "Don't store any header or body with more than this many characters. If the value is nil, that means no limit on text size." :type '(choice (const nil) integer) :group 'mail-hist) diff --git a/lisp/mail/mailabbrev.el b/lisp/mail/mailabbrev.el index 51a4c6506be..fb8e1502f91 100644 --- a/lisp/mail/mailabbrev.el +++ b/lisp/mail/mailabbrev.el @@ -255,7 +255,7 @@ By default this is the file specified by `mail-personal-alias-file'." (message "Parsing %s... done" file)) (defvar mail-alias-separator-string ", " - "*A string inserted between addresses in multi-address mail aliases. + "A string inserted between addresses in multi-address mail aliases. This has to contain a comma, so \", \" is a reasonable value. You might also want something like \",\\n \" to get each address on its own line.") @@ -423,7 +423,7 @@ fill-column, break the line at the previous comma, and indent the next line." (defvar mail-abbrev-mode-regexp "^\\(Resent-\\)?\\(To\\|From\\|CC\\|BCC\\|Reply-to\\):" - "*Regexp to select mail-headers in which mail abbrevs should be expanded. + "Regexp to select mail-headers in which mail abbrevs should be expanded. This string will be handed to `looking-at' with point at the beginning of the current line; if it matches, abbrev mode will be turned on, otherwise it will be turned off. (You don't need to worry about continuation lines.) diff --git a/lisp/mail/metamail.el b/lisp/mail/metamail.el index ed2c4a66b7a..60dcd5210e1 100644 --- a/lisp/mail/metamail.el +++ b/lisp/mail/metamail.el @@ -42,23 +42,23 @@ :group 'processes) (defcustom metamail-program-name "metamail" - "*Metamail program name." + "Metamail program name." :type 'string :group 'metamail) (defcustom metamail-mailer-name "emacs" - "*Mailer name set to MM_MAILER environment variable." + "Mailer name set to MM_MAILER environment variable." :type 'string :group 'metamail) (defvar metamail-environment '("KEYHEADS=*" "MM_QUIET=1") - "*Environment variables passed to `metamail'. + "Environment variables passed to `metamail'. It must be a list of strings that have the format ENVVARNAME=VALUE. It is not expected to be altered globally by `set' or `setq'. Instead, change its value temporary using `let' or `let*' form.") (defcustom metamail-switches '("-x" "-d" "-z") - "*Switches for `metamail' program. + "Switches for `metamail' program. `-z' is required to remove zap file. It is not expected to be altered globally by `set' or `setq'. Instead, change its value temporary using `let' or `let*' form. diff --git a/lisp/mail/mspools.el b/lisp/mail/mspools.el index d52d9633ee7..9f9c9c68285 100644 --- a/lisp/mail/mspools.el +++ b/lisp/mail/mspools.el @@ -125,17 +125,17 @@ ) (defcustom mspools-update nil - "*Non-nil means update *spools* buffer after visiting any folder." + "Non-nil means update *spools* buffer after visiting any folder." :type 'boolean :group 'mspools) (defcustom mspools-suffix "spool" - "*Extension used for spool files (not including full stop)." + "Extension used for spool files (not including full stop)." :type 'string :group 'mspools) (defcustom mspools-using-vm (fboundp 'vm) - "*Non-nil if VM is used as mail reader, otherwise RMAIL is used." + "Non-nil if VM is used as mail reader, otherwise RMAIL is used." :type 'boolean :group 'mspools) @@ -143,7 +143,7 @@ (if (boundp 'vm-folder-directory) vm-folder-directory "~/MAIL/") - "*Directory where mail folders are kept. Ensure it has a trailing /. + "Directory where mail folders are kept. Ensure it has a trailing /. Defaults to `vm-folder-directory' if bound else to ~/MAIL/." :type 'directory :group 'mspools) @@ -151,7 +151,7 @@ Defaults to `vm-folder-directory' if bound else to ~/MAIL/." (defcustom mspools-vm-system-mail (or (getenv "MAIL") (concat rmail-spool-directory (user-login-name))) - "*Spool file for main mailbox. Only used by VM. + "Spool file for main mailbox. Only used by VM. This needs to be set to your primary mail spool - mspools will not run without it. By default this will be set to the environment variable $MAIL. Otherwise it will use `rmail-spool-directory' to guess where diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el index 3a9ba8122ab..d2b9890805c 100644 --- a/lisp/mail/rmail.el +++ b/lisp/mail/rmail.el @@ -40,6 +40,9 @@ (require 'mail-utils) (require 'rfc2047) +(declare-function compilation--message->loc "compile" (cl-x) t) +(declare-function epa--find-coding-system-for-mime-charset "epa" (mime-charset)) + (defconst rmail-attribute-header "X-RMAIL-ATTRIBUTES" "The header that stores the Rmail attribute data.") @@ -712,7 +715,7 @@ to an appropriate value, and optionally also set ;; FIXME this is unused since 23.1. (defvar rmail-decode-mime-charset t - "*Non-nil means a message is decoded by MIME's charset specification. + "Non-nil means a message is decoded by MIME's charset specification. If this variable is nil, or the message has not MIME specification, the message is decoded as normal way. @@ -3560,6 +3563,16 @@ does not pop any summary buffer." ;;;; *** Rmail Mailing Commands *** +(defun rmail-yank-current-message (buffer) + "Yank into the current buffer the current message of Rmail buffer BUFFER. +If BUFFER is swapped with its message viewer buffer, yank out of BUFFER. +If BUFFER is not swapped, yank out of its message viewer buffer." + (with-current-buffer buffer + (unless (rmail-buffers-swapped-p) + (setq buffer rmail-view-buffer))) + (insert-buffer buffer)) + + (defun rmail-start-mail (&optional noerase to subject in-reply-to cc replybuffer sendactions same-window other-headers) @@ -3571,7 +3584,8 @@ does not pop any summary buffer." (if replybuffer ;; The function used here must behave like insert-buffer wrt ;; point and mark (see doc of sc-cite-original). - (setq yank-action (list 'insert-buffer replybuffer))) + (setq yank-action + `(rmail-yank-current-message ,replybuffer))) (push (cons "cc" cc) other-headers) (push (cons "in-reply-to" in-reply-to) other-headers) (setq other-headers @@ -3587,7 +3601,7 @@ does not pop any summary buffer." (prog1 (compose-mail to subject other-headers noerase switch-function yank-action sendactions - `(rmail-mail-return ,replybuffer)) + (if replybuffer `(rmail-mail-return ,replybuffer))) (if (eq switch-function 'switch-to-buffer-other-frame) ;; This is not a standard frame parameter; nothing except ;; sendmail.el looks at it. @@ -3644,7 +3658,7 @@ to switch to." While composing the message, use \\[mail-yank-original] to yank the original message into it." (interactive) - (rmail-start-mail nil nil nil nil nil rmail-view-buffer)) + (rmail-start-mail nil nil nil nil nil rmail-buffer)) ;; FIXME should complain if there is nothing to continue. (defun rmail-continue () @@ -3731,9 +3745,7 @@ use \\[mail-yank-original] to yank the original message into it." (mail-strip-quoted-names (if (null cc) to (concat to ", " cc)))))) (if (string= cc-list "") nil cc-list))) - (if (rmail-buffers-swapped-p) - rmail-buffer - rmail-view-buffer) + rmail-buffer (list (list 'rmail-mark-message rmail-buffer (with-current-buffer rmail-buffer @@ -3835,7 +3847,7 @@ see the documentation of `rmail-resend'." (or (mail-fetch-field "Subject") "") "]"))) (if (rmail-start-mail - nil nil subject nil nil nil + nil nil subject nil nil rmail-buffer (list (list 'rmail-mark-message forward-buffer (with-current-buffer rmail-buffer @@ -4211,7 +4223,7 @@ This has an effect only if a summary buffer exists." (eval-when-compile (require 'speedbar)) (defvar rmail-speedbar-match-folder-regexp "^[A-Z0-9]+\\(\\.[A-Z0-9]+\\)?$" - "*This regex is used to match folder names to be displayed in speedbar. + "This regex is used to match folder names to be displayed in speedbar. Enabling this will permit speedbar to display your folders for easy browsing, and moving of messages.") @@ -4704,7 +4716,7 @@ SENDERS is a string of regexps separated by commas. ;;;*** ;;;### (autoloads (unforward-rmail-message undigestify-rmail-message) -;;;;;; "undigest" "undigest.el" "a31a35802a2adbc51be42959c3043dbd") +;;;;;; "undigest" "undigest.el" "9f270a2571bbbbfabc27498a8d4089c7") ;;; Generated autoloads from undigest.el (autoload 'undigestify-rmail-message "undigest" "\ diff --git a/lisp/mail/sendmail.el b/lisp/mail/sendmail.el index c4647d7893e..cd3862985bd 100644 --- a/lisp/mail/sendmail.el +++ b/lisp/mail/sendmail.el @@ -856,14 +856,16 @@ Prefix arg means don't delete this window." (defun mail-bury (&optional arg) "Bury this mail buffer." (let ((newbuf (other-buffer (current-buffer))) - (return-action mail-return-action) - some-rmail) + (return-action mail-return-action)) (bury-buffer (current-buffer)) ;; If there is an Rmail buffer, return to it nicely ;; even if this message was not started by an Rmail command. (unless return-action (dolist (buffer (buffer-list)) - (if (eq (buffer-local-value 'major-mode buffer) 'rmail-mode) + (if (and (eq (buffer-local-value 'major-mode buffer) 'rmail-mode) + (null return-action) + ;; Don't match message-viewer buffer. + (not (string-match "\\` " (buffer-name buffer)))) (setq return-action `(rmail-mail-return ,buffer))))) (if (and (null arg) return-action) (apply (car return-action) (cdr return-action)) @@ -989,7 +991,7 @@ This function uses `mail-envelope-from'." ;;;###autoload (defvar sendmail-coding-system nil - "*Coding system for encoding the outgoing mail. + "Coding system for encoding the outgoing mail. This has higher priority than the default `buffer-file-coding-system' and `default-sendmail-coding-system', but lower priority than the local value of `buffer-file-coding-system'. diff --git a/lisp/mail/undigest.el b/lisp/mail/undigest.el index e34a3a4d71e..916a977c546 100644 --- a/lisp/mail/undigest.el +++ b/lisp/mail/undigest.el @@ -32,7 +32,7 @@ (defcustom rmail-forward-separator-regex "^----.*\\([Ff]orwarded\\|[Oo]riginal\\).*[Mm]essage" - "*Regexp to match the string that introduces forwarded messages. + "Regexp to match the string that introduces forwarded messages. This is not a header, but a string contained in the body of the message. You may need to customize it for local needs." :type 'regexp diff --git a/lisp/mail/unrmail.el b/lisp/mail/unrmail.el index af16bbf8c73..bf7b9abe2c1 100644 --- a/lisp/mail/unrmail.el +++ b/lisp/mail/unrmail.el @@ -61,8 +61,7 @@ For example, invoke `emacs -batch -f batch-unrmail RMAIL'." (error "This file is not in Babyl format")) ;; Decode the file contents just as Rmail did. - (let ((modifiedp (buffer-modified-p)) - (coding-system rmail-file-coding-system) + (let ((coding-system rmail-file-coding-system) from to) (goto-char (point-min)) (search-forward "\n\^_" nil t) ; Skip BABYL header. diff --git a/lisp/mail/uudecode.el b/lisp/mail/uudecode.el index d4bf89ffaa1..f415c143473 100644 --- a/lisp/mail/uudecode.el +++ b/lisp/mail/uudecode.el @@ -38,20 +38,20 @@ :group 'news) (defcustom uudecode-decoder-program "uudecode" - "*Non-nil value should be a string that names a uu decoder. + "Non-nil value should be a string that names a uu decoder. The program should expect to read uu data on its standard input and write the converted data to its standard output." :type 'string :group 'uudecode) (defcustom uudecode-decoder-switches nil - "*List of command line flags passed to `uudecode-decoder-program'." + "List of command line flags passed to `uudecode-decoder-program'." :group 'uudecode :type '(repeat string)) (defcustom uudecode-use-external (executable-find uudecode-decoder-program) - "*Use external uudecode program." + "Use external uudecode program." :version "22.1" :group 'uudecode :type 'boolean) diff --git a/lisp/minibuf-eldef.el b/lisp/minibuf-eldef.el index ef1bb115a23..4387fc625c6 100644 --- a/lisp/minibuf-eldef.el +++ b/lisp/minibuf-eldef.el @@ -35,7 +35,7 @@ (defvar minibuffer-default-in-prompt-regexps '(("\\( (default\\>.*)\\):? \\'" . 1) ("\\( \\[.*\\]\\):? *\\'" . 1)) - "*A list of regexps matching the parts of minibuffer prompts showing defaults. + "A list of regexps matching the parts of minibuffer prompts showing defaults. When `minibuffer-electric-default-mode' is active, these regexps are used to identify the portions of prompts to elide. diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index db7743970d4..c7e14ca481b 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el @@ -2045,6 +2045,21 @@ and `read-file-name-function'." (funcall (or read-file-name-function #'read-file-name-default) prompt dir default-filename mustmatch initial predicate)) +(defvar minibuffer-local-filename-syntax + (let ((table (make-syntax-table)) + (punctuation (car (string-to-syntax ".")))) + ;; Convert all punctuation entries to symbol. + (map-char-table (lambda (c syntax) + (when (eq (car syntax) punctuation) + (modify-syntax-entry c "_" table))) + table) + (mapc + (lambda (c) + (modify-syntax-entry c "." table)) + '(?/ ?: ?\\)) + table) + "Syntax table to be used in minibuffer for reading file name.") + ;; minibuffer-completing-file-name is a variable used internally in minibuf.c ;; to determine whether to use minibuffer-local-filename-completion-map or ;; minibuffer-local-completion-map. It shouldn't be exported to Elisp. @@ -2113,7 +2128,8 @@ See `read-file-name' for the meaning of the arguments." (lambda () (with-current-buffer (window-buffer (minibuffer-selected-window)) - (read-file-name--defaults dir initial))))) + (read-file-name--defaults dir initial)))) + (set-syntax-table minibuffer-local-filename-syntax)) (completing-read prompt 'read-file-name-internal pred mustmatch insdef 'file-name-history default-filename))) diff --git a/lisp/misc.el b/lisp/misc.el index 4706c918db3..cb52ecbd36e 100644 --- a/lisp/misc.el +++ b/lisp/misc.el @@ -138,6 +138,19 @@ variation of `C-x M-c M-butterfly' from url `http://xkcd.com/378/'." (defvar list-dynamic-libraries--loaded-only-p) (make-variable-buffer-local 'list-dynamic-libraries--loaded-only-p) +(defun list-dynamic-libraries--loaded (from) + "Compute the \"Loaded from\" column. +Internal use only." + (if from + (let ((name (car from)) + (path (or (cdr from) "<unknown>"))) + ;; This is a roundabout way to change the tooltip without + ;; having to replace the default printer function + (propertize name + 'display (propertize name + 'help-echo (concat "Loaded from: " path)))) + "")) + (defun list-dynamic-libraries--refresh () "Recompute the list of dynamic libraries. Internal use only." @@ -159,7 +172,7 @@ Internal use only." (when (or from (not list-dynamic-libraries--loaded-only-p)) (push (list id (vector (symbol-name id) - (or from "") + (list-dynamic-libraries--loaded from) (mapconcat 'identity (cdr lib) ", "))) tabulated-list-entries))))) diff --git a/lisp/mouse-drag.el b/lisp/mouse-drag.el index 17591ef12dd..7fb10505355 100644 --- a/lisp/mouse-drag.el +++ b/lisp/mouse-drag.el @@ -169,7 +169,7 @@ Basically, we check for existing horizontal scrolling." nil)))))) (defvar mouse-throw-with-scroll-bar nil - "*Set direction of mouse-throwing. + "Set direction of mouse-throwing. If nil, the text moves in the direction the mouse moves. If t, the scroll bar moves in the direction the mouse moves.") (defconst mouse-throw-magnifier-min -6) diff --git a/lisp/mouse.el b/lisp/mouse.el index 2e119483797..8e08f89f22c 100644 --- a/lisp/mouse.el +++ b/lisp/mouse.el @@ -1,6 +1,6 @@ ;;; mouse.el --- window system-independent mouse support -;; Copyright (C) 1993-1995, 1999-2012 Free Software Foundation, Inc. +;; Copyright (C) 1993-1995, 1999-2012 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: hardware, mouse @@ -194,8 +194,7 @@ items `Turn Off' and `Help'." (newmap (if ancestor (make-sparse-keymap (concat (format-mode-line mode-name) " Mode")) - menu-bar-edit-menu)) - uniq) + menu-bar-edit-menu))) (if ancestor (set-keymap-parent newmap ancestor)) newmap)) @@ -805,8 +804,8 @@ DO-MOUSE-DRAG-REGION-POST-PROCESS should only be used by (= click-count 1))) ;; Suppress automatic hscrolling, because that is a nuisance ;; when setting point near the right fringe (but see below). - (automatic-hscrolling-saved automatic-hscrolling) - (automatic-hscrolling nil) + (auto-hscroll-mode-saved auto-hscroll-mode) + (auto-hscroll-mode nil) event end end-point) (setq mouse-selection-click-count click-count) @@ -838,7 +837,7 @@ DO-MOUSE-DRAG-REGION-POST-PROCESS should only be used by ;; Automatic hscrolling did not occur during the call to ;; `read-event'; but if the user subsequently drags the ;; mouse, go ahead and hscroll. - (let ((automatic-hscrolling automatic-hscrolling-saved)) + (let ((auto-hscroll-mode auto-hscroll-mode-saved)) (redisplay)) (setq end (event-end event) end-point (posn-point end)) diff --git a/lisp/mpc.el b/lisp/mpc.el index 614f2bd6806..d2203a4deab 100644 --- a/lisp/mpc.el +++ b/lisp/mpc.el @@ -1,6 +1,6 @@ ;;; mpc.el --- A client for the Music Player Daemon -*- coding: utf-8; lexical-binding: t -*- -;; Copyright (C) 2006-2012 Free Software Foundation, Inc. +;; Copyright (C) 2006-2012 Free Software Foundation, Inc. ;; Author: Stefan Monnier <monnier@iro.umontreal.ca> ;; Keywords: multimedia @@ -184,10 +184,7 @@ numerically rather than lexicographically." (abs res)) res)))))))) -(defun mpc-string-prefix-p (str1 str2) - ;; FIXME: copied from pcvs-util.el. - "Tell whether STR1 is a prefix of STR2." - (eq t (compare-strings str2 nil (length str1) str1 nil nil))) +(define-obsolete-function-alias 'mpc-string-prefix-p 'string-prefix-p "24.2") ;; This can speed up mpc--song-search significantly. The table may grow ;; very large, tho. It's only bounded by the fact that it gets flushed @@ -1690,7 +1687,7 @@ Return non-nil if a selection was deactivated." (process-put (mpc-proc) prop (delq nil (mapcar (lambda (x) - (if (mpc-string-prefix-p name x) + (if (string-prefix-p name x) nil x)) new))))) (mpc-tagbrowser-refresh))) diff --git a/lisp/msb.el b/lisp/msb.el index 2c759b1c89d..760ff61a876 100644 --- a/lisp/msb.el +++ b/lisp/msb.el @@ -271,7 +271,7 @@ that differs by this value or more." :group 'msb) (defvar msb-files-by-directory-sort-key 0 - "*The sort key for files sorted by directory.") + "The sort key for files sorted by directory.") (defcustom msb-max-menu-items 15 "The maximum number of items in a menu. @@ -316,7 +316,7 @@ No buffers at all if less than 1 or nil (or any non-number)." :group 'msb) (defvar msb-horizontal-shift-function (lambda () 0) - "*Function that specifies how many pixels to shift the top menu leftwards.") + "Function that specifies how many pixels to shift the top menu leftwards.") (defcustom msb-display-invisible-buffers-p nil "Show invisible buffers or not. @@ -327,7 +327,7 @@ names that starts with a space character." :group 'msb) (defvar msb-item-handling-function 'msb-item-handler - "*The appearance of a buffer menu. + "The appearance of a buffer menu. The default function to call for handling the appearance of a menu item. It should take two arguments, BUFFER and MAX-BUFFER-NAME-LENGTH, diff --git a/lisp/net/ange-ftp.el b/lisp/net/ange-ftp.el index 2a44148e4ce..455836fdae1 100644 --- a/lisp/net/ange-ftp.el +++ b/lisp/net/ange-ftp.el @@ -697,11 +697,11 @@ parenthesized expressions in REGEXP for the components (in that order)." (defvar ange-ftp-multi-msgs "^150-\\|^220-\\|^230-\\|^226\\|^25.-\\|^221-\\|^200-\\|^331-\\|^4[25]1-\\|^530-" - "*Regular expression matching the start of a multiline FTP reply.") + "Regular expression matching the start of a multiline FTP reply.") (defvar ange-ftp-good-msgs "^220 \\|^230 \\|^226 \\|^25. \\|^221 \\|^200 \\|^[Hh]ash mark" - "*Regular expression matching FTP \"success\" messages.") + "Regular expression matching FTP \"success\" messages.") ;; CMS and the odd VMS machine say 200 Port rather than 200 PORT. ;; Also CMS machines use a multiline 550- reply to say that you @@ -908,7 +908,7 @@ matches the login banner." (if (eq system-type 'hpux) "stty -onlcr -echo\n" "stty -echo nl\n") - "*Set up terminal after logging in to the gateway machine. + "Set up terminal after logging in to the gateway machine. This command should stop the terminal from echoing each command, and arrange to strip out trailing ^M characters.") @@ -2098,7 +2098,7 @@ suffix of the form #PORT to specify a non-default port." ;; ange@hplb.hpl.hp.com says this should not be changed. (defvar ange-ftp-hash-mark-msgs "[hH]ash mark [^0-9]*\\([0-9]+\\)" - "*Regexp matching the FTP client's output upon doing a HASH command.") + "Regexp matching the FTP client's output upon doing a HASH command.") (defun ange-ftp-guess-hash-mark-size (proc) (if ange-ftp-send-hash @@ -6079,7 +6079,7 @@ Other orders of $ and _ seem to all work just fine.") (defcustom ange-ftp-bs2000-additional-pubsets nil - "*List of additional pubsets available to all users." + "List of additional pubsets available to all users." :group 'ange-ftp :type '(repeat string)) diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el index 0bfc8eda3b1..62c0e317a81 100644 --- a/lisp/net/browse-url.el +++ b/lisp/net/browse-url.el @@ -467,7 +467,7 @@ commands reverses the effect of this variable. Requires Netscape version ;; it in anonymous cases. If it's not anonymous the next regexp ;; applies. ("^/\\([^:@]+@\\)?\\([^:]+\\):/*" . "ftp://\\1\\2/") - ,@(if (memq system-type '(windows-nt ms-dos cygwin)) + ,@(if (memq system-type '(windows-nt ms-dos)) '(("^\\([a-zA-Z]:\\)[\\/]" . "file:///\\1/") ("^[\\/][\\/]+" . "file://"))) ("^/+" . "file:///")) @@ -724,12 +724,6 @@ interactively. Turn the filename into a URL with function (defun browse-url-file-url (file) "Return the URL corresponding to FILE. Use variable `browse-url-filename-alist' to map filenames to URLs." - ;; De-munge Cygwin filenames before passing them to Windows browser. - (if (eq system-type 'cygwin) - (let ((winfile (with-output-to-string - (call-process "cygpath" nil standard-output - nil "-m" file)))) - (setq file (substring winfile 0 -1)))) (let ((coding (and (default-value 'enable-multibyte-characters) (or file-name-coding-system default-file-name-coding-system)))) diff --git a/lisp/net/dbus.el b/lisp/net/dbus.el index feef78a305f..e3144a53fab 100644 --- a/lisp/net/dbus.el +++ b/lisp/net/dbus.el @@ -37,6 +37,7 @@ (declare-function dbus-init-bus "dbusbind.c") (declare-function dbus-method-return-internal "dbusbind.c") (declare-function dbus-method-error-internal "dbusbind.c") +(declare-function dbus-register-service "dbusbind.c") (declare-function dbus-register-signal "dbusbind.c") (declare-function dbus-register-method "dbusbind.c") (declare-function dbus-send-signal "dbusbind.c") @@ -275,8 +276,7 @@ usage: (dbus-name-owner-changed-handler service old-owner new-owner)" (stringp (cadr args)) (stringp (caddr args))) (let ((service (car args)) - (old-owner (cadr args)) - (new-owner (caddr args))) + (old-owner (cadr args))) ;; Check whether SERVICE is a known name. (when (not (string-match "^:" service)) (maphash diff --git a/lisp/net/goto-addr.el b/lisp/net/goto-addr.el index e5fe45b5bf0..6a9d80f9672 100644 --- a/lisp/net/goto-addr.el +++ b/lisp/net/goto-addr.el @@ -80,18 +80,18 @@ ;; I don't expect users to want fontify'ing without highlighting. (defcustom goto-address-fontify-p t - "*Non-nil means URLs and e-mail addresses in buffer are fontified. + "Non-nil means URLs and e-mail addresses in buffer are fontified. But only if `goto-address-highlight-p' is also non-nil." :type 'boolean :group 'goto-address) (defcustom goto-address-highlight-p t - "*Non-nil means URLs and e-mail addresses in buffer are highlighted." + "Non-nil means URLs and e-mail addresses in buffer are highlighted." :type 'boolean :group 'goto-address) (defcustom goto-address-fontify-maximum-size 30000 - "*Maximum size of file in which to fontify and/or highlight URLs. + "Maximum size of file in which to fontify and/or highlight URLs. A value of t means there is no limit--fontify regardless of the size." :type '(choice (integer :tag "Maximum size") (const :tag "No limit" t)) :group 'goto-address) diff --git a/lisp/net/imap.el b/lisp/net/imap.el index 6a25be73615..853839c2061 100644 --- a/lisp/net/imap.el +++ b/lisp/net/imap.el @@ -211,7 +211,7 @@ until a successful connection is made." :type '(repeat string)) (defcustom imap-process-connection-type nil - "*Value for `process-connection-type' to use for Kerberos4, GSSAPI, shell, and SSL. + "Value for `process-connection-type' to use for Kerberos4, GSSAPI, shell, and SSL. The `process-connection-type' variable controls the type of device used to communicate with subprocesses. Values are nil to use a pipe, or t or `pty' to use a pty. The value has no effect if the @@ -271,7 +271,7 @@ See also `imap-log'." (symbol-name system-type)) 1.0 0.1) - "*How long to wait between checking for the end of output. + "How long to wait between checking for the end of output. Shorter values mean quicker response, but is more CPU intensive." :type 'number :group 'imap) diff --git a/lisp/net/quickurl.el b/lisp/net/quickurl.el index 8d6aedff562..b0bfe5b271c 100644 --- a/lisp/net/quickurl.el +++ b/lisp/net/quickurl.el @@ -96,12 +96,12 @@ :prefix "quickurl-") (defcustom quickurl-url-file (convert-standard-filename "~/.quickurls") - "*File that contains the URL list." + "File that contains the URL list." :type 'file :group 'quickurl) (defcustom quickurl-format-function (lambda (url) (format "<URL:%s>" (quickurl-url-url url))) - "*Function to format the URL before insertion into the current buffer." + "Function to format the URL before insertion into the current buffer." :type 'function :group 'quickurl) @@ -111,32 +111,32 @@ (string< (downcase (quickurl-url-description x)) (downcase (quickurl-url-description y)))))) - "*Function to sort the URL list." + "Function to sort the URL list." :type 'function :group 'quickurl) (defcustom quickurl-grab-lookup-function #'current-word - "*Function to grab the thing to lookup." + "Function to grab the thing to lookup." :type 'function :group 'quickurl) (defcustom quickurl-assoc-function #'assoc-ignore-case - "*Function to use for alist lookup into `quickurl-urls'." + "Function to use for alist lookup into `quickurl-urls'." :type 'function :group 'quickurl) (defcustom quickurl-completion-ignore-case t - "*Should `quickurl-ask' ignore case when doing the input lookup?" + "Should `quickurl-ask' ignore case when doing the input lookup?" :type 'boolean :group 'quickurl) (defcustom quickurl-prefix ";; -*- lisp -*-\n\n" - "*Text to write to `quickurl-url-file' before writing the URL list." + "Text to write to `quickurl-url-file' before writing the URL list." :type 'string :group 'quickurl) (defcustom quickurl-postfix "" - "*Text to write to `quickurl-url-file' after writing the URL list. + "Text to write to `quickurl-url-file' after writing the URL list. See the constant `quickurl-reread-hook-postfix' for some example text that could be used here." @@ -144,7 +144,7 @@ could be used here." :group 'quickurl) (defcustom quickurl-list-mode-hook nil - "*Hooks for `quickurl-list-mode'." + "Hooks for `quickurl-list-mode'." :type 'hook :group 'quickurl) diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el index 1c74e6190dc..485af6e1b5e 100644 --- a/lisp/net/rcirc.el +++ b/lisp/net/rcirc.el @@ -139,12 +139,12 @@ for connections using SSL/TLS." :group 'rcirc) (defcustom rcirc-fill-flag t - "*Non-nil means line-wrap messages printed in channel buffers." + "Non-nil means line-wrap messages printed in channel buffers." :type 'boolean :group 'rcirc) (defcustom rcirc-fill-column nil - "*Column beyond which automatic line-wrapping should happen. + "Column beyond which automatic line-wrapping should happen. If nil, use value of `fill-column'. If 'frame-width, use the maximum frame width." :type '(choice (const :tag "Value of `fill-column'") @@ -153,7 +153,7 @@ maximum frame width." :group 'rcirc) (defcustom rcirc-fill-prefix nil - "*Text to insert before filled lines. + "Text to insert before filled lines. If nil, calculate the prefix dynamically to line up text underneath each nick." :type '(choice (const :tag "Dynamic" nil) @@ -174,23 +174,23 @@ Use the command `rcirc-omit-mode' to change this variable.") (make-variable-buffer-local 'rcirc-omit-mode) (defcustom rcirc-time-format "%H:%M " - "*Describes how timestamps are printed. + "Describes how timestamps are printed. Used as the first arg to `format-time-string'." :type 'string :group 'rcirc) (defcustom rcirc-input-ring-size 1024 - "*Size of input history ring." + "Size of input history ring." :type 'integer :group 'rcirc) (defcustom rcirc-read-only-flag t - "*Non-nil means make text in IRC buffers read-only." + "Non-nil means make text in IRC buffers read-only." :type 'boolean :group 'rcirc) (defcustom rcirc-buffer-maximum-lines nil - "*The maximum size in lines for rcirc buffers. + "The maximum size in lines for rcirc buffers. Channel buffers are truncated from the top to be no greater than this number. If zero or nil, no truncating is done." :type '(choice (const :tag "No truncation" nil) @@ -198,7 +198,7 @@ number. If zero or nil, no truncating is done." :group 'rcirc) (defcustom rcirc-scroll-show-maximum-output t - "*If non-nil, scroll buffer to keep the point at the bottom of + "If non-nil, scroll buffer to keep the point at the bottom of the window." :type 'boolean :group 'rcirc) @@ -244,13 +244,13 @@ Examples: :group 'rcirc) (defcustom rcirc-auto-authenticate-flag t - "*Non-nil means automatically send authentication string to server. + "Non-nil means automatically send authentication string to server. See also `rcirc-authinfo'." :type 'boolean :group 'rcirc) (defcustom rcirc-authenticate-before-join t - "*Non-nil means authenticate to services before joining channels. + "Non-nil means authenticate to services before joining channels. Currently only works with NickServ on some networks." :version "24.1" :type 'boolean @@ -361,6 +361,14 @@ of a line. The string is passed as the first argument to :type 'string :group 'rcirc) +(defcustom rcirc-kill-channel-buffers nil + "When non-nil, kill channel buffers when the server buffer is killed. +Only the channel buffers associated with the server in question +will be killed." + :version "24.2" + :type 'boolean + :group 'rcirc) + (defvar rcirc-nick nil) (defvar rcirc-prompt-start-marker nil) @@ -1088,12 +1096,20 @@ Logfiles are kept in `rcirc-log-directory'." :group 'rcirc) (defun rcirc-kill-buffer-hook () - "Part the channel when killing an rcirc buffer." + "Part the channel when killing an rcirc buffer. + +If `rcirc-kill-channel-buffers' is non-nil and the killed buffer +is a server buffer, kills all of the channel buffers associated +with it." (when (eq major-mode 'rcirc-mode) (when (and rcirc-log-flag rcirc-log-directory) (rcirc-log-write)) - (rcirc-clean-up-buffer "Killed buffer"))) + (rcirc-clean-up-buffer "Killed buffer") + (when (and rcirc-buffer-alist ;; it's a server buffer + rcirc-kill-channel-buffers) + (dolist (channel rcirc-buffer-alist) + (kill-buffer (cdr channel)))))) (defun rcirc-change-major-mode-hook () "Part the channel when changing the major-mode." diff --git a/lisp/net/snmp-mode.el b/lisp/net/snmp-mode.el index 42b6f482665..d3e5759d2fb 100644 --- a/lisp/net/snmp-mode.el +++ b/lisp/net/snmp-mode.el @@ -141,10 +141,10 @@ This is used during Tempo template completion." :group 'snmp) (defvar snmp-tempo-tags nil - "*Tempo tags for SNMP mode.") + "Tempo tags for SNMP mode.") (defvar snmpv2-tempo-tags nil - "*Tempo tags for SNMPv2 mode.") + "Tempo tags for SNMPv2 mode.") ;; Enable fontification for SNMP MIBs diff --git a/lisp/net/socks.el b/lisp/net/socks.el index 3c94e7d1b22..306376f8af2 100644 --- a/lisp/net/socks.el +++ b/lisp/net/socks.el @@ -343,7 +343,7 @@ If PATTERN is omitted, it defaults to \"[ \\f\\t\\n\\r\\v]+\"." ;; could get a wrapper hook, or defer to open-network-stream-function. (defvar socks-override-functions nil - "*Whether to overwrite the open-network-stream function with the SOCKSified + "Whether to overwrite the open-network-stream function with the SOCKSified version.") (require 'network-stream) @@ -480,7 +480,7 @@ version.") ;; Replacement functions for open-network-stream, etc. (defvar socks-noproxy nil - "*List of regexps matching hosts that we should not socksify connections to") + "List of regexps matching hosts that we should not socksify connections to") (defun socks-find-route (host service) (let ((route socks-server) @@ -626,7 +626,7 @@ version.") (defcustom socks-nslookup-program "nslookup" - "*If non-NIL then a string naming the nslookup program." + "If non-NIL then a string naming the nslookup program." :type '(choice (const :tag "None" :value nil) string) :group 'socks) diff --git a/lisp/net/tls.el b/lisp/net/tls.el index d232095444b..75d178e3225 100644 --- a/lisp/net/tls.el +++ b/lisp/net/tls.el @@ -231,8 +231,7 @@ Fourth arg PORT is an integer specifying a port to connect to." ?h host ?p (if (integerp port) (int-to-string port) - port)))) - response) + port))))) (message "Opening TLS connection with `%s'..." formatted-cmd) (setq process (start-process name buffer shell-file-name shell-command-switch diff --git a/lisp/net/tramp-ftp.el b/lisp/net/tramp-ftp.el index 4b5b08cf7e1..73bc6878115 100644 --- a/lisp/net/tramp-ftp.el +++ b/lisp/net/tramp-ftp.el @@ -99,7 +99,7 @@ present for backward compatibility." ;; Define FTP method ... ;;;###tramp-autoload (defconst tramp-ftp-method "ftp" - "*When this method name is used, forward all calls to Ange-FTP.") + "When this method name is used, forward all calls to Ange-FTP.") ;; ... and add it to the method list. ;;;###tramp-autoload diff --git a/lisp/net/tramp-gvfs.el b/lisp/net/tramp-gvfs.el index 6f3c5e04236..983b29dcb5e 100644 --- a/lisp/net/tramp-gvfs.el +++ b/lisp/net/tramp-gvfs.el @@ -111,7 +111,7 @@ ;;;###tramp-autoload (defcustom tramp-gvfs-methods '("dav" "davs" "obex" "synce") - "*List of methods for remote files, accessed with GVFS." + "List of methods for remote files, accessed with GVFS." :group 'tramp :version "23.2" :type '(repeat (choice (const "dav") @@ -128,7 +128,7 @@ (add-to-list 'tramp-default-user-alist '("\\`synce\\'" nil nil)) (defcustom tramp-gvfs-zeroconf-domain "local" - "*Zeroconf domain to be used for discovering services, like host names." + "Zeroconf domain to be used for discovering services, like host names." :group 'tramp :version "23.2" :type 'string) diff --git a/lisp/net/tramp-gw.el b/lisp/net/tramp-gw.el index de42c402a63..328d094dfa4 100644 --- a/lisp/net/tramp-gw.el +++ b/lisp/net/tramp-gw.el @@ -50,20 +50,20 @@ ;; Define HTTP tunnel method ... ;;;###tramp-autoload (defconst tramp-gw-tunnel-method "tunnel" - "*Method to connect HTTP gateways.") + "Method to connect HTTP gateways.") ;; ... and port. (defconst tramp-gw-default-tunnel-port 8080 - "*Default port for HTTP gateways.") + "Default port for HTTP gateways.") ;; Define SOCKS method ... ;;;###tramp-autoload (defconst tramp-gw-socks-method "socks" - "*Method to connect SOCKS servers.") + "Method to connect SOCKS servers.") ;; ... and port. (defconst tramp-gw-default-socks-port 1080 - "*Default port for SOCKS servers.") + "Default port for SOCKS servers.") ;; Autoload the socks library. It is used only when we access a SOCKS server. (autoload 'socks-open-network-stream "socks") diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el index 1c23a6f20f3..b3a5341b3a6 100644 --- a/lisp/net/tramp-sh.el +++ b/lisp/net/tramp-sh.el @@ -43,7 +43,7 @@ ;; `dired-insert-set-properties'. (defcustom tramp-inline-compress-start-size 4096 - "*The minimum size of compressing where inline transfer. + "The minimum size of compressing where inline transfer. When inline transfer, compress transferred data of file whose size is this value or above (up to `tramp-copy-size-limit'). If it is nil, no compression at all will be applied." @@ -51,14 +51,14 @@ If it is nil, no compression at all will be applied." :type '(choice (const nil) integer)) (defcustom tramp-copy-size-limit 10240 - "*The maximum file size where inline copying is preferred over an out-of-the-band copy. + "The maximum file size where inline copying is preferred over an out-of-the-band copy. If it is nil, inline out-of-the-band copy will be used without a check." :group 'tramp :type '(choice (const nil) integer)) ;;;###tramp-autoload (defcustom tramp-terminal-type "dumb" - "*Value of TERM environment variable for logging in to remote host. + "Value of TERM environment variable for logging in to remote host. Because Tramp wants to parse the output of the remote shell, it is easily confused by ANSI color escape sequences and suchlike. Often, shell init files conditionalize this setup based on the TERM environment variable." @@ -516,7 +516,7 @@ detected as prompt when being sent on echoing hosts, therefore.") '(tramp-default-remote-path "/bin" "/usr/bin" "/usr/sbin" "/usr/local/bin" "/local/bin" "/local/freeware/bin" "/local/gnu/bin" "/usr/freeware/bin" "/usr/pkg/bin" "/usr/contrib/bin") - "*List of directories to search for executables on remote host. + "List of directories to search for executables on remote host. For every remote host, this variable will be set buffer local, keeping the list of existing directories on that host. @@ -546,7 +546,7 @@ as given in your `~/.profile'." "CDPATH=" "HISTORY=" "MAIL=" "MAILCHECK=" "MAILPATH=" "PAGER=\"\"" "autocorrect=" "correct=") - "*List of environment variables to be set on the remote host. + "List of environment variables to be set on the remote host. Each element should be a string of the form ENVVARNAME=VALUE. An entry ENVVARNAME= disables the corresponding environment variable, @@ -558,7 +558,7 @@ not be set here. Instead, it should be set via `tramp-remote-path'." :type '(repeat string)) (defcustom tramp-sh-extra-args '(("/bash\\'" . "-norc -noprofile")) - "*Alist specifying extra arguments to pass to the remote shell. + "Alist specifying extra arguments to pass to the remote shell. Entries are (REGEXP . ARGS) where REGEXP is a regular expression matching the shell file name and ARGS is a string specifying the arguments. diff --git a/lisp/net/tramp-smb.el b/lisp/net/tramp-smb.el index d3f0d8afb12..f1535ae64c0 100644 --- a/lisp/net/tramp-smb.el +++ b/lisp/net/tramp-smb.el @@ -33,7 +33,7 @@ ;; Define SMB method ... ;;;###tramp-autoload (defconst tramp-smb-method "smb" - "*Method to connect SAMBA and M$ SMB servers.") + "Method to connect SAMBA and M$ SMB servers.") ;; ... and add it to the method list. ;;;###tramp-autoload @@ -68,19 +68,19 @@ '((tramp-parse-netrc "~/.netrc")))) (defcustom tramp-smb-program "smbclient" - "*Name of SMB client to run." + "Name of SMB client to run." :group 'tramp :type 'string) (defcustom tramp-smb-conf "/dev/null" - "*Path of the smb.conf file. + "Path of the smb.conf file. If it is nil, no smb.conf will be added to the `tramp-smb-program' call, letting the SMB client use the default one." :group 'tramp :type '(choice (const nil) (file :must-match t))) (defvar tramp-smb-version nil - "*Version string of the SMB client.") + "Version string of the SMB client.") (defconst tramp-smb-prompt "^smb: .+> \\|^\\s-+Server\\s-+Comment$" "Regexp used as prompt in smbclient.") diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index c092202b10a..95848ac34ea 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -70,13 +70,13 @@ ;; Maybe we need once a real Tramp mode, with key bindings etc. ;;;###autoload (defcustom tramp-mode t - "*Whether Tramp is enabled. + "Whether Tramp is enabled. If it is set to nil, all remote file names are used literally." :group 'tramp :type 'boolean) (defcustom tramp-verbose 3 - "*Verbosity level for Tramp messages. + "Verbosity level for Tramp messages. Any level x includes messages for all levels 1 .. x-1. The levels are 0 silent (no tramp messages at all) @@ -137,7 +137,7 @@ policy for local files." :group 'tramp))) (defcustom tramp-auto-save-directory nil - "*Put auto-save files in this directory, if set. + "Put auto-save files in this directory, if set. The idea is to use a local directory so that auto-saving is faster." :group 'tramp :type '(choice (const nil) string)) @@ -146,7 +146,7 @@ The idea is to use a local directory so that auto-saving is faster." (if (memq system-type '(windows-nt)) (getenv "COMSPEC") "/bin/sh") - "*Use this program for encoding and decoding commands on the local host. + "Use this program for encoding and decoding commands on the local host. This shell is used to execute the encoding and decoding command on the local host, so if you want to use `~' in those commands, you should choose a shell here which groks tilde expansion. `/bin/sh' normally @@ -172,14 +172,14 @@ use for the remote host." (if (string-match "cmd\\.exe" tramp-encoding-shell) "/c" "-c") - "*Use this switch together with `tramp-encoding-shell' for local commands. + "Use this switch together with `tramp-encoding-shell' for local commands. See the variable `tramp-encoding-shell' for more information." :group 'tramp :type 'string) (defcustom tramp-encoding-command-interactive (unless (string-match "cmd\\.exe" tramp-encoding-shell) "-i") - "*Use this switch together with `tramp-encoding-shell' for interactive shells. + "Use this switch together with `tramp-encoding-shell' for interactive shells. See the variable `tramp-encoding-shell' for more information." :version "24.1" :group 'tramp @@ -187,7 +187,7 @@ See the variable `tramp-encoding-shell' for more information." ;;;###tramp-autoload (defvar tramp-methods nil - "*Alist of methods for remote files. + "Alist of methods for remote files. This is a list of entries of the form (NAME PARAM1 PARAM2 ...). Each NAME stands for a remote access method. Each PARAM is a pair of the form (KEY VALUE). The following KEYs are defined: @@ -334,7 +334,7 @@ shouldn't return t when it isn't." (t "ssh"))) ;; Fallback. (t "ftp")) - "*Default method to use for transferring files. + "Default method to use for transferring files. See `tramp-methods' for possibilities. Also see `tramp-default-method-alist'." :group 'tramp @@ -342,7 +342,7 @@ Also see `tramp-default-method-alist'." ;;;###tramp-autoload (defcustom tramp-default-method-alist nil - "*Default method to use for specific host/user pairs. + "Default method to use for specific host/user pairs. This is an alist of items (HOST USER METHOD). The first matching item specifies the method to use for a file name which does not specify a method. HOST and USER are regular expressions or nil, which is @@ -359,7 +359,7 @@ See `tramp-methods' for a list of possibilities for METHOD." (choice :tag "Method name" string (const nil))))) (defcustom tramp-default-user nil - "*Default user to use for transferring files. + "Default user to use for transferring files. It is nil by default; otherwise settings in configuration files like \"~/.ssh/config\" would be overwritten. Also see `tramp-default-user-alist'. @@ -369,7 +369,7 @@ This variable is regarded as obsolete, and will be removed soon." ;;;###tramp-autoload (defcustom tramp-default-user-alist nil - "*Default user to use for specific method/host pairs. + "Default user to use for specific method/host pairs. This is an alist of items (METHOD HOST USER). The first matching item specifies the user to use for a file name which does not specify a user. METHOD and USER are regular expressions or nil, which is @@ -384,13 +384,13 @@ empty string for the method name." (choice :tag " User name" string (const nil))))) (defcustom tramp-default-host (system-name) - "*Default host to use for transferring files. + "Default host to use for transferring files. Useful for su and sudo methods mostly." :group 'tramp :type 'string) (defcustom tramp-default-proxies-alist nil - "*Route to be followed for specific host/user pairs. + "Route to be followed for specific host/user pairs. This is an alist of items (HOST USER PROXY). The first matching item specifies the proxy to be passed for a file name located on a remote target matching USER@HOST. HOST and USER are regular @@ -415,10 +415,10 @@ interpreted as a regular expression which always matches." (regexp-opt (list "localhost" "localhost6" (system-name) "127\.0\.0\.1" "::1") t) "\\'") - "*Host names which are regarded as local host.") + "Host names which are regarded as local host.") (defvar tramp-completion-function-alist nil - "*Alist of methods for remote files. + "Alist of methods for remote files. This is a list of entries of the form \(NAME PAIR1 PAIR2 ...\). Each NAME stands for a remote access method. Each PAIR is of the form \(FUNCTION FILE\). FUNCTION is responsible to extract user names and host @@ -463,13 +463,13 @@ the remote shell.") (defcustom tramp-local-end-of-line (if (memq system-type '(windows-nt)) "\r\n" "\n") - "*String used for end of line in local processes." + "String used for end of line in local processes." :version "24.1" :group 'tramp :type 'string) (defcustom tramp-rsh-end-of-line "\n" - "*String used for end of line in rsh connections. + "String used for end of line in rsh connections. I don't think this ever needs to be changed, so please tell me about it if you need to change this. Also see the method parameter `tramp-password-end-of-line' and the normal @@ -479,7 +479,7 @@ variable `tramp-default-password-end-of-line'." (defcustom tramp-default-password-end-of-line tramp-rsh-end-of-line - "*String used for end of line after sending a password. + "String used for end of line after sending a password. This variable provides the default value for the method parameter `tramp-password-end-of-line', see `tramp-methods' for more details. @@ -494,7 +494,7 @@ The default value is to use the same value as `tramp-rsh-end-of-line'." (defcustom tramp-login-prompt-regexp ".*ogin\\( .*\\)?: *" - "*Regexp matching login-like prompts. + "Regexp matching login-like prompts. The regexp should match at end of buffer. Sometimes the prompt is reported to look like \"login as:\"." @@ -523,7 +523,7 @@ This regexp must match both `tramp-initial-end-of-output' and (defcustom tramp-password-prompt-regexp "^.*\\([pP]assword\\|[pP]assphrase\\).*:\^@? *" - "*Regexp matching password-like prompts. + "Regexp matching password-like prompts. The regexp should match at end of buffer. The `sudo' program appears to insert a `^@' character into the prompt." @@ -549,7 +549,7 @@ The `sudo' program appears to insert a `^@' character into the prompt." ;; Here comes a list of regexes, separated by \\| "Received signal [0-9]+" "\\).*") - "*Regexp matching a `login failed' message. + "Regexp matching a `login failed' message. The regexp should match at end of buffer." :group 'tramp :type 'regexp) @@ -620,7 +620,7 @@ The answer will be provided by `tramp-action-process-alive', :type 'regexp) (defconst tramp-temp-name-prefix "tramp." - "*Prefix to use for temporary files. + "Prefix to use for temporary files. If this is a relative file name (such as \"tramp.\"), it is considered relative to the directory name returned by the function `tramp-compat-temporary-file-directory' (which see). It may also be an @@ -670,76 +670,76 @@ It can have the following values: ((equal tramp-syntax 'sep) "/[") ((equal tramp-syntax 'url) "/") (t (error "Wrong `tramp-syntax' defined"))) - "*String matching the very beginning of Tramp file names. + "String matching the very beginning of Tramp file names. Used in `tramp-make-tramp-file-name'.") (defconst tramp-prefix-regexp (concat "^" (regexp-quote tramp-prefix-format)) - "*Regexp matching the very beginning of Tramp file names. + "Regexp matching the very beginning of Tramp file names. Should always start with \"^\". Derived from `tramp-prefix-format'.") (defconst tramp-method-regexp "[a-zA-Z_0-9-]+" - "*Regexp matching methods identifiers.") + "Regexp matching methods identifiers.") (defconst tramp-postfix-method-format (cond ((equal tramp-syntax 'ftp) ":") ((equal tramp-syntax 'sep) "/") ((equal tramp-syntax 'url) "://") (t (error "Wrong `tramp-syntax' defined"))) - "*String matching delimiter between method and user or host names. + "String matching delimiter between method and user or host names. Used in `tramp-make-tramp-file-name'.") (defconst tramp-postfix-method-regexp (regexp-quote tramp-postfix-method-format) - "*Regexp matching delimiter between method and user or host names. + "Regexp matching delimiter between method and user or host names. Derived from `tramp-postfix-method-format'.") (defconst tramp-user-regexp "[^:/ \t]+" - "*Regexp matching user names.") + "Regexp matching user names.") ;;;###tramp-autoload (defconst tramp-prefix-domain-format "%" - "*String matching delimiter between user and domain names.") + "String matching delimiter between user and domain names.") ;;;###tramp-autoload (defconst tramp-prefix-domain-regexp (regexp-quote tramp-prefix-domain-format) - "*Regexp matching delimiter between user and domain names. + "Regexp matching delimiter between user and domain names. Derived from `tramp-prefix-domain-format'.") (defconst tramp-domain-regexp "[-a-zA-Z0-9_.]+" - "*Regexp matching domain names.") + "Regexp matching domain names.") (defconst tramp-user-with-domain-regexp (concat "\\(" tramp-user-regexp "\\)" tramp-prefix-domain-regexp "\\(" tramp-domain-regexp "\\)") - "*Regexp matching user names with domain names.") + "Regexp matching user names with domain names.") (defconst tramp-postfix-user-format "@" - "*String matching delimiter between user and host names. + "String matching delimiter between user and host names. Used in `tramp-make-tramp-file-name'.") (defconst tramp-postfix-user-regexp (regexp-quote tramp-postfix-user-format) - "*Regexp matching delimiter between user and host names. + "Regexp matching delimiter between user and host names. Derived from `tramp-postfix-user-format'.") (defconst tramp-host-regexp "[a-zA-Z0-9_.-]+" - "*Regexp matching host names.") + "Regexp matching host names.") (defconst tramp-prefix-ipv6-format (cond ((equal tramp-syntax 'ftp) "[") ((equal tramp-syntax 'sep) "") ((equal tramp-syntax 'url) "[") (t (error "Wrong `tramp-syntax' defined"))) - "*String matching left hand side of IPv6 addresses. + "String matching left hand side of IPv6 addresses. Used in `tramp-make-tramp-file-name'.") (defconst tramp-prefix-ipv6-regexp (regexp-quote tramp-prefix-ipv6-format) - "*Regexp matching left hand side of IPv6 addresses. + "Regexp matching left hand side of IPv6 addresses. Derived from `tramp-prefix-ipv6-format'.") ;; The following regexp is a bit sloppy. But it shall serve our @@ -747,19 +747,19 @@ Derived from `tramp-prefix-ipv6-format'.") ;; "::ffff:192.168.0.1". (defconst tramp-ipv6-regexp "\\(?:\\(?:[a-zA-Z0-9]+\\)?:\\)+[a-zA-Z0-9.]+" - "*Regexp matching IPv6 addresses.") + "Regexp matching IPv6 addresses.") (defconst tramp-postfix-ipv6-format (cond ((equal tramp-syntax 'ftp) "]") ((equal tramp-syntax 'sep) "") ((equal tramp-syntax 'url) "]") (t (error "Wrong `tramp-syntax' defined"))) - "*String matching right hand side of IPv6 addresses. + "String matching right hand side of IPv6 addresses. Used in `tramp-make-tramp-file-name'.") (defconst tramp-postfix-ipv6-regexp (regexp-quote tramp-postfix-ipv6-format) - "*Regexp matching right hand side of IPv6 addresses. + "Regexp matching right hand side of IPv6 addresses. Derived from `tramp-postfix-ipv6-format'.") (defconst tramp-prefix-port-format @@ -767,37 +767,37 @@ Derived from `tramp-postfix-ipv6-format'.") ((equal tramp-syntax 'sep) "#") ((equal tramp-syntax 'url) ":") (t (error "Wrong `tramp-syntax' defined"))) - "*String matching delimiter between host names and port numbers.") + "String matching delimiter between host names and port numbers.") (defconst tramp-prefix-port-regexp (regexp-quote tramp-prefix-port-format) - "*Regexp matching delimiter between host names and port numbers. + "Regexp matching delimiter between host names and port numbers. Derived from `tramp-prefix-port-format'.") (defconst tramp-port-regexp "[0-9]+" - "*Regexp matching port numbers.") + "Regexp matching port numbers.") (defconst tramp-host-with-port-regexp (concat "\\(" tramp-host-regexp "\\)" tramp-prefix-port-regexp "\\(" tramp-port-regexp "\\)") - "*Regexp matching host names with port numbers.") + "Regexp matching host names with port numbers.") (defconst tramp-postfix-host-format (cond ((equal tramp-syntax 'ftp) ":") ((equal tramp-syntax 'sep) "]") ((equal tramp-syntax 'url) "") (t (error "Wrong `tramp-syntax' defined"))) - "*String matching delimiter between host names and localnames. + "String matching delimiter between host names and localnames. Used in `tramp-make-tramp-file-name'.") (defconst tramp-postfix-host-regexp (regexp-quote tramp-postfix-host-format) - "*Regexp matching delimiter between host names and localnames. + "Regexp matching delimiter between host names and localnames. Derived from `tramp-postfix-host-format'.") (defconst tramp-localname-regexp ".*$" - "*Regexp matching localnames.") + "Regexp matching localnames.") ;;; File name format: @@ -816,7 +816,7 @@ Derived from `tramp-postfix-host-format'.") "\\(" tramp-localname-regexp "\\)") 2 4 5 8) - "*List of five elements (REGEXP METHOD USER HOST FILE), detailing \ + "List of five elements (REGEXP METHOD USER HOST FILE), detailing \ the Tramp file name structure. The first element REGEXP is a regular expression matching a Tramp file @@ -860,7 +860,7 @@ See `tramp-file-name-structure' for more explanations.") ((equal tramp-syntax 'sep) tramp-file-name-regexp-separate) ((equal tramp-syntax 'url) tramp-file-name-regexp-url) (t (error "Wrong `tramp-syntax' defined"))) - "*Regular expression matching file names handled by Tramp. + "Regular expression matching file names handled by Tramp. This regexp should match Tramp file names but no other file names. When tramp.el is loaded, this regular expression is prepended to `file-name-handler-alist', and that is searched sequentially. Thus, @@ -904,7 +904,7 @@ See `tramp-file-name-structure' for more explanations.") ((equal tramp-syntax 'sep) tramp-completion-file-name-regexp-separate) ((equal tramp-syntax 'url) tramp-completion-file-name-regexp-url) (t (error "Wrong `tramp-syntax' defined"))) - "*Regular expression matching file names handled by Tramp completion. + "Regular expression matching file names handled by Tramp completion. This regexp should match partial Tramp file names only. Please note that the entry in `file-name-handler-alist' is made when @@ -926,7 +926,7 @@ Also see `tramp-file-name-structure'.") ;; Parentheses in docstring starting at beginning of line are escaped. ;; Fontification is messed up when ;; `open-paren-in-column-0-is-defun-start' set to t. - "*If non-nil, chunksize for sending input to local process. + "If non-nil, chunksize for sending input to local process. It is necessary only on systems which have a buggy `process-send-string' implementation. The necessity, whether this variable must be set, can be checked via the following code: @@ -3133,11 +3133,12 @@ beginning of local filename are not substituted." (defun tramp-action-password (proc vec) "Query the user for a password." (with-current-buffer (process-buffer proc) - (tramp-check-for-regexp proc tramp-password-prompt-regexp) - (tramp-message vec 3 "Sending %s" (match-string 1)) - (tramp-enter-password proc) - ;; Hide password prompt. - (narrow-to-region (point-max) (point-max)))) + (let ((enable-recursive-minibuffers t)) + (tramp-check-for-regexp proc tramp-password-prompt-regexp) + (tramp-message vec 3 "Sending %s" (match-string 1)) + (tramp-enter-password proc) + ;; Hide password prompt. + (narrow-to-region (point-max) (point-max))))) (defun tramp-action-succeed (proc vec) "Signal success in finding shell prompt." diff --git a/lisp/net/webjump.el b/lisp/net/webjump.el index 4b8fbe1e2cf..232e5ca581a 100644 --- a/lisp/net/webjump.el +++ b/lisp/net/webjump.el @@ -276,7 +276,7 @@ function and the `webjump-sites' variable.") (defvar webjump-sites webjump-sample-sites - "*Hotlist for WebJump. + "Hotlist for WebJump. The hotlist is represented as an association list, with the CAR of each cell being the name of the Web site, and the CDR being the definition for the URL of diff --git a/lisp/newcomment.el b/lisp/newcomment.el index 40bb36daf45..0862427c3ba 100644 --- a/lisp/newcomment.el +++ b/lisp/newcomment.el @@ -106,12 +106,12 @@ Comments might be indented to a different value in order not to go beyond ;;;###autoload (defvar comment-start nil - "*String to insert to start a new comment, or nil if no comment syntax.") + "String to insert to start a new comment, or nil if no comment syntax.") ;;;###autoload(put 'comment-start 'safe-local-variable 'string-or-null-p) ;;;###autoload (defvar comment-start-skip nil - "*Regexp to match the start of a comment plus everything up to its body. + "Regexp to match the start of a comment plus everything up to its body. If there are any \\(...\\) pairs, the comment delimiter text is held to begin at the place matched by the close of the first pair.") ;;;###autoload(put 'comment-start-skip 'safe-local-variable 'string-or-null-p) @@ -123,7 +123,7 @@ at the place matched by the close of the first pair.") ;;;###autoload (defvar comment-end (purecopy "") - "*String to insert to end a new comment. + "String to insert to end a new comment. Should be an empty string if comments are terminated by end-of-line.") ;;;###autoload(put 'comment-end 'safe-local-variable 'string-or-null-p) @@ -269,6 +269,19 @@ makes the comment easier to read. Default is 1. nil means 0." :type '(choice string integer (const nil)) :group 'comment) +(defcustom comment-inline-offset 1 + "Inline comments have to be preceded by at least this many spaces. +This is useful when style-conventions require a certain minimal offset. +Python's PEP8 for example recommends two spaces, so you could do: + +\(add-hook 'python-mode-hook + (lambda () (set (make-local-variable 'comment-inline-offset) 2))) + +See `comment-padding' for whole-line comments." + :version "24.2" + :type 'integer + :group 'comment) + ;;;###autoload (defcustom comment-multi-line nil "Non-nil means `comment-indent-new-line' continues comments. @@ -587,7 +600,7 @@ Point is expected to be at the start of the comment." (save-excursion (end-of-line) (current-column))))) (other nil) (min (save-excursion (skip-chars-backward " \t") - (if (bolp) 0 (1+ (current-column)))))) + (if (bolp) 0 (+ comment-inline-offset (current-column)))))) ;; Fix up the range. (if (< max min) (setq max min)) ;; Don't move past the fill column. @@ -687,7 +700,8 @@ If CONTINUE is non-nil, use the `comment-continue' markers if any." (save-excursion (skip-chars-backward " \t") (unless (bolp) - (setq indent (max indent (1+ (current-column)))))) + (setq indent (max indent + (+ (current-column) comment-inline-offset))))) ;; If that's different from comment's current position, change it. (unless (= (current-column) indent) (delete-region (point) (progn (skip-chars-backward " \t") (point))) diff --git a/lisp/nxml/nxml-glyph.el b/lisp/nxml/nxml-glyph.el index ba940cd513e..6e15e5d4ce0 100644 --- a/lisp/nxml/nxml-glyph.el +++ b/lisp/nxml/nxml-glyph.el @@ -333,7 +333,7 @@ This repertoire is supported for the following fonts: "Glyph set corresponding to Windows Glyph List 4.") (defvar nxml-glyph-set-hook nil - "*Hook for determining the set of glyphs in a face. + "Hook for determining the set of glyphs in a face. The hook will receive a single argument FACE. If it can determine the set of glyphs representable by FACE, it must set the variable `nxml-glyph-set' and return non-nil. Otherwise, it must return nil. diff --git a/lisp/nxml/nxml-mode.el b/lisp/nxml/nxml-mode.el index f9122e7245e..5adafc3845c 100644 --- a/lisp/nxml/nxml-mode.el +++ b/lisp/nxml/nxml-mode.el @@ -1236,7 +1236,7 @@ on the line, reindent the line." (unless arg (if nxml-slash-auto-complete-flag (if end-tag-p - (condition-case err + (condition-case nil (let ((start-tag-end (nxml-scan-element-backward (1- slash-pos) t))) (when start-tag-end @@ -1434,7 +1434,7 @@ its line. Otherwise return nil." (nxml-token-after) (= xmltok-start bol)) (eq xmltok-type 'data)) - (condition-case err + (condition-case nil (nxml-scan-element-backward (point) nil @@ -1559,8 +1559,7 @@ This expects the xmltok-* variables to be set up as by `xmltok-forward'." (off 0)) (if value-boundary ;; inside an attribute value - (let ((value-start (car value-boundary)) - (value-end (cdr value-boundary))) + (let ((value-start (car value-boundary))) (goto-char pos) (forward-line -1) (if (< (point) value-start) @@ -1753,7 +1752,7 @@ single name. A character reference contains a character number." xmltok-name-end) (t end))) -(defun nxml-scan-backward-within (end) +(defun nxml-scan-backward-within (_end) (setq xmltok-start (+ xmltok-start (nxml-start-delimiter-length xmltok-type))) @@ -2263,7 +2262,7 @@ ENDP is t in the former case, nil in the latter." 'nxml-in-mixed-content-hook)) nil) ;; See if the matching tag does not start or end a line. - ((condition-case err + ((condition-case nil (progn (setq matching-tag-pos (xmltok-save @@ -2401,7 +2400,7 @@ Repeating \\[nxml-dynamic-markup-word] immediately after successful \\[nxml-dynamic-markup-word] removes the previously inserted markup and attempts to find another possible way to do the markup." (interactive "*") - (let (search-start-pos done) + (let (search-start-pos) (if (and (integerp nxml-dynamic-markup-prev-pos) (= nxml-dynamic-markup-prev-pos (point)) (eq last-command this-command) diff --git a/lisp/nxml/rng-nxml.el b/lisp/nxml/rng-nxml.el index 1047ead1b13..a587c14e01a 100644 --- a/lisp/nxml/rng-nxml.el +++ b/lisp/nxml/rng-nxml.el @@ -54,7 +54,7 @@ :group 'relax-ng) (defvar rng-complete-end-tags-after-< t - "*Non-nil means immediately after < complete on end-tag names. + "Non-nil means immediately after < complete on end-tag names. Complete on start-tag names regardless.") (defvar rng-nxml-easy-menu diff --git a/lisp/obsolete/erc-hecomplete.el b/lisp/obsolete/erc-hecomplete.el index 6cc45c21727..8e939169a60 100644 --- a/lisp/obsolete/erc-hecomplete.el +++ b/lisp/obsolete/erc-hecomplete.el @@ -73,7 +73,7 @@ or you may use an arbitrary lisp expression." :group 'erc-hecomplete) (defcustom erc-nick-completion-ignore-case t - "*Non-nil means don't consider case significant in nick completion. + "Non-nil means don't consider case significant in nick completion. Case will be automatically corrected when non-nil. For instance if you type \"dely TAB\" the word completes and changes to \"delYsid\"." @@ -92,7 +92,7 @@ typing \"f o TAB\" will directly give you foobar. Use this with (erc-get-channel-nickname-list))) (defcustom erc-nick-completion-postfix ": " - "*When `erc-complete' is used in the first word after the prompt, + "When `erc-complete' is used in the first word after the prompt, add this string when a unique expansion was found." :group 'erc-hecomplete :type 'string) diff --git a/lisp/obsolete/fast-lock.el b/lisp/obsolete/fast-lock.el index 9eb1d0569f0..125a5dbf6e0 100644 --- a/lisp/obsolete/fast-lock.el +++ b/lisp/obsolete/fast-lock.el @@ -247,7 +247,7 @@ ;; User Variables: (defcustom fast-lock-minimum-size 25600 - "*Minimum size of a buffer for cached fontification. + "Minimum size of a buffer for cached fontification. Only buffers more than this can have associated Font Lock cache files saved. If nil, means cache files are never created. If a list, each element should be a cons pair of the form (MAJOR-MODE . SIZE), @@ -271,7 +271,7 @@ for buffers in Rmail mode, and size is irrelevant otherwise." (defcustom fast-lock-cache-directories '("~/.emacs-flc") ; - `internal', keep each file's Font Lock cache file in the same file. ; - `external', keep each file's Font Lock cache file in the same directory. - "*Directories in which Font Lock cache files are saved and read. + "Directories in which Font Lock cache files are saved and read. Each item should be either DIR or a cons pair of the form (REGEXP . DIR) where DIR is a directory name (relative or absolute) and REGEXP is a regexp. @@ -297,7 +297,7 @@ to avoid the possibility of using the cache of another user." (put 'fast-lock-cache-directories 'risky-local-variable t) (defcustom fast-lock-save-events '(kill-buffer kill-emacs) - "*Events under which caches will be saved. + "Events under which caches will be saved. Valid events are `save-buffer', `kill-buffer' and `kill-emacs'. If concurrent editing sessions use the same associated cache file for a file's buffer, then you should add `save-buffer' to this list." @@ -307,14 +307,14 @@ buffer, then you should add `save-buffer' to this list." :group 'fast-lock) (defcustom fast-lock-save-others t - "*If non-nil, save Font Lock cache files irrespective of file owner. + "If non-nil, save Font Lock cache files irrespective of file owner. If nil, means only buffer files known to be owned by you can have associated Font Lock cache files saved. Ownership may be unknown for networked files." :type 'boolean :group 'fast-lock) (defcustom fast-lock-verbose font-lock-verbose - "*If non-nil, means show status messages for cache processing. + "If non-nil, means show status messages for cache processing. If a number, only buffers greater than this size have processing messages." :type '(choice (const :tag "never" nil) (other :tag "always" t) diff --git a/lisp/obsolete/iso-acc.el b/lisp/obsolete/iso-acc.el index 5a7e99197b8..7e81c4bfb9d 100644 --- a/lisp/obsolete/iso-acc.el +++ b/lisp/obsolete/iso-acc.el @@ -73,7 +73,7 @@ :group 'i18n) (defcustom iso-accents-insert-offset nonascii-insert-offset - "*Offset added by ISO Accents mode to character codes 0200 and above." + "Offset added by ISO Accents mode to character codes 0200 and above." :type 'integer :group 'iso-acc) @@ -262,7 +262,7 @@ Change it with the `iso-accents-customize' function.") "Association list for ISO accent combinations, for the chosen language.") (defcustom iso-accents-mode nil - "*Non-nil enables ISO Accents mode. + "Non-nil enables ISO Accents mode. Setting this variable makes it local to the current buffer. See the function `iso-accents-mode'." :type 'boolean @@ -270,7 +270,7 @@ See the function `iso-accents-mode'." (make-variable-buffer-local 'iso-accents-mode) (defcustom iso-accents-enable '(?' ?` ?^ ?\" ?~ ?/) - "*List of accent keys that become prefixes in ISO Accents mode. + "List of accent keys that become prefixes in ISO Accents mode. The default is (?' ?` ?^ ?\" ?~ ?/), which contains all the supported accent keys. If you set this variable to a list in which some of those characters are missing, the missing ones do not act as accents. diff --git a/lisp/mail/mailpost.el b/lisp/obsolete/mailpost.el index 7c4bea830d8..158523e8ef2 100644 --- a/lisp/mail/mailpost.el +++ b/lisp/obsolete/mailpost.el @@ -9,6 +9,7 @@ ;; Maintainer: FSF ;; Created: 13 Jan 1986 ;; Keywords: mail +;; Obsolete-since: 24.2 ;;; Commentary: diff --git a/lisp/mouse-sel.el b/lisp/obsolete/mouse-sel.el index 6323ef03696..45396d30ea5 100644 --- a/lisp/mouse-sel.el +++ b/lisp/obsolete/mouse-sel.el @@ -4,6 +4,7 @@ ;; Author: Mike Williams <mdub@bigfoot.com> ;; Keywords: mouse +;; Obsolete-since: 24.2 ;; This file is part of GNU Emacs. @@ -262,6 +263,8 @@ kill ring; mouse-1 or mouse-3 kills it." interprogram-paste-function mouse-sel-original-interprogram-paste-function)))) +(make-obsolete 'mouse-sel-mode "use the normal mouse modes" "24.2") + ;;=== Internal Variables/Constants ======================================== (defvar mouse-sel-primary-thing nil diff --git a/lisp/obsolete/resume.el b/lisp/obsolete/resume.el index 905ea07459a..0d4c815722e 100644 --- a/lisp/obsolete/resume.el +++ b/lisp/obsolete/resume.el @@ -47,7 +47,7 @@ ;;; Code: (defvar resume-emacs-args-file (expand-file-name "~/.emacs_args") - "*This file is where arguments are placed for a suspended Emacs job.") + "This file is where arguments are placed for a suspended Emacs job.") (defvar resume-emacs-args-buffer " *Command Line Args*" "Buffer that is used by `resume-process-args'.") diff --git a/lisp/obsolete/scribe.el b/lisp/obsolete/scribe.el index c46c834338f..7ff944c14df 100644 --- a/lisp/obsolete/scribe.el +++ b/lisp/obsolete/scribe.el @@ -45,17 +45,17 @@ "Abbrev table used while in scribe mode.") (defcustom scribe-fancy-paragraphs nil - "*Non-nil makes Scribe mode use a different style of paragraph separation." + "Non-nil makes Scribe mode use a different style of paragraph separation." :type 'boolean :group 'scribe) (defcustom scribe-electric-quote nil - "*Non-nil makes insert of double quote use `` or '' depending on context." + "Non-nil makes insert of double quote use `` or '' depending on context." :type 'boolean :group 'scribe) (defcustom scribe-electric-parenthesis nil - "*Non-nil makes parenthesis char ( (]}> ) automatically insert its close + "Non-nil makes parenthesis char ( (]}> ) automatically insert its close if typed after an @Command form." :type 'boolean :group 'scribe) diff --git a/lisp/org/ChangeLog b/lisp/org/ChangeLog index 0e80ea2fa2e..86f493a0a5b 100644 --- a/lisp/org/ChangeLog +++ b/lisp/org/ChangeLog @@ -1,7 +1,7 @@ -2012-04-11 Bastien Guerry <bzg@gnu.org> +2012-04-14 Bastien Guerry <bzg@gnu.org> * org.el (org-point-at-end-of-empty-headline): Only try to match - ̀org-todo-line-regexp' when the value is non-nil, e.g. in non-org + `org-todo-line-regexp' when the value is non-nil, e.g. in non-org modes. (org-fontify-meta-lines-and-blocks-1): Prevent errors when trying to fontify beyond (point-max). @@ -19,31 +19,30 @@ (org-table-get-range): Fix bug: make sure references to $0 are correctly handled. - * org-pcomplete.el (pcomplete/org-mode/file-option): Fix bug in - `pcomplete/org-mode/file-option'. + * org-pcomplete.el (pcomplete/org-mode/file-option): + Fix bug in `pcomplete/org-mode/file-option'. (org-thing-at-point): Also match line options like LATEX_CLASS when pcompleting from LATEX_. * org-agenda.el (org-agenda-filter-make-matcher) (org-agenda-filter-apply): Allow filtering entries out by category. Using `C-u <' from the agenda view will redisplay - the agenda without entries from categories of the current - line. + the agenda without entries from categories of the current line. -2012-04-11 Eric Schulte <eric.schulte@gmx.com> +2012-04-14 Eric Schulte <eric.schulte@gmx.com> - * ob-C.el (org-babel-C-ensure-main-wrap): Add an explicit return - to automatically generated main methods. + * ob-C.el (org-babel-C-ensure-main-wrap): + Add an explicit return to automatically generated main methods. -2012-04-11 Matt Lundin <mdl@imapmail.org> +2012-04-14 Matt Lundin <mdl@imapmail.org> - * org.el (org-after-todo-state-change-hook): Fix docstring to - reflect name change of state to `org-state'. + * org.el (org-after-todo-state-change-hook): + Fix docstring to reflect name change of state to `org-state'. -2012-04-11 Mike Sperber <sperber@deinprogramm.de> (tiny change) +2012-04-14 Mike Sperber <sperber@deinprogramm.de> (tiny change) - * org-footnote.el (org-footnote-normalize): Correctly pass keyword - arguments to `org-export-preprocess-string'. + * org-footnote.el (org-footnote-normalize): + Correctly pass keyword arguments to `org-export-preprocess-string'. 2012-04-03 Bastien Guerry <bzg@gnu.org> diff --git a/lisp/org/org-ctags.el b/lisp/org/org-ctags.el index 48656190a0c..8b5bc6ecdf6 100644 --- a/lisp/org/org-ctags.el +++ b/lisp/org/org-ctags.el @@ -188,7 +188,7 @@ See the ctags documentation for more information.") Created as a local variable in each buffer.") (defcustom org-ctags-new-topic-template - "* <<%t>>\n\n\n\n\n\n" + " <<%t>>\n\n\n\n\n\n" "Text to insert when creating a new org file via opening a hyperlink. The following patterns are replaced in the string: `%t' - replaced with the capitalized title of the hyperlink" diff --git a/lisp/org/org-protocol.el b/lisp/org/org-protocol.el index 775f60990d0..419a1ffcaa4 100644 --- a/lisp/org/org-protocol.el +++ b/lisp/org/org-protocol.el @@ -225,7 +225,7 @@ Consider using the interactive functions `org-protocol-create' and :type 'alist) (defcustom org-protocol-protocol-alist nil - "* Register custom handlers for org-protocol. + " Register custom handlers for org-protocol. Each element of this list must be of the form: diff --git a/lisp/outline.el b/lisp/outline.el index da5519f95eb..40974a2c829 100644 --- a/lisp/outline.el +++ b/lisp/outline.el @@ -284,10 +284,10 @@ in the file it applies to." "Normal hook to be run after outline visibility changes.") (defvar outline-mode-hook nil - "*This hook is run when outline mode starts.") + "This hook is run when outline mode starts.") (defvar outline-blank-line nil - "*Non-nil means to leave unhidden blank line before heading.") + "Non-nil means to leave unhidden blank line before heading.") ;;;###autoload (define-derived-mode outline-mode text-mode "Outline" @@ -380,7 +380,7 @@ See the command `outline-mode' for more information on this mode." (show-all))) (defvar outline-level 'outline-level - "*Function of no args to compute a header's nesting level in an outline. + "Function of no args to compute a header's nesting level in an outline. It can assume point is at the beginning of a header line and that the match data reflects the `outline-regexp'.") ;;;###autoload(put 'outline-level 'risky-local-variable t) diff --git a/lisp/paren.el b/lisp/paren.el index 49d2777fd0b..2d6c42478e1 100644 --- a/lisp/paren.el +++ b/lisp/paren.el @@ -96,7 +96,7 @@ otherwise)." 'show-paren-mismatch "22.1") (defvar show-paren-highlight-openparen t - "*Non-nil turns on openparen highlighting when matching forward.") + "Non-nil turns on openparen highlighting when matching forward.") (defvar show-paren-idle-timer nil) diff --git a/lisp/play/animate.el b/lisp/play/animate.el index a1420e62f02..9919600202f 100644 --- a/lisp/play/animate.el +++ b/lisp/play/animate.el @@ -92,7 +92,7 @@ "*Number of steps `animate-string' will place a char before its last position.") (defvar animation-buffer-name nil - "*String naming the default buffer for animations. + "String naming the default buffer for animations. When nil animations displayed in the buffer named *Animation*.") ;;;###autoload diff --git a/lisp/play/cookie1.el b/lisp/play/cookie1.el index 06bd962d925..cbf29a26a71 100644 --- a/lisp/play/cookie1.el +++ b/lisp/play/cookie1.el @@ -96,6 +96,8 @@ of load, ENDMSG at the end." "Reads in the PHRASE-FILE, returns it as a vector of strings. Emit STARTMSG and ENDMSG before and after. Caches the result; second and subsequent calls on the same file won't go to disk." + (or (file-readable-p phrase-file) + (error "Cannot read file `%s'" phrase-file)) (let ((sym (intern-soft phrase-file cookie-cache))) (and sym (not (equal (symbol-function sym) (nth 5 (file-attributes phrase-file)))) diff --git a/lisp/play/gomoku.el b/lisp/play/gomoku.el index 6b6e81dfaba..6d73e2ccb65 100644 --- a/lisp/play/gomoku.el +++ b/lisp/play/gomoku.el @@ -89,16 +89,16 @@ One useful value to include is `turn-on-font-lock' to highlight the pieces." ;; look rectangular, but spacings SHOULD be at least 2 (MUST BE at least 1). (defconst gomoku-square-width 4 - "*Horizontal spacing between squares on the Gomoku board.") + "Horizontal spacing between squares on the Gomoku board.") (defconst gomoku-square-height 2 - "*Vertical spacing between squares on the Gomoku board.") + "Vertical spacing between squares on the Gomoku board.") (defconst gomoku-x-offset 3 - "*Number of columns between the Gomoku board and the side of the window.") + "Number of columns between the Gomoku board and the side of the window.") (defconst gomoku-y-offset 1 - "*Number of lines between the Gomoku board and the top of the window.") + "Number of lines between the Gomoku board and the top of the window.") (defvar gomoku-mode-map @@ -173,7 +173,7 @@ One useful value to include is `turn-on-font-lock' to highlight the pieces." '(("O" . 'gomoku-O) ("X" . 'gomoku-X) ("[-|/\\]" 0 (if gomoku-emacs-won 'gomoku-O 'gomoku-X))) - "*Font lock rules for Gomoku.") + "Font lock rules for Gomoku.") (put 'gomoku-mode 'front-sticky (put 'gomoku-mode 'rear-nonsticky '(intangible))) diff --git a/lisp/play/landmark.el b/lisp/play/landmark.el index 29bb8a40e8f..9ffc308928a 100644 --- a/lisp/play/landmark.el +++ b/lisp/play/landmark.el @@ -139,16 +139,16 @@ ;; look rectangular, but spacings SHOULD be at least 2 (MUST BE at least 1). (defconst landmark-square-width 2 - "*Horizontal spacing between squares on the Landmark board.") + "Horizontal spacing between squares on the Landmark board.") (defconst landmark-square-height 1 - "*Vertical spacing between squares on the Landmark board.") + "Vertical spacing between squares on the Landmark board.") (defconst landmark-x-offset 3 - "*Number of columns between the Landmark board and the side of the window.") + "Number of columns between the Landmark board and the side of the window.") (defconst landmark-y-offset 1 - "*Number of lines between the Landmark board and the top of the window.") + "Number of lines between the Landmark board and the top of the window.") ;;;_ + LANDMARK MODE AND KEYMAP. @@ -206,7 +206,7 @@ (defvar landmark-emacs-won () - "*For making font-lock use the winner's face for the line.") + "For making font-lock use the winner's face for the line.") (defface landmark-font-lock-face-O '((((class color)) :foreground "red") (t :weight bold)) @@ -226,7 +226,7 @@ ("[-|/\\]" 0 (if landmark-emacs-won 'landmark-font-lock-face-O 'landmark-font-lock-face-X))) - "*Font lock rules for Landmark.") + "Font lock rules for Landmark.") (put 'landmark-mode 'front-sticky (put 'landmark-mode 'rear-nonsticky '(intangible))) diff --git a/lisp/play/yow.el b/lisp/play/yow.el index fa32fdf8272..cb02a839cde 100644 --- a/lisp/play/yow.el +++ b/lisp/play/yow.el @@ -1,6 +1,6 @@ ;;; yow.el --- quote random zippyisms -;; Copyright (C) 1993-1995, 2000-2012 Free Software Foundation, Inc. +;; Copyright (C) 1993-1995, 2000-2012 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Author: Richard Mlynarik @@ -24,10 +24,6 @@ ;;; Commentary: ;; Important pinheadery for GNU Emacs. -;; -;; See cookie1.el for implementation. Note --- the `n' argument of yow -;; from the 18.xx implementation is no longer; we only support *random* -;; random access now. ;;; Code: @@ -38,7 +34,7 @@ :prefix "yow-" :group 'games) -(defcustom yow-file (concat data-directory "yow.lines") +(defcustom yow-file (expand-file-name "yow.lines" data-directory) "File containing pertinent pinhead phrases." :type 'file :group 'yow) diff --git a/lisp/play/zone.el b/lisp/play/zone.el index f1d42aafb9c..f47e273d612 100644 --- a/lisp/play/zone.el +++ b/lisp/play/zone.el @@ -43,7 +43,7 @@ "The timer we use to decide when to zone out, or nil if none.") (defvar zone-timeout nil - "*Seconds to timeout the zoning. + "Seconds to timeout the zoning. If nil, don't interrupt for about 1^26 seconds.") ;; Vector of functions that zone out. `zone' will execute one of @@ -623,7 +623,7 @@ If the element is a function or a list of a function and a number, ;;;; the lyfe so short the craft so long to lerne --chaucer (defvar zone-pgm-random-life-wait nil - "*Seconds to wait between successive `life' generations. + "Seconds to wait between successive `life' generations. If nil, `zone-pgm-random-life' chooses a value from 0-3 (inclusive).") (defvar life-patterns) ; from life.el diff --git a/lisp/progmodes/ada-mode.el b/lisp/progmodes/ada-mode.el index d8768dd5986..33ff4645a77 100644 --- a/lisp/progmodes/ada-mode.el +++ b/lisp/progmodes/ada-mode.el @@ -139,7 +139,7 @@ version-string))) (defvar ada-mode-hook nil - "*List of functions to call when Ada mode is invoked. + "List of functions to call when Ada mode is invoked. This hook is automatically executed after the `ada-mode' is fully loaded. This is a good place to add Ada environment specific bindings.") @@ -150,13 +150,13 @@ This is a good place to add Ada environment specific bindings.") :group 'languages) (defcustom ada-auto-case t - "*Non-nil means automatically change case of preceding word while typing. + "Non-nil means automatically change case of preceding word while typing. Casing is done according to `ada-case-keyword', `ada-case-identifier' and `ada-case-attribute'." :type 'boolean :group 'ada) (defcustom ada-broken-decl-indent 0 - "*Number of columns to indent a broken declaration. + "Number of columns to indent a broken declaration. An example is : declare @@ -165,7 +165,7 @@ An example is : :type 'integer :group 'ada) (defcustom ada-broken-indent 2 - "*Number of columns to indent the continuation of a broken line. + "Number of columns to indent the continuation of a broken line. An example is : My_Var : My_Type := (Field1 => @@ -173,7 +173,7 @@ An example is : :type 'integer :group 'ada) (defcustom ada-continuation-indent ada-broken-indent - "*Number of columns to indent the continuation of broken lines in parenthesis. + "Number of columns to indent the continuation of broken lines in parenthesis. An example is : Func (Param1, @@ -181,7 +181,7 @@ An example is : :type 'integer :group 'ada) (defcustom ada-case-attribute 'ada-capitalize-word - "*Function to call to adjust the case of Ada attributes. + "Function to call to adjust the case of Ada attributes. It may be `downcase-word', `upcase-word', `ada-loose-case-word', `ada-capitalize-word' or `ada-no-auto-case'." :type '(choice (const downcase-word) @@ -193,7 +193,7 @@ It may be `downcase-word', `upcase-word', `ada-loose-case-word', (defcustom ada-case-exception-file (list (convert-standard-filename' "~/.emacs_case_exceptions")) - "*List of special casing exceptions dictionaries for identifiers. + "List of special casing exceptions dictionaries for identifiers. The first file is the one where new exceptions will be saved by Emacs when you call `ada-create-case-exception'. @@ -207,7 +207,7 @@ by a comment." :group 'ada) (defcustom ada-case-keyword 'downcase-word - "*Function to call to adjust the case of an Ada keywords. + "Function to call to adjust the case of an Ada keywords. It may be `downcase-word', `upcase-word', `ada-loose-case-word' or `ada-capitalize-word'." :type '(choice (const downcase-word) @@ -218,7 +218,7 @@ It may be `downcase-word', `upcase-word', `ada-loose-case-word' or :group 'ada) (defcustom ada-case-identifier 'ada-loose-case-word - "*Function to call to adjust the case of an Ada identifier. + "Function to call to adjust the case of an Ada identifier. It may be `downcase-word', `upcase-word', `ada-loose-case-word' or `ada-capitalize-word'." :type '(choice (const downcase-word) @@ -229,7 +229,7 @@ It may be `downcase-word', `upcase-word', `ada-loose-case-word' or :group 'ada) (defcustom ada-clean-buffer-before-saving t - "*Non-nil means remove trailing spaces and untabify the buffer before saving." + "Non-nil means remove trailing spaces and untabify the buffer before saving." :type 'boolean :group 'ada) (make-obsolete-variable 'ada-clean-buffer-before-saving "use the `write-file-functions' hook." @@ -237,7 +237,7 @@ It may be `downcase-word', `upcase-word', `ada-loose-case-word' or (defcustom ada-indent 3 - "*Size of Ada indentation. + "Size of Ada indentation. An example is : procedure Foo is @@ -246,11 +246,11 @@ begin :type 'integer :group 'ada) (defcustom ada-indent-after-return t - "*Non-nil means automatically indent after RET or LFD." + "Non-nil means automatically indent after RET or LFD." :type 'boolean :group 'ada) (defcustom ada-indent-align-comments t - "*Non-nil means align comments on previous line comments, if any. + "Non-nil means align comments on previous line comments, if any. If nil, indentation is calculated as usual. Note that indentation is calculated only if `ada-indent-comment-as-code' is t. @@ -260,12 +260,12 @@ For instance: :type 'boolean :group 'ada) (defcustom ada-indent-comment-as-code t - "*Non-nil means indent comment lines as code. + "Non-nil means indent comment lines as code. A nil value means do not auto-indent comments." :type 'boolean :group 'ada) (defcustom ada-indent-handle-comment-special nil - "*Non-nil if comment lines should be handled specially inside parenthesis. + "Non-nil if comment lines should be handled specially inside parenthesis. By default, if the line that contains the open parenthesis has some text following it, then the following lines will be indented in the same column as this text. This will not be true if the first line is @@ -287,11 +287,11 @@ type A is :type 'boolean :group 'ada) (defcustom ada-indent-is-separate t - "*Non-nil means indent 'is separate' or 'is abstract' if on a single line." + "Non-nil means indent 'is separate' or 'is abstract' if on a single line." :type 'boolean :group 'ada) (defcustom ada-indent-record-rel-type 3 - "*Indentation for 'record' relative to 'type' or 'use'. + "Indentation for 'record' relative to 'type' or 'use'. An example is: type A is @@ -299,7 +299,7 @@ An example is: :type 'integer :group 'ada) (defcustom ada-indent-renames ada-broken-indent - "*Indentation for renames relative to the matching function statement. + "Indentation for renames relative to the matching function statement. If `ada-indent-return' is null or negative, the indentation is done relative to the open parenthesis (if there is no parenthesis, `ada-broken-indent' is used). @@ -310,7 +310,7 @@ An example is: :type 'integer :group 'ada) (defcustom ada-indent-return 0 - "*Indentation for 'return' relative to the matching 'function' statement. + "Indentation for 'return' relative to the matching 'function' statement. If `ada-indent-return' is null or negative, the indentation is done relative to the open parenthesis (if there is no parenthesis, `ada-broken-indent' is used). @@ -320,22 +320,22 @@ An example is: :type 'integer :group 'ada) (defcustom ada-indent-to-open-paren t - "*Non-nil means indent according to the innermost open parenthesis." + "Non-nil means indent according to the innermost open parenthesis." :type 'boolean :group 'ada) (defcustom ada-fill-comment-prefix "-- " - "*Text inserted in the first columns when filling a comment paragraph. + "Text inserted in the first columns when filling a comment paragraph. Note: if you modify this variable, you will have to invoke `ada-mode' again to take account of the new value." :type 'string :group 'ada) (defcustom ada-fill-comment-postfix " --" - "*Text inserted at the end of each line when filling a comment paragraph. + "Text inserted at the end of each line when filling a comment paragraph. Used by `ada-fill-comment-paragraph-postfix'." :type 'string :group 'ada) (defcustom ada-label-indent -4 - "*Number of columns to indent a label. + "Number of columns to indent a label. An example is: procedure Foo is @@ -346,15 +346,15 @@ This is also used for <<..>> labels" :type 'integer :group 'ada) (defcustom ada-language-version 'ada95 - "*Ada language version; one of `ada83', `ada95', `ada2005'." + "Ada language version; one of `ada83', `ada95', `ada2005'." :type '(choice (const ada83) (const ada95) (const ada2005)) :group 'ada) (defcustom ada-move-to-declaration nil - "*Non-nil means `ada-move-to-start' moves to the subprogram declaration, not to 'begin'." + "Non-nil means `ada-move-to-start' moves to the subprogram declaration, not to 'begin'." :type 'boolean :group 'ada) (defcustom ada-popup-key '[down-mouse-3] - "*Key used for binding the contextual menu. + "Key used for binding the contextual menu. If nil, no contextual menu is available." :type '(restricted-sexp :match-alternatives (stringp vectorp)) :group 'ada) @@ -364,7 +364,7 @@ If nil, no contextual menu is available." (split-string (or (getenv "ADA_INCLUDE_PATH") "") ":") '("/usr/adainclude" "/usr/local/adainclude" "/opt/gnu/adainclude")) - "*Default list of directories to search for Ada files. + "Default list of directories to search for Ada files. See the description for the `ff-search-directories' variable. This variable is the initial value of `ada-search-directories-internal'." :type '(repeat (choice :tag "Directory" @@ -379,7 +379,7 @@ and the standard runtime location, and the value of the user-defined `ada-search-directories'.") (defcustom ada-stmt-end-indent 0 - "*Number of columns to indent the end of a statement on a separate line. + "Number of columns to indent the end of a statement on a separate line. An example is: if A = B @@ -387,7 +387,7 @@ An example is: :type 'integer :group 'ada) (defcustom ada-tab-policy 'indent-auto - "*Control the behavior of the TAB key. + "Control the behavior of the TAB key. Must be one of : `indent-rigidly' : always adds `ada-indent' blanks at the beginning of the line. `indent-auto' : use indentation functions in this file. @@ -398,7 +398,7 @@ Must be one of : :group 'ada) (defcustom ada-use-indent ada-broken-indent - "*Indentation for the lines in a 'use' statement. + "Indentation for the lines in a 'use' statement. An example is: use Ada.Text_IO, @@ -406,7 +406,7 @@ An example is: :type 'integer :group 'ada) (defcustom ada-when-indent 3 - "*Indentation for 'when' relative to 'exception' or 'case'. + "Indentation for 'when' relative to 'exception' or 'case'. An example is: case A is @@ -414,7 +414,7 @@ An example is: :type 'integer :group 'ada) (defcustom ada-with-indent ada-broken-indent - "*Indentation for the lines in a 'with' statement. + "Indentation for the lines in a 'with' statement. An example is: with Ada.Text_IO, @@ -422,7 +422,7 @@ An example is: :type 'integer :group 'ada) (defcustom ada-which-compiler 'gnat - "*Name of the compiler to use. + "Name of the compiler to use. This will determine what features are made available through the Ada mode. The possible choices are: `gnat': Use Ada Core Technologies' GNAT compiler. Add some cross-referencing diff --git a/lisp/progmodes/ada-xref.el b/lisp/progmodes/ada-xref.el index 1e07ac4cf09..146cc703e1a 100644 --- a/lisp/progmodes/ada-xref.el +++ b/lisp/progmodes/ada-xref.el @@ -50,21 +50,21 @@ ;; ------ User variables (defcustom ada-xref-other-buffer t - "*If nil, always display the cross-references in the same buffer. + "If nil, always display the cross-references in the same buffer. Otherwise create either a new buffer or a new frame." :type 'boolean :group 'ada) (defcustom ada-xref-create-ali nil - "*If non-nil, run gcc whenever the cross-references are not up-to-date. + "If non-nil, run gcc whenever the cross-references are not up-to-date. If nil, the cross-reference mode never runs gcc." :type 'boolean :group 'ada) (defcustom ada-xref-confirm-compile nil - "*If non-nil, ask for confirmation before compiling or running the application." + "If non-nil, ask for confirmation before compiling or running the application." :type 'boolean :group 'ada) (defcustom ada-krunch-args "0" - "*Maximum number of characters for filenames created by `gnatkr'. + "Maximum number of characters for filenames created by `gnatkr'. Set to 0, if you don't use crunched filenames. This should be a string." :type 'string :group 'ada) @@ -76,7 +76,7 @@ is faster, available from Ada mode web site." :type 'string :group 'ada) (defcustom ada-gnatls-args '("-v") - "*Arguments to pass to `gnatls' to find location of the runtime. + "Arguments to pass to `gnatls' to find location of the runtime. Typical use is to pass `--RTS=soft-floats' on some systems that support it. You can also add `-I-' if you do not want the current directory to be included. @@ -125,7 +125,7 @@ The command `gnatfind' is used every time you choose the menu (defcustom ada-prj-default-check-cmd (concat "${cross_prefix}gnatmake -u -c -gnatc ${gnatmake_opt} ${full_current}" " -cargs ${comp_opt}") - "*Default command to be used to compile a single file. + "Default command to be used to compile a single file. Emacs will substitute the current filename for ${full_current}, or add the filename at the end. This is the same syntax as in the project file." :type 'string :group 'ada) @@ -133,35 +133,35 @@ the filename at the end. This is the same syntax as in the project file." (defcustom ada-prj-default-comp-cmd (concat "${cross_prefix}gnatmake -u -c ${gnatmake_opt} ${full_current} -cargs" " ${comp_opt}") - "*Default command to be used to compile a single file. + "Default command to be used to compile a single file. Emacs will substitute the current filename for ${full_current}, or add the filename at the end. This is the same syntax as in the project file." :type 'string :group 'ada) (defcustom ada-prj-default-debugger "${cross_prefix}gdb" - "*Default name of the debugger." + "Default name of the debugger." :type 'string :group 'ada) (defcustom ada-prj-default-make-cmd (concat "${cross_prefix}gnatmake -o ${main} ${main} ${gnatmake_opt} " "-cargs ${comp_opt} -bargs ${bind_opt} -largs ${link_opt}") - "*Default command to be used to compile the application. + "Default command to be used to compile the application. This is the same syntax as in the project file." :type 'string :group 'ada) (defcustom ada-prj-default-project-file "" - "*Name of the current project file. + "Name of the current project file. Emacs will not try to use the search algorithm to find the project file if this string is not empty. It is set whenever a project file is found." :type '(file :must-match t) :group 'ada) (defcustom ada-gnatstub-opts "-q -I${src_dir}" - "*Options to pass to `gnatsub' to generate the body of a package. + "Options to pass to `gnatsub' to generate the body of a package. This has the same syntax as in the project file (with variable substitution)." :type 'string :group 'ada) (defcustom ada-always-ask-project nil - "*If nil, use default values when no project file was found. + "If nil, use default values when no project file was found. Otherwise, ask the user for the name of the project file to use." :type 'boolean :group 'ada) @@ -169,12 +169,12 @@ Otherwise, ask the user for the name of the project file to use." "True if we are running on Windows.") (defcustom ada-tight-gvd-integration nil - "*If non-nil, a new Emacs frame will be swallowed in GVD when debugging. + "If non-nil, a new Emacs frame will be swallowed in GVD when debugging. If GVD is not the debugger used, nothing happens." :type 'boolean :group 'ada) (defcustom ada-xref-search-with-egrep t - "*If non-nil, use egrep to find the possible declarations for an entity. + "If non-nil, use egrep to find the possible declarations for an entity. This alternate method is used when the exact location was not found in the information provided by GNAT. However, it might be expensive if you have a lot of sources, since it will search in all the files in your project." diff --git a/lisp/progmodes/antlr-mode.el b/lisp/progmodes/antlr-mode.el index 9c9a8e09d49..345ca563906 100644 --- a/lisp/progmodes/antlr-mode.el +++ b/lisp/progmodes/antlr-mode.el @@ -269,7 +269,7 @@ greater than this number." (integer :tag "Hidden if longer than" :value 3))) (defcustom antlr-indent-comment 'tab - "*Non-nil, if the indentation should touch lines in block comments. + "Non-nil, if the indentation should touch lines in block comments. If nil, no continuation line of a block comment is changed. If t, they are changed according to `c-indentation-line'. When not nil and not t, they are only changed by \\[antlr-indent-command]." @@ -296,7 +296,7 @@ ANTLR's and Java's indentation styles. Used by `antlr-set-tabs'." (boolean :tag "Indent-tabs-mode")))) (defcustom antlr-indent-style "java" - "*If non-nil, cc-mode indentation style used for `antlr-mode'. + "If non-nil, cc-mode indentation style used for `antlr-mode'. See `c-set-style' and for details, where the most interesting part in `c-style-alist' is the value of `c-basic-offset'." :group 'antlr @@ -339,14 +339,14 @@ to the normal rules of `antlr-indent-line'." ;;;=========================================================================== (defcustom antlr-options-use-submenus t - "*Non-nil, if the major mode menu should include option submenus. + "Non-nil, if the major mode menu should include option submenus. If nil, the menu just includes a command to insert options. Otherwise, it includes four submenus to insert file/grammar/rule/subrule options." :group 'antlr :type 'boolean) (defcustom antlr-tool-version 20701 - "*The version number of the Antlr tool. + "The version number of the Antlr tool. The value is an integer of the form XYYZZ which stands for vX.YY.ZZ. This variable is used to warn about non-supported options and to supply version correct option values when using \\[antlr-insert-option]. @@ -358,7 +358,7 @@ can make this variable buffer-local." :type 'integer) (defcustom antlr-options-auto-colon t - "*Non-nil, if `:' is inserted with a rule or subrule options section. + "Non-nil, if `:' is inserted with a rule or subrule options section. A `:' is only inserted if this value is non-nil, if a rule or subrule option is inserted with \\[antlr-insert-option], if there was no rule or subrule options section before, and if a `:' is not already present @@ -378,7 +378,7 @@ is `language-as-string'. See also `antlr-read-value'." :type '(repeat (symbol :tag "Style symbol"))) (defcustom antlr-options-push-mark t - "*Non-nil, if inserting an option should set & push mark. + "Non-nil, if inserting an option should set & push mark. If nil, never set mark when inserting an option with command \\[antlr-insert-option]. If t, always set mark via `push-mark'. If a number, only set mark if point was outside the options area before and @@ -392,7 +392,7 @@ options area before." (sexp :tag "If outside options" :format "%t" :value outside))) (defcustom antlr-options-assign-string " = " - "*String containing `=' to use between option name and value. + "String containing `=' to use between option name and value. This string is only used if the option to insert did not exist before or if there was no `=' after it. In other words, the spacing around an existing `=' won't be changed when changing an option value." @@ -578,21 +578,21 @@ AS-STRING is non-nil and is either t or a symbol which is a member of ;;;=========================================================================== (defcustom antlr-tool-command "java antlr.Tool" - "*Command used in \\[antlr-run-tool] to run the Antlr tool. + "Command used in \\[antlr-run-tool] to run the Antlr tool. This variable should include all options passed to Antlr except the option \"-glib\" which is automatically suggested if necessary." :group 'antlr :type 'string) (defcustom antlr-ask-about-save t - "*If not nil, \\[antlr-run-tool] asks which buffers to save. + "If not nil, \\[antlr-run-tool] asks which buffers to save. Otherwise, it saves all modified buffers before running without asking." :group 'antlr :type 'boolean) (defcustom antlr-makefile-specification '("\n" ("GENS" "GENS%d" " \\\n\t") "$(ANTLR)") - "*Variable to specify the appearance of the generated makefile rules. + "Variable to specify the appearance of the generated makefile rules. This variable influences the output of \\[antlr-show-makefile-rules]. It looks like \(RULE-SEP GEN-VAR-SPEC COMMAND). @@ -650,7 +650,7 @@ See variable `antlr-file-formats-alist' for language dependent formats.") (defvar antlr-unknown-file-formats '("?%s?.g" "?%s?") - "*Formats which specify the names of unknown files. + "Formats which specify the names of unknown files. The value looks like \(SUPER-GRAMMAR-FILE-FORMAT SUPER-EVOCAB-FORMAT). SUPER-GRAMMAR-FORMAT is a format string, it specifies with substitution @@ -685,7 +685,7 @@ DIRECTORY is the name of the current directory.") ;;;=========================================================================== (defcustom antlr-imenu-name t ; (featurep 'xemacs) ; TODO: Emacs-21 bug? - "*Non-nil, if a \"Index\" menu should be added to the menubar. + "Non-nil, if a \"Index\" menu should be added to the menubar. If it is a string, it is used instead \"Index\". Requires package imenu." :group 'antlr @@ -774,7 +774,7 @@ imenu." ;;;=========================================================================== (defcustom antlr-font-lock-maximum-decoration 'inherit - "*The maximum decoration level for fontifying actions. + "The maximum decoration level for fontifying actions. Value `none' means, do not fontify actions, just normal grammar code according to `antlr-font-lock-additional-keywords'. Value `inherit' means, use value of `font-lock-maximum-decoration'. Any other value is diff --git a/lisp/progmodes/asm-mode.el b/lisp/progmodes/asm-mode.el index cfa977d9022..5e15371b406 100644 --- a/lisp/progmodes/asm-mode.el +++ b/lisp/progmodes/asm-mode.el @@ -53,7 +53,7 @@ :group 'languages) (defcustom asm-comment-char ?\; - "*The comment-start character assumed by Asm mode." + "The comment-start character assumed by Asm mode." :type 'character :group 'asm) diff --git a/lisp/progmodes/cfengine.el b/lisp/progmodes/cfengine.el index 4e9a10e3ceb..64e99fb1f3d 100644 --- a/lisp/progmodes/cfengine.el +++ b/lisp/progmodes/cfengine.el @@ -54,7 +54,7 @@ :group 'languages) (defcustom cfengine-indent 2 - "*Size of a CFEngine indentation step in columns." + "Size of a CFEngine indentation step in columns." :group 'cfengine :type 'integer) diff --git a/lisp/progmodes/cmacexp.el b/lisp/progmodes/cmacexp.el index 88c36e8c452..0feefd99715 100644 --- a/lisp/progmodes/cmacexp.el +++ b/lisp/progmodes/cmacexp.el @@ -106,12 +106,12 @@ (defcustom c-macro-shrink-window-flag nil - "*Non-nil means shrink the *Macroexpansion* window to fit its contents." + "Non-nil means shrink the *Macroexpansion* window to fit its contents." :type 'boolean :group 'c-macro) (defcustom c-macro-prompt-flag nil - "*Non-nil makes `c-macro-expand' prompt for preprocessor arguments." + "Non-nil makes `c-macro-expand' prompt for preprocessor arguments." :type 'boolean :group 'c-macro) @@ -141,7 +141,7 @@ option, or to set an equivalent one." :group 'c-macro) (defcustom c-macro-cppflags "" - "*Preprocessor flags used by `c-macro-expand'." + "Preprocessor flags used by `c-macro-expand'." :type 'string :group 'c-macro) diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index c1d8f9db23f..2608ba0b0c3 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el @@ -78,7 +78,7 @@ after `call-process' inserts the grep output into the buffer.") This is bound before running `compilation-filter-hook'.") (defvar compilation-first-column 1 - "*This is how compilers number the first column, usually 1 or 0. + "This is how compilers number the first column, usually 1 or 0. If this is buffer-local in the destination buffer, Emacs obeys that value, otherwise it uses the value in the *compilation* buffer. This enables a major-mode to specify its own value.") @@ -90,7 +90,7 @@ in the compilation output, and should return a transformed file name.") ;;;###autoload (defvar compilation-process-setup-function nil - "*Function to call to customize the compilation process. + "Function to call to customize the compilation process. This function is called immediately before the compilation process is started. It can be used to set any variables or functions that are used while processing the output of the compilation process.") @@ -633,7 +633,7 @@ This only affects platforms that support asynchronous processes (see (defvar compilation-locs ()) (defvar compilation-debug nil - "*Set this to t before creating a *compilation* buffer. + "Set this to t before creating a *compilation* buffer. Then every error line will have a debug text property with the matcher that fit this line and the match data. Use `describe-text-properties'.") @@ -739,7 +739,7 @@ Faces `compilation-error-face', `compilation-warning-face', ;; (make-variable-buffer-local 'compilation-buffer-modtime) (defvar compilation-skip-to-next-location t - "*If non-nil, skip multiple error messages for the same source location.") + "If non-nil, skip multiple error messages for the same source location.") (defcustom compilation-skip-threshold 1 "Compilation motion commands skip less important messages. diff --git a/lisp/progmodes/cpp.el b/lisp/progmodes/cpp.el index 8ecfe79de3b..1b36fe2800d 100644 --- a/lisp/progmodes/cpp.el +++ b/lisp/progmodes/cpp.el @@ -52,7 +52,7 @@ :prefix "cpp-") (defcustom cpp-config-file (convert-standard-filename ".cpp.el") - "*File name to save cpp configuration." + "File name to save cpp configuration." :type 'file :group 'cpp) @@ -61,17 +61,17 @@ :type '(choice (const invisible) (face))) (defcustom cpp-known-face 'invisible - "*Face used for known cpp symbols." + "Face used for known cpp symbols." :type 'cpp-face :group 'cpp) (defcustom cpp-unknown-face 'highlight - "*Face used for unknown cpp symbols." + "Face used for unknown cpp symbols." :type 'cpp-face :group 'cpp) (defcustom cpp-face-type 'light - "*Indicate what background face type you prefer. + "Indicate what background face type you prefer. Can be either light or dark for color screens, mono for monochrome screens, and none if you don't use a window system and don't have a color-capable display." @@ -80,12 +80,12 @@ a color-capable display." :group 'cpp) (defcustom cpp-known-writable t - "*Non-nil means you are allowed to modify the known conditionals." + "Non-nil means you are allowed to modify the known conditionals." :type 'boolean :group 'cpp) (defcustom cpp-unknown-writable t - "*Non-nil means you are allowed to modify the unknown conditionals." + "Non-nil means you are allowed to modify the unknown conditionals." :type 'boolean :group 'cpp) diff --git a/lisp/progmodes/cwarn.el b/lisp/progmodes/cwarn.el index 74ca5a6d76f..3e99f3c9176 100644 --- a/lisp/progmodes/cwarn.el +++ b/lisp/progmodes/cwarn.el @@ -120,7 +120,7 @@ :group 'faces) (defvar cwarn-mode nil - "*Non-nil when Cwarn mode is active. + "Non-nil when Cwarn mode is active. Never set this variable directly, use the command `cwarn-mode' instead.") diff --git a/lisp/progmodes/dcl-mode.el b/lisp/progmodes/dcl-mode.el index 166065131b2..af0ae9d1123 100644 --- a/lisp/progmodes/dcl-mode.el +++ b/lisp/progmodes/dcl-mode.el @@ -98,7 +98,7 @@ Presently this includes some syntax, .OP.erators, and \"f$\" lexicals.") :group 'languages) (defcustom dcl-basic-offset 4 - "*Number of columns to indent a block in DCL. + "Number of columns to indent a block in DCL. A block is the commands between THEN-ELSE-ENDIF and between the commands dcl-block-begin-regexp and dcl-block-end-regexp. @@ -109,7 +109,7 @@ dcl-calc-command-indent-function is set to a function." (defcustom dcl-continuation-offset 6 - "*Number of columns to indent a continuation line in DCL. + "Number of columns to indent a continuation line in DCL. A continuation line is a line that follows a line ending with `-'. The meaning of this variable may be changed if @@ -119,7 +119,7 @@ dcl-calc-cont-indent-function is set to a function." (defcustom dcl-margin-offset 8 - "*Indentation for the first command line in DCL. + "Indentation for the first command line in DCL. The first command line in a file or after a SUBROUTINE statement is indented this much. Other command lines are indented the same number of columns as the preceding command line. @@ -129,7 +129,7 @@ A command line is a line that starts with `$'." (defcustom dcl-margin-label-offset 2 - "*Number of columns to indent a margin label in DCL. + "Number of columns to indent a margin label in DCL. A margin label is a label that doesn't begin or end a block, i.e. it doesn't match dcl-block-begin-regexp or dcl-block-end-regexp." :type 'integer @@ -137,28 +137,28 @@ doesn't match dcl-block-begin-regexp or dcl-block-end-regexp." (defcustom dcl-comment-line-regexp "^\\$!" - "*Regexp describing the start of a comment line in DCL. + "Regexp describing the start of a comment line in DCL. Comment lines are not indented." :type 'regexp :group 'dcl) (defcustom dcl-block-begin-regexp "loop[0-9]*:" - "*Regexp describing a command that begins an indented block in DCL. + "Regexp describing a command that begins an indented block in DCL. Set to nil to only indent at THEN-ELSE-ENDIF." :type 'regexp :group 'dcl) (defcustom dcl-block-end-regexp "endloop[0-9]*:" - "*Regexp describing a command that ends an indented block in DCL. + "Regexp describing a command that ends an indented block in DCL. Set to nil to only indent at THEN-ELSE-ENDIF." :type 'regexp :group 'dcl) (defcustom dcl-calc-command-indent-function nil - "*Function to calculate indentation for a command line in DCL. + "Function to calculate indentation for a command line in DCL. If this variable is non-nil it is called as a function: \(func INDENT-TYPE CUR-INDENT EXTRA-INDENT LAST-POINT THIS-POINT) @@ -190,7 +190,7 @@ This package includes two functions suitable for this: (defcustom dcl-calc-cont-indent-function 'dcl-calc-cont-indent-relative - "*Function to calculate indentation for a continuation line. + "Function to calculate indentation for a continuation line. If this variable is non-nil it is called as a function: \(func CUR-INDENT EXTRA-INDENT) @@ -208,7 +208,7 @@ This package includes one function suitable for this: (defcustom dcl-tab-always-indent t - "*Controls the operation of the TAB key in DCL mode. + "Controls the operation of the TAB key in DCL mode. If t, pressing TAB always indents the current line. If nil, pressing TAB indents the current line if point is at the left margin. Data lines (i.e. lines not part of a command line or continuation line) are @@ -218,43 +218,43 @@ never indented." (defcustom dcl-electric-characters t - "*Non-nil means reindent immediately when a label, ELSE or ENDIF is inserted." + "Non-nil means reindent immediately when a label, ELSE or ENDIF is inserted." :type 'boolean :group 'dcl) (defcustom dcl-tempo-comma ", " - "*Text to insert when a comma is needed in a template, in DCL mode." + "Text to insert when a comma is needed in a template, in DCL mode." :type 'string :group 'dcl) (defcustom dcl-tempo-left-paren "(" - "*Text to insert when a left parenthesis is needed in a template in DCL." + "Text to insert when a left parenthesis is needed in a template in DCL." :type 'string :group 'dcl) (defcustom dcl-tempo-right-paren ")" - "*Text to insert when a right parenthesis is needed in a template in DCL." + "Text to insert when a right parenthesis is needed in a template in DCL." :type 'string :group 'dcl) ; I couldn't decide what looked best, so I'll let you decide... ; Remember, you can also customize this with imenu-submenu-name-format. (defcustom dcl-imenu-label-labels "Labels" - "*Imenu menu title for sub-listing with label names." + "Imenu menu title for sub-listing with label names." :type 'string :group 'dcl) (defcustom dcl-imenu-label-goto "GOTO" - "*Imenu menu title for sub-listing with GOTO statements." + "Imenu menu title for sub-listing with GOTO statements." :type 'string :group 'dcl) (defcustom dcl-imenu-label-gosub "GOSUB" - "*Imenu menu title for sub-listing with GOSUB statements." + "Imenu menu title for sub-listing with GOSUB statements." :type 'string :group 'dcl) (defcustom dcl-imenu-label-call "CALL" - "*Imenu menu title for sub-listing with CALL statements." + "Imenu menu title for sub-listing with CALL statements." :type 'string :group 'dcl) @@ -265,7 +265,7 @@ never indented." (,dcl-imenu-label-goto "\\s-GOTO[ \t]+\\([A-Za-z0-9_\$]+\\)" 1) (,dcl-imenu-label-gosub "\\s-GOSUB[ \t]+\\([A-Za-z0-9_\$]+\\)" 1) (,dcl-imenu-label-call "\\s-CALL[ \t]+\\([A-Za-z0-9_\$]+\\)" 1)) - "*Default imenu generic expression for DCL. + "Default imenu generic expression for DCL. The default includes SUBROUTINE labels in the main listing and sub-listings for other labels, CALL, GOTO and GOSUB statements. @@ -275,7 +275,7 @@ See `imenu-generic-expression' for details." (defcustom dcl-mode-hook nil - "*Hook called by `dcl-mode'." + "Hook called by `dcl-mode'." :type 'hook :group 'dcl) @@ -400,7 +400,7 @@ optionally followed by a comment, followed by a newline." (defcustom dcl-electric-reindent-regexps (list "endif" "else" dcl-label-r) - "*Regexps that can trigger an electric reindent. + "Regexps that can trigger an electric reindent. A list of regexps that will trigger a reindent if the last letter is defined as dcl-electric-character. diff --git a/lisp/progmodes/delphi.el b/lisp/progmodes/delphi.el index dd8d267683c..d533135c70d 100644 --- a/lisp/progmodes/delphi.el +++ b/lisp/progmodes/delphi.el @@ -74,7 +74,7 @@ "True if in debug mode.") (defcustom delphi-search-path "." - "*Directories to search when finding external units. + "Directories to search when finding external units. It is a list of directory strings. If only a single directory, it can be a single string instead of a list. If a directory ends in \"...\" then that directory is recursively searched." @@ -82,7 +82,7 @@ ends in \"...\" then that directory is recursively searched." :group 'delphi) (defcustom delphi-indent-level 3 - "*Indentation of Delphi statements with respect to containing block. + "Indentation of Delphi statements with respect to containing block. E.g. begin @@ -92,7 +92,7 @@ end;" :group 'delphi) (defcustom delphi-compound-block-indent 0 - "*Extra indentation for blocks in compound statements. E.g. + "Extra indentation for blocks in compound statements. E.g. // block indent = 0 vs // block indent = 2 if b then if b then @@ -105,7 +105,7 @@ end; else :group 'delphi) (defcustom delphi-case-label-indent delphi-indent-level - "*Extra indentation for case statement labels. E.g. + "Extra indentation for case statement labels. E.g. // case indent = 0 vs // case indent = 3 case value of case value of @@ -118,18 +118,18 @@ end; end;" :group 'delphi) (defcustom delphi-verbose t ; nil - "*If true then Delphi token processing progress is reported to the user." + "If true then Delphi token processing progress is reported to the user." :type 'boolean :group 'delphi) (defcustom delphi-tab-always-indents t - "*Non-nil means TAB in Delphi mode should always reindent the current line, + "Non-nil means TAB in Delphi mode should always reindent the current line, regardless of where in the line point is when the TAB command is used." :type 'boolean :group 'delphi) (defcustom delphi-newline-always-indents t - "*Non-nil means NEWLINE in Delphi mode should always reindent the current + "Non-nil means NEWLINE in Delphi mode should always reindent the current line, insert a blank line and move to the default indent column of the blank line. If nil, then no indentation occurs, and NEWLINE does the usual behavior. This is useful when one needs to do customized indentation that @@ -138,22 +138,22 @@ differs from the default." :group 'delphi) (defcustom delphi-comment-face 'font-lock-comment-face - "*Face used to color Delphi comments." + "Face used to color Delphi comments." :type 'face :group 'delphi) (defcustom delphi-string-face 'font-lock-string-face - "*Face used to color Delphi strings." + "Face used to color Delphi strings." :type 'face :group 'delphi) (defcustom delphi-keyword-face 'font-lock-keyword-face - "*Face used to color Delphi keywords." + "Face used to color Delphi keywords." :type 'face :group 'delphi) (defcustom delphi-other-face nil - "*Face used to color everything else." + "Face used to color everything else." :type '(choice (const :tag "None" nil) face) :group 'delphi) diff --git a/lisp/progmodes/ebnf2ps.el b/lisp/progmodes/ebnf2ps.el index 5d0bfad0366..05c9e160ceb 100644 --- a/lisp/progmodes/ebnf2ps.el +++ b/lisp/progmodes/ebnf2ps.el @@ -1276,14 +1276,14 @@ Elements of ALIST that are not conses are ignored." (defcustom ebnf-horizontal-orientation nil - "*Non-nil means productions are drawn horizontally." + "Non-nil means productions are drawn horizontally." :type 'boolean :version "20" :group 'ebnf-displacement) (defcustom ebnf-horizontal-max-height nil - "*Non-nil means to use maximum production height in horizontal orientation. + "Non-nil means to use maximum production height in horizontal orientation. It is only used when `ebnf-horizontal-orientation' is non-nil." :type 'boolean @@ -1292,7 +1292,7 @@ It is only used when `ebnf-horizontal-orientation' is non-nil." (defcustom ebnf-production-horizontal-space 0.0 ; use ebnf2ps default value - "*Specify horizontal space in points between productions. + "Specify horizontal space in points between productions. Value less or equal to zero forces ebnf2ps to set a proper default value." :type 'number @@ -1301,7 +1301,7 @@ Value less or equal to zero forces ebnf2ps to set a proper default value." (defcustom ebnf-production-vertical-space 0.0 ; use ebnf2ps default value - "*Specify vertical space in points between productions. + "Specify vertical space in points between productions. Value less or equal to zero forces ebnf2ps to set a proper default value." :type 'number @@ -1310,7 +1310,7 @@ Value less or equal to zero forces ebnf2ps to set a proper default value." (defcustom ebnf-justify-sequence 'center - "*Specify justification of terms in a sequence inside alternatives. + "Specify justification of terms in a sequence inside alternatives. Valid values are: @@ -1324,14 +1324,14 @@ Valid values are: (defcustom ebnf-special-show-delimiter t - "*Non-nil means special delimiter (character `?') is shown." + "Non-nil means special delimiter (character `?') is shown." :type 'boolean :version "20" :group 'ebnf-special) (defcustom ebnf-special-font '(7 Courier "Black" "Gray95" bold italic) - "*Specify special font. + "Specify special font. See documentation for `ebnf-production-font'." :type '(list :tag "Special Font" @@ -1353,7 +1353,7 @@ See documentation for `ebnf-production-font'." (defcustom ebnf-special-shape 'bevel - "*Specify special box shape. + "Specify special box shape. See documentation for `ebnf-non-terminal-shape'." :type '(radio :tag "Special Shape" @@ -1363,28 +1363,28 @@ See documentation for `ebnf-non-terminal-shape'." (defcustom ebnf-special-shadow nil - "*Non-nil means special box will have a shadow." + "Non-nil means special box will have a shadow." :type 'boolean :version "20" :group 'ebnf-special) (defcustom ebnf-special-border-width 0.5 - "*Specify border width for special box." + "Specify border width for special box." :type 'number :version "20" :group 'ebnf-special) (defcustom ebnf-special-border-color "Black" - "*Specify border color for special box." + "Specify border color for special box." :type 'string :version "20" :group 'ebnf-special) (defcustom ebnf-except-font '(7 Courier "Black" "Gray90" bold italic) - "*Specify except font. + "Specify except font. See documentation for `ebnf-production-font'." :type '(list :tag "Except Font" @@ -1406,7 +1406,7 @@ See documentation for `ebnf-production-font'." (defcustom ebnf-except-shape 'bevel - "*Specify except box shape. + "Specify except box shape. See documentation for `ebnf-non-terminal-shape'." :type '(radio :tag "Except Shape" @@ -1416,28 +1416,28 @@ See documentation for `ebnf-non-terminal-shape'." (defcustom ebnf-except-shadow nil - "*Non-nil means except box will have a shadow." + "Non-nil means except box will have a shadow." :type 'boolean :version "20" :group 'ebnf-except) (defcustom ebnf-except-border-width 0.25 - "*Specify border width for except box." + "Specify border width for except box." :type 'number :version "20" :group 'ebnf-except) (defcustom ebnf-except-border-color "Black" - "*Specify border color for except box." + "Specify border color for except box." :type 'string :version "20" :group 'ebnf-except) (defcustom ebnf-repeat-font '(7 Courier "Black" "Gray85" bold italic) - "*Specify repeat font. + "Specify repeat font. See documentation for `ebnf-production-font'." :type '(list :tag "Repeat Font" @@ -1459,7 +1459,7 @@ See documentation for `ebnf-production-font'." (defcustom ebnf-repeat-shape 'bevel - "*Specify repeat box shape. + "Specify repeat box shape. See documentation for `ebnf-non-terminal-shape'." :type '(radio :tag "Repeat Shape" @@ -1469,28 +1469,28 @@ See documentation for `ebnf-non-terminal-shape'." (defcustom ebnf-repeat-shadow nil - "*Non-nil means repeat box will have a shadow." + "Non-nil means repeat box will have a shadow." :type 'boolean :version "20" :group 'ebnf-repeat) (defcustom ebnf-repeat-border-width 0.0 - "*Specify border width for repeat box." + "Specify border width for repeat box." :type 'number :version "20" :group 'ebnf-repeat) (defcustom ebnf-repeat-border-color "Black" - "*Specify border color for repeat box." + "Specify border color for repeat box." :type 'string :version "20" :group 'ebnf-repeat) (defcustom ebnf-terminal-font '(7 Courier "Black" "White") - "*Specify terminal font. + "Specify terminal font. See documentation for `ebnf-production-font'." :type '(list :tag "Terminal Font" @@ -1512,7 +1512,7 @@ See documentation for `ebnf-production-font'." (defcustom ebnf-terminal-shape 'miter - "*Specify terminal box shape. + "Specify terminal box shape. See documentation for `ebnf-non-terminal-shape'." :type '(radio :tag "Terminal Shape" @@ -1522,35 +1522,35 @@ See documentation for `ebnf-non-terminal-shape'." (defcustom ebnf-terminal-shadow nil - "*Non-nil means terminal box will have a shadow." + "Non-nil means terminal box will have a shadow." :type 'boolean :version "20" :group 'ebnf-terminal) (defcustom ebnf-terminal-border-width 1.0 - "*Specify border width for terminal box." + "Specify border width for terminal box." :type 'number :version "20" :group 'ebnf-terminal) (defcustom ebnf-terminal-border-color "Black" - "*Specify border color for terminal box." + "Specify border color for terminal box." :type 'string :version "20" :group 'ebnf-terminal) (defcustom ebnf-production-name-p t - "*Non-nil means production name will be printed." + "Non-nil means production name will be printed." :type 'boolean :version "20" :group 'ebnf-production) (defcustom ebnf-sort-production nil - "*Specify how productions are sorted. + "Specify how productions are sorted. Valid values are: @@ -1566,7 +1566,7 @@ Valid values are: (defcustom ebnf-production-font '(10 Helvetica "Black" "White" bold) - "*Specify production header font. + "Specify production header font. It is a list with the following form: @@ -1609,7 +1609,7 @@ See `ps-font-info-database' for valid font name." (defcustom ebnf-non-terminal-font '(7 Helvetica "Black" "White") - "*Specify non-terminal font. + "Specify non-terminal font. See documentation for `ebnf-production-font'." :type '(list :tag "Non-Terminal Font" @@ -1631,7 +1631,7 @@ See documentation for `ebnf-production-font'." (defcustom ebnf-non-terminal-shape 'round - "*Specify non-terminal box shape. + "Specify non-terminal box shape. Valid values are: @@ -1655,28 +1655,28 @@ Any other value is treated as `miter'." (defcustom ebnf-non-terminal-shadow nil - "*Non-nil means non-terminal box will have a shadow." + "Non-nil means non-terminal box will have a shadow." :type 'boolean :version "20" :group 'ebnf-non-terminal) (defcustom ebnf-non-terminal-border-width 1.0 - "*Specify border width for non-terminal box." + "Specify border width for non-terminal box." :type 'number :version "20" :group 'ebnf-non-terminal) (defcustom ebnf-non-terminal-border-color "Black" - "*Specify border color for non-terminal box." + "Specify border color for non-terminal box." :type 'string :version "20" :group 'ebnf-non-terminal) (defcustom ebnf-arrow-shape 'hollow - "*Specify the arrow shape. + "Specify the arrow shape. Valid values are: @@ -1733,7 +1733,7 @@ Any other value is treated as `none'." (defcustom ebnf-chart-shape 'round - "*Specify chart flow shape. + "Specify chart flow shape. See documentation for `ebnf-non-terminal-shape'." :type '(radio :tag "Chart Flow Shape" @@ -1743,7 +1743,7 @@ See documentation for `ebnf-non-terminal-shape'." (defcustom ebnf-user-arrow nil - "*Specify a sexp for user arrow shape (a PostScript code). + "Specify a sexp for user arrow shape (a PostScript code). When evaluated, the sexp should return nil or a string containing PostScript code. PostScript code should draw a right arrow. @@ -1783,7 +1783,7 @@ symbol `user'." (defcustom ebnf-syntax 'ebnf - "*Specify syntax to be recognized. + "Specify syntax to be recognized. Valid values are: @@ -1827,7 +1827,7 @@ Any other value is treated as `ebnf'." (defcustom ebnf-lex-comment-char ?\; - "*Specify the line comment character. + "Specify the line comment character. It's used only when `ebnf-syntax' is `ebnf'." :type 'character @@ -1836,7 +1836,7 @@ It's used only when `ebnf-syntax' is `ebnf'." (defcustom ebnf-lex-eop-char ?. - "*Specify the end of production character. + "Specify the end of production character. It's used only when `ebnf-syntax' is `ebnf'." :type 'character @@ -1845,7 +1845,7 @@ It's used only when `ebnf-syntax' is `ebnf'." (defcustom ebnf-terminal-regexp nil - "*Specify how it's a terminal name. + "Specify how it's a terminal name. If it's nil, the terminal name must be enclosed by `\"'. If it's a string, it should be a regexp that it'll be used to determine a @@ -1859,7 +1859,7 @@ It's used only when `ebnf-syntax' is `ebnf'." (defcustom ebnf-case-fold-search nil - "*Non-nil means ignore case on matching. + "Non-nil means ignore case on matching. It's only used when `ebnf-terminal-regexp' is non-nil and when `ebnf-syntax' is `ebnf'." @@ -1869,7 +1869,7 @@ It's only used when `ebnf-terminal-regexp' is non-nil and when `ebnf-syntax' is (defcustom ebnf-iso-alternative-p nil - "*Non-nil means use alternative ISO EBNF. + "Non-nil means use alternative ISO EBNF. It's only used when `ebnf-syntax' is `iso-ebnf'. @@ -1888,7 +1888,7 @@ This variable affects the following symbol set: (defcustom ebnf-iso-normalize-p nil - "*Non-nil means normalize ISO EBNF syntax names. + "Non-nil means normalize ISO EBNF syntax names. Normalize a name means that several contiguous spaces inside name become a single space, so \"A B C\" is normalized to \"A B C\". @@ -1900,7 +1900,7 @@ It's only used when `ebnf-syntax' is `iso-ebnf'." (defcustom ebnf-file-suffix-regexp "\.[Bb][Nn][Ff]$" - "*Specify file name suffix that contains EBNF. + "Specify file name suffix that contains EBNF. See `ebnf-eps-directory' command." :type 'regexp @@ -1909,7 +1909,7 @@ See `ebnf-eps-directory' command." (defcustom ebnf-eps-prefix "ebnf--" - "*Specify EPS prefix file name. + "Specify EPS prefix file name. See `ebnf-eps-buffer' and `ebnf-eps-region' commands." :type 'string @@ -1918,7 +1918,7 @@ See `ebnf-eps-buffer' and `ebnf-eps-region' commands." (defcustom ebnf-eps-header-font '(11 Helvetica "Black" "White" bold) - "*Specify EPS header font. + "Specify EPS header font. See documentation for `ebnf-production-font'. @@ -1942,7 +1942,7 @@ See `ebnf-eps-buffer' and `ebnf-eps-region' commands." (defcustom ebnf-eps-header nil - "*Specify EPS header. + "Specify EPS header. The value should be a string, a symbol or nil. @@ -1978,7 +1978,7 @@ empty string, no header is generated until a non-empty header is specified or (defcustom ebnf-eps-footer-font '(7 Helvetica "Black" "White" bold) - "*Specify EPS footer font. + "Specify EPS footer font. See documentation for `ebnf-production-font'. @@ -2002,7 +2002,7 @@ See `ebnf-eps-buffer' and `ebnf-eps-region' commands." (defcustom ebnf-eps-footer nil - "*Specify EPS footer. + "Specify EPS footer. The value should be a string, a symbol or nil. @@ -2038,7 +2038,7 @@ empty string, no footer is generated until a non-empty footer is specified or (defcustom ebnf-entry-percentage 0.5 ; middle - "*Specify entry height on alternatives. + "Specify entry height on alternatives. It must be a float between 0.0 (top) and 1.0 (bottom)." :type 'number @@ -2047,7 +2047,7 @@ It must be a float between 0.0 (top) and 1.0 (bottom)." (defcustom ebnf-default-width 0.6 - "*Specify additional border width over default terminal, non-terminal or + "Specify additional border width over default terminal, non-terminal or special." :type 'number :version "20" @@ -2057,21 +2057,21 @@ special." ;; Printing color requires x-color-values. (defcustom ebnf-color-p (or (fboundp 'x-color-values) ; Emacs (fboundp 'color-instance-rgb-components)) ; XEmacs - "*Non-nil means use color." + "Non-nil means use color." :type 'boolean :version "20" :group 'ebnf2ps) (defcustom ebnf-line-width 1.0 - "*Specify flow line width." + "Specify flow line width." :type 'number :version "20" :group 'ebnf2ps) (defcustom ebnf-line-color "Black" - "*Specify flow line color." + "Specify flow line color." :type 'string :version "20" :group 'ebnf2ps) @@ -2081,7 +2081,7 @@ special." (if (eq ebnf-arrow-shape 'none) 0.0 (* (sqrt 5.0) 0.65 ebnf-line-width)) - "*Specify extra width for arrow shape drawing. + "Specify extra width for arrow shape drawing. The extra width is used to avoid that the arrowhead and the terminal border overlap. It depends on `ebnf-arrow-shape' and `ebnf-line-width'." @@ -2091,7 +2091,7 @@ overlap. It depends on `ebnf-arrow-shape' and `ebnf-line-width'." (defcustom ebnf-arrow-scale 1.0 - "*Specify the arrow scale. + "Specify the arrow scale. Values lower than 1.0, shrink the arrow. Values greater than 1.0, expand the arrow." @@ -2101,7 +2101,7 @@ Values greater than 1.0, expand the arrow." (defcustom ebnf-debug-ps nil - "*Non-nil means to generate PostScript debug procedures. + "Non-nil means to generate PostScript debug procedures. It is intended to help PostScript programmers in debugging." :type 'boolean @@ -2110,7 +2110,7 @@ It is intended to help PostScript programmers in debugging." (defcustom ebnf-use-float-format t - "*Non-nil means use `%f' float format. + "Non-nil means use `%f' float format. The advantage of using float format is that ebnf2ps generates a little short PostScript file. @@ -2126,14 +2126,14 @@ when executing ebnf2ps, set `ebnf-use-float-format' to nil." (defcustom ebnf-stop-on-error nil - "*Non-nil means signal error and stop. Otherwise, signal error and continue." + "Non-nil means signal error and stop. Otherwise, signal error and continue." :type 'boolean :version "20" :group 'ebnf2ps) (defcustom ebnf-yac-ignore-error-recovery nil - "*Non-nil means ignore error recovery. + "Non-nil means ignore error recovery. It's only used when `ebnf-syntax' is `yacc'." :type 'boolean @@ -2142,7 +2142,7 @@ It's only used when `ebnf-syntax' is `yacc'." (defcustom ebnf-ignore-empty-rule nil - "*Non-nil means ignore empty rules. + "Non-nil means ignore empty rules. It's interesting to set this variable if your Yacc/Bison grammar has a lot of middle action rule." @@ -2152,7 +2152,7 @@ middle action rule." (defcustom ebnf-optimize nil - "*Non-nil means optimize syntactic chart of rules. + "Non-nil means optimize syntactic chart of rules. The following optimizations are done: @@ -2179,7 +2179,7 @@ The above optimizations are specially useful when `ebnf-syntax' is `yacc'." (defcustom ebnf-log nil - "*Non-nil means generate log messages. + "Non-nil means generate log messages. The log messages are generated into the buffer *Ebnf2ps Log*. These messages are intended to help debugging ebnf2ps." diff --git a/lisp/progmodes/ebrowse.el b/lisp/progmodes/ebrowse.el index 4a07392c309..849ca4b7c9d 100644 --- a/lisp/progmodes/ebrowse.el +++ b/lisp/progmodes/ebrowse.el @@ -50,7 +50,7 @@ (defcustom ebrowse-search-path nil - "*List of directories to search for source files in a class tree. + "List of directories to search for source files in a class tree. Elements should be directory names; nil as an element means to try to find source files relative to the location of the BROWSE file loaded." :group 'ebrowse @@ -59,25 +59,25 @@ to find source files relative to the location of the BROWSE file loaded." (defcustom ebrowse-view/find-hook nil - "*Hooks run after finding or viewing a member or class." + "Hooks run after finding or viewing a member or class." :group 'ebrowse :type 'hook) (defcustom ebrowse-not-found-hook nil - "*Hooks run when finding or viewing a member or class was not successful." + "Hooks run when finding or viewing a member or class was not successful." :group 'ebrowse :type 'hook) (defcustom ebrowse-electric-list-mode-hook nil - "*Hook called by `ebrowse-electric-position-mode'." + "Hook called by `ebrowse-electric-position-mode'." :group 'ebrowse :type 'hook) (defcustom ebrowse-max-positions 50 - "*Number of markers saved on electric position stack." + "Number of markers saved on electric position stack." :group 'ebrowse :type 'integer) @@ -89,31 +89,31 @@ to find source files relative to the location of the BROWSE file loaded." (defcustom ebrowse-tree-mode-hook nil - "*Hook run in each new tree buffer." + "Hook run in each new tree buffer." :group 'ebrowse-tree :type 'hook) (defcustom ebrowse-tree-buffer-name "*Tree*" - "*The default name of class tree buffers." + "The default name of class tree buffers." :group 'ebrowse-tree :type 'string) (defcustom ebrowse--indentation 4 - "*The amount by which subclasses are indented in the tree." + "The amount by which subclasses are indented in the tree." :group 'ebrowse-tree :type 'integer) (defcustom ebrowse-source-file-column 40 - "*The column in which source file names are displayed in the tree." + "The column in which source file names are displayed in the tree." :group 'ebrowse-tree :type 'integer) (defcustom ebrowse-tree-left-margin 2 - "*Amount of space left at the left side of the tree display. + "Amount of space left at the left side of the tree display. This space is used to display markers." :group 'ebrowse-tree :type 'integer) @@ -126,25 +126,25 @@ This space is used to display markers." (defcustom ebrowse-default-declaration-column 25 - "*The column in which member declarations are displayed in member buffers." + "The column in which member declarations are displayed in member buffers." :group 'ebrowse-member :type 'integer) (defcustom ebrowse-default-column-width 25 - "*The width of the columns in member buffers (short display form)." + "The width of the columns in member buffers (short display form)." :group 'ebrowse-member :type 'integer) (defcustom ebrowse-member-buffer-name "*Members*" - "*The name of the buffer for member display." + "The name of the buffer for member display." :group 'ebrowse-member :type 'string) (defcustom ebrowse-member-mode-hook nil - "*Run in each new member buffer." + "Run in each new member buffer." :group 'ebrowse-member :type 'hook) @@ -158,7 +158,7 @@ This space is used to display markers." (defface ebrowse-tree-mark '((((min-colors 88)) (:foreground "red1")) (t (:foreground "red"))) - "*The face used for the mark character in the tree." + "The face used for the mark character in the tree." :group 'ebrowse-faces) (define-obsolete-face-alias 'ebrowse-tree-mark-face 'ebrowse-tree-mark "22.1") @@ -166,21 +166,21 @@ This space is used to display markers." (defface ebrowse-root-class '((((min-colors 88)) (:weight bold :foreground "blue1")) (t (:weight bold :foreground "blue"))) - "*The face used for root classes in the tree." + "The face used for root classes in the tree." :group 'ebrowse-faces) (define-obsolete-face-alias 'ebrowse-root-class-face 'ebrowse-root-class "22.1") (defface ebrowse-file-name '((t (:italic t))) - "*The face for filenames displayed in the tree." + "The face for filenames displayed in the tree." :group 'ebrowse-faces) (define-obsolete-face-alias 'ebrowse-file-name-face 'ebrowse-file-name "22.1") (defface ebrowse-default '((t nil)) - "*Face for everything else in the tree not having other faces." + "Face for everything else in the tree not having other faces." :group 'ebrowse-faces) (define-obsolete-face-alias 'ebrowse-default-face 'ebrowse-default "22.1") @@ -188,7 +188,7 @@ This space is used to display markers." (defface ebrowse-member-attribute '((((min-colors 88)) (:foreground "red1")) (t (:foreground "red"))) - "*Face used to display member attributes." + "Face used to display member attributes." :group 'ebrowse-faces) (define-obsolete-face-alias 'ebrowse-member-attribute-face 'ebrowse-member-attribute "22.1") @@ -196,7 +196,7 @@ This space is used to display markers." (defface ebrowse-member-class '((t (:foreground "purple"))) - "*Face used to display the class title in member buffers." + "Face used to display the class title in member buffers." :group 'ebrowse-faces) (define-obsolete-face-alias 'ebrowse-member-class-face 'ebrowse-member-class "22.1") @@ -205,7 +205,7 @@ This space is used to display markers." (defface ebrowse-progress '((((min-colors 88)) (:background "blue1")) (t (:background "blue"))) - "*Face for progress indicator." + "Face for progress indicator." :group 'ebrowse-faces) (define-obsolete-face-alias 'ebrowse-progress-face 'ebrowse-progress "22.1") @@ -4178,7 +4178,7 @@ NUMBER-OF-STATIC-VARIABLES:" ;; prefix `\C-c\C-m' to browse commands. (defvar ebrowse-global-map nil - "*Keymap for Ebrowse commands.") + "Keymap for Ebrowse commands.") (defvar ebrowse-global-prefix-key "\C-c\C-m" diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el index 6bb86738df0..d8a561340d3 100644 --- a/lisp/progmodes/etags.el +++ b/lisp/progmodes/etags.el @@ -33,7 +33,7 @@ ;;;###autoload (defvar tags-file-name nil - "*File name of tags table. + "File name of tags table. To switch to a new tags table, setting this variable is sufficient. If you set this variable, do not also set `tags-table-list'. Use the `etags' program to make a tags table file.") @@ -46,7 +46,7 @@ Use the `etags' program to make a tags table file.") ;;;###autoload (defcustom tags-case-fold-search 'default - "*Whether tags operations should be case-sensitive. + "Whether tags operations should be case-sensitive. A value of t means case-insensitive, a value of nil means case-sensitive. Any other value means use the setting of `case-fold-search'." :group 'etags @@ -58,7 +58,7 @@ Any other value means use the setting of `case-fold-search'." ;;;###autoload ;; Use `visit-tags-table-buffer' to cycle through tags tables in this list. (defcustom tags-table-list nil - "*List of file names of tags tables to search. + "List of file names of tags tables to search. An element that is a directory means the file \"TAGS\" in that directory. To switch to a new list of tags tables, setting this variable is sufficient. If you set this variable, do not also set `tags-file-name'. @@ -69,7 +69,7 @@ Use the `etags' program to make a tags table file." ;;;###autoload (defcustom tags-compression-info-list (purecopy '("" ".Z" ".bz2" ".gz" ".xz" ".tgz")) - "*List of extensions tried by etags when jka-compr is used. + "List of extensions tried by etags when jka-compr is used. An empty string means search the non-compressed file. These extensions will be tried only if jka-compr was activated \(i.e. via customize of `auto-compression-mode' or by calling the function @@ -90,7 +90,7 @@ These extensions will be tried only if jka-compr was activated ;;;###autoload (defcustom tags-add-tables 'ask-user - "*Control whether to add a new tags table to the current list. + "Control whether to add a new tags table to the current list. t means do; nil means don't (always start a new list). Any other value means ask the user whether to add a new tags table to the current list (as opposed to starting a new list)." @@ -100,7 +100,7 @@ to the current list (as opposed to starting a new list)." (other :tag "Ask" ask-user))) (defcustom tags-revert-without-query nil - "*Non-nil means reread a TAGS table without querying, if it has changed." + "Non-nil means reread a TAGS table without querying, if it has changed." :group 'etags :type 'boolean) @@ -131,7 +131,7 @@ Each element is a list of strings which are file names.") ;;;###autoload (defcustom find-tag-hook nil - "*Hook to be run by \\[find-tag] after finding a tag. See `run-hooks'. + "Hook to be run by \\[find-tag] after finding a tag. See `run-hooks'. The value in the buffer in which \\[find-tag] is done is used, not the value in the buffer \\[find-tag] goes to." :group 'etags @@ -139,7 +139,7 @@ not the value in the buffer \\[find-tag] goes to." ;;;###autoload (defcustom find-tag-default-function nil - "*A function of no arguments used by \\[find-tag] to pick a default tag. + "A function of no arguments used by \\[find-tag] to pick a default tag. If nil, and the symbol that is the value of `major-mode' has a `find-tag-default-function' property (see `put'), that is used. Otherwise, `find-tag-default' is used." @@ -147,13 +147,13 @@ Otherwise, `find-tag-default' is used." :type '(choice (const nil) function)) (defcustom find-tag-marker-ring-length 16 - "*Length of marker rings `find-tag-marker-ring' and `tags-location-ring'." + "Length of marker rings `find-tag-marker-ring' and `tags-location-ring'." :group 'etags :type 'integer :version "20.3") (defcustom tags-tag-face 'default - "*Face for tags in the output of `tags-apropos'." + "Face for tags in the output of `tags-apropos'." :group 'etags :type 'face :version "21.1") @@ -1687,7 +1687,7 @@ Point should be just after a string that matches TAG." (re-search-backward re bol t))))) (defcustom tags-loop-revert-buffers nil - "*Non-nil means tags-scanning loops should offer to reread changed files. + "Non-nil means tags-scanning loops should offer to reread changed files. These loops normally read each file into Emacs, but when a file is already visited, they use the existing buffer. When this flag is non-nil, they offer to revert the existing buffer diff --git a/lisp/progmodes/executable.el b/lisp/progmodes/executable.el index c44f1d73501..e5142571972 100644 --- a/lisp/progmodes/executable.el +++ b/lisp/progmodes/executable.el @@ -57,7 +57,7 @@ ;; This used to default to `other', but that doesn't seem to have any ;; significance. fx 2000-02-11. (defcustom executable-insert t ; 'other - "*Non-nil means offer to add a magic number to a file. + "Non-nil means offer to add a magic number to a file. This takes effect when you switch to certain major modes, including Shell-script mode (`sh-mode'). When you type \\[executable-set-magic], it always offers to add or @@ -70,7 +70,7 @@ update the magic number." (defcustom executable-query 'function - "*If non-nil, ask user before changing an existing magic number. + "If non-nil, ask user before changing an existing magic number. When this is `function', only ask when called non-interactively." :type '(choice (const :tag "Don't Ask" nil) (const :tag "Ask when non-interactive" function) @@ -79,19 +79,19 @@ When this is `function', only ask when called non-interactively." (defcustom executable-magicless-file-regexp "/[Mm]akefile$\\|/\\.\\(z?profile\\|bash_profile\\|z?login\\|bash_login\\|z?logout\\|bash_logout\\|.+shrc\\|esrc\\|rcrc\\|[kz]shenv\\)$" - "*On files with this kind of name no magic is inserted or changed." + "On files with this kind of name no magic is inserted or changed." :type 'regexp :group 'executable) (defcustom executable-prefix "#! " - "*Interpreter magic number prefix inserted when there was no magic number." + "Interpreter magic number prefix inserted when there was no magic number." :type 'string :group 'executable) (defcustom executable-chmod 73 - "*After saving, if the file is not executable, set this mode. + "After saving, if the file is not executable, set this mode. This mode passed to `set-file-modes' is taken absolutely when negative, or relative to the files existing modes. Do nothing if this is nil. Typical values are 73 (+x) or -493 (rwxr-xr-x)." @@ -103,7 +103,7 @@ Typical values are 73 (+x) or -493 (rwxr-xr-x)." (defvar executable-command nil) (defcustom executable-self-display "tail" - "*Command you use with argument `+2' to make text files self-display. + "Command you use with argument `+2' to make text files self-display. Note that the like of `more' doesn't work too well under Emacs \\[shell]." :type 'string :group 'executable) @@ -111,7 +111,7 @@ Note that the like of `more' doesn't work too well under Emacs \\[shell]." (defvar executable-font-lock-keywords '(("\\`#!.*/\\([^ \t\n]+\\)" 1 font-lock-keyword-face t)) - "*Rules for highlighting executable scripts' magic number. + "Rules for highlighting executable scripts' magic number. This can be included in `font-lock-keywords' by modes that call `executable'.") diff --git a/lisp/progmodes/f90.el b/lisp/progmodes/f90.el index df6fdfd7cd9..1d2beedd191 100644 --- a/lisp/progmodes/f90.el +++ b/lisp/progmodes/f90.el @@ -651,7 +651,7 @@ logical\\|double[ \t]*precision\\|type[ \t]*(\\sw+)\\|none\\)[ \t]*" (defvar f90-font-lock-keywords f90-font-lock-keywords-2 - "*Default expressions to highlight in F90 mode. + "Default expressions to highlight in F90 mode. Can be overridden by the value of `font-lock-maximum-decoration'.") diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el index 07393c6954d..ed8eb81932e 100644 --- a/lisp/progmodes/flymake.el +++ b/lisp/progmodes/flymake.el @@ -1356,8 +1356,12 @@ if ARG is omitted or nil." (setq flymake-timer (run-at-time nil 1 'flymake-on-timer-event (current-buffer))) - (when flymake-start-syntax-check-on-find-file - (flymake-start-syntax-check))))) + (when (and flymake-start-syntax-check-on-find-file + ;; Since we write temp files in current dir, there's no point + ;; trying if the directory is read-only (bug#8954). + (file-writable-p (file-name-directory buffer-file-name))) + (with-demoted-errors + (flymake-start-syntax-check)))))) ;; Turning the mode OFF. (t diff --git a/lisp/progmodes/gdb-mi.el b/lisp/progmodes/gdb-mi.el index f2d8f1f75b7..1be74ff544b 100644 --- a/lisp/progmodes/gdb-mi.el +++ b/lisp/progmodes/gdb-mi.el @@ -1068,7 +1068,7 @@ positive, otherwise don't automatically raise it." (if gdb-speedbar-auto-raise "en" "dis")))) (define-key gud-minor-mode-map "\C-c\C-w" 'gud-watch) -(define-key global-map (concat gud-key-prefix "\C-w") 'gud-watch) +(define-key global-map (vconcat gud-key-prefix "\C-w") 'gud-watch) (declare-function tooltip-identifier-from-point "tooltip" (point)) diff --git a/lisp/progmodes/glasses.el b/lisp/progmodes/glasses.el index b49739a94d5..7c131dd316c 100644 --- a/lisp/progmodes/glasses.el +++ b/lisp/progmodes/glasses.el @@ -78,7 +78,7 @@ string." (defcustom glasses-original-separator "_" - "*String to be displayed as `glasses-separator' in separator positions. + "String to be displayed as `glasses-separator' in separator positions. For instance, if you set it to \"_\" and set `glasses-separator' to \"-\", underscore separators are displayed as hyphens. If `glasses-original-separator' is an empty string, no such display change is diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el index 79c35100367..a6ae42f86b1 100644 --- a/lisp/progmodes/grep.el +++ b/lisp/progmodes/grep.el @@ -61,7 +61,7 @@ SYMBOL should be one of `grep-command', `grep-template', ;;;###autoload (defcustom grep-window-height nil - "*Number of lines in a grep window. If nil, use `compilation-window-height'." + "Number of lines in a grep window. If nil, use `compilation-window-height'." :type '(choice (const :tag "Default" nil) integer) :version "22.1" @@ -104,7 +104,7 @@ To change the default value, use Customize or call the function :group 'grep) (defcustom grep-scroll-output nil - "*Non-nil to scroll the *grep* buffer window as output appears. + "Non-nil to scroll the *grep* buffer window as output appears. Setting it causes the grep commands to put point at the end of their output window so that the end of the output is always visible rather @@ -203,13 +203,13 @@ Customize or call the function `grep-apply-setting'." ("tex" . "*.tex") ("texi" . "*.texi") ("asm" . "*.[sS]")) - "*Alist of aliases for the FILES argument to `lgrep' and `rgrep'." + "Alist of aliases for the FILES argument to `lgrep' and `rgrep'." :type 'alist :group 'grep) (defcustom grep-find-ignored-directories vc-directory-exclusion-list - "*List of names of sub-directories which `rgrep' shall not recurse into. + "List of names of sub-directories which `rgrep' shall not recurse into. If an element is a cons cell, the car is called on the search directory to determine whether cdr should not be recursed into." :type '(choice (repeat :tag "Ignored directories" string) @@ -221,7 +221,7 @@ to determine whether cdr should not be recursed into." (unless (string-match-p "/\\'" s) (concat "*" s))) completion-ignored-extensions))) - "*List of file names which `rgrep' and `lgrep' shall exclude. + "List of file names which `rgrep' and `lgrep' shall exclude. If an element is a cons cell, the car is called on the search directory to determine whether cdr should not be excluded." :type '(choice (repeat :tag "Ignored file" string) @@ -229,7 +229,7 @@ to determine whether cdr should not be excluded." :group 'grep) (defcustom grep-error-screen-columns nil - "*If non-nil, column numbers in grep hits are screen columns. + "If non-nil, column numbers in grep hits are screen columns. See `compilation-error-screen-columns'" :type '(choice (const :tag "Default" nil) integer) @@ -1025,7 +1025,8 @@ to specify a command to run." (shell-quote-argument ")") " -prune -o ")) (and grep-find-ignored-files - (concat (shell-quote-argument "(") + (concat (shell-quote-argument "!") " -type d " + (shell-quote-argument "(") ;; we should use shell-quote-argument here " -name " (mapconcat diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el index 121a023cd54..1f60c351252 100644 --- a/lisp/progmodes/gud.el +++ b/lisp/progmodes/gud.el @@ -66,10 +66,10 @@ Supported debuggers include gdb, sdb, dbx, xdb, perldb, pdb (Python) and jdb." (defcustom gud-key-prefix "\C-x\C-a" "Prefix of all GUD commands valid in C buffers." - :type 'string + :type 'key-sequence :group 'gud) -(global-set-key (concat gud-key-prefix "\C-l") 'gud-refresh) +(global-set-key (vconcat gud-key-prefix "\C-l") 'gud-refresh) (define-key ctl-x-map " " 'gud-break) ;; backward compatibility hack (defvar gud-marker-filter nil) @@ -1046,7 +1046,7 @@ and source-file directory for your debugger." (defvar gud-dbx-history nil) (defcustom gud-dbx-directories nil - "*A list of directories that dbx should search for source code. + "A list of directories that dbx should search for source code. If nil, only source files in the program directory will be known to dbx. @@ -1358,7 +1358,7 @@ and source-file directory for your debugger." (defvar gud-xdb-history nil) (defcustom gud-xdb-directories nil - "*A list of directories that xdb should search for source code. + "A list of directories that xdb should search for source code. If nil, only source files in the program directory will be known to xdb. @@ -1811,7 +1811,7 @@ source file information.") ;; List of Java source file directories. (defvar gud-jdb-directories (list ".") - "*A list of directories that gud jdb should search for source code. + "A list of directories that gud jdb should search for source code. The file names should be absolute, or relative to the current directory. diff --git a/lisp/progmodes/hideshow.el b/lisp/progmodes/hideshow.el index 26db60ddbc2..b6d2b5e319c 100644 --- a/lisp/progmodes/hideshow.el +++ b/lisp/progmodes/hideshow.el @@ -238,18 +238,18 @@ :group 'languages) (defcustom hs-hide-comments-when-hiding-all t - "*Hide the comments too when you do an `hs-hide-all'." + "Hide the comments too when you do an `hs-hide-all'." :type 'boolean :group 'hideshow) (defcustom hs-minor-mode-hook nil - "*Hook called when hideshow minor mode is activated or deactivated." + "Hook called when hideshow minor mode is activated or deactivated." :type 'hook :group 'hideshow :version "21.1") (defcustom hs-isearch-open 'code - "*What kind of hidden blocks to open when doing `isearch'. + "What kind of hidden blocks to open when doing `isearch'. One of the following symbols: code -- open only code blocks @@ -272,7 +272,7 @@ This has effect only if `search-invisible' is set to `open'." (bibtex-mode ("@\\S(*\\(\\s(\\)" 1)) (java-mode "{" "}" "/[*/]" nil nil) (js-mode "{" "}" "/[*/]" nil))) - "*Alist for initializing the hideshow variables for different modes. + "Alist for initializing the hideshow variables for different modes. Each element has the form (MODE START END COMMENT-START FORWARD-SEXP-FUNC ADJUST-BEG-FUNC). @@ -300,25 +300,25 @@ appropriate values. The regexps should not contain leading or trailing whitespace. Case does not matter.") (defvar hs-hide-all-non-comment-function nil - "*Function called if non-nil when doing `hs-hide-all' for non-comments.") + "Function called if non-nil when doing `hs-hide-all' for non-comments.") (defvar hs-allow-nesting nil - "*If non-nil, hiding remembers internal blocks. + "If non-nil, hiding remembers internal blocks. This means that when the outer block is shown again, any previously hidden internal blocks remain hidden.") (defvar hs-hide-hook nil - "*Hook called (with `run-hooks') at the end of commands to hide text. + "Hook called (with `run-hooks') at the end of commands to hide text. These commands include the toggling commands (when the result is to hide a block), `hs-hide-all', `hs-hide-block' and `hs-hide-level'.") (defvar hs-show-hook nil - "*Hook called (with `run-hooks') at the end of commands to show text. + "Hook called (with `run-hooks') at the end of commands to show text. These commands include the toggling commands (when the result is to show a block), `hs-show-all' and `hs-show-block'.") (defvar hs-set-up-overlay nil - "*Function called with one arg, OV, a newly initialized overlay. + "Function called with one arg, OV, a newly initialized overlay. Hideshow puts a unique overlay on each range of text to be hidden in the buffer. Here is a simple example of how to use this variable: @@ -802,12 +802,15 @@ If `hs-hide-comments-when-hiding-all' is non-nil, also hide the comments." (forward-comment (point-max))) (re-search-forward re (point-max) t)) (if (match-beginning 1) - ;; we have found a block beginning + ;; We have found a block beginning. (progn (goto-char (match-beginning 1)) - (if hs-hide-all-non-comment-function - (funcall hs-hide-all-non-comment-function) - (hs-hide-block-at-point t))) + (unless (if hs-hide-all-non-comment-function + (funcall hs-hide-all-non-comment-function) + (hs-hide-block-at-point t)) + ;; Go to end of matched data to prevent from getting stuck + ;; with an endless loop. + (goto-char (match-end 0)))) ;; found a comment, probably (let ((c-reg (hs-inside-comment-p))) (when (and c-reg (car c-reg)) diff --git a/lisp/progmodes/icon.el b/lisp/progmodes/icon.el index 35c29e10627..205b226160a 100644 --- a/lisp/progmodes/icon.el +++ b/lisp/progmodes/icon.el @@ -85,39 +85,39 @@ :group 'languages) (defcustom icon-indent-level 4 - "*Indentation of Icon statements with respect to containing block." + "Indentation of Icon statements with respect to containing block." :type 'integer :group 'icon) (defcustom icon-brace-imaginary-offset 0 - "*Imagined indentation of a Icon open brace that actually follows a statement." + "Imagined indentation of a Icon open brace that actually follows a statement." :type 'integer :group 'icon) (defcustom icon-brace-offset 0 - "*Extra indentation for braces, compared with other text in same context." + "Extra indentation for braces, compared with other text in same context." :type 'integer :group 'icon) (defcustom icon-continued-statement-offset 4 - "*Extra indent for Icon lines not starting new statements." + "Extra indent for Icon lines not starting new statements." :type 'integer :group 'icon) (defcustom icon-continued-brace-offset 0 - "*Extra indent for Icon substatements that start with open-braces. + "Extra indent for Icon substatements that start with open-braces. This is in addition to `icon-continued-statement-offset'." :type 'integer :group 'icon) (defcustom icon-auto-newline nil - "*Non-nil means automatically newline before and after braces Icon code. + "Non-nil means automatically newline before and after braces Icon code. This applies when braces are inserted." :type 'boolean :group 'icon) (defcustom icon-tab-always-indent t - "*Non-nil means TAB in Icon mode should always reindent the current line. + "Non-nil means TAB in Icon mode should always reindent the current line. It will then reindent, regardless of where in the line point is when the TAB command is used." :type 'boolean diff --git a/lisp/progmodes/idlw-help.el b/lisp/progmodes/idlw-help.el index f2f9fd30ed4..0cb8b7da4aa 100644 --- a/lisp/progmodes/idlw-help.el +++ b/lisp/progmodes/idlw-help.el @@ -115,7 +115,7 @@ must be explicitly set non-nil in order for the variable "Obsolete variable. See `idlwave-html-help-location'.") (defcustom idlwave-help-use-dedicated-frame t - "*Non-nil means, use a separate frame for Online Help if possible." + "Non-nil means, use a separate frame for Online Help if possible." :group 'idlwave-online-help :type 'boolean) @@ -164,12 +164,12 @@ probably a good idea to still call this function as a fallback." :type 'symbol) (defcustom idlwave-help-fontify-source-code nil - "*Non-nil means, fontify source code displayed as help like normal code." + "Non-nil means, fontify source code displayed as help like normal code." :group 'idlwave-online-help :type 'boolean) (defcustom idlwave-help-source-try-header t - "*Non-nil means, try to find help in routine header when displaying source. + "Non-nil means, try to find help in routine header when displaying source. Routines which are not documented in the system manual use their source as help text. When this variable is non-nil, we try to find a description of the help item in the first routine doclib header above the routine definition. @@ -180,14 +180,14 @@ definition is displayed instead." (defcustom idlwave-help-doclib-name "name" - "*A regexp for the heading word to search for in doclib headers + "A regexp for the heading word to search for in doclib headers which specifies the `name' section. Can be used for localization support." :group 'idlwave-online-help :type 'string) (defcustom idlwave-help-doclib-keyword "KEYWORD" - "*A regexp for the heading word to search for in doclib headers + "A regexp for the heading word to search for in doclib headers which specifies the `keywords' section. Can be used for localization support." :group 'idlwave-online-help diff --git a/lisp/progmodes/idlw-shell.el b/lisp/progmodes/idlw-shell.el index 55a085fbde0..d843de04913 100644 --- a/lisp/progmodes/idlw-shell.el +++ b/lisp/progmodes/idlw-shell.el @@ -106,7 +106,7 @@ :group 'idlwave) (defcustom idlwave-shell-prompt-pattern "^\r? ?IDL> " - "*Regexp to match IDL prompt at beginning of a line. + "Regexp to match IDL prompt at beginning of a line. For example, \"^\r?IDL> \" or \"^\r?WAVE> \". The \"^\r?\" is needed, to indicate the beginning of the line, with optional return character (which IDL seems to output randomly). @@ -118,7 +118,7 @@ This is a fine thing to set in your `.emacs' file." :type 'regexp) (defcustom idlwave-shell-process-name "idl" - "*Name to be associated with the IDL process. The buffer for the + "Name to be associated with the IDL process. The buffer for the process output is made by surrounding this name with `*'s." :group 'idlwave-shell-general-setup :type 'string) @@ -126,12 +126,12 @@ process output is made by surrounding this name with `*'s." ;; (defcustom idlwave-shell-automatic-start...) See idlwave.el (defcustom idlwave-shell-use-dedicated-window nil - "*Non-nil means, never replace the shell frame with another buffer." + "Non-nil means, never replace the shell frame with another buffer." :group 'idlwave-shell-general-setup :type 'boolean) (defcustom idlwave-shell-use-dedicated-frame nil - "*Non-nil means, IDLWAVE should use a special frame to display shell buffer." + "Non-nil means, IDLWAVE should use a special frame to display shell buffer." :group 'idlwave-shell-general-setup :type 'boolean) @@ -145,12 +145,12 @@ The default makes the frame splittable, so that completion works correctly." (cons symbol sexp))) (defcustom idlwave-shell-raise-frame t - "*Non-nil means, `idlwave-shell' raises the frame showing the shell window." + "Non-nil means, `idlwave-shell' raises the frame showing the shell window." :group 'idlwave-shell-general-setup :type 'boolean) (defcustom idlwave-shell-arrows-do-history t - "*Non-nil means UP and DOWN arrows move through command history. + "Non-nil means UP and DOWN arrows move through command history. This variable can have 3 values: nil Arrows just move the cursor t Arrows force the cursor back to the current command line and @@ -166,7 +166,7 @@ t Arrows force the cursor back to the current command line and ;; FIXME: add comint-input-ring-size? (defcustom idlwave-shell-use-toolbar t - "*Non-nil means, use the debugging toolbar in all IDL related buffers. + "Non-nil means, use the debugging toolbar in all IDL related buffers. Starting the shell will then add the toolbar to all idlwave-mode buffers. Exiting the shell will removed everywhere. Available on XEmacs and on Emacs 21.x or later. @@ -176,7 +176,7 @@ At any time you can toggle the display of the toolbar with :type 'boolean) (defcustom idlwave-shell-temp-pro-prefix "/tmp/idltemp" - "*The prefix for temporary IDL files used when compiling regions. + "The prefix for temporary IDL files used when compiling regions. It should be an absolute pathname. The full temporary file name is obtained by using `make-temp-file' so that the name will be unique among multiple Emacs processes." @@ -184,13 +184,13 @@ so that the name will be unique among multiple Emacs processes." :type 'string) (defvar idlwave-shell-fix-inserted-breaks nil - "*OBSOLETE VARIABLE, is no longer used. + "OBSOLETE VARIABLE, is no longer used. The documentation of this variable used to be: If non-nil then run `idlwave-shell-remove-breaks' to clean up IDL messages.") (defcustom idlwave-shell-prefix-key "\C-c\C-d" - "*The prefix key for the debugging map `idlwave-shell-mode-prefix-map'. + "The prefix key for the debugging map `idlwave-shell-mode-prefix-map'. This variable must already be set when idlwave-shell.el is loaded. Setting it in the mode-hook is too late." :group 'idlwave-shell-general-setup @@ -227,7 +227,7 @@ window, but is useful for stepping, etc." "Obsolete variable. See `idlwave-shell-debug-modifiers'.") (defcustom idlwave-shell-use-truename nil - "*Non-nil means, use `file-truename' when looking for buffers. + "Non-nil means, use `file-truename' when looking for buffers. If this variable is non-nil, Emacs will use the function `file-truename' to resolve symbolic links in the file paths printed by e.g., STOP commands. This means, unvisited files will be loaded under their truename. @@ -247,7 +247,7 @@ because these are used as separators by IDL." :type 'string) (defcustom idlwave-shell-mode-hook '() - "*Hook for customizing `idlwave-shell-mode'." + "Hook for customizing `idlwave-shell-mode'." :group 'idlwave-shell-general-setup :type 'hook) @@ -292,7 +292,7 @@ is non-nil." (defcustom idlwave-shell-show-commands '(run misc breakpoint) - "*A list of command types to show output from in the shell. + "A list of command types to show output from in the shell. Possibilities are 'run, 'debug, 'breakpoint, and 'misc. Unselected types are not displayed in the shell. The type 'everything causes all the copious shell traffic to be displayed." @@ -336,10 +336,10 @@ expression being examined." (string :tag "Command")))) (defvar idlwave-shell-print-expression-function nil - "*OBSOLETE VARIABLE, is no longer used.") + "OBSOLETE VARIABLE, is no longer used.") (defcustom idlwave-shell-separate-examine-output t - "*Non-nil means, put output of examine commands in their own buffer." + "Non-nil means, put output of examine commands in their own buffer." :group 'idlwave-shell-command-setup :type 'boolean) @@ -359,12 +359,12 @@ newly created." (cons variable sexp))) (defcustom idlwave-shell-query-for-class t - "*Non-nil means query the shell for object class on object completions." + "Non-nil means query the shell for object class on object completions." :group 'idlwave-shell-command-setup :type 'boolean) (defcustom idlwave-shell-use-input-mode-magic nil - "*Non-nil means, IDLWAVE should check for input mode spells in output. + "Non-nil means, IDLWAVE should check for input mode spells in output. The spells are strings printed by your IDL program and matched by the regular expressions in `idlwave-shell-input-mode-spells'. When these expressions match, IDLWAVE switches to character input mode and @@ -432,7 +432,7 @@ end" (regexp :tag "Line-mode regexp"))) (defcustom idlwave-shell-breakpoint-popup-menu t - "*If non-nil, provide a menu on mouse-3 on breakpoint lines, and + "If non-nil, provide a menu on mouse-3 on breakpoint lines, and popup help text on the line." :group 'idlwave-shell-command-setup :type 'boolean) @@ -449,7 +449,7 @@ popup help text on the line." :group 'idlwave) (defcustom idlwave-shell-mark-stop-line t - "*Non-nil means, mark the source code line where IDL is currently stopped. + "Non-nil means, mark the source code line where IDL is currently stopped. Value decides about the method which is used to mark the line. Valid values are: @@ -471,7 +471,7 @@ hides any code, so setting this to 'arrow on Emacs 21 sounds like a good idea." (const :tag "Face or arrow." t))) (defcustom idlwave-shell-overlay-arrow ">" - "*The overlay arrow to display at source lines where execution halts. + "The overlay arrow to display at source lines where execution halts. We use a single character by default, since the main block of IDL procedures often has no indentation. Where possible, IDLWAVE will use overlays to display the stop-lines. The arrow is only used on character-based terminals. @@ -480,14 +480,14 @@ See also `idlwave-shell-use-overlay-arrow'." :type 'string) (defcustom idlwave-shell-stop-line-face 'highlight - "*The face for `idlwave-shell-stop-line-overlay'. + "The face for `idlwave-shell-stop-line-overlay'. Allows you to choose the font, color and other properties for line where IDL is stopped. See also `idlwave-shell-mark-stop-line'." :group 'idlwave-shell-highlighting-and-faces :type 'symbol) (defcustom idlwave-shell-electric-stop-color "Violet" - "*The color for the default face or overlay arrow when stopped." + "The color for the default face or overlay arrow when stopped." :group 'idlwave-shell-highlighting-and-faces :type 'string) @@ -499,14 +499,14 @@ line where IDL is stopped. See also `idlwave-shell-mark-stop-line'." (condition-case nil (set-face-foreground 'idlwave-shell-electric-stop-line nil) (error nil))) - "*The face for `idlwave-shell-stop-line-overlay' when in electric debug mode. + "The face for `idlwave-shell-stop-line-overlay' when in electric debug mode. Allows you to choose the font, color and other properties for the line where IDL is stopped, when in Electric Debug Mode." :group 'idlwave-shell-highlighting-and-faces :type 'symbol) (defcustom idlwave-shell-mark-breakpoints t - "*Non-nil means, mark breakpoints in the source files. + "Non-nil means, mark breakpoints in the source files. Valid values are: nil Do not mark breakpoints. 'face Highlight line with `idlwave-shell-breakpoint-face'. @@ -524,7 +524,7 @@ t Glyph when possible, otherwise face (same effect as 'glyph)." "Obsolete variable. See `idlwave-shell-mark-breakpoints'.") (defcustom idlwave-shell-breakpoint-face 'idlwave-shell-bp - "*The face for breakpoint lines in the source code. + "The face for breakpoint lines in the source code. Allows you to choose the font, color and other properties for lines which have a breakpoint. See also `idlwave-shell-mark-breakpoints'." :group 'idlwave-shell-highlighting-and-faces @@ -542,7 +542,7 @@ lines which have a breakpoint. See also `idlwave-shell-mark-breakpoints'." (defcustom idlwave-shell-disabled-breakpoint-face 'idlwave-shell-disabled-bp - "*The face for disabled breakpoint lines in the source code. + "The face for disabled breakpoint lines in the source code. Allows you to choose the font, color and other properties for lines which have a breakpoint. See also `idlwave-shell-mark-breakpoints'." :group 'idlwave-shell-highlighting-and-faces @@ -560,14 +560,14 @@ lines which have a breakpoint. See also `idlwave-shell-mark-breakpoints'." (defcustom idlwave-shell-expression-face 'secondary-selection - "*The face for `idlwave-shell-expression-overlay'. + "The face for `idlwave-shell-expression-overlay'. Allows you to choose the font, color and other properties for the expression printed by IDL." :group 'idlwave-shell-highlighting-and-faces :type 'symbol) (defcustom idlwave-shell-output-face 'secondary-selection - "*The face for `idlwave-shell-output-overlay'. + "The face for `idlwave-shell-output-overlay'. Allows you to choose the font, color and other properties for the expression output by IDL." :group 'idlwave-shell-highlighting-and-faces @@ -784,7 +784,7 @@ with `*'s." "^% Skipped to:" "^% Stop encountered:" ) - "*A list of regular expressions matching IDL messages. + "A list of regular expressions matching IDL messages. These are the messages containing file and line information where IDL is currently stopped.") @@ -795,19 +795,19 @@ IDL is currently stopped.") (defconst idlwave-shell-trace-message-re "^% At " ;; First line of a trace message - "*A regular expression matching IDL trace messages. These are the + "A regular expression matching IDL trace messages. These are the messages containing file and line information of a current traceback.") (defconst idlwave-shell-step-messages '("^% Stepped to:" ) - "*A list of regular expressions matching stepped execution messages. + "A list of regular expressions matching stepped execution messages. These are IDL messages containing file and line information where IDL has currently stepped.") (defvar idlwave-shell-break-message "^% Breakpoint at:" - "*Regular expression matching an IDL breakpoint message line.") + "Regular expression matching an IDL breakpoint message line.") (defconst idlwave-shell-electric-debug-help " ==> IDLWAVE Electric Debug Mode Help <== @@ -1672,7 +1672,7 @@ number.") "\\([ \t]*\n[ \t]*[^ \t\n]+\\)*" ; continuation lines file name (6) "\\)" ; end line number group (5) ) - "*A regular expression to parse out the file name and line number. + "A regular expression to parse out the file name and line number. The 1st group should match the subroutine name. The 3rd group is the line number. The 5th group is the file name. diff --git a/lisp/progmodes/idlwave.el b/lisp/progmodes/idlwave.el index 31fe20698b9..74f37df9b2d 100644 --- a/lisp/progmodes/idlwave.el +++ b/lisp/progmodes/idlwave.el @@ -195,34 +195,34 @@ :group 'idlwave) (defcustom idlwave-main-block-indent 2 - "*Extra indentation for the main block of code. + "Extra indentation for the main block of code. That is the block between the FUNCTION/PRO statement and the END statement for that program unit." :group 'idlwave-code-formatting :type 'integer) (defcustom idlwave-block-indent 3 - "*Extra indentation applied to block lines. + "Extra indentation applied to block lines. If you change this, you probably also want to change `idlwave-end-offset'." :group 'idlwave-code-formatting :type 'integer) (defcustom idlwave-end-offset -3 - "*Extra indentation applied to block END lines. + "Extra indentation applied to block END lines. A value equal to negative `idlwave-block-indent' will make END lines line up with the block BEGIN lines." :group 'idlwave-code-formatting :type 'integer) (defcustom idlwave-continuation-indent 3 - "*Extra indentation applied to continuation lines. + "Extra indentation applied to continuation lines. This extra offset applies to the first of a set of continuation lines. The following lines receive the same indentation as the first." :group 'idlwave-code-formatting :type 'integer) (defcustom idlwave-max-extra-continuation-indent 40 - "*Maximum additional indentation for special continuation indent. + "Maximum additional indentation for special continuation indent. Several special indentations are tried to help line up continuation lines in routine calls or definitions, other statements with parentheses, or assignment statements. This variable specifies a @@ -236,7 +236,7 @@ this variable." :type 'integer) (defcustom idlwave-indent-to-open-paren t - "*Non-nil means, indent continuation lines to innermost open parenthesis. + "Non-nil means, indent continuation lines to innermost open parenthesis. This indentation occurs even if otherwise disallowed by `idlwave-max-extra-continuation-indent'. Matching parens and the interleaving args are lined up. Example: @@ -260,38 +260,38 @@ would yield: :type 'boolean) (defcustom idlwave-indent-parens-nested nil - "*Non-nil means, indent continuation lines with parens by nesting + "Non-nil means, indent continuation lines with parens by nesting lines at consecutively deeper levels." :group 'idlwave-code-formatting :type 'boolean) (defcustom idlwave-hanging-indent t - "*If set non-nil then comment paragraphs are indented under the + "If set non-nil then comment paragraphs are indented under the hanging indent given by `idlwave-hang-indent-regexp' match in the first line of the paragraph." :group 'idlwave-code-formatting :type 'boolean) (defcustom idlwave-hang-indent-regexp "- " - "*Regular expression matching the position of the hanging indent + "Regular expression matching the position of the hanging indent in the first line of a comment paragraph. The size of the indent extends to the end of the match for the regular expression." :group 'idlwave-code-formatting :type 'regexp) (defcustom idlwave-use-last-hang-indent nil - "*If non-nil then use last match on line for `idlwave-indent-regexp'." + "If non-nil then use last match on line for `idlwave-indent-regexp'." :group 'idlwave-code-formatting :type 'boolean) (defcustom idlwave-fill-comment-line-only t - "*If non-nil then auto fill will only operate on comment lines." + "If non-nil then auto fill will only operate on comment lines." :group 'idlwave-code-formatting :type 'boolean) (defcustom idlwave-auto-fill-split-string t - "*If non-nil then auto fill will split strings with the IDL `+' operator. + "If non-nil then auto fill will split strings with the IDL `+' operator. When the line end falls within a string, string concatenation with the '+' operator will be used to distribute a long string over lines. If nil and a string is split then a terminal beep and warning are issued. @@ -302,7 +302,7 @@ non-nil, since in this case code is not auto-filled." :type 'boolean) (defcustom idlwave-split-line-string t - "*If non-nil then `idlwave-split-line' will split strings with `+'. + "If non-nil then `idlwave-split-line' will split strings with `+'. When the splitting point of a line falls inside a string, split the string using the `+' string concatenation operator. If nil and a string is split then a terminal beep and warning are issued." @@ -310,14 +310,14 @@ split then a terminal beep and warning are issued." :type 'boolean) (defcustom idlwave-no-change-comment ";;;" - "*The indentation of a comment that starts with this regular + "The indentation of a comment that starts with this regular expression will not be changed. Note that the indentation of a comment at the beginning of a line is never changed." :group 'idlwave-code-formatting :type 'string) (defcustom idlwave-begin-line-comment nil - "*A comment anchored at the beginning of line. + "A comment anchored at the beginning of line. A comment matching this regular expression will not have its indentation changed. If nil the default is \"^;\", i.e., any line beginning with a \";\". Expressions for comments at the beginning of @@ -327,7 +327,7 @@ the line should begin with \"^\"." 'regexp)) (defcustom idlwave-code-comment ";;[^;]" - "*A comment that starts with this regular expression on a line by + "A comment that starts with this regular expression on a line by itself is indented as if it is a part of IDL code. As a result if the comment is not preceded by whitespace it is unchanged." :group 'idlwave-code-formatting @@ -343,7 +343,7 @@ the comment is not preceded by whitespace it is unchanged." :group 'idlwave) (defcustom idlwave-use-library-catalogs t - "*Non-nil means search the IDL path for library catalog files. + "Non-nil means search the IDL path for library catalog files. These files, named .idlwave_catalog, document routine information for individual directories and libraries of IDL .pro files. Many popular @@ -353,7 +353,7 @@ usually a good idea." :type 'boolean) (defcustom idlwave-init-rinfo-when-idle-after 10 - "*Seconds of idle time before routine info is automatically initialized. + "Seconds of idle time before routine info is automatically initialized. Initializing the routine info can take a long time, in particular if a large number of library catalogs are involved. When Emacs is idle for more than the number of seconds specified by this variable, it starts @@ -370,7 +370,7 @@ needed, and initialize then." :type 'number) (defcustom idlwave-scan-all-buffers-for-routine-info t - "*Non-nil means, scan buffers for IDL programs when updating info. + "Non-nil means, scan buffers for IDL programs when updating info. The scanning is done by the command `idlwave-update-routine-info'. The following values are allowed: @@ -384,7 +384,7 @@ current Scan only the current buffer, but no other buffers." (const :tag "Current buffer only" 'current))) (defcustom idlwave-query-shell-for-routine-info t - "*Non-nil means query the shell for info about compiled routines. + "Non-nil means query the shell for info about compiled routines. Querying the shell is useful to get information about compiled modules, and it is turned on by default. However, when you have a complete library scan, this is not necessary." @@ -393,7 +393,7 @@ scan, this is not necessary." (defcustom idlwave-auto-routine-info-updates '(find-file save-buffer kill-buffer compile-buffer) - "*Controls under what circumstances routine info is updated automatically. + "Controls under what circumstances routine info is updated automatically. Possible values: nil Never t All available @@ -413,7 +413,7 @@ t All available (const :tag "After a buffer was compiled successfully, update shell info" compile-buffer)))) (defcustom idlwave-rinfo-max-source-lines 5 - "*Maximum number of source files displayed in the Routine Info window. + "Maximum number of source files displayed in the Routine Info window. When an integer, it is the maximum number of source files displayed. A value of t means to show all source files." :group 'idlwave-routine-info @@ -448,7 +448,7 @@ value of `!DIR'. See also `idlwave-library-path'." ;; Configuration files (defcustom idlwave-config-directory (convert-standard-filename "~/.idlwave") - "*Directory for configuration files and user-library catalog." + "Directory for configuration files and user-library catalog." :group 'idlwave-routine-info :type 'file) @@ -457,7 +457,7 @@ value of `!DIR'. See also `idlwave-library-path'." (defvar idlwave-path-file "idlpath.el") (defvar idlwave-libinfo-file nil - "*Obsolete variable, no longer used.") + "Obsolete variable, no longer used.") (defcustom idlwave-special-lib-alist nil "Alist of regular expressions matching special library directories. @@ -538,7 +538,7 @@ After changing this variable, you need to either restart Emacs or press ,idlwave-tmp))) (defcustom idlwave-completion-force-default-case nil - "*Non-nil means, completion will always honor `idlwave-completion-case'. + "Non-nil means, completion will always honor `idlwave-completion-case'. When nil, only the completion of a mixed case or upper case string will honor the default settings in `idlwave-completion-case', while the completion of lower case strings will be completed entirely in @@ -547,7 +547,7 @@ lower case." :type 'boolean) (defcustom idlwave-complete-empty-string-as-lower-case nil - "*Non-nil means, the empty string is considered downcase for completion. + "Non-nil means, the empty string is considered downcase for completion. The case of what is already in the buffer determines the case of completions. When this variable is non-nil, the empty string is considered to be downcase. Completing on the empty string then offers downcase versions of the possible @@ -560,7 +560,7 @@ completions." `idlwave-completion-case'.") (defcustom idlwave-buffer-case-takes-precedence nil - "*Non-nil means, the case of tokens in buffers dominates over system stuff. + "Non-nil means, the case of tokens in buffers dominates over system stuff. To make this possible, we need to re-case everything each time we update the routine info from the buffers. This is slow. The default is to consider the case given in the system and library files @@ -569,7 +569,7 @@ first which makes updating much faster." :type 'boolean) (defcustom idlwave-highlight-help-links-in-completion t - "*Non-nil means, highlight completions for which system help is available. + "Non-nil means, highlight completions for which system help is available. Help can then be accessed with mouse-3. This option is only effective when the online help system is installed." :group 'idlwave-completion @@ -594,7 +594,7 @@ for which to assume this can be set here." (defcustom idlwave-completion-show-classes 1 - "*Number of classes to show when completing object methods and keywords. + "Number of classes to show when completing object methods and keywords. When completing methods or keywords for an object with unknown class, the *Completions* buffer will show the valid classes for each completion like this: @@ -613,7 +613,7 @@ negative integer, the `help-echo' property will be suppressed." (integer :tag "Number of classes shown" 1))) (defcustom idlwave-completion-fontify-classes t - "*Non-nil means, fontify the classes in completions buffer. + "Non-nil means, fontify the classes in completions buffer. This makes it easier to distinguish the completion items from the extra class info listed. See `idlwave-completion-show-classes'." :group 'idlwave-completion @@ -673,7 +673,7 @@ method, add an entry (\"INIT\" . t). The method name must be ALL-CAPS." (boolean :tag "Determine class for this method"))))) (defcustom idlwave-store-inquired-class t - "*Non-nil means, store class of a method call as text property on `->'. + "Non-nil means, store class of a method call as text property on `->'. IDLWAVE sometimes has to ask the user for the class associated with a particular object method call. This happens during the commands `idlwave-routine-info' and `idlwave-complete', depending upon the @@ -698,7 +698,7 @@ at point." :type 'boolean) (defcustom idlwave-class-arrow-face 'bold - "*Face to highlight object operator arrows `->' which carry a class property. + "Face to highlight object operator arrows `->' which carry a class property. When IDLWAVE stores a class name as text property on an object arrow \(see variable `idlwave-store-inquired-class', it highlights the arrow with this font in order to remind the user that this arrow is special." @@ -706,17 +706,17 @@ with this font in order to remind the user that this arrow is special." :type 'symbol) (defcustom idlwave-resize-routine-help-window t - "*Non-nil means, resize the Routine-info *Help* window to fit the content." + "Non-nil means, resize the Routine-info *Help* window to fit the content." :group 'idlwave-completion :type 'boolean) (defcustom idlwave-keyword-completion-adds-equal t - "*Non-nil means, completion automatically adds `=' after completed keywords." + "Non-nil means, completion automatically adds `=' after completed keywords." :group 'idlwave-completion :type 'boolean) (defcustom idlwave-function-completion-adds-paren t - "*Non-nil means, completion automatically adds `(' after completed function. + "Non-nil means, completion automatically adds `(' after completed function. nil means, don't add anything. A value of `2' means, also add the closing parenthesis and position cursor between the two." @@ -726,7 +726,7 @@ between the two." (const :tag "()" 2))) (defcustom idlwave-completion-restore-window-configuration t - "*Non-nil means, try to restore the window configuration after completion. + "Non-nil means, try to restore the window configuration after completion. When completion is not unique, Emacs displays a list of completions. This messes up your window configuration. With this variable set, IDLWAVE restores the old configuration after successful completion." @@ -741,13 +741,13 @@ The variables in this group govern this." :group 'idlwave) (defcustom idlwave-do-actions nil - "*Non-nil means performs actions when indenting. + "Non-nil means performs actions when indenting. The actions that can be performed are listed in `idlwave-indent-action-table'." :group 'idlwave-abbrev-and-indent-action :type 'boolean) (defcustom idlwave-abbrev-start-char "\\" - "*A single character string used to start abbreviations in abbrev mode. + "A single character string used to start abbreviations in abbrev mode. Possible characters to chose from: ~`\% or even '?'. '.' is not a good choice because it can make structure field names act like abbrevs in certain circumstances. @@ -759,7 +759,7 @@ is loaded." :type 'string) (defcustom idlwave-surround-by-blank nil - "*Non-nil means, enable `idlwave-surround'. + "Non-nil means, enable `idlwave-surround'. If non-nil, `=',`<',`>',`&',`,', `->' are surrounded with spaces by `idlwave-surround'. See help for `idlwave-indent-action-table' for symbols using `idlwave-surround'. @@ -774,7 +774,7 @@ Also see help for `idlwave-surround'." :type 'boolean) (defcustom idlwave-pad-keyword t - "*Non-nil means pad '=' in keywords (routine calls or defs) like assignment. + "Non-nil means pad '=' in keywords (routine calls or defs) like assignment. Whenever `idlwave-surround' is non-nil then this affects how '=' is padded for keywords and for variables. If t, pad the same as for assignments. If nil then spaces are removed. With any other value, @@ -786,22 +786,22 @@ spaces are left unchanged." (const :tag "Keep space near `='" 'keep))) (defcustom idlwave-show-block t - "*Non-nil means point blinks to block beginning for `idlwave-show-begin'." + "Non-nil means point blinks to block beginning for `idlwave-show-begin'." :group 'idlwave-abbrev-and-indent-action :type 'boolean) (defcustom idlwave-expand-generic-end nil - "*Non-nil means expand generic END to ENDIF/ENDELSE/ENDWHILE etc." + "Non-nil means expand generic END to ENDIF/ENDELSE/ENDWHILE etc." :group 'idlwave-abbrev-and-indent-action :type 'boolean) (defcustom idlwave-reindent-end t - "*Non-nil means re-indent line after END was typed." + "Non-nil means re-indent line after END was typed." :group 'idlwave-abbrev-and-indent-action :type 'boolean) (defcustom idlwave-abbrev-move t - "*Non-nil means the abbrev hook can move point. + "Non-nil means the abbrev hook can move point. Set to nil by `idlwave-expand-region-abbrevs'. To see the abbrev definitions, use the command `list-abbrevs', for abbrevs that move point. Moving point is useful, for example, to place point between @@ -812,7 +812,7 @@ See `idlwave-check-abbrev'." :type 'boolean) (defcustom idlwave-abbrev-change-case nil - "*Non-nil means all abbrevs will be forced to either upper or lower case. + "Non-nil means all abbrevs will be forced to either upper or lower case. If the value t, all expanded abbrevs will be upper case. If the value is 'down then abbrevs will be forced to lower case. If nil, the case will not change. @@ -822,7 +822,7 @@ upper case, regardless of this variable." :type 'boolean) (defcustom idlwave-reserved-word-upcase nil - "*Non-nil means, reserved words will be made upper case via abbrev expansion. + "Non-nil means, reserved words will be made upper case via abbrev expansion. If nil case of reserved words is controlled by `idlwave-abbrev-change-case'. Has effect only if in abbrev-mode." :group 'idlwave-abbrev-and-indent-action @@ -859,7 +859,7 @@ Has effect only if in abbrev-mode." ;; '(capitalize-word -1) t) (defvar idlwave-indent-action-table nil - "*Associated array containing action lists of search string (car), + "Associated array containing action lists of search string (car), and function as a cdr. This table is used by `idlwave-indent-line'. See documentation for `idlwave-do-action' for a complete description of the action lists. @@ -869,7 +869,7 @@ binding is not requested. See help on `idlwave-action-and-binding' for examples.") (defvar idlwave-indent-expand-table nil - "*Associated array containing action lists of search string (car), + "Associated array containing action lists of search string (car), and function as a cdr. The table is used by the `idlwave-indent-and-action' function. See documentation for `idlwave-do-action' for a complete description of the action lists. @@ -948,14 +948,14 @@ See help on `idlwave-action-and-binding' for examples.") ; ;- ") - "*A list (PATHNAME STRING) specifying the doc-header template to use for + "A list (PATHNAME STRING) specifying the doc-header template to use for summarizing a file. If PATHNAME is non-nil then this file will be included. Otherwise STRING is used. If nil, the file summary will be omitted. For example you might set PATHNAME to the path for the lib_template.pro file included in the IDL distribution.") (defcustom idlwave-header-to-beginning-of-file t - "*Non-nil means, the documentation header will always be at start of file. + "Non-nil means, the documentation header will always be at start of file. When nil, the header is positioned between the PRO/FUNCTION line of the current routine and the code, allowing several routine headers in a file." @@ -963,12 +963,12 @@ a file." :type 'boolean) (defcustom idlwave-timestamp-hook 'idlwave-default-insert-timestamp - "*The hook function used to update the timestamp of a function." + "The hook function used to update the timestamp of a function." :group 'idlwave-documentation :type 'function) (defcustom idlwave-doc-modifications-keyword "HISTORY" - "*The modifications keyword to use with the log documentation commands. + "The modifications keyword to use with the log documentation commands. A ':' is added to the keyword end. Inserted by doc-header and used to position logs by doc-modification. If nil it will not be inserted." @@ -976,12 +976,12 @@ If nil it will not be inserted." :type 'string) (defcustom idlwave-doclib-start "^;+\\+" - "*Regexp matching the start of a document library header." + "Regexp matching the start of a document library header." :group 'idlwave-documentation :type 'regexp) (defcustom idlwave-doclib-end "^;+-" - "*Regexp matching the end of a document library header." + "Regexp matching the end of a document library header." :group 'idlwave-documentation :type 'regexp) @@ -992,7 +992,7 @@ If nil it will not be inserted." :group 'idlwave) (defcustom idlwave-shell-explicit-file-name "idl" - "*If non-nil, this is the command to run IDL. + "If non-nil, this is the command to run IDL. Should be an absolute file path or path relative to the current environment execution search path. If you want to specify command line switches for the IDL program, use `idlwave-shell-command-line-options'. @@ -1003,7 +1003,7 @@ it without compromising backwards-compatibility." :type 'string) (defcustom idlwave-shell-command-line-options nil - "*A list of command line options for calling the IDL program. + "A list of command line options for calling the IDL program. Since IDL is executed directly without going through a shell like /bin/sh, this should be a list of strings like '(\"-rt=file\" \"-nw\") with a separate string for each argument. But you may also give a single string which @@ -1015,7 +1015,7 @@ split it for you." :group 'idlwave-external-programs) (defcustom idlwave-help-application "idlhelp" - "*The external application providing reference help for programming. + "The external application providing reference help for programming. Obsolete, if the IDL Assistant is being used for help." :group 'idlwave-external-programs :type 'string) @@ -1040,7 +1040,7 @@ are `control', `meta', `super', `hyper', `alt', and `shift'." (const shift))) (defcustom idlwave-shell-automatic-start nil - "*If non-nil attempt invoke `idlwave-shell' if not already running. + "If non-nil attempt invoke `idlwave-shell' if not already running. This is checked when an attempt to send a command to an IDL process is made." :group 'idlwave-shell-general-setup @@ -1054,7 +1054,7 @@ IDL process is made." :group 'idlwave) (defcustom idlwave-startup-message t - "*Non-nil displays a startup message when `idlwave-mode' is first called." + "Non-nil displays a startup message when `idlwave-mode' is first called." :group 'idlwave-misc :type 'boolean) diff --git a/lisp/progmodes/inf-lisp.el b/lisp/progmodes/inf-lisp.el index 73e167d1587..cd6c8869d9f 100644 --- a/lisp/progmodes/inf-lisp.el +++ b/lisp/progmodes/inf-lisp.el @@ -72,7 +72,7 @@ ;;;###autoload (defcustom inferior-lisp-filter-regexp (purecopy "\\`\\s *\\(:\\(\\w\\|\\s_\\)\\)?\\s *\\'") - "*What not to save on inferior Lisp's input history. + "What not to save on inferior Lisp's input history. Input matching this regexp is not saved on the input history in Inferior Lisp mode. Default is whitespace followed by 0 or 1 single-letter colon-keyword \(as in :a, :c, etc.)" @@ -139,13 +139,13 @@ mode. Default is whitespace followed by 0 or 1 single-letter colon-keyword ;;;###autoload (defcustom inferior-lisp-program (purecopy "lisp") - "*Program name for invoking an inferior Lisp in Inferior Lisp mode." + "Program name for invoking an inferior Lisp in Inferior Lisp mode." :type 'string :group 'inferior-lisp) ;;;###autoload (defcustom inferior-lisp-load-command (purecopy "(load \"%s\")\n") - "*Format-string for building a Lisp expression to load a file. + "Format-string for building a Lisp expression to load a file. This format string should use `%s' to substitute a file name and should result in a Lisp expression that will command the inferior Lisp to load that file. The default works acceptably on most Lisps. @@ -211,7 +211,7 @@ buffer with \\[set-variable].") ;;;###autoload (defvar inferior-lisp-mode-hook '() - "*Hook for customizing Inferior Lisp mode.") + "Hook for customizing Inferior Lisp mode.") (put 'inferior-lisp-mode 'mode-class 'special) @@ -453,7 +453,7 @@ This holds a cons cell of the form `(DIRECTORY . FILE)' describing the last `lisp-load-file' or `lisp-compile-file' command.") (defcustom lisp-source-modes '(lisp-mode) - "*Used to determine if a buffer contains Lisp source code. + "Used to determine if a buffer contains Lisp source code. If it's loaded into a buffer that is in one of these major modes, it's considered a Lisp source file by `lisp-load-file' and `lisp-compile-file'. Used by these commands to determine defaults." diff --git a/lisp/progmodes/m4-mode.el b/lisp/progmodes/m4-mode.el index b1884bd105b..20f91ce2d9e 100644 --- a/lisp/progmodes/m4-mode.el +++ b/lisp/progmodes/m4-mode.el @@ -80,7 +80,7 @@ "Default font-lock-keywords for `m4 mode'.") (defcustom m4-mode-hook nil - "*Hook called by `m4-mode'." + "Hook called by `m4-mode'." :type 'hook :group 'm4) diff --git a/lisp/progmodes/make-mode.el b/lisp/progmodes/make-mode.el index b4ca1ba665f..a173b11500e 100644 --- a/lisp/progmodes/make-mode.el +++ b/lisp/progmodes/make-mode.el @@ -129,18 +129,18 @@ :version "22.1") (defcustom makefile-browser-buffer-name "*Macros and Targets*" - "*Name of the macro- and target browser buffer." + "Name of the macro- and target browser buffer." :type 'string :group 'makefile) (defcustom makefile-target-colon ":" - "*String to append to all target names inserted by `makefile-insert-target'. + "String to append to all target names inserted by `makefile-insert-target'. \":\" or \"::\" are common values." :type 'string :group 'makefile) (defcustom makefile-macro-assign " = " - "*String to append to all macro names inserted by `makefile-insert-macro'. + "String to append to all macro names inserted by `makefile-insert-macro'. The normal value should be \" = \", since this is what standard make expects. However, newer makes such as dmake allow a larger variety of different macro assignments, so you @@ -149,69 +149,69 @@ might prefer to use \" += \" or \" := \" ." :group 'makefile) (defcustom makefile-electric-keys nil - "*If non-nil, Makefile mode should install electric keybindings. + "If non-nil, Makefile mode should install electric keybindings. Default is nil." :type 'boolean :group 'makefile) (defcustom makefile-use-curly-braces-for-macros-p nil - "*Controls the style of generated macro references. + "Controls the style of generated macro references. Non-nil means macro references should use curly braces, like `${this}'. nil means use parentheses, like `$(this)'." :type 'boolean :group 'makefile) (defcustom makefile-tab-after-target-colon t - "*If non-nil, insert a TAB after a target colon. + "If non-nil, insert a TAB after a target colon. Otherwise, a space is inserted. The default is t." :type 'boolean :group 'makefile) (defcustom makefile-browser-leftmost-column 10 - "*Number of blanks to the left of the browser selection mark." + "Number of blanks to the left of the browser selection mark." :type 'integer :group 'makefile) (defcustom makefile-browser-cursor-column 10 - "*Column the cursor goes to when it moves up or down in the Makefile browser." + "Column the cursor goes to when it moves up or down in the Makefile browser." :type 'integer :group 'makefile) (defcustom makefile-backslash-column 48 - "*Column in which `makefile-backslash-region' inserts backslashes." + "Column in which `makefile-backslash-region' inserts backslashes." :type 'integer :group 'makefile) (defcustom makefile-backslash-align t - "*If non-nil, `makefile-backslash-region' will align backslashes." + "If non-nil, `makefile-backslash-region' will align backslashes." :type 'boolean :group 'makefile) (defcustom makefile-browser-selected-mark "+ " - "*String used to mark selected entries in the Makefile browser." + "String used to mark selected entries in the Makefile browser." :type 'string :group 'makefile) (defcustom makefile-browser-unselected-mark " " - "*String used to mark unselected entries in the Makefile browser." + "String used to mark unselected entries in the Makefile browser." :type 'string :group 'makefile) (defcustom makefile-browser-auto-advance-after-selection-p t - "*If non-nil, cursor will move after item is selected in Makefile browser." + "If non-nil, cursor will move after item is selected in Makefile browser." :type 'boolean :group 'makefile) (defcustom makefile-pickup-everything-picks-up-filenames-p nil - "*If non-nil, `makefile-pickup-everything' picks up filenames as targets. + "If non-nil, `makefile-pickup-everything' picks up filenames as targets. This means it calls `makefile-pickup-filenames-as-targets'. Otherwise filenames are omitted." :type 'boolean :group 'makefile) (defcustom makefile-cleanup-continuations nil - "*If non-nil, automatically clean up continuation lines when saving. + "If non-nil, automatically clean up continuation lines when saving. A line is cleaned up by removing all whitespace following a trailing backslash. This is done silently. IMPORTANT: Please note that enabling this option causes Makefile mode @@ -220,7 +220,7 @@ to MODIFY A FILE WITHOUT YOUR CONFIRMATION when \"it seems necessary\"." :group 'makefile) (defcustom makefile-mode-hook nil - "*Normal hook run by `makefile-mode'." + "Normal hook run by `makefile-mode'." :type 'hook :group 'makefile) @@ -247,7 +247,7 @@ you enter a \".\" at the beginning of a line in `makefile-mode'." (defcustom makefile-runtime-macros-list '(("@") ("&") (">") ("<") ("*") ("^") ("+") ("?") ("%") ("$")) - "*List of macros that are resolved by make at runtime. + "List of macros that are resolved by make at runtime. If you insert a macro reference using `makefile-insert-macro-ref', the name of the macro is checked against this list. If it can be found its name will not be enclosed in { } or ( )." @@ -553,14 +553,14 @@ not be enclosed in { } or ( )." ;; ------------------------------------------------------------ (defcustom makefile-brave-make "make" - "*How to invoke make, for `makefile-query-targets'. + "How to invoke make, for `makefile-query-targets'. This should identify a `make' command that can handle the `-q' option." :type 'string :group 'makefile) (defcustom makefile-query-one-target-method-function 'makefile-query-by-make-minus-q - "*Function to call to determine whether a make target is up to date. + "Function to call to determine whether a make target is up to date. The function must satisfy this calling convention: * As its first argument, it must accept the name of the target to @@ -579,7 +579,7 @@ The function must satisfy this calling convention: 'makefile-query-one-target-method-function) (defcustom makefile-up-to-date-buffer-name "*Makefile Up-to-date overview*" - "*Name of the Up-to-date overview buffer." + "Name of the Up-to-date overview buffer." :type 'string :group 'makefile) diff --git a/lisp/progmodes/modula2.el b/lisp/progmodes/modula2.el index 0c43a3ed354..d634efebe5b 100644 --- a/lisp/progmodes/modula2.el +++ b/lisp/progmodes/modula2.el @@ -65,7 +65,7 @@ :group 'modula2) (defcustom m2-end-comment-column 75 - "*Column for aligning the end of a comment, in Modula-2." + "Column for aligning the end of a comment, in Modula-2." :type 'integer :group 'modula2) @@ -104,7 +104,7 @@ "Keymap used in Modula-2 mode.") (defcustom m2-indent 5 - "*This variable gives the indentation in Modula-2-Mode." + "This variable gives the indentation in Modula-2-Mode." :type 'integer :group 'modula2) (put 'm2-indent 'safe-local-variable diff --git a/lisp/progmodes/octave-inf.el b/lisp/progmodes/octave-inf.el index 2cae41889bd..f77e24e665a 100644 --- a/lisp/progmodes/octave-inf.el +++ b/lisp/progmodes/octave-inf.el @@ -79,7 +79,7 @@ mode, set this to (\"-q\" \"--traditional\")." "Syntax table in use in inferior-octave-mode buffers.") (defcustom inferior-octave-mode-hook nil - "*Hook to be run when Inferior Octave mode is started." + "Hook to be run when Inferior Octave mode is started." :type 'hook :group 'octave-inferior) diff --git a/lisp/progmodes/pascal.el b/lisp/progmodes/pascal.el index 95f1adec40e..8f7f313753c 100644 --- a/lisp/progmodes/pascal.el +++ b/lisp/progmodes/pascal.el @@ -183,42 +183,42 @@ (put 'pascal-mode 'font-lock-defaults '(pascal-font-lock-keywords nil t)) (defcustom pascal-indent-level 3 - "*Indentation of Pascal statements with respect to containing block." + "Indentation of Pascal statements with respect to containing block." :type 'integer :group 'pascal) (defcustom pascal-case-indent 2 - "*Indentation for case statements." + "Indentation for case statements." :type 'integer :group 'pascal) (defcustom pascal-auto-newline nil - "*Non-nil means automatically insert newlines in certain cases. + "Non-nil means automatically insert newlines in certain cases. These include after semicolons and after the punctuation mark after an `end'." :type 'boolean :group 'pascal) (defcustom pascal-indent-nested-functions t - "*Non-nil means nested functions are indented." + "Non-nil means nested functions are indented." :type 'boolean :group 'pascal) (defcustom pascal-tab-always-indent t - "*Non-nil means TAB in Pascal mode should always reindent the current line. + "Non-nil means TAB in Pascal mode should always reindent the current line. If this is nil, TAB inserts a tab if it is at the end of the line and follows non-whitespace text." :type 'boolean :group 'pascal) (defcustom pascal-auto-endcomments t - "*Non-nil means automatically insert comments after certain `end's. + "Non-nil means automatically insert comments after certain `end's. Specifically, this is done after the ends of cases statements and functions. The name of the function or case is included between the braces." :type 'boolean :group 'pascal) (defcustom pascal-auto-lineup '(all) - "*List of contexts where auto lineup of :'s or ='s should be done. + "List of contexts where auto lineup of :'s or ='s should be done. Elements can be of type: 'paramlist', 'declaration' or 'case', which will do auto lineup in parameterlist, declarations or case-statements respectively. The word 'all' will do all lineups. '(case paramlist) for @@ -232,7 +232,7 @@ will do all lineups." :group 'pascal) (defvar pascal-toggle-completions nil - "*Non-nil meant \\<pascal-mode-map>\\[pascal-complete-word] would try all possible completions one by one. + "Non-nil meant \\<pascal-mode-map>\\[pascal-complete-word] would try all possible completions one by one. Repeated use of \\[pascal-complete-word] would show you all of them. Normally, when there is more than one possible completion, it displays a list of all possible completions.") @@ -241,7 +241,7 @@ it displays a list of all possible completions.") (defcustom pascal-type-keywords '("array" "file" "packed" "char" "integer" "real" "string" "record") - "*Keywords for types used when completing a word in a declaration or parmlist. + "Keywords for types used when completing a word in a declaration or parmlist. These include integer, real, char, etc. The types defined within the Pascal program are handled in another way, and should not be added to this list." @@ -251,7 +251,7 @@ are handled in another way, and should not be added to this list." (defcustom pascal-start-keywords '("begin" "end" "function" "procedure" "repeat" "until" "while" "read" "readln" "reset" "rewrite" "write" "writeln") - "*Keywords to complete when standing at the first word of a statement. + "Keywords to complete when standing at the first word of a statement. These are keywords such as begin, repeat, until, readln. The procedures and variables defined within the Pascal program are handled in another way, and should not be added to this list." @@ -260,7 +260,7 @@ are handled in another way, and should not be added to this list." (defcustom pascal-separator-keywords '("downto" "else" "mod" "div" "then") - "*Keywords to complete when NOT standing at the first word of a statement. + "Keywords to complete when NOT standing at the first word of a statement. These are keywords such as downto, else, mod, then. Variables and function names defined within the Pascal program are handled in another way, and should not be added to this list." diff --git a/lisp/progmodes/perl-mode.el b/lisp/progmodes/perl-mode.el index 26c6e5a9f03..9df9943cc00 100644 --- a/lisp/progmodes/perl-mode.el +++ b/lisp/progmodes/perl-mode.el @@ -1,6 +1,6 @@ ;;; perl-mode.el --- Perl code editing commands for GNU Emacs -;; Copyright (C) 1990, 1994, 2001-2012 Free Software Foundation, Inc. +;; Copyright (C) 1990, 1994, 2001-2012 Free Software Foundation, Inc. ;; Author: William F. Mann ;; Maintainer: FSF @@ -133,11 +133,6 @@ map) "Keymap used in Perl mode.") -(autoload 'c-macro-expand "cmacexp" - "Display the result of expanding all C macros occurring in the region. -The expansion is entirely correct because it uses the C preprocessor." - t) - (defvar perl-mode-syntax-table (let ((st (make-syntax-table (standard-syntax-table)))) (modify-syntax-entry ?\n ">" st) @@ -468,7 +463,7 @@ The expansion is entirely correct because it uses the C preprocessor." (t (funcall (default-value 'font-lock-syntactic-face-function) state)))) (defcustom perl-indent-level 4 - "*Indentation of Perl statements with respect to containing block." + "Indentation of Perl statements with respect to containing block." :type 'integer :group 'perl) @@ -485,32 +480,40 @@ The expansion is entirely correct because it uses the C preprocessor." ;;;###autoload(put 'perl-label-offset 'safe-local-variable 'integerp) (defcustom perl-continued-statement-offset 4 - "*Extra indent for lines not starting new statements." + "Extra indent for lines not starting new statements." :type 'integer :group 'perl) (defcustom perl-continued-brace-offset -4 - "*Extra indent for substatements that start with open-braces. + "Extra indent for substatements that start with open-braces. This is in addition to `perl-continued-statement-offset'." :type 'integer :group 'perl) (defcustom perl-brace-offset 0 - "*Extra indentation for braces, compared with other text in same context." + "Extra indentation for braces, compared with other text in same context." :type 'integer :group 'perl) (defcustom perl-brace-imaginary-offset 0 - "*Imagined indentation of an open brace that actually follows a statement." + "Imagined indentation of an open brace that actually follows a statement." :type 'integer :group 'perl) (defcustom perl-label-offset -2 - "*Offset of Perl label lines relative to usual indentation." + "Offset of Perl label lines relative to usual indentation." :type 'integer :group 'perl) (defcustom perl-indent-continued-arguments nil - "*If non-nil offset of argument lines relative to usual indentation. + "If non-nil offset of argument lines relative to usual indentation. If nil, continued arguments are aligned with the first argument." :type '(choice integer (const nil)) :group 'perl) +(defcustom perl-indent-parens-as-block nil + "Non-nil means that non-block ()-, {}- and []-groups are indented as blocks. +The closing bracket is aligned with the line of the opening bracket, +not the contents of the brackets." + :version "24.2" + :type 'boolean + :group 'perl) + (defcustom perl-tab-always-indent tab-always-indent "Non-nil means TAB in Perl mode always indents the current line. Otherwise it inserts a tab character if you type it past the first @@ -521,7 +524,7 @@ nonwhite character on the line." ;; I changed the default to nil for consistency with general Emacs ;; conventions -- rms. (defcustom perl-tab-to-comment nil - "*Non-nil means TAB moves to eol or makes a comment in some cases. + "Non-nil means TAB moves to eol or makes a comment in some cases. For lines which don't need indenting, TAB either indents an existing comment, moves to end-of-line, or if at end-of-line already, create a new comment." @@ -529,7 +532,7 @@ create a new comment." :group 'perl) (defcustom perl-nochange ";?#\\|\f\\|\\s(\\|\\(\\w\\|\\s_\\)+:[^:]" - "*Lines starting with this regular expression are not auto-indented." + "Lines starting with this regular expression are not auto-indented." :type 'regexp :group 'perl) @@ -853,7 +856,8 @@ Optional argument PARSE-START should be the position of `beginning-of-defun'." (cond ((nth 3 state) 'noindent) ; In a quoted string? ((null containing-sexp) ; Line is at top level. (skip-chars-forward " \t\f") - (if (= (following-char) ?{) + (if (memq (following-char) + (if perl-indent-parens-as-block '(?\{ ?\( ?\[) '(?\{))) 0 ; move to beginning of line if it starts a function body ;; indent a little if this is a continuation line (perl-backward-to-noncomment) @@ -897,7 +901,9 @@ Optional argument PARSE-START should be the position of `beginning-of-defun'." 0 perl-continued-statement-offset) (current-column) (if (save-excursion (goto-char indent-point) - (looking-at "[ \t]*{")) + (looking-at + (if perl-indent-parens-as-block + "[ \t]*[{(\[]" "[ \t]*{"))) perl-continued-brace-offset 0))) ;; This line starts a new statement. ;; Position at last unclosed open. diff --git a/lisp/progmodes/prolog.el b/lisp/progmodes/prolog.el index a8ee6f4bff4..74c8c31b425 100644 --- a/lisp/progmodes/prolog.el +++ b/lisp/progmodes/prolog.el @@ -3621,12 +3621,12 @@ a new comment is created." (indent-for-comment))) (defun prolog-indent-predicate () - "*Indent the current predicate." + "Indent the current predicate." (interactive) (indent-region (prolog-pred-start) (prolog-pred-end) nil)) (defun prolog-indent-buffer () - "*Indent the entire buffer." + "Indent the entire buffer." (interactive) (indent-region (point-min) (point-max) nil)) diff --git a/lisp/progmodes/ps-mode.el b/lisp/progmodes/ps-mode.el index e85fa0476b0..bf52eff8f9a 100644 --- a/lisp/progmodes/ps-mode.el +++ b/lisp/progmodes/ps-mode.el @@ -60,17 +60,17 @@ ;; User variables. (defcustom ps-mode-auto-indent t - "*Should we use autoindent?" + "Should we use autoindent?" :group 'PostScript-edit :type 'boolean) (defcustom ps-mode-tab 4 - "*Number of spaces to use when indenting." + "Number of spaces to use when indenting." :group 'PostScript-edit :type 'integer) (defcustom ps-mode-paper-size '(595 842) - "*Default paper size. + "Default paper size. When inserting an EPSF template these values are used to set the boundingbox to include the whole page. @@ -117,12 +117,12 @@ When the figure is finished these values should be replaced." (lpr-command (if (memq system-type '(usg-unix-v hpux irix)) "lp" "lpr"))) (lpr-buffer))) - "*Lisp function to print current buffer as PostScript." + "Lisp function to print current buffer as PostScript." :group 'PostScript-edit :type 'function) (defcustom ps-run-prompt "\\(GS\\(<[0-9]+\\)?>\\)+" - "*Regexp to match prompt in interactive PostScript." + "Regexp to match prompt in interactive PostScript." :group 'PostScript-interaction :type 'regexp) @@ -139,7 +139,7 @@ When the figure is finished these values should be replaced." ("^\\(Current file position is\\) \\([0-9]+\\)" (1 font-lock-comment-face nil nil) (2 font-lock-warning-face nil nil)))) - "*Medium level highlighting of messages from the PostScript interpreter. + "Medium level highlighting of messages from the PostScript interpreter. See documentation on font-lock for details." :group 'PostScript-interaction @@ -155,17 +155,17 @@ See documentation on font-lock for details." (boolean :tag "Laxmatch" :value t)))))) (defcustom ps-run-x '("gs" "-r72" "-sPAPERSIZE=a4") - "*Command as list to run PostScript with graphic display." + "Command as list to run PostScript with graphic display." :group 'PostScript-interaction :type '(repeat string)) (defcustom ps-run-dumb '("gs" "-dNODISPLAY") - "*Command as list to run PostScript without graphic display." + "Command as list to run PostScript without graphic display." :group 'PostScript-interaction :type '(repeat string)) (defcustom ps-run-init nil - "*String of commands to send to PostScript to start interactive. + "String of commands to send to PostScript to start interactive. Example: \"executive\" @@ -174,13 +174,13 @@ You won't need to set this option for Ghostscript." :type '(choice (const nil) string)) (defcustom ps-run-error-line-numbers nil - "*What values are used by the PostScript interpreter in error messages?" + "What values are used by the PostScript interpreter in error messages?" :group 'PostScript-interaction :type '(choice (const :tag "line numbers" t) (const :tag "byte counts" nil))) (defcustom ps-run-tmp-dir nil - "*Name of directory to place temporary file. + "Name of directory to place temporary file. If nil, use `temporary-file-directory'." :group 'PostScript-interaction :type '(choice (const nil) directory)) diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index 3ef872d26eb..2922330e6f9 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -69,11 +69,7 @@ (require 'comint) (require 'ansi-color) -(eval-when-compile - (require 'compile) - (require 'hippie-exp)) - -(autoload 'comint-mode "comint") +(eval-when-compile (require 'compile)) (defgroup python nil "Silly walks in the Python language." @@ -494,7 +490,7 @@ statement." (defcustom python-pdbtrack-do-tracking-p t - "*Controls whether the pdbtrack feature is enabled or not. + "Controls whether the pdbtrack feature is enabled or not. When non-nil, pdbtrack is enabled in all comint-based buffers, e.g. shell interaction buffers and the *Python* buffer. @@ -509,7 +505,7 @@ having to restart the program." (make-variable-buffer-local 'python-pdbtrack-do-tracking-p) (defcustom python-pdbtrack-minor-mode-string " PDB" - "*Minor-mode sign to be displayed when pdbtrack is active." + "Minor-mode sign to be displayed when pdbtrack is active." :type 'string :group 'python) @@ -1288,7 +1284,7 @@ modified by the user. Additional arguments are added when the command is used by `run-python' et al.") (defvar python-buffer nil - "*The current Python process buffer. + "The current Python process buffer. Commands that send text from source buffers to Python processes have to choose a process to send to. This is determined by buffer-local @@ -1488,8 +1484,6 @@ Don't save anything for STR matching `inferior-python-filter-regexp'." res) (t (concat res s))))) -(autoload 'comint-check-proc "comint") - (defvar python-version-checked nil) (defun python-check-version (cmd) "Check that CMD runs a suitable version of Python." @@ -1684,8 +1678,6 @@ value to determine defaults." "Caches (directory . file) pair used in the last `python-load-file' command. Used for determining the default in the next one.") -(autoload 'comint-get-source "comint") - (defun python-load-file (file-name) "Load a Python file FILE-NAME into the inferior Python process. If the file has extension `.py' import or reload it as a module. @@ -1776,7 +1768,7 @@ will." ;; allow C-c C-f in help buffer. (let ((temp-buffer-show-hook ; avoid xref stuff (lambda () - (toggle-read-only 1) + (setq buffer-read-only t) (setq view-return-to-alist (list (cons (selected-window) help-return-method)))))) (with-output-to-temp-buffer (help-buffer) @@ -1959,7 +1951,7 @@ the string's indentation." ;; paragraph in a multi-line string properly, so narrow ;; to the string and then fill around (the end of) the ;; current line. - ((eq t (nth 3 syntax)) ; in fenced string + ((nth 3 syntax) ; in fenced string (goto-char (nth 8 syntax)) ; string start (setq start (line-beginning-position)) (setq end (condition-case () ; for unbalanced quotes diff --git a/lisp/progmodes/scheme.el b/lisp/progmodes/scheme.el index 82a4985015f..1fa75f239eb 100644 --- a/lisp/progmodes/scheme.el +++ b/lisp/progmodes/scheme.el @@ -229,7 +229,7 @@ Set this to nil if you normally use another dialect." (defcustom dsssl-sgml-declaration "<!DOCTYPE style-sheet PUBLIC \"-//James Clark//DTD DSSSL Style Sheet//EN\"> " - "*An SGML declaration for the DSSSL file. + "An SGML declaration for the DSSSL file. If it is defined as a string this will be inserted into an empty buffer which is in `dsssl-mode'. It is typically James Clark's style-sheet doctype, as required for Jade." @@ -251,7 +251,7 @@ See `run-hooks'." ;; This is shared by cmuscheme and xscheme. (defcustom scheme-program-name "scheme" - "*Program invoked by the `run-scheme' command." + "Program invoked by the `run-scheme' command." :type 'string :group 'scheme) diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el index 48b19524b8c..f60ce185bc7 100644 --- a/lisp/progmodes/sh-script.el +++ b/lisp/progmodes/sh-script.el @@ -1410,7 +1410,7 @@ This list is used when switching between buffer-local and global values of variables, and for the commands using indentation styles.") (defvar sh-make-vars-local t - "*Controls whether indentation variables are local to the buffer. + "Controls whether indentation variables are local to the buffer. If non-nil, indentation variables are made local initially. If nil, you can later make the variables local by invoking command `sh-make-vars-local'. @@ -1876,7 +1876,7 @@ region, clear header." ;; Indentation stuff. (defun sh-must-support-indent () - "*Signal an error if the shell type for this buffer is not supported. + "Signal an error if the shell type for this buffer is not supported. Also, the buffer must be in Shell-script mode." (unless sh-indent-supported-here (error "This buffer's shell does not support indentation through Emacs"))) @@ -2885,7 +2885,7 @@ so that `occur-next' and `occur-prev' will work." ;; Is this really worth having? (defvar sh-learned-buffer-hook nil - "*An abnormal hook, called with an alist of learned variables.") + "An abnormal hook, called with an alist of learned variables.") ;; Example of how to use sh-learned-buffer-hook ;; ;; (defun what-i-learned (list) diff --git a/lisp/progmodes/simula.el b/lisp/progmodes/simula.el index 7536126e8f1..2adb34c7824 100644 --- a/lisp/progmodes/simula.el +++ b/lisp/progmodes/simula.el @@ -48,7 +48,7 @@ Otherwise TAB indents only when point is within the run of whitespace at the beginning of the line.") (defcustom simula-tab-always-indent simula-tab-always-indent-default - "*Non-nil means TAB in SIMULA mode should always reindent the current line. + "Non-nil means TAB in SIMULA mode should always reindent the current line. Otherwise TAB indents only when point is within the run of whitespace at the beginning of the line." :type 'boolean @@ -58,7 +58,7 @@ the run of whitespace at the beginning of the line." "Indentation of SIMULA statements with respect to containing block.") (defcustom simula-indent-level simula-indent-level-default - "*Indentation of SIMULA statements with respect to containing block." + "Indentation of SIMULA statements with respect to containing block." :type 'integer :group 'simula) @@ -67,7 +67,7 @@ the run of whitespace at the beginning of the line." "Extra indentation after DO, THEN, ELSE, WHEN and OTHERWISE.") (defcustom simula-substatement-offset simula-substatement-offset-default - "*Extra indentation after DO, THEN, ELSE, WHEN and OTHERWISE." + "Extra indentation after DO, THEN, ELSE, WHEN and OTHERWISE." :type 'integer :group 'simula) @@ -79,7 +79,7 @@ the previous line of the statement.") (defcustom simula-continued-statement-offset simula-continued-statement-offset-default - "*Extra indentation for lines not starting a statement or substatement. + "Extra indentation for lines not starting a statement or substatement. If value is a list, each line in a multipleline continued statement will have the car of the list extra indentation with respect to the previous line of the statement." @@ -90,7 +90,7 @@ the previous line of the statement." "Offset of SIMULA label lines relative to usual indentation.") (defcustom simula-label-offset simula-label-offset-default - "*Offset of SIMULA label lines relative to usual indentation." + "Offset of SIMULA label lines relative to usual indentation." :type 'integer :group 'simula) @@ -100,7 +100,7 @@ Value is a cons cell, the car is extra THEN indentation and the cdr extra ELSE indentation. IF after ELSE is indented as the starting IF.") (defcustom simula-if-indent simula-if-indent-default - "*Extra indentation of THEN and ELSE with respect to the starting IF. + "Extra indentation of THEN and ELSE with respect to the starting IF. Value is a cons cell, the car is extra THEN indentation and the cdr extra ELSE indentation. IF after ELSE is indented as the starting IF." :type '(cons integer integer) @@ -112,7 +112,7 @@ Value is a cons cell, the car is extra WHEN indentation and the cdr extra OTHERWISE indentation.") (defcustom simula-inspect-indent simula-inspect-indent-default - "*Extra indentation of WHEN and OTHERWISE with respect to the INSPECT. + "Extra indentation of WHEN and OTHERWISE with respect to the INSPECT. Value is a cons cell, the car is extra WHEN indentation and the cdr extra OTHERWISE indentation." :type '(cons integer integer) @@ -122,7 +122,7 @@ and the cdr extra OTHERWISE indentation." "Non-nil means `simula-indent-line' function may reindent previous line.") (defcustom simula-electric-indent simula-electric-indent-default - "*Non-nil means `simula-indent-line' function may reindent previous line." + "Non-nil means `simula-indent-line' function may reindent previous line." :type 'boolean :group 'simula) @@ -132,7 +132,7 @@ Value is one of the symbols `upcase', `downcase', `capitalize', \(as in) `abbrev-table' or nil if they should not be changed.") (defcustom simula-abbrev-keyword simula-abbrev-keyword-default - "*Specify how to convert case for SIMULA keywords. + "Specify how to convert case for SIMULA keywords. Value is one of the symbols `upcase', `downcase', `capitalize', \(as in) `abbrev-table' or nil if they should not be changed." :type '(choice (const upcase) (const downcase) (const capitalize)(const nil)) @@ -144,7 +144,7 @@ Value is one of the symbols `upcase', `downcase', `capitalize', \(as in) `abbrev-table', or nil if they should not be changed.") (defcustom simula-abbrev-stdproc simula-abbrev-stdproc-default - "*Specify how to convert case for standard SIMULA procedure and class names. + "Specify how to convert case for standard SIMULA procedure and class names. Value is one of the symbols `upcase', `downcase', `capitalize', \(as in) `abbrev-table', or nil if they should not be changed." :type '(choice (const upcase) (const downcase) (const capitalize) @@ -152,7 +152,7 @@ Value is one of the symbols `upcase', `downcase', `capitalize', :group 'simula) (defcustom simula-abbrev-file nil - "*File with extra abbrev definitions for use in SIMULA mode. + "File with extra abbrev definitions for use in SIMULA mode. These are used together with the standard abbrev definitions for SIMULA. Please note that the standard definitions are required for SIMULA mode to function correctly." diff --git a/lisp/progmodes/tcl.el b/lisp/progmodes/tcl.el index 0198b32ec9f..f1ab01fd07f 100644 --- a/lisp/progmodes/tcl.el +++ b/lisp/progmodes/tcl.el @@ -120,24 +120,24 @@ :group 'languages) (defcustom tcl-indent-level 4 - "*Indentation of Tcl statements with respect to containing block." + "Indentation of Tcl statements with respect to containing block." :type 'integer :group 'tcl) (put 'tcl-indent-level 'safe-local-variable 'integerp) (defcustom tcl-continued-indent-level 4 - "*Indentation of continuation line relative to first line of command." + "Indentation of continuation line relative to first line of command." :type 'integer :group 'tcl) (put 'tcl-continued-indent-level 'safe-local-variable 'integerp) (defcustom tcl-auto-newline nil - "*Non-nil means automatically newline before and after braces you insert." + "Non-nil means automatically newline before and after braces you insert." :type 'boolean :group 'tcl) (defcustom tcl-tab-always-indent tab-always-indent - "*Control effect of TAB key. + "Control effect of TAB key. If t (the default), always indent current line. If nil and point is not in the indentation area at the beginning of the line, a TAB is inserted. @@ -157,7 +157,7 @@ to take place: (defcustom tcl-electric-hash-style nil ;; 'smart - "*Style of electric hash insertion to use. + "Style of electric hash insertion to use. Possible values are `backslash', meaning that `\\' quoting should be done; `quote', meaning that `\"' quoting should be done; `smart', meaning that the choice between `backslash' and `quote' should be @@ -168,27 +168,27 @@ taken to mean `smart'. The default is nil." :group 'tcl) (defcustom tcl-help-directory-list nil - "*List of topmost directories containing TclX help files." + "List of topmost directories containing TclX help files." :type '(repeat directory) :group 'tcl) (defcustom tcl-use-smart-word-finder t - "*If not nil, use smart way to find current word, for Tcl help feature." + "If not nil, use smart way to find current word, for Tcl help feature." :type 'boolean :group 'tcl) (defcustom tcl-application "wish" - "*Name of Tcl program to run in inferior Tcl mode." + "Name of Tcl program to run in inferior Tcl mode." :type 'string :group 'tcl) (defcustom tcl-command-switches nil - "*List of switches to supply to the `tcl-application' program." + "List of switches to supply to the `tcl-application' program." :type '(repeat string) :group 'tcl) (defcustom tcl-prompt-regexp "^\\(% \\|\\)" - "*If not nil, a regexp that will match the prompt in the inferior process. + "If not nil, a regexp that will match the prompt in the inferior process. If nil, the prompt is the name of the application with \">\" appended. The default is \"^\\(% \\|\\)\", which will match the default primary @@ -197,7 +197,7 @@ and secondary prompts for tclsh and wish." :group 'tcl) (defcustom inferior-tcl-source-command "source %s\n" - "*Format-string for building a Tcl command to load a file. + "Format-string for building a Tcl command to load a file. This format string should use `%s' to substitute a file name and should result in a Tcl expression that will command the inferior Tcl to load that file. The filename will be appropriately @@ -301,7 +301,7 @@ quoted for Tcl." ["Tcl help" tcl-help-on-word tcl-help-directory-list])) (defvar inferior-tcl-buffer nil - "*The current inferior-tcl process buffer. + "The current inferior-tcl process buffer. MULTIPLE PROCESS SUPPORT =========================================================================== diff --git a/lisp/progmodes/vera-mode.el b/lisp/progmodes/vera-mode.el index 7f3f99f5cfb..6737bf229a0 100644 --- a/lisp/progmodes/vera-mode.el +++ b/lisp/progmodes/vera-mode.el @@ -90,12 +90,12 @@ :group 'languages) (defcustom vera-basic-offset 2 - "*Amount of basic offset used for indentation." + "Amount of basic offset used for indentation." :type 'integer :group 'vera) (defcustom vera-underscore-is-part-of-word nil - "*Non-nil means consider the underscore character `_' as part of word. + "Non-nil means consider the underscore character `_' as part of word. An identifier containing underscores is then treated as a single word in select and move operations. All parts of an identifier separated by underscore are treated as single words otherwise." @@ -103,7 +103,7 @@ are treated as single words otherwise." :group 'vera) (defcustom vera-intelligent-tab t - "*Non-nil means `TAB' does indentation, word completion and tab insertion. + "Non-nil means `TAB' does indentation, word completion and tab insertion. That is, if preceding character is part of a word then complete word, else if not at beginning of line then insert tab, else if last command was a `TAB' or `RET' then dedent one step, diff --git a/lisp/progmodes/verilog-mode.el b/lisp/progmodes/verilog-mode.el index 73e3cd9980f..c8ef8f0324c 100644 --- a/lisp/progmodes/verilog-mode.el +++ b/lisp/progmodes/verilog-mode.el @@ -419,7 +419,7 @@ Set `verilog-in-hooks' during this time, to assist AUTO caches." (defcustom verilog-linter "echo 'No verilog-linter set, see \"M-x describe-variable verilog-linter\"'" - "*Unix program and arguments to call to run a lint checker on Verilog source. + "Unix program and arguments to call to run a lint checker on Verilog source. Depending on the `verilog-set-compile-command', this may be invoked when you type \\[compile]. When the compile completes, \\[next-error] will take you to the next lint error." @@ -429,7 +429,7 @@ you to the next lint error." (defcustom verilog-coverage "echo 'No verilog-coverage set, see \"M-x describe-variable verilog-coverage\"'" - "*Program and arguments to use to annotate for coverage Verilog source. + "Program and arguments to use to annotate for coverage Verilog source. Depending on the `verilog-set-compile-command', this may be invoked when you type \\[compile]. When the compile completes, \\[next-error] will take you to the next lint error." @@ -439,7 +439,7 @@ you to the next lint error." (defcustom verilog-simulator "echo 'No verilog-simulator set, see \"M-x describe-variable verilog-simulator\"'" - "*Program and arguments to use to interpret Verilog source. + "Program and arguments to use to interpret Verilog source. Depending on the `verilog-set-compile-command', this may be invoked when you type \\[compile]. When the compile completes, \\[next-error] will take you to the next lint error." @@ -449,7 +449,7 @@ you to the next lint error." (defcustom verilog-compiler "echo 'No verilog-compiler set, see \"M-x describe-variable verilog-compiler\"'" - "*Program and arguments to use to compile Verilog source. + "Program and arguments to use to compile Verilog source. Depending on the `verilog-set-compile-command', this may be invoked when you type \\[compile]. When the compile completes, \\[next-error] will take you to the next lint error." @@ -460,7 +460,7 @@ you to the next lint error." (defcustom verilog-preprocessor ;; Very few tools give preprocessed output, so we'll default to Verilog-Perl "vppreproc __FLAGS__ __FILE__" - "*Program and arguments to use to preprocess Verilog source. + "Program and arguments to use to preprocess Verilog source. This is invoked with `verilog-preprocess', and depending on the `verilog-set-compile-command', may also be invoked when you type \\[compile]. When the compile completes, \\[next-error] will @@ -480,7 +480,7 @@ Alternatively use the \"Choose Compilation Action\" menu. See `verilog-set-compile-command' for more information.") (defcustom verilog-highlight-translate-off nil - "*Non-nil means background-highlight code excluded from translation. + "Non-nil means background-highlight code excluded from translation. That is, all code between \"// synopsys translate_off\" and \"// synopsys translate_on\" is highlighted using a different background color \(face `verilog-font-lock-translate-off-face'). @@ -495,7 +495,7 @@ entry \"Fontify Buffer\"). XEmacs: turn off and on font locking." (put 'verilog-highlight-translate-off 'safe-local-variable 'verilog-booleanp) (defcustom verilog-auto-lineup 'declarations - "*Type of statements to lineup across multiple lines. + "Type of statements to lineup across multiple lines. If 'all' is selected, then all line ups described below are done. If 'declaration', then just declarations are lined up with any @@ -526,13 +526,13 @@ are lineup only when \\[verilog-pretty-declarations] is typed." :group 'verilog-mode-indent ) (defcustom verilog-indent-level 3 - "*Indentation of Verilog statements with respect to containing block." + "Indentation of Verilog statements with respect to containing block." :group 'verilog-mode-indent :type 'integer) (put 'verilog-indent-level 'safe-local-variable 'integerp) (defcustom verilog-indent-level-module 3 - "*Indentation of Module level Verilog statements (eg always, initial). + "Indentation of Module level Verilog statements (eg always, initial). Set to 0 to get initial and always statements lined up on the left side of your screen." :group 'verilog-mode-indent @@ -540,14 +540,14 @@ your screen." (put 'verilog-indent-level-module 'safe-local-variable 'integerp) (defcustom verilog-indent-level-declaration 3 - "*Indentation of declarations with respect to containing block. + "Indentation of declarations with respect to containing block. Set to 0 to get them list right under containing block." :group 'verilog-mode-indent :type 'integer) (put 'verilog-indent-level-declaration 'safe-local-variable 'integerp) (defcustom verilog-indent-declaration-macros nil - "*How to treat macro expansions in a declaration. + "How to treat macro expansions in a declaration. If nil, indent as: input [31:0] a; input `CP; @@ -561,7 +561,7 @@ If non nil, treat as: (put 'verilog-indent-declaration-macros 'safe-local-variable 'verilog-booleanp) (defcustom verilog-indent-lists t - "*How to treat indenting items in a list. + "How to treat indenting items in a list. If t (the default), indent as: always @( posedge a or reset ) begin @@ -574,58 +574,58 @@ If nil, treat as: (put 'verilog-indent-lists 'safe-local-variable 'verilog-booleanp) (defcustom verilog-indent-level-behavioral 3 - "*Absolute indentation of first begin in a task or function block. + "Absolute indentation of first begin in a task or function block. Set to 0 to get such code to start at the left side of the screen." :group 'verilog-mode-indent :type 'integer) (put 'verilog-indent-level-behavioral 'safe-local-variable 'integerp) (defcustom verilog-indent-level-directive 1 - "*Indentation to add to each level of `ifdef declarations. + "Indentation to add to each level of `ifdef declarations. Set to 0 to have all directives start at the left side of the screen." :group 'verilog-mode-indent :type 'integer) (put 'verilog-indent-level-directive 'safe-local-variable 'integerp) (defcustom verilog-cexp-indent 2 - "*Indentation of Verilog statements split across lines." + "Indentation of Verilog statements split across lines." :group 'verilog-mode-indent :type 'integer) (put 'verilog-cexp-indent 'safe-local-variable 'integerp) (defcustom verilog-case-indent 2 - "*Indentation for case statements." + "Indentation for case statements." :group 'verilog-mode-indent :type 'integer) (put 'verilog-case-indent 'safe-local-variable 'integerp) (defcustom verilog-auto-newline t - "*True means automatically newline after semicolons." + "True means automatically newline after semicolons." :group 'verilog-mode-indent :type 'boolean) (put 'verilog-auto-newline 'safe-local-variable 'verilog-booleanp) (defcustom verilog-auto-indent-on-newline t - "*True means automatically indent line after newline." + "True means automatically indent line after newline." :group 'verilog-mode-indent :type 'boolean) (put 'verilog-auto-indent-on-newline 'safe-local-variable 'verilog-booleanp) (defcustom verilog-tab-always-indent t - "*True means TAB should always re-indent the current line. + "True means TAB should always re-indent the current line. A nil value means TAB will only reindent when at the beginning of the line." :group 'verilog-mode-indent :type 'boolean) (put 'verilog-tab-always-indent 'safe-local-variable 'verilog-booleanp) (defcustom verilog-tab-to-comment nil - "*True means TAB moves to the right hand column in preparation for a comment." + "True means TAB moves to the right hand column in preparation for a comment." :group 'verilog-mode-actions :type 'boolean) (put 'verilog-tab-to-comment 'safe-local-variable 'verilog-booleanp) (defcustom verilog-indent-begin-after-if t - "*If true, indent begin statements following if, else, while, for and repeat. + "If true, indent begin statements following if, else, while, for and repeat. Otherwise, line them up." :group 'verilog-mode-indent :type 'boolean) @@ -633,14 +633,14 @@ Otherwise, line them up." (defcustom verilog-align-ifelse nil - "*If true, align `else' under matching `if'. + "If true, align `else' under matching `if'. Otherwise else is lined up with first character on line holding matching if." :group 'verilog-mode-indent :type 'boolean) (put 'verilog-align-ifelse 'safe-local-variable 'verilog-booleanp) (defcustom verilog-minimum-comment-distance 10 - "*Minimum distance (in lines) between begin and end required before a comment. + "Minimum distance (in lines) between begin and end required before a comment. Setting this variable to zero results in every end acquiring a comment; the default avoids too many redundant comments in tight quarters." :group 'verilog-mode-indent @@ -648,7 +648,7 @@ default avoids too many redundant comments in tight quarters." (put 'verilog-minimum-comment-distance 'safe-local-variable 'integerp) (defcustom verilog-highlight-p1800-keywords nil - "*True means highlight words newly reserved by IEEE-1800. + "True means highlight words newly reserved by IEEE-1800. These will appear in `verilog-font-lock-p1800-face' in order to gently suggest changing where these words are used as variables to something else. A nil value means highlight these words as appropriate for the SystemVerilog @@ -659,7 +659,7 @@ to see the effect as font color choices are cached by Emacs." (put 'verilog-highlight-p1800-keywords 'safe-local-variable 'verilog-booleanp) (defcustom verilog-highlight-grouping-keywords nil - "*True means highlight grouping keywords 'begin' and 'end' more dramatically. + "True means highlight grouping keywords 'begin' and 'end' more dramatically. If false, these words are in the `font-lock-type-face'; if True then they are in `verilog-font-lock-ams-face'. Some find that special highlighting on these grouping constructs allow the structure of the code to be understood at a glance." @@ -668,7 +668,7 @@ grouping constructs allow the structure of the code to be understood at a glance (put 'verilog-highlight-grouping-keywords 'safe-local-variable 'verilog-booleanp) (defcustom verilog-highlight-modules nil - "*True means highlight module statements for `verilog-load-file-at-point'. + "True means highlight module statements for `verilog-load-file-at-point'. When true, mousing over module names will allow jumping to the module definition. If false, this is not supported. Setting this is experimental, and may lead to bad performance." @@ -677,7 +677,7 @@ this is experimental, and may lead to bad performance." (put 'verilog-highlight-modules 'safe-local-variable 'verilog-booleanp) (defcustom verilog-highlight-includes t - "*True means highlight module statements for `verilog-load-file-at-point'. + "True means highlight module statements for `verilog-load-file-at-point'. When true, mousing over include file names will allow jumping to the file referenced. If false, this is not supported." :group 'verilog-mode-indent @@ -685,7 +685,7 @@ file referenced. If false, this is not supported." (put 'verilog-highlight-includes 'safe-local-variable 'verilog-booleanp) (defcustom verilog-auto-declare-nettype nil - "*Non-nil specifies the data type to use with `verilog-auto-input' etc. + "Non-nil specifies the data type to use with `verilog-auto-input' etc. Set this to \"wire\" if the Verilog code uses \"`default_nettype none\". Note using `default_nettype none isn't recommended practice; this mode is experimental." @@ -695,7 +695,7 @@ mode is experimental." (put 'verilog-auto-declare-nettype 'safe-local-variable `stringp) (defcustom verilog-auto-wire-type nil - "*Non-nil specifies the data type to use with `verilog-auto-wire' etc. + "Non-nil specifies the data type to use with `verilog-auto-wire' etc. Set this to \"logic\" for SystemVerilog code, or use `verilog-auto-logic'." :version "24.1" :group 'verilog-mode-actions @@ -703,21 +703,21 @@ Set this to \"logic\" for SystemVerilog code, or use `verilog-auto-logic'." (put 'verilog-auto-wire-type 'safe-local-variable `stringp) (defcustom verilog-auto-endcomments t - "*True means insert a comment /* ... */ after 'end's. + "True means insert a comment /* ... */ after 'end's. The name of the function or case will be set between the braces." :group 'verilog-mode-actions :type 'boolean) (put 'verilog-auto-endcomments 'safe-local-variable 'verilog-booleanp) (defcustom verilog-auto-delete-trailing-whitespace nil - "*True means to `delete-trailing-whitespace' in `verilog-auto'." + "True means to `delete-trailing-whitespace' in `verilog-auto'." :version "24.1" :group 'verilog-mode-actions :type 'boolean) (put 'verilog-auto-delete-trailing-whitespace 'safe-local-variable 'verilog-booleanp) (defcustom verilog-auto-ignore-concat nil - "*True means ignore signals in {...} concatenations for AUTOWIRE etc. + "True means ignore signals in {...} concatenations for AUTOWIRE etc. This will exclude signals referenced as pin connections in {...} from AUTOWIRE, AUTOOUTPUT and friends. This flag should be set for backward compatibility only and not set in new designs; it @@ -727,7 +727,7 @@ may be removed in future versions." (put 'verilog-auto-ignore-concat 'safe-local-variable 'verilog-booleanp) (defcustom verilog-auto-read-includes nil - "*True means to automatically read includes before AUTOs. + "True means to automatically read includes before AUTOs. This will do a `verilog-read-defines' and `verilog-read-includes' before each AUTO expansion. This makes it easier to embed defines and includes, but can result in very slow reading times if there are many or large @@ -737,7 +737,7 @@ include files." (put 'verilog-auto-read-includes 'safe-local-variable 'verilog-booleanp) (defcustom verilog-auto-save-policy nil - "*Non-nil indicates action to take when saving a Verilog buffer with AUTOs. + "Non-nil indicates action to take when saving a Verilog buffer with AUTOs. A value of `force' will always do a \\[verilog-auto] automatically if needed on every save. A value of `detect' will do \\[verilog-auto] automatically when it thinks necessary. A value of `ask' will query the @@ -750,7 +750,7 @@ sub-module's port list has changed." :type '(choice (const nil) (const ask) (const detect) (const force))) (defcustom verilog-auto-star-expand t - "*Non-nil indicates to expand a SystemVerilog .* instance ports. + "Non-nil indicates to expand a SystemVerilog .* instance ports. They will be expanded in the same way as if there was a AUTOINST in the instantiation. See also `verilog-auto-star' and `verilog-auto-star-save'." :group 'verilog-mode-actions @@ -758,7 +758,7 @@ instantiation. See also `verilog-auto-star' and `verilog-auto-star-save'." (put 'verilog-auto-star-expand 'safe-local-variable 'verilog-booleanp) (defcustom verilog-auto-star-save nil - "*Non-nil indicates to save to disk SystemVerilog .* instance expansions. + "Non-nil indicates to save to disk SystemVerilog .* instance expansions. A nil value indicates direct connections will be removed before saving. Only meaningful to those created due to `verilog-auto-star-expand' being set. @@ -775,7 +775,7 @@ always be saved." "Text from file-local-variables during last evaluation.") (defvar verilog-diff-function 'verilog-diff-report - "*Function to run when `verilog-diff-auto' detects differences. + "Function to run when `verilog-diff-auto' detects differences. Function takes three arguments, the original buffer, the difference buffer, and the point in original buffer with the first difference.") @@ -869,11 +869,11 @@ See `compilation-error-regexp-alist-alist' for the formatting. For XEmacs.") ("^In file \\([^ \t]+\\)[ \t]+line[ \t]+\\([0-9]+\\):\n[^\n]*\n[^\n]*\n\\(Warning\\|Error\\|Failure\\)[^\n]*" 1 bold t) ("^In file \\([^ \t]+\\)[ \t]+line[ \t]+\\([0-9]+\\):\n[^\n]*\n[^\n]*\n\\(Warning\\|Error\\|Failure\\)[^\n]*" 2 bold t) ) - "*Keywords to also highlight in Verilog *compilation* buffers. + "Keywords to also highlight in Verilog *compilation* buffers. Only used in XEmacs; GNU Emacs uses `verilog-error-regexp-emacs-alist'.") (defcustom verilog-library-flags '("") - "*List of standard Verilog arguments to use for /*AUTOINST*/. + "List of standard Verilog arguments to use for /*AUTOINST*/. These arguments are used to find files for `verilog-auto', and match the flags accepted by a standard Verilog-XL simulator. @@ -904,7 +904,7 @@ See also the variables mentioned above." (put 'verilog-library-flags 'safe-local-variable 'listp) (defcustom verilog-library-directories '(".") - "*List of directories when looking for files for /*AUTOINST*/. + "List of directories when looking for files for /*AUTOINST*/. The directory may be relative to the current file, or absolute. Environment variables are also expanded in the directory names. Having at least the current directory is a good idea. @@ -927,7 +927,7 @@ and `verilog-library-extensions'." (put 'verilog-library-directories 'safe-local-variable 'listp) (defcustom verilog-library-files '() - "*List of files to search for modules. + "List of files to search for modules. AUTOINST will use this when it needs to resolve a module name. This is a complete path, usually to a technology file with many standard cells defined in it. @@ -949,14 +949,14 @@ See also `verilog-library-flags', `verilog-library-directories'." (put 'verilog-library-files 'safe-local-variable 'listp) (defcustom verilog-library-extensions '(".v" ".sv") - "*List of extensions to use when looking for files for /*AUTOINST*/. + "List of extensions to use when looking for files for /*AUTOINST*/. See also `verilog-library-flags', `verilog-library-directories'." :type '(repeat string) :group 'verilog-mode-auto) (put 'verilog-library-extensions 'safe-local-variable 'listp) (defcustom verilog-active-low-regexp nil - "*If set, treat signals matching this regexp as active low. + "If set, treat signals matching this regexp as active low. This is used for AUTORESET and AUTOTIEOFF. For proper behavior, you will probably also need `verilog-auto-reset-widths' set." :group 'verilog-mode-auto @@ -964,7 +964,7 @@ you will probably also need `verilog-auto-reset-widths' set." (put 'verilog-active-low-regexp 'safe-local-variable 'stringp) (defcustom verilog-auto-sense-include-inputs nil - "*If true, AUTOSENSE should include all inputs. + "If true, AUTOSENSE should include all inputs. If nil, only inputs that are NOT output signals in the same block are included." :group 'verilog-mode-auto @@ -972,7 +972,7 @@ included." (put 'verilog-auto-sense-include-inputs 'safe-local-variable 'verilog-booleanp) (defcustom verilog-auto-sense-defines-constant nil - "*If true, AUTOSENSE should assume all defines represent constants. + "If true, AUTOSENSE should assume all defines represent constants. When true, the defines will not be included in sensitivity lists. To maintain compatibility with other sites, this should be set at the bottom of each Verilog file that requires it, rather than being set globally." @@ -981,7 +981,7 @@ of each Verilog file that requires it, rather than being set globally." (put 'verilog-auto-sense-defines-constant 'safe-local-variable 'verilog-booleanp) (defcustom verilog-auto-reset-blocking-in-non t - "*If true, AUTORESET will reset those signals which were + "If true, AUTORESET will reset those signals which were assigned with blocking assignments (=) even in a block with non-blocking assignments (<=). @@ -995,7 +995,7 @@ those temporaries reset. See example in `verilog-auto-reset'." (put 'verilog-auto-reset-blocking-in-non 'safe-local-variable 'verilog-booleanp) (defcustom verilog-auto-reset-widths t - "*If true, AUTORESET should determine the width of signals. + "If true, AUTORESET should determine the width of signals. This is then used to set the width of the zero (32'h0 for example). This is required by some lint tools that aren't smart enough to ignore widths of the constant zero. This may result in ugly code when parameters determine @@ -1005,13 +1005,13 @@ the MSB or LSB of a signal inside an AUTORESET." (put 'verilog-auto-reset-widths 'safe-local-variable 'verilog-booleanp) (defcustom verilog-assignment-delay "" - "*Text used for delays in delayed assignments. Add a trailing space if set." + "Text used for delays in delayed assignments. Add a trailing space if set." :group 'verilog-mode-auto :type 'string) (put 'verilog-assignment-delay 'safe-local-variable 'stringp) (defcustom verilog-auto-arg-sort nil - "*If set, AUTOARG signal names will be sorted, not in declaration order. + "If set, AUTOARG signal names will be sorted, not in declaration order. Declaration order is advantageous with order based instantiations and is the default for backward compatibility. Sorted order reduces changes when declarations are moved around in a file, and @@ -1023,7 +1023,7 @@ See also `verilog-auto-inst-sort'." (put 'verilog-auto-arg-sort 'safe-local-variable 'verilog-booleanp) (defcustom verilog-auto-inst-dot-name nil - "*If true, when creating ports with AUTOINST, use .name syntax. + "If true, when creating ports with AUTOINST, use .name syntax. This will use \".port\" instead of \".port(port)\" when possible. This is only legal in SystemVerilog files, and will confuse older simulators. Setting `verilog-auto-inst-vector' to nil may also @@ -1033,7 +1033,7 @@ be desirable to increase how often .name will be used." (put 'verilog-auto-inst-dot-name 'safe-local-variable 'verilog-booleanp) (defcustom verilog-auto-inst-param-value nil - "*If set, AUTOINST will replace parameters with the parameter value. + "If set, AUTOINST will replace parameters with the parameter value. If nil, leave parameters as symbolic names. Parameters must be in Verilog 2001 format #(...), and if a parameter is not @@ -1070,7 +1070,7 @@ instead expand to: (put 'verilog-auto-inst-param-value 'safe-local-variable 'verilog-booleanp) (defcustom verilog-auto-inst-sort nil - "*If set, AUTOINST signal names will be sorted, not in declaration order. + "If set, AUTOINST signal names will be sorted, not in declaration order. Also affects AUTOINSTPARAM. Declaration order is the default for backward compatibility, and as some teams prefer signals that are declared together to remain together. Sorted order reduces @@ -1083,7 +1083,7 @@ See also `verilog-auto-arg-sort'." (put 'verilog-auto-inst-sort 'safe-local-variable 'verilog-booleanp) (defcustom verilog-auto-inst-vector t - "*If true, when creating default ports with AUTOINST, use bus subscripts. + "If true, when creating default ports with AUTOINST, use bus subscripts. If nil, skip the subscript when it matches the entire bus as declared in the module (AUTOWIRE signals always are subscripted, you must manually declare the wire to have the subscripts removed.) Setting this to nil may @@ -1093,7 +1093,7 @@ speed up some simulators, but is less general and harder to read, so avoid." (put 'verilog-auto-inst-vector 'safe-local-variable 'verilog-booleanp) (defcustom verilog-auto-inst-template-numbers nil - "*If true, when creating templated ports with AUTOINST, add a comment. + "If true, when creating templated ports with AUTOINST, add a comment. If t, the comment will add the line number of the template that was used for that port declaration. This setting is suggested @@ -1110,34 +1110,34 @@ won't merge conflict." '(lambda (x) (memq x '(nil t lhs)))) (defcustom verilog-auto-inst-column 40 - "*Indent-to column number for net name part of AUTOINST created pin." + "Indent-to column number for net name part of AUTOINST created pin." :group 'verilog-mode-indent :type 'integer) (put 'verilog-auto-inst-column 'safe-local-variable 'integerp) (defcustom verilog-auto-input-ignore-regexp nil - "*If set, when creating AUTOINPUT list, ignore signals matching this regexp. + "If set, when creating AUTOINPUT list, ignore signals matching this regexp. See the \\[verilog-faq] for examples on using this." :group 'verilog-mode-auto :type 'string) (put 'verilog-auto-input-ignore-regexp 'safe-local-variable 'stringp) (defcustom verilog-auto-inout-ignore-regexp nil - "*If set, when creating AUTOINOUT list, ignore signals matching this regexp. + "If set, when creating AUTOINOUT list, ignore signals matching this regexp. See the \\[verilog-faq] for examples on using this." :group 'verilog-mode-auto :type 'string) (put 'verilog-auto-inout-ignore-regexp 'safe-local-variable 'stringp) (defcustom verilog-auto-output-ignore-regexp nil - "*If set, when creating AUTOOUTPUT list, ignore signals matching this regexp. + "If set, when creating AUTOOUTPUT list, ignore signals matching this regexp. See the \\[verilog-faq] for examples on using this." :group 'verilog-mode-auto :type 'string) (put 'verilog-auto-output-ignore-regexp 'safe-local-variable 'stringp) (defcustom verilog-auto-tieoff-declaration "wire" - "*Data type used for the declaration for AUTOTIEOFF. If \"wire\" then + "Data type used for the declaration for AUTOTIEOFF. If \"wire\" then create a wire, if \"assign\" create an assignment, else the data type for variable creation." :version "24.1" @@ -1146,58 +1146,58 @@ variable creation." (put 'verilog-auto-tieoff-declaration 'safe-local-variable 'stringp) (defcustom verilog-auto-tieoff-ignore-regexp nil - "*If set, when creating AUTOTIEOFF list, ignore signals matching this regexp. + "If set, when creating AUTOTIEOFF list, ignore signals matching this regexp. See the \\[verilog-faq] for examples on using this." :group 'verilog-mode-auto :type 'string) (put 'verilog-auto-tieoff-ignore-regexp 'safe-local-variable 'stringp) (defcustom verilog-auto-unused-ignore-regexp nil - "*If set, when creating AUTOUNUSED list, ignore signals matching this regexp. + "If set, when creating AUTOUNUSED list, ignore signals matching this regexp. See the \\[verilog-faq] for examples on using this." :group 'verilog-mode-auto :type 'string) (put 'verilog-auto-unused-ignore-regexp 'safe-local-variable 'stringp) (defcustom verilog-typedef-regexp nil - "*If non-nil, regular expression that matches Verilog-2001 typedef names. + "If non-nil, regular expression that matches Verilog-2001 typedef names. For example, \"_t$\" matches typedefs named with _t, as in the C language." :group 'verilog-mode-auto :type 'string) (put 'verilog-typedef-regexp 'safe-local-variable 'stringp) (defcustom verilog-mode-hook 'verilog-set-compile-command - "*Hook run after Verilog mode is loaded." + "Hook run after Verilog mode is loaded." :type 'hook :group 'verilog-mode) (defcustom verilog-auto-hook nil - "*Hook run after `verilog-mode' updates AUTOs." + "Hook run after `verilog-mode' updates AUTOs." :group 'verilog-mode-auto :type 'hook) (defcustom verilog-before-auto-hook nil - "*Hook run before `verilog-mode' updates AUTOs." + "Hook run before `verilog-mode' updates AUTOs." :group 'verilog-mode-auto :type 'hook) (defcustom verilog-delete-auto-hook nil - "*Hook run after `verilog-mode' deletes AUTOs." + "Hook run after `verilog-mode' deletes AUTOs." :group 'verilog-mode-auto :type 'hook) (defcustom verilog-before-delete-auto-hook nil - "*Hook run before `verilog-mode' deletes AUTOs." + "Hook run before `verilog-mode' deletes AUTOs." :group 'verilog-mode-auto :type 'hook) (defcustom verilog-getopt-flags-hook nil - "*Hook run after `verilog-getopt-flags' determines the Verilog option lists." + "Hook run after `verilog-getopt-flags' determines the Verilog option lists." :group 'verilog-mode-auto :type 'hook) (defcustom verilog-before-getopt-flags-hook nil - "*Hook run before `verilog-getopt-flags' determines the Verilog option lists." + "Hook run before `verilog-getopt-flags' determines the Verilog option lists." :group 'verilog-mode-auto :type 'hook) @@ -1211,17 +1211,17 @@ For example, \"_t$\" matches typedefs named with _t, as in the C language." ;; Customization variables: ;; (defvar verilog-date-scientific-format nil - "*If non-nil, dates are written in scientific format (e.g. 1997/09/17). + "If non-nil, dates are written in scientific format (e.g. 1997/09/17). If nil, in European format (e.g. 17.09.1997). The brain-dead American format (e.g. 09/17/1997) is not supported.") (defvar verilog-company nil - "*Default name of Company for Verilog header. + "Default name of Company for Verilog header. If set will become buffer local.") (make-variable-buffer-local 'verilog-company) (defvar verilog-project nil - "*Default name of Project for Verilog header. + "Default name of Project for Verilog header. If set will become buffer local.") (make-variable-buffer-local 'verilog-project) @@ -6686,7 +6686,7 @@ Region is defined by B and EDPOS." (defvar verilog-buffer-to-use nil) (defvar verilog-flag nil) (defvar verilog-toggle-completions nil - "*True means \\<verilog-mode-map>\\[verilog-complete-word] should try all possible completions one by one. + "True means \\<verilog-mode-map>\\[verilog-complete-word] should try all possible completions one by one. Repeated use of \\[verilog-complete-word] will show you all of them. Normally, when there is more than one possible completion, it displays a list of all possible completions.") @@ -6701,13 +6701,13 @@ it displays a list of all possible completions.") "rtranif1" "semaphore" "time" "tran" "tranif0" "tranif1" "tri" "tri0" "tri1" "triand" "trior" "trireg" "wand" "wire" "wor" "xnor" "xor" ) - "*Keywords for types used when completing a word in a declaration or parmlist. + "Keywords for types used when completing a word in a declaration or parmlist. \(integer, real, reg...)") (defvar verilog-cpp-keywords '("module" "macromodule" "primitive" "timescale" "define" "ifdef" "ifndef" "else" "endif") - "*Keywords to complete when at first word of a line in declarative scope. + "Keywords to complete when at first word of a line in declarative scope. \(initial, always, begin, assign...) The procedures and variables defined within the Verilog program will be completed at runtime and should not be added to this list.") @@ -6721,7 +6721,7 @@ will be completed at runtime and should not be added to this list.") "task" "endtask" "primitive" "endprimitive" ) verilog-type-keywords) - "*Keywords to complete when at first word of a line in declarative scope. + "Keywords to complete when at first word of a line in declarative scope. \(initial, always, begin, assign...) The procedures and variables defined within the Verilog program will be completed at runtime and should not be added to this list.") @@ -6732,28 +6732,28 @@ will be completed at runtime and should not be added to this list.") "endgenerate" "endinterface" "endpackage" "endspecify" "endtask" "for" "fork" "if" "join" "join_any" "join_none" "repeat" "return" "while") - "*Keywords to complete when at first word of a line in behavioral scope. + "Keywords to complete when at first word of a line in behavioral scope. \(begin, if, then, else, for, fork...) The procedures and variables defined within the Verilog program will be completed at runtime and should not be added to this list.") (defvar verilog-tf-keywords '("begin" "break" "fork" "join" "join_any" "join_none" "case" "end" "endtask" "endfunction" "if" "else" "for" "while" "repeat") - "*Keywords to complete when at first word of a line in a task or function. + "Keywords to complete when at first word of a line in a task or function. \(begin, if, then, else, for, fork.) The procedures and variables defined within the Verilog program will be completed at runtime and should not be added to this list.") (defvar verilog-case-keywords '("begin" "fork" "join" "join_any" "join_none" "case" "end" "endcase" "if" "else" "for" "repeat") - "*Keywords to complete when at first word of a line in case scope. + "Keywords to complete when at first word of a line in case scope. \(begin, if, then, else, for, fork...) The procedures and variables defined within the Verilog program will be completed at runtime and should not be added to this list.") (defvar verilog-separator-keywords '("else" "then" "begin") - "*Keywords to complete when NOT standing at the first word of a statement. + "Keywords to complete when NOT standing at the first word of a statement. \(else, then, begin...) Variables and function names defined within the Verilog program will be completed at runtime and should not be added to this list.") @@ -6786,10 +6786,10 @@ will be completed at runtime and should not be added to this list.") ("tranif1" "inout" "inout") ("xnor" "output") ("xor" "output")) - "*Map of direction for each positional argument to each gate primitive.") + "Map of direction for each positional argument to each gate primitive.") (defvar verilog-gate-keywords (mapcar `car verilog-gate-ios) - "*Keywords for gate primitives.") + "Keywords for gate primitives.") (defun verilog-string-diff (str1 str2) "Return index of first letter where STR1 and STR2 differs." diff --git a/lisp/progmodes/vhdl-mode.el b/lisp/progmodes/vhdl-mode.el index c9bf638bb59..9b7ee5d6aa0 100644 --- a/lisp/progmodes/vhdl-mode.el +++ b/lisp/progmodes/vhdl-mode.el @@ -198,7 +198,7 @@ Examples: :group 'vhdl) (defcustom vhdl-indent-tabs-mode nil - "*Non-nil means indentation can insert tabs. + "Non-nil means indentation can insert tabs. Overrides local variable `indent-tabs-mode'." :type 'boolean :group 'vhdl-mode) @@ -322,7 +322,7 @@ Overrides local variable `indent-tabs-mode'." ("^ *Compiling \"\\(.+\\)\" " 1) nil) ) - "*List of available VHDL compilers and their properties. + "List of available VHDL compilers and their properties. Each list entry specifies the following items for a compiler: Compiler: Compiler name : name used in option `vhdl-compiler' to choose compiler @@ -429,7 +429,7 @@ NOTE: Activate new error and file message regexps and reflect the new setting :group 'vhdl-compile) (defcustom vhdl-compiler "ModelSim" - "*Specifies the VHDL compiler to be used for syntax analysis. + "Specifies the VHDL compiler to be used for syntax analysis. Select a compiler name from the ones defined in option `vhdl-compiler-alist'." :type (let ((alist vhdl-compiler-alist) list) (while alist @@ -439,7 +439,7 @@ Select a compiler name from the ones defined in option `vhdl-compiler-alist'." :group 'vhdl-compile) (defcustom vhdl-compile-use-local-error-regexp t - "*Non-nil means use buffer-local `compilation-error-regexp-alist'. + "Non-nil means use buffer-local `compilation-error-regexp-alist'. In this case, only error message regexps for VHDL compilers are active if compilation is started from a VHDL buffer. Otherwise, the error message regexps are appended to the predefined global regexps, and all regexps are @@ -451,7 +451,7 @@ NOTE: Activate the new setting by restarting Emacs." :group 'vhdl-compile) (defcustom vhdl-makefile-generation-hook nil - "*Functions to run at the end of Makefile generation. + "Functions to run at the end of Makefile generation. Allows to insert user specific parts into a Makefile. Example: @@ -462,7 +462,7 @@ Example: :group 'vhdl-compile) (defcustom vhdl-default-library "work" - "*Name of default library. + "Name of default library. Is overwritten by project settings if a project is active." :type 'string :group 'vhdl-compile) @@ -488,7 +488,7 @@ Is overwritten by project settings if a project is active." -- This is a multi-line project description -- that can be used as a project dependent part of the file header. ")) - "*List of projects and their properties. + "List of projects and their properties. Name : name used in option `vhdl-project' to choose project Title : title of project (single-line string) Default directory: default project directory (absolute path) @@ -594,7 +594,7 @@ NOTE: Reflect the new setting in the choice list of option `vhdl-project' :group 'vhdl-project) (defcustom vhdl-project nil - "*Specifies the default for the current project. + "Specifies the default for the current project. Select a project name from the ones defined in option `vhdl-project-alist'. Is used to determine the project title and description to be inserted in file headers and the source files/directories to be scanned in the hierarchy @@ -608,7 +608,7 @@ browser. The current project can also be changed temporarily in the menu." :group 'vhdl-project) (defcustom vhdl-project-file-name '("\\1.prj") - "*List of file names/paths for importing/exporting project setups. + "List of file names/paths for importing/exporting project setups. \"\\1\" is replaced by the project name (SPC is replaced by `_'), \"\\2\" is replaced by the user name (allows to have user-specific project setups). The first entry is used as file name to import/export individual project @@ -624,7 +624,7 @@ in global directories)." :group 'vhdl-project) (defcustom vhdl-project-auto-load '(startup) - "*Automatically load project setups from files. + "Automatically load project setups from files. All project setup files that match the file names specified in option `vhdl-project-file-name' are automatically loaded. The project of the \(alphabetically) last loaded setup of the first `vhdl-project-file-name' @@ -635,7 +635,7 @@ A project setup file can be obtained by exporting a project (see menu). :group 'vhdl-project) (defcustom vhdl-project-sort t - "*Non-nil means projects are displayed in alphabetical order." + "Non-nil means projects are displayed in alphabetical order." :type 'boolean :group 'vhdl-project) @@ -648,7 +648,7 @@ A project setup file can be obtained by exporting a project (see menu). :group 'vhdl-compose) (defcustom vhdl-standard '(87 nil) - "*VHDL standards used. + "VHDL standards used. Basic standard: VHDL'87 : IEEE Std 1076-1987 VHDL'93 : IEEE Std 1076-1993 @@ -675,13 +675,13 @@ NOTE: Activate the new setting in a VHDL buffer by using the menu entry :group 'vhdl-style) (defcustom vhdl-basic-offset 2 - "*Amount of basic offset used for indentation. + "Amount of basic offset used for indentation. This value is used by + and - symbols in `vhdl-offsets-alist'." :type 'integer :group 'vhdl-style) (defcustom vhdl-upper-case-keywords nil - "*Non-nil means convert keywords to upper case. + "Non-nil means convert keywords to upper case. This is done when typed or expanded or by the fix case functions." :type 'boolean :set (lambda (variable value) @@ -689,7 +689,7 @@ This is done when typed or expanded or by the fix case functions." :group 'vhdl-style) (defcustom vhdl-upper-case-types nil - "*Non-nil means convert standardized types to upper case. + "Non-nil means convert standardized types to upper case. This is done when expanded or by the fix case functions." :type 'boolean :set (lambda (variable value) @@ -697,7 +697,7 @@ This is done when expanded or by the fix case functions." :group 'vhdl-style) (defcustom vhdl-upper-case-attributes nil - "*Non-nil means convert standardized attributes to upper case. + "Non-nil means convert standardized attributes to upper case. This is done when expanded or by the fix case functions." :type 'boolean :set (lambda (variable value) @@ -705,7 +705,7 @@ This is done when expanded or by the fix case functions." :group 'vhdl-style) (defcustom vhdl-upper-case-enum-values nil - "*Non-nil means convert standardized enumeration values to upper case. + "Non-nil means convert standardized enumeration values to upper case. This is done when expanded or by the fix case functions." :type 'boolean :set (lambda (variable value) @@ -713,7 +713,7 @@ This is done when expanded or by the fix case functions." :group 'vhdl-style) (defcustom vhdl-upper-case-constants t - "*Non-nil means convert standardized constants to upper case. + "Non-nil means convert standardized constants to upper case. This is done when expanded." :type 'boolean :set (lambda (variable value) @@ -721,7 +721,7 @@ This is done when expanded." :group 'vhdl-style) (defcustom vhdl-use-direct-instantiation 'standard - "*Non-nil means use VHDL'93 direct component instantiation. + "Non-nil means use VHDL'93 direct component instantiation. Never : never Standard: only in VHDL standards that allow it (VHDL'93 and higher) Always : always" @@ -737,7 +737,7 @@ This is done when expanded." (defcustom vhdl-entity-file-name '(".*" . "\\&") (concat - "*Specifies how the entity file name is obtained. + "Specifies how the entity file name is obtained. The entity file name can be obtained by modifying the entity name (e.g. attaching or stripping off a substring). The file extension is automatically taken from the file name of the current buffer." @@ -749,7 +749,7 @@ taken from the file name of the current buffer." (defcustom vhdl-architecture-file-name '("\\(.*\\) \\(.*\\)" . "\\1_\\2") (concat - "*Specifies how the architecture file name is obtained. + "Specifies how the architecture file name is obtained. The architecture file name can be obtained by modifying the entity and/or architecture name (e.g. attaching or stripping off a substring). The file extension is automatically taken from the file name of the current @@ -764,7 +764,7 @@ access to both names (see default setting as example)." (defcustom vhdl-configuration-file-name '(".*" . "\\&") (concat - "*Specifies how the configuration file name is obtained. + "Specifies how the configuration file name is obtained. The configuration file name can be obtained by modifying the configuration name (e.g. attaching or stripping off a substring). The file extension is automatically taken from the file name of the current buffer." @@ -776,7 +776,7 @@ automatically taken from the file name of the current buffer." (defcustom vhdl-package-file-name '(".*" . "\\&") (concat - "*Specifies how the package file name is obtained. + "Specifies how the package file name is obtained. The package file name can be obtained by modifying the package name (e.g. attaching or stripping off a substring). The file extension is automatically taken from the file name of the current buffer. Package files can be created @@ -789,7 +789,7 @@ file name." :group 'vhdl-compose) (defcustom vhdl-file-name-case 'identity - "*Specifies how to change case for obtaining file names. + "Specifies how to change case for obtaining file names. When deriving a file name from a VHDL unit name, case can be changed as follows: As Is: case is not changed (taken as is) @@ -809,7 +809,7 @@ follows: :group 'vhdl) (defcustom vhdl-electric-keywords '(vhdl user) - "*Type of keywords for which electrification is enabled. + "Type of keywords for which electrification is enabled. VHDL keywords: invoke built-in templates User keywords: invoke user models (see option `vhdl-model-alist')" :type '(set (const :tag "VHDL keywords" vhdl) @@ -819,7 +819,7 @@ follows: :group 'vhdl-template) (defcustom vhdl-optional-labels 'process - "*Constructs for which labels are to be queried. + "Constructs for which labels are to be queried. Template generators prompt for optional labels for: None : no constructs Processes only: processes only (also procedurals in VHDL-AMS) @@ -830,7 +830,7 @@ Template generators prompt for optional labels for: :group 'vhdl-template) (defcustom vhdl-insert-empty-lines 'unit - "*Specifies whether to insert empty lines in some templates. + "Specifies whether to insert empty lines in some templates. This improves readability of code. Empty lines are inserted in: None : no constructs Design units only: entities, architectures, configurations, packages only @@ -845,7 +845,7 @@ Replaces option `vhdl-additional-empty-lines'." :group 'vhdl-compose) (defcustom vhdl-argument-list-indent nil - "*Non-nil means indent argument lists relative to opening parenthesis. + "Non-nil means indent argument lists relative to opening parenthesis. That is, argument, association, and port lists start on the same line as the opening parenthesis and subsequent lines are indented accordingly. Otherwise, lists start on a new line and are indented as normal code." @@ -855,7 +855,7 @@ Otherwise, lists start on a new line and are indented as normal code." :group 'vhdl-compose) (defcustom vhdl-association-list-with-formals t - "*Non-nil means write association lists with formal parameters. + "Non-nil means write association lists with formal parameters. Templates prompt for formal and actual parameters (ports/generics). When pasting component instantiations, formals are included. If nil, only a list of actual parameters is entered." @@ -865,17 +865,17 @@ If nil, only a list of actual parameters is entered." :group 'vhdl-compose) (defcustom vhdl-conditions-in-parenthesis nil - "*Non-nil means place parenthesis around condition expressions." + "Non-nil means place parenthesis around condition expressions." :type 'boolean :group 'vhdl-template) (defcustom vhdl-zero-string "'0'" - "*String to use for a logic zero." + "String to use for a logic zero." :type 'string :group 'vhdl-template) (defcustom vhdl-one-string "'1'" - "*String to use for a logic one." + "String to use for a logic one." :type 'string :group 'vhdl-template) @@ -906,7 +906,7 @@ If nil, only a list of actual parameters is entered." ------------------------------------------------------------------------------- " - "*String or file to insert as file header. + "String or file to insert as file header. If the string specifies an existing file name, the contents of the file is inserted, otherwise the string itself is inserted as file header. Type `C-j' for newlines. @@ -936,7 +936,7 @@ dependent part of the file header and can also contain the above keywords." :group 'vhdl-header) (defcustom vhdl-file-footer "" - "*String or file to insert as file footer. + "String or file to insert as file footer. If the string specifies an existing file name, the contents of the file is inserted, otherwise the string itself is inserted as file footer (i.e. at the end of the file). @@ -946,7 +946,7 @@ The same keywords as in option `vhdl-file-header' can be used." :group 'vhdl-header) (defcustom vhdl-company-name "" - "*Name of company to insert in file header. + "Name of company to insert in file header. See option `vhdl-file-header'." :type 'string :group 'vhdl-header) @@ -955,14 +955,14 @@ See option `vhdl-file-header'." ------------------------------------------------------------------------------- -- Copyright (c) <year> <company> " - "*Copyright string to insert in file header. + "Copyright string to insert in file header. Can be multi-line string (type `C-j' for newline) and contain other file header keywords (see option `vhdl-file-header')." :type 'string :group 'vhdl-header) (defcustom vhdl-platform-spec "" - "*Specification of VHDL platform to insert in file header. + "Specification of VHDL platform to insert in file header. The platform specification should contain names and versions of the simulation and synthesis tools used. See option `vhdl-file-header'." @@ -970,7 +970,7 @@ See option `vhdl-file-header'." :group 'vhdl-header) (defcustom vhdl-date-format "%Y-%m-%d" - "*Specifies the date format to use in the header. + "Specifies the date format to use in the header. This string is passed as argument to the command `format-time-string'. For more information on format strings, see the documentation for the `format-time-string' command (C-h f `format-time-string')." @@ -978,7 +978,7 @@ For more information on format strings, see the documentation for the :group 'vhdl-header) (defcustom vhdl-modify-date-prefix-string "-- Last update: " - "*Prefix string of modification date in VHDL file header. + "Prefix string of modification date in VHDL file header. If actualization of the modification date is called (menu, `\\[vhdl-template-modify]'), this string is searched and the rest of the line replaced by the current date." @@ -986,7 +986,7 @@ of the line replaced by the current date." :group 'vhdl-header) (defcustom vhdl-modify-date-on-saving t - "*Non-nil means update the modification date when the buffer is saved. + "Non-nil means update the modification date when the buffer is saved. Calls function `\\[vhdl-template-modify]'). NOTE: Activate the new setting in a VHDL buffer by using the menu entry @@ -1000,26 +1000,26 @@ NOTE: Activate the new setting in a VHDL buffer by using the menu entry :group 'vhdl-template) (defcustom vhdl-reset-kind 'async - "*Specifies which kind of reset to use in sequential processes." + "Specifies which kind of reset to use in sequential processes." :type '(choice (const :tag "None" none) (const :tag "Synchronous" sync) (const :tag "Asynchronous" async)) :group 'vhdl-sequential-process) (defcustom vhdl-reset-active-high nil - "*Non-nil means reset in sequential processes is active high. + "Non-nil means reset in sequential processes is active high. Otherwise, reset is active low." :type 'boolean :group 'vhdl-sequential-process) (defcustom vhdl-clock-rising-edge t - "*Non-nil means rising edge of clock triggers sequential processes. + "Non-nil means rising edge of clock triggers sequential processes. Otherwise, falling edge triggers." :type 'boolean :group 'vhdl-sequential-process) (defcustom vhdl-clock-edge-condition 'standard - "*Syntax of the clock edge condition. + "Syntax of the clock edge condition. Standard: \"clk'event and clk = '1'\" Function: \"rising_edge(clk)\"" :type '(choice (const :tag "Standard" standard) @@ -1027,12 +1027,12 @@ Otherwise, falling edge triggers." :group 'vhdl-sequential-process) (defcustom vhdl-clock-name "" - "*Name of clock signal to use in templates." + "Name of clock signal to use in templates." :type 'string :group 'vhdl-sequential-process) (defcustom vhdl-reset-name "" - "*Name of reset signal to use in templates." + "Name of reset signal to use in templates." :type 'string :group 'vhdl-sequential-process) @@ -1054,7 +1054,7 @@ begin -- process <label> end if; end process <label>;" "e" "")) - "*List of user models. + "List of user models. VHDL models (templates) can be specified by the user in this list. They can be invoked from the menu, through key bindings (`C-c C-m ...'), or by keyword electrification (i.e. overriding existing or creating new keywords, see @@ -1103,7 +1103,7 @@ NOTE: Activate the new setting in a VHDL buffer by using the menu entry (defcustom vhdl-compose-architecture-name '(".*" . "str") (concat - "*Specifies how the component architecture name is obtained. + "Specifies how the component architecture name is obtained. The component architecture name can be obtained by modifying the entity name \(e.g. attaching or stripping off a substring). If TO STRING is empty, the architecture name is queried." @@ -1115,7 +1115,7 @@ If TO STRING is empty, the architecture name is queried." (defcustom vhdl-compose-configuration-name '("\\(.*\\) \\(.*\\)" . "\\1_\\2_cfg") (concat - "*Specifies how the configuration name is obtained. + "Specifies how the configuration name is obtained. The configuration name can be obtained by modifying the entity and/or architecture name (e.g. attaching or stripping off a substring). The string that is matched against the regexp is the concatenation of the entity and the @@ -1129,7 +1129,7 @@ default setting as example)." (defcustom vhdl-components-package-name '((".*" . "\\&_components") . "components") (concat - "*Specifies how the name for the components package is obtained. + "Specifies how the name for the components package is obtained. The components package is a package containing all component declarations for the current design. Its name can be obtained by modifying the project name \(e.g. attaching or stripping off a substring). If no project is defined, the @@ -1142,19 +1142,19 @@ DIRECTORY entry is chosen." :group 'vhdl-compose) (defcustom vhdl-use-components-package nil - "*Non-nil means use a separate components package for component declarations. + "Non-nil means use a separate components package for component declarations. Otherwise, component declarations are inserted and searched for in the architecture declarative parts." :type 'boolean :group 'vhdl-compose) (defcustom vhdl-compose-include-header t - "*Non-nil means include a header in automatically generated files." + "Non-nil means include a header in automatically generated files." :type 'boolean :group 'vhdl-compose) (defcustom vhdl-compose-create-files 'single - "*Specifies whether new files should be created for the new component. + "Specifies whether new files should be created for the new component. The component's entity and architecture are inserted: None : in current buffer Single file : in new single file @@ -1167,14 +1167,14 @@ The file names are obtained from variables `vhdl-entity-file-name' and :group 'vhdl-compose) (defcustom vhdl-compose-configuration-create-file nil - "*Specifies whether a new file should be created for the configuration. + "Specifies whether a new file should be created for the configuration. If non-nil, a new file is created for the configuration. The file name is obtained from variable `vhdl-configuration-file-name'." :type 'boolean :group 'vhdl-compose) (defcustom vhdl-compose-configuration-hierarchical t - "*Specifies whether hierarchical configurations should be created. + "Specifies whether hierarchical configurations should be created. If non-nil, automatically created configurations are hierarchical and include the whole hierarchy of subcomponents. Otherwise the configuration only includes one level of subcomponents." @@ -1182,7 +1182,7 @@ includes one level of subcomponents." :group 'vhdl-compose) (defcustom vhdl-compose-configuration-use-subconfiguration t - "*Specifies whether subconfigurations should be used inside configurations. + "Specifies whether subconfigurations should be used inside configurations. If non-nil, automatically created configurations use configurations in binding indications for subcomponents, if such configurations exist. Otherwise, entities are used in binding indications for subcomponents." @@ -1196,22 +1196,22 @@ entities are used in binding indications for subcomponents." :group 'vhdl-compose) (defcustom vhdl-include-port-comments nil - "*Non-nil means include port comments when a port is pasted." + "Non-nil means include port comments when a port is pasted." :type 'boolean :group 'vhdl-port) (defcustom vhdl-include-direction-comments nil - "*Non-nil means include port direction in instantiations as comments." + "Non-nil means include port direction in instantiations as comments." :type 'boolean :group 'vhdl-port) (defcustom vhdl-include-type-comments nil - "*Non-nil means include generic/port type in instantiations as comments." + "Non-nil means include generic/port type in instantiations as comments." :type 'boolean :group 'vhdl-port) (defcustom vhdl-include-group-comments 'never - "*Specifies whether to include group comments and spacings. + "Specifies whether to include group comments and spacings. The comments and empty lines between groups of ports are pasted: Never : never Declarations: in entity/component/constant/signal declarations only @@ -1223,7 +1223,7 @@ The comments and empty lines between groups of ports are pasted: (defcustom vhdl-actual-port-name '(".*" . "\\&") (concat - "*Specifies how actual port names are obtained from formal port names. + "Specifies how actual port names are obtained from formal port names. In a component instantiation, an actual port name can be obtained by modifying the formal port name (e.g. attaching or stripping off a substring)." vhdl-name-doc-string) @@ -1233,7 +1233,7 @@ modifying the formal port name (e.g. attaching or stripping off a substring)." (defcustom vhdl-instance-name '(".*" . "\\&_%d") (concat - "*Specifies how an instance name is obtained. + "Specifies how an instance name is obtained. The instance name can be obtained by modifying the name of the component to be instantiated (e.g. attaching or stripping off a substring). \"%d\" is replaced by a unique number (starting with 1). @@ -1250,7 +1250,7 @@ If TO STRING is empty, the instance name is queried." (defcustom vhdl-testbench-entity-name '(".*" . "\\&_tb") (concat - "*Specifies how the testbench entity name is obtained. + "Specifies how the testbench entity name is obtained. The entity name of a testbench can be obtained by modifying the name of the component to be tested (e.g. attaching or stripping off a substring)." vhdl-name-doc-string) @@ -1260,7 +1260,7 @@ the component to be tested (e.g. attaching or stripping off a substring)." (defcustom vhdl-testbench-architecture-name '(".*" . "") (concat - "*Specifies how the testbench architecture name is obtained. + "Specifies how the testbench architecture name is obtained. The testbench architecture name can be obtained by modifying the name of the component to be tested (e.g. attaching or stripping off a substring). If TO STRING is empty, the architecture name is queried." @@ -1271,7 +1271,7 @@ If TO STRING is empty, the architecture name is queried." (defcustom vhdl-testbench-configuration-name vhdl-compose-configuration-name (concat - "*Specifies how the testbench configuration name is obtained. + "Specifies how the testbench configuration name is obtained. The configuration name of a testbench can be obtained by modifying the entity and/or architecture name (e.g. attaching or stripping off a substring). The string that is matched against the regexp is the concatenation of the entity @@ -1284,7 +1284,7 @@ names (see default setting as example)." (defcustom vhdl-testbench-dut-name '(".*" . "DUT") (concat - "*Specifies how a DUT instance name is obtained. + "Specifies how a DUT instance name is obtained. The design-under-test instance name (i.e. the component instantiated in the testbench) can be obtained by modifying the component name (e.g. attaching or stripping off a substring)." @@ -1294,7 +1294,7 @@ or stripping off a substring)." :group 'vhdl-testbench) (defcustom vhdl-testbench-include-header t - "*Non-nil means include a header in automatically generated files." + "Non-nil means include a header in automatically generated files." :type 'boolean :group 'vhdl-testbench) @@ -1302,7 +1302,7 @@ or stripping off a substring)." -- clock signal Clk : std_logic := '1'; " - "*String or file to be inserted in the testbench declarative part. + "String or file to be inserted in the testbench declarative part. If the string specifies an existing file name, the contents of the file is inserted, otherwise the string itself is inserted in the testbench architecture before the BEGIN keyword. @@ -1322,7 +1322,7 @@ Type `C-j' for newlines." wait until Clk = '1'; end process WaveGen_Proc; " - "*String or file to be inserted in the testbench statement part. + "String or file to be inserted in the testbench statement part. If the string specifies an existing file name, the contents of the file is inserted, otherwise the string itself is inserted in the testbench architecture before the END keyword. @@ -1331,22 +1331,22 @@ Type `C-j' for newlines." :group 'vhdl-testbench) (defcustom vhdl-testbench-initialize-signals nil - "*Non-nil means initialize signals with `0' when declared in testbench." + "Non-nil means initialize signals with `0' when declared in testbench." :type 'boolean :group 'vhdl-testbench) (defcustom vhdl-testbench-include-library t - "*Non-nil means a library/use clause for std_logic_1164 is included." + "Non-nil means a library/use clause for std_logic_1164 is included." :type 'boolean :group 'vhdl-testbench) (defcustom vhdl-testbench-include-configuration t - "*Non-nil means a testbench configuration is attached at the end." + "Non-nil means a testbench configuration is attached at the end." :type 'boolean :group 'vhdl-testbench) (defcustom vhdl-testbench-create-files 'single - "*Specifies whether new files should be created for the testbench. + "Specifies whether new files should be created for the testbench. testbench entity and architecture are inserted: None : in current buffer Single file : in new single file @@ -1360,7 +1360,7 @@ and `vhdl-testbench-architecture-file-name'." (defcustom vhdl-testbench-entity-file-name vhdl-entity-file-name (concat - "*Specifies how the testbench entity file name is obtained. + "Specifies how the testbench entity file name is obtained. The entity file name can be obtained by modifying the testbench entity name \(e.g. attaching or stripping off a substring). The file extension is automatically taken from the file name of the current buffer. Testbench @@ -1373,7 +1373,7 @@ absolute path to the file name." (defcustom vhdl-testbench-architecture-file-name vhdl-architecture-file-name (concat - "*Specifies how the testbench architecture file name is obtained. + "Specifies how the testbench architecture file name is obtained. The architecture file name can be obtained by modifying the testbench entity and/or architecture name (e.g. attaching or stripping off a substring). The string that is matched against the regexp is the concatenation of the entity @@ -1392,17 +1392,17 @@ name." :group 'vhdl) (defcustom vhdl-self-insert-comments t - "*Non-nil means various templates automatically insert help comments." + "Non-nil means various templates automatically insert help comments." :type 'boolean :group 'vhdl-comment) (defcustom vhdl-prompt-for-comments t - "*Non-nil means various templates prompt for user definable comments." + "Non-nil means various templates prompt for user definable comments." :type 'boolean :group 'vhdl-comment) (defcustom vhdl-inline-comment-column 40 - "*Column to indent and align inline comments to. + "Column to indent and align inline comments to. Overrides local option `comment-column'. NOTE: Activate the new setting in a VHDL buffer by using the menu entry @@ -1411,7 +1411,7 @@ NOTE: Activate the new setting in a VHDL buffer by using the menu entry :group 'vhdl-comment) (defcustom vhdl-end-comment-column 79 - "*End of comment column. + "End of comment column. Comments that exceed this column number are wrapped. NOTE: Activate the new setting in a VHDL buffer by using the menu entry @@ -1427,19 +1427,19 @@ NOTE: Activate the new setting in a VHDL buffer by using the menu entry :group 'vhdl) (defcustom vhdl-auto-align t - "*Non-nil means align some templates automatically after generation." + "Non-nil means align some templates automatically after generation." :type 'boolean :group 'vhdl-align) (defcustom vhdl-align-groups t - "*Non-nil means align groups of code lines separately. + "Non-nil means align groups of code lines separately. A group of code lines is a region of consecutive lines between two lines that match the regexp in option `vhdl-align-group-separate'." :type 'boolean :group 'vhdl-align) (defcustom vhdl-align-group-separate "^\\s-*$" - "*Regexp for matching a line that separates groups of lines for alignment. + "Regexp for matching a line that separates groups of lines for alignment. Examples: \"^\\s-*$\": matches an empty line \"^\\s-*\\(--.*\\)?$\": matches an empty line or a comment-only line" @@ -1447,7 +1447,7 @@ Examples: :group 'vhdl-align) (defcustom vhdl-align-same-indent t - "*Non-nil means align blocks with same indent separately. + "Non-nil means align blocks with same indent separately. When a region or the entire buffer is aligned, the code is divided into blocks of same indent which are aligned separately (except for argument/port lists). This gives nicer alignment in most cases. @@ -1461,7 +1461,7 @@ Option `vhdl-align-groups' still applies within these blocks." :group 'vhdl) (defcustom vhdl-highlight-keywords t - "*Non-nil means highlight VHDL keywords and other standardized words. + "Non-nil means highlight VHDL keywords and other standardized words. The following faces are used: `font-lock-keyword-face' : keywords `font-lock-type-face' : standardized types @@ -1477,7 +1477,7 @@ NOTE: Activate the new setting in a VHDL buffer by re-fontifying it (menu :group 'vhdl-highlight) (defcustom vhdl-highlight-names t - "*Non-nil means highlight declaration names and construct labels. + "Non-nil means highlight declaration names and construct labels. The following faces are used: `font-lock-function-name-face' : names in declarations of units, subprograms, components, as well as labels of VHDL constructs @@ -1494,7 +1494,7 @@ NOTE: Activate the new setting in a VHDL buffer by re-fontifying it (menu :group 'vhdl-highlight) (defcustom vhdl-highlight-special-words nil - "*Non-nil means highlight words with special syntax. + "Non-nil means highlight words with special syntax. The words with syntax and color specified in option `vhdl-special-syntax-alist' are highlighted accordingly. Can be used for visual support of naming conventions. @@ -1507,7 +1507,7 @@ NOTE: Activate the new setting in a VHDL buffer by re-fontifying it (menu :group 'vhdl-highlight) (defcustom vhdl-highlight-forbidden-words nil - "*Non-nil means highlight forbidden words. + "Non-nil means highlight forbidden words. The reserved words specified in option `vhdl-forbidden-words' or having the syntax specified in option `vhdl-forbidden-syntax' are highlighted in a warning color (face `vhdl-font-lock-reserved-words-face') to indicate not to @@ -1522,7 +1522,7 @@ NOTE: Activate the new setting in a VHDL buffer by re-fontifying it (menu :group 'vhdl-highlight) (defcustom vhdl-highlight-verilog-keywords nil - "*Non-nil means highlight Verilog keywords as reserved words. + "Non-nil means highlight Verilog keywords as reserved words. Verilog keywords are highlighted in a warning color (face `vhdl-font-lock-reserved-words-face') to indicate not to use them. @@ -1535,7 +1535,7 @@ NOTE: Activate the new setting in a VHDL buffer by re-fontifying it (menu :group 'vhdl-highlight) (defcustom vhdl-highlight-translate-off nil - "*Non-nil means background-highlight code excluded from translation. + "Non-nil means background-highlight code excluded from translation. That is, all code between \"-- pragma translate_off\" and \"-- pragma translate_on\" is highlighted using a different background color \(face `vhdl-font-lock-translate-off-face'). @@ -1549,7 +1549,7 @@ NOTE: Activate the new setting in a VHDL buffer by re-fontifying it (menu :group 'vhdl-highlight) (defcustom vhdl-highlight-case-sensitive nil - "*Non-nil means consider case for highlighting. + "Non-nil means consider case for highlighting. Possible trade-off: non-nil also upper-case VHDL words are highlighted, but case of words with special syntax is not considered @@ -1566,7 +1566,7 @@ NOTE: Activate the new setting in a VHDL buffer by re-fontifying it (menu '(("generic/constant" "\\w+_[cg]" "Gold3" "BurlyWood1") ("type" "\\w+_t" "ForestGreen" "PaleGreen") ("variable" "\\w+_v" "Grey50" "Grey80")) - "*List of special syntax to be highlighted. + "List of special syntax to be highlighted. If option `vhdl-highlight-special-words' is non-nil, words with the specified syntax (as regular expression) are highlighted in the corresponding color. @@ -1599,7 +1599,7 @@ NOTE: Activate a changed regexp in a VHDL buffer by re-fontifying it (menu :group 'vhdl-highlight) (defcustom vhdl-forbidden-words '() - "*List of forbidden words to be highlighted. + "List of forbidden words to be highlighted. If option `vhdl-highlight-forbidden-words' is non-nil, these reserved words are highlighted in a warning color to indicate not to use them. @@ -1612,7 +1612,7 @@ NOTE: Activate the new setting in a VHDL buffer by re-fontifying it (menu :group 'vhdl-highlight) (defcustom vhdl-forbidden-syntax "" - "*Syntax of forbidden words to be highlighted. + "Syntax of forbidden words to be highlighted. If option `vhdl-highlight-forbidden-words' is non-nil, words with this syntax are highlighted in a warning color to indicate not to use them. Can be used to highlight too long identifiers (e.g. \"\\w\\w\\w\\w\\w\\w\\w\\w\\w\\w+\" @@ -1627,7 +1627,7 @@ NOTE: Activate the new setting in a VHDL buffer by re-fontifying it (menu :group 'vhdl-highlight) (defcustom vhdl-directive-keywords '("pragma" "synopsys") - "*List of compiler directive keywords recognized for highlighting. + "List of compiler directive keywords recognized for highlighting. NOTE: Activate the new setting in a VHDL buffer by re-fontifying it (menu entry \"Fontify Buffer\")." @@ -1643,13 +1643,13 @@ NOTE: Activate the new setting in a VHDL buffer by re-fontifying it (menu :group 'vhdl) (defcustom vhdl-speedbar-auto-open nil - "*Non-nil means automatically open speedbar at startup. + "Non-nil means automatically open speedbar at startup. Alternatively, the speedbar can be opened from the VHDL menu." :type 'boolean :group 'vhdl-speedbar) (defcustom vhdl-speedbar-display-mode 'files - "*Specifies the default displaying mode when opening speedbar. + "Specifies the default displaying mode when opening speedbar. Alternatively, the displaying mode can be selected from the speedbar menu or by typing `f' (files), `h' (directory hierarchy) or `H' (project hierarchy)." :type '(choice (const :tag "Files" files) @@ -1658,7 +1658,7 @@ by typing `f' (files), `h' (directory hierarchy) or `H' (project hierarchy)." :group 'vhdl-speedbar) (defcustom vhdl-speedbar-scan-limit '(10000000 (1000000 50)) - "*Limits scanning of large files and netlists. + "Limits scanning of large files and netlists. Design units: maximum file size to scan for design units Hierarchy (instances of subcomponents): File size: maximum file size to scan for instances (in bytes) @@ -1685,18 +1685,18 @@ prevent the scanning of large netlists." :group 'vhdl-speedbar) (defcustom vhdl-speedbar-jump-to-unit t - "*Non-nil means jump to the design unit code when opened in a buffer. + "Non-nil means jump to the design unit code when opened in a buffer. The buffer cursor position is left unchanged otherwise." :type 'boolean :group 'vhdl-speedbar) (defcustom vhdl-speedbar-update-on-saving t - "*Automatically update design hierarchy when buffer is saved." + "Automatically update design hierarchy when buffer is saved." :type 'boolean :group 'vhdl-speedbar) (defcustom vhdl-speedbar-save-cache '(hierarchy display) - "*Automatically save modified hierarchy caches when exiting Emacs. + "Automatically save modified hierarchy caches when exiting Emacs. Hierarchy: design hierarchy information Display: displaying information (which design units to expand)" :type '(set (const :tag "Hierarchy" hierarchy) @@ -1704,7 +1704,7 @@ The buffer cursor position is left unchanged otherwise." :group 'vhdl-speedbar) (defcustom vhdl-speedbar-cache-file-name ".emacs-vhdl-cache-\\1-\\2" - "*Name of file for saving hierarchy cache. + "Name of file for saving hierarchy cache. \"\\1\" is replaced by the project name if a project is specified, \"directory\" otherwise. \"\\2\" is replaced by the user name (allows for different users to have cache files in the same directory). Can also have @@ -1718,20 +1718,20 @@ an absolute path (i.e. all caches can be stored in one global directory)." :group 'vhdl) (defcustom vhdl-index-menu nil - "*Non-nil means add an index menu for a source file when loading. + "Non-nil means add an index menu for a source file when loading. Alternatively, the speedbar can be used. Note that the index menu scans a file when it is opened, while speedbar only scans the file upon request." :type 'boolean :group 'vhdl-menu) (defcustom vhdl-source-file-menu nil - "*Non-nil means add a menu of all source files in current directory. + "Non-nil means add a menu of all source files in current directory. Alternatively, the speedbar can be used." :type 'boolean :group 'vhdl-menu) (defcustom vhdl-hideshow-menu nil - "*Non-nil means add hideshow menu and functionality at startup. + "Non-nil means add hideshow menu and functionality at startup. Hideshow can also be enabled from the VHDL Mode menu. Hideshow allows hiding code of various VHDL constructs. @@ -1741,7 +1741,7 @@ NOTE: Activate the new setting in a VHDL buffer by using the menu entry :group 'vhdl-menu) (defcustom vhdl-hide-all-init nil - "*Non-nil means hide all design units initially after a file is loaded." + "Non-nil means hide all design units initially after a file is loaded." :type 'boolean :group 'vhdl-menu) @@ -1751,7 +1751,7 @@ NOTE: Activate the new setting in a VHDL buffer by using the menu entry :group 'vhdl) (defcustom vhdl-print-two-column t - "*Non-nil means print code in two columns and landscape format. + "Non-nil means print code in two columns and landscape format. Adjusts settings in a way that PostScript printing (\"File\" menu, `ps-print') prints VHDL files in a nice two-column landscape style. @@ -1761,7 +1761,7 @@ NOTE: Activate the new setting by restarting Emacs. :group 'vhdl-print) (defcustom vhdl-print-customize-faces t - "*Non-nil means use an optimized set of faces for PostScript printing. + "Non-nil means use an optimized set of faces for PostScript printing. NOTE: Activate the new setting by restarting Emacs. Overrides `ps-print' settings locally." @@ -1774,7 +1774,7 @@ NOTE: Activate the new setting by restarting Emacs. :group 'vhdl) (defcustom vhdl-intelligent-tab t - "*Non-nil means `TAB' does indentation, word completion and tab insertion. + "Non-nil means `TAB' does indentation, word completion and tab insertion. That is, if preceding character is part of a word then complete word, else if not at beginning of line then insert tab, else if last command was a `TAB' or `RET' then dedent one step, @@ -1788,28 +1788,28 @@ NOTE: Activate the new setting in a VHDL buffer by using the menu entry :group 'vhdl-misc) (defcustom vhdl-indent-syntax-based t - "*Non-nil means indent lines of code based on their syntactic context. + "Non-nil means indent lines of code based on their syntactic context. Otherwise, a line is indented like the previous nonblank line. This can be useful in large files where syntax-based indentation gets very slow." :type 'boolean :group 'vhdl-misc) (defcustom vhdl-word-completion-case-sensitive nil - "*Non-nil means word completion using `TAB' is case sensitive. + "Non-nil means word completion using `TAB' is case sensitive. That is, `TAB' completes words that start with the same letters and case. Otherwise, case is ignored." :type 'boolean :group 'vhdl-misc) (defcustom vhdl-word-completion-in-minibuffer t - "*Non-nil enables word completion in minibuffer (for template prompts). + "Non-nil enables word completion in minibuffer (for template prompts). NOTE: Activate the new setting by restarting Emacs." :type 'boolean :group 'vhdl-misc) (defcustom vhdl-underscore-is-part-of-word nil - "*Non-nil means consider the underscore character `_' as part of word. + "Non-nil means consider the underscore character `_' as part of word. An identifier containing underscores is then treated as a single word in select and move operations. All parts of an identifier separated by underscore are treated as single words otherwise. @@ -1844,24 +1844,24 @@ NOTE: Activate the new setting in a VHDL buffer by using the menu entry ;; Internal variables (defvar vhdl-menu-max-size 20 - "*Specifies the maximum size of a menu before splitting it into submenus.") + "Specifies the maximum size of a menu before splitting it into submenus.") (defvar vhdl-progress-interval 1 - "*Interval used to update progress status during long operations. + "Interval used to update progress status during long operations. If a number, percentage complete gets updated after each interval of that many seconds. To inhibit all messages, set this option to nil.") (defvar vhdl-inhibit-startup-warnings-p nil - "*If non-nil, inhibits start up compatibility warnings.") + "If non-nil, inhibits start up compatibility warnings.") (defvar vhdl-strict-syntax-p nil - "*If non-nil, all syntactic symbols must be found in `vhdl-offsets-alist'. + "If non-nil, all syntactic symbols must be found in `vhdl-offsets-alist'. If the syntactic symbol for a particular line does not match a symbol in the offsets alist, an error is generated, otherwise no error is reported and the syntactic symbol is ignored.") (defvar vhdl-echo-syntactic-information-p nil - "*If non-nil, syntactic info is echoed when the line is indented.") + "If non-nil, syntactic info is echoed when the line is indented.") (defconst vhdl-offsets-alist-default '((string . -1000) @@ -1889,7 +1889,7 @@ Do not change this constant! See the variable `vhdl-offsets-alist' for more information.") (defvar vhdl-offsets-alist (copy-alist vhdl-offsets-alist-default) - "*Association list of syntactic element symbols and indentation offsets. + "Association list of syntactic element symbols and indentation offsets. As described below, each cons cell in this list has the form: (SYNTACTIC-SYMBOL . OFFSET) @@ -1950,7 +1950,7 @@ Here is the current list of valid syntactic element symbols: package-body -- inside a package body") (defvar vhdl-comment-only-line-offset 0 - "*Extra offset for line which contains only the start of a comment. + "Extra offset for line which contains only the start of a comment. Can contain an integer or a cons cell of the form: (NON-ANCHORED-OFFSET . ANCHORED-OFFSET) @@ -1961,7 +1961,7 @@ the amount of offset to give column-zero anchored comment-only lines. Just an integer as value is equivalent to (<val> . 0)") (defvar vhdl-special-indent-hook nil - "*Hook for user defined special indentation adjustments. + "Hook for user defined special indentation adjustments. This hook gets called after a line is indented by the mode.") (defvar vhdl-style-alist @@ -2003,7 +2003,7 @@ your style, only those that are different from the default.") (setq vhdl-style-alist (cons default vhdl-style-alist)))) (defvar vhdl-mode-hook nil - "*Hook called by `vhdl-mode'.") + "Hook called by `vhdl-mode'.") ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/lisp/progmodes/which-func.el b/lisp/progmodes/which-func.el index 721c610517a..c8435c14ea2 100644 --- a/lisp/progmodes/which-func.el +++ b/lisp/progmodes/which-func.el @@ -1,6 +1,6 @@ ;;; which-func.el --- print current function in mode line -;; Copyright (C) 1994, 1997-1998, 2001-2012 Free Software Foundation, Inc. +;; Copyright (C) 1994, 1997-1998, 2001-2012 Free Software Foundation, Inc. ;; Author: Alex Rezinsky <alexr@msil.sps.mot.com> ;; (doesn't seem to be responsive any more) @@ -72,14 +72,15 @@ :group 'tools :version "20.3") -(defcustom which-func-modes - '(emacs-lisp-mode c-mode c++-mode perl-mode cperl-mode python-mode - makefile-mode sh-mode fortran-mode f90-mode ada-mode - diff-mode) +(defcustom which-func-modes t + ;; '(emacs-lisp-mode c-mode c++-mode objc-mode perl-mode cperl-mode python-mode + ;; makefile-mode sh-mode fortran-mode f90-mode ada-mode + ;; diff-mode) "List of major modes for which Which Function mode should be used. For other modes it is disabled. If this is equal to t, then Which Function mode is enabled in any major mode that supports it." :group 'which-func + :version "24.2" ; explicit list -> t :type '(choice (const :tag "All modes" t) (repeat (symbol :tag "Major mode")))) diff --git a/lisp/progmodes/xscheme.el b/lisp/progmodes/xscheme.el index 1f50910330c..f9d83da1a3a 100644 --- a/lisp/progmodes/xscheme.el +++ b/lisp/progmodes/xscheme.el @@ -48,7 +48,7 @@ "Name of xscheme buffer that we're currently interacting with.") (defvar xscheme-expressions-ring-max 30 - "*Maximum length of Scheme expressions ring.") + "Maximum length of Scheme expressions ring.") (defvar xscheme-expressions-ring nil "List of expressions recently transmitted to the Scheme process.") @@ -116,12 +116,12 @@ from being inserted into the process-buffer.") :group 'lisp) (defcustom scheme-band-name nil - "*Band loaded by the `run-scheme' command." + "Band loaded by the `run-scheme' command." :type '(choice (const nil) string) :group 'xscheme) (defcustom scheme-program-arguments nil - "*Arguments passed to the Scheme program by the `run-scheme' command." + "Arguments passed to the Scheme program by the `run-scheme' command." :type '(choice (const nil) string) :group 'xscheme) diff --git a/lisp/recentf.el b/lisp/recentf.el index 8b0b36cdddc..636110f41de 100644 --- a/lisp/recentf.el +++ b/lisp/recentf.el @@ -1061,6 +1061,8 @@ Go to the beginning of buffer if not found." (let ((km (copy-keymap recentf--shortcuts-keymap))) (set-keymap-parent km widget-keymap) (define-key km "q" 'recentf-cancel-dialog) + (define-key km "n" 'next-line) + (define-key km "p" 'previous-line) (define-key km [follow-link] "\C-m") km) "Keymap used in recentf dialogs.") diff --git a/lisp/scroll-all.el b/lisp/scroll-all.el index 9ff0a61db2f..fed886c2b55 100644 --- a/lisp/scroll-all.el +++ b/lisp/scroll-all.el @@ -111,7 +111,6 @@ one window apply to all visible windows in the same frame." nil " *SL*" nil :global t :group 'windows - :group 'scrolling (if scroll-all-mode (add-hook 'post-command-hook 'scroll-all-check-to-scroll) (remove-hook 'post-command-hook 'scroll-all-check-to-scroll))) diff --git a/lisp/server.el b/lisp/server.el index ced07714dcf..123fea3743a 100644 --- a/lisp/server.el +++ b/lisp/server.el @@ -139,6 +139,32 @@ directory residing in a NTFS partition instead." ;;;###autoload (put 'server-auth-dir 'risky-local-variable t) +(defcustom server-auth-key nil + "Server authentication key. + +Normally, the authentication key is randomly generated when the +server starts, which guarantees some level of security. It is +recommended to leave it that way. Using a long-lived shared key +will decrease security (especially since the key is transmitted as +plain text). + +In some situations however, it can be difficult to share randomly +generated passwords with remote hosts (eg. no shared directory), +so you can set the key with this variable and then copy the +server file to the remote host (with possible changes to IP +address and/or port if that applies). + +The key must consist of 64 ASCII printable characters except for +space (this means characters from ! to ~; or from code 33 to 126). + +You can use \\[server-generate-key] to get a random authentication +key." + :group 'server + :type '(choice + (const :tag "Random" nil) + (string :tag "Password")) + :version "24.2") + (defcustom server-raise-frame t "If non-nil, raise frame when switching to a buffer." :group 'server @@ -494,41 +520,62 @@ Creates the directory if necessary and makes sure: ;; Check that it's safe for use. (let* ((uid (nth 2 attrs)) (w32 (eq system-type 'windows-nt)) - (safe (catch :safe - (unless (eq t (car attrs)) ; is a dir? - (throw :safe nil)) - (when (and w32 (zerop uid)) ; on FAT32? - (display-warning - 'server - (format "Using `%s' to store Emacs-server authentication files. + (safe (cond + ((not (eq t (car attrs))) nil) ; is a dir? + ((and w32 (zerop uid)) ; on FAT32? + (display-warning + 'server + (format "Using `%s' to store Emacs-server authentication files. Directories on FAT32 filesystems are NOT secure against tampering. See variable `server-auth-dir' for details." - (file-name-as-directory dir)) - :warning) - (throw :safe t)) - (unless (or (= uid (user-uid)) ; is the dir ours? - (and w32 - ;; Files created on Windows by - ;; Administrator (RID=500) have - ;; the Administrators (RID=544) - ;; group recorded as the owner. - (= uid 544) (= (user-uid) 500))) - (throw :safe nil)) - (when w32 ; on NTFS? - (throw :safe t)) - (unless (zerop (logand ?\077 (file-modes dir))) - (throw :safe nil)) - t))) + (file-name-as-directory dir)) + :warning) + t) + ((and (/= uid (user-uid)) ; is the dir ours? + (or (not w32) + ;; Files created on Windows by Administrator + ;; (RID=500) have the Administrators (RID=544) + ;; group recorded as the owner. + (/= uid 544) (/= (user-uid) 500))) + nil) + (w32 t) ; on NTFS? + (t ; else, check permissions + (zerop (logand ?\077 (file-modes dir))))))) (unless safe (error "The directory `%s' is unsafe" dir))))) +(defun server-generate-key () + "Generate and return a random authentication key. +The key is a 64-byte string of random chars in the range `!'..`~'. +If called interactively, also inserts it into current buffer." + (interactive) + (let ((auth-key + (loop repeat 64 + collect (+ 33 (random 94)) into auth + finally return (concat auth)))) + (if (called-interactively-p 'interactive) + (insert auth-key)) + auth-key)) + +(defun server-get-auth-key () + "Return server's authentication key. + +If `server-auth-key' is nil, just call `server-generate-key'. +Otherwise, if `server-auth-key' is a valid key, return it. +If the key is not valid, signal an error." + (if server-auth-key + (if (string-match-p "^[!-~]\\{64\\}$" server-auth-key) + server-auth-key + (error "The key '%s' is invalid" server-auth-key)) + (server-generate-key))) + ;;;###autoload (defun server-start (&optional leave-dead inhibit-prompt) "Allow this Emacs process to be a server for client processes. -This starts a server communications subprocess through which -client \"editors\" can send your editing commands to this Emacs -job. To use the server, set up the program `emacsclient' in the -Emacs distribution as your standard \"editor\". +This starts a server communications subprocess through which client +\"editors\" can send your editing commands to this Emacs job. +To use the server, set up the program `emacsclient' in the Emacs +distribution as your standard \"editor\". Optional argument LEAVE-DEAD (interactively, a prefix arg) means just kill any existing server communications subprocess. @@ -615,13 +662,7 @@ server or call `M-x server-force-delete' to forcibly disconnect it.") (unless server-process (error "Could not start server process")) (process-put server-process :server-file server-file) (when server-use-tcp - (let ((auth-key - (loop - ;; The auth key is a 64-byte string of random chars in the - ;; range `!'..`~'. - repeat 64 - collect (+ 33 (random 94)) into auth - finally return (concat auth)))) + (let ((auth-key (server-get-auth-key))) (process-put server-process :auth-key auth-key) (with-temp-file server-file (set-buffer-multibyte nil) diff --git a/lisp/ses.el b/lisp/ses.el index 0638fc344c7..da18046c953 100644 --- a/lisp/ses.el +++ b/lisp/ses.el @@ -282,6 +282,9 @@ default printer and then modify its output.") ses--numcols ses--numrows ses--symbolic-formulas ses--data-marker ses--params-marker (ses--Dijkstra-attempt-nb . 0) ses--Dijkstra-weight-bound + ;; This list is useful to speed-up clean-up of symbols when + ;; an area containing renamed cell is deleted. + ses--renamed-cell-symb-list ;; Global variables that we override mode-line-process next-line-add-newlines transient-mark-mode) "Buffer-local variables used by SES.") @@ -674,6 +677,17 @@ for this spreadsheet." (put sym 'ses-cell (cons xrow xcol)) (make-local-variable sym))))) +(defun ses-create-cell-variable (sym row col) + "Create a buffer-local variable `SYM' for cell at position (ROW, COL). + +SYM is the symbol for that variable, ROW and COL are integers for +row and column of the cell, with numbering starting from 0. + +Return nil in case of failure." + (unless (local-variable-p sym) + (make-local-variable sym) + (put sym 'ses-cell (cons row col)))) + ;; We do not delete the ses-cell properties for the cell-variables, in ;; case a formula that refers to this cell is in the kill-ring and is ;; later pasted back in. @@ -682,7 +696,10 @@ for this spreadsheet." (let (sym) (dotimes (row (1+ (- maxrow minrow))) (dotimes (col (1+ (- maxcol mincol))) - (setq sym (ses-create-cell-symbol (+ row minrow) (+ col mincol))) + (let ((xrow (+ row minrow)) (xcol (+ col mincol))) + (setq sym (if (and (< xrow ses--numrows) (< xcol ses--numcols)) + (ses-cell-symbol xrow xcol) + (ses-create-cell-symbol xrow xcol)))) (if (boundp sym) (push `(apply ses-set-with-undo ,sym ,(symbol-value sym)) buffer-undo-list)) @@ -1400,7 +1417,8 @@ removed. Example: Sets `ses-relocate-return' to 'delete if cell-references were removed." (let (rowcol result) (if (or (atom formula) (eq (car formula) 'quote)) - (if (setq rowcol (ses-sym-rowcol formula)) + (if (and (setq rowcol (ses-sym-rowcol formula)) + (string-match "\\`[A-Z]+[0-9]+\\'" (symbol-name formula))) (ses-relocate-symbol formula rowcol startrow startcol rowincr colincr) formula) ; Pass through as-is. @@ -1508,14 +1526,15 @@ if the range was altered." the rectangle (MINROW,MINCOL)..(NUMROWS,NUMCOLS) by adding ROWINCR and COLINCR to each symbol." (let (reform) - (let (mycell newval) + (let (mycell newval xrow) (dotimes-with-progress-reporter (row ses--numrows) "Relocating formulas..." (dotimes (col ses--numcols) (setq ses-relocate-return nil mycell (ses-get-cell row col) newval (ses-relocate-formula (ses-cell-formula mycell) - minrow mincol rowincr colincr)) + minrow mincol rowincr colincr) + xrow (- row rowincr)) (ses-set-cell row col 'formula newval) (if (eq ses-relocate-return 'range) ;; This cell contains a (ses-range X Y) where a cell has been @@ -1531,8 +1550,22 @@ to each symbol." minrow mincol rowincr colincr)) (ses-set-cell row col 'references newval) (and (>= row minrow) (>= col mincol) - (ses-set-cell row col 'symbol - (ses-create-cell-symbol row col)))))) + (let ((sym (ses-cell-symbol row col)) + (xcol (- col colincr))) + (if (and + sym + (>= xrow 0) + (>= xcol 0) + (null (eq sym + (ses-create-cell-symbol xrow xcol)))) + ;; This is a renamed cell, do not update the cell + ;; name, but just update the coordinate property. + (put sym 'ses-cell (cons row col)) + (ses-set-cell row col 'symbol + (setq sym (ses-create-cell-symbol row col))) + (unless (and (boundp sym) (local-variable-p sym)) + (set (make-local-variable sym) nil) + (put sym 'ses-cell (cons row col)))))) ))) ;; Relocate the cell values. (let (oldval myrow mycol xrow xcol) (cond @@ -1545,11 +1578,17 @@ to each symbol." (setq mycol (+ col mincol) xrow (- myrow rowincr) xcol (- mycol colincr)) - (if (and (< xrow ses--numrows) (< xcol ses--numcols)) - (setq oldval (ses-cell-value xrow xcol)) - ;; Cell is off the end of the array. - (setq oldval (symbol-value (ses-create-cell-symbol xrow xcol)))) - (ses-set-cell myrow mycol 'value oldval)))) + (let ((sym (ses-cell-symbol myrow mycol)) + (xsym (ses-create-cell-symbol xrow xcol))) + ;; Make the value relocation only when if the cell is not + ;; a renamed cell. Otherwise this is not needed. + (and (eq sym xsym) + (ses-set-cell myrow mycol 'value + (if (and (< xrow ses--numrows) (< xcol ses--numcols)) + (ses-cell-value xrow xcol) + ;;Cell is off the end of the array + (symbol-value xsym)))))))) + ((and (wholenump rowincr) (wholenump colincr)) ;; Insertion of rows and/or columns. Run the loop backwards. (let ((disty (1- ses--numrows)) @@ -1659,7 +1698,6 @@ Does not execute cell formulas or print functions." (message "Upgrading from SES-1 file format"))) (or (= ses--file-format 2) (error "This file needs a newer version of the SES library code")) - (ses-create-cell-variable-range 0 (1- ses--numrows) 0 (1- ses--numcols)) ;; Initialize cell array. (setq ses--cells (make-vector ses--numrows nil)) (dotimes (row ses--numrows) @@ -1679,11 +1717,10 @@ Does not execute cell formulas or print functions." (dotimes (row ses--numrows) (dotimes (col ses--numcols) (let* ((x (read (current-buffer))) - (rowcol (ses-sym-rowcol (car-safe (cdr-safe x))))) + (sym (car-safe (cdr-safe x)))) (or (and (looking-at "\n") (eq (car-safe x) 'ses-cell) - (eq row (car rowcol)) - (eq col (cdr rowcol))) + (ses-create-cell-variable sym row col)) (error "Cell-def error")) (eval x))) (or (looking-at "\n\n") @@ -3140,6 +3177,63 @@ highlighted range in the spreadsheet." (mouse-set-point event) (ses-insert-ses-range)) +(defun ses-replace-name-in-formula (formula old-name new-name) + (let ((new-formula formula)) + (unless (and (consp formula) + (eq (car-safe formula) 'quote)) + (while formula + (let ((elt (car-safe formula))) + (cond + ((consp elt) + (setcar formula (ses-replace-name-in-formula elt old-name new-name))) + ((and (symbolp elt) + (eq (car-safe formula) old-name)) + (setcar formula new-name)))) + (setq formula (cdr formula)))) + new-formula)) + +(defun ses-rename-cell (new-name) + "Rename current cell." + (interactive "*SEnter new name: ") + (ses-check-curcell) + (or + (and (local-variable-p new-name) + (ses-sym-rowcol new-name) + ;; this test is needed because ses-cell property of deleted cells + ;; is not deleted in case of subsequent undo + (memq new-name ses--renamed-cell-symb-list) + (error "Already a cell name")) + (and (boundp new-name) + (null (yes-or-no-p (format "`%S' is already bound outside this buffer, continue? " + new-name))) + (error "Already a bound cell name"))) + (let* ((rowcol (ses-sym-rowcol ses--curcell)) + (cell (ses-get-cell (car rowcol) (cdr rowcol)))) + (put new-name 'ses-cell rowcol) + (dolist (reference (ses-cell-references (car rowcol) (cdr rowcol))) + (let* ((rowcol (ses-sym-rowcol reference)) + (cell (ses-get-cell (car rowcol) (cdr rowcol)))) + (ses-cell-set-formula (car rowcol) + (cdr rowcol) + (ses-replace-name-in-formula + (ses-cell-formula cell) + ses--curcell + new-name)))) + (push new-name ses--renamed-cell-symb-list) + (set new-name (symbol-value ses--curcell)) + (aset cell 0 new-name) + (put ses--curcell 'ses-cell nil) + (makunbound ses--curcell) + (setq ses--curcell new-name) + (let* ((pos (point)) + (inhibit-read-only t) + (col (current-column)) + (end (save-excursion + (move-to-column (1+ col)) + (if (eolp) + (+ pos (ses-col-width col) 1) + (point))))) + (put-text-property pos end 'intangible new-name))) ) ;;---------------------------------------------------------------------------- ;; Checking formulas for safety diff --git a/lisp/simple.el b/lisp/simple.el index 0ee19b71636..67f6e4eedf7 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -2150,7 +2150,7 @@ of `history-length', which see.") "Switch used to have the shell execute its command line argument.") (defvar shell-command-default-error-buffer nil - "*Buffer name for `shell-command' and `shell-command-on-region' error output. + "Buffer name for `shell-command' and `shell-command-on-region' error output. This buffer is used when `shell-command' or `shell-command-on-region' is run interactively. A value of nil means that output to stderr and stdout will be intermixed in the output stream.") @@ -3487,14 +3487,14 @@ and KILLP is t if a prefix arg was specified." "Kill up to and including ARGth occurrence of CHAR. Case is ignored if `case-fold-search' is non-nil in the current buffer. Goes backward if ARG is negative; error if CHAR not found." - (interactive "p\ncZap to char: ") + (interactive (list (prefix-numeric-value current-prefix-arg) + (read-char "Zap to char: " t))) ;; Avoid "obsolete" warnings for translation-table-for-input. (with-no-warnings (if (char-table-p translation-table-for-input) (setq char (or (aref translation-table-for-input char) char)))) (kill-region (point) (progn (search-forward (char-to-string char) nil nil arg) -; (goto-char (if (> arg 0) (1- (point)) (1+ (point)))) (point)))) ;; kill-line and its subroutines. @@ -4405,23 +4405,25 @@ lines." ;; a cleaner solution to the problem of making C-n do something ;; useful given a tall image. (defun line-move (arg &optional noerror to-end try-vscroll) - (unless (and auto-window-vscroll try-vscroll - ;; Only vscroll for single line moves - (= (abs arg) 1) - ;; But don't vscroll in a keyboard macro. - (not defining-kbd-macro) - (not executing-kbd-macro) - (line-move-partial arg noerror to-end)) - (set-window-vscroll nil 0 t) - (if (and line-move-visual - ;; Display-based column are incompatible with goal-column. - (not goal-column) - ;; When the text in the window is scrolled to the left, - ;; display-based motion doesn't make sense (because each - ;; logical line occupies exactly one screen line). - (not (> (window-hscroll) 0))) - (line-move-visual arg noerror) - (line-move-1 arg noerror to-end)))) + (if noninteractive + (forward-line arg) + (unless (and auto-window-vscroll try-vscroll + ;; Only vscroll for single line moves + (= (abs arg) 1) + ;; But don't vscroll in a keyboard macro. + (not defining-kbd-macro) + (not executing-kbd-macro) + (line-move-partial arg noerror to-end)) + (set-window-vscroll nil 0 t) + (if (and line-move-visual + ;; Display-based column are incompatible with goal-column. + (not goal-column) + ;; When the text in the window is scrolled to the left, + ;; display-based motion doesn't make sense (because each + ;; logical line occupies exactly one screen line). + (not (> (window-hscroll) 0))) + (line-move-visual arg noerror) + (line-move-1 arg noerror to-end))))) ;; Display-based alternative to line-move-1. ;; Arg says how many lines to move. The value is t if we can move the @@ -5321,7 +5323,7 @@ Returns t if it really did any work." t))) (defvar comment-line-break-function 'comment-indent-new-line - "*Mode-specific function which line breaks and continues a comment. + "Mode-specific function which line breaks and continues a comment. This function is called during auto-filling when a comment syntax is defined. The function should take a single optional argument, which is a flag @@ -5983,7 +5985,7 @@ in the definition is used to check that VALUE is valid. With a prefix argument, set VARIABLE to VALUE buffer-locally." (interactive (let* ((default-var (variable-at-point)) - (var (if (user-variable-p default-var) + (var (if (custom-variable-p default-var) (read-variable (format "Set variable (default %s): " default-var) default-var) (read-variable "Set variable: "))) diff --git a/lisp/skeleton.el b/lisp/skeleton.el index 0f28d32293b..328f795ecd2 100644 --- a/lisp/skeleton.el +++ b/lisp/skeleton.el @@ -37,7 +37,7 @@ (defvar skeleton-transformation-function 'identity - "*If non-nil, function applied to literal strings before they are inserted. + "If non-nil, function applied to literal strings before they are inserted. It should take strings and characters and return them transformed, or nil which means no transformation. Typical examples might be `upcase' or `capitalize'.") @@ -95,11 +95,11 @@ skeleton elements.") (defvar skeleton-subprompt (substitute-command-keys "RET, \\<minibuffer-local-map>\\[abort-recursive-edit] or \\[help-command]") - "*Replacement for %s in prompts of recursive subskeletons.") + "Replacement for %s in prompts of recursive subskeletons.") (defvar skeleton-debug nil - "*If non-nil `define-skeleton' will override previous definition.") + "If non-nil `define-skeleton' will override previous definition.") (defvar skeleton-positions nil "List of positions marked with @, after skeleton insertion. @@ -456,7 +456,7 @@ automatically, and you are prompted to fill in the variable parts."))) ;; obarray ;; (lambda (symbol) ;; (or (eq symbol 'eval) -;; (user-variable-p symbol))) +;; (custom-variable-p symbol))) ;; t) ;; comment-start str ": " ;; (read-from-minibuffer "Expression: " nil read-expression-map nil @@ -468,13 +468,13 @@ automatically, and you are prompted to fill in the variable parts."))) ;; Variables and command for automatically inserting pairs like () or "". (defvar skeleton-pair nil - "*If this is nil pairing is turned off, no matter what else is set. + "If this is nil pairing is turned off, no matter what else is set. Otherwise modes with `skeleton-pair-insert-maybe' on some keys will attempt to insert pairs of matching characters.") (defvar skeleton-pair-on-word nil - "*If this is nil, paired insertion is inhibited before or inside a word.") + "If this is nil, paired insertion is inhibited before or inside a word.") (defvar skeleton-pair-filter-function (lambda () nil) diff --git a/lisp/speedbar.el b/lisp/speedbar.el index bb1debb4552..9065d9ed131 100644 --- a/lisp/speedbar.el +++ b/lisp/speedbar.el @@ -1,6 +1,6 @@ ;;; speedbar --- quick access to files and tags in a frame -;; Copyright (C) 1996-2012 Free Software Foundation, Inc. +;; Copyright (C) 1996-2012 Free Software Foundation, Inc. ;; Author: Eric M. Ludlam <zappo@gnu.org> ;; Keywords: file, tags, tools @@ -1022,7 +1022,7 @@ supported at a time. (set (make-local-variable 'dframe-delete-frame-function) 'speedbar-handle-delete-frame) ;; hscroll - (set (make-local-variable 'automatic-hscrolling) nil) ; Emacs 21 + (set (make-local-variable 'auto-hscroll-mode) nil) ;; reset the selection variable (setq speedbar-last-selected-file nil)) diff --git a/lisp/startup.el b/lisp/startup.el index 2f72e804892..4a8af55af2f 100644 --- a/lisp/startup.el +++ b/lisp/startup.el @@ -490,13 +490,20 @@ It is the default value of the variable `top-level'." ;; of that dir into load-path, ;; Look for a leim-list.el file too. Loading it will register ;; available input methods. - (let ((tail load-path) dir) + (let ((tail load-path) + (lispdir (expand-file-name "../lisp" data-directory)) + ;; For out-of-tree builds, leim-list is generated in the build dir. +;;; (leimdir (expand-file-name "../leim" doc-directory)) + dir) (while tail (setq dir (car tail)) (let ((default-directory dir)) (load (expand-file-name "subdirs.el") t t t)) - (let ((default-directory dir)) - (load (expand-file-name "leim-list.el") t t t)) + ;; Do not scan standard directories that won't contain a leim-list.el. + ;; http://lists.gnu.org/archive/html/emacs-devel/2009-10/msg00502.html + (or (string-match (concat "\\`" lispdir) dir) + (let ((default-directory dir)) + (load (expand-file-name "leim-list.el") t t t))) ;; We don't use a dolist loop and we put this "setq-cdr" command at ;; the end, because the subdirs.el files may add elements to the end ;; of load-path and we want to take it into account. @@ -1162,38 +1169,6 @@ the `--debug-init' option to view a complete error backtrace." (or mail-host-address (system-name)))))) - ;; Originally face attributes were specified via - ;; `font-lock-face-attributes'. Users then changed the default - ;; face attributes by setting that variable. However, we try and - ;; be back-compatible and respect its value if set except for - ;; faces where M-x customize has been used to save changes for the - ;; face. - (when (boundp 'font-lock-face-attributes) - (let ((face-attributes font-lock-face-attributes)) - (while face-attributes - (let* ((face-attribute (pop face-attributes)) - (face (car face-attribute))) - ;; Rustle up a `defface' SPEC from a - ;; `font-lock-face-attributes' entry. - (unless (get face 'saved-face) - (let ((foreground (nth 1 face-attribute)) - (background (nth 2 face-attribute)) - (bold-p (nth 3 face-attribute)) - (italic-p (nth 4 face-attribute)) - (underline-p (nth 5 face-attribute)) - face-spec) - (when foreground - (setq face-spec (cons ':foreground (cons foreground face-spec)))) - (when background - (setq face-spec (cons ':background (cons background face-spec)))) - (when bold-p - (setq face-spec (append '(:weight bold) face-spec))) - (when italic-p - (setq face-spec (append '(:slant italic) face-spec))) - (when underline-p - (setq face-spec (append '(:underline t) face-spec))) - (face-spec-set face (list (list t face-spec)) nil))))))) - ;; If parameter have been changed in the init file which influence ;; face realization, clear the face cache so that new faces will ;; be realized. diff --git a/lisp/subr.el b/lisp/subr.el index 3b120e6ff6a..8e296aa7422 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -678,7 +678,6 @@ Subkeymaps may be modified but are not canonicalized." ;; Process the bindings starting from the end. (dolist (binding (prog1 bindings (setq bindings ()))) (let* ((key (car binding)) - (item (cdr binding)) (oldbind (assq key bindings))) (push (if (not oldbind) ;; The normal case: no duplicate bindings. @@ -871,6 +870,7 @@ The normal global definition of the character C-x indirects to this keymap.") (defsubst eventp (obj) "True if the argument is an event object." (or (and (integerp obj) + ;; FIXME: Why bother? ;; Filter out integers too large to be events. ;; M is the biggest modifier. (zerop (logand obj (lognot (1- (lsh ?\M-\^@ 1))))) @@ -1967,7 +1967,7 @@ It can be retrieved with `(process-get PROCESS PROPNAME)'." ;;;; Input and display facilities. (defvar read-quoted-char-radix 8 - "*Radix for \\[quoted-insert] and other uses of `read-quoted-char'. + "Radix for \\[quoted-insert] and other uses of `read-quoted-char'. Legitimate radix values are 8, 10 and 16.") (custom-declare-variable-early @@ -1988,6 +1988,10 @@ obey the input decoding and translations usually done by `read-key-sequence'. So escape sequences and keyboard encoding are taken into account. When there's an ambiguity because the key looks like the prefix of some sort of escape sequence, the ambiguity is resolved via `read-key-delay'." + ;; This overriding-terminal-local-map binding also happens to + ;; disable quail's input methods, so although read-key-sequence + ;; always inherits the input method, in practice read-key does not + ;; inherit the input method (at least not if it's based on quail). (let ((overriding-terminal-local-map read-key-empty-map) (overriding-local-map nil) (echo-keystrokes 0) @@ -2092,77 +2096,45 @@ Optional DEFAULT is a default password to use instead of empty input. This function echoes `.' for each character that the user types. -The user ends with RET, LFD, or ESC. DEL or C-h rubs out. -C-y yanks the current kill. C-u kills line. -C-g quits; if `inhibit-quit' was non-nil around this function, -then it returns nil if the user types C-g, but `quit-flag' remains set. - Once the caller uses the password, it can erase the password by doing (clear-string STRING)." - (with-local-quit - (if confirm - (let (success) - (while (not success) - (let ((first (read-passwd prompt nil default)) - (second (read-passwd "Confirm password: " nil default))) - (if (equal first second) - (progn - (and (arrayp second) (clear-string second)) - (setq success first)) - (and (arrayp first) (clear-string first)) - (and (arrayp second) (clear-string second)) - (message "Password not repeated accurately; please start over") - (sit-for 1)))) - success) - (let ((pass nil) - ;; Copy it so that add-text-properties won't modify - ;; the object that was passed in by the caller. - (prompt (copy-sequence prompt)) - (c 0) - (echo-keystrokes 0) - (cursor-in-echo-area t) - (message-log-max nil) - (stop-keys (list 'return ?\r ?\n ?\e)) - (rubout-keys (list 'backspace ?\b ?\177))) - (add-text-properties 0 (length prompt) - minibuffer-prompt-properties prompt) - (while (progn (message "%s%s" - prompt - (make-string (length pass) ?.)) - (setq c (read-key)) - (not (memq c stop-keys))) - (clear-this-command-keys) - (cond ((memq c rubout-keys) ; rubout - (when (> (length pass) 0) - (let ((new-pass (substring pass 0 -1))) - (and (arrayp pass) (clear-string pass)) - (setq pass new-pass)))) - ((eq c ?\C-g) (keyboard-quit)) - ((not (numberp c))) - ((= c ?\C-u) ; kill line - (and (arrayp pass) (clear-string pass)) - (setq pass "")) - ((= c ?\C-y) ; yank - (let* ((str (condition-case nil - (current-kill 0) - (error nil))) - new-pass) - (when str - (setq new-pass - (concat pass - (substring-no-properties str))) - (and (arrayp pass) (clear-string pass)) - (setq c ?\0) - (setq pass new-pass)))) - ((characterp c) ; insert char - (let* ((new-char (char-to-string c)) - (new-pass (concat pass new-char))) - (and (arrayp pass) (clear-string pass)) - (clear-string new-char) - (setq c ?\0) - (setq pass new-pass))))) - (message nil) - (or pass default ""))))) + (if confirm + (let (success) + (while (not success) + (let ((first (read-passwd prompt nil default)) + (second (read-passwd "Confirm password: " nil default))) + (if (equal first second) + (progn + (and (arrayp second) (clear-string second)) + (setq success first)) + (and (arrayp first) (clear-string first)) + (and (arrayp second) (clear-string second)) + (message "Password not repeated accurately; please start over") + (sit-for 1)))) + success) + (let (minibuf) + (minibuffer-with-setup-hook + (lambda () + (setq minibuf (current-buffer)) + ;; Turn off electricity. + (set (make-local-variable 'post-self-insert-hook) nil) + (add-hook 'after-change-functions + (lambda (beg end _len) + (clear-this-command-keys) + (setq beg (min end (max (minibuffer-prompt-end) + beg))) + (dotimes (i (- end beg)) + (put-text-property (+ i beg) (+ 1 i beg) + 'display (string ?.)))) + nil t)) + (unwind-protect + (read-string prompt nil + (let ((sym (make-symbol "forget-history"))) + (set sym nil) + sym) + default) + (when (buffer-live-p minibuf) + (with-current-buffer minibuf (erase-buffer)))))))) ;; This should be used by `call-interactively' for `n' specs. (defun read-number (prompt &optional default) @@ -3558,8 +3530,7 @@ of STRING. To replace only the first match (if any), make REGEXP match up to \\' and replace a sub-expression, e.g. (replace-regexp-in-string \"\\\\(foo\\\\).*\\\\'\" \"bar\" \" foo foo\" nil nil 1) - => \" bar foo\" -" + => \" bar foo\"" ;; To avoid excessive consing from multiple matches in long strings, ;; don't just call `replace-match' continually. Walk down the diff --git a/lisp/tar-mode.el b/lisp/tar-mode.el index 3eb2be15698..7c95f47e0fb 100644 --- a/lisp/tar-mode.el +++ b/lisp/tar-mode.el @@ -549,6 +549,7 @@ MODE should be an integer which is a file mode value." (define-key map "R" 'tar-rename-entry) (define-key map "u" 'tar-unflag) (define-key map "v" 'tar-view) + (define-key map "w" 'woman-tar-extract-file) (define-key map "x" 'tar-expunge) (define-key map "\177" 'tar-unflag-backwards) (define-key map "E" 'tar-extract-other-window) @@ -566,6 +567,8 @@ MODE should be an integer which is a file mode value." (define-key map [menu-bar immediate] (cons "Immediate" (make-sparse-keymap "Immediate"))) + (define-key map [menu-bar immediate woman] + '("Read Man Page (WoMan)" . woman-tar-extract-file)) (define-key map [menu-bar immediate view] '("View This File" . tar-view)) (define-key map [menu-bar immediate display] @@ -677,6 +680,8 @@ See also: variables `tar-update-datestamp' and `tar-anal-blocksize'. (fundamental-mode) (signal (car err) (cdr err))))) +(autoload 'woman-tar-extract-file "woman" + "In tar mode, run the WoMan man-page browser on this file." t) (define-minor-mode tar-subfile-mode "Minor mode for editing an element of a tar-file. diff --git a/lisp/term/w32-win.el b/lisp/term/w32-win.el index abfaafd9740..3e1c4161667 100644 --- a/lisp/term/w32-win.el +++ b/lisp/term/w32-win.el @@ -210,7 +210,8 @@ See the documentation of `create-fontset-from-fontset-spec' for the format.") '(gdk-pixbuf "libgdk_pixbuf-2.0-0.dll") '(glib "libglib-2.0-0.dll") '(gobject "libgobject-2.0-0.dll") - '(gnutls "libgnutls-28.dll" "libgnutls-26.dll"))) + '(gnutls "libgnutls-28.dll" "libgnutls-26.dll") + '(libxml2 "libxml2-2.dll" "libxml2.dll"))) ;;; multi-tty support (defvar w32-initialized nil diff --git a/lisp/textmodes/artist.el b/lisp/textmodes/artist.el index 72ae44bb60d..76d03dd164f 100644 --- a/lisp/textmodes/artist.el +++ b/lisp/textmodes/artist.el @@ -349,7 +349,7 @@ Example: (defvar artist-pointer-shape (if (eq window-system 'x) x-pointer-crosshair nil) - "*If in X Windows, use this pointer shape while drawing with the mouse.") + "If in X Windows, use this pointer shape while drawing with the mouse.") (defcustom artist-text-renderer-function 'artist-figlet @@ -397,13 +397,13 @@ Example: ;; This is a defvar, not a defcustom, since the custom ;; package shows lists of characters as a lists of integers, ;; which is confusing - "*Characters (``color'') to use when spraying. + "Characters (``color'') to use when spraying. They should be ordered from the ``lightest'' to the ``heaviest'' since spraying replaces a light character with the next heavier one.") (defvar artist-spray-new-char ?. - "*Initial character to use when spraying. + "Initial character to use when spraying. This character is used if spraying upon a character that is not in `artist-spray-chars'. The character defined by this variable should be in `artist-spray-chars', or spraying will behave strangely.") @@ -1197,9 +1197,9 @@ PREV-OP-ARG are used when invoked recursively during the build-up." ;;; --------------------------------- ;;;###autoload -(defun artist-mode (&optional state) +(define-minor-mode artist-mode "Toggle Artist mode. -With argument STATE, turn Artist mode on if STATE is positive. +With argument ARG, turn Artist mode on if ARG is positive. Artist lets you draw lines, squares, rectangles and poly-lines, ellipses and circles with your mouse and/or keyboard. @@ -1388,36 +1388,24 @@ Variables Hooks - When entering artist-mode, the hook `artist-mode-init-hook' is called. - When quitting artist-mode, the hook `artist-mode-exit-hook' is called. + Turning the mode on or off runs `artist-mode-hook'. Keymap summary \\{artist-mode-map}" - (interactive) - (if (setq artist-mode - (if (null state) (not artist-mode) - (> (prefix-numeric-value state) 0))) - (artist-mode-init) - (artist-mode-exit))) - -;; insert our minor mode string -(or (assq 'artist-mode minor-mode-alist) - (setq minor-mode-alist - (cons '(artist-mode artist-mode-name) - minor-mode-alist))) - -;; insert our minor mode keymap -(or (assq 'artist-mode minor-mode-map-alist) - (setq minor-mode-map-alist - (cons (cons 'artist-mode artist-mode-map) - minor-mode-map-alist))) - + :init-value nil :group 'artist :lighter artist-mode-name + :keymap artist-mode-map + (cond ((null artist-mode) + ;; Turn mode off + (artist-mode-exit)) + (t + ;; Turn mode on + (artist-mode-init)))) ;; Init and exit (defun artist-mode-init () - "Init Artist mode. This will call the hook `artist-mode-init-hook'." + "Init Artist mode. This will call the hook `artist-mode-hook'." ;; Set up a conversion table for mapping tabs and new-lines to spaces. ;; the last case, 0, is for the last position in buffer/region, where ;; the `following-char' function returns 0. @@ -1459,15 +1447,13 @@ Keymap summary (progn (picture-mode) (message ""))) - (run-hooks 'artist-mode-init-hook) (artist-mode-line-show-curr-operation artist-key-is-drawing)) (defun artist-mode-exit () - "Exit Artist mode. This will call the hook `artist-mode-exit-hook'." + "Exit Artist mode. This will call the hook `artist-mode-hook'." (if (and artist-picture-compatibility (eq major-mode 'picture-mode)) (picture-mode-exit)) - (kill-local-variable 'next-line-add-newlines) - (run-hooks 'artist-mode-exit-hook)) + (kill-local-variable 'next-line-add-newlines)) (defun artist-mode-off () "Turn Artist mode off." diff --git a/lisp/textmodes/bib-mode.el b/lisp/textmodes/bib-mode.el index 01733f97042..c8881fa5f9d 100644 --- a/lisp/textmodes/bib-mode.el +++ b/lisp/textmodes/bib-mode.el @@ -137,7 +137,7 @@ with the cdr.") (defcustom bib-auto-capitalize t - "*True to automatically capitalize appropriate fields in Bib mode." + "True to automatically capitalize appropriate fields in Bib mode." :type 'boolean :group 'bib) diff --git a/lisp/textmodes/bibtex.el b/lisp/textmodes/bibtex.el index a873680a8c8..87a32ad47a9 100644 --- a/lisp/textmodes/bibtex.el +++ b/lisp/textmodes/bibtex.el @@ -917,7 +917,7 @@ to the directories specified in `bibtex-string-file-path'." :type '(repeat file)) (defvar bibtex-string-file-path (getenv "BIBINPUTS") - "*Colon separated list of paths to search for `bibtex-string-files'.") + "Colon separated list of paths to search for `bibtex-string-files'.") (defcustom bibtex-files nil "List of BibTeX files that are searched for entry keys. @@ -931,7 +931,7 @@ See also `bibtex-search-entry-globally'." directory file))) (defvar bibtex-file-path (getenv "BIBINPUTS") - "*Colon separated list of paths to search for `bibtex-files'.") + "Colon separated list of paths to search for `bibtex-files'.") (defcustom bibtex-search-entry-globally nil "If non-nil, interactive calls of `bibtex-search-entry' search globally. @@ -1614,7 +1614,7 @@ Initialized by `bibtex-set-dialect'.") ,@(mapcar (lambda (matcher) `((lambda (bound) (bibtex-font-lock-cite ',matcher bound)))) bibtex-cite-matcher-alist)) - "*Default expressions to highlight in BibTeX mode.") + "Default expressions to highlight in BibTeX mode.") (defvar bibtex-font-lock-url-regexp ;; Assume that field names begin at the beginning of a line. diff --git a/lisp/textmodes/fill.el b/lisp/textmodes/fill.el index 08254c6f5f7..d0e90c99516 100644 --- a/lisp/textmodes/fill.el +++ b/lisp/textmodes/fill.el @@ -1011,7 +1011,8 @@ space does not end a sentence, so don't break a line there." (if current-prefix-arg 'full)))) (unless (memq justify '(t nil none full center left right)) (setq justify 'full)) - (let (max beg fill-pfx) + (let ((start-point (point-marker)) + max beg fill-pfx) (goto-char (max from to)) (when to-eop (skip-chars-backward "\n") @@ -1042,6 +1043,8 @@ space does not end a sentence, so don't break a line there." (setq fill-pfx (fill-region-as-paragraph (point) end justify nosqueeze)) (goto-char end)))) + (goto-char start-point) + (set-marker start-point nil) fill-pfx)) diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el index 930fda0626b..72a3eb474f8 100644 --- a/lisp/textmodes/flyspell.el +++ b/lisp/textmodes/flyspell.el @@ -436,7 +436,7 @@ like <img alt=\"Some thing.\">." ;; dash character machinery (defvar flyspell-consider-dash-as-word-delimiter-flag nil - "*Non-nil means that the `-' char is considered as a word delimiter.") + "Non-nil means that the `-' char is considered as a word delimiter.") (make-variable-buffer-local 'flyspell-consider-dash-as-word-delimiter-flag) (defvar flyspell-dash-dictionary nil) (make-variable-buffer-local 'flyspell-dash-dictionary) @@ -1576,10 +1576,11 @@ The buffer to mark them in is `flyspell-large-region-buffer'." (if ispell-encoding8-command (setq args (append args - (list - (concat ispell-encoding8-command - (symbol-name - encoding)))))) + (if ispell-really-hunspell + (list ispell-encoding8-command + (upcase (symbol-name encoding))) + (list (concat ispell-encoding8-command + (symbol-name encoding))))))) (let ((process-coding-system-alist (list (cons "\\.*" encoding)))) (setq c (apply 'ispell-call-process-region beg diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el index 4d061fed32b..53822694698 100644 --- a/lisp/textmodes/ispell.el +++ b/lisp/textmodes/ispell.el @@ -277,13 +277,13 @@ full featured `looking-back' function is missing." ;;; ******* THIS FILE IS WRITTEN FOR ISPELL VERSION 3.1+ (defcustom ispell-highlight-p 'block - "*Highlight spelling errors when non-nil. + "Highlight spelling errors when non-nil. When set to `block', assumes a block cursor with TTY displays." :type '(choice (const block) (const :tag "off" nil) (const :tag "on" t)) :group 'ispell) (defcustom ispell-lazy-highlight (boundp 'lazy-highlight-cleanup) - "*Controls the lazy-highlighting of spelling errors. + "Controls the lazy-highlighting of spelling errors. When non-nil, all text in the buffer matching the current spelling error is highlighted lazily using isearch lazy highlighting (see `lazy-highlight-initial-delay' and `lazy-highlight-interval')." @@ -293,7 +293,7 @@ error is highlighted lazily using isearch lazy highlighting (see :version "22.1") (defcustom ispell-highlight-face (if ispell-lazy-highlight 'isearch 'highlight) - "*The face used for Ispell highlighting. For Emacsen with overlays. + "The face used for Ispell highlighting. For Emacsen with overlays. Possible values are `highlight', `modeline', `secondary-selection', `region', and `underline'. This variable can be set by the user to whatever face they desire. @@ -303,7 +303,7 @@ slightly different." :group 'ispell) (defcustom ispell-check-comments t - "*Spelling of comments checked when non-nil. + "Spelling of comments checked when non-nil. When set to `exclusive', ONLY comments are checked. (For code comments). Warning! Not checking comments, when a comment start is embedded in strings, may produce undesired results." @@ -314,13 +314,13 @@ may produce undesired results." (lambda (a) (memq a '(nil t exclusive)))) (defcustom ispell-query-replace-choices nil - "*Corrections made throughout region when non-nil. + "Corrections made throughout region when non-nil. Uses `query-replace' (\\[query-replace]) for corrections." :type 'boolean :group 'ispell) (defcustom ispell-skip-tib nil - "*Does not spell check `tib' bibliography references when non-nil. + "Does not spell check `tib' bibliography references when non-nil. Skips any text between strings matching regular expressions `ispell-tib-ref-beginning' and `ispell-tib-ref-end'. @@ -337,13 +337,13 @@ That includes the [.5mm] type of number..." "Regexp matching the end of a Tib reference.") (defcustom ispell-keep-choices-win t - "*If non-nil, keep the `*Choices*' window for the entire spelling session. + "If non-nil, keep the `*Choices*' window for the entire spelling session. This minimizes redisplay thrashing." :type 'boolean :group 'ispell) (defcustom ispell-choices-win-default-height 2 - "*The default size of the `*Choices*' window, including the mode line. + "The default size of the `*Choices*' window, including the mode line. Must be greater than 1." :type 'integer :group 'ispell) @@ -366,18 +366,18 @@ Must be greater than 1." ((file-readable-p "/usr/share/lib/dict/words") "/usr/share/lib/dict/words") ((file-readable-p "/sys/dict") "/sys/dict")) - "*Alternate plain word-list dictionary for spelling help." + "Alternate plain word-list dictionary for spelling help." :type '(choice file (const :tag "None" nil)) :group 'ispell) (defcustom ispell-complete-word-dict nil - "*Plain word-list dictionary used for word completion if + "Plain word-list dictionary used for word completion if different from `ispell-alternate-dictionary'." :type '(choice file (const :tag "None" nil)) :group 'ispell) (defcustom ispell-message-dictionary-alist nil - "*List used by `ispell-message' to select a new dictionary. + "List used by `ispell-message' to select a new dictionary. It consists of pairs (REGEXP . DICTIONARY). If REGEXP is found in the message headers, `ispell-local-dictionary' will be set to DICTIONARY if `ispell-local-dictionary' is not buffer-local. @@ -389,7 +389,7 @@ E.g. you may use the following value: (defcustom ispell-message-fcc-skip 50000 - "*Query before saving Fcc message copy if attachment larger than this value. + "Query before saving Fcc message copy if attachment larger than this value. Always stores Fcc copy of message when nil." :type '(choice integer (const :tag "off" nil)) :group 'ispell) @@ -423,13 +423,13 @@ This must be an absolute file name." :group 'ispell) (defcustom ispell-look-p (file-exists-p ispell-look-command) - "*Non-nil means use `look' rather than `grep'. + "Non-nil means use `look' rather than `grep'. Default is based on whether `look' seems to be available." :type 'boolean :group 'ispell) (defcustom ispell-have-new-look nil - "*Non-nil means use the `-r' option (regexp) when running `look'." + "Non-nil means use the `-r' option (regexp) when running `look'." :type 'boolean :group 'ispell) @@ -445,13 +445,13 @@ When nil, Emacs uses pipes." :group 'ispell) (defcustom ispell-following-word nil - "*Non-nil means `ispell-word' checks the word around or after point. + "Non-nil means `ispell-word' checks the word around or after point. Otherwise `ispell-word' checks the preceding word." :type 'boolean :group 'ispell) (defcustom ispell-help-in-bufferp nil - "*Non-nil means display interactive keymap help in a buffer. + "Non-nil means display interactive keymap help in a buffer. The following values are supported: nil Expand the minibuffer and display a short help message there for a couple of seconds. @@ -463,12 +463,12 @@ The following values are supported: :group 'ispell) (defcustom ispell-quietly nil - "*Non-nil means suppress messages in `ispell-word'." + "Non-nil means suppress messages in `ispell-word'." :type 'boolean :group 'ispell) (defcustom ispell-format-word-function (function upcase) - "*Formatting function for displaying word being spell checked. + "Formatting function for displaying word being spell checked. The function must take one string argument and return a string." :type 'function :group 'ispell) @@ -484,7 +484,7 @@ window system by evaluating the following on startup to set this variable: ;;;###autoload (defcustom ispell-personal-dictionary nil - "*File name of your personal spelling dictionary, or nil. + "File name of your personal spelling dictionary, or nil. If nil, the default personal dictionary, (\"~/.ispell_DICTNAME\" for ispell or \"~/.aspell.LANG.pws\" for aspell) is used, where DICTNAME is the name of your default dictionary and LANG the two letter language code." @@ -493,7 +493,7 @@ default dictionary and LANG the two letter language code." :group 'ispell) (defcustom ispell-silently-savep nil - "*When non-nil, save personal dictionary without asking for confirmation." + "When non-nil, save personal dictionary without asking for confirmation." :type 'boolean :group 'ispell) @@ -527,7 +527,7 @@ is automatically set when defined in the file with either :group 'ispell) (defcustom ispell-extra-args nil - "*If non-nil, a list of extra switches to pass to the Ispell program. + "If non-nil, a list of extra switches to pass to the Ispell program. For example, (\"-W\" \"3\") to cause it to accept all 1-3 character words as correct. See also `ispell-dictionary-alist', which may be used for language-specific arguments." @@ -537,7 +537,7 @@ for language-specific arguments." (defcustom ispell-skip-html 'use-mode-name - "*Indicates whether ispell should skip spell checking of SGML markup. + "Indicates whether ispell should skip spell checking of SGML markup. If t, always skip SGML markup; if nil, never skip; if non-t and non-nil, guess whether SGML markup should be skipped according to the name of the buffer's major mode." @@ -549,7 +549,7 @@ buffer's major mode." (defcustom ispell-local-dictionary-alist nil - "*List of local or customized dictionary definitions. + "List of local or customized dictionary definitions. These can override the values in `ispell-dictionary-alist'. To make permanent changes to your dictionary definitions, you @@ -574,12 +574,12 @@ re-start Emacs." (defvar ispell-dictionary-base-alist - '((nil + '((nil ; default ;; The default dictionary. It may be English.aff, or any other ;; dictionary depending on locale and such things. We should probably ;; ask ispell what dictionary it's using, but until we do that, let's - ;; just use an approximate regexp. - "[[:alpha:]]" "[^[:alpha:]]" "[']" nil ("-B") nil iso-8859-1) + ;; just use a minimal regexp. [:alpha:] will later be set if possible. + "[A-Za-z]" "[^A-Za-z]" "[']" nil ("-B") nil iso-8859-1) ("american" ; Yankee English "[A-Za-z]" "[^A-Za-z]" "[']" nil ("-B") nil iso-8859-1) ("brasileiro" ; Brazilian mode @@ -767,6 +767,12 @@ here just for backwards compatibility.") (make-obsolete-variable 'ispell-aspell-supports-utf8 'ispell-encoding8-command "23.1") +(defvar ispell-emacs-alpha-regexp + (if (string-match "^[[:alpha:]]+$" "abcde") + "[[:alpha:]]" + nil) + "[[:alpha:]] if Emacs supports [:alpha:] regexp, nil +otherwise (current XEmacs does not support it).") ;;; ********************************************************************** ;;; The following are used by ispell, and should not be changed. @@ -875,7 +881,7 @@ Otherwise returns the library directory name, if that is defined." (setq ispell-really-aspell nil))) (ispell-really-hunspell (if (ispell-check-minver hunspell8-minver ispell-really-hunspell) - (setq ispell-encoding8-command "-i ") + (setq ispell-encoding8-command "-i") (setq ispell-really-hunspell nil)))))) result)) @@ -1092,8 +1098,7 @@ aspell is used along with Emacs).") (error nil)) ispell-really-aspell ispell-encoding8-command - ;; XEmacs does not like [:alpha:] regexps. - (string-match "^[[:alpha:]]+$" "abcde")) + ispell-emacs-alpha-regexp) (unless ispell-aspell-dictionary-alist (ispell-find-aspell-dictionaries))) @@ -1117,8 +1122,27 @@ aspell is used along with Emacs).") ispell-dictionary-base-alist)) (unless (assoc (car dict) all-dicts-alist) (add-to-list 'all-dicts-alist dict))) - (setq ispell-dictionary-alist all-dicts-alist)))) - + (setq ispell-dictionary-alist all-dicts-alist)) + + ;; If Emacs flavor supports [:alpha:] use it for global dicts. If + ;; spellchecker also supports UTF-8 via command-line option use it + ;; in communication. This does not affect definitions in ~/.emacs. + (if ispell-emacs-alpha-regexp + (let (tmp-dicts-alist) + (dolist (adict ispell-dictionary-alist) + (add-to-list 'tmp-dicts-alist + (list + (nth 0 adict) ; dict name + "[[:alpha:]]" ; casechars + "[^[:alpha:]]" ; not-casechars + (nth 3 adict) ; otherchars + (nth 4 adict) ; many-otherchars-p + (nth 5 adict) ; ispell-args + (nth 6 adict) ; extended-character-mode + (if ispell-encoding8-command + 'utf-8 + (nth 7 adict))))) + (setq ispell-dictionary-alist tmp-dicts-alist))))) (defun ispell-valid-dictionary-list () "Return a list of valid dictionaries. @@ -1471,7 +1495,7 @@ Valid forms include: ("list" ispell-tex-arg-end 2) ("program" . "\\\\end[ \t\n]*{[ \t\n]*program[ \t\n]*}") ("verbatim\\*?" . "\\\\end[ \t\n]*{[ \t\n]*verbatim\\*?[ \t\n]*}")))) - "*Lists of regions to be skipped in TeX mode. + "Lists of regions to be skipped in TeX mode. First list is used raw. Second list has key placed inside \\begin{}. @@ -1490,7 +1514,7 @@ for skipping in latex mode.") ("<[tT][tT]/" "/") ("<[^ \t\n>]" ">") ("&[^ \t\n;]" "[; \t\n]")) - "*Lists of start and end keys to skip in HTML buffers. + "Lists of start and end keys to skip in HTML buffers. Same format as `ispell-skip-region-alist'. Note - substrings of other matches must come last (e.g. \"<[tT][tT]/\" and \"<[^ \\t\\n>]\").") @@ -1514,7 +1538,7 @@ local variable syntax.") Ispell is then restarted because the local words could conflict.") (defvar ispell-parser 'use-mode-name - "*Indicates whether ispell should parse the current buffer as TeX Code. + "Indicates whether ispell should parse the current buffer as TeX Code. Special value `use-mode-name' tries to guess using the name of `major-mode'. Default parser is `nroff'. Currently the only other valid parser is `tex'. @@ -2619,9 +2643,12 @@ Keeps argument list for future ispell invocations for no async support." ;; right encoding for communication. ispell or older aspell/hunspell ;; does not support this. (if ispell-encoding8-command - (list - (concat ispell-encoding8-command - (symbol-name (ispell-get-coding-system))))) + (if ispell-really-hunspell + (list ispell-encoding8-command + (upcase (symbol-name (ispell-get-coding-system)))) + (list + (concat ispell-encoding8-command + (symbol-name (ispell-get-coding-system)))))) ispell-extra-args))) ;; Initially we don't know any buffer's local words. @@ -3528,7 +3555,7 @@ Don't read buffer-local settings or word lists." ;; Matches commonly used "cut" boundaries "^\\(- \\)?[-=_]+\\s ?\\(cut here\\|Environment Follows\\)") "\\|") - "*Text beyond which `ispell-message' will not spell-check. + "Text beyond which `ispell-message' will not spell-check. If it is a string, limit is the first occurrence of that regular expression. Otherwise, it must be a function which is called to get the limit.") (put 'ispell-message-text-end 'risky-local-variable t) diff --git a/lisp/textmodes/picture.el b/lisp/textmodes/picture.el index 9e8cbb216d1..191e9f3672b 100644 --- a/lisp/textmodes/picture.el +++ b/lisp/textmodes/picture.el @@ -63,15 +63,17 @@ ;; Picture Movement Commands -;; When a cursor is on a wide-column character (e.g. Chinese, -;; Japanese, Korean), this variable tells the desired current column -;; which may be different from (current-column). -(defvar picture-desired-column 0) - -;; If the value of picture-desired-column is far from the current -;; column, or if the arg ADJUST-TO-CURRENT is non-nil, set it to the -;; current column. Return the current column. +(defvar picture-desired-column 0 + "Desired current column for Picture mode. +When a cursor is on a wide-column character (e.g. Chinese, +Japanese, Korean), this may may be different from `current-column'.") + + (defun picture-update-desired-column (adjust-to-current) + "Maybe update `picture-desired-column'. +If the value of `picture-desired-column' is more than one column +from `current-column', or if the argument ADJUST-TO-CURRENT is +non-nil, set it to the current column. Return `current-column'." (let ((current-column (current-column))) (if (or adjust-to-current (< picture-desired-column (1- current-column)) @@ -240,8 +242,7 @@ Use \"\\[command-apropos] picture-movement\" to see commands which control motio (spacing (when (display-graphic-p frame) (or (with-current-buffer (window-buffer window) line-spacing) - (frame-parameter frame 'line-spacing)))) - rows cols) + (frame-parameter frame 'line-spacing))))) (cond ((floatp spacing) (setq spacing (truncate (* spacing char-ht)))) ((null spacing) @@ -606,64 +607,61 @@ Leaves the region surrounding the rectangle." (defalias 'picture-delete-char 'delete-char) -(defvar picture-mode-map nil) - -(defun picture-substitute (oldfun newfun) - (define-key picture-mode-map (vector 'remap oldfun) newfun)) - -(if (not picture-mode-map) - (progn - (setq picture-mode-map (make-keymap)) - (picture-substitute 'self-insert-command 'picture-self-insert) - (picture-substitute 'completion-separator-self-insert-command - 'picture-self-insert) - (picture-substitute 'completion-separator-self-insert-autofilling - 'picture-self-insert) - (picture-substitute 'forward-char 'picture-forward-column) - (picture-substitute 'backward-char 'picture-backward-column) - (picture-substitute 'delete-char 'picture-clear-column) - ;; There are two possibilities for what is normally on DEL. - (picture-substitute 'backward-delete-char-untabify 'picture-backward-clear-column) - (picture-substitute 'delete-backward-char 'picture-backward-clear-column) - (picture-substitute 'kill-line 'picture-clear-line) - (picture-substitute 'open-line 'picture-open-line) - (picture-substitute 'newline 'picture-newline) - (picture-substitute 'newline-and-indent 'picture-duplicate-line) - (picture-substitute 'next-line 'picture-move-down) - (picture-substitute 'previous-line 'picture-move-up) - (picture-substitute 'move-beginning-of-line 'picture-beginning-of-line) - (picture-substitute 'move-end-of-line 'picture-end-of-line) - (picture-substitute 'mouse-set-point 'picture-mouse-set-point) - - (define-key picture-mode-map "\C-c\C-d" 'picture-delete-char) - (define-key picture-mode-map "\e\t" 'picture-toggle-tab-state) - (define-key picture-mode-map "\t" 'picture-tab) - (define-key picture-mode-map "\e\t" 'picture-tab-search) - (define-key picture-mode-map "\C-c\t" 'picture-set-tab-stops) - (define-key picture-mode-map "\C-c\C-k" 'picture-clear-rectangle) - (define-key picture-mode-map "\C-c\C-w" 'picture-clear-rectangle-to-register) - (define-key picture-mode-map "\C-c\C-y" 'picture-yank-rectangle) - (define-key picture-mode-map "\C-c\C-x" 'picture-yank-rectangle-from-register) - (define-key picture-mode-map "\C-c\C-r" 'picture-draw-rectangle) - (define-key picture-mode-map "\C-c\C-c" 'picture-mode-exit) - (define-key picture-mode-map "\C-c\C-f" 'picture-motion) - (define-key picture-mode-map "\C-c\C-b" 'picture-motion-reverse) - (define-key picture-mode-map "\C-c<" 'picture-movement-left) - (define-key picture-mode-map "\C-c>" 'picture-movement-right) - (define-key picture-mode-map "\C-c^" 'picture-movement-up) - (define-key picture-mode-map "\C-c." 'picture-movement-down) - (define-key picture-mode-map "\C-c`" 'picture-movement-nw) - (define-key picture-mode-map "\C-c'" 'picture-movement-ne) - (define-key picture-mode-map "\C-c/" 'picture-movement-sw) - (define-key picture-mode-map "\C-c\\" 'picture-movement-se) - (define-key picture-mode-map [(control ?c) left] 'picture-movement-left) - (define-key picture-mode-map [(control ?c) right] 'picture-movement-right) - (define-key picture-mode-map [(control ?c) up] 'picture-movement-up) - (define-key picture-mode-map [(control ?c) down] 'picture-movement-down) - (define-key picture-mode-map [(control ?c) home] 'picture-movement-nw) - (define-key picture-mode-map [(control ?c) prior] 'picture-movement-ne) - (define-key picture-mode-map [(control ?c) end] 'picture-movement-sw) - (define-key picture-mode-map [(control ?c) next] 'picture-movement-se))) +(defvar picture-mode-map + (let ((map (make-keymap))) + (define-key map [remap self-insert-command] 'picture-self-insert) + (define-key map [remap self-insert-command] 'picture-self-insert) + (define-key map [remap completion-separator-self-insert-command] + 'picture-self-insert) + (define-key map [remap completion-separator-self-insert-autofilling] + 'picture-self-insert) + (define-key map [remap forward-char] 'picture-forward-column) + (define-key map [remap backward-char] 'picture-backward-column) + (define-key map [remap delete-char] 'picture-clear-column) + ;; There are two possibilities for what is normally on DEL. + (define-key map [remap backward-delete-char-untabify] + 'picture-backward-clear-column) + (define-key map [remap delete-backward-char] 'picture-backward-clear-column) + (define-key map [remap kill-line] 'picture-clear-line) + (define-key map [remap open-line] 'picture-open-line) + (define-key map [remap newline] 'picture-newline) + (define-key map [remap newline-and-indent] 'picture-duplicate-line) + (define-key map [remap next-line] 'picture-move-down) + (define-key map [remap previous-line] 'picture-move-up) + (define-key map [remap move-beginning-of-line] 'picture-beginning-of-line) + (define-key map [remap move-end-of-line] 'picture-end-of-line) + (define-key map [remap mouse-set-point] 'picture-mouse-set-point) + (define-key map "\C-c\C-d" 'picture-delete-char) + (define-key map "\e\t" 'picture-toggle-tab-state) + (define-key map "\t" 'picture-tab) + (define-key map "\e\t" 'picture-tab-search) + (define-key map "\C-c\t" 'picture-set-tab-stops) + (define-key map "\C-c\C-k" 'picture-clear-rectangle) + (define-key map "\C-c\C-w" 'picture-clear-rectangle-to-register) + (define-key map "\C-c\C-y" 'picture-yank-rectangle) + (define-key map "\C-c\C-x" 'picture-yank-rectangle-from-register) + (define-key map "\C-c\C-r" 'picture-draw-rectangle) + (define-key map "\C-c\C-c" 'picture-mode-exit) + (define-key map "\C-c\C-f" 'picture-motion) + (define-key map "\C-c\C-b" 'picture-motion-reverse) + (define-key map "\C-c<" 'picture-movement-left) + (define-key map "\C-c>" 'picture-movement-right) + (define-key map "\C-c^" 'picture-movement-up) + (define-key map "\C-c." 'picture-movement-down) + (define-key map "\C-c`" 'picture-movement-nw) + (define-key map "\C-c'" 'picture-movement-ne) + (define-key map "\C-c/" 'picture-movement-sw) + (define-key map "\C-c\\" 'picture-movement-se) + (define-key map [(control ?c) left] 'picture-movement-left) + (define-key map [(control ?c) right] 'picture-movement-right) + (define-key map [(control ?c) up] 'picture-movement-up) + (define-key map [(control ?c) down] 'picture-movement-down) + (define-key map [(control ?c) home] 'picture-movement-nw) + (define-key map [(control ?c) prior] 'picture-movement-ne) + (define-key map [(control ?c) end] 'picture-movement-sw) + (define-key map [(control ?c) next] 'picture-movement-se) + map) + "Keymap used in `picture-mode'.") (defcustom picture-mode-hook nil "If non-nil, its value is called on entry to Picture mode. diff --git a/lisp/textmodes/refbib.el b/lisp/textmodes/refbib.el index b473019643a..62fa68ca793 100644 --- a/lisp/textmodes/refbib.el +++ b/lisp/textmodes/refbib.el @@ -64,7 +64,7 @@ :group 'wp) (defcustom r2b-trace-on nil - "*Non-nil means trace conversion." + "Non-nil means trace conversion." :type 'boolean :group 'refbib) @@ -128,7 +128,7 @@ in `r2b-proceedings-list' (although it wouldn't cause an error)." This is in addition to the `r2b-capitalize-title-stop-words'.") (defcustom r2b-delimit-with-quote t - "*If true, then use \" to delimit fields, otherwise use braces." + "If true, then use \" to delimit fields, otherwise use braces." :type 'boolean :group 'refbib) @@ -204,12 +204,12 @@ This is in addition to the `r2b-capitalize-title-stop-words'.") (buffer-substring (match-beginning exp) (match-end exp))) (defcustom r2b-out-buf-name "*Out*" - "*Name of buffer for output from refer-to-bibtex." + "Name of buffer for output from refer-to-bibtex." :type 'string :group 'refbib) (defcustom r2b-log-name "*Log*" - "*Name of buffer for logs errors from refer-to-bibtex." + "Name of buffer for logs errors from refer-to-bibtex." :type 'string :group 'refbib) diff --git a/lisp/textmodes/reftex-dcr.el b/lisp/textmodes/reftex-dcr.el index ebda25ea932..b1e426c5566 100644 --- a/lisp/textmodes/reftex-dcr.el +++ b/lisp/textmodes/reftex-dcr.el @@ -316,7 +316,7 @@ With argument, actually select the window showing the cross reference." (run-hooks 'reftex-display-copied-context-hook))))) (defvar reftex-use-itimer-in-xemacs nil - "*Non-nil means use the idle timers in XEmacs for crossref display. + "Non-nil means use the idle timers in XEmacs for crossref display. Currently, idle timer restart is broken and we use the post-command-hook.") (defun reftex-toggle-auto-view-crossref () diff --git a/lisp/textmodes/reftex-vars.el b/lisp/textmodes/reftex-vars.el index 98135b7ce24..4c875a35b3e 100644 --- a/lisp/textmodes/reftex-vars.el +++ b/lisp/textmodes/reftex-vars.el @@ -294,7 +294,7 @@ select the nearest entry with the correct new level." (symbol :tag "function " my-level-func))))) (defcustom reftex-toc-max-level 100 - "*The maximum level of toc entries which will be included in the TOC. + "The maximum level of toc entries which will be included in the TOC. Section headings with a bigger level will be ignored. In RefTeX, chapters are level 1, sections are level 2 etc. This variable can be changed from within the *toc* buffer with the `t' key." @@ -302,7 +302,7 @@ This variable can be changed from within the *toc* buffer with the `t' key." :type 'integer) (defcustom reftex-part-resets-chapter nil - "*Non-nil means, \\part is like any other sectioning command. + "Non-nil means, \\part is like any other sectioning command. This means, part numbers will be included in the numbering of chapters, and chapter counters will be reset for each part. When nil (the default), parts are special, do not reset the chapter counter @@ -312,7 +312,7 @@ and also do not show up in chapter numbers." (defcustom reftex-auto-recenter-toc 'frame - "*Non-nil means, turn automatic recentering of *TOC* window on. + "Non-nil means, turn automatic recentering of *TOC* window on. When active, the *TOC* window will always show the section you are currently working in. Recentering happens whenever Emacs is idle for more than `reftex-idle-time' seconds. @@ -335,12 +335,12 @@ This feature can be turned on and off from the menu (const :tag "in dedicated frame only" frame))) (defcustom reftex-toc-split-windows-horizontally nil - "*Non-nil means, create TOC window by splitting window horizontally." + "Non-nil means, create TOC window by splitting window horizontally." :group 'reftex-table-of-contents-browser :type 'boolean) (defcustom reftex-toc-split-windows-fraction .3 - "*Fraction of the width or height of the frame to be used for TOC window. + "Fraction of the width or height of the frame to be used for TOC window. See also `reftex-toc-split-windows-horizontally'." :group 'reftex-table-of-contents-browser :type 'number) @@ -349,7 +349,7 @@ See also `reftex-toc-split-windows-horizontally'." "This variable is obsolete, use `reftex-toc-split-windows-fraction' instead.") (defcustom reftex-toc-keep-other-windows t - "*Non-nil means, split the selected window to display the *toc* buffer. + "Non-nil means, split the selected window to display the *toc* buffer. This helps to keep the window configuration, but makes the *toc* small. When nil, all other windows except the selected one will be deleted, so that the *toc* window fills half the frame." @@ -357,25 +357,25 @@ that the *toc* window fills half the frame." :type 'boolean) (defcustom reftex-toc-include-file-boundaries nil - "*Non-nil means, include file boundaries in *toc* buffer. + "Non-nil means, include file boundaries in *toc* buffer. This flag can be toggled from within the *toc* buffer with the `F' key." :group 'reftex-table-of-contents-browser :type 'boolean) (defcustom reftex-toc-include-labels nil - "*Non-nil means, include labels in *toc* buffer. + "Non-nil means, include labels in *toc* buffer. This flag can be toggled from within the *toc* buffer with the `l' key." :group 'reftex-table-of-contents-browser :type 'boolean) (defcustom reftex-toc-include-index-entries nil - "*Non-nil means, include index entries in *toc* buffer. + "Non-nil means, include index entries in *toc* buffer. This flag can be toggled from within the *toc* buffer with the `i' key." :group 'reftex-table-of-contents-browser :type 'boolean) (defcustom reftex-toc-confirm-promotion 2 - "*Non-nil means, promotion/demotion commands first prompt for confirmation. + "Non-nil means, promotion/demotion commands first prompt for confirmation. When nil, the command is executed immediately. When this is an integer N, ask for confirmation only if N or more section commands are going to be changed." @@ -386,21 +386,21 @@ changed." (number :tag "When more than N sections" :value 2))) (defcustom reftex-toc-include-context nil - "*Non-nil means, include context with labels in the *toc* buffer. + "Non-nil means, include context with labels in the *toc* buffer. Context will only be shown when labels are visible as well. This flag can be toggled from within the *toc* buffer with the `c' key." :group 'reftex-table-of-contents-browser :type 'boolean) (defcustom reftex-toc-follow-mode nil - "*Non-nil means, point in *toc* buffer will cause other window to follow. + "Non-nil means, point in *toc* buffer will cause other window to follow. The other window will show the corresponding part of the document. This flag can be toggled from within the *toc* buffer with the `f' key." :group 'reftex-table-of-contents-browser :type 'boolean) (defcustom reftex-revisit-to-follow nil - "*Non-nil means, follow-mode will revisit files if necessary. + "Non-nil means, follow-mode will revisit files if necessary. When nil, follow-mode will be suspended for stuff in unvisited files." :group 'reftex-table-of-contents-browser :group 'reftex-referencing-labels @@ -940,7 +940,7 @@ This is used to string together whole reference sets, like :type '(repeat (cons (character) (string)))) (defcustom reftex-vref-is-default nil - "*Non-nil means, the varioref macro \\vref is used as default. + "Non-nil means, the varioref macro \\vref is used as default. In the selection buffer, the `v' key toggles the reference macro between `\\ref' and `\\vref'. The value of this variable determines the default which is active when entering the selection process. @@ -951,7 +951,7 @@ the label types for which it should be true." ;;;###autoload(put 'reftex-vref-is-default 'safe-local-variable (lambda (x) (or (stringp x) (symbolp x)))) (defcustom reftex-fref-is-default nil - "*Non-nil means, the fancyref macro \\fref is used as default. + "Non-nil means, the fancyref macro \\fref is used as default. In the selection buffer, the `V' key toggles the reference macro between `\\ref', `\\fref' and `\\Fref'. The value of this variable determines the default which is active when entering the selection process. @@ -962,13 +962,13 @@ the label types for which it should be true." ;;;###autoload(put 'reftex-fref-is-default 'safe-local-variable (lambda (x) (or (stringp x) (symbolp x)))) (defcustom reftex-level-indent 2 - "*Number of spaces to be used for indentation per section level." + "Number of spaces to be used for indentation per section level." :group 'reftex-referencing-labels :type 'integer) ;;;###autoload(put 'reftex-level-indent 'safe-local-variable 'integerp) (defcustom reftex-guess-label-type t - "*Non-nil means, `reftex-reference' will try to guess the label type. + "Non-nil means, `reftex-reference' will try to guess the label type. To do that, RefTeX will look at the word before the cursor and compare it with the words given in `reftex-label-alist'. When it finds a match, RefTeX will immediately offer the correct label menu - otherwise it will prompt you for @@ -1009,7 +1009,7 @@ string to insert into the buffer." (defvar reftex-bibfile-ignore-list nil) ; compatibility (defcustom reftex-bibfile-ignore-regexps nil - "*List of regular expressions to exclude files in \\bibliography{..}. + "List of regular expressions to exclude files in \\bibliography{..}. File names matched by these regexps will not be parsed by RefTeX. Intended for files which contain only `@string' macro definitions and the like, which are ignored by RefTeX anyway." @@ -1018,7 +1018,7 @@ like, which are ignored by RefTeX anyway." :type '(repeat (regexp))) (defcustom reftex-default-bibliography nil - "*List of BibTeX database files which should be used if none are specified. + "List of BibTeX database files which should be used if none are specified. When `reftex-citation' is called from a document which has neither a `\\bibliography{..}' statement nor a `thebibliography' environment, RefTeX will scan these files instead. Intended for using `reftex-citation' @@ -1028,7 +1028,7 @@ path." :type '(repeat (file))) (defcustom reftex-sort-bibtex-matches 'reverse-year - "*Sorting of the entries found in BibTeX databases by reftex-citation. + "Sorting of the entries found in BibTeX databases by reftex-citation. Possible values: nil Do not sort entries. 'author Sort entries by author name. @@ -1041,7 +1041,7 @@ nil Do not sort entries. (const :tag "by year, reversed" reverse-year))) (defcustom reftex-cite-format 'default - "*The format of citations to be inserted into the buffer. + "The format of citations to be inserted into the buffer. It can be a string or an alist or a symbol. In the simplest case this is just the string \"\\cite{%l}\", which is also the default. See the definition of `reftex-cite-format-builtin' for more complex examples. @@ -1105,7 +1105,7 @@ E.g.: (setq reftex-cite-format 'natbib)" (string :tag "Format string" ""))))) (defcustom reftex-cite-prompt-optional-args 'maybe - "*Non-nil means, prompt for empty optional arguments in cite macros. + "Non-nil means, prompt for empty optional arguments in cite macros. When an entry in `reftex-cite-format' ist given with square brackets to indicate optional arguments (for example \\cite[][]{%l}), RefTeX can prompt for values. Possible values are: @@ -1123,7 +1123,7 @@ the buffer. See `reftex-cite-cleanup-optional-args'." (const :tag "Never" nil))) (defcustom reftex-cite-cleanup-optional-args t - "*Non-nil means, remove unnecessary empty optional arguments in cite macros. + "Non-nil means, remove unnecessary empty optional arguments in cite macros. The cite macros provided by some packages (for example natbib) allow specifying two optional arguments, one for a prefix to the citation, and a second for a postfix. When only one optional @@ -1141,7 +1141,7 @@ can be turned off." :type 'boolean) (defcustom reftex-comment-citations nil - "*Non-nil means add a comment for each citation describing the full entry. + "Non-nil means add a comment for each citation describing the full entry. The comment is formatted according to `reftex-cite-comment-format'." :group 'reftex-citation-support :type 'boolean) @@ -1195,7 +1195,7 @@ should return the string to insert into the buffer." :group 'reftex) (defcustom reftex-support-index t - "*Non-nil means, index entries are parsed as well. + "Non-nil means, index entries are parsed as well. Index support is resource intensive and the internal structure holding the parsed information can become quite big. Therefore it can be turned off. When this is nil and you execute a command which requires index support, @@ -1354,7 +1354,7 @@ has higher priority than this logical `or'." :type 'regexp) (defcustom reftex-index-phrases-search-whole-words t - "*Non-nil means phrases search will look for whole words, not subwords. + "Non-nil means phrases search will look for whole words, not subwords. This works by requiring word boundaries at the beginning and end of the search string. When the search phrase already has a non-word-char at one of these points, no word boundary is required there." @@ -1362,7 +1362,7 @@ at one of these points, no word boundary is required there." :type 'boolean) (defcustom reftex-index-phrases-case-fold-search t - "*Non-nil means, searching for index phrases will ignore case." + "Non-nil means, searching for index phrases will ignore case." :group 'reftex-index-support :type 'boolean) @@ -1375,7 +1375,7 @@ If the function returns nil, the current match is skipped." (function))) (defcustom reftex-index-phrases-skip-indexed-matches nil - "*Non-nil means, skip matches which appear to be indexed already. + "Non-nil means, skip matches which appear to be indexed already. When doing global indexing from the phrases buffer, searches for some phrases may match at places where that phrase was already indexed. In particular when indexing an already processed document again, this @@ -1387,7 +1387,7 @@ be ignored." :type 'boolean) (defcustom reftex-index-phrases-wrap-long-lines nil - "*Non-nil means, when indexing from the phrases buffer, wrap lines. + "Non-nil means, when indexing from the phrases buffer, wrap lines. Inserting indexing commands in a line makes the line longer - often so long that it does not fit onto the screen. When this variable is non-nil, newlines will be added as necessary before and/or after the @@ -1397,7 +1397,7 @@ phrase and its index command will always end up on a single line." :type 'boolean) (defcustom reftex-index-phrases-sort-prefers-entry nil - "*Non-nil means when sorting phrase lines, the explicit index entry is used. + "Non-nil means when sorting phrase lines, the explicit index entry is used. Phrase lines in the phrases buffer contain a search phrase, and sorting is normally based on these. Some phrase lines also have an explicit index argument specified. When this variable is non-nil, @@ -1406,7 +1406,7 @@ the index argument will be used for sorting." :type 'boolean) (defcustom reftex-index-phrases-sort-in-blocks t - "*Non-nil means, empty and comment lines separate phrase buffer into blocks. + "Non-nil means, empty and comment lines separate phrase buffer into blocks. Sorting will then preserve blocks, so that lines are re-arranged only within blocks." :group 'reftex-index-support @@ -1425,13 +1425,13 @@ to that section." :type '(string :tag "Capital letters")) (defcustom reftex-index-include-context nil - "*Non-nil means, display the index definition context in the index buffer. + "Non-nil means, display the index definition context in the index buffer. This flag may also be toggled from the index buffer with the `c' key." :group 'reftex-index-support :type 'boolean) (defcustom reftex-index-follow-mode nil - "*Non-nil means, point in *Index* buffer will cause other window to follow. + "Non-nil means, point in *Index* buffer will cause other window to follow. The other window will show the corresponding part of the document. This flag can be toggled from within the *Index* buffer with the `f' key." :group 'reftex-table-of-contents-browser @@ -1463,7 +1463,7 @@ which subgroup of the match should be highlighted." (integer :tag "Highlight Group")))) (defcustom reftex-auto-view-crossref t - "*Non-nil means, initially turn automatic viewing of crossref info on. + "Non-nil means, initially turn automatic viewing of crossref info on. Automatic viewing of crossref info normally uses the echo area. Whenever point is idle for more than `reftex-idle-time' seconds on the argument of a \\ref or \\cite macro, and no other message is being @@ -1478,20 +1478,20 @@ This feature can be turned on and off from the menu (const :tag "in Other Window" window))) (defcustom reftex-idle-time 1.2 - "*Time (secs) Emacs has to be idle before automatic crossref display is done. + "Time (secs) Emacs has to be idle before automatic crossref display is done. Applies also to toc recentering." :group 'reftex-viewing-cross-references :type 'number) (defcustom reftex-revisit-to-echo nil - "*Non-nil means, automatic citation display will revisit files if necessary. + "Non-nil means, automatic citation display will revisit files if necessary. When nil, citation display in echo area will only be active for cached entries and for BibTeX database files with live associated buffers." :group 'reftex-viewing-cross-references :type 'boolean) (defcustom reftex-cache-cite-echo t - "*Non-nil means, the information displayed in the echo area for cite macros + "Non-nil means, the information displayed in the echo area for cite macros is cached and even saved along with the parsing information. The cache survives document scans. In order to clear it, use M-x reftex-reset-mode." :group 'reftex-viewing-cross-references @@ -1511,7 +1511,7 @@ for X-Symbol, but may have other uses as well." :group 'reftex) (defcustom reftex-texpath-environment-variables '("TEXINPUTS") - "*List of specifications how to retrieve the search path for TeX files. + "List of specifications how to retrieve the search path for TeX files. Several entries are possible. - If an element is the name of an environment variable, its content is used. - If an element starts with an exclamation mark, it is used as a command @@ -1526,7 +1526,7 @@ See also `reftex-use-external-file-finders'." :type '(repeat (string :tag "Specification"))) (defcustom reftex-bibpath-environment-variables '("BIBINPUTS" "TEXBIB") - "*List of specifications how to retrieve search path for .bib database files. + "List of specifications how to retrieve search path for .bib database files. Several entries are possible. - If an element is the name of an environment variable, its content is used. - If an element starts with an exclamation mark, it is used as a command @@ -1543,7 +1543,7 @@ See also `reftex-use-external-file-finders'." (defcustom reftex-file-extensions '(("tex" . (".tex" ".ltx")) ("bib" . (".bib"))) - "*Association list with file extensions for different file types. + "Association list with file extensions for different file types. This is a list of items, each item is like: (TYPE . (DEF-EXT OTHER-EXT ...)) TYPE: File type like \"bib\" or \"tex\". @@ -1572,7 +1572,7 @@ Note that if you are using external file finders, this option has no effect." :type 'boolean) (defcustom reftex-search-unrecursed-path-first t - "*Non-nil means, search all specified directories before trying recursion. + "Non-nil means, search all specified directories before trying recursion. Thus, in a path \".//:/tex/\", search first \"./\", then \"/tex/\" and then all subdirectories of \"./\". If this option is nil, the subdirectories of \"./\" are searched before \"/tex/\". This is mainly for speed - most of the @@ -1583,7 +1583,7 @@ in wrong sequence." :type 'boolean) (defcustom reftex-use-external-file-finders nil - "*Non-nil means, use external programs to find files. + "Non-nil means, use external programs to find files. Normally, RefTeX searches the paths given in the environment variables TEXINPUTS and BIBINPUTS to find TeX files and BibTeX database files. With this option turned on, it calls an external program specified in the @@ -1595,7 +1595,7 @@ the variables `reftex-texpath-environment-variables' and (defcustom reftex-external-file-finders '(("tex" . "kpsewhich -format=.tex %f") ("bib" . "kpsewhich -format=.bib %f")) - "*Association list with external programs to call for finding files. + "Association list with external programs to call for finding files. Each entry is a cons cell (TYPE . PROGRAM). TYPE is either \"tex\" or \"bib\". PROGRAM is the external program to use with any arguments. %f will be replaced by the name of the file to be found. @@ -1612,7 +1612,7 @@ Only relevant when `reftex-use-external-file-finders' is non-nil." :group 'reftex) (defcustom reftex-keep-temporary-buffers 1 - "*Non-nil means, keep buffers created for parsing and lookup. + "Non-nil means, keep buffers created for parsing and lookup. RefTeX sometimes needs to visit files related to the current document. We distinguish files visited for PARSING: Parts of a multifile document loaded when (re)-parsing the document. @@ -1637,7 +1637,7 @@ upon the variable `reftex-initialize-temporary-buffers'." (const :tag "Keep lookup buffers only" 1))) (defcustom reftex-initialize-temporary-buffers nil - "*Non-nil means do initializations even when visiting file temporarily. + "Non-nil means do initializations even when visiting file temporarily. When nil, RefTeX may turn off find-file hooks and other stuff to briefly visit a file. When t, the full default initializations are done (find-file-hook etc.). @@ -1651,14 +1651,14 @@ do a minimal initialization." (function-item)))) (defcustom reftex-no-include-regexps '("\\.pstex_t\\'") - "*List of regular expressions to exclude certain input files from parsing. + "List of regular expressions to exclude certain input files from parsing. If the name of a file included via \\include or \\input is matched by any of the regular expressions in this list, that file is not parsed by RefTeX." :group 'reftex-optimizations-for-large-documents :type '(repeat (regexp))) (defcustom reftex-enable-partial-scans nil - "*Non-nil means, re-parse only 1 file when asked to re-parse. + "Non-nil means, re-parse only 1 file when asked to re-parse. Re-parsing is normally requested with a `C-u' prefix to many RefTeX commands, or with the `r' key in menus. When this option is t in a multifile document, we will only parse the current buffer, or the file associated with the label @@ -1669,7 +1669,7 @@ in menus." :type 'boolean) (defcustom reftex-allow-automatic-rescan t - "*Non-nil means, RefTeX may rescan the document when this seems necessary. + "Non-nil means, RefTeX may rescan the document when this seems necessary. Currently this applies only to rescanning after label insertion, when the new label cannot be inserted correctly into the internal label list." @@ -1677,7 +1677,7 @@ list." :type 'boolean) (defcustom reftex-save-parse-info nil - "*Non-nil means, save information gathered with parsing in a file. + "Non-nil means, save information gathered with parsing in a file. The file MASTER.rel in the same directory as MASTER.tex is used to save the information. When this variable is t, - accessing the parsing information for the first time in an editing session @@ -1688,13 +1688,13 @@ information. When this variable is t, :type 'boolean) (defcustom reftex-parse-file-extension ".rel" - "*File extension for the file in which parser information is stored. + "File extension for the file in which parser information is stored. This extension is added to the base name of the master file." :group 'reftex-optimizations-for-large-documents :type 'string) (defcustom reftex-use-multiple-selection-buffers nil - "*Non-nil means use a separate selection buffer for each label type. + "Non-nil means use a separate selection buffer for each label type. These buffers are kept from one selection to the next and need not to be created for each use - so the menu generally comes up faster. The selection buffers will be erased (and therefore updated) automatically @@ -1705,7 +1705,7 @@ when new labels in its category are added. See the variable :type 'boolean) (defcustom reftex-auto-update-selection-buffers t - "*Non-nil means, selection buffers will be updated automatically. + "Non-nil means, selection buffers will be updated automatically. When a new label is defined with `reftex-label', all selection buffers associated with that label category are emptied, in order to force an update upon next use. When nil, the buffers are left alone and have to be @@ -1724,14 +1724,14 @@ The value of this variable will only have any effect when :group 'reftex) (defcustom reftex-use-fonts t - "*Non-nil means, use fonts in *toc* and selection buffers. + "Non-nil means, use fonts in *toc* and selection buffers. Font-lock must be loaded as well to actually get fontified display. When changing this option, a rescan may be necessary to activate the change." :group 'reftex-fontification-configurations :type 'boolean) (defcustom reftex-refontify-context 1 - "*Non-nil means, re-fontify the context in the label menu with font-lock. + "Non-nil means, re-fontify the context in the label menu with font-lock. This slightly slows down the creation of the label menu. It is only necessary when you definitely want the context fontified. @@ -1748,7 +1748,7 @@ The option is ignored when `reftex-use-fonts' is nil." (const :tag "When necessary" 1))) (defcustom reftex-highlight-selection 'cursor - "*Non-nil mean, highlight selected text in selection and *toc* buffers. + "Non-nil mean, highlight selected text in selection and *toc* buffers. Normally, the text near the cursor is the selected text, and it is highlighted. This is the entry most keys in the selection and *toc* buffers act on. However, if you mainly use the mouse to select an @@ -1861,7 +1861,7 @@ bindings with this prefix bound to `reftex-extra-bindings-map'." :type 'boolean) (defcustom reftex-plug-into-AUCTeX nil - "*Plug-in flags for AUCTeX interface. + "Plug-in flags for AUCTeX interface. This variable is a list of 4 boolean flags. When a flag is non-nil, RefTeX will @@ -1896,7 +1896,7 @@ may require a restart of Emacs in order to become effective." ))) (defcustom reftex-allow-detached-macro-args nil - "*Non-nil means, allow arguments of macros to be detached by whitespace. + "Non-nil means, allow arguments of macros to be detached by whitespace. When this is t, `aaa' will be considered as argument of \\bb in the following construct: \\bbb [xxx] {aaa}." :group 'reftex-miscellaneous-configurations diff --git a/lisp/textmodes/sgml-mode.el b/lisp/textmodes/sgml-mode.el index 09f6b6b7cf2..46ba2cf8599 100644 --- a/lisp/textmodes/sgml-mode.el +++ b/lisp/textmodes/sgml-mode.el @@ -292,7 +292,7 @@ Any terminating `>' or `/' is not matched.") ;; for font-lock, but must be defvar'ed after ;; sgml-font-lock-keywords-1 and sgml-font-lock-keywords-2 above (defvar sgml-font-lock-keywords sgml-font-lock-keywords-1 - "*Rules for highlighting SGML code. See also `sgml-tag-face-alist'.") + "Rules for highlighting SGML code. See also `sgml-tag-face-alist'.") (defconst sgml-syntax-propertize-function (syntax-propertize-rules @@ -1843,7 +1843,7 @@ This takes effect when first loading the library.") ("u") ("var") ("wbr" t))) - "*Value of `sgml-tag-alist' for HTML mode.") + "Value of `sgml-tag-alist' for HTML mode.") (defvar html-tag-help `(,@sgml-tag-help @@ -1936,7 +1936,7 @@ This takes effect when first loading the library.") ("ul" . "Unordered list") ("var" . "Math variable face") ("wbr" . "Enable <br> within <nobr>")) - "*Value of `sgml-tag-help' for HTML mode.") + "Value of `sgml-tag-help' for HTML mode.") ;;;###autoload @@ -2010,7 +2010,7 @@ To work around that, do: (defvar html-imenu-regexp "\\s-*<h\\([1-9]\\)[^\n<>]*>\\(<[^\n<>]*>\\)*\\s-*\\([^\n<>]*\\)" - "*A regular expression matching a head line to be added to the menu. + "A regular expression matching a head line to be added to the menu. The first `match-string' should be a number from 1-9. The second `match-string' matches extra tags and is ignored. The third `match-string' will be the used in the menu.") diff --git a/lisp/textmodes/table.el b/lisp/textmodes/table.el index e98d78ad439..0463ac52b1e 100644 --- a/lisp/textmodes/table.el +++ b/lisp/textmodes/table.el @@ -844,7 +844,7 @@ simply by any key input." (defvar table-disable-menu (null (and (locate-library "easymenu") (require 'easymenu) (fboundp 'easy-menu-add-item))) - "*When non-nil, use of menu by table package is disabled. + "When non-nil, use of menu by table package is disabled. It must be set before loading this package `table.el' for the first time.") diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el index c5cad045c3f..af00531137a 100644 --- a/lisp/textmodes/tex-mode.el +++ b/lisp/textmodes/tex-mode.el @@ -265,7 +265,7 @@ Deleted when the \\[tex-region] or \\[tex-buffer] is next run, or when the tex shell terminates.") (defvar tex-command "tex" - "*Command to run TeX. + "Command to run TeX. If this string contains an asterisk \(`*'\), that is replaced by the file name; otherwise the value of `tex-start-options', the \(shell-quoted\) value of `tex-start-commands', and the file name are added at the end @@ -1492,8 +1492,8 @@ Puts point on a blank line between them." (defvar latex-complete-bibtex-cache nil) -(defun latex-string-prefix-p (str1 str2) - (eq t (compare-strings str1 nil nil str2 0 (length str1)))) +(define-obsolete-function-alias 'latex-string-prefix-p + 'string-prefix-p "24.2") (defvar bibtex-reference-key) (declare-function reftex-get-bibfile-list "reftex-cite.el" ()) @@ -1507,7 +1507,7 @@ Puts point on a blank line between them." keys) (if (and (eq (car latex-complete-bibtex-cache) (reftex-get-bibfile-list)) - (latex-string-prefix-p (nth 1 latex-complete-bibtex-cache) + (string-prefix-p (nth 1 latex-complete-bibtex-cache) key)) ;; Use the cache. (setq keys (nth 2 latex-complete-bibtex-cache)) @@ -2051,10 +2051,7 @@ IN can be either a string (with the same % escapes in it) indicating OUT describes the output file and is either a %-escaped string or nil to indicate that there is no output file.") -;; defsubst* gives better byte-code than defsubst. -(defsubst* tex-string-prefix-p (str1 str2) - "Return non-nil if STR1 is a prefix of STR2" - (eq t (compare-strings str2 nil (length str1) str1 nil nil))) +(define-obsolete-function-alias 'tex-string-prefix-p 'string-prefix-p "24.2") (defun tex-guess-main-file (&optional all) "Find a likely `tex-main-file'. @@ -2069,7 +2066,7 @@ of the current buffer." (with-current-buffer buf (when (and (cond ((null all) (equal dir default-directory)) - ((eq all 'sub) (tex-string-prefix-p default-directory dir)) + ((eq all 'sub) (string-prefix-p default-directory dir)) (t)) (stringp tex-main-file)) (throw 'found (expand-file-name tex-main-file))))) @@ -2078,7 +2075,7 @@ of the current buffer." (with-current-buffer buf (when (and (cond ((null all) (equal dir default-directory)) - ((eq all 'sub) (tex-string-prefix-p default-directory dir)) + ((eq all 'sub) (string-prefix-p default-directory dir)) (t)) buffer-file-name ;; (or (easy-mmode-derived-mode-p 'latex-mode) diff --git a/lisp/textmodes/texinfmt.el b/lisp/textmodes/texinfmt.el index 3ec59ebcd3e..d318a97d377 100644 --- a/lisp/textmodes/texinfmt.el +++ b/lisp/textmodes/texinfmt.el @@ -93,7 +93,7 @@ If optional argument HERE is non-nil, insert info at point." (@unnumberedsubsubsec . @unnumberedsubsec) (@subsubheading . @subheading) (@appendixsubsubsec . @appendixsubsec)) - "*An alist of next higher levels for chapters, sections, etc... + "An alist of next higher levels for chapters, sections, etc... For example, section to chapter, subsection to section. Used by `texinfo-raise-lower-sections'. The keys specify types of section; the values correspond to the next @@ -121,7 +121,7 @@ higher types.") (@unnumberedsubsubsec . @unnumberedsubsubsec) (@subsubheading . @subsubheading) (@appendixsubsubsec . @appendixsubsubsec)) - "*An alist of next lower levels for chapters, sections, etc... + "An alist of next lower levels for chapters, sections, etc... For example, chapter to section, section to subsection. Used by `texinfo-raise-lower-sections'. The keys specify types of section; the values correspond to the next @@ -174,7 +174,7 @@ and don't split the file if large. You can use `Info-tagify' and "done. Now save it." "done."))))) (defvar texinfo-region-buffer-name "*Info Region*" - "*Name of the temporary buffer used by \\[texinfo-format-region].") + "Name of the temporary buffer used by \\[texinfo-format-region].") (defvar texinfo-pre-format-hook nil "Hook called before the conversion of the Texinfo file to Info format. @@ -1918,7 +1918,7 @@ Used by @refill indenting command to avoid indenting within lists, etc.") ;; Texinfo commands. (defvar texinfo-extra-inter-column-width 0 - "*Number of extra spaces between entries (columns) in @multitable.") + "Number of extra spaces between entries (columns) in @multitable.") (defvar texinfo-multitable-buffer-name "*multitable-temporary-buffer*") (defvar texinfo-multitable-rectangle-name "texinfo-multitable-temp-") diff --git a/lisp/textmodes/texnfo-upd.el b/lisp/textmodes/texnfo-upd.el index 83ef834257a..70aa17cea6b 100644 --- a/lisp/textmodes/texnfo-upd.el +++ b/lisp/textmodes/texnfo-upd.el @@ -203,7 +203,7 @@ It comes after the chapter-level menu entries.") (3 . (concat "\\(^@\\)\\(" texinfo-section-level-regexp "\\)\\>[ \t]*")) (4 . (concat "\\(^@\\)\\(" texinfo-subsection-level-regexp "\\)\\>[ \t]+")) (5 . (concat "\\(^@\\)\\(" texinfo-subsubsection-level-regexp "\\)\\>[ \t]+"))) - "*Regexps for searching for same level sections in a Texinfo file. + "Regexps for searching for same level sections in a Texinfo file. The keys are strings specifying the general hierarchical level in the document; the values are regular expressions.") @@ -231,7 +231,7 @@ document; the values are regular expressions.") "\\|" texinfo-chapter-level-regexp "\\)\\>[ \t]*\\)"))) - "*Regexps for searching for higher level sections in a Texinfo file. + "Regexps for searching for higher level sections in a Texinfo file. The keys are strings specifying the general hierarchical level in the document; the values are regular expressions.") @@ -270,7 +270,7 @@ document; the values are regular expressions.") "\\)\\>[ \t]+\\)")) ;; There's nothing below 5, use a bogus regexp that can't match. (5 . "a\\(^\\)")) - "*Regexps for searching for lower level sections in a Texinfo file. + "Regexps for searching for lower level sections in a Texinfo file. The keys are strings specifying the general hierarchical level in the document; the values are regular expressions.") @@ -682,7 +682,7 @@ node within the section." ;; try 32, but perhaps 24 is better (defvar texinfo-column-for-description 32 - "*Column at which descriptions start in a Texinfo menu.") + "Column at which descriptions start in a Texinfo menu.") (defun texinfo-insert-menu (menu-list node-name) "Insert formatted menu at point. diff --git a/lisp/textmodes/two-column.el b/lisp/textmodes/two-column.el index 40cbbc59292..8a4fe4f87fd 100644 --- a/lisp/textmodes/two-column.el +++ b/lisp/textmodes/two-column.el @@ -124,15 +124,51 @@ ;;; Code: - +(defgroup two-column nil + "Minor mode for editing of two-column text." + :prefix "2C-" + :group 'frames) + +(defcustom 2C-mode-line-format + '("-%*- %15b --" (-3 . "%p") "--%[(" mode-name + minor-mode-alist "%n" mode-line-process ")%]%-") + "Value of `mode-line-format' for a buffer in two-column minor mode." + :type 'sexp + :group 'two-column) + +(defcustom 2C-other-buffer-hook 'text-mode + "Hook run in new buffer when it is associated with current one." + :type 'function + :group 'two-column) -;; Lucid patch -(or (fboundp 'frame-width) - (fset 'frame-width 'screen-width)) +(defcustom 2C-separator "" + "A string inserted between the two columns when merging. +This gets set locally by \\[2C-split]." + :type 'string + :group 'two-column) +(put '2C-separator 'permanent-local t) + +(defcustom 2C-window-width 40 + "The width of the first column. (Must be at least `window-min-width'.) +This value is local for every buffer that sets it." + :type 'integer + :group 'two-column) +(make-variable-buffer-local '2C-window-width) +(put '2C-window-width 'permanent-local t) +(defcustom 2C-beyond-fill-column 4 + "Base for calculating `fill-column' for a buffer in two-column minor mode. +The value of `fill-column' becomes `2C-window-width' for this buffer +minus this value." + :type 'integer + :group 'two-column) -;;;;; Set up keymap ;;;;; +(defcustom 2C-autoscroll t + "If non-nil, Emacs attempts to keep the two column's buffers aligned." + :type 'boolean + :group 'two-column) + (defvar 2C-mode-map (let ((map (make-sparse-keymap))) (define-key map "2" '2C-two-columns) @@ -142,8 +178,6 @@ map) "Keymap for commands for setting up two-column mode.") - - ;;;###autoload (autoload '2C-command "two-column" () t 'keymap) (fset '2C-command 2C-mode-map) @@ -154,7 +188,6 @@ ;;;###autoload (global-set-key [f2] '2C-command) - (defvar 2C-minor-mode-map (let ((map (make-sparse-keymap))) (define-key map "1" '2C-merge) @@ -167,7 +200,6 @@ map) "Keymap for commands for use in two-column mode.") - (setq minor-mode-map-alist (cons (cons '2C-mode (let ((map (make-sparse-keymap))) @@ -181,15 +213,8 @@ map (current-global-map)) map)) minor-mode-map-alist)) - -;;;;; variable declarations ;;;;; - -(defgroup two-column nil - "Minor mode for editing of two-column text." - :prefix "2C-" - :group 'frames) - + ;; Markers seem to be the only buffer-id not affected by renaming a buffer. ;; This nevertheless loses when a buffer is killed. The variable-name is ;; required by `describe-mode'. @@ -198,62 +223,8 @@ (make-variable-buffer-local '2C-mode) (put '2C-mode 'permanent-local t) - - (setq minor-mode-alist (cons '(2C-mode " 2C") minor-mode-alist)) - - -;; rearranged, so that the pertinent info will show in 40 columns -(defcustom 2C-mode-line-format - '("-%*- %15b --" (-3 . "%p") "--%[(" mode-name - minor-mode-alist "%n" mode-line-process ")%]%-") - "Value of `mode-line-format' for a buffer in two-column minor mode." - :type 'sexp - :group 'two-column) - - -(defcustom 2C-other-buffer-hook 'text-mode - "Hook run in new buffer when it is associated with current one." - :type 'function - :group 'two-column) - - -(defcustom 2C-separator "" - "A string inserted between the two columns when merging. -This gets set locally by \\[2C-split]." - :type 'string - :group 'two-column) -(put '2C-separator 'permanent-local t) - - - -(defcustom 2C-window-width 40 - "The width of the first column. (Must be at least `window-min-width') -This value is local for every buffer that sets it." - :type 'integer - :group 'two-column) -(make-variable-buffer-local '2C-window-width) -(put '2C-window-width 'permanent-local t) - - - -(defcustom 2C-beyond-fill-column 4 - "Base for calculating `fill-column' for a buffer in two-column minor mode. -The value of `fill-column' becomes `2C-window-width' for this buffer -minus this value." - :type 'integer - :group 'two-column) - - - -(defcustom 2C-autoscroll t - "If non-nil, Emacs attempts to keep the two column's buffers aligned." - :type 'boolean - :group 'two-column) - - - (defvar 2C-autoscroll-start nil) (make-variable-buffer-local '2C-autoscroll-start) @@ -276,7 +247,6 @@ minus this value." (if req (error "You must first set two-column minor mode")))) - ;; function for setting up two-column minor mode in a buffer associated ;; with the buffer pointed to by the marker other. (defun 2C-mode (other) @@ -320,7 +290,6 @@ The appearance of the screen can be customized by the variables (run-hooks '2C-mode-hook)) - ;;;###autoload (defun 2C-two-columns (&optional buffer) "Split current window vertically for two-column editing. @@ -356,7 +325,6 @@ first and the associated buffer to its right." (other-window -1))))) - ;;;###autoload (defun 2C-associate-buffer () "Associate another buffer with this one in two-column minor mode. @@ -368,9 +336,8 @@ accepting the proposed default buffer. (let ((b1 (current-buffer)) (b2 (or (2C-other) (read-buffer "Associate buffer: " (other-buffer))))) - (save-excursion - (setq 2C-mode nil) - (set-buffer b2) + (setq 2C-mode nil) + (with-current-buffer b2 (and (2C-other) (not (eq b1 (2C-other))) (error "Buffer already associated with buffer `%s'" @@ -382,7 +349,6 @@ accepting the proposed default buffer. (2C-two-columns b2))) - ;;;###autoload (defun 2C-split (arg) "Split a two-column text at point, into two buffers in two-column minor mode. @@ -454,32 +420,28 @@ First column's text sSs Second column's text (move-to-column column))))) - - (defun 2C-dissociate () "Turn off two-column minor mode in current and associated buffer. If the associated buffer is unmodified and empty, it is killed." (interactive) - (let ((buffer (current-buffer))) - (save-excursion - (and (2C-other) - (set-buffer (2C-other)) - (or (not (2C-other)) - (eq buffer (2C-other))) - (if (and (not (buffer-modified-p)) - (eobp) (bobp)) - (kill-buffer nil) - (kill-local-variable '2C-mode) - (kill-local-variable '2C-window-width) - (kill-local-variable '2C-separator) - (kill-local-variable 'mode-line-format) - (kill-local-variable 'fill-column)))) - (kill-local-variable '2C-mode) - (kill-local-variable '2C-window-width) - (kill-local-variable '2C-separator) - (kill-local-variable 'mode-line-format) - (kill-local-variable 'fill-column))) - + (let ((buffer (current-buffer)) + (other (2C-other))) + (if other + (with-current-buffer other + (when (or (not (2C-other)) (eq buffer (2C-other))) + (if (and (not (buffer-modified-p)) (zerop (buffer-size))) + (kill-buffer) + (kill-local-variable '2C-mode) + (kill-local-variable '2C-window-width) + (kill-local-variable '2C-separator) + (kill-local-variable 'mode-line-format) + (kill-local-variable 'fill-column)))))) + (kill-local-variable '2C-mode) + (kill-local-variable '2C-window-width) + (kill-local-variable '2C-separator) + (kill-local-variable 'mode-line-format) + (kill-local-variable 'fill-column) + (force-mode-line-update)) ;; this doesn't use yank-rectangle, so that the first column can @@ -578,7 +540,6 @@ on, this also realigns the two buffers." (message "Autoscrolling is off."))) - (defun 2C-autoscroll () (if 2C-autoscroll ;; catch a mouse scroll on non-selected scrollbar @@ -590,27 +551,25 @@ on, this also realigns the two buffers." (select-window (car (car (cdr last-command-event))))) ;; In some cases scrolling causes an error, but post-command-hook ;; shouldn't, and should always stay in the original window - (condition-case () - (and (or 2C-autoscroll-start (2C-toggle-autoscroll t) nil) - (/= (window-start) 2C-autoscroll-start) - (2C-other) - (get-buffer-window (2C-other)) - (let ((lines (count-lines (window-start) - 2C-autoscroll-start))) - (if (< (window-start) 2C-autoscroll-start) - (setq lines (- lines))) - (setq 2C-autoscroll-start (window-start)) - (select-window (get-buffer-window (2C-other))) - ;; make sure that other buffer has enough lines - (save-excursion - (insert-char - ?\n (- lines (count-lines (window-start) - (goto-char (point-max))) - -1))) - (scroll-up lines) - (setq 2C-autoscroll-start (window-start)))) - (error)))))) - + (ignore-errors + (and (or 2C-autoscroll-start (2C-toggle-autoscroll t) nil) + (/= (window-start) 2C-autoscroll-start) + (2C-other) + (get-buffer-window (2C-other)) + (let ((lines (count-lines (window-start) + 2C-autoscroll-start))) + (if (< (window-start) 2C-autoscroll-start) + (setq lines (- lines))) + (setq 2C-autoscroll-start (window-start)) + (select-window (get-buffer-window (2C-other))) + ;; make sure that other buffer has enough lines + (save-excursion + (insert-char + ?\n (- lines (count-lines (window-start) + (goto-char (point-max))) + -1))) + (scroll-up lines) + (setq 2C-autoscroll-start (window-start))))))))) (defun 2C-enlarge-window-horizontally (arg) @@ -628,7 +587,6 @@ on, this also realigns the two buffers." (2C-enlarge-window-horizontally (- arg))) - (provide 'two-column) ;;; two-column.el ends here diff --git a/lisp/timezone.el b/lisp/timezone.el index 00e69aa39cc..5762f019315 100644 --- a/lisp/timezone.el +++ b/lisp/timezone.el @@ -51,7 +51,7 @@ ("GMT-4" . -400) ("GMT-5" . -500) ("GMT-6" . -600) ("GMT-7" . -700) ("GMT-8" . -800) ("GMT-9" . -900) ("GMT-10" . -1000) ("GMT-11" . -1100) ("GMT-12" . -1200)) - "*Time differentials of timezone from GMT in +-HHMM form. + "Time differentials of timezone from GMT in +-HHMM form. This list is obsolescent, and is present only for backwards compatibility, because time zone names are ambiguous in practice. Use `current-time-zone' instead.") diff --git a/lisp/tmm.el b/lisp/tmm.el index 2a0d1d3d7de..776e4335376 100644 --- a/lisp/tmm.el +++ b/lisp/tmm.el @@ -165,14 +165,13 @@ Its value should be an event that has a binding in MENU." ;; tmm-km-list is an alist of (STRING . MEANING). ;; It has no other elements. ;; The order of elements in tmm-km-list is the order of the menu bar. - (mapc (lambda (elt) - (cond - ((stringp elt) (setq gl-str elt)) - ((listp elt) (tmm-get-keymap elt not-menu)) - ((vectorp elt) - (dotimes (i (length elt)) - (tmm-get-keymap (cons i (aref elt i)) not-menu))))) - menu) + (dolist (elt menu) + (cond + ((stringp elt) (setq gl-str elt)) + ((listp elt) (tmm-get-keymap elt not-menu)) + ((vectorp elt) + (dotimes (i (length elt)) + (tmm-get-keymap (cons i (aref elt i)) not-menu))))) ;; Choose an element of tmm-km-list; put it in choice. (if (and not-menu (= 1 (length tmm-km-list))) ;; If this is the top-level of an x-popup-menu menu, @@ -313,15 +312,13 @@ Stores a list of all the shortcuts in the free variable `tmm-short-cuts'." (defun tmm-define-keys (minibuffer) (let ((map (make-sparse-keymap))) (suppress-keymap map t) - (mapc - (lambda (c) - (if (listp tmm-shortcut-style) - (define-key map (char-to-string c) 'tmm-shortcut) - ;; only one kind of letters are shortcuts, so map both upcase and - ;; downcase input to the same - (define-key map (char-to-string (downcase c)) 'tmm-shortcut) - (define-key map (char-to-string (upcase c)) 'tmm-shortcut))) - tmm-short-cuts) + (dolist (c tmm-short-cuts) + (if (listp tmm-shortcut-style) + (define-key map (char-to-string c) 'tmm-shortcut) + ;; only one kind of letters are shortcuts, so map both upcase and + ;; downcase input to the same + (define-key map (char-to-string (downcase c)) 'tmm-shortcut) + (define-key map (char-to-string (upcase c)) 'tmm-shortcut))) (if minibuffer (progn (define-key map [pageup] 'tmm-goto-completions) @@ -401,14 +398,13 @@ Stores a list of all the shortcuts in the free variable `tmm-short-cuts'." (choose-completion)) ;; In minibuffer (delete-region (minibuffer-prompt-end) (point-max)) - (mapc (lambda (elt) - (if (string= - (substring (car elt) 0 - (min (1+ (length tmm-mid-prompt)) - (length (car elt)))) - (concat (char-to-string c) tmm-mid-prompt)) - (setq s (car elt)))) - tmm-km-list) + (dolist (elt tmm-km-list) + (if (string= + (substring (car elt) 0 + (min (1+ (length tmm-mid-prompt)) + (length (car elt)))) + (concat (char-to-string c) tmm-mid-prompt)) + (setq s (car elt)))) (insert s) (exit-minibuffer))))) @@ -540,20 +536,16 @@ of `menu-bar-final-items'." (setq allbind (cons globalbind (cons localbind minorbind))) ;; Merge all the elements of ALLBIND into one keymap. - (mapc (lambda (in) - (if (and (symbolp in) (keymapp in)) - (setq in (symbol-function in))) - (and in (keymapp in) - (if (keymapp bind) - (setq bind (nconc bind (copy-sequence (cdr in)))) - (setq bind (copy-sequence in))))) - allbind) + (dolist (in allbind) + (if (and (symbolp in) (keymapp in)) + (setq in (symbol-function in))) + (and in (keymapp in) + (setq bind (if (keymapp bind) + (nconc bind (copy-sequence (cdr in))) + (copy-sequence in))))) ;; Return that keymap. bind)))) -;; Huh? What's that about? --Stef -(add-hook 'calendar-load-hook (lambda () (require 'cal-menu))) - (provide 'tmm) ;;; tmm.el ends here diff --git a/lisp/tutorial.el b/lisp/tutorial.el index b512700f5b9..e0e2a82fab9 100644 --- a/lisp/tutorial.el +++ b/lisp/tutorial.el @@ -585,7 +585,6 @@ with some explanatory links." (not (get-text-property (match-beginning 1) 'tutorial-remark)) (let* ((desc (car changed-key)) (ck (cdr changed-key)) - (key (nth 0 ck)) (def-fun (nth 1 ck)) (where (nth 3 ck)) s1 s2 help-string) @@ -724,7 +723,7 @@ See `tutorial--save-tutorial' for more information." saved-file (error-message-string err)))) ;; An error is raised here?? Is this a bug? - (condition-case err + (condition-case nil (undo-only) (error nil)) ;; Restore point diff --git a/lisp/type-break.el b/lisp/type-break.el index ee64fde1c67..f0c81125f0c 100644 --- a/lisp/type-break.el +++ b/lisp/type-break.el @@ -241,7 +241,7 @@ remove themselves after running.") ("" type-break-mode-line-break-message type-break-mode-line-warning)) - "*Format of messages in the mode line concerning typing breaks.") + "Format of messages in the mode line concerning typing breaks.") (defvar type-break-mode-line-break-message '(type-break-mode-line-break-message-p diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog index d6e25188c69..3c9313e3e7d 100644 --- a/lisp/url/ChangeLog +++ b/lisp/url/ChangeLog @@ -1,3 +1,21 @@ +2012-04-10 William Xu <william.xwl@gmail.com> (tiny change) + + * url.el (url-retrieve-internal): Hexify multibye URL string first + when necessary (bug#7017). + +2012-04-10 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * url.el (url-retrieve-internal): Mention utf-8 encoding. + (url-retrieve): Ditto. + +2012-04-10 Lars Magne Ingebrigtsen <larsi@gnus.org> + + * url-domsurf.el: New file (bug#1401). + + * url-cookie.el (url-cookie-two-dot-domains): Remove. + (url-cookie-host-can-set-p): Use `url-domsuf-cookie-allowed-p' + instead of the variable above. + 2012-03-25 Lars Magne Ingebrigtsen <larsi@gnus.org> * url-queue.el (url-queue-kill-job): Check whether the buffer has diff --git a/lisp/url/url-cookie.el b/lisp/url/url-cookie.el index e6ff9bf7dea..aefe8fffd0a 100644 --- a/lisp/url/url-cookie.el +++ b/lisp/url/url-cookie.el @@ -25,6 +25,7 @@ (require 'url-util) (require 'url-parse) +(require 'url-domsuf) (eval-when-compile (require 'cl)) ; defstruct @@ -211,14 +212,6 @@ telling Microsoft that." (concat retval "\r\n") ""))) -(defvar url-cookie-two-dot-domains - (concat "\\.\\(" - (mapconcat 'identity (list "com" "edu" "net" "org" "gov" "mil" "int") - "\\|") - "\\)$") - "A regexp of top level domains that only require two matching -'.'s in the domain name in order to set a cookie.") - (defcustom url-cookie-trusted-urls nil "A list of regular expressions matching URLs to always accept cookies from." :type '(repeat regexp) @@ -230,30 +223,18 @@ telling Microsoft that." :group 'url-cookie) (defun url-cookie-host-can-set-p (host domain) - (let ((numdots 0) - (last nil) - (case-fold-search t) - (mindots 3)) - (while (setq last (string-match "\\." domain last)) - (setq numdots (1+ numdots) - last (1+ last))) - (if (string-match url-cookie-two-dot-domains domain) - (setq mindots 2)) - (cond - ((string= host domain) ; Apparently netscape lets you do this - t) - ((>= numdots mindots) ; We have enough dots in domain name - ;; Need to check and make sure the host is actually _in_ the - ;; domain it wants to set a cookie for though. - (string-match (concat (regexp-quote - ;; Remove the dot from wildcard domains - ;; before matching. - (if (eq ?. (aref domain 0)) - (substring domain 1) - domain)) - "$") host)) - (t - nil)))) + (let ((last nil) + (case-fold-search t)) + (if (string= host domain) ; Apparently netscape lets you do this + t + ;; Remove the dot from wildcard domains before matching. + (when (eq ?. (aref domain 0)) + (setq domain (substring domain 1))) + (and (url-domsuf-cookie-allowed-p domain) + ;; Need to check and make sure the host is actually _in_ the + ;; domain it wants to set a cookie for though. + (string-match (concat (regexp-quote domain) + "$") host))))) (defun url-cookie-handle-set-cookie (str) (setq url-cookies-changed-since-last-save t) diff --git a/lisp/url/url-dav.el b/lisp/url/url-dav.el index 03527bceee7..085785524b7 100644 --- a/lisp/url/url-dav.el +++ b/lisp/url/url-dav.el @@ -478,7 +478,7 @@ names (ie: DAV:resourcetype)." ;;; Locking support (defvar url-dav-lock-identifier (concat "mailto:" user-mail-address) - "*URL used as contact information when creating locks in DAV. + "URL used as contact information when creating locks in DAV. This will be used as the contents of the DAV:owner/DAV:href tag to identify the owner of a LOCK when requesting it. This will be shown to other users when the DAV:lockdiscovery property is requested, so diff --git a/lisp/url/url-domsuf.el b/lisp/url/url-domsuf.el new file mode 100644 index 00000000000..29fc166e30b --- /dev/null +++ b/lisp/url/url-domsuf.el @@ -0,0 +1,98 @@ +;;; url-domsuf.el --- Say what domain names can have cookies set. + +;; Copyright (C) 2012 Free Software Foundation, Inc. + +;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org> + +;; Keywords: comm, data, processes, hypermedia + +;; 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: + +;; The rules for what domains can have cookies set is defined here: +;; http://publicsuffix.org/list/ + +;;; Code: + +(defvar url-domsuf-domains nil) + +(defun url-domsuf-parse-file () + (with-temp-buffer + (insert-file-contents + (expand-file-name "publicsuffix.txt" data-directory)) + (let ((domains nil) + domain exception) + (while (not (eobp)) + (when (not (looking-at "[/\n\t ]")) + ;; !pref.aichi.jp means that it's allowed. + (if (not (eq (following-char) ?!)) + (setq exception nil) + (setq exception t) + (forward-char 1)) + (setq domain (buffer-substring (point) (line-end-position))) + (cond + ((string-match "\\`\\*\\." domain) + (setq domain (substring domain 2)) + (push (cons domain (1+ (length (split-string domain "[.]")))) + domains)) + (exception + (push (cons domain t) domains)) + (t + (push (cons domain nil) domains)))) + (forward-line 1)) + (setq url-domsuf-domains (nreverse domains))))) + +(defun url-domsuf-cookie-allowed-p (domain) + (unless url-domsuf-domains + (url-domsuf-parse-file)) + (let* ((allowedp t) + (domain-bits (split-string domain "[.]")) + (length (length domain-bits)) + (upper-domain (mapconcat 'identity (cdr domain-bits) ".")) + entry modifier) + (dolist (elem url-domsuf-domains) + (setq entry (car elem) + modifier (cdr elem)) + (cond + ;; "com" + ((and (null modifier) + (string= domain entry)) + (setq allowedp nil)) + ;; "!pref.hokkaido.jp" + ((and (eq modifier t) + (string= domain entry)) + (setq allowedp t)) + ;; "*.ar" + ((and (numberp modifier) + (= length modifier) + (string= entry upper-domain)) + (setq allowedp nil)))) + allowedp)) + +;; Tests: + +;; (url-domsuf-cookie-allowed-p "com") => nil +;; (url-domsuf-cookie-allowed-p "foo.bar.ar") => t +;; (url-domsuf-cookie-allowed-p "bar.ar") => nil +;; (url-domsuf-cookie-allowed-p "co.uk") => nil +;; (url-domsuf-cookie-allowed-p "foo.bar.hokkaido.jo") => t +;; (url-domsuf-cookie-allowed-p "bar.hokkaido.jp") => nil +;; (url-domsuf-cookie-allowed-p "pref.hokkaido.jp") => t + +(provide 'url-domsuf) + +;;; url-domsuf.el ends here diff --git a/lisp/url/url-handlers.el b/lisp/url/url-handlers.el index 4bc5bd47488..d00a1174cdf 100644 --- a/lisp/url/url-handlers.el +++ b/lisp/url/url-handlers.el @@ -92,7 +92,7 @@ (defvar url-handler-regexp "\\`\\(https?\\|ftp\\|file\\|nfs\\)://" - "*A regular expression for matching URLs handled by `file-name-handler-alist'. + "A regular expression for matching URLs handled by `file-name-handler-alist'. Some valid URL protocols just do not make sense to visit interactively \(about, data, info, irc, mailto, etc\). This regular expression avoids conflicts with local files that look like URLs \(Gnus is diff --git a/lisp/url/url-ldap.el b/lisp/url/url-ldap.el index 7c988f9b119..0ea98cb06c9 100644 --- a/lisp/url/url-ldap.el +++ b/lisp/url/url-ldap.el @@ -64,7 +64,7 @@ ("facsimiletelephonenumber" . "Fax") ("postaladdress" . "Mailing Address") ("description" . "Notes")) - "*An assoc list mapping LDAP attribute names to pretty descriptions of them.") + "An assoc list mapping LDAP attribute names to pretty descriptions of them.") (defvar url-ldap-attribute-formatters '(("mail" . (lambda (x) (format "<a href='mailto:%s'>%s</a>" x x))) @@ -76,7 +76,7 @@ ("namingcontexts" . url-ldap-dn-formatter) ("defaultnamingcontext" . url-ldap-dn-formatter) ("member" . url-ldap-dn-formatter)) - "*An assoc list mapping LDAP attribute names to pretty formatters for them.") + "An assoc list mapping LDAP attribute names to pretty formatters for them.") (defsubst url-ldap-attribute-pretty-name (n) (or (cdr-safe (assoc (downcase n) url-ldap-pretty-names)) n)) diff --git a/lisp/url/url-nfs.el b/lisp/url/url-nfs.el index a22d105b1a1..bfab147f267 100644 --- a/lisp/url/url-nfs.el +++ b/lisp/url/url-nfs.el @@ -29,7 +29,7 @@ (defvar url-nfs-automounter-directory-spec "file:/net/%h%f" - "*How to invoke the NFS automounter. Certain % sequences are recognized. + "How to invoke the NFS automounter. Certain % sequences are recognized. %h -- the hostname of the NFS server %n -- the port # of the NFS server diff --git a/lisp/url/url-util.el b/lisp/url/url-util.el index 848eb66e54b..d12bd5447fa 100644 --- a/lisp/url/url-util.el +++ b/lisp/url/url-util.el @@ -330,8 +330,7 @@ forbidden in URL encoding." " ") (t (byte-to-string code)))) str (substring str (match-end 0))))) - (setq tmp (concat tmp str)) - tmp)) + (concat tmp str))) (defconst url-unreserved-chars '( diff --git a/lisp/url/url-vars.el b/lisp/url/url-vars.el index a56eb4cc810..ff18049e97b 100644 --- a/lisp/url/url-vars.el +++ b/lisp/url/url-vars.el @@ -212,7 +212,7 @@ Should be an assoc list of headers/contents.") ;; FIXME!! (RFC 2616 gives examples like `compress, gzip'.) (defvar url-mime-encoding-string nil - "*String to send in the Accept-encoding: field in HTTP requests.") + "String to send in the Accept-encoding: field in HTTP requests.") ;; Perhaps the first few should actually be given decreasing `q's and ;; the list should be trimmed significantly. @@ -233,7 +233,7 @@ Generated according to current coding system priorities." ";q=0.5")))) (defvar url-mime-charset-string nil - "*String to send in the Accept-charset: field in HTTP requests. + "String to send in the Accept-charset: field in HTTP requests. The MIME charset corresponding to the most preferred coding system is given priority 1 and the rest are given priority 0.5.") @@ -364,7 +364,7 @@ Currently supported methods: (defvar url-parse-syntax-table (copy-syntax-table emacs-lisp-mode-syntax-table) - "*A syntax table for parsing URLs.") + "A syntax table for parsing URLs.") (modify-syntax-entry ?' "\"" url-parse-syntax-table) (modify-syntax-entry ?` "\"" url-parse-syntax-table) @@ -373,7 +373,7 @@ Currently supported methods: (modify-syntax-entry ?/ " " url-parse-syntax-table) (defvar url-load-hook nil - "*Hooks to be run after initializing the URL library.") + "Hooks to be run after initializing the URL library.") ;;; Make OS/2 happy - yeeks ;; (defvar tcp-binary-process-input-services nil diff --git a/lisp/url/url.el b/lisp/url/url.el index 5ced789e4e4..f3ef553bbce 100644 --- a/lisp/url/url.el +++ b/lisp/url/url.el @@ -149,7 +149,9 @@ take effect. If SILENT, then don't message progress reports and the like. If INHIBIT-COOKIES, cookies will neither be stored nor sent to -the server." +the server. +If URL is a multibyte string, it will be encoded as utf-8 and +URL-encoded before it's used." ;;; XXX: There is code in Emacs that does dynamic binding ;;; of the following variables around url-retrieve: ;;; url-standalone-mode, url-gateway-unplugged, w3-honor-stylesheets, @@ -171,11 +173,16 @@ the list of events, as described in the docstring of `url-retrieve'. If SILENT, don't message progress reports and the like. If INHIBIT-COOKIES, cookies will neither be stored nor sent to -the server." +the server. +If URL is a multibyte string, it will be encoded as utf-8 and +URL-encoded before it's used." (url-do-setup) (url-gc-dead-buffers) (if (stringp url) (set-text-properties 0 (length url) nil url)) + (when (multibyte-string-p url) + (let ((url-unreserved-chars (append '(?: ?/) url-unreserved-chars))) + (setq url (url-hexify-string url)))) (if (not (vectorp url)) (setq url (url-generic-parse-url url))) (if (not (functionp callback)) diff --git a/lisp/vc/add-log.el b/lisp/vc/add-log.el index be7bba54378..b9c3d0d385a 100644 --- a/lisp/vc/add-log.el +++ b/lisp/vc/add-log.el @@ -1122,17 +1122,17 @@ parentheses." ;;;###autoload (defvar add-log-lisp-like-modes '(emacs-lisp-mode lisp-mode scheme-mode dsssl-mode lisp-interaction-mode) - "*Modes that look like Lisp to `add-log-current-defun'.") + "Modes that look like Lisp to `add-log-current-defun'.") ;;;###autoload (defvar add-log-c-like-modes '(c-mode c++-mode c++-c-mode objc-mode) - "*Modes that look like C to `add-log-current-defun'.") + "Modes that look like C to `add-log-current-defun'.") ;;;###autoload (defvar add-log-tex-like-modes '(TeX-mode plain-TeX-mode LaTeX-mode tex-mode) - "*Modes that look like TeX to `add-log-current-defun'.") + "Modes that look like TeX to `add-log-current-defun'.") (declare-function c-cpp-define-name "cc-cmds" ()) (declare-function c-defun-name "cc-cmds" ()) diff --git a/lisp/vc/cvs-status.el b/lisp/vc/cvs-status.el index a80197486a2..f803cc43441 100644 --- a/lisp/vc/cvs-status.el +++ b/lisp/vc/cvs-status.el @@ -395,7 +395,7 @@ the list is a three-string list TAG, KIND, REV." (cvs-tree-use-jisx0208 'jisx0208) ((char-displayable-p ?━) 'unicode) ((char-displayable-p (make-char 'japanese-jisx0208 40 44)) 'jisx0208)) - "*Non-nil if we should use the graphical glyphs from `japanese-jisx0208'. + "Non-nil if we should use the graphical glyphs from `japanese-jisx0208'. Otherwise, default to ASCII chars like +, - and |.") (defconst cvs-tree-char-space diff --git a/lisp/vc/diff-mode.el b/lisp/vc/diff-mode.el index 16e33889c31..8b6b85dd22e 100644 --- a/lisp/vc/diff-mode.el +++ b/lisp/vc/diff-mode.el @@ -545,7 +545,7 @@ but in the file header instead, in which case move forward to the first hunk." (condition-case-unless-debug nil (diff-refine-hunk) (error nil)))) (easy-mmode-define-navigation - diff-file diff-file-header-re "file" diff-end-of-hunk) + diff-file diff-file-header-re "file" diff-end-of-file) (defun diff-restrict-view (&optional arg) "Restrict the view to the current hunk. diff --git a/lisp/vc/ediff-diff.el b/lisp/vc/ediff-diff.el index 37b7fce6f32..6d67356852c 100644 --- a/lisp/vc/ediff-diff.el +++ b/lisp/vc/ediff-diff.el @@ -101,7 +101,7 @@ the command \\[ediff-show-diff-output]. Use the variable :group 'ediff-diff) (ediff-defvar-local ediff-ignore-case nil - "*If t, skip over difference regions that differ only in letter case. + "If t, skip over difference regions that differ only in letter case. This variable can be set either in .emacs or toggled interactively. Use `setq-default' if setting it in .emacs") @@ -165,12 +165,12 @@ This variable can be set either in .emacs or toggled interactively. Use `setq-default' if setting it in .emacs") (ediff-defvar-local ediff-ignore-similar-regions nil - "*If t, skip over difference regions that differ only in the white space and line breaks. + "If t, skip over difference regions that differ only in the white space and line breaks. This variable can be set either in .emacs or toggled interactively. Use `setq-default' if setting it in .emacs") (ediff-defvar-local ediff-auto-refine-limit 14000 - "*Auto-refine only the regions of this size \(in bytes\) or less.") + "Auto-refine only the regions of this size \(in bytes\) or less.") ;;; General @@ -1288,38 +1288,38 @@ delimiter regions")) ;;; Word functions used to refine the current diff (defvar ediff-forward-word-function 'ediff-forward-word - "*Function to call to move to the next word. + "Function to call to move to the next word. Used for splitting difference regions into individual words.") (make-variable-buffer-local 'ediff-forward-word-function) ;; \240 is Unicode symbol for nonbreakable whitespace (defvar ediff-whitespace " \n\t\f\r\240" - "*Characters constituting white space. + "Characters constituting white space. These characters are ignored when differing regions are split into words.") (make-variable-buffer-local 'ediff-whitespace) (defvar ediff-word-1 (if (featurep 'xemacs) "a-zA-Z---_" "-[:word:]_") - "*Characters that constitute words of type 1. + "Characters that constitute words of type 1. More precisely, [ediff-word-1] is a regexp that matches type 1 words. See `ediff-forward-word' for more details.") (make-variable-buffer-local 'ediff-word-1) (defvar ediff-word-2 "0-9.," - "*Characters that constitute words of type 2. + "Characters that constitute words of type 2. More precisely, [ediff-word-2] is a regexp that matches type 2 words. See `ediff-forward-word' for more details.") (make-variable-buffer-local 'ediff-word-2) (defvar ediff-word-3 "`'?!:;\"{}[]()" - "*Characters that constitute words of type 3. + "Characters that constitute words of type 3. More precisely, [ediff-word-3] is a regexp that matches type 3 words. See `ediff-forward-word' for more details.") (make-variable-buffer-local 'ediff-word-3) (defvar ediff-word-4 (concat "^" ediff-word-1 ediff-word-2 ediff-word-3 ediff-whitespace) - "*Characters that constitute words of type 4. + "Characters that constitute words of type 4. More precisely, [ediff-word-4] is a regexp that matches type 4 words. See `ediff-forward-word' for more details.") (make-variable-buffer-local 'ediff-word-4) diff --git a/lisp/vc/ediff-init.el b/lisp/vc/ediff-init.el index 2de5e4dbdaf..ad6d69ee924 100644 --- a/lisp/vc/ediff-init.el +++ b/lisp/vc/ediff-init.el @@ -594,7 +594,7 @@ highlighted using ASCII flags." (ediff-defvar-local ediff-start-narrowed t "Non-nil means start narrowed, if doing ediff-windows-* or ediff-regions-*") (ediff-defvar-local ediff-quit-widened t - "*Non-nil means: when finished, Ediff widens buffers A/B. + "Non-nil means: when finished, Ediff widens buffers A/B. Actually, Ediff restores the scope of visibility that existed at startup.") (defcustom ediff-keep-variants t diff --git a/lisp/vc/emerge.el b/lisp/vc/emerge.el index a48f2afecd5..f6942bc538d 100644 --- a/lisp/vc/emerge.el +++ b/lisp/vc/emerge.el @@ -524,10 +524,10 @@ replaced by emerge-fast-keymap.") (emerge-defvar-local emerge-old-keymap nil "The original local keymap for the merge buffer.") (emerge-defvar-local emerge-auto-advance nil - "*If non-nil, emerge-select-A and emerge-select-B automatically advance to + "If non-nil, emerge-select-A and emerge-select-B automatically advance to the next difference.") (emerge-defvar-local emerge-skip-prefers nil - "*If non-nil, differences for which there is a preference are automatically + "If non-nil, differences for which there is a preference are automatically skipped.") (emerge-defvar-local emerge-quit-hook nil "Hooks to run in the merge buffer after the merge has been finished. diff --git a/lisp/vc/log-edit.el b/lisp/vc/log-edit.el index 54d548c09da..db70f417393 100644 --- a/lisp/vc/log-edit.el +++ b/lisp/vc/log-edit.el @@ -161,7 +161,7 @@ can be obtained from `log-edit-files'." "21.1") (defvar log-edit-changelog-full-paragraphs cvs-changelog-full-paragraphs - "*If non-nil, include full ChangeLog paragraphs in the log. + "If non-nil, include full ChangeLog paragraphs in the log. This may be set in the ``local variables'' section of a ChangeLog, to indicate the policy for that ChangeLog. diff --git a/lisp/vc/pcvs-defs.el b/lisp/vc/pcvs-defs.el index 80a01f58531..ab45b313bd5 100644 --- a/lisp/vc/pcvs-defs.el +++ b/lisp/vc/pcvs-defs.el @@ -33,7 +33,7 @@ ;;;; START OF THINGS TO CHECK WHEN INSTALLING (defvar cvs-program "cvs" - "*Name or full path of the cvs executable.") + "Name or full path of the cvs executable.") (defvar cvs-version ;; With the divergence of the CVSNT codebase and version numbers, this is @@ -46,12 +46,12 @@ nil t) (cons (string-to-number (match-string 1)) (string-to-number (match-string 2)))))) - "*Version of `cvs' installed on your system. + "Version of `cvs' installed on your system. It must be in the (MAJOR . MINOR) format.") ;; FIXME: this is only used by cvs-mode-diff-backup (defvar cvs-diff-program (or (and (boundp 'diff-command) diff-command) "diff") - "*Name or full path of the best diff program you've got. + "Name or full path of the best diff program you've got. NOTE: there are some nasty bugs in the context diff variants of some vendor versions, such as the one in SunOS-4.") @@ -89,7 +89,7 @@ will select a shared-flag.") "List of flags whose settings is shared among several commands.") (defvar cvs-cvsroot nil - "*Specifies where the (current) cvs master repository is. + "Specifies where the (current) cvs master repository is. Overrides the environment variable $CVSROOT by sending \" -d dir\" to all CVS commands. This switch is useful if you have multiple CVS repositories. It can be set interactively with \\[cvs-change-cvsroot.] @@ -243,7 +243,7 @@ the directory name of the cvs buffer.") ;; Was '(expand-file-name " *cvs-tmp*" dir), but that causes them to ;; become non-hidden if uniquification is done `forward'. " *cvs-tmp*" - "*Name of the cvs temporary buffer. + "Name of the cvs temporary buffer. Output from cvs is placed here for asynchronous commands.") (defcustom cvs-idiff-imerge-handlers diff --git a/lisp/vc/pcvs-util.el b/lisp/vc/pcvs-util.el index b300247e552..a3c525cb896 100644 --- a/lisp/vc/pcvs-util.el +++ b/lisp/vc/pcvs-util.el @@ -182,9 +182,7 @@ arguments. If ARGS is not a list, no argument will be passed." (if oneline (line-end-position) (point-max)))) (file-error nil))) -(defun cvs-string-prefix-p (str1 str2) - "Tell whether STR1 is a prefix of STR2." - (eq t (compare-strings str2 nil (length str1) str1 nil nil))) +(define-obsolete-function-alias 'cvs-string-prefix-p 'string-prefix-p "24.2") ;;;; ;;;; file names diff --git a/lisp/vc/pcvs.el b/lisp/vc/pcvs.el index 9ba65cda143..6aec24755b5 100644 --- a/lisp/vc/pcvs.el +++ b/lisp/vc/pcvs.el @@ -432,8 +432,8 @@ If non-nil, NEW means to create a new buffer no matter what." (case cvs-reuse-cvs-buffer (always t) (subdir - (or (cvs-string-prefix-p default-directory dir) - (cvs-string-prefix-p dir default-directory))) + (or (string-prefix-p default-directory dir) + (string-prefix-p dir default-directory))) (samedir (string= default-directory dir))) (return buffer))))) ;; we really have to create a new buffer: @@ -887,7 +887,7 @@ RM-MSGS if non-nil means remove messages." (eq (cvs-fileinfo->type last-fi) 'DIRCHANGE) (not (when first-dir (setq first-dir nil) t)) (or (eq rm-dirs 'all) - (not (cvs-string-prefix-p + (not (string-prefix-p (cvs-fileinfo->dir last-fi) (cvs-fileinfo->dir fi))) (and (eq type 'DIRCHANGE) (eq rm-dirs 'empty)) @@ -1839,7 +1839,7 @@ Signal an error if there is no backup file." (setq buffer-file-name (expand-file-name buffer-file-name)) (let (ret) (dolist (fi (or fis (list (cvs-create-fileinfo 'DIRCHANGE "" "." "")))) - (when (cvs-string-prefix-p + (when (string-prefix-p (expand-file-name (cvs-fileinfo->full-name fi) dir) buffer-file-name) (setq ret t))) @@ -2261,7 +2261,7 @@ With prefix argument, prompt for cvs flags." (defun cvs-dir-member-p (fileinfo dir) "Return true if FILEINFO represents a file in directory DIR." (and (not (eq (cvs-fileinfo->type fileinfo) 'DIRCHANGE)) - (cvs-string-prefix-p dir (cvs-fileinfo->dir fileinfo)))) + (string-prefix-p dir (cvs-fileinfo->dir fileinfo)))) (defun cvs-execute-single-file (fi extractor program constant-args) "Internal function for `cvs-execute-single-file-list'." @@ -2392,7 +2392,7 @@ The exact behavior is determined also by `cvs-dired-use-hook'." (set-buffer cvs-buf) ;; look for a corresponding pcl-cvs buffer (when (and (eq major-mode 'cvs-mode) - (cvs-string-prefix-p default-directory dir)) + (string-prefix-p default-directory dir)) (let ((subdir (substring dir (length default-directory)))) (set-buffer buffer) (set (make-local-variable 'cvs-buffer) cvs-buf) @@ -2423,7 +2423,7 @@ The exact behavior is determined also by `cvs-dired-use-hook'." (set-buffer cvs-buf) ;; look for a corresponding pcl-cvs buffer (when (and (eq major-mode 'cvs-mode) - (cvs-string-prefix-p default-directory file)) + (string-prefix-p default-directory file)) (let* ((file (substring file (length default-directory))) (fi (cvs-create-fileinfo (if (string= "0" version) diff --git a/lisp/vc/vc-annotate.el b/lisp/vc/vc-annotate.el index a1dd807d828..f4964ef85cc 100644 --- a/lisp/vc/vc-annotate.el +++ b/lisp/vc/vc-annotate.el @@ -522,12 +522,12 @@ the file in question, search for the log entry required and move point." (car rev-at-line) t 1))))))) (defun vc-annotate-show-diff-revision-at-line-internal (filediff) - (if (not (equal major-mode 'vc-annotate-mode)) + (if (not (derived-mode-p 'vc-annotate-mode)) (message "Cannot be invoked outside of a vc annotate buffer") (let* ((rev-at-line (vc-annotate-extract-revision-at-line)) - (prev-rev nil) - (rev (car rev-at-line)) - (fname (cdr rev-at-line))) + (prev-rev nil) + (rev (car rev-at-line)) + (fname (cdr rev-at-line))) (if (not rev-at-line) (message "Cannot extract revision number from the current line") (setq prev-rev @@ -535,17 +535,15 @@ the file in question, search for the log entry required and move point." (if filediff fname nil) rev)) (if (not prev-rev) (message "Cannot diff from any revision prior to %s" rev) - (save-window-excursion - (vc-diff-internal - nil - ;; The value passed here should follow what - ;; `vc-deduce-fileset' returns. - (list vc-annotate-backend - (if filediff - (list fname) - nil)) - prev-rev rev)) - (switch-to-buffer "*vc-diff*")))))) + (vc-diff-internal + t + ;; The value passed here should follow what + ;; `vc-deduce-fileset' returns. + (list vc-annotate-backend + (if filediff + (list fname) + nil)) + prev-rev rev)))))) (defun vc-annotate-show-diff-revision-at-line () "Visit the diff of the revision at line from its previous revision." diff --git a/lisp/vc/vc-bzr.el b/lisp/vc/vc-bzr.el index 798131236d5..505e40f46ba 100644 --- a/lisp/vc/vc-bzr.el +++ b/lisp/vc/vc-bzr.el @@ -37,7 +37,6 @@ ;; are bzr-versioned, `vc-bzr` presently runs `bzr status` on the ;; symlink, thereby not detecting whether the actual contents ;; (that is, the target contents) are changed. -;; See https://bugs.launchpad.net/vc-bzr/+bug/116607 ;;; Properties of the backend @@ -65,14 +64,6 @@ :group 'vc-bzr :type 'string) -(defcustom vc-bzr-sha1-program '("sha1sum") - "Name of program to compute SHA1. -It must be a string \(program name\) or list of strings \(name and its args\)." - :type '(repeat string) - :group 'vc-bzr) - -(define-obsolete-variable-alias 'sha1-program 'vc-bzr-sha1-program "24.1") - (defcustom vc-bzr-diff-switches nil "String or list of strings specifying switches for bzr diff under VC. If nil, use the value of `vc-diff-switches'. If t, use no switches." @@ -190,20 +181,15 @@ in the repository root directory of FILE." (defun vc-bzr-sha1 (file) (with-temp-buffer (set-buffer-multibyte nil) - (let ((prog vc-bzr-sha1-program) - (args nil) - process-file-side-effects) - (when (consp prog) - (setq args (cdr prog)) - (setq prog (car prog))) - (apply 'process-file prog (file-relative-name file) t nil args) - (buffer-substring (point-min) (+ (point-min) 40))))) + (insert-file-contents-literally file) + (sha1 (current-buffer)))) (defun vc-bzr-state-heuristic (file) "Like `vc-bzr-state' but hopefully without running Bzr." - ;; `bzr status' was excruciatingly slow with large histories and - ;; pending merges, so try to avoid using it until they fix their - ;; performance problems. + ;; `bzr status' could be slow with large histories and pending merges, + ;; so this tries to avoid calling it if possible. bzr status is + ;; faster now, so this is not as important as it was. + ;; ;; This function tries first to parse Bzr internal file ;; `checkout/dirstate', but it may fail if Bzr internal file format ;; has changed. As a safeguard, the `checkout/dirstate' file is @@ -299,10 +285,7 @@ in the repository root directory of FILE." 'up-to-date) (t 'edited)) 'unregistered)))) - ;; Either the dirstate file can't be read, or the sha1 - ;; executable is missing, or ... - ;; In either case, recent versions of Bzr aren't that slow - ;; any more. + ;; The dirstate file can't be read, or some other problem. (error (vc-bzr-state file))))))) @@ -417,49 +400,56 @@ string or nil, and STATUS is one of the symbols: `added', `ignored', `kindchanged', `modified', `removed', `renamed', `unknown', which directly correspond to `bzr status' output, or 'unchanged for files whose copy in the working tree is identical to the one -in the branch repository, or nil for files that are not -registered with Bzr. - -If any error occurred in running `bzr status', then return nil." +in the branch repository (or whose status not be determined)." +;; Doc used to also say the following, but AFAICS, it has never been true. +;; +;; ", or nil for files that are not registered with Bzr. +;; If any error occurred in running `bzr status', then return nil." +;; +;; Rather than returning nil in case of an error, it returns +;; (unchanged . WARNING). FIXME unchanged is not the best status to +;; return in case of error. (with-temp-buffer - (let ((ret (condition-case nil - (vc-bzr-command "status" t 0 file) - (file-error nil))) ; vc-bzr-program not found. - (status 'unchanged)) - ;; the only secure status indication in `bzr status' output - ;; is a couple of lines following the pattern:: - ;; | <status>: - ;; | <file name> - ;; if the file is up-to-date, we get no status report from `bzr', - ;; so if the regexp search for the above pattern fails, we consider - ;; the file to be up-to-date. - (goto-char (point-min)) - (when (re-search-forward - ;; bzr prints paths relative to the repository root. - (concat "^\\(" vc-bzr-state-words "\\):[ \t\n]+" - (regexp-quote (vc-bzr-file-name-relative file)) - ;; Bzr appends a '/' to directory names and - ;; '*' to executable files - (if (file-directory-p file) "/?" "\\*?") - "[ \t\n]*$") - nil t) - (lexical-let ((statusword (match-string 1))) - ;; Erase the status text that matched. - (delete-region (match-beginning 0) (match-end 0)) - (setq status - (intern (replace-regexp-in-string " " "" statusword))))) - (when status - (goto-char (point-min)) - (skip-chars-forward " \n\t") ;Throw away spaces. - (cons status - ;; "bzr" will output warnings and informational messages to - ;; stderr; due to Emacs's `vc-do-command' (and, it seems, - ;; `start-process' itself) limitations, we cannot catch stderr - ;; and stdout into different buffers. So, if there's anything - ;; left in the buffer after removing the above status - ;; keywords, let us just presume that any other message from - ;; "bzr" is a user warning, and display it. - (unless (eobp) (buffer-substring (point) (point-max)))))))) + ;; This is with-demoted-errors without the condition-case-unless-debug + ;; annoyance, which makes it fail during ert testing. + (let (err) + (condition-case err (vc-bzr-command "status" t 0 file) + (error (message "Error: %S" err) nil))) + (let ((status 'unchanged)) + ;; the only secure status indication in `bzr status' output + ;; is a couple of lines following the pattern:: + ;; | <status>: + ;; | <file name> + ;; if the file is up-to-date, we get no status report from `bzr', + ;; so if the regexp search for the above pattern fails, we consider + ;; the file to be up-to-date. + (goto-char (point-min)) + (when (re-search-forward + ;; bzr prints paths relative to the repository root. + (concat "^\\(" vc-bzr-state-words "\\):[ \t\n]+" + (regexp-quote (vc-bzr-file-name-relative file)) + ;; Bzr appends a '/' to directory names and + ;; '*' to executable files + (if (file-directory-p file) "/?" "\\*?") + "[ \t\n]*$") + nil t) + (lexical-let ((statusword (match-string 1))) + ;; Erase the status text that matched. + (delete-region (match-beginning 0) (match-end 0)) + (setq status + (intern (replace-regexp-in-string " " "" statusword))))) + (when status + (goto-char (point-min)) + (skip-chars-forward " \n\t") ;Throw away spaces. + (cons status + ;; "bzr" will output warnings and informational messages to + ;; stderr; due to Emacs's `vc-do-command' (and, it seems, + ;; `start-process' itself) limitations, we cannot catch stderr + ;; and stdout into different buffers. So, if there's anything + ;; left in the buffer after removing the above status + ;; keywords, let us just presume that any other message from + ;; "bzr" is a user warning, and display it. + (unless (eobp) (buffer-substring (point) (point-max)))))))) (defun vc-bzr-state (file) (lexical-let ((result (vc-bzr-status file))) diff --git a/lisp/vc/vc-dir.el b/lisp/vc/vc-dir.el index 33611b4eafd..4c32eea2f72 100644 --- a/lisp/vc/vc-dir.el +++ b/lisp/vc/vc-dir.el @@ -1,6 +1,6 @@ ;;; vc-dir.el --- Directory status display under VC -;; Copyright (C) 2007-2012 Free Software Foundation, Inc. +;; Copyright (C) 2007-2012 Free Software Foundation, Inc. ;; Author: Dan Nicolaescu <dann@ics.uci.edu> ;; Keywords: vc tools @@ -556,7 +556,7 @@ If a prefix argument is given, move by that many lines." (let ((data (ewoc-data crt)) (dir (vc-dir-node-directory crt))) (and (vc-dir-fileinfo->directory data) - (vc-string-prefix-p dir argdir) + (string-prefix-p dir argdir) (vc-dir-fileinfo->marked data) (setq found data)))) found)) @@ -818,7 +818,7 @@ child files." data) (while (and (setq crt (ewoc-next vc-ewoc crt)) - (vc-string-prefix-p dir + (string-prefix-p dir (progn (setq data (ewoc-data crt)) (vc-dir-node-directory crt)))) @@ -846,7 +846,7 @@ If it is a file, return the corresponding cons for the file itself." data) (while (and (setq crt (ewoc-next vc-ewoc crt)) - (vc-string-prefix-p dir (progn + (string-prefix-p dir (progn (setq data (ewoc-data crt)) (vc-dir-node-directory crt)))) (unless (vc-dir-fileinfo->directory data) @@ -878,10 +878,10 @@ If it is a file, return the corresponding cons for the file itself." children dname) ;; Find DIR - (while (and crt (not (vc-string-prefix-p + (while (and crt (not (string-prefix-p dirname (vc-dir-node-directory crt)))) (setq crt (ewoc-next vc-ewoc crt))) - (while (and crt (vc-string-prefix-p + (while (and crt (string-prefix-p dirname (setq dname (vc-dir-node-directory crt)))) (let ((data (ewoc-data crt))) @@ -915,7 +915,7 @@ If it is a file, return the corresponding cons for the file itself." (if (not (derived-mode-p 'vc-dir-mode)) (push status-buf drop) (let ((ddir default-directory)) - (when (vc-string-prefix-p ddir file) + (when (string-prefix-p ddir file) (if (file-directory-p file) (progn (vc-dir-resync-directory-files file) diff --git a/lisp/vc/vc-dispatcher.el b/lisp/vc/vc-dispatcher.el index ec1b127dd19..95c15030953 100644 --- a/lisp/vc/vc-dispatcher.el +++ b/lisp/vc/vc-dispatcher.el @@ -537,13 +537,12 @@ editing!" (kill-buffer (current-buffer))))) (declare-function vc-dir-resynch-file "vc-dir" (&optional fname)) -(declare-function vc-string-prefix-p "vc" (prefix string)) (defun vc-resynch-buffers-in-directory (directory &optional keep noquery reset-vc-info) "Resync all buffers that visit files in DIRECTORY." (dolist (buffer (buffer-list)) (let ((fname (buffer-file-name buffer))) - (when (and fname (vc-string-prefix-p directory fname)) + (when (and fname (string-prefix-p directory fname)) (with-current-buffer buffer (vc-resynch-buffer fname keep noquery reset-vc-info)))))) diff --git a/lisp/vc/vc-hg.el b/lisp/vc/vc-hg.el index 52e8051342d..a2728268816 100644 --- a/lisp/vc/vc-hg.el +++ b/lisp/vc/vc-hg.el @@ -3,6 +3,7 @@ ;; Copyright (C) 2006-2012 Free Software Foundation, Inc. ;; Author: Ivan Kanis +;; Maintainer: FSF ;; Keywords: vc tools ;; Package: vc diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el index 4cbbf47c2d6..ab7e587eb79 100644 --- a/lisp/vc/vc.el +++ b/lisp/vc/vc.el @@ -1,6 +1,6 @@ ;;; vc.el --- drive a version-control system from within Emacs -;; Copyright (C) 1992-1998, 2000-2012 Free Software Foundation, Inc. +;; Copyright (C) 1992-1998, 2000-2012 Free Software Foundation, Inc. ;; Author: FSF (see below for full credits) ;; Maintainer: Andre Spiegel <spiegel@gnu.org> @@ -847,7 +847,7 @@ been updated to their corresponding values." (if (file-directory-p file) (dolist (buffer (buffer-list)) (let ((fname (buffer-file-name buffer))) - (when (and fname (vc-string-prefix-p file fname)) + (when (and fname (string-prefix-p file fname)) (push fname flist)))) (push file flist))) ,form @@ -900,7 +900,7 @@ use." (lambda (arg) (message "arg %s" arg) (and (file-directory-p arg) - (vc-string-prefix-p (expand-file-name arg) def-dir))))))) + (string-prefix-p (expand-file-name arg) def-dir))))))) (let ((default-directory repo-dir)) (vc-call-backend bk 'create-repo)) (throw 'found bk)))) @@ -2809,11 +2809,7 @@ to provide the `find-revision' operation instead." ;; These things should probably be generally available - -(defun vc-string-prefix-p (prefix string) - (let ((lpref (length prefix))) - (and (>= (length string) lpref) - (eq t (compare-strings prefix nil nil string nil lpref))))) +(define-obsolete-function-alias 'vc-string-prefix-p 'string-prefix-p "24.2") (defun vc-file-tree-walk (dirname func &rest args) "Walk recursively through DIRNAME. diff --git a/lisp/vcursor.el b/lisp/vcursor.el index 95928ebe87a..19cb7a9df8d 100644 --- a/lisp/vcursor.el +++ b/lisp/vcursor.el @@ -656,12 +656,13 @@ another window. With LEAVE-W, use the current `vcursor-window'." (or window-system (display-color-p) (overlay-put vcursor-overlay 'before-string vcursor-string)) - (overlay-put vcursor-overlay 'face 'vcursor)) + (overlay-put vcursor-overlay 'face 'vcursor) + ;; 200 is purely an arbitrary "high" number. See bug#9663. + (overlay-put vcursor-overlay 'priority 200)) (or leave-w (vcursor-find-window nil t)) ;; vcursor-window now contains the right buffer (or (pos-visible-in-window-p pt vcursor-window) - (set-window-point vcursor-window pt))) - ) + (set-window-point vcursor-window pt)))) (defun vcursor-insert (text) "Insert TEXT, respecting `vcursor-interpret-input'." diff --git a/lisp/version.el b/lisp/version.el index bd30f0f81b8..d7fb05ea465 100644 --- a/lisp/version.el +++ b/lisp/version.el @@ -79,10 +79,47 @@ to the system configuration; look at `system-configuration' instead." ;; We hope that this alias is easier for people to find. (defalias 'version 'emacs-version) +;; Set during dumping, this is a defvar so that it can be setq'd. +(defvar emacs-bzr-version nil "\ +String giving the bzr revision from which this Emacs was built. +Value is the bzr revision number and a revision ID separated by a blank. +Value is nil if Emacs was not built from a bzr checkout, or if we could +not determine the revision.") + +(defun emacs-bzr-get-version (&optional dir) "\ +Try to return as a string the bzr revision number of the Emacs sources. +Value is the bzr revision number and a revision ID separated by a blank. +Value is nil if the sources do not seem to be under bzr, or if we could +not determine the revision. Note that this reports on the current state +of the sources, which may not correspond to the running Emacs. + +Optional argument DIR is a directory to use instead of `source-directory'." + (or dir (setq dir source-directory)) + (when (file-directory-p (setq dir (expand-file-name ".bzr/branch" dir))) + (let (file loc) + (cond ((file-readable-p + (setq file (expand-file-name "last-revision" dir))) + (with-temp-buffer + (insert-file-contents file) + (goto-char (point-max)) + (if (looking-back "\n") + (delete-char -1)) + (buffer-string))) + ;; OK, no last-revision. Is it a lightweight checkout? + ((file-readable-p + (setq file (expand-file-name "location" dir))) + ;; If the parent branch is local, try looking there for the revid. + (if (setq loc (with-temp-buffer + (insert-file-contents file) + (if (looking-at "file://\\(.*\\)") + (match-string 1)))) + (emacs-bzr-get-version loc))) + ;; Could fall back to eg `bzr testament' at this point. + )))) + ;; We put version info into the executable in the form that `ident' uses. -(or (eq system-type 'windows-nt) - (purecopy (concat "\n$Id: " (subst-char-in-string ?\n ?\s (emacs-version)) - " $\n"))) +(purecopy (concat "\n$Id: " (subst-char-in-string ?\n ?\s (emacs-version)) + " $\n")) ;; Local Variables: ;; version-control: never diff --git a/lisp/window.el b/lisp/window.el index 28abec42680..c148f5ee01f 100644 --- a/lisp/window.el +++ b/lisp/window.el @@ -3654,7 +3654,11 @@ specific buffers." (scroll-bars . ,(window-scroll-bars window)) (vscroll . ,(window-vscroll window)) (dedicated . ,(window-dedicated-p window)) - (point . ,(if writable point (copy-marker point))) + (point . ,(if writable point + (copy-marker point + (buffer-local-value + 'window-point-insertion-type + buffer)))) (start . ,(if writable start (copy-marker start))))))))) (tail (when (memq type '(vc hc)) @@ -5450,7 +5454,7 @@ A value of t means point moves to the beginning or the end of the buffer \(depending on scrolling direction) when no more scrolling possible. When point is already on that position, then signal an error." :type 'boolean - :group 'scrolling + :group 'windows :version "24.1") (defun scroll-up-command (&optional arg) diff --git a/lisp/woman.el b/lisp/woman.el index 4ecf7c8891d..98ab27716a1 100644 --- a/lisp/woman.el +++ b/lisp/woman.el @@ -1,6 +1,6 @@ ;;; woman.el --- browse UN*X manual pages `wo (without) man' -;; Copyright (C) 2000-2012 Free Software Foundation, Inc. +;; Copyright (C) 2000-2012 Free Software Foundation, Inc. ;; Author: Francis J. Wright <F.J.Wright@qmul.ac.uk> ;; Maintainer: FSF @@ -1595,14 +1595,6 @@ Also make each path-info component into a list. (woman-process-buffer) (goto-char (point-min))))) -;; There is currently no `tar-mode-hook' so use ... -(eval-after-load "tar-mode" - '(progn - (define-key tar-mode-map "w" 'woman-tar-extract-file) - (define-key-after (lookup-key tar-mode-map [menu-bar immediate]) - [woman] '("Read Man Page (WoMan)" . woman-tar-extract-file) 'view))) - - (defvar woman-last-file-name nil "The full pathname of the last file formatted by WoMan.") @@ -1987,7 +1979,7 @@ Optional argument REDRAW, if non-nil, forces mode line to be updated." (lambda (symbol) (and (or (commandp symbol) - (user-variable-p symbol)) + (custom-variable-p symbol)) (not (get symbol 'apropos-inhibit)))))) ;; Find documentation strings: (let ((p apropos-accumulator) @@ -1999,7 +1991,7 @@ Optional argument REDRAW, if non-nil, forces mode line to be updated." (if (setq doc (documentation symbol t)) (substring doc 0 (string-match "\n" doc)) "(not documented)")) - (if (user-variable-p symbol) ; 3. variable doc + (if (custom-variable-p symbol) ; 3. variable doc (if (setq doc (documentation-property symbol 'variable-documentation t)) (substring doc 0 (string-match "\n" doc)))))) |