[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#2532: NS: ns-expand-space / slider in Preferences dialog not functio
bug#2532: NS: ns-expand-space / slider in Preferences dialog not functional
Wed, 4 Mar 2009 22:39:15 -0500
On 4 Mar 2009, at 16:35, Adrian Robert wrote:
Setting `ns-expand-space' doesn't work, and neither does changing its
value via the slider the the preferences panel.
Also, the doc string of the above variable says that one shouldn't
it directly - if so, how is one supposed to (programmatically) set
Studying the source code (nsterm.m:setValuesFromPanel), it seems to
that setting the value should work just fine (I even tried calling
Emacs must be restarted, unfortunately. It mentions this in the
manual. The variable doc string should be updated.
The UI does not reflect that. Users need some indication that they
need to restart Emacs for this to work.
The `ns-set-resource' Elisp interface is better than none on the Elisp
side, but what happened to Emacs customization variables?
As said before on this list, introducing another way (beyond .emacs
and customization/custom-file) creates a new failure point for
people's configurations. This is bad in two respects: they won't be
able to reset Emacs to a vanilla state, or troubleshoot a faulty
configuration. And, second, it is going to be harder on us to
troubleshoot people's problems. Right now, with GNU Emacs 22, we have
~/.emacs and ~/.emacs.d (IIRC), and maybe a few site-lisp files. I
speak from experience - in Aquamacs, youthful optimism led me to add
eight further locations for a version of .emacs called Preferences.el
- two would have done the job to satisfy my goal of Mac
compatibility. In addition to that, we split custom-file from .emacs
(a good choice, per se). All of these things make it harder to
support users. "emacs -q" is helpful, but at the end of the day,
people want to run "emacs". Especially seasoned users will complain
that they have to find and delete ~/Library/Preferences/
In anticipation of one pro-resource argument: X Resources are much
more limited than the NS parameters system. Why recreate it on NS?
What follows is an excerpt from ns-win.el that shows how many of these
"NS resources" are set.
(ns-set-resource nil "AlternateModifier" (symbol-name ns-alternate-
(ns-set-resource nil "CommandModifier" (symbol-name ns-command-
(ns-set-resource nil "ControlModifier" (symbol-name ns-control-
(ns-set-resource nil "FunctionModifier" (symbol-name ns-function-
(ns-set-resource nil "ExpandSpace"
(ns-set-resource nil "GSFontAntiAlias" (if ns-antialias-text "YES"
(ns-set-resource nil "UseQuickdrawSmoothing"
(if ns-use-qd-smoothing "YES" "NO"))
(ns-set-resource nil "UseSystemHighlightColor"
(if ns-use-system-highlight-color "YES" "NO"))
(ns-set-resource nil "ConfirmQuit"
(if ns-confirm-quit "YES" "NO"))
;; Default frame parameters
(let ((p (frame-parameters))
(if (setq v (assq 'font p))
(ns-set-resource nil "Font" (ns-font-name (cdr v))))
(if (setq v (assq 'fontsize p))
(let ((fl (face-list)))
(while (consp fl)
(or (eq 'default (car fl))
;; dont save Default* since it causes all created faces to
;; inherit its values. The properties of the default face
;; have already been saved from the frame-parameters anyway.
(let* ((name (symbol-name (car fl)))
(font (face-font (car fl)))
;; (fontsize (face-fontsize (car fl)))
(foreground (face-foreground (car fl)))
(background (face-background (car fl)))
(underline (face-underline-p (car fl)))
(italic (face-italic-p (car fl)))
(bold (face-bold-p (car fl)))
(stipple (face-stipple (car fl))))
;; (ns-set-resource nil (concat name ".attributeFont")
;; (if font font nil))
;; (ns-set-resource nil (concat name ".attributeFontSize")
;; (if fontsize (number-to-string
(ns-set-resource nil (concat name ".attributeForeground")
(if foreground foreground nil))
(ns-set-resource nil (concat name ".attributeBackground")
(if background background nil))
(ns-set-resource nil (concat name ".attributeUnderline")
Description: S/MIME cryptographic signature