Commit 606dcd9e authored by Glenn Morris's avatar Glenn Morris
Browse files

ls-lisp: get rid of the dreaded "no effect until you restart Emacs".

* lisp/ls-lisp.el (ls-lisp-set-options): New function.
(ls-lisp-emulation): Use ls-lisp-set-options for custom :set.  Doc fix.
parent 5ca67338
...@@ -7,6 +7,9 @@ ...@@ -7,6 +7,9 @@
(ls-lisp-verbosity, ls-lisp-use-localized-time-format): Doc fixes. (ls-lisp-verbosity, ls-lisp-use-localized-time-format): Doc fixes.
(ls-lisp-format, ls-lisp-format-time): Don't take `now' as an argument. (ls-lisp-format, ls-lisp-format-time): Don't take `now' as an argument.
(ls-lisp-insert-directory): Update caller. (ls-lisp-insert-directory): Update caller.
(ls-lisp-set-options): New function.
(ls-lisp-emulation): Use ls-lisp-set-options for custom :set.
Doc fix.
   
* play/landmark.el (lm-prompt-for-move): * play/landmark.el (lm-prompt-for-move):
* play/gomoku.el (gomoku-prompt-for-move): Remove nonsensical code. * play/gomoku.el (gomoku-prompt-for-move): Remove nonsensical code.
......
...@@ -70,21 +70,37 @@ ...@@ -70,21 +70,37 @@
:version "21.1" :version "21.1"
:group 'dired) :group 'dired)
(defun ls-lisp-set-options ()
"Reset the ls-lisp options that depend on `ls-lisp-emulation'."
(mapc 'custom-reevaluate-setting
'(ls-lisp-ignore-case ls-lisp-dirs-first ls-lisp-verbosity)))
(defcustom ls-lisp-emulation (defcustom ls-lisp-emulation
(cond ;; ((eq system-type 'windows-nt) 'MS-Windows) (cond ;; ((eq system-type 'windows-nt) 'MS-Windows)
((memq system-type ((memq system-type '(hpux usg-unix-v irix berkeley-unix))
'(hpux usg-unix-v irix berkeley-unix)) 'UNIX)) ; very similar to GNU
'UNIX)) ; very similar to GNU
;; Anything else defaults to nil, meaning GNU. ;; Anything else defaults to nil, meaning GNU.
"Platform to emulate: GNU (default), MacOS, MS-Windows, UNIX. "Platform to emulate: GNU (default), MacOS, MS-Windows, UNIX.
Corresponding value is one of the atoms: nil, MacOS, MS-Windows, UNIX. Corresponding value is one of: nil, `MacOS', `MS-Windows', `UNIX'.
Sets default values for: `ls-lisp-ignore-case', `ls-lisp-dirs-first', Set this to your preferred value; it need not match the actual platform
`ls-lisp-verbosity'. Need not match actual platform. Changing this you are using.
option will have no effect until you restart Emacs."
This variable does not affect the behavior of ls-lisp directly.
Rather, it controls the default values for some variables that do:
`ls-lisp-ignore-case', `ls-lisp-dirs-first', and `ls-lisp-verbosity'.
If you change this variable directly (without using customize)
after loading `ls-lisp', you should use `ls-lisp-set-options' to
update the dependent variables."
:type '(choice (const :tag "GNU" nil) :type '(choice (const :tag "GNU" nil)
(const MacOS) (const MacOS)
(const MS-Windows) (const MS-Windows)
(const UNIX)) (const UNIX))
:initialize 'custom-initialize-default
:set (lambda (symbol value)
(unless (equal value (eval symbol))
(custom-set-default symbol value)
(ls-lisp-set-options)))
:group 'ls-lisp) :group 'ls-lisp)
(defcustom ls-lisp-ignore-case (defcustom ls-lisp-ignore-case
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment