|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T t
Length: 1590 (0x636)
Types: TextFile
Names: »tabs.c«
└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki
└─⟦526ad3590⟧ »EUUGD11/gnu-31mar87/X.V10.R4.tar.Z«
└─⟦2109abc41⟧
└─⟦this⟧ »./X.V10R4/xterm/tabs.c«
/*
* $Source: /u1/X/xterm/RCS/tabs.c,v $
* $Header: tabs.c,v 10.100 86/12/01 14:45:38 jg Rel $
*/
#ifndef lint
static char *rcsid_tabs_c = "$Header: tabs.c,v 10.100 86/12/01 14:45:38 jg Rel $";
#endif lint
#include <X/mit-copyright.h>
/* Copyright Massachusetts Institute of Technology 1984 */
/* tabs.c */
#ifndef lint
static char sccs_id[] = "@(#)tabs.c\tX10/6.6\t11/3/86";
#endif lint
#include <X/Xlib.h>
#include "scrollbar.h"
#include "ptyx.h"
/*
* This file presumes 32bits/word. This is somewhat of a crock, and should
* be fixed sometime.
*/
/*
* places tabstops at only every 8 columns
*/
TabReset(tabs)
Tabs tabs;
{
register int i;
for (i=0; i<TAB_ARRAY_SIZE; ++i)
tabs[i] = 0;
for (i=0; i<MAX_TABS; i+=8)
TabSet(tabs, i);
}
/*
* places a tabstop at col
*/
TabSet(tabs, col)
Tabs tabs;
{
tabs[col >> 5] |= (1 << (col & 31));
}
/*
* clears a tabstop at col
*/
TabClear(tabs, col)
Tabs tabs;
{
tabs[col >> 5] &= ~(1 << (col & 31));
}
/*
* returns the column of the next tabstop
* (or MAX_TABS - 1 if there are no more).
* A tabstop at col is ignored.
*/
TabNext (tabs, col)
Tabs tabs;
{
extern Terminal term;
register Screen *screen = &term.screen;
if(screen->curses && screen->do_wrap && (term.flags & WRAPAROUND)) {
Index(screen, 1);
col = screen->cur_col = screen->do_wrap = 0;
}
for (++col; col<MAX_TABS; ++col)
if (tabs[col >> 5] & (1 << (col & 31)))
return (col);
return (MAX_TABS - 1);
}
/*
* clears all tabs
*/
TabZonk (tabs)
Tabs tabs;
{
register int i;
for (i=0; i<TAB_ARRAY_SIZE; ++i)
tabs[i] = 0;
}