view etc/LPF @ 62929:4929fb0b87a7

(mode_line_noprop_buf, mode_line_noprop_buf_end) (mode_line_noprop_ptr): Rename from frame_title_*. (store_mode_line_noprop_char): Rename from store_frame_title_char. (store_mode_line_noprop): Rename from store_frame_title. (mode_line_target): New enum to specify current output target for mode line formatting. (display_mode_element): Test it rather than frame_title_ptr and mode_line_string_list to determine where output should go. (mode_line_proptrans_alist, mode_line_string_alist): Make static. (Vmode_line_unwind_vector): New variable. (format_mode_line_unwind_data, unwind_format_mode_line): New functions for unwind protection in mode line formatting. (x_consider_frame_title): Use them and new local var 'title_start' to support nested calls to format-mode-line. Set mode_line_target to MODE_LINE_TITLE. (Fformat_mode_line): Use them and new local var 'string_start' to support nested calls to format-mode-line. Set mode_line_target to MODE_LINE_NOPROP or MODE_LINE_STRING. Don't trim trailing dashes. (decode_mode_spec): Don't make infinite number of trailing dashes for MODE_LINE_NOPROP and MODE_LINE_STRING targets. (syms_of_xdisp): Initialize and staticpro mode_line_string_face, mode_line_string_face_prop, and Vmode_line_unwind_vector. (init_xdisp): Initialize mode_line_noprop_ptr to start of _buf. Initialize mode_line_target to MODE_LINE_DISPLAY.
author Kim F. Storm <storm@cua.dk>
date Tue, 31 May 2005 15:00:44 +0000
parents 885f63d7c285
children
line wrap: on
line source

	   Protect Your Freedom to Write Programs
	   Join the League for Programming Freedom
	       (Version of February 3, 1994)

Ten years ago, programmers were allowed to write programs using all
the techniques they knew, and providing whatever features they felt
were useful.  This is no longer the case.  New monopolies, known as
software patents and interface copyrights, have taken away our freedom
of expression and our ability to do a good job.

"Look and feel" lawsuits attempt to monopolize well-known command
languages; some have succeeded.  Copyrights on command languages
enforce gratuitous incompatibility, close opportunities for
competition, and stifle incremental improvements.

Software patents are even more dangerous; they make every design
decision in the development of a program carry a risk of a lawsuit,
with draconian pretrial seizure.  It is difficult and expensive to
find out whether the techniques you consider using are patented; it is
impossible to find out whether they will be patented in the future.

The League for Programming Freedom is a grass-roots organization of
professors, students, businessmen, programmers and users dedicated to
bringing back the freedom to write programs.  The League is not
opposed to the legal system that Congress expressly established for
software--copyright on individual programs.  Our aim is to reverse the
recent changes that prevent programmers from doing their work.

The League works to abolish the new monopolies by publishing articles,
talking with public officials, denouncing egregious offenders, and
filing amicus curiae briefs, most notably against Lotus in its suit
against Borland.  We testified twice at the recent Patent Office
hearings on software patents.  We welcome suggestions for other
activities, as well as help in carrying them out.


(Added 2003) The League for Programming Freedom is inactive nowadays,
though its web site www.programming-freedom.org is still maintained.
It would be very useful to find a person who could take the initiative
to get the LPF operating again.  It will be a substantial job,
requiring persistence and working with a lawyer.  If you want to do
it, please write to rms@gnu.org.