emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

observations for ns*.m files (Re: Emacs.app merged)


From: Dan Nicolaescu
Subject: observations for ns*.m files (Re: Emacs.app merged)
Date: Sun, 27 Jul 2008 15:18:18 -0700

Here are some observations for the code in the syms_of_* ns*.m files. 
Can you please address these?

void
syms_of_nsfns ()
{
  int i;

  Qns_frame_parameter = intern ("ns-frame-parameter");
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This seems unused, better get rid of it.

  Qbuffered = intern ("bufferd");

Did this ever work given the typo?  Is it something that people would
care enough about to have an option?


  Qfontsize = intern ("fontsize");
  staticpro (&Qfontsize);

This seems a generic facility, should it be here?  Can't the generic
way of specifying fonts work on this platform too?


  DEFVAR_LISP ("ns-icon-type-alist", &Vns_icon_type_alist,
               doc: /* Alist of elements (REGEXP . IMAGE) for images of icons 
associated to frames.
If the title of a frame matches REGEXP, then IMAGE.tiff is
selected as the image of the icon representing the frame when it's
miniaturized.  If an element is t, then Emacs tries to select an icon
based on the filetype of the visited file.

The images have to be installed in a folder called English.lproj in the
Emacs folder.  You have to restart Emacs after installing new icons.

Example: Install an icon Gnus.tiff and execute the following code

  (setq ns-icon-type-alist
        (append ns-icon-type-alist
                '((\"^\\\\*\\\\(Group\\\\*$\\\\|Summary 
\\\\|Article\\\\*$\\\\)\"
[snip]

This looks like a generic thing, better not make it platform
specific.  Is there a problem with the normal way of specifying icons?


void
syms_of_nsselect (void)
{

/* 23: { */
  DEFVAR_LISP ("selection-coding-system", &Vselection_coding_system,
         doc: /* Coding system for communicating with other programs.
When sending or receiving text via cut_buffer, selection, and clipboard,
the text is encoded or decoded by this coding system.
The default value is determined by the system script code.  */);
  Vselection_coding_system = Qnil;

  DEFVAR_LISP ("next-selection-coding-system", &Vnext_selection_coding_system,
         doc: /* Coding system for the next communication with other programs.
Usually, `selection-coding-system' is used for communicating with
other programs.  But, if this variable is set, it is used for the
next communication only.  After the communication, this variable is
set to nil.  */);
  Vnext_selection_coding_system = Qnil;

These were removed from the X code:

2008-02-01  Kenichi Handa  <address@hidden>

            * xselect.c (Vselection_coding_system)
            (Vnext_selection_coding_system): Delete them.

are they still needed for ns?


void
syms_of_nsterm ()
{
  DEFVAR_LISP ("ns-command-modifier", &ns_command_modifier,
               "This variable describes the behavior of the command key.\n\
Set to control, meta, alt, super, or hyper means it is taken to be that key.");

  DEFVAR_LISP ("ns-control-modifier", &ns_control_modifier,
               "This variable describes the behavior of the control key.\n\
Set to control, meta, alt, super, or hyper means it is taken to be that key.");

These 2 look identical, are they both needed?  Are they needed at all
after the recent modifier changes?


  DEFVAR_LISP ("ns-cursor-blink-mode", &ns_cursor_blink_mode,
               "Internal variable -- use M-x blink-cursor-mode or preferences\n\
panel to control this setting.");

Is this needed?  Can't the standard blink-cursor-mode be used?

  DEFVAR_LISP ("ns-cursor-blink-rate", &ns_cursor_blink_rate,
               "Rate at which the Emacs cursor blinks (in seconds).\n\
Set to nil to disable blinking.");

Can't blink-cursor-rate be used?
(IMHO blink-cursor-mode should be off by default anyway, but that's a
completely different topic).


  DEFVAR_LISP ("ns-expand-space", &ns_expand_space,
               "Amount by which spacing between lines is expanded (positive)\n\
or shrunk (negative).  Zero (the default) means standard line height.\n\
(This variable should only be read, never set.)");

This is generic, better not make it ns specific.  Can this can be done
in platform specific code without changes to redisplay?  It seems a
bit strange anyway.



  DEFVAR_LISP ("ns-antialias-text", &ns_antialias_text,
               "Non-nil (the default) means to render text antialiased. Only 
has an effect on OS X Panther and above.");


Can the generic functionality be used instead of this?

  DEFVAR_LISP ("ns-use-system-highlight-color",
               &ns_use_system_highlight_color,
               "Whether to use the system default (on OS X only) for the 
highlight color.  Nil means to use standard emacs (prior to version 21) 
'grey'.");

Is this the region color or something else?

Thanks

        --dan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]