# HG changeset patch # User Glenn Morris # Date 1287881902 25200 # Node ID 7be88040430969db8e47a05f04da13d2a01e8db7 # Parent 2d713b285a70d48eaa036f921da70204bd184c4f Avoid redefining some C defcustoms. * lisp/frame.el (show-trailing-whitespace, auto-hscroll-mode) (display-hourglass, hourglass-delay, cursor-in-non-selected-windows): Don't redefine things that are defined in C. * lisp/cus-start.el: Also handle :risky, :safe, :set, and :tag. (show-trailing-whitespace, auto-hscroll-mode) (display-hourglass, hourglass-delay, cursor-in-non-selected-windows): Set up the appropriate custom properties. diff -r 2d713b285a70 -r 7be880404309 lisp/ChangeLog --- a/lisp/ChangeLog Sun Oct 24 00:29:21 2010 +0000 +++ b/lisp/ChangeLog Sat Oct 23 17:58:22 2010 -0700 @@ -1,3 +1,13 @@ +2010-10-24 Glenn Morris + + * frame.el (show-trailing-whitespace, auto-hscroll-mode) + (display-hourglass, hourglass-delay, cursor-in-non-selected-windows): + Don't redefine things that are defined in C. + * cus-start.el: Also handle :risky, :safe, :set, and :tag. + (show-trailing-whitespace, auto-hscroll-mode) + (display-hourglass, hourglass-delay, cursor-in-non-selected-windows): + Set up the appropriate custom properties. + 2010-10-24 Chong Yidong Bind "C-c ]" to ... diff -r 2d713b285a70 -r 7be880404309 lisp/cus-start.el --- a/lisp/cus-start.el Sun Oct 24 00:29:21 2010 +0000 +++ b/lisp/cus-start.el Sat Oct 23 17:58:22 2010 -0700 @@ -96,6 +96,11 @@ "21.1") (line-spacing display (choice (const :tag "none" nil) integer) "22.1") + (cursor-in-non-selected-windows + cursor boolean nil t :tag "Cursor In Non-selected Windows" + :set #'(lambda (symbol value) + (set-default symbol value) + (force-mode-line-update t))) ;; callint.c (mark-even-if-inactive editing-basics boolean) ;; callproc.c @@ -327,6 +332,8 @@ (other :tag "Always" t)) "23.1") ;; xdisp.c + (show-trailing-whitespace whitespace-faces boolean nil nil + :safe booleanp) (scroll-step windows integer) (scroll-conservatively windows integer) (scroll-margin windows integer) @@ -362,6 +369,9 @@ (const :tag "Text-image-horiz" :value text-image-horiz) (const :tag "System default" :value nil)) "23.3") (tool-bar-max-label-size frames integer "23.3") + (auto-hscroll-mode scrolling boolean "21.1") + (display-hourglass cursor boolean) + (hourglass-delay cursor number) ;; xfaces.c (scalable-fonts-allowed display boolean "22.1") @@ -379,7 +389,7 @@ (x-stretch-cursor display boolean "21.1") ;; xsettings.c (font-use-system-font font-selection boolean "23.2"))) - this symbol group type standard version native-p + this symbol group type standard version native-p rest prop propval ;; This function turns a value ;; into an expression which produces that value. (quoter (lambda (sexp) @@ -404,6 +414,7 @@ (nth 4 this) (when (default-boundp symbol) (funcall quoter (default-value symbol)))) + rest (nthcdr 5 this) ;; Don't complain about missing variables which are ;; irrelevant to this platform. native-p (save-match-data @@ -436,6 +447,11 @@ ;; Save the standard value, unless we already did. (or (get symbol 'standard-value) (put symbol 'standard-value (list standard))) + ;; We need these properties independent of whether cus-start is loaded. + (if (setq prop (memq :safe rest)) + (put symbol 'safe-local-variable (cadr prop))) + (if (setq prop (memq :risky rest)) + (put symbol 'risky-local-variable (cadr prop))) ;; If this is NOT while dumping Emacs, ;; set up the rest of the customization info. (unless purify-flag @@ -443,18 +459,25 @@ (custom-add-to-group group symbol 'custom-variable) ;; Set the type. (put symbol 'custom-type type) - (put symbol 'custom-version version))))) + (put symbol 'custom-version version) + (while rest + (setq prop (car rest) + propval (cadr rest) + rest (nthcdr 2 rest)) + (cond ((memq prop '(:risky :safe))) ; handled above + ((eq prop :set) + (put symbol 'custom-set propval)) + ((eq prop :tag) + (put symbol 'custom-tag propval)))))))) (custom-add-to-group 'iswitchb 'read-buffer-function 'custom-variable) (custom-add-to-group 'font-lock 'open-paren-in-column-0-is-defun-start 'custom-variable) -;; Record cus-start as loaded -;; if we have set up all the info that we can set up. -;; Don't record cus-start as loaded -;; if we have set up only the standard values. +;; Record cus-start as loaded if we have set up all the info that we can. +;; Don't record it as loaded if we have only set up the standard values +;; and safe/risky properties. (unless purify-flag (provide 'cus-start)) -;; arch-tag: 4502730d-bcb3-4f5e-99a3-a86f2d54af60 ;;; cus-start.el ends here diff -r 2d713b285a70 -r 7be880404309 lisp/frame.el --- a/lisp/frame.el Sun Oct 24 00:29:21 2010 +0000 +++ b/lisp/frame.el Sat Oct 23 17:58:22 2010 -0700 @@ -1467,14 +1467,6 @@ (make-variable-buffer-local 'show-trailing-whitespace) -(defcustom show-trailing-whitespace nil - "Non-nil means highlight trailing whitespace. -This is done in the face `trailing-whitespace'." - :type 'boolean - :safe 'booleanp - :group 'whitespace-faces) - - ;; Scrolling @@ -1483,13 +1475,6 @@ :version "21.1" :group 'frames) -(defcustom auto-hscroll-mode t - "Allow or disallow automatic horizontal scrolling of windows. -If non-nil, windows are automatically scrolled horizontally to make -point visible." - :version "21.1" - :type 'boolean - :group 'scrolling) (defvaralias 'automatic-hscrolling 'auto-hscroll-mode) @@ -1576,35 +1561,6 @@ 'blink-cursor-start)))) (define-obsolete-variable-alias 'blink-cursor 'blink-cursor-mode "22.1") - -;; Hourglass pointer - -(defcustom display-hourglass t - "Non-nil means show an hourglass pointer, when Emacs is busy. -This feature only works when on a window system that can change -cursor shapes." - :type 'boolean - :group 'cursor) - -(defcustom hourglass-delay 1 - "Seconds to wait before displaying an hourglass pointer when Emacs is busy." - :type 'number - :group 'cursor) - - -(defcustom cursor-in-non-selected-windows t - "Non-nil means show a cursor in non-selected windows. -If nil, only shows a cursor in the selected window. -If t, displays a cursor related to the usual cursor type -\(a solid box becomes hollow, a bar becomes a narrower bar). -You can also specify the cursor type as in the `cursor-type' variable. -Use Custom to set this variable and update the display." - :tag "Cursor In Non-selected Windows" - :type 'boolean - :group 'cursor - :set #'(lambda (symbol value) - (set-default symbol value) - (force-mode-line-update t))) ;;;; Key bindings